Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: presale token issuance part 3 #325

Merged
merged 6 commits into from
Aug 23, 2024
Merged

feat: presale token issuance part 3 #325

merged 6 commits into from
Aug 23, 2024

Conversation

gaboesquivel
Copy link
Member

@gaboesquivel gaboesquivel commented Aug 23, 2024

Summary by Sourcery

Implement presale token issuance by adding support for Alchemy webhook events and address activity notifications. Refactor chain configurations and improve logging for webhook processing.

New Features:

  • Introduce a new feature to handle Alchemy webhook events for address activity, including validation of network and asset types before processing.
  • Add functionality to create Alchemy address activity notifications using the Alchemy SDK.

Enhancements:

  • Refactor the chain configuration to streamline the list of production chains, removing unsupported or unused chains.
  • Improve the logging of webhook processing by including the webhook ID in the response message.

Chores:

  • Move the Alchemy webhook event and activity type definitions to a separate types file for better organization.

Summary by CodeRabbit

  • New Features

    • Introduced a new webhook creation function for monitoring address activity on the MATIC_MAINNET blockchain.
    • Added a new configuration parameter for presale functionality in the application.
    • Enhanced type safety with new TypeScript interfaces for handling webhook events.
  • Improvements

    • Simplified package structure and naming conventions for better modularity.
    • Improved validation and security for incoming Alchemy webhook requests.
    • Streamlined chain configurations focusing on EVM-compatible chains.
  • Bug Fixes

    • Enhanced error handling and logging within the address activity task function.
  • Chores

    • Updated dependencies for better integration and performance.

Copy link

vercel bot commented Aug 23, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
bitlauncher ✅ Ready (Inspect) Visit Preview 💬 Add feedback Aug 23, 2024 8:09am
smartsale-faucet ✅ Ready (Inspect) Visit Preview 💬 Add feedback Aug 23, 2024 8:09am

Copy link
Contributor

sourcery-ai bot commented Aug 23, 2024

Reviewer's Guide by Sourcery

This pull request implements the third part of the presale token issuance feature. It focuses on enhancing the Alchemy webhook handling, refining the supported blockchain networks, and improving the address activity processing.

File-Level Changes

Change Details Files
Enhanced Alchemy webhook handling and validation
  • Added type definitions for Alchemy webhook events and activities
  • Implemented network validation to ensure only supported networks are processed
  • Added asset validation to only process USDC and USDT transactions
  • Implemented address validation to ensure transactions are to the presale address
apps/indexer/src/routes/alchemy.ts
apps/alchemy/src/types.ts
Refined supported blockchain networks
  • Updated the list of production chains to include only specific networks
  • Removed several previously supported networks
  • Added a mapping of chain IDs to Alchemy Network types
packages/app-env/src/chains.ts
apps/indexer/src/routes/alchemy.ts
Improved address activity processing
  • Updated the addressActivityTask to use typed AlchemyWebhookEvent
  • Enhanced error logging in the address activity task
apps/trigger/src/trigger/activity.ts
Restructured Alchemy-related code
  • Moved Alchemy types to a separate file
  • Relocated the createAddressActivityNotification function to a new file
apps/alchemy/src/index.ts
apps/alchemy/src/create.ts
Updated configuration
  • Added PRESALE_ADDRESS to the environment schema
  • Included presaleAddress in the appConfig object
apps/indexer/src/config.ts

Tips
  • Trigger a new Sourcery review by commenting @sourcery-ai review on the pull request.
  • Continue your discussion with Sourcery by replying directly to review comments.
  • You can change your review settings at any time by accessing your dashboard:
    • Enable or disable the Sourcery-generated pull request summary or reviewer's guide;
    • Change the review language;
  • You can always contact us if you have any questions or feedback.

Copy link
Contributor

coderabbitai bot commented Aug 23, 2024

Caution

Review failed

The pull request is closed.

Walkthrough

The changes include updates to configuration files, dependencies, and TypeScript interfaces across various applications. Notable modifications involve restructuring package names, adding new types for webhook events, enhancing validation logic, and streamlining the production chain list. These adjustments focus on improving code organization and refining the functionality related to the Alchemy SDK and webhook processing.

Changes

File Change Summary
.vscode/settings.json Added editor settings for spaces and tab size.
apps/alchemy/package.json Updated package name to @repo/alchemy, added TypeScript types entry, and replaced push script with create.
apps/alchemy/src/create.ts Introduced a new function createAddressActivityNotification for setting up webhooks.
apps/alchemy/src/index.ts Removed createAddressActivityNotification function; added export for all entities from ./types.
apps/alchemy/src/types.ts Added several TypeScript interfaces and types for Alchemy webhook events and activities.
apps/indexer/package.json Added dependency on @repo/alchemy.
apps/indexer/src/config.ts Introduced PRESALE_ADDRESS as a new configuration parameter.
apps/indexer/src/routes/alchemy.ts Enhanced alchemyWebhook function with validation for incoming webhook requests and improved security checks.
apps/trigger/package.json Updated dependencies, adding @repo/alchemy and alchemy-sdk.
apps/trigger/src/trigger/activity.ts Updated addressActivityTask to improve type safety and streamline logging and error handling.
packages/app-env/src/chains.ts Removed multiple chains from prodChains, leaving a focused list of production chains.

Sequence Diagram(s)

sequenceDiagram
    participant User as User
    participant Alchemy as Alchemy SDK
    participant Webhook as Webhook Handler
    participant Config as Configuration

    User->>Webhook: Send webhook event
    Webhook->>Config: Validate event type and network
    alt Valid event
        Webhook->>Alchemy: Process event
        Alchemy-->>Webhook: Acknowledge processing
    else Invalid event
        Webhook-->>User: Respond with 401 Unauthorized
    end
Loading

🐰 In the meadow, changes sprout,
New paths for coding, there's no doubt!
A webhook here, a type defined,
In the code, harmony we find.
With every hop, our project grows,
A world of logic, where creativity flows! 🌼


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @gaboesquivel - I've reviewed your changes - here's some feedback:

Overall Comments:

  • Consider changing the absolute import path in alchemy.ts to a relative or aliased import to avoid potential issues with file system differences.
  • The TODO comments in the code should be addressed before merging. If they represent future work, consider creating separate issues and referencing them in the code instead.
  • The error handling in addressActivityTask could be improved. Consider adding more context to the error or implementing a more robust error handling strategy.
Here's what I looked at during the review
  • 🟡 General issues: 2 issues found
  • 🟢 Security: all looks good
  • 🟢 Testing: all looks good
  • 🟢 Complexity: all looks good
  • 🟢 Documentation: all looks good

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment to tell me if it was helpful.

apps/indexer/src/routes/alchemy.ts Show resolved Hide resolved
apps/trigger/src/trigger/activity.ts Show resolved Hide resolved
apps/indexer/src/routes/alchemy.ts Show resolved Hide resolved
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 85ff357 and 5034075.

Files ignored due to path filters (1)
  • bun.lockb is excluded by !**/bun.lockb
Files selected for processing (11)
  • .vscode/settings.json (1 hunks)
  • apps/alchemy/package.json (1 hunks)
  • apps/alchemy/src/create.ts (1 hunks)
  • apps/alchemy/src/index.ts (1 hunks)
  • apps/alchemy/src/types.ts (1 hunks)
  • apps/indexer/package.json (1 hunks)
  • apps/indexer/src/config.ts (2 hunks)
  • apps/indexer/src/routes/alchemy.ts (3 hunks)
  • apps/trigger/package.json (1 hunks)
  • apps/trigger/src/trigger/activity.ts (1 hunks)
  • packages/app-env/src/chains.ts (2 hunks)
Files skipped from review due to trivial changes (3)
  • .vscode/settings.json
  • apps/alchemy/src/index.ts
  • apps/trigger/package.json
Additional context used
Biome
apps/alchemy/src/types.ts

[error] 7-7: Unexpected any. Specify a different type.

any disables many type checking rules. Its use should be avoided.

(lint/suspicious/noExplicitAny)


[error] 7-7: Unexpected any. Specify a different type.

any disables many type checking rules. Its use should be avoided.

(lint/suspicious/noExplicitAny)


[error] 1-1: All these imports are only used as types.

Importing the types with import type ensures that they are removed by the transpilers and avoids loading unnecessary modules.
Safe fix: Use import type.

(lint/style/useImportType)

Additional comments not posted (15)
apps/alchemy/package.json (3)

2-2: Scoped package name change is appropriate.

The update to a scoped package name enhances modularity and versioning control within a larger repository.


4-4: Addition of TypeScript types is beneficial.

Including TypeScript type definitions enhances type safety and developer experience for consumers of the package.


7-7: Script command update aligns with new workflows.

Replacing the "push" script with a "create" script likely reflects a new workflow or functionality that the project aims to support.

apps/trigger/src/trigger/activity.ts (3)

7-7: Function signature update enhances type safety.

Updating the function signature to use AlchemyWebhookEvent improves type safety and clarity regarding the expected structure of the input payload.


9-13: Internal logic changes streamline logging and error handling.

The changes improve performance and readability by reducing unnecessary data output and simplifying error handling.


1-1: Use import type for type-only imports.

To ensure types are removed by the transpilers and avoid loading unnecessary modules, use import type.

Apply this diff to update the import statement:

-import { AlchemyWebhookEvent, AlchemyActivity } from '@repo/alchemy'
+import type { AlchemyWebhookEvent, AlchemyActivity } from '@repo/alchemy'

Likely invalid or redundant comment.

apps/alchemy/src/types.ts (1)

15-31: Interfaces AlchemyActivity and AlchemyActivityEvent are well-defined.

The interfaces provide a clear structure for activities and events, aligning with the expected data structure.

packages/app-env/src/chains.ts (1)

34-46: Streamlined production chains and clear documentation.

The removal of certain chains from prodChains and the addition of a comment about Solana's exclusion reflect a strategic focus on EVM-compatible chains. The exports are consistent and enhance clarity.

apps/indexer/package.json (1)

19-19: Dependency addition approved. Verify its usage.

The addition of @repo/alchemy to the dependencies is approved. Ensure that this package is correctly integrated and utilized in the codebase.

Run the following script to verify the usage of @repo/alchemy:

Verification successful

Dependency usage verified. The @repo/alchemy package is actively and correctly utilized in the codebase, with its types being used in task definitions and request handling.

  • apps/trigger/src/trigger/activity.ts: AlchemyWebhookEvent and AlchemyActivity are used in task logic.
  • apps/indexer/src/routes/alchemy.ts: AlchemyWebhookEvent is used for request body typing.
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the usage of `@repo/alchemy` in the codebase.

# Test: Search for imports or usage of `@repo/alchemy`. Expect: Occurrences of its usage.
rg --type js --type ts '@repo/alchemy'

Length of output: 242


Script:

#!/bin/bash
# Check the usage of AlchemyWebhookEvent and AlchemyActivity in the identified files.

# Search for usage of AlchemyWebhookEvent and AlchemyActivity in apps/trigger/src/trigger/activity.ts
rg 'AlchemyWebhookEvent|AlchemyActivity' apps/trigger/src/trigger/activity.ts -A 5

# Search for usage of AlchemyWebhookEvent in apps/indexer/src/routes/alchemy.ts
rg 'AlchemyWebhookEvent' apps/indexer/src/routes/alchemy.ts -A 5

Length of output: 1211

apps/indexer/src/config.ts (2)

24-29: LGTM! The addition of PRESALE_ADDRESS is consistent.

The validation logic for PRESALE_ADDRESS using isAddress is consistent with other address validations in the file.


43-43: LGTM! The update to appConfig is straightforward.

The addition of presaleAddress to appConfig is correctly implemented.

apps/indexer/src/routes/alchemy.ts (4)

11-19: LGTM! Ensure chainIdToNetwork covers all necessary chain IDs.

The mapping is correctly implemented for the specified chain IDs.


42-50: LGTM! The validation logic is comprehensive.

The validation logic in alchemyWebhook is well-implemented and enhances security.


58-58: LGTM! Including the event ID in the response message is a good enhancement.

The change provides clearer feedback on the specific webhook processed.


2-2: Verify the correctness of the import path for AlchemyWebhookEvent.

Ensure that AlchemyWebhookEvent is correctly imported from @repo/alchemy and that this aligns with the removal of the interface declaration from the file.

Run the following script to verify the import path:

apps/alchemy/src/types.ts Show resolved Hide resolved
apps/alchemy/src/types.ts Show resolved Hide resolved
apps/alchemy/src/create.ts Outdated Show resolved Hide resolved
Copy link

github-actions bot commented Aug 23, 2024

⚡️ Lighthouse report

Page: https://bitlauncher-ocze1zlry-bitcash.vercel.app/
Report undefined

Category Score
🔴 Performance 28
🟠 Accessibility 59
🟠 Best practices 74
🟠 SEO 79
🔴 PWA 38

Page: https://bitlauncher-ocze1zlry-bitcash.vercel.app/about
Report undefined

Category Score
🔴 Performance 10
🟠 Accessibility 59
🟠 Best practices 74
🟠 SEO 79
🔴 PWA 38

Page: https://bitlauncher-ocze1zlry-bitcash.vercel.app/security
Report undefined

Category Score
🔴 Performance 12
🟠 Accessibility 59
🟠 Best practices 74
🟠 SEO 79
🔴 PWA 38

Page: https://bitlauncher-ocze1zlry-bitcash.vercel.app/bitcash-bitlauncher
Report undefined

Category Score
🔴 Performance 37
🟠 Accessibility 65
🟠 Best practices 74
🟠 SEO 86
🔴 PWA 38

Page: https://bitlauncher-ocze1zlry-bitcash.vercel.app/blog
Report undefined

Category Score
🔴 Performance 41
🟠 Accessibility 66
🟠 Best practices 74
🟠 SEO 86
🟠 PWA 63

Page: https://bitlauncher-ocze1zlry-bitcash.vercel.app/blog/ai
Report undefined

Category Score
🔴 Performance 37
🟠 Accessibility 59
🟠 Best practices 74
🟠 SEO 79
🔴 PWA 38

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
@gaboesquivel gaboesquivel merged commit 4235767 into develop Aug 23, 2024
3 of 4 checks passed
@gaboesquivel gaboesquivel deleted the token-issuance-3 branch August 23, 2024 08:08
AndlerRL added a commit that referenced this pull request Aug 27, 2024
* impr(webapp): upt mob ver of more info cards (#294)

* styles: update mobile version for information cards of home page

* styles: use tailwind css variables

* styles: add font family futura pt

* styles, config: add cornflowerblue variables on tailwind config and update information cards' background

* config: update font importation

* chore: replace BC with BL

* chore: replace bc files with bl files

* chore: replace bc files with bl files

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* fix(impr): verify font-style and text wording across landing (#309)

* fix(impr): verify font-style across landing

* fix(webapp): lufga bold font config

* fix(webapp): investor wording to contributor on texts

* fix(webapp): investors wording to contributors on texts (plural)

* chore(webapp): text, invest wording upt to contribute

* config: add multibase custom hook (#310)

* config: add multibase custom hook

* chore: update multibase hook and session hook

* chore: change inverted params

* impr(fix): multibase init call

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* feat: referral section ui - ver 0.1a (#311)

* chore(webapp): update gitignore

* chore: update cursor agent rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* feat(webapp): use dynamic loading in homepage (#313)

* feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312)

* feat: alchemy transfer hooks

* feat(trigger): listen token transfers

* feat(app-lib): add pino logger

* feat(trigger): address activity handler

* feat(indexer): security updates and alchemy proxy

* fix(webapp): logger bug

* chore(indexer): sentry middleware and app config

* chore(indexer): cleanup

* chore: update bunlock

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* feat(indexer): trigger address activity job (#316)

* impr(webapp): check short link gen (#301)

* fix(webapp): desktop padding

* wip(imp): check user share link

* fix(webapp): error var name scope

* chore: updating supabase schema & types

* feat(webapp): user table short link + session upsert

* chore: use biome 🚀 (#317)

* chore: use biome

* chore: use biome

* chore(indexer): verify call with alchemy signing key (#318)

* devops(indexer): update dockerfile

* chore(indexer): cleanup

* chore: update gitignore

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* fix(trigger): install right trigger.dev dep

* fix(indexer): trust proxy

* feat: token issuance trigger part 2 (#321)

* chore(alchemy): use gcloud endpoint

* docs(alchemy): update readme file

* docs(indexer): update readme file

* debug(indexer): gcloud automated deployment

* chore(alchemy): env values validation

* chore(indexer): improve logging

* chore(indexer): improve logging

* chore(indexer): stringify all logs

* debug(indexer): disable alchemy signature validation

* debug(indexer): disable alchemy signature validation

* chore(indexer): validate env and use trigger secret

* debug(faucet): save dist/ empty folder in git

* chore: update deps

* chore: improve env validations

* fix(alchemy): wrong import

* chore(indexer): improve logging

* debug(indexer): alchemy webhook handler

* debug(indexer): disable helmet

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* feat(indexer): alchemy signature middleware

* feat(indexer): validate alchemy signature

* chore(indexer): security improvements (#323)

* chore(indexer): disable alchemy validation

* feat: presale token issuance part 3 (#325)

* chore(alchemy): export types

* chore(indexer): log process event id

* chore(indexer): log process event id

* chore: prod network conig, validate networks

* wip(indexer): validate before triggering

* chore: add try catch

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: clean up

* devops(indexer): update dockerfile

* chore: format code

* devops: remove lhci reports

* fix(indexer): wrong import

* feat(trigger): transfer blpl token (#327)

* feat(trigger): transfer blpl token

* docs(trigger): token issuance jsdocs

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* devops(indexer): update dockerfile

* chore: remove type:module (#329)

* chore: remove type:module

* chore: remove type:module

* devops(indexer): test deployment

* devops(indexer): test deployment

* chore(supabase): use module

* feat(trigger): presale token issuance

* chore: format

* chore: use type:module for monorepo

* impr(webapp): add multibase provider (#326)

* config: create multibase provider

* chore: update multibase env variable

* impr(webapp): UI Update (#314)

* (wepapp)impr:landing distribution + filenames

* (wepapp)impr:auction card badge

* (wepapp)impr:steps pading + new text-size

* (wepapp)impr:text-size

* (wepapp)impr:refactored about us section

* (wepapp)impr:new tittles learning section

* (wepapp)impr:security section

* (wepapp)impr:tittle style and fonts

* (wepapp)impr:responsive impr

* fix:about section text-18 instead of text-sm

* fix:security responsive

* fix:hero padding

* fix:Final Mobil Tweaks

* impr(webapp): landing heros + mob-nav spacing

* impr(webapp): landing learn section updated blog links

* fix(webapp): info text foreground color

* impr(webapp): landing responsiveness

* imp(webapp): 3 steps needed responsiveness

* chore(webapp): rm duplicate component

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* feat: security updates (#331)

* feat(indexer): validate right usdt,usdc address

* feat(indexer): wait for finality and trx log

* fix(indexer): wrong import

* chore(indexer): fix build

* chore(webapp): format

* feat(webapp): bitlauncher blog category + blog tweaks (#324)

* wip: static blog files upt

* fix(webapp): blog article file gen + article ui tweaks

* chore(webapp): app ver upt + cms gen script

* docs: upt cms-ql.sh

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* impr(webapp): upt /services/datocms/datocms-blog.service.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* impr(webapp): upt /services/datocms/datocms-blog.service.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix(webapp): app build, missing file

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: format files

* fix(webapp): cached files error catch

* impr(webapp): static blog file error catch

* fix(webapp): static cached file chk

* feat: supabase schema and webapp updates  (#335)

* feat(indexer): add address registration validation

* feat: update database schema to support presales

* feat: repo/tokens (#336)

* chore: update repo packages (#338)

* feat: stable coin selector

* feat: presale ux ui

* chore: repo/contracts pkg

* chore: repo/utils pkg

* chore: repo/tsconfig pkg

* chore: repo/alchemy pkg

* chore: repo/jobs pkg

* chore: repo/supabase pkg

* docs: update readme

* chore: update bunlock

* chore(indexer): alchemy webhook

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* chore(alchemy): invert ternary

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* chore: not nullable values, format code

* chore: update node:crypto

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat(indexer): alchemy signature validation

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: fix build (#339)

* feat: validate user registration on event proxy (#340)

* chore: fix imports

* feat(indexer): validate user is registered

* feat: add presale deposit checks (#341)

* feat(indexer): is registered address

* feat(indexer): validate amount and timing

* wip(webapp): update project, presale and auction pages

* chore(webapp): improve error handling

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat: realtime presale data (#342)

* feat: real time presale data

* feat: real time presale data

* fix(webapp): header margin (#343)

* webapp:fix margin top

* webapp:add header tag

* webapp:fix margin top

* webapp:add md top

* webapp:add md top

* webapp:fix project tittle + pills responsive

---------

Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>
Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local>
Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
AndlerRL added a commit that referenced this pull request Aug 27, 2024
* chore: add @types/uuid

* chore: add @types/uuid

* fix(app-lib): tsconfig pkg extends

* fix: missing encoding dep

* feat: sitemap (#290)

* feat: add sitemap

* fix: error handling

* fix: move common types

* fix: update base url in sitemap

* Update apps/webapp/app/(routes)/[lang]/blog/[category]/sitemap.ts

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* Update apps/webapp/app/(routes)/[lang]/wallet/sitemap.ts

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* Update apps/webapp/app/(routes)/[lang]/whitepaper/sitemap.ts

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* fix: build error

* fix: remove unnecessary async declarative

* vendor: add @types/uuid

* fix: remove console log for debug

* fix: add 'async' to all sitemaps

* fix: make ProjectPageParams extends CommonPageParams

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* fix(webapp): UI/UX tweaks and upts from final v1 landing designs (#291)

* (webapp)fix:FAQ border radi + muted color

* (webapp)fix:newsletter spacing

* (webapp)fix:participate spacing and font family

* (webapp)fix:header spacing + bitlauncher logo size

* (webapp)fix:blog section 4 per row + purple link + gap

* (webapp)fix:hero-card spacing

* (webapp)fix:auction-card spaces

* (webapp)fix:Upcoming grid gap

* (webapp)fix:article card - text-left

* (webapp)fix:media-card text-start

* (webapp)fix:media-section purple link + space

* (webapp)fix:participate gap + section font and padding

* (webapp)fix:footer links padding + other spacing fix

* (webapp)fix:upcoming background circle

* (webapp)fix:footer margin-10

* (webapp)fix:upcoming bg shape

* (webapp)-andler-changes-request

* (webapp)-debug-toggle navigation icon

* (webapp)-create-mobile-navigation-context

* (webapp)-create-mobile-navigation-context

* (webapp)-fix navigation bug - add key

* (webapp)-Andler-changes

* (webapp)-responsive - upcoming

* (webapp)-fix-responsive-whychooseUs

* (webapp)-fix-responsive-participate

* (webapp)-fix-responsive-media

* (webapp)-fix-responsive-articles

* (webapp)-responsive-project-header+info+sharebtn

* (webapp)-feat-about-base

* (webapp)-feat-about-landing-complete

* (webapp)-feat-security-updated

* (webapp)-fix-steps-padding

* fix typo

* fix bgHeader type

* fix bgHeader type

* impr(webapp): layout tweaks

* impr(webapp): info pages img asset + css class

* fix: bun.lockb

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* feat: multichain indexer ( part 1 ) (#293)

* chore: update app-contracts

* feat: multichain indexer

* feat: prod chains

* feat: presale wallet

* feat: blpl token

* feat: blpl token

* chore: update bunlock

* feat: blpl token

* feat: presale evm contribs

* feat: blpl token

* wip: presale indexer

* chore(indexer): fix dockerfile

* feat: presale transaction indexing (#296)

* feat: report transaction id

* feat: save deposits data

* feat: save deposits data

* feat: read presale transactions

* chore: disable view all

* feat: update presale deposits ui

* feat: display amount raised and contributors

* chore: environment chains and tokens

* fix(webapp): desktop padding (#297)

* feat: multichain presale deposits (#298)

* chore: environment chains and tokens

* fix: chain switch

* fix: chain switch

* feat: update nav links (#299)

* chore: environment chains and tokens

* feat: update nav links

* chore: renable swaps service, index token from latest block

* feat(webapp): wallet ui updates (#300)

* fix: wagmi config

* feat(webapp): presale contribution report

* feat: realtime presale data

* feat: realtime presale data

* feat: update dropdown menu

* feat(supabase): update schema and types

* chore: debug presale token issuance

* feat: show issuance trx link on table

* impr(webapp): upt mob ver of more info cards (#294) (#305)

* styles: update mobile version for information cards of home page

* styles: use tailwind css variables

* styles: add font family futura pt

* styles, config: add cornflowerblue variables on tailwind config and update information cards' background

* config: update font importation

* chore: replace BC with BL

* chore: replace bc files with bl files

* chore: replace bc files with bl files

---------

Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>

* chore: august 2nd release [at TEST]  (#315)

* impr(webapp): upt mob ver of more info cards (#294)

* styles: update mobile version for information cards of home page

* styles: use tailwind css variables

* styles: add font family futura pt

* styles, config: add cornflowerblue variables on tailwind config and update information cards' background

* config: update font importation

* chore: replace BC with BL

* chore: replace bc files with bl files

* chore: replace bc files with bl files

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* fix(impr): verify font-style and text wording across landing (#309)

* fix(impr): verify font-style across landing

* fix(webapp): lufga bold font config

* fix(webapp): investor wording to contributor on texts

* fix(webapp): investors wording to contributors on texts (plural)

* chore(webapp): text, invest wording upt to contribute

* config: add multibase custom hook (#310)

* config: add multibase custom hook

* chore: update multibase hook and session hook

* chore: change inverted params

* impr(fix): multibase init call

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* feat: referral section ui - ver 0.1a (#311)

* chore(webapp): update gitignore

* chore: update cursor agent rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* feat(webapp): use dynamic loading in homepage (#313)

* feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312)

* feat: alchemy transfer hooks

* feat(trigger): listen token transfers

* feat(app-lib): add pino logger

* feat(trigger): address activity handler

* feat(indexer): security updates and alchemy proxy

* fix(webapp): logger bug

* chore(indexer): sentry middleware and app config

* chore(indexer): cleanup

* chore: update bunlock

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* feat(indexer): trigger address activity job (#316)

* impr(webapp): check short link gen (#301)

* fix(webapp): desktop padding

* wip(imp): check user share link

* fix(webapp): error var name scope

* chore: updating supabase schema & types

* feat(webapp): user table short link + session upsert

* chore: use biome 🚀 (#317)

* chore: use biome

* chore: use biome

* chore(indexer): verify call with alchemy signing key (#318)

* devops(indexer): update dockerfile

* chore(indexer): cleanup

* chore: update gitignore

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* fix(trigger): install right trigger.dev dep

---------

Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>
Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local>
Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* fix: merge typo

* fix: tailwind font config

* chore: august 3rd release [pre-prod] (#334)

* impr(webapp): upt mob ver of more info cards (#294)

* styles: update mobile version for information cards of home page

* styles: use tailwind css variables

* styles: add font family futura pt

* styles, config: add cornflowerblue variables on tailwind config and update information cards' background

* config: update font importation

* chore: replace BC with BL

* chore: replace bc files with bl files

* chore: replace bc files with bl files

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* fix(impr): verify font-style and text wording across landing (#309)

* fix(impr): verify font-style across landing

* fix(webapp): lufga bold font config

* fix(webapp): investor wording to contributor on texts

* fix(webapp): investors wording to contributors on texts (plural)

* chore(webapp): text, invest wording upt to contribute

* config: add multibase custom hook (#310)

* config: add multibase custom hook

* chore: update multibase hook and session hook

* chore: change inverted params

* impr(fix): multibase init call

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* feat: referral section ui - ver 0.1a (#311)

* chore(webapp): update gitignore

* chore: update cursor agent rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* feat(webapp): use dynamic loading in homepage (#313)

* feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312)

* feat: alchemy transfer hooks

* feat(trigger): listen token transfers

* feat(app-lib): add pino logger

* feat(trigger): address activity handler

* feat(indexer): security updates and alchemy proxy

* fix(webapp): logger bug

* chore(indexer): sentry middleware and app config

* chore(indexer): cleanup

* chore: update bunlock

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* feat(indexer): trigger address activity job (#316)

* impr(webapp): check short link gen (#301)

* fix(webapp): desktop padding

* wip(imp): check user share link

* fix(webapp): error var name scope

* chore: updating supabase schema & types

* feat(webapp): user table short link + session upsert

* chore: use biome 🚀 (#317)

* chore: use biome

* chore: use biome

* chore(indexer): verify call with alchemy signing key (#318)

* devops(indexer): update dockerfile

* chore(indexer): cleanup

* chore: update gitignore

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* fix(trigger): install right trigger.dev dep

* fix(indexer): trust proxy

* feat: token issuance trigger part 2 (#321)

* chore(alchemy): use gcloud endpoint

* docs(alchemy): update readme file

* docs(indexer): update readme file

* debug(indexer): gcloud automated deployment

* chore(alchemy): env values validation

* chore(indexer): improve logging

* chore(indexer): improve logging

* chore(indexer): stringify all logs

* debug(indexer): disable alchemy signature validation

* debug(indexer): disable alchemy signature validation

* chore(indexer): validate env and use trigger secret

* debug(faucet): save dist/ empty folder in git

* chore: update deps

* chore: improve env validations

* fix(alchemy): wrong import

* chore(indexer): improve logging

* debug(indexer): alchemy webhook handler

* debug(indexer): disable helmet

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* feat(indexer): alchemy signature middleware

* feat(indexer): validate alchemy signature

* chore(indexer): security improvements (#323)

* chore(indexer): disable alchemy validation

* feat: presale token issuance part 3 (#325)

* chore(alchemy): export types

* chore(indexer): log process event id

* chore(indexer): log process event id

* chore: prod network conig, validate networks

* wip(indexer): validate before triggering

* chore: add try catch

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: clean up

* devops(indexer): update dockerfile

* chore: format code

* devops: remove lhci reports

* fix(indexer): wrong import

* feat(trigger): transfer blpl token (#327)

* feat(trigger): transfer blpl token

* docs(trigger): token issuance jsdocs

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* devops(indexer): update dockerfile

* chore: remove type:module (#329)

* chore: remove type:module

* chore: remove type:module

* devops(indexer): test deployment

* devops(indexer): test deployment

* chore(supabase): use module

* feat(trigger): presale token issuance

* chore: format

* chore: use type:module for monorepo

* impr(webapp): add multibase provider (#326)

* config: create multibase provider

* chore: update multibase env variable

* impr(webapp): UI Update (#314)

* (wepapp)impr:landing distribution + filenames

* (wepapp)impr:auction card badge

* (wepapp)impr:steps pading + new text-size

* (wepapp)impr:text-size

* (wepapp)impr:refactored about us section

* (wepapp)impr:new tittles learning section

* (wepapp)impr:security section

* (wepapp)impr:tittle style and fonts

* (wepapp)impr:responsive impr

* fix:about section text-18 instead of text-sm

* fix:security responsive

* fix:hero padding

* fix:Final Mobil Tweaks

* impr(webapp): landing heros + mob-nav spacing

* impr(webapp): landing learn section updated blog links

* fix(webapp): info text foreground color

* impr(webapp): landing responsiveness

* imp(webapp): 3 steps needed responsiveness

* chore(webapp): rm duplicate component

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* feat: security updates (#331)

* feat(indexer): validate right usdt,usdc address

* feat(indexer): wait for finality and trx log

* fix(indexer): wrong import

* chore(indexer): fix build

* chore(webapp): format

* feat(webapp): bitlauncher blog category + blog tweaks (#324)

* wip: static blog files upt

* fix(webapp): blog article file gen + article ui tweaks

* chore(webapp): app ver upt + cms gen script

* docs: upt cms-ql.sh

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* impr(webapp): upt /services/datocms/datocms-blog.service.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* impr(webapp): upt /services/datocms/datocms-blog.service.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix(webapp): app build, missing file

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: format files

* fix(webapp): cached files error catch

* impr(webapp): static blog file error catch

* fix(webapp): static cached file chk

* feat: supabase schema and webapp updates  (#335)

* feat(indexer): add address registration validation

* feat: update database schema to support presales

* feat: repo/tokens (#336)

* chore: update repo packages (#338)

* feat: stable coin selector

* feat: presale ux ui

* chore: repo/contracts pkg

* chore: repo/utils pkg

* chore: repo/tsconfig pkg

* chore: repo/alchemy pkg

* chore: repo/jobs pkg

* chore: repo/supabase pkg

* docs: update readme

* chore: update bunlock

* chore(indexer): alchemy webhook

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* chore(alchemy): invert ternary

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* chore: not nullable values, format code

* chore: update node:crypto

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat(indexer): alchemy signature validation

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: fix build (#339)

* feat: validate user registration on event proxy (#340)

* chore: fix imports

* feat(indexer): validate user is registered

* feat: add presale deposit checks (#341)

* feat(indexer): is registered address

* feat(indexer): validate amount and timing

* wip(webapp): update project, presale and auction pages

* chore(webapp): improve error handling

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat: realtime presale data (#342)

* feat: real time presale data

* feat: real time presale data

* fix(webapp): header margin (#343)

* webapp:fix margin top

* webapp:add header tag

* webapp:fix margin top

* webapp:add md top

* webapp:add md top

* webapp:fix project tittle + pills responsive

---------

Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>
Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local>
Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>

* chore(fix): update apps/trigger package.json dep

* fix: cms gen merged files + use-session table upt + trigger/tsconfig upt

---------

Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com>
Co-authored-by: Nathanael Liu <supernathanliu@gmail.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>
Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
AndlerRL added a commit that referenced this pull request Aug 28, 2024
* chore: add @types/uuid

* chore: add @types/uuid

* fix(app-lib): tsconfig pkg extends

* fix: missing encoding dep

* feat: sitemap (#290)

* feat: add sitemap

* fix: error handling

* fix: move common types

* fix: update base url in sitemap

* Update apps/webapp/app/(routes)/[lang]/blog/[category]/sitemap.ts

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* Update apps/webapp/app/(routes)/[lang]/wallet/sitemap.ts

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* Update apps/webapp/app/(routes)/[lang]/whitepaper/sitemap.ts

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* fix: build error

* fix: remove unnecessary async declarative

* vendor: add @types/uuid

* fix: remove console log for debug

* fix: add 'async' to all sitemaps

* fix: make ProjectPageParams extends CommonPageParams

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* fix(webapp): UI/UX tweaks and upts from final v1 landing designs (#291)

* (webapp)fix:FAQ border radi + muted color

* (webapp)fix:newsletter spacing

* (webapp)fix:participate spacing and font family

* (webapp)fix:header spacing + bitlauncher logo size

* (webapp)fix:blog section 4 per row + purple link + gap

* (webapp)fix:hero-card spacing

* (webapp)fix:auction-card spaces

* (webapp)fix:Upcoming grid gap

* (webapp)fix:article card - text-left

* (webapp)fix:media-card text-start

* (webapp)fix:media-section purple link + space

* (webapp)fix:participate gap + section font and padding

* (webapp)fix:footer links padding + other spacing fix

* (webapp)fix:upcoming background circle

* (webapp)fix:footer margin-10

* (webapp)fix:upcoming bg shape

* (webapp)-andler-changes-request

* (webapp)-debug-toggle navigation icon

* (webapp)-create-mobile-navigation-context

* (webapp)-create-mobile-navigation-context

* (webapp)-fix navigation bug - add key

* (webapp)-Andler-changes

* (webapp)-responsive - upcoming

* (webapp)-fix-responsive-whychooseUs

* (webapp)-fix-responsive-participate

* (webapp)-fix-responsive-media

* (webapp)-fix-responsive-articles

* (webapp)-responsive-project-header+info+sharebtn

* (webapp)-feat-about-base

* (webapp)-feat-about-landing-complete

* (webapp)-feat-security-updated

* (webapp)-fix-steps-padding

* fix typo

* fix bgHeader type

* fix bgHeader type

* impr(webapp): layout tweaks

* impr(webapp): info pages img asset + css class

* fix: bun.lockb

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* feat: multichain indexer ( part 1 ) (#293)

* chore: update app-contracts

* feat: multichain indexer

* feat: prod chains

* feat: presale wallet

* feat: blpl token

* feat: blpl token

* chore: update bunlock

* feat: blpl token

* feat: presale evm contribs

* feat: blpl token

* wip: presale indexer

* chore(indexer): fix dockerfile

* feat: presale transaction indexing (#296)

* feat: report transaction id

* feat: save deposits data

* feat: save deposits data

* feat: read presale transactions

* chore: disable view all

* feat: update presale deposits ui

* feat: display amount raised and contributors

* chore: environment chains and tokens

* fix(webapp): desktop padding (#297)

* feat: multichain presale deposits (#298)

* chore: environment chains and tokens

* fix: chain switch

* fix: chain switch

* feat: update nav links (#299)

* chore: environment chains and tokens

* feat: update nav links

* chore: renable swaps service, index token from latest block

* feat(webapp): wallet ui updates (#300)

* fix: wagmi config

* feat(webapp): presale contribution report

* feat: realtime presale data

* feat: realtime presale data

* feat: update dropdown menu

* feat(supabase): update schema and types

* chore: debug presale token issuance

* feat: show issuance trx link on table

* impr(webapp): upt mob ver of more info cards (#294)

* styles: update mobile version for information cards of home page

* styles: use tailwind css variables

* styles: add font family futura pt

* styles, config: add cornflowerblue variables on tailwind config and update information cards' background

* config: update font importation

* chore: replace BC with BL

* chore: replace bc files with bl files

* chore: replace bc files with bl files

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* impr(webapp): upt mob ver of more info cards (#294) (#305)

* styles: update mobile version for information cards of home page

* styles: use tailwind css variables

* styles: add font family futura pt

* styles, config: add cornflowerblue variables on tailwind config and update information cards' background

* config: update font importation

* chore: replace BC with BL

* chore: replace bc files with bl files

* chore: replace bc files with bl files

---------

Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>

* fix(impr): verify font-style and text wording across landing (#309)

* fix(impr): verify font-style across landing

* fix(webapp): lufga bold font config

* fix(webapp): investor wording to contributor on texts

* fix(webapp): investors wording to contributors on texts (plural)

* chore(webapp): text, invest wording upt to contribute

* config: add multibase custom hook (#310)

* config: add multibase custom hook

* chore: update multibase hook and session hook

* chore: change inverted params

* impr(fix): multibase init call

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* feat: referral section ui - ver 0.1a (#311)

* chore(webapp): update gitignore

* chore: update cursor agent rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* feat(webapp): use dynamic loading in homepage (#313)

* feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312)

* feat: alchemy transfer hooks

* feat(trigger): listen token transfers

* feat(app-lib): add pino logger

* feat(trigger): address activity handler

* feat(indexer): security updates and alchemy proxy

* fix(webapp): logger bug

* chore(indexer): sentry middleware and app config

* chore(indexer): cleanup

* chore: update bunlock

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* feat(indexer): trigger address activity job (#316)

* impr(webapp): check short link gen (#301)

* fix(webapp): desktop padding

* wip(imp): check user share link

* fix(webapp): error var name scope

* chore: updating supabase schema & types

* feat(webapp): user table short link + session upsert

* chore: use biome 🚀 (#317)

* chore: use biome

* chore: use biome

* chore(indexer): verify call with alchemy signing key (#318)

* devops(indexer): update dockerfile

* chore(indexer): cleanup

* chore: update gitignore

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* fix(trigger): install right trigger.dev dep

* chore: august 2nd release [at TEST]  (#315)

* impr(webapp): upt mob ver of more info cards (#294)

* styles: update mobile version for information cards of home page

* styles: use tailwind css variables

* styles: add font family futura pt

* styles, config: add cornflowerblue variables on tailwind config and update information cards' background

* config: update font importation

* chore: replace BC with BL

* chore: replace bc files with bl files

* chore: replace bc files with bl files

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* fix(impr): verify font-style and text wording across landing (#309)

* fix(impr): verify font-style across landing

* fix(webapp): lufga bold font config

* fix(webapp): investor wording to contributor on texts

* fix(webapp): investors wording to contributors on texts (plural)

* chore(webapp): text, invest wording upt to contribute

* config: add multibase custom hook (#310)

* config: add multibase custom hook

* chore: update multibase hook and session hook

* chore: change inverted params

* impr(fix): multibase init call

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* feat: referral section ui - ver 0.1a (#311)

* chore(webapp): update gitignore

* chore: update cursor agent rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* feat(webapp): use dynamic loading in homepage (#313)

* feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312)

* feat: alchemy transfer hooks

* feat(trigger): listen token transfers

* feat(app-lib): add pino logger

* feat(trigger): address activity handler

* feat(indexer): security updates and alchemy proxy

* fix(webapp): logger bug

* chore(indexer): sentry middleware and app config

* chore(indexer): cleanup

* chore: update bunlock

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* feat(indexer): trigger address activity job (#316)

* impr(webapp): check short link gen (#301)

* fix(webapp): desktop padding

* wip(imp): check user share link

* fix(webapp): error var name scope

* chore: updating supabase schema & types

* feat(webapp): user table short link + session upsert

* chore: use biome 🚀 (#317)

* chore: use biome

* chore: use biome

* chore(indexer): verify call with alchemy signing key (#318)

* devops(indexer): update dockerfile

* chore(indexer): cleanup

* chore: update gitignore

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* fix(trigger): install right trigger.dev dep

---------

Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>
Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local>
Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* fix: merge typo

* fix: tailwind font config

* fix(indexer): trust proxy

* feat: token issuance trigger part 2 (#321)

* chore(alchemy): use gcloud endpoint

* docs(alchemy): update readme file

* docs(indexer): update readme file

* debug(indexer): gcloud automated deployment

* chore(alchemy): env values validation

* chore(indexer): improve logging

* chore(indexer): improve logging

* chore(indexer): stringify all logs

* debug(indexer): disable alchemy signature validation

* debug(indexer): disable alchemy signature validation

* chore(indexer): validate env and use trigger secret

* debug(faucet): save dist/ empty folder in git

* chore: update deps

* chore: improve env validations

* fix(alchemy): wrong import

* chore(indexer): improve logging

* debug(indexer): alchemy webhook handler

* debug(indexer): disable helmet

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* feat(indexer): alchemy signature middleware

* feat(indexer): validate alchemy signature

* chore(indexer): security improvements (#323)

* chore(indexer): disable alchemy validation

* feat: presale token issuance part 3 (#325)

* chore(alchemy): export types

* chore(indexer): log process event id

* chore(indexer): log process event id

* chore: prod network conig, validate networks

* wip(indexer): validate before triggering

* chore: add try catch

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: clean up

* devops(indexer): update dockerfile

* chore: format code

* devops: remove lhci reports

* fix(indexer): wrong import

* feat(trigger): transfer blpl token (#327)

* feat(trigger): transfer blpl token

* docs(trigger): token issuance jsdocs

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* devops(indexer): update dockerfile

* chore: remove type:module (#329)

* chore: remove type:module

* chore: remove type:module

* devops(indexer): test deployment

* devops(indexer): test deployment

* chore(supabase): use module

* feat(trigger): presale token issuance

* chore: format

* chore: use type:module for monorepo

* impr(webapp): add multibase provider (#326)

* config: create multibase provider

* chore: update multibase env variable

* impr(webapp): UI Update (#314)

* (wepapp)impr:landing distribution + filenames

* (wepapp)impr:auction card badge

* (wepapp)impr:steps pading + new text-size

* (wepapp)impr:text-size

* (wepapp)impr:refactored about us section

* (wepapp)impr:new tittles learning section

* (wepapp)impr:security section

* (wepapp)impr:tittle style and fonts

* (wepapp)impr:responsive impr

* fix:about section text-18 instead of text-sm

* fix:security responsive

* fix:hero padding

* fix:Final Mobil Tweaks

* impr(webapp): landing heros + mob-nav spacing

* impr(webapp): landing learn section updated blog links

* fix(webapp): info text foreground color

* impr(webapp): landing responsiveness

* imp(webapp): 3 steps needed responsiveness

* chore(webapp): rm duplicate component

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* feat: security updates (#331)

* feat(indexer): validate right usdt,usdc address

* feat(indexer): wait for finality and trx log

* fix(indexer): wrong import

* chore(indexer): fix build

* chore(webapp): format

* feat(webapp): bitlauncher blog category + blog tweaks (#324)

* wip: static blog files upt

* fix(webapp): blog article file gen + article ui tweaks

* chore(webapp): app ver upt + cms gen script

* docs: upt cms-ql.sh

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* impr(webapp): upt /services/datocms/datocms-blog.service.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* impr(webapp): upt /services/datocms/datocms-blog.service.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix(webapp): app build, missing file

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: format files

* fix(webapp): cached files error catch

* impr(webapp): static blog file error catch

* fix(webapp): static cached file chk

* feat: supabase schema and webapp updates  (#335)

* feat(indexer): add address registration validation

* feat: update database schema to support presales

* feat: repo/tokens (#336)

* chore: update repo packages (#338)

* feat: stable coin selector

* feat: presale ux ui

* chore: repo/contracts pkg

* chore: repo/utils pkg

* chore: repo/tsconfig pkg

* chore: repo/alchemy pkg

* chore: repo/jobs pkg

* chore: repo/supabase pkg

* docs: update readme

* chore: update bunlock

* chore(indexer): alchemy webhook

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* chore(alchemy): invert ternary

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* chore: not nullable values, format code

* chore: update node:crypto

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat(indexer): alchemy signature validation

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: fix build (#339)

* feat: validate user registration on event proxy (#340)

* chore: fix imports

* feat(indexer): validate user is registered

* feat: add presale deposit checks (#341)

* feat(indexer): is registered address

* feat(indexer): validate amount and timing

* wip(webapp): update project, presale and auction pages

* chore(webapp): improve error handling

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat: realtime presale data (#342)

* feat: real time presale data

* feat: real time presale data

* fix(webapp): header margin (#343)

* webapp:fix margin top

* webapp:add header tag

* webapp:fix margin top

* webapp:add md top

* webapp:add md top

* webapp:fix project tittle + pills responsive

* chore: august 3rd release [pre-prod] (#334)

* impr(webapp): upt mob ver of more info cards (#294)

* styles: update mobile version for information cards of home page

* styles: use tailwind css variables

* styles: add font family futura pt

* styles, config: add cornflowerblue variables on tailwind config and update information cards' background

* config: update font importation

* chore: replace BC with BL

* chore: replace bc files with bl files

* chore: replace bc files with bl files

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* fix(impr): verify font-style and text wording across landing (#309)

* fix(impr): verify font-style across landing

* fix(webapp): lufga bold font config

* fix(webapp): investor wording to contributor on texts

* fix(webapp): investors wording to contributors on texts (plural)

* chore(webapp): text, invest wording upt to contribute

* config: add multibase custom hook (#310)

* config: add multibase custom hook

* chore: update multibase hook and session hook

* chore: change inverted params

* impr(fix): multibase init call

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* feat: referral section ui - ver 0.1a (#311)

* chore(webapp): update gitignore

* chore: update cursor agent rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* feat(webapp): use dynamic loading in homepage (#313)

* feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312)

* feat: alchemy transfer hooks

* feat(trigger): listen token transfers

* feat(app-lib): add pino logger

* feat(trigger): address activity handler

* feat(indexer): security updates and alchemy proxy

* fix(webapp): logger bug

* chore(indexer): sentry middleware and app config

* chore(indexer): cleanup

* chore: update bunlock

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* feat(indexer): trigger address activity job (#316)

* impr(webapp): check short link gen (#301)

* fix(webapp): desktop padding

* wip(imp): check user share link

* fix(webapp): error var name scope

* chore: updating supabase schema & types

* feat(webapp): user table short link + session upsert

* chore: use biome 🚀 (#317)

* chore: use biome

* chore: use biome

* chore(indexer): verify call with alchemy signing key (#318)

* devops(indexer): update dockerfile

* chore(indexer): cleanup

* chore: update gitignore

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* fix(trigger): install right trigger.dev dep

* fix(indexer): trust proxy

* feat: token issuance trigger part 2 (#321)

* chore(alchemy): use gcloud endpoint

* docs(alchemy): update readme file

* docs(indexer): update readme file

* debug(indexer): gcloud automated deployment

* chore(alchemy): env values validation

* chore(indexer): improve logging

* chore(indexer): improve logging

* chore(indexer): stringify all logs

* debug(indexer): disable alchemy signature validation

* debug(indexer): disable alchemy signature validation

* chore(indexer): validate env and use trigger secret

* debug(faucet): save dist/ empty folder in git

* chore: update deps

* chore: improve env validations

* fix(alchemy): wrong import

* chore(indexer): improve logging

* debug(indexer): alchemy webhook handler

* debug(indexer): disable helmet

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* feat(indexer): alchemy signature middleware

* feat(indexer): validate alchemy signature

* chore(indexer): security improvements (#323)

* chore(indexer): disable alchemy validation

* feat: presale token issuance part 3 (#325)

* chore(alchemy): export types

* chore(indexer): log process event id

* chore(indexer): log process event id

* chore: prod network conig, validate networks

* wip(indexer): validate before triggering

* chore: add try catch

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: clean up

* devops(indexer): update dockerfile

* chore: format code

* devops: remove lhci reports

* fix(indexer): wrong import

* feat(trigger): transfer blpl token (#327)

* feat(trigger): transfer blpl token

* docs(trigger): token issuance jsdocs

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* devops(indexer): update dockerfile

* chore: remove type:module (#329)

* chore: remove type:module

* chore: remove type:module

* devops(indexer): test deployment

* devops(indexer): test deployment

* chore(supabase): use module

* feat(trigger): presale token issuance

* chore: format

* chore: use type:module for monorepo

* impr(webapp): add multibase provider (#326)

* config: create multibase provider

* chore: update multibase env variable

* impr(webapp): UI Update (#314)

* (wepapp)impr:landing distribution + filenames

* (wepapp)impr:auction card badge

* (wepapp)impr:steps pading + new text-size

* (wepapp)impr:text-size

* (wepapp)impr:refactored about us section

* (wepapp)impr:new tittles learning section

* (wepapp)impr:security section

* (wepapp)impr:tittle style and fonts

* (wepapp)impr:responsive impr

* fix:about section text-18 instead of text-sm

* fix:security responsive

* fix:hero padding

* fix:Final Mobil Tweaks

* impr(webapp): landing heros + mob-nav spacing

* impr(webapp): landing learn section updated blog links

* fix(webapp): info text foreground color

* impr(webapp): landing responsiveness

* imp(webapp): 3 steps needed responsiveness

* chore(webapp): rm duplicate component

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* feat: security updates (#331)

* feat(indexer): validate right usdt,usdc address

* feat(indexer): wait for finality and trx log

* fix(indexer): wrong import

* chore(indexer): fix build

* chore(webapp): format

* feat(webapp): bitlauncher blog category + blog tweaks (#324)

* wip: static blog files upt

* fix(webapp): blog article file gen + article ui tweaks

* chore(webapp): app ver upt + cms gen script

* docs: upt cms-ql.sh

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* impr(webapp): upt /services/datocms/datocms-blog.service.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* impr(webapp): upt /services/datocms/datocms-blog.service.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix(webapp): app build, missing file

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: format files

* fix(webapp): cached files error catch

* impr(webapp): static blog file error catch

* fix(webapp): static cached file chk

* feat: supabase schema and webapp updates  (#335)

* feat(indexer): add address registration validation

* feat: update database schema to support presales

* feat: repo/tokens (#336)

* chore: update repo packages (#338)

* feat: stable coin selector

* feat: presale ux ui

* chore: repo/contracts pkg

* chore: repo/utils pkg

* chore: repo/tsconfig pkg

* chore: repo/alchemy pkg

* chore: repo/jobs pkg

* chore: repo/supabase pkg

* docs: update readme

* chore: update bunlock

* chore(indexer): alchemy webhook

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* chore(alchemy): invert ternary

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* chore: not nullable values, format code

* chore: update node:crypto

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat(indexer): alchemy signature validation

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: fix build (#339)

* feat: validate user registration on event proxy (#340)

* chore: fix imports

* feat(indexer): validate user is registered

* feat: add presale deposit checks (#341)

* feat(indexer): is registered address

* feat(indexer): validate amount and timing

* wip(webapp): update project, presale and auction pages

* chore(webapp): improve error handling

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat: realtime presale data (#342)

* feat: real time presale data

* feat: real time presale data

* fix(webapp): header margin (#343)

* webapp:fix margin top

* webapp:add header tag

* webapp:fix margin top

* webapp:add md top

* webapp:add md top

* webapp:fix project tittle + pills responsive

---------

Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>
Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local>
Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>

* chore(fix): update apps/trigger package.json dep

* fix: cms gen merged files + use-session table upt + trigger/tsconfig upt

* fix: registration logic and indexer checks (#347)

* feat(indexer): check if address already bought

* fix(webapp): registration logic

* chore: update bunlock

* fix(webapp): arrow icon

* fix(webapp): arrow icon

* feat: upsert accounts table on login

* fix(webapp): move accounts to session hook

* feat: webapp/hotfix bl project status tag (#348)

* fix(webapp): tablet/small-screen header breakpoint

* impr(webapp): project page hero + blog links upt

* fix(webapp): project badge text upt

---------

Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com>
Co-authored-by: Nathanael Liu <supernathanliu@gmail.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>
Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
AndlerRL added a commit that referenced this pull request Aug 28, 2024
* chore: add @types/uuid

* chore: add @types/uuid

* fix(app-lib): tsconfig pkg extends

* fix: missing encoding dep

* feat: sitemap (#290)

* feat: add sitemap

* fix: error handling

* fix: move common types

* fix: update base url in sitemap

* Update apps/webapp/app/(routes)/[lang]/blog/[category]/sitemap.ts

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* Update apps/webapp/app/(routes)/[lang]/wallet/sitemap.ts

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* Update apps/webapp/app/(routes)/[lang]/whitepaper/sitemap.ts

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* fix: build error

* fix: remove unnecessary async declarative

* vendor: add @types/uuid

* fix: remove console log for debug

* fix: add 'async' to all sitemaps

* fix: make ProjectPageParams extends CommonPageParams

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* fix(webapp): UI/UX tweaks and upts from final v1 landing designs (#291)

* (webapp)fix:FAQ border radi + muted color

* (webapp)fix:newsletter spacing

* (webapp)fix:participate spacing and font family

* (webapp)fix:header spacing + bitlauncher logo size

* (webapp)fix:blog section 4 per row + purple link + gap

* (webapp)fix:hero-card spacing

* (webapp)fix:auction-card spaces

* (webapp)fix:Upcoming grid gap

* (webapp)fix:article card - text-left

* (webapp)fix:media-card text-start

* (webapp)fix:media-section purple link + space

* (webapp)fix:participate gap + section font and padding

* (webapp)fix:footer links padding + other spacing fix

* (webapp)fix:upcoming background circle

* (webapp)fix:footer margin-10

* (webapp)fix:upcoming bg shape

* (webapp)-andler-changes-request

* (webapp)-debug-toggle navigation icon

* (webapp)-create-mobile-navigation-context

* (webapp)-create-mobile-navigation-context

* (webapp)-fix navigation bug - add key

* (webapp)-Andler-changes

* (webapp)-responsive - upcoming

* (webapp)-fix-responsive-whychooseUs

* (webapp)-fix-responsive-participate

* (webapp)-fix-responsive-media

* (webapp)-fix-responsive-articles

* (webapp)-responsive-project-header+info+sharebtn

* (webapp)-feat-about-base

* (webapp)-feat-about-landing-complete

* (webapp)-feat-security-updated

* (webapp)-fix-steps-padding

* fix typo

* fix bgHeader type

* fix bgHeader type

* impr(webapp): layout tweaks

* impr(webapp): info pages img asset + css class

* fix: bun.lockb

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* feat: multichain indexer ( part 1 ) (#293)

* chore: update app-contracts

* feat: multichain indexer

* feat: prod chains

* feat: presale wallet

* feat: blpl token

* feat: blpl token

* chore: update bunlock

* feat: blpl token

* feat: presale evm contribs

* feat: blpl token

* wip: presale indexer

* chore(indexer): fix dockerfile

* feat: presale transaction indexing (#296)

* feat: report transaction id

* feat: save deposits data

* feat: save deposits data

* feat: read presale transactions

* chore: disable view all

* feat: update presale deposits ui

* feat: display amount raised and contributors

* chore: environment chains and tokens

* fix(webapp): desktop padding (#297)

* feat: multichain presale deposits (#298)

* chore: environment chains and tokens

* fix: chain switch

* fix: chain switch

* feat: update nav links (#299)

* chore: environment chains and tokens

* feat: update nav links

* chore: renable swaps service, index token from latest block

* feat(webapp): wallet ui updates (#300)

* fix: wagmi config

* feat(webapp): presale contribution report

* feat: realtime presale data

* feat: realtime presale data

* feat: update dropdown menu

* feat(supabase): update schema and types

* chore: debug presale token issuance

* feat: show issuance trx link on table

* impr(webapp): upt mob ver of more info cards (#294)

* styles: update mobile version for information cards of home page

* styles: use tailwind css variables

* styles: add font family futura pt

* styles, config: add cornflowerblue variables on tailwind config and update information cards' background

* config: update font importation

* chore: replace BC with BL

* chore: replace bc files with bl files

* chore: replace bc files with bl files

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* impr(webapp): upt mob ver of more info cards (#294) (#305)

* styles: update mobile version for information cards of home page

* styles: use tailwind css variables

* styles: add font family futura pt

* styles, config: add cornflowerblue variables on tailwind config and update information cards' background

* config: update font importation

* chore: replace BC with BL

* chore: replace bc files with bl files

* chore: replace bc files with bl files

---------

Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>

* fix(impr): verify font-style and text wording across landing (#309)

* fix(impr): verify font-style across landing

* fix(webapp): lufga bold font config

* fix(webapp): investor wording to contributor on texts

* fix(webapp): investors wording to contributors on texts (plural)

* chore(webapp): text, invest wording upt to contribute

* config: add multibase custom hook (#310)

* config: add multibase custom hook

* chore: update multibase hook and session hook

* chore: change inverted params

* impr(fix): multibase init call

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* feat: referral section ui - ver 0.1a (#311)

* chore(webapp): update gitignore

* chore: update cursor agent rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* feat(webapp): use dynamic loading in homepage (#313)

* feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312)

* feat: alchemy transfer hooks

* feat(trigger): listen token transfers

* feat(app-lib): add pino logger

* feat(trigger): address activity handler

* feat(indexer): security updates and alchemy proxy

* fix(webapp): logger bug

* chore(indexer): sentry middleware and app config

* chore(indexer): cleanup

* chore: update bunlock

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* feat(indexer): trigger address activity job (#316)

* impr(webapp): check short link gen (#301)

* fix(webapp): desktop padding

* wip(imp): check user share link

* fix(webapp): error var name scope

* chore: updating supabase schema & types

* feat(webapp): user table short link + session upsert

* chore: use biome 🚀 (#317)

* chore: use biome

* chore: use biome

* chore(indexer): verify call with alchemy signing key (#318)

* devops(indexer): update dockerfile

* chore(indexer): cleanup

* chore: update gitignore

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* fix(trigger): install right trigger.dev dep

* chore: august 2nd release [at TEST]  (#315)

* impr(webapp): upt mob ver of more info cards (#294)

* styles: update mobile version for information cards of home page

* styles: use tailwind css variables

* styles: add font family futura pt

* styles, config: add cornflowerblue variables on tailwind config and update information cards' background

* config: update font importation

* chore: replace BC with BL

* chore: replace bc files with bl files

* chore: replace bc files with bl files

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* fix(impr): verify font-style and text wording across landing (#309)

* fix(impr): verify font-style across landing

* fix(webapp): lufga bold font config

* fix(webapp): investor wording to contributor on texts

* fix(webapp): investors wording to contributors on texts (plural)

* chore(webapp): text, invest wording upt to contribute

* config: add multibase custom hook (#310)

* config: add multibase custom hook

* chore: update multibase hook and session hook

* chore: change inverted params

* impr(fix): multibase init call

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* feat: referral section ui - ver 0.1a (#311)

* chore(webapp): update gitignore

* chore: update cursor agent rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* feat(webapp): use dynamic loading in homepage (#313)

* feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312)

* feat: alchemy transfer hooks

* feat(trigger): listen token transfers

* feat(app-lib): add pino logger

* feat(trigger): address activity handler

* feat(indexer): security updates and alchemy proxy

* fix(webapp): logger bug

* chore(indexer): sentry middleware and app config

* chore(indexer): cleanup

* chore: update bunlock

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* feat(indexer): trigger address activity job (#316)

* impr(webapp): check short link gen (#301)

* fix(webapp): desktop padding

* wip(imp): check user share link

* fix(webapp): error var name scope

* chore: updating supabase schema & types

* feat(webapp): user table short link + session upsert

* chore: use biome 🚀 (#317)

* chore: use biome

* chore: use biome

* chore(indexer): verify call with alchemy signing key (#318)

* devops(indexer): update dockerfile

* chore(indexer): cleanup

* chore: update gitignore

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* fix(trigger): install right trigger.dev dep

---------

Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>
Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local>
Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* fix: merge typo

* fix: tailwind font config

* fix(indexer): trust proxy

* feat: token issuance trigger part 2 (#321)

* chore(alchemy): use gcloud endpoint

* docs(alchemy): update readme file

* docs(indexer): update readme file

* debug(indexer): gcloud automated deployment

* chore(alchemy): env values validation

* chore(indexer): improve logging

* chore(indexer): improve logging

* chore(indexer): stringify all logs

* debug(indexer): disable alchemy signature validation

* debug(indexer): disable alchemy signature validation

* chore(indexer): validate env and use trigger secret

* debug(faucet): save dist/ empty folder in git

* chore: update deps

* chore: improve env validations

* fix(alchemy): wrong import

* chore(indexer): improve logging

* debug(indexer): alchemy webhook handler

* debug(indexer): disable helmet

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* feat(indexer): alchemy signature middleware

* feat(indexer): validate alchemy signature

* chore(indexer): security improvements (#323)

* chore(indexer): disable alchemy validation

* feat: presale token issuance part 3 (#325)

* chore(alchemy): export types

* chore(indexer): log process event id

* chore(indexer): log process event id

* chore: prod network conig, validate networks

* wip(indexer): validate before triggering

* chore: add try catch

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: clean up

* devops(indexer): update dockerfile

* chore: format code

* devops: remove lhci reports

* fix(indexer): wrong import

* feat(trigger): transfer blpl token (#327)

* feat(trigger): transfer blpl token

* docs(trigger): token issuance jsdocs

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* devops(indexer): update dockerfile

* chore: remove type:module (#329)

* chore: remove type:module

* chore: remove type:module

* devops(indexer): test deployment

* devops(indexer): test deployment

* chore(supabase): use module

* feat(trigger): presale token issuance

* chore: format

* chore: use type:module for monorepo

* impr(webapp): add multibase provider (#326)

* config: create multibase provider

* chore: update multibase env variable

* impr(webapp): UI Update (#314)

* (wepapp)impr:landing distribution + filenames

* (wepapp)impr:auction card badge

* (wepapp)impr:steps pading + new text-size

* (wepapp)impr:text-size

* (wepapp)impr:refactored about us section

* (wepapp)impr:new tittles learning section

* (wepapp)impr:security section

* (wepapp)impr:tittle style and fonts

* (wepapp)impr:responsive impr

* fix:about section text-18 instead of text-sm

* fix:security responsive

* fix:hero padding

* fix:Final Mobil Tweaks

* impr(webapp): landing heros + mob-nav spacing

* impr(webapp): landing learn section updated blog links

* fix(webapp): info text foreground color

* impr(webapp): landing responsiveness

* imp(webapp): 3 steps needed responsiveness

* chore(webapp): rm duplicate component

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* feat: security updates (#331)

* feat(indexer): validate right usdt,usdc address

* feat(indexer): wait for finality and trx log

* fix(indexer): wrong import

* chore(indexer): fix build

* chore(webapp): format

* feat(webapp): bitlauncher blog category + blog tweaks (#324)

* wip: static blog files upt

* fix(webapp): blog article file gen + article ui tweaks

* chore(webapp): app ver upt + cms gen script

* docs: upt cms-ql.sh

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* impr(webapp): upt /services/datocms/datocms-blog.service.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* impr(webapp): upt /services/datocms/datocms-blog.service.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix(webapp): app build, missing file

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: format files

* fix(webapp): cached files error catch

* impr(webapp): static blog file error catch

* fix(webapp): static cached file chk

* feat: supabase schema and webapp updates  (#335)

* feat(indexer): add address registration validation

* feat: update database schema to support presales

* feat: repo/tokens (#336)

* chore: update repo packages (#338)

* feat: stable coin selector

* feat: presale ux ui

* chore: repo/contracts pkg

* chore: repo/utils pkg

* chore: repo/tsconfig pkg

* chore: repo/alchemy pkg

* chore: repo/jobs pkg

* chore: repo/supabase pkg

* docs: update readme

* chore: update bunlock

* chore(indexer): alchemy webhook

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* chore(alchemy): invert ternary

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* chore: not nullable values, format code

* chore: update node:crypto

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat(indexer): alchemy signature validation

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: fix build (#339)

* feat: validate user registration on event proxy (#340)

* chore: fix imports

* feat(indexer): validate user is registered

* feat: add presale deposit checks (#341)

* feat(indexer): is registered address

* feat(indexer): validate amount and timing

* wip(webapp): update project, presale and auction pages

* chore(webapp): improve error handling

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat: realtime presale data (#342)

* feat: real time presale data

* feat: real time presale data

* fix(webapp): header margin (#343)

* webapp:fix margin top

* webapp:add header tag

* webapp:fix margin top

* webapp:add md top

* webapp:add md top

* webapp:fix project tittle + pills responsive

* chore: august 3rd release [pre-prod] (#334)

* impr(webapp): upt mob ver of more info cards (#294)

* styles: update mobile version for information cards of home page

* styles: use tailwind css variables

* styles: add font family futura pt

* styles, config: add cornflowerblue variables on tailwind config and update information cards' background

* config: update font importation

* chore: replace BC with BL

* chore: replace bc files with bl files

* chore: replace bc files with bl files

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* fix(impr): verify font-style and text wording across landing (#309)

* fix(impr): verify font-style across landing

* fix(webapp): lufga bold font config

* fix(webapp): investor wording to contributor on texts

* fix(webapp): investors wording to contributors on texts (plural)

* chore(webapp): text, invest wording upt to contribute

* config: add multibase custom hook (#310)

* config: add multibase custom hook

* chore: update multibase hook and session hook

* chore: change inverted params

* impr(fix): multibase init call

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* feat: referral section ui - ver 0.1a (#311)

* chore(webapp): update gitignore

* chore: update cursor agent rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* feat(webapp): use dynamic loading in homepage (#313)

* feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312)

* feat: alchemy transfer hooks

* feat(trigger): listen token transfers

* feat(app-lib): add pino logger

* feat(trigger): address activity handler

* feat(indexer): security updates and alchemy proxy

* fix(webapp): logger bug

* chore(indexer): sentry middleware and app config

* chore(indexer): cleanup

* chore: update bunlock

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* feat(indexer): trigger address activity job (#316)

* impr(webapp): check short link gen (#301)

* fix(webapp): desktop padding

* wip(imp): check user share link

* fix(webapp): error var name scope

* chore: updating supabase schema & types

* feat(webapp): user table short link + session upsert

* chore: use biome 🚀 (#317)

* chore: use biome

* chore: use biome

* chore(indexer): verify call with alchemy signing key (#318)

* devops(indexer): update dockerfile

* chore(indexer): cleanup

* chore: update gitignore

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* fix(trigger): install right trigger.dev dep

* fix(indexer): trust proxy

* feat: token issuance trigger part 2 (#321)

* chore(alchemy): use gcloud endpoint

* docs(alchemy): update readme file

* docs(indexer): update readme file

* debug(indexer): gcloud automated deployment

* chore(alchemy): env values validation

* chore(indexer): improve logging

* chore(indexer): improve logging

* chore(indexer): stringify all logs

* debug(indexer): disable alchemy signature validation

* debug(indexer): disable alchemy signature validation

* chore(indexer): validate env and use trigger secret

* debug(faucet): save dist/ empty folder in git

* chore: update deps

* chore: improve env validations

* fix(alchemy): wrong import

* chore(indexer): improve logging

* debug(indexer): alchemy webhook handler

* debug(indexer): disable helmet

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* feat(indexer): alchemy signature middleware

* feat(indexer): validate alchemy signature

* chore(indexer): security improvements (#323)

* chore(indexer): disable alchemy validation

* feat: presale token issuance part 3 (#325)

* chore(alchemy): export types

* chore(indexer): log process event id

* chore(indexer): log process event id

* chore: prod network conig, validate networks

* wip(indexer): validate before triggering

* chore: add try catch

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: clean up

* devops(indexer): update dockerfile

* chore: format code

* devops: remove lhci reports

* fix(indexer): wrong import

* feat(trigger): transfer blpl token (#327)

* feat(trigger): transfer blpl token

* docs(trigger): token issuance jsdocs

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* devops(indexer): update dockerfile

* chore: remove type:module (#329)

* chore: remove type:module

* chore: remove type:module

* devops(indexer): test deployment

* devops(indexer): test deployment

* chore(supabase): use module

* feat(trigger): presale token issuance

* chore: format

* chore: use type:module for monorepo

* impr(webapp): add multibase provider (#326)

* config: create multibase provider

* chore: update multibase env variable

* impr(webapp): UI Update (#314)

* (wepapp)impr:landing distribution + filenames

* (wepapp)impr:auction card badge

* (wepapp)impr:steps pading + new text-size

* (wepapp)impr:text-size

* (wepapp)impr:refactored about us section

* (wepapp)impr:new tittles learning section

* (wepapp)impr:security section

* (wepapp)impr:tittle style and fonts

* (wepapp)impr:responsive impr

* fix:about section text-18 instead of text-sm

* fix:security responsive

* fix:hero padding

* fix:Final Mobil Tweaks

* impr(webapp): landing heros + mob-nav spacing

* impr(webapp): landing learn section updated blog links

* fix(webapp): info text foreground color

* impr(webapp): landing responsiveness

* imp(webapp): 3 steps needed responsiveness

* chore(webapp): rm duplicate component

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* feat: security updates (#331)

* feat(indexer): validate right usdt,usdc address

* feat(indexer): wait for finality and trx log

* fix(indexer): wrong import

* chore(indexer): fix build

* chore(webapp): format

* feat(webapp): bitlauncher blog category + blog tweaks (#324)

* wip: static blog files upt

* fix(webapp): blog article file gen + article ui tweaks

* chore(webapp): app ver upt + cms gen script

* docs: upt cms-ql.sh

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* impr(webapp): upt /services/datocms/datocms-blog.service.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* impr(webapp): upt /services/datocms/datocms-blog.service.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix(webapp): app build, missing file

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: format files

* fix(webapp): cached files error catch

* impr(webapp): static blog file error catch

* fix(webapp): static cached file chk

* feat: supabase schema and webapp updates  (#335)

* feat(indexer): add address registration validation

* feat: update database schema to support presales

* feat: repo/tokens (#336)

* chore: update repo packages (#338)

* feat: stable coin selector

* feat: presale ux ui

* chore: repo/contracts pkg

* chore: repo/utils pkg

* chore: repo/tsconfig pkg

* chore: repo/alchemy pkg

* chore: repo/jobs pkg

* chore: repo/supabase pkg

* docs: update readme

* chore: update bunlock

* chore(indexer): alchemy webhook

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* chore(alchemy): invert ternary

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* chore: not nullable values, format code

* chore: update node:crypto

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat(indexer): alchemy signature validation

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: fix build (#339)

* feat: validate user registration on event proxy (#340)

* chore: fix imports

* feat(indexer): validate user is registered

* feat: add presale deposit checks (#341)

* feat(indexer): is registered address

* feat(indexer): validate amount and timing

* wip(webapp): update project, presale and auction pages

* chore(webapp): improve error handling

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat: realtime presale data (#342)

* feat: real time presale data

* feat: real time presale data

* fix(webapp): header margin (#343)

* webapp:fix margin top

* webapp:add header tag

* webapp:fix margin top

* webapp:add md top

* webapp:add md top

* webapp:fix project tittle + pills responsive

---------

Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>
Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local>
Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>

* chore(fix): update apps/trigger package.json dep

* fix: cms gen merged files + use-session table upt + trigger/tsconfig upt

* fix: registration logic and indexer checks (#347)

* feat(indexer): check if address already bought

* fix(webapp): registration logic

* chore: update bunlock

* fix(webapp): arrow icon

* fix(webapp): arrow icon

* feat: upsert accounts table on login

* fix(webapp): move accounts to session hook

* feat: webapp/hotfix bl project status tag (#348)

* fix(webapp): tablet/small-screen header breakpoint

* impr(webapp): project page hero + blog links upt

* fix(webapp): project badge text upt

* content(webapp): token sale date tbd

* fix(webapp): hero title size (#350)

* fix(webapp): hero title size

* impr(webapp): share link toaster msg

* chore: presale hardcoded txt tweak

---------

Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com>
Co-authored-by: Nathanael Liu <supernathanliu@gmail.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>
Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
AndlerRL added a commit that referenced this pull request Aug 29, 2024
… upt (#353)

* chore: add @types/uuid

* chore: add @types/uuid

* fix(app-lib): tsconfig pkg extends

* fix: missing encoding dep

* feat: sitemap (#290)

* feat: add sitemap

* fix: error handling

* fix: move common types

* fix: update base url in sitemap

* Update apps/webapp/app/(routes)/[lang]/blog/[category]/sitemap.ts

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* Update apps/webapp/app/(routes)/[lang]/wallet/sitemap.ts

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* Update apps/webapp/app/(routes)/[lang]/whitepaper/sitemap.ts

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* fix: build error

* fix: remove unnecessary async declarative

* vendor: add @types/uuid

* fix: remove console log for debug

* fix: add 'async' to all sitemaps

* fix: make ProjectPageParams extends CommonPageParams

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* fix(webapp): UI/UX tweaks and upts from final v1 landing designs (#291)

* (webapp)fix:FAQ border radi + muted color

* (webapp)fix:newsletter spacing

* (webapp)fix:participate spacing and font family

* (webapp)fix:header spacing + bitlauncher logo size

* (webapp)fix:blog section 4 per row + purple link + gap

* (webapp)fix:hero-card spacing

* (webapp)fix:auction-card spaces

* (webapp)fix:Upcoming grid gap

* (webapp)fix:article card - text-left

* (webapp)fix:media-card text-start

* (webapp)fix:media-section purple link + space

* (webapp)fix:participate gap + section font and padding

* (webapp)fix:footer links padding + other spacing fix

* (webapp)fix:upcoming background circle

* (webapp)fix:footer margin-10

* (webapp)fix:upcoming bg shape

* (webapp)-andler-changes-request

* (webapp)-debug-toggle navigation icon

* (webapp)-create-mobile-navigation-context

* (webapp)-create-mobile-navigation-context

* (webapp)-fix navigation bug - add key

* (webapp)-Andler-changes

* (webapp)-responsive - upcoming

* (webapp)-fix-responsive-whychooseUs

* (webapp)-fix-responsive-participate

* (webapp)-fix-responsive-media

* (webapp)-fix-responsive-articles

* (webapp)-responsive-project-header+info+sharebtn

* (webapp)-feat-about-base

* (webapp)-feat-about-landing-complete

* (webapp)-feat-security-updated

* (webapp)-fix-steps-padding

* fix typo

* fix bgHeader type

* fix bgHeader type

* impr(webapp): layout tweaks

* impr(webapp): info pages img asset + css class

* fix: bun.lockb

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* feat: multichain indexer ( part 1 ) (#293)

* chore: update app-contracts

* feat: multichain indexer

* feat: prod chains

* feat: presale wallet

* feat: blpl token

* feat: blpl token

* chore: update bunlock

* feat: blpl token

* feat: presale evm contribs

* feat: blpl token

* wip: presale indexer

* chore(indexer): fix dockerfile

* feat: presale transaction indexing (#296)

* feat: report transaction id

* feat: save deposits data

* feat: save deposits data

* feat: read presale transactions

* chore: disable view all

* feat: update presale deposits ui

* feat: display amount raised and contributors

* chore: environment chains and tokens

* fix(webapp): desktop padding (#297)

* feat: multichain presale deposits (#298)

* chore: environment chains and tokens

* fix: chain switch

* fix: chain switch

* feat: update nav links (#299)

* chore: environment chains and tokens

* feat: update nav links

* chore: renable swaps service, index token from latest block

* feat(webapp): wallet ui updates (#300)

* fix: wagmi config

* feat(webapp): presale contribution report

* feat: realtime presale data

* feat: realtime presale data

* feat: update dropdown menu

* feat(supabase): update schema and types

* chore: debug presale token issuance

* feat: show issuance trx link on table

* impr(webapp): upt mob ver of more info cards (#294)

* styles: update mobile version for information cards of home page

* styles: use tailwind css variables

* styles: add font family futura pt

* styles, config: add cornflowerblue variables on tailwind config and update information cards' background

* config: update font importation

* chore: replace BC with BL

* chore: replace bc files with bl files

* chore: replace bc files with bl files

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* impr(webapp): upt mob ver of more info cards (#294) (#305)

* styles: update mobile version for information cards of home page

* styles: use tailwind css variables

* styles: add font family futura pt

* styles, config: add cornflowerblue variables on tailwind config and update information cards' background

* config: update font importation

* chore: replace BC with BL

* chore: replace bc files with bl files

* chore: replace bc files with bl files

---------

Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>

* fix(impr): verify font-style and text wording across landing (#309)

* fix(impr): verify font-style across landing

* fix(webapp): lufga bold font config

* fix(webapp): investor wording to contributor on texts

* fix(webapp): investors wording to contributors on texts (plural)

* chore(webapp): text, invest wording upt to contribute

* config: add multibase custom hook (#310)

* config: add multibase custom hook

* chore: update multibase hook and session hook

* chore: change inverted params

* impr(fix): multibase init call

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* feat: referral section ui - ver 0.1a (#311)

* chore(webapp): update gitignore

* chore: update cursor agent rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* feat(webapp): use dynamic loading in homepage (#313)

* feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312)

* feat: alchemy transfer hooks

* feat(trigger): listen token transfers

* feat(app-lib): add pino logger

* feat(trigger): address activity handler

* feat(indexer): security updates and alchemy proxy

* fix(webapp): logger bug

* chore(indexer): sentry middleware and app config

* chore(indexer): cleanup

* chore: update bunlock

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* feat(indexer): trigger address activity job (#316)

* impr(webapp): check short link gen (#301)

* fix(webapp): desktop padding

* wip(imp): check user share link

* fix(webapp): error var name scope

* chore: updating supabase schema & types

* feat(webapp): user table short link + session upsert

* chore: use biome 🚀 (#317)

* chore: use biome

* chore: use biome

* chore(indexer): verify call with alchemy signing key (#318)

* devops(indexer): update dockerfile

* chore(indexer): cleanup

* chore: update gitignore

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* fix(trigger): install right trigger.dev dep

* chore: august 2nd release [at TEST]  (#315)

* impr(webapp): upt mob ver of more info cards (#294)

* styles: update mobile version for information cards of home page

* styles: use tailwind css variables

* styles: add font family futura pt

* styles, config: add cornflowerblue variables on tailwind config and update information cards' background

* config: update font importation

* chore: replace BC with BL

* chore: replace bc files with bl files

* chore: replace bc files with bl files

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* fix(impr): verify font-style and text wording across landing (#309)

* fix(impr): verify font-style across landing

* fix(webapp): lufga bold font config

* fix(webapp): investor wording to contributor on texts

* fix(webapp): investors wording to contributors on texts (plural)

* chore(webapp): text, invest wording upt to contribute

* config: add multibase custom hook (#310)

* config: add multibase custom hook

* chore: update multibase hook and session hook

* chore: change inverted params

* impr(fix): multibase init call

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* feat: referral section ui - ver 0.1a (#311)

* chore(webapp): update gitignore

* chore: update cursor agent rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* feat(webapp): use dynamic loading in homepage (#313)

* feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312)

* feat: alchemy transfer hooks

* feat(trigger): listen token transfers

* feat(app-lib): add pino logger

* feat(trigger): address activity handler

* feat(indexer): security updates and alchemy proxy

* fix(webapp): logger bug

* chore(indexer): sentry middleware and app config

* chore(indexer): cleanup

* chore: update bunlock

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* feat(indexer): trigger address activity job (#316)

* impr(webapp): check short link gen (#301)

* fix(webapp): desktop padding

* wip(imp): check user share link

* fix(webapp): error var name scope

* chore: updating supabase schema & types

* feat(webapp): user table short link + session upsert

* chore: use biome 🚀 (#317)

* chore: use biome

* chore: use biome

* chore(indexer): verify call with alchemy signing key (#318)

* devops(indexer): update dockerfile

* chore(indexer): cleanup

* chore: update gitignore

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* fix(trigger): install right trigger.dev dep

---------

Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>
Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local>
Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* fix: merge typo

* fix: tailwind font config

* fix(indexer): trust proxy

* feat: token issuance trigger part 2 (#321)

* chore(alchemy): use gcloud endpoint

* docs(alchemy): update readme file

* docs(indexer): update readme file

* debug(indexer): gcloud automated deployment

* chore(alchemy): env values validation

* chore(indexer): improve logging

* chore(indexer): improve logging

* chore(indexer): stringify all logs

* debug(indexer): disable alchemy signature validation

* debug(indexer): disable alchemy signature validation

* chore(indexer): validate env and use trigger secret

* debug(faucet): save dist/ empty folder in git

* chore: update deps

* chore: improve env validations

* fix(alchemy): wrong import

* chore(indexer): improve logging

* debug(indexer): alchemy webhook handler

* debug(indexer): disable helmet

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* feat(indexer): alchemy signature middleware

* feat(indexer): validate alchemy signature

* chore(indexer): security improvements (#323)

* chore(indexer): disable alchemy validation

* feat: presale token issuance part 3 (#325)

* chore(alchemy): export types

* chore(indexer): log process event id

* chore(indexer): log process event id

* chore: prod network conig, validate networks

* wip(indexer): validate before triggering

* chore: add try catch

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: clean up

* devops(indexer): update dockerfile

* chore: format code

* devops: remove lhci reports

* fix(indexer): wrong import

* feat(trigger): transfer blpl token (#327)

* feat(trigger): transfer blpl token

* docs(trigger): token issuance jsdocs

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* devops(indexer): update dockerfile

* chore: remove type:module (#329)

* chore: remove type:module

* chore: remove type:module

* devops(indexer): test deployment

* devops(indexer): test deployment

* chore(supabase): use module

* feat(trigger): presale token issuance

* chore: format

* chore: use type:module for monorepo

* impr(webapp): add multibase provider (#326)

* config: create multibase provider

* chore: update multibase env variable

* impr(webapp): UI Update (#314)

* (wepapp)impr:landing distribution + filenames

* (wepapp)impr:auction card badge

* (wepapp)impr:steps pading + new text-size

* (wepapp)impr:text-size

* (wepapp)impr:refactored about us section

* (wepapp)impr:new tittles learning section

* (wepapp)impr:security section

* (wepapp)impr:tittle style and fonts

* (wepapp)impr:responsive impr

* fix:about section text-18 instead of text-sm

* fix:security responsive

* fix:hero padding

* fix:Final Mobil Tweaks

* impr(webapp): landing heros + mob-nav spacing

* impr(webapp): landing learn section updated blog links

* fix(webapp): info text foreground color

* impr(webapp): landing responsiveness

* imp(webapp): 3 steps needed responsiveness

* chore(webapp): rm duplicate component

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* feat: security updates (#331)

* feat(indexer): validate right usdt,usdc address

* feat(indexer): wait for finality and trx log

* fix(indexer): wrong import

* chore(indexer): fix build

* chore(webapp): format

* feat(webapp): bitlauncher blog category + blog tweaks (#324)

* wip: static blog files upt

* fix(webapp): blog article file gen + article ui tweaks

* chore(webapp): app ver upt + cms gen script

* docs: upt cms-ql.sh

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* impr(webapp): upt /services/datocms/datocms-blog.service.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* impr(webapp): upt /services/datocms/datocms-blog.service.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix(webapp): app build, missing file

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: format files

* fix(webapp): cached files error catch

* impr(webapp): static blog file error catch

* fix(webapp): static cached file chk

* feat: supabase schema and webapp updates  (#335)

* feat(indexer): add address registration validation

* feat: update database schema to support presales

* feat: repo/tokens (#336)

* chore: update repo packages (#338)

* feat: stable coin selector

* feat: presale ux ui

* chore: repo/contracts pkg

* chore: repo/utils pkg

* chore: repo/tsconfig pkg

* chore: repo/alchemy pkg

* chore: repo/jobs pkg

* chore: repo/supabase pkg

* docs: update readme

* chore: update bunlock

* chore(indexer): alchemy webhook

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* chore(alchemy): invert ternary

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* chore: not nullable values, format code

* chore: update node:crypto

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat(indexer): alchemy signature validation

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: fix build (#339)

* feat: validate user registration on event proxy (#340)

* chore: fix imports

* feat(indexer): validate user is registered

* feat: add presale deposit checks (#341)

* feat(indexer): is registered address

* feat(indexer): validate amount and timing

* wip(webapp): update project, presale and auction pages

* chore(webapp): improve error handling

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat: realtime presale data (#342)

* feat: real time presale data

* feat: real time presale data

* fix(webapp): header margin (#343)

* webapp:fix margin top

* webapp:add header tag

* webapp:fix margin top

* webapp:add md top

* webapp:add md top

* webapp:fix project tittle + pills responsive

* chore: august 3rd release [pre-prod] (#334)

* impr(webapp): upt mob ver of more info cards (#294)

* styles: update mobile version for information cards of home page

* styles: use tailwind css variables

* styles: add font family futura pt

* styles, config: add cornflowerblue variables on tailwind config and update information cards' background

* config: update font importation

* chore: replace BC with BL

* chore: replace bc files with bl files

* chore: replace bc files with bl files

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* fix(impr): verify font-style and text wording across landing (#309)

* fix(impr): verify font-style across landing

* fix(webapp): lufga bold font config

* fix(webapp): investor wording to contributor on texts

* fix(webapp): investors wording to contributors on texts (plural)

* chore(webapp): text, invest wording upt to contribute

* config: add multibase custom hook (#310)

* config: add multibase custom hook

* chore: update multibase hook and session hook

* chore: change inverted params

* impr(fix): multibase init call

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* feat: referral section ui - ver 0.1a (#311)

* chore(webapp): update gitignore

* chore: update cursor agent rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* feat(webapp): use dynamic loading in homepage (#313)

* feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312)

* feat: alchemy transfer hooks

* feat(trigger): listen token transfers

* feat(app-lib): add pino logger

* feat(trigger): address activity handler

* feat(indexer): security updates and alchemy proxy

* fix(webapp): logger bug

* chore(indexer): sentry middleware and app config

* chore(indexer): cleanup

* chore: update bunlock

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* feat(indexer): trigger address activity job (#316)

* impr(webapp): check short link gen (#301)

* fix(webapp): desktop padding

* wip(imp): check user share link

* fix(webapp): error var name scope

* chore: updating supabase schema & types

* feat(webapp): user table short link + session upsert

* chore: use biome 🚀 (#317)

* chore: use biome

* chore: use biome

* chore(indexer): verify call with alchemy signing key (#318)

* devops(indexer): update dockerfile

* chore(indexer): cleanup

* chore: update gitignore

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* fix(trigger): install right trigger.dev dep

* fix(indexer): trust proxy

* feat: token issuance trigger part 2 (#321)

* chore(alchemy): use gcloud endpoint

* docs(alchemy): update readme file

* docs(indexer): update readme file

* debug(indexer): gcloud automated deployment

* chore(alchemy): env values validation

* chore(indexer): improve logging

* chore(indexer): improve logging

* chore(indexer): stringify all logs

* debug(indexer): disable alchemy signature validation

* debug(indexer): disable alchemy signature validation

* chore(indexer): validate env and use trigger secret

* debug(faucet): save dist/ empty folder in git

* chore: update deps

* chore: improve env validations

* fix(alchemy): wrong import

* chore(indexer): improve logging

* debug(indexer): alchemy webhook handler

* debug(indexer): disable helmet

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* feat(indexer): alchemy signature middleware

* feat(indexer): validate alchemy signature

* chore(indexer): security improvements (#323)

* chore(indexer): disable alchemy validation

* feat: presale token issuance part 3 (#325)

* chore(alchemy): export types

* chore(indexer): log process event id

* chore(indexer): log process event id

* chore: prod network conig, validate networks

* wip(indexer): validate before triggering

* chore: add try catch

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: clean up

* devops(indexer): update dockerfile

* chore: format code

* devops: remove lhci reports

* fix(indexer): wrong import

* feat(trigger): transfer blpl token (#327)

* feat(trigger): transfer blpl token

* docs(trigger): token issuance jsdocs

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* devops(indexer): update dockerfile

* chore: remove type:module (#329)

* chore: remove type:module

* chore: remove type:module

* devops(indexer): test deployment

* devops(indexer): test deployment

* chore(supabase): use module

* feat(trigger): presale token issuance

* chore: format

* chore: use type:module for monorepo

* impr(webapp): add multibase provider (#326)

* config: create multibase provider

* chore: update multibase env variable

* impr(webapp): UI Update (#314)

* (wepapp)impr:landing distribution + filenames

* (wepapp)impr:auction card badge

* (wepapp)impr:steps pading + new text-size

* (wepapp)impr:text-size

* (wepapp)impr:refactored about us section

* (wepapp)impr:new tittles learning section

* (wepapp)impr:security section

* (wepapp)impr:tittle style and fonts

* (wepapp)impr:responsive impr

* fix:about section text-18 instead of text-sm

* fix:security responsive

* fix:hero padding

* fix:Final Mobil Tweaks

* impr(webapp): landing heros + mob-nav spacing

* impr(webapp): landing learn section updated blog links

* fix(webapp): info text foreground color

* impr(webapp): landing responsiveness

* imp(webapp): 3 steps needed responsiveness

* chore(webapp): rm duplicate component

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* feat: security updates (#331)

* feat(indexer): validate right usdt,usdc address

* feat(indexer): wait for finality and trx log

* fix(indexer): wrong import

* chore(indexer): fix build

* chore(webapp): format

* feat(webapp): bitlauncher blog category + blog tweaks (#324)

* wip: static blog files upt

* fix(webapp): blog article file gen + article ui tweaks

* chore(webapp): app ver upt + cms gen script

* docs: upt cms-ql.sh

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* impr(webapp): upt /services/datocms/datocms-blog.service.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* impr(webapp): upt /services/datocms/datocms-blog.service.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix(webapp): app build, missing file

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: format files

* fix(webapp): cached files error catch

* impr(webapp): static blog file error catch

* fix(webapp): static cached file chk

* feat: supabase schema and webapp updates  (#335)

* feat(indexer): add address registration validation

* feat: update database schema to support presales

* feat: repo/tokens (#336)

* chore: update repo packages (#338)

* feat: stable coin selector

* feat: presale ux ui

* chore: repo/contracts pkg

* chore: repo/utils pkg

* chore: repo/tsconfig pkg

* chore: repo/alchemy pkg

* chore: repo/jobs pkg

* chore: repo/supabase pkg

* docs: update readme

* chore: update bunlock

* chore(indexer): alchemy webhook

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* chore(alchemy): invert ternary

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* chore: not nullable values, format code

* chore: update node:crypto

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat(indexer): alchemy signature validation

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: fix build (#339)

* feat: validate user registration on event proxy (#340)

* chore: fix imports

* feat(indexer): validate user is registered

* feat: add presale deposit checks (#341)

* feat(indexer): is registered address

* feat(indexer): validate amount and timing

* wip(webapp): update project, presale and auction pages

* chore(webapp): improve error handling

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat: realtime presale data (#342)

* feat: real time presale data

* feat: real time presale data

* fix(webapp): header margin (#343)

* webapp:fix margin top

* webapp:add header tag

* webapp:fix margin top

* webapp:add md top

* webapp:add md top

* webapp:fix project tittle + pills responsive

---------

Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>
Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local>
Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>

* chore(fix): update apps/trigger package.json dep

* fix: cms gen merged files + use-session table upt + trigger/tsconfig upt

* fix: registration logic and indexer checks (#347)

* feat(indexer): check if address already bought

* fix(webapp): registration logic

* chore: update bunlock

* fix(webapp): arrow icon

* fix(webapp): arrow icon

* feat: upsert accounts table on login

* fix(webapp): move accounts to session hook

* feat: webapp/hotfix bl project status tag (#348)

* fix(webapp): tablet/small-screen header breakpoint

* impr(webapp): project page hero + blog links upt

* fix(webapp): project badge text upt

* content(webapp): token sale date tbd

* fix(webapp): hero title size (#350)

* fix(webapp): hero title size

* impr(webapp): share link toaster msg

* chore: presale hardcoded txt tweak

* impr(webapp): tailwindcss accent colour upt (#352)

---------

Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com>
Co-authored-by: Nathanael Liu <supernathanliu@gmail.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>
Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
AndlerRL added a commit that referenced this pull request Aug 30, 2024
* chore: presale texts revisions (#351)

* chore: add @types/uuid

* chore: add @types/uuid

* fix(app-lib): tsconfig pkg extends

* fix: missing encoding dep

* feat: sitemap (#290)

* feat: add sitemap

* fix: error handling

* fix: move common types

* fix: update base url in sitemap

* Update apps/webapp/app/(routes)/[lang]/blog/[category]/sitemap.ts

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* Update apps/webapp/app/(routes)/[lang]/wallet/sitemap.ts

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* Update apps/webapp/app/(routes)/[lang]/whitepaper/sitemap.ts

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* fix: build error

* fix: remove unnecessary async declarative

* vendor: add @types/uuid

* fix: remove console log for debug

* fix: add 'async' to all sitemaps

* fix: make ProjectPageParams extends CommonPageParams

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* fix(webapp): UI/UX tweaks and upts from final v1 landing designs (#291)

* (webapp)fix:FAQ border radi + muted color

* (webapp)fix:newsletter spacing

* (webapp)fix:participate spacing and font family

* (webapp)fix:header spacing + bitlauncher logo size

* (webapp)fix:blog section 4 per row + purple link + gap

* (webapp)fix:hero-card spacing

* (webapp)fix:auction-card spaces

* (webapp)fix:Upcoming grid gap

* (webapp)fix:article card - text-left

* (webapp)fix:media-card text-start

* (webapp)fix:media-section purple link + space

* (webapp)fix:participate gap + section font and padding

* (webapp)fix:footer links padding + other spacing fix

* (webapp)fix:upcoming background circle

* (webapp)fix:footer margin-10

* (webapp)fix:upcoming bg shape

* (webapp)-andler-changes-request

* (webapp)-debug-toggle navigation icon

* (webapp)-create-mobile-navigation-context

* (webapp)-create-mobile-navigation-context

* (webapp)-fix navigation bug - add key

* (webapp)-Andler-changes

* (webapp)-responsive - upcoming

* (webapp)-fix-responsive-whychooseUs

* (webapp)-fix-responsive-participate

* (webapp)-fix-responsive-media

* (webapp)-fix-responsive-articles

* (webapp)-responsive-project-header+info+sharebtn

* (webapp)-feat-about-base

* (webapp)-feat-about-landing-complete

* (webapp)-feat-security-updated

* (webapp)-fix-steps-padding

* fix typo

* fix bgHeader type

* fix bgHeader type

* impr(webapp): layout tweaks

* impr(webapp): info pages img asset + css class

* fix: bun.lockb

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* feat: multichain indexer ( part 1 ) (#293)

* chore: update app-contracts

* feat: multichain indexer

* feat: prod chains

* feat: presale wallet

* feat: blpl token

* feat: blpl token

* chore: update bunlock

* feat: blpl token

* feat: presale evm contribs

* feat: blpl token

* wip: presale indexer

* chore(indexer): fix dockerfile

* feat: presale transaction indexing (#296)

* feat: report transaction id

* feat: save deposits data

* feat: save deposits data

* feat: read presale transactions

* chore: disable view all

* feat: update presale deposits ui

* feat: display amount raised and contributors

* chore: environment chains and tokens

* fix(webapp): desktop padding (#297)

* feat: multichain presale deposits (#298)

* chore: environment chains and tokens

* fix: chain switch

* fix: chain switch

* feat: update nav links (#299)

* chore: environment chains and tokens

* feat: update nav links

* chore: renable swaps service, index token from latest block

* feat(webapp): wallet ui updates (#300)

* fix: wagmi config

* feat(webapp): presale contribution report

* feat: realtime presale data

* feat: realtime presale data

* feat: update dropdown menu

* feat(supabase): update schema and types

* chore: debug presale token issuance

* feat: show issuance trx link on table

* impr(webapp): upt mob ver of more info cards (#294)

* styles: update mobile version for information cards of home page

* styles: use tailwind css variables

* styles: add font family futura pt

* styles, config: add cornflowerblue variables on tailwind config and update information cards' background

* config: update font importation

* chore: replace BC with BL

* chore: replace bc files with bl files

* chore: replace bc files with bl files

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* impr(webapp): upt mob ver of more info cards (#294) (#305)

* styles: update mobile version for information cards of home page

* styles: use tailwind css variables

* styles: add font family futura pt

* styles, config: add cornflowerblue variables on tailwind config and update information cards' background

* config: update font importation

* chore: replace BC with BL

* chore: replace bc files with bl files

* chore: replace bc files with bl files

---------

Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>

* fix(impr): verify font-style and text wording across landing (#309)

* fix(impr): verify font-style across landing

* fix(webapp): lufga bold font config

* fix(webapp): investor wording to contributor on texts

* fix(webapp): investors wording to contributors on texts (plural)

* chore(webapp): text, invest wording upt to contribute

* config: add multibase custom hook (#310)

* config: add multibase custom hook

* chore: update multibase hook and session hook

* chore: change inverted params

* impr(fix): multibase init call

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* feat: referral section ui - ver 0.1a (#311)

* chore(webapp): update gitignore

* chore: update cursor agent rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* feat(webapp): use dynamic loading in homepage (#313)

* feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312)

* feat: alchemy transfer hooks

* feat(trigger): listen token transfers

* feat(app-lib): add pino logger

* feat(trigger): address activity handler

* feat(indexer): security updates and alchemy proxy

* fix(webapp): logger bug

* chore(indexer): sentry middleware and app config

* chore(indexer): cleanup

* chore: update bunlock

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* feat(indexer): trigger address activity job (#316)

* impr(webapp): check short link gen (#301)

* fix(webapp): desktop padding

* wip(imp): check user share link

* fix(webapp): error var name scope

* chore: updating supabase schema & types

* feat(webapp): user table short link + session upsert

* chore: use biome 🚀 (#317)

* chore: use biome

* chore: use biome

* chore(indexer): verify call with alchemy signing key (#318)

* devops(indexer): update dockerfile

* chore(indexer): cleanup

* chore: update gitignore

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* fix(trigger): install right trigger.dev dep

* chore: august 2nd release [at TEST]  (#315)

* impr(webapp): upt mob ver of more info cards (#294)

* styles: update mobile version for information cards of home page

* styles: use tailwind css variables

* styles: add font family futura pt

* styles, config: add cornflowerblue variables on tailwind config and update information cards' background

* config: update font importation

* chore: replace BC with BL

* chore: replace bc files with bl files

* chore: replace bc files with bl files

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* fix(impr): verify font-style and text wording across landing (#309)

* fix(impr): verify font-style across landing

* fix(webapp): lufga bold font config

* fix(webapp): investor wording to contributor on texts

* fix(webapp): investors wording to contributors on texts (plural)

* chore(webapp): text, invest wording upt to contribute

* config: add multibase custom hook (#310)

* config: add multibase custom hook

* chore: update multibase hook and session hook

* chore: change inverted params

* impr(fix): multibase init call

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* feat: referral section ui - ver 0.1a (#311)

* chore(webapp): update gitignore

* chore: update cursor agent rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* feat(webapp): use dynamic loading in homepage (#313)

* feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312)

* feat: alchemy transfer hooks

* feat(trigger): listen token transfers

* feat(app-lib): add pino logger

* feat(trigger): address activity handler

* feat(indexer): security updates and alchemy proxy

* fix(webapp): logger bug

* chore(indexer): sentry middleware and app config

* chore(indexer): cleanup

* chore: update bunlock

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* feat(indexer): trigger address activity job (#316)

* impr(webapp): check short link gen (#301)

* fix(webapp): desktop padding

* wip(imp): check user share link

* fix(webapp): error var name scope

* chore: updating supabase schema & types

* feat(webapp): user table short link + session upsert

* chore: use biome 🚀 (#317)

* chore: use biome

* chore: use biome

* chore(indexer): verify call with alchemy signing key (#318)

* devops(indexer): update dockerfile

* chore(indexer): cleanup

* chore: update gitignore

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* fix(trigger): install right trigger.dev dep

---------

Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>
Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local>
Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* fix: merge typo

* fix: tailwind font config

* fix(indexer): trust proxy

* feat: token issuance trigger part 2 (#321)

* chore(alchemy): use gcloud endpoint

* docs(alchemy): update readme file

* docs(indexer): update readme file

* debug(indexer): gcloud automated deployment

* chore(alchemy): env values validation

* chore(indexer): improve logging

* chore(indexer): improve logging

* chore(indexer): stringify all logs

* debug(indexer): disable alchemy signature validation

* debug(indexer): disable alchemy signature validation

* chore(indexer): validate env and use trigger secret

* debug(faucet): save dist/ empty folder in git

* chore: update deps

* chore: improve env validations

* fix(alchemy): wrong import

* chore(indexer): improve logging

* debug(indexer): alchemy webhook handler

* debug(indexer): disable helmet

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* feat(indexer): alchemy signature middleware

* feat(indexer): validate alchemy signature

* chore(indexer): security improvements (#323)

* chore(indexer): disable alchemy validation

* feat: presale token issuance part 3 (#325)

* chore(alchemy): export types

* chore(indexer): log process event id

* chore(indexer): log process event id

* chore: prod network conig, validate networks

* wip(indexer): validate before triggering

* chore: add try catch

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: clean up

* devops(indexer): update dockerfile

* chore: format code

* devops: remove lhci reports

* fix(indexer): wrong import

* feat(trigger): transfer blpl token (#327)

* feat(trigger): transfer blpl token

* docs(trigger): token issuance jsdocs

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* devops(indexer): update dockerfile

* chore: remove type:module (#329)

* chore: remove type:module

* chore: remove type:module

* devops(indexer): test deployment

* devops(indexer): test deployment

* chore(supabase): use module

* feat(trigger): presale token issuance

* chore: format

* chore: use type:module for monorepo

* impr(webapp): add multibase provider (#326)

* config: create multibase provider

* chore: update multibase env variable

* impr(webapp): UI Update (#314)

* (wepapp)impr:landing distribution + filenames

* (wepapp)impr:auction card badge

* (wepapp)impr:steps pading + new text-size

* (wepapp)impr:text-size

* (wepapp)impr:refactored about us section

* (wepapp)impr:new tittles learning section

* (wepapp)impr:security section

* (wepapp)impr:tittle style and fonts

* (wepapp)impr:responsive impr

* fix:about section text-18 instead of text-sm

* fix:security responsive

* fix:hero padding

* fix:Final Mobil Tweaks

* impr(webapp): landing heros + mob-nav spacing

* impr(webapp): landing learn section updated blog links

* fix(webapp): info text foreground color

* impr(webapp): landing responsiveness

* imp(webapp): 3 steps needed responsiveness

* chore(webapp): rm duplicate component

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* feat: security updates (#331)

* feat(indexer): validate right usdt,usdc address

* feat(indexer): wait for finality and trx log

* fix(indexer): wrong import

* chore(indexer): fix build

* chore(webapp): format

* feat(webapp): bitlauncher blog category + blog tweaks (#324)

* wip: static blog files upt

* fix(webapp): blog article file gen + article ui tweaks

* chore(webapp): app ver upt + cms gen script

* docs: upt cms-ql.sh

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* impr(webapp): upt /services/datocms/datocms-blog.service.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* impr(webapp): upt /services/datocms/datocms-blog.service.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix(webapp): app build, missing file

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: format files

* fix(webapp): cached files error catch

* impr(webapp): static blog file error catch

* fix(webapp): static cached file chk

* feat: supabase schema and webapp updates  (#335)

* feat(indexer): add address registration validation

* feat: update database schema to support presales

* feat: repo/tokens (#336)

* chore: update repo packages (#338)

* feat: stable coin selector

* feat: presale ux ui

* chore: repo/contracts pkg

* chore: repo/utils pkg

* chore: repo/tsconfig pkg

* chore: repo/alchemy pkg

* chore: repo/jobs pkg

* chore: repo/supabase pkg

* docs: update readme

* chore: update bunlock

* chore(indexer): alchemy webhook

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* chore(alchemy): invert ternary

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* chore: not nullable values, format code

* chore: update node:crypto

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat(indexer): alchemy signature validation

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: fix build (#339)

* feat: validate user registration on event proxy (#340)

* chore: fix imports

* feat(indexer): validate user is registered

* feat: add presale deposit checks (#341)

* feat(indexer): is registered address

* feat(indexer): validate amount and timing

* wip(webapp): update project, presale and auction pages

* chore(webapp): improve error handling

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat: realtime presale data (#342)

* feat: real time presale data

* feat: real time presale data

* fix(webapp): header margin (#343)

* webapp:fix margin top

* webapp:add header tag

* webapp:fix margin top

* webapp:add md top

* webapp:add md top

* webapp:fix project tittle + pills responsive

* chore: august 3rd release [pre-prod] (#334)

* impr(webapp): upt mob ver of more info cards (#294)

* styles: update mobile version for information cards of home page

* styles: use tailwind css variables

* styles: add font family futura pt

* styles, config: add cornflowerblue variables on tailwind config and update information cards' background

* config: update font importation

* chore: replace BC with BL

* chore: replace bc files with bl files

* chore: replace bc files with bl files

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* fix(impr): verify font-style and text wording across landing (#309)

* fix(impr): verify font-style across landing

* fix(webapp): lufga bold font config

* fix(webapp): investor wording to contributor on texts

* fix(webapp): investors wording to contributors on texts (plural)

* chore(webapp): text, invest wording upt to contribute

* config: add multibase custom hook (#310)

* config: add multibase custom hook

* chore: update multibase hook and session hook

* chore: change inverted params

* impr(fix): multibase init call

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* feat: referral section ui - ver 0.1a (#311)

* chore(webapp): update gitignore

* chore: update cursor agent rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* feat(webapp): use dynamic loading in homepage (#313)

* feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312)

* feat: alchemy transfer hooks

* feat(trigger): listen token transfers

* feat(app-lib): add pino logger

* feat(trigger): address activity handler

* feat(indexer): security updates and alchemy proxy

* fix(webapp): logger bug

* chore(indexer): sentry middleware and app config

* chore(indexer): cleanup

* chore: update bunlock

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* feat(indexer): trigger address activity job (#316)

* impr(webapp): check short link gen (#301)

* fix(webapp): desktop padding

* wip(imp): check user share link

* fix(webapp): error var name scope

* chore: updating supabase schema & types

* feat(webapp): user table short link + session upsert

* chore: use biome 🚀 (#317)

* chore: use biome

* chore: use biome

* chore(indexer): verify call with alchemy signing key (#318)

* devops(indexer): update dockerfile

* chore(indexer): cleanup

* chore: update gitignore

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* fix(trigger): install right trigger.dev dep

* fix(indexer): trust proxy

* feat: token issuance trigger part 2 (#321)

* chore(alchemy): use gcloud endpoint

* docs(alchemy): update readme file

* docs(indexer): update readme file

* debug(indexer): gcloud automated deployment

* chore(alchemy): env values validation

* chore(indexer): improve logging

* chore(indexer): improve logging

* chore(indexer): stringify all logs

* debug(indexer): disable alchemy signature validation

* debug(indexer): disable alchemy signature validation

* chore(indexer): validate env and use trigger secret

* debug(faucet): save dist/ empty folder in git

* chore: update deps

* chore: improve env validations

* fix(alchemy): wrong import

* chore(indexer): improve logging

* debug(indexer): alchemy webhook handler

* debug(indexer): disable helmet

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* feat(indexer): alchemy signature middleware

* feat(indexer): validate alchemy signature

* chore(indexer): security improvements (#323)

* chore(indexer): disable alchemy validation

* feat: presale token issuance part 3 (#325)

* chore(alchemy): export types

* chore(indexer): log process event id

* chore(indexer): log process event id

* chore: prod network conig, validate networks

* wip(indexer): validate before triggering

* chore: add try catch

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: clean up

* devops(indexer): update dockerfile

* chore: format code

* devops: remove lhci reports

* fix(indexer): wrong import

* feat(trigger): transfer blpl token (#327)

* feat(trigger): transfer blpl token

* docs(trigger): token issuance jsdocs

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* devops(indexer): update dockerfile

* chore: remove type:module (#329)

* chore: remove type:module

* chore: remove type:module

* devops(indexer): test deployment

* devops(indexer): test deployment

* chore(supabase): use module

* feat(trigger): presale token issuance

* chore: format

* chore: use type:module for monorepo

* impr(webapp): add multibase provider (#326)

* config: create multibase provider

* chore: update multibase env variable

* impr(webapp): UI Update (#314)

* (wepapp)impr:landing distribution + filenames

* (wepapp)impr:auction card badge

* (wepapp)impr:steps pading + new text-size

* (wepapp)impr:text-size

* (wepapp)impr:refactored about us section

* (wepapp)impr:new tittles learning section

* (wepapp)impr:security section

* (wepapp)impr:tittle style and fonts

* (wepapp)impr:responsive impr

* fix:about section text-18 instead of text-sm

* fix:security responsive

* fix:hero padding

* fix:Final Mobil Tweaks

* impr(webapp): landing heros + mob-nav spacing

* impr(webapp): landing learn section updated blog links

* fix(webapp): info text foreground color

* impr(webapp): landing responsiveness

* imp(webapp): 3 steps needed responsiveness

* chore(webapp): rm duplicate component

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* feat: security updates (#331)

* feat(indexer): validate right usdt,usdc address

* feat(indexer): wait for finality and trx log

* fix(indexer): wrong import

* chore(indexer): fix build

* chore(webapp): format

* feat(webapp): bitlauncher blog category + blog tweaks (#324)

* wip: static blog files upt

* fix(webapp): blog article file gen + article ui tweaks

* chore(webapp): app ver upt + cms gen script

* docs: upt cms-ql.sh

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* impr(webapp): upt /services/datocms/datocms-blog.service.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* impr(webapp): upt /services/datocms/datocms-blog.service.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix(webapp): app build, missing file

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: format files

* fix(webapp): cached files error catch

* impr(webapp): static blog file error catch

* fix(webapp): static cached file chk

* feat: supabase schema and webapp updates  (#335)

* feat(indexer): add address registration validation

* feat: update database schema to support presales

* feat: repo/tokens (#336)

* chore: update repo packages (#338)

* feat: stable coin selector

* feat: presale ux ui

* chore: repo/contracts pkg

* chore: repo/utils pkg

* chore: repo/tsconfig pkg

* chore: repo/alchemy pkg

* chore: repo/jobs pkg

* chore: repo/supabase pkg

* docs: update readme

* chore: update bunlock

* chore(indexer): alchemy webhook

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* chore(alchemy): invert ternary

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* chore: not nullable values, format code

* chore: update node:crypto

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat(indexer): alchemy signature validation

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: fix build (#339)

* feat: validate user registration on event proxy (#340)

* chore: fix imports

* feat(indexer): validate user is registered

* feat: add presale deposit checks (#341)

* feat(indexer): is registered address

* feat(indexer): validate amount and timing

* wip(webapp): update project, presale and auction pages

* chore(webapp): improve error handling

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat: realtime presale data (#342)

* feat: real time presale data

* feat: real time presale data

* fix(webapp): header margin (#343)

* webapp:fix margin top

* webapp:add header tag

* webapp:fix margin top

* webapp:add md top

* webapp:add md top

* webapp:fix project tittle + pills responsive

---------

Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>
Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local>
Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>

* chore(fix): update apps/trigger package.json dep

* fix: cms gen merged files + use-session table upt + trigger/tsconfig upt

* fix: registration logic and indexer checks (#347)

* feat(indexer): check if address already bought

* fix(webapp): registration logic

* chore: update bunlock

* fix(webapp): arrow icon

* fix(webapp): arrow icon

* feat: upsert accounts table on login

* fix(webapp): move accounts to session hook

* feat: webapp/hotfix bl project status tag (#348)

* fix(webapp): tablet/small-screen header breakpoint

* impr(webapp): project page hero + blog links upt

* fix(webapp): project badge text upt

* content(webapp): token sale date tbd

* fix(webapp): hero title size (#350)

* fix(webapp): hero title size

* impr(webapp): share link toaster msg

* chore: presale hardcoded txt tweak

---------

Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com>
Co-authored-by: Nathanael Liu <supernathanliu@gmail.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>
Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* impr(webapp): tailwindcss accent colours + landing hero accent colour upt (#353)

* chore: add @types/uuid

* chore: add @types/uuid

* fix(app-lib): tsconfig pkg extends

* fix: missing encoding dep

* feat: sitemap (#290)

* feat: add sitemap

* fix: error handling

* fix: move common types

* fix: update base url in sitemap

* Update apps/webapp/app/(routes)/[lang]/blog/[category]/sitemap.ts

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* Update apps/webapp/app/(routes)/[lang]/wallet/sitemap.ts

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* Update apps/webapp/app/(routes)/[lang]/whitepaper/sitemap.ts

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* fix: build error

* fix: remove unnecessary async declarative

* vendor: add @types/uuid

* fix: remove console log for debug

* fix: add 'async' to all sitemaps

* fix: make ProjectPageParams extends CommonPageParams

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* fix(webapp): UI/UX tweaks and upts from final v1 landing designs (#291)

* (webapp)fix:FAQ border radi + muted color

* (webapp)fix:newsletter spacing

* (webapp)fix:participate spacing and font family

* (webapp)fix:header spacing + bitlauncher logo size

* (webapp)fix:blog section 4 per row + purple link + gap

* (webapp)fix:hero-card spacing

* (webapp)fix:auction-card spaces

* (webapp)fix:Upcoming grid gap

* (webapp)fix:article card - text-left

* (webapp)fix:media-card text-start

* (webapp)fix:media-section purple link + space

* (webapp)fix:participate gap + section font and padding

* (webapp)fix:footer links padding + other spacing fix

* (webapp)fix:upcoming background circle

* (webapp)fix:footer margin-10

* (webapp)fix:upcoming bg shape

* (webapp)-andler-changes-request

* (webapp)-debug-toggle navigation icon

* (webapp)-create-mobile-navigation-context

* (webapp)-create-mobile-navigation-context

* (webapp)-fix navigation bug - add key

* (webapp)-Andler-changes

* (webapp)-responsive - upcoming

* (webapp)-fix-responsive-whychooseUs

* (webapp)-fix-responsive-participate

* (webapp)-fix-responsive-media

* (webapp)-fix-responsive-articles

* (webapp)-responsive-project-header+info+sharebtn

* (webapp)-feat-about-base

* (webapp)-feat-about-landing-complete

* (webapp)-feat-security-updated

* (webapp)-fix-steps-padding

* fix typo

* fix bgHeader type

* fix bgHeader type

* impr(webapp): layout tweaks

* impr(webapp): info pages img asset + css class

* fix: bun.lockb

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* feat: multichain indexer ( part 1 ) (#293)

* chore: update app-contracts

* feat: multichain indexer

* feat: prod chains

* feat: presale wallet

* feat: blpl token

* feat: blpl token

* chore: update bunlock

* feat: blpl token

* feat: presale evm contribs

* feat: blpl token

* wip: presale indexer

* chore(indexer): fix dockerfile

* feat: presale transaction indexing (#296)

* feat: report transaction id

* feat: save deposits data

* feat: save deposits data

* feat: read presale transactions

* chore: disable view all

* feat: update presale deposits ui

* feat: display amount raised and contributors

* chore: environment chains and tokens

* fix(webapp): desktop padding (#297)

* feat: multichain presale deposits (#298)

* chore: environment chains and tokens

* fix: chain switch

* fix: chain switch

* feat: update nav links (#299)

* chore: environment chains and tokens

* feat: update nav links

* chore: renable swaps service, index token from latest block

* feat(webapp): wallet ui updates (#300)

* fix: wagmi config

* feat(webapp): presale contribution report

* feat: realtime presale data

* feat: realtime presale data

* feat: update dropdown menu

* feat(supabase): update schema and types

* chore: debug presale token issuance

* feat: show issuance trx link on table

* impr(webapp): upt mob ver of more info cards (#294)

* styles: update mobile version for information cards of home page

* styles: use tailwind css variables

* styles: add font family futura pt

* styles, config: add cornflowerblue variables on tailwind config and update information cards' background

* config: update font importation

* chore: replace BC with BL

* chore: replace bc files with bl files

* chore: replace bc files with bl files

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* impr(webapp): upt mob ver of more info cards (#294) (#305)

* styles: update mobile version for information cards of home page

* styles: use tailwind css variables

* styles: add font family futura pt

* styles, config: add cornflowerblue variables on tailwind config and update information cards' background

* config: update font importation

* chore: replace BC with BL

* chore: replace bc files with bl files

* chore: replace bc files with bl files

---------

Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>

* fix(impr): verify font-style and text wording across landing (#309)

* fix(impr): verify font-style across landing

* fix(webapp): lufga bold font config

* fix(webapp): investor wording to contributor on texts

* fix(webapp): investors wording to contributors on texts (plural)

* chore(webapp): text, invest wording upt to contribute

* config: add multibase custom hook (#310)

* config: add multibase custom hook

* chore: update multibase hook and session hook

* chore: change inverted params

* impr(fix): multibase init call

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* feat: referral section ui - ver 0.1a (#311)

* chore(webapp): update gitignore

* chore: update cursor agent rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* feat(webapp): use dynamic loading in homepage (#313)

* feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312)

* feat: alchemy transfer hooks

* feat(trigger): listen token transfers

* feat(app-lib): add pino logger

* feat(trigger): address activity handler

* feat(indexer): security updates and alchemy proxy

* fix(webapp): logger bug

* chore(indexer): sentry middleware and app config

* chore(indexer): cleanup

* chore: update bunlock

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* feat(indexer): trigger address activity job (#316)

* impr(webapp): check short link gen (#301)

* fix(webapp): desktop padding

* wip(imp): check user share link

* fix(webapp): error var name scope

* chore: updating supabase schema & types

* feat(webapp): user table short link + session upsert

* chore: use biome 🚀 (#317)

* chore: use biome

* chore: use biome

* chore(indexer): verify call with alchemy signing key (#318)

* devops(indexer): update dockerfile

* chore(indexer): cleanup

* chore: update gitignore

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* fix(trigger): install right trigger.dev dep

* chore: august 2nd release [at TEST]  (#315)

* impr(webapp): upt mob ver of more info cards (#294)

* styles: update mobile version for information cards of home page

* styles: use tailwind css variables

* styles: add font family futura pt

* styles, config: add cornflowerblue variables on tailwind config and update information cards' background

* config: update font importation

* chore: replace BC with BL

* chore: replace bc files with bl files

* chore: replace bc files with bl files

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* fix(impr): verify font-style and text wording across landing (#309)

* fix(impr): verify font-style across landing

* fix(webapp): lufga bold font config

* fix(webapp): investor wording to contributor on texts

* fix(webapp): investors wording to contributors on texts (plural)

* chore(webapp): text, invest wording upt to contribute

* config: add multibase custom hook (#310)

* config: add multibase custom hook

* chore: update multibase hook and session hook

* chore: change inverted params

* impr(fix): multibase init call

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* feat: referral section ui - ver 0.1a (#311)

* chore(webapp): update gitignore

* chore: update cursor agent rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* feat(webapp): use dynamic loading in homepage (#313)

* feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312)

* feat: alchemy transfer hooks

* feat(trigger): listen token transfers

* feat(app-lib): add pino logger

* feat(trigger): address activity handler

* feat(indexer): security updates and alchemy proxy

* fix(webapp): logger bug

* chore(indexer): sentry middleware and app config

* chore(indexer): cleanup

* chore: update bunlock

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* feat(indexer): trigger address activity job (#316)

* impr(webapp): check short link gen (#301)

* fix(webapp): desktop padding

* wip(imp): check user share link

* fix(webapp): error var name scope

* chore: updating supabase schema & types

* feat(webapp): user table short link + session upsert

* chore: use biome 🚀 (#317)

* chore: use biome

* chore: use biome

* chore(indexer): verify call with alchemy signing key (#318)

* devops(indexer): update dockerfile

* chore(indexer): cleanup

* chore: update gitignore

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* fix(trigger): install right trigger.dev dep

---------

Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>
Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local>
Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* fix: merge typo

* fix: tailwind font config

* fix(indexer): trust proxy

* feat: token issuance trigger part 2 (#321)

* chore(alchemy): use gcloud endpoint

* docs(alchemy): update readme file

* docs(indexer): update readme file

* debug(indexer): gcloud automated deployment

* chore(alchemy): env values validation

* chore(indexer): improve logging

* chore(indexer): improve logging

* chore(indexer): stringify all logs

* debug(indexer): disable alchemy signature validation

* debug(indexer): disable alchemy signature validation

* chore(indexer): validate env and use trigger secret

* debug(faucet): save dist/ empty folder in git

* chore: update deps

* chore: improve env validations

* fix(alchemy): wrong import

* chore(indexer): improve logging

* debug(indexer): alchemy webhook handler

* debug(indexer): disable helmet

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* feat(indexer): alchemy signature middleware

* feat(indexer): validate alchemy signature

* chore(indexer): security improvements (#323)

* chore(indexer): disable alchemy validation

* feat: presale token issuance part 3 (#325)

* chore(alchemy): export types

* chore(indexer): log process event id

* chore(indexer): log process event id

* chore: prod network conig, validate networks

* wip(indexer): validate before triggering

* chore: add try catch

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: clean up

* devops(indexer): update dockerfile

* chore: format code

* devops: remove lhci reports

* fix(indexer): wrong import

* feat(trigger): transfer blpl token (#327)

* feat(trigger): transfer blpl token

* docs(trigger): token issuance jsdocs

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* devops(indexer): update dockerfile

* chore: remove type:module (#329)

* chore: remove type:module

* chore: remove type:module

* devops(indexer): test deployment

* devops(indexer): test deployment

* chore(supabase): use module

* feat(trigger): presale token issuance

* chore: format

* chore: use type:module for monorepo

* impr(webapp): add multibase provider (#326)

* config: create multibase provider

* chore: update multibase env variable

* impr(webapp): UI Update (#314)

* (wepapp)impr:landing distribution + filenames

* (wepapp)impr:auction card badge

* (wepapp)impr:steps pading + new text-size

* (wepapp)impr:text-size

* (wepapp)impr:refactored about us section

* (wepapp)impr:new tittles learning section

* (wepapp)impr:security section

* (wepapp)impr:tittle style and fonts

* (wepapp)impr:responsive impr

* fix:about section text-18 instead of text-sm

* fix:security responsive

* fix:hero padding

* fix:Final Mobil Tweaks

* impr(webapp): landing heros + mob-nav spacing

* impr(webapp): landing learn section updated blog links

* fix(webapp): info text foreground color

* impr(webapp): landing responsiveness

* imp(webapp): 3 steps needed responsiveness

* chore(webapp): rm duplicate component

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* feat: security updates (#331)

* feat(indexer): validate right usdt,usdc address

* feat(indexer): wait for finality and trx log

* fix(indexer): wrong import

* chore(indexer): fix build

* chore(webapp): format

* feat(webapp): bitlauncher blog category + blog tweaks (#324)

* wip: static blog files upt

* fix(webapp): blog article file gen + article ui tweaks

* chore(webapp): app ver upt + cms gen script

* docs: upt cms-ql.sh

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* impr(webapp): upt /services/datocms/datocms-blog.service.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* impr(webapp): upt /services/datocms/datocms-blog.service.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix(webapp): app build, missing file

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: format files

* fix(webapp): cached files error catch

* impr(webapp): static blog file error catch

* fix(webapp): static cached file chk

* feat: supabase schema and webapp updates  (#335)

* feat(indexer): add address registration validation

* feat: update database schema to support presales

* feat: repo/tokens (#336)

* chore: update repo packages (#338)

* feat: stable coin selector

* feat: presale ux ui

* chore: repo/contracts pkg

* chore: repo/utils pkg

* chore: repo/tsconfig pkg

* chore: repo/alchemy pkg

* chore: repo/jobs pkg

* chore: repo/supabase pkg

* docs: update readme

* chore: update bunlock

* chore(indexer): alchemy webhook

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* chore(alchemy): invert ternary

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* chore: not nullable values, format code

* chore: update node:crypto

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat(indexer): alchemy signature validation

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: fix build (#339)

* feat: validate user registration on event proxy (#340)

* chore: fix imports

* feat(indexer): validate user is registered

* feat: add presale deposit checks (#341)

* feat(indexer): is registered address

* feat(indexer): validate amount and timing

* wip(webapp): update project, presale and auction pages

* chore(webapp): improve error handling

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat: realtime presale data (#342)

* feat: real time presale data

* feat: real time presale data

* fix(webapp): header margin (#343)

* webapp:fix margin top

* webapp:add header tag

* webapp:fix margin top

* webapp:add md top

* webapp:add md top

* webapp:fix project tittle + pills responsive

* chore: august 3rd release [pre-prod] (#334)

* impr(webapp): upt mob ver of more info cards (#294)

* styles: update mobile version for information cards of home page

* styles: use tailwind css variables

* styles: add font family futura pt

* styles, config: add cornflowerblue variables on tailwind config and update information cards' background

* config: update font importation

* chore: replace BC with BL

* chore: replace bc files with bl files

* chore: replace bc files with bl files

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* fix(impr): verify font-style and text wording across landing (#309)

* fix(impr): verify font-style across landing

* fix(webapp): lufga bold font config

* fix(webapp): investor wording to contributor on texts

* fix(webapp): investors wording to contributors on texts (plural)

* chore(webapp): text, invest wording upt to contribute

* config: add multibase custom hook (#310)

* config: add multibase custom hook

* chore: update multibase hook and session hook

* chore: change inverted params

* impr(fix): multibase init call

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* feat: referral section ui - ver 0.1a (#311)

* chore(webapp): update gitignore

* chore: update cursor agent rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* feat(webapp): use dynamic loading in homepage (#313)

* feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312)

* feat: alchemy transfer hooks

* feat(trigger): listen token transfers

* feat(app-lib): add pino logger

* feat(trigger): address activity handler

* feat(indexer): security updates and alchemy proxy

* fix(webapp): logger bug

* chore(indexer): sentry middleware and app config

* chore(indexer): cleanup

* chore: update bunlock

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* feat(indexer): trigger address activity job (#316)

* impr(webapp): check short link gen (#301)

* fix(webapp): desktop padding

* wip(imp): check user share link

* fix(webapp): error var name scope

* chore: updating supabase schema & types

* feat(webapp): user table short link + session upsert

* chore: use biome 🚀 (#317)

* chore: use biome

* chore: use biome

* chore(indexer): verify call with alchemy signing key (#318)

* devops(indexer): update dockerfile

* chore(indexer): cleanup

* chore: update gitignore

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* fix(trigger): install right trigger.dev dep

* fix(indexer): trust proxy

* feat: token issuance trigger part 2 (#321)

* chore(alchemy): use gcloud endpoint

* docs(alchemy): update readme file

* docs(indexer): update readme file

* debug(indexer): gcloud automated deployment

* chore(alchemy): env values validation

* chore(indexer): improve logging

* chore(indexer): improve logging

* chore(indexer): stringify all logs

* debug(indexer): disable alchemy signature validation

* debug(indexer): disable alchemy signature validation

* chore(indexer): validate env and use trigger secret

* debug(faucet): save dist/ empty folder in git

* chore: update deps

* chore: improve env validations

* fix(alchemy): wrong import

* chore(indexer): improve logging

* debug(indexer): alchemy webhook handler

* debug(indexer): disable helmet

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* feat(indexer): alchemy signature middleware

* feat(indexer): validate alchemy signature

* chore(indexer): security improvements (#323)

* chore(indexer): disable alchemy validation

* feat: presale token issuance part 3 (#325)

* chore(alchemy): export types

* chore(indexer): log process event id

* chore(indexer): log process event id

* chore: prod network conig, validate networks

* wip(indexer): validate before triggering

* chore: add try catch

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: clean up

* devops(indexer): update dockerfile

* chore: format code

* devops: remove lhci reports

* fix(indexer): wrong import

* feat(trigger): transfer blpl token (#327)

* feat(trigger): transfer blpl token

* docs(trigger): token issuance jsdocs

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* devops(indexer): update dockerfile

* chore: remove type:module (#329)

* chore: remove type:module

* chore: remove type:module

* devops(indexer): test deployment

* devops(indexer): test deployment

* chore(supabase): use module

* feat(trigger): presale token issuance

* chore: format

* chore: use type:module for monorepo

* impr(webapp): add multibase provider (#326)

* config: create multibase provider

* chore: update multibase env variable

* impr(webapp): UI Update (#314)

* (wepapp)impr:landing distribution + filenames

* (wepapp)impr:auction card badge

* (wepapp)impr:steps pading + new text-size

* (wepapp)impr:text-size

* (wepapp)impr:refactored about us section

* (wepapp)impr:new tittles learning section

* (wepapp)impr:security section

* (wepapp)impr:tittle style and fonts

* (wepapp)impr:responsive impr

* fix:about section text-18 instead of text-sm

* fix:security responsive

* fix:hero padding

* fix:Final Mobil Tweaks

* impr(webapp): landing heros + mob-nav spacing

* impr(webapp): landing learn section updated blog links

* fix(webapp): info text foreground color

* impr(webapp): landing responsiveness

* imp(webapp): 3 steps needed responsiveness

* chore(webapp): rm duplicate component

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* feat: security updates (#331)

* feat(indexer): validate right usdt,usdc address

* feat(indexer): wait for finality and trx log

* fix(indexer): wrong import

* chore(indexer): fix build

* chore(webapp): format

* feat(webapp): bitlauncher blog category + blog tweaks (#324)

* wip: static blog files upt

* fix(webapp): blog article file gen + article ui tweaks

* chore(webapp): app ver upt + cms gen script

* docs: upt cms-ql.sh

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* impr(webapp): upt /services/datocms/datocms-blog.service.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* impr(webapp): upt /services/datocms/datocms-blog.service.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix(webapp): app build, missing file

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: format files

* fix(webapp): cached files error catch

* impr(webapp): static blog file error catch

* fix(webapp): static cached file chk

* feat: supabase schema and webapp updates  (#335)

* feat(indexer): add address registration validation

* feat: update database schema to support presales

* feat: repo/tokens (#336)

* chore: update repo packages (#338)

* feat: stable coin selector

* feat: presale ux ui

* chore: repo/contracts pkg

* chore: repo/utils pkg

* chore: repo/tsconfig pkg

* chore: repo/alchemy pkg

* chore: repo/jobs pkg

* chore: repo/supabase pkg

* docs: update readme

* chore: update bunlock

* chore(indexer): alchemy webhook

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* chore(alchemy): invert ternary

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* chore: not nullable values, format code

* chore: update node:crypto

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat(indexer): alchemy signature validation

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: fix build (#339)

* feat: validate user registration on event proxy (#340)

* chore: fix imports

* feat(indexer): validate user is registered

* feat: add presale deposit checks (#341)

* feat(indexer): is registered address

* feat(indexer): validate amount and timing

* wip(webapp): update project, presale and auction pages

* chore(webapp): improve error handling

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat: realtime presale data (#342)

* feat: real time presale data

* feat: real time presale data

* fix(webapp): header margin (#343)

* webapp:fix margin top

* webapp:add header tag

* webapp:fix margin top

* webapp:add md top

* webapp:add md top

* webapp:fix project tittle + pills responsive

---------

Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>
Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local>
Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>

* chore(fix): update apps/trigger package.json dep

* fix: cms gen merged files + use-session table upt + trigger/tsconfig upt

* fix: registration logic and indexer checks (#347)

* feat(indexer): check if address already bought

* fix(webapp): registration logic

* chore: update bunlock

* fix(webapp): arrow icon

* fix(webapp): arrow icon

* feat: upsert accounts table on login

* fix(webapp): move accounts to session hook

* feat: webapp/hotfix bl project status tag (#348)

* fix(webapp): tablet/small-screen header breakpoint

* impr(webapp): project page hero + blog links upt

* fix(webapp): project badge text upt

* content(webapp): token sale date tbd

* fix(webapp): hero title size (#350)

* fix(webapp): hero title size

* impr(webapp): share link toaster msg

* chore: presale hardcoded txt tweak

* impr(webapp): tailwindcss accent colour upt (#352)

---------

Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com>
Co-authored-by: Nathanael Liu <supernathanliu@gmail.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>
Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix: update text in learn-section

* fix: change "investment" with "contribution"

* fix: typo

* fix(webapp): learn section txt typo upt

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>
Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>
Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
AndlerRL added a commit that referenced this pull request Sep 2, 2024
* chore: add @types/uuid

* chore: add @types/uuid

* fix(app-lib): tsconfig pkg extends

* fix: missing encoding dep

* feat: sitemap (#290)

* feat: add sitemap

* fix: error handling

* fix: move common types

* fix: update base url in sitemap

* Update apps/webapp/app/(routes)/[lang]/blog/[category]/sitemap.ts

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* Update apps/webapp/app/(routes)/[lang]/wallet/sitemap.ts

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* Update apps/webapp/app/(routes)/[lang]/whitepaper/sitemap.ts

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* fix: build error

* fix: remove unnecessary async declarative

* vendor: add @types/uuid

* fix: remove console log for debug

* fix: add 'async' to all sitemaps

* fix: make ProjectPageParams extends CommonPageParams

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* fix(webapp): UI/UX tweaks and upts from final v1 landing designs (#291)

* (webapp)fix:FAQ border radi + muted color

* (webapp)fix:newsletter spacing

* (webapp)fix:participate spacing and font family

* (webapp)fix:header spacing + bitlauncher logo size

* (webapp)fix:blog section 4 per row + purple link + gap

* (webapp)fix:hero-card spacing

* (webapp)fix:auction-card spaces

* (webapp)fix:Upcoming grid gap

* (webapp)fix:article card - text-left

* (webapp)fix:media-card text-start

* (webapp)fix:media-section purple link + space

* (webapp)fix:participate gap + section font and padding

* (webapp)fix:footer links padding + other spacing fix

* (webapp)fix:upcoming background circle

* (webapp)fix:footer margin-10

* (webapp)fix:upcoming bg shape

* (webapp)-andler-changes-request

* (webapp)-debug-toggle navigation icon

* (webapp)-create-mobile-navigation-context

* (webapp)-create-mobile-navigation-context

* (webapp)-fix navigation bug - add key

* (webapp)-Andler-changes

* (webapp)-responsive - upcoming

* (webapp)-fix-responsive-whychooseUs

* (webapp)-fix-responsive-participate

* (webapp)-fix-responsive-media

* (webapp)-fix-responsive-articles

* (webapp)-responsive-project-header+info+sharebtn

* (webapp)-feat-about-base

* (webapp)-feat-about-landing-complete

* (webapp)-feat-security-updated

* (webapp)-fix-steps-padding

* fix typo

* fix bgHeader type

* fix bgHeader type

* impr(webapp): layout tweaks

* impr(webapp): info pages img asset + css class

* fix: bun.lockb

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* feat: multichain indexer ( part 1 ) (#293)

* chore: update app-contracts

* feat: multichain indexer

* feat: prod chains

* feat: presale wallet

* feat: blpl token

* feat: blpl token

* chore: update bunlock

* feat: blpl token

* feat: presale evm contribs

* feat: blpl token

* wip: presale indexer

* chore(indexer): fix dockerfile

* feat: presale transaction indexing (#296)

* feat: report transaction id

* feat: save deposits data

* feat: save deposits data

* feat: read presale transactions

* chore: disable view all

* feat: update presale deposits ui

* feat: display amount raised and contributors

* chore: environment chains and tokens

* fix(webapp): desktop padding (#297)

* feat: multichain presale deposits (#298)

* chore: environment chains and tokens

* fix: chain switch

* fix: chain switch

* feat: update nav links (#299)

* chore: environment chains and tokens

* feat: update nav links

* chore: renable swaps service, index token from latest block

* feat(webapp): wallet ui updates (#300)

* fix: wagmi config

* feat(webapp): presale contribution report

* feat: realtime presale data

* feat: realtime presale data

* feat: update dropdown menu

* feat(supabase): update schema and types

* chore: debug presale token issuance

* feat: show issuance trx link on table

* impr(webapp): upt mob ver of more info cards (#294)

* styles: update mobile version for information cards of home page

* styles: use tailwind css variables

* styles: add font family futura pt

* styles, config: add cornflowerblue variables on tailwind config and update information cards' background

* config: update font importation

* chore: replace BC with BL

* chore: replace bc files with bl files

* chore: replace bc files with bl files

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* impr(webapp): upt mob ver of more info cards (#294) (#305)

* styles: update mobile version for information cards of home page

* styles: use tailwind css variables

* styles: add font family futura pt

* styles, config: add cornflowerblue variables on tailwind config and update information cards' background

* config: update font importation

* chore: replace BC with BL

* chore: replace bc files with bl files

* chore: replace bc files with bl files

---------

Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>

* fix(impr): verify font-style and text wording across landing (#309)

* fix(impr): verify font-style across landing

* fix(webapp): lufga bold font config

* fix(webapp): investor wording to contributor on texts

* fix(webapp): investors wording to contributors on texts (plural)

* chore(webapp): text, invest wording upt to contribute

* config: add multibase custom hook (#310)

* config: add multibase custom hook

* chore: update multibase hook and session hook

* chore: change inverted params

* impr(fix): multibase init call

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* feat: referral section ui - ver 0.1a (#311)

* chore(webapp): update gitignore

* chore: update cursor agent rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* feat(webapp): use dynamic loading in homepage (#313)

* feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312)

* feat: alchemy transfer hooks

* feat(trigger): listen token transfers

* feat(app-lib): add pino logger

* feat(trigger): address activity handler

* feat(indexer): security updates and alchemy proxy

* fix(webapp): logger bug

* chore(indexer): sentry middleware and app config

* chore(indexer): cleanup

* chore: update bunlock

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* feat(indexer): trigger address activity job (#316)

* impr(webapp): check short link gen (#301)

* fix(webapp): desktop padding

* wip(imp): check user share link

* fix(webapp): error var name scope

* chore: updating supabase schema & types

* feat(webapp): user table short link + session upsert

* chore: use biome 🚀 (#317)

* chore: use biome

* chore: use biome

* chore(indexer): verify call with alchemy signing key (#318)

* devops(indexer): update dockerfile

* chore(indexer): cleanup

* chore: update gitignore

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* fix(trigger): install right trigger.dev dep

* chore: august 2nd release [at TEST]  (#315)

* impr(webapp): upt mob ver of more info cards (#294)

* styles: update mobile version for information cards of home page

* styles: use tailwind css variables

* styles: add font family futura pt

* styles, config: add cornflowerblue variables on tailwind config and update information cards' background

* config: update font importation

* chore: replace BC with BL

* chore: replace bc files with bl files

* chore: replace bc files with bl files

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* fix(impr): verify font-style and text wording across landing (#309)

* fix(impr): verify font-style across landing

* fix(webapp): lufga bold font config

* fix(webapp): investor wording to contributor on texts

* fix(webapp): investors wording to contributors on texts (plural)

* chore(webapp): text, invest wording upt to contribute

* config: add multibase custom hook (#310)

* config: add multibase custom hook

* chore: update multibase hook and session hook

* chore: change inverted params

* impr(fix): multibase init call

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* feat: referral section ui - ver 0.1a (#311)

* chore(webapp): update gitignore

* chore: update cursor agent rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* feat(webapp): use dynamic loading in homepage (#313)

* feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312)

* feat: alchemy transfer hooks

* feat(trigger): listen token transfers

* feat(app-lib): add pino logger

* feat(trigger): address activity handler

* feat(indexer): security updates and alchemy proxy

* fix(webapp): logger bug

* chore(indexer): sentry middleware and app config

* chore(indexer): cleanup

* chore: update bunlock

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* feat(indexer): trigger address activity job (#316)

* impr(webapp): check short link gen (#301)

* fix(webapp): desktop padding

* wip(imp): check user share link

* fix(webapp): error var name scope

* chore: updating supabase schema & types

* feat(webapp): user table short link + session upsert

* chore: use biome 🚀 (#317)

* chore: use biome

* chore: use biome

* chore(indexer): verify call with alchemy signing key (#318)

* devops(indexer): update dockerfile

* chore(indexer): cleanup

* chore: update gitignore

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* fix(trigger): install right trigger.dev dep

---------

Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>
Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local>
Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* fix: merge typo

* fix: tailwind font config

* fix(indexer): trust proxy

* feat: token issuance trigger part 2 (#321)

* chore(alchemy): use gcloud endpoint

* docs(alchemy): update readme file

* docs(indexer): update readme file

* debug(indexer): gcloud automated deployment

* chore(alchemy): env values validation

* chore(indexer): improve logging

* chore(indexer): improve logging

* chore(indexer): stringify all logs

* debug(indexer): disable alchemy signature validation

* debug(indexer): disable alchemy signature validation

* chore(indexer): validate env and use trigger secret

* debug(faucet): save dist/ empty folder in git

* chore: update deps

* chore: improve env validations

* fix(alchemy): wrong import

* chore(indexer): improve logging

* debug(indexer): alchemy webhook handler

* debug(indexer): disable helmet

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* feat(indexer): alchemy signature middleware

* feat(indexer): validate alchemy signature

* chore(indexer): security improvements (#323)

* chore(indexer): disable alchemy validation

* feat: presale token issuance part 3 (#325)

* chore(alchemy): export types

* chore(indexer): log process event id

* chore(indexer): log process event id

* chore: prod network conig, validate networks

* wip(indexer): validate before triggering

* chore: add try catch

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: clean up

* devops(indexer): update dockerfile

* chore: format code

* devops: remove lhci reports

* fix(indexer): wrong import

* feat(trigger): transfer blpl token (#327)

* feat(trigger): transfer blpl token

* docs(trigger): token issuance jsdocs

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* devops(indexer): update dockerfile

* chore: remove type:module (#329)

* chore: remove type:module

* chore: remove type:module

* devops(indexer): test deployment

* devops(indexer): test deployment

* chore(supabase): use module

* feat(trigger): presale token issuance

* chore: format

* chore: use type:module for monorepo

* impr(webapp): add multibase provider (#326)

* config: create multibase provider

* chore: update multibase env variable

* impr(webapp): UI Update (#314)

* (wepapp)impr:landing distribution + filenames

* (wepapp)impr:auction card badge

* (wepapp)impr:steps pading + new text-size

* (wepapp)impr:text-size

* (wepapp)impr:refactored about us section

* (wepapp)impr:new tittles learning section

* (wepapp)impr:security section

* (wepapp)impr:tittle style and fonts

* (wepapp)impr:responsive impr

* fix:about section text-18 instead of text-sm

* fix:security responsive

* fix:hero padding

* fix:Final Mobil Tweaks

* impr(webapp): landing heros + mob-nav spacing

* impr(webapp): landing learn section updated blog links

* fix(webapp): info text foreground color

* impr(webapp): landing responsiveness

* imp(webapp): 3 steps needed responsiveness

* chore(webapp): rm duplicate component

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* feat: security updates (#331)

* feat(indexer): validate right usdt,usdc address

* feat(indexer): wait for finality and trx log

* fix(indexer): wrong import

* chore(indexer): fix build

* chore(webapp): format

* feat(webapp): bitlauncher blog category + blog tweaks (#324)

* wip: static blog files upt

* fix(webapp): blog article file gen + article ui tweaks

* chore(webapp): app ver upt + cms gen script

* docs: upt cms-ql.sh

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* impr(webapp): upt /services/datocms/datocms-blog.service.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* impr(webapp): upt /services/datocms/datocms-blog.service.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix(webapp): app build, missing file

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: format files

* fix(webapp): cached files error catch

* impr(webapp): static blog file error catch

* fix(webapp): static cached file chk

* feat: supabase schema and webapp updates  (#335)

* feat(indexer): add address registration validation

* feat: update database schema to support presales

* feat: repo/tokens (#336)

* chore: update repo packages (#338)

* feat: stable coin selector

* feat: presale ux ui

* chore: repo/contracts pkg

* chore: repo/utils pkg

* chore: repo/tsconfig pkg

* chore: repo/alchemy pkg

* chore: repo/jobs pkg

* chore: repo/supabase pkg

* docs: update readme

* chore: update bunlock

* chore(indexer): alchemy webhook

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* chore(alchemy): invert ternary

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* chore: not nullable values, format code

* chore: update node:crypto

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat(indexer): alchemy signature validation

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: fix build (#339)

* feat: validate user registration on event proxy (#340)

* chore: fix imports

* feat(indexer): validate user is registered

* feat: add presale deposit checks (#341)

* feat(indexer): is registered address

* feat(indexer): validate amount and timing

* wip(webapp): update project, presale and auction pages

* chore(webapp): improve error handling

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat: realtime presale data (#342)

* feat: real time presale data

* feat: real time presale data

* fix(webapp): header margin (#343)

* webapp:fix margin top

* webapp:add header tag

* webapp:fix margin top

* webapp:add md top

* webapp:add md top

* webapp:fix project tittle + pills responsive

* chore: august 3rd release [pre-prod] (#334)

* impr(webapp): upt mob ver of more info cards (#294)

* styles: update mobile version for information cards of home page

* styles: use tailwind css variables

* styles: add font family futura pt

* styles, config: add cornflowerblue variables on tailwind config and update information cards' background

* config: update font importation

* chore: replace BC with BL

* chore: replace bc files with bl files

* chore: replace bc files with bl files

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* fix(impr): verify font-style and text wording across landing (#309)

* fix(impr): verify font-style across landing

* fix(webapp): lufga bold font config

* fix(webapp): investor wording to contributor on texts

* fix(webapp): investors wording to contributors on texts (plural)

* chore(webapp): text, invest wording upt to contribute

* config: add multibase custom hook (#310)

* config: add multibase custom hook

* chore: update multibase hook and session hook

* chore: change inverted params

* impr(fix): multibase init call

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* feat: referral section ui - ver 0.1a (#311)

* chore(webapp): update gitignore

* chore: update cursor agent rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* feat(webapp): use dynamic loading in homepage (#313)

* feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312)

* feat: alchemy transfer hooks

* feat(trigger): listen token transfers

* feat(app-lib): add pino logger

* feat(trigger): address activity handler

* feat(indexer): security updates and alchemy proxy

* fix(webapp): logger bug

* chore(indexer): sentry middleware and app config

* chore(indexer): cleanup

* chore: update bunlock

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* feat(indexer): trigger address activity job (#316)

* impr(webapp): check short link gen (#301)

* fix(webapp): desktop padding

* wip(imp): check user share link

* fix(webapp): error var name scope

* chore: updating supabase schema & types

* feat(webapp): user table short link + session upsert

* chore: use biome 🚀 (#317)

* chore: use biome

* chore: use biome

* chore(indexer): verify call with alchemy signing key (#318)

* devops(indexer): update dockerfile

* chore(indexer): cleanup

* chore: update gitignore

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* fix(trigger): install right trigger.dev dep

* fix(indexer): trust proxy

* feat: token issuance trigger part 2 (#321)

* chore(alchemy): use gcloud endpoint

* docs(alchemy): update readme file

* docs(indexer): update readme file

* debug(indexer): gcloud automated deployment

* chore(alchemy): env values validation

* chore(indexer): improve logging

* chore(indexer): improve logging

* chore(indexer): stringify all logs

* debug(indexer): disable alchemy signature validation

* debug(indexer): disable alchemy signature validation

* chore(indexer): validate env and use trigger secret

* debug(faucet): save dist/ empty folder in git

* chore: update deps

* chore: improve env validations

* fix(alchemy): wrong import

* chore(indexer): improve logging

* debug(indexer): alchemy webhook handler

* debug(indexer): disable helmet

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* feat(indexer): alchemy signature middleware

* feat(indexer): validate alchemy signature

* chore(indexer): security improvements (#323)

* chore(indexer): disable alchemy validation

* feat: presale token issuance part 3 (#325)

* chore(alchemy): export types

* chore(indexer): log process event id

* chore(indexer): log process event id

* chore: prod network conig, validate networks

* wip(indexer): validate before triggering

* chore: add try catch

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: clean up

* devops(indexer): update dockerfile

* chore: format code

* devops: remove lhci reports

* fix(indexer): wrong import

* feat(trigger): transfer blpl token (#327)

* feat(trigger): transfer blpl token

* docs(trigger): token issuance jsdocs

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* devops(indexer): update dockerfile

* chore: remove type:module (#329)

* chore: remove type:module

* chore: remove type:module

* devops(indexer): test deployment

* devops(indexer): test deployment

* chore(supabase): use module

* feat(trigger): presale token issuance

* chore: format

* chore: use type:module for monorepo

* impr(webapp): add multibase provider (#326)

* config: create multibase provider

* chore: update multibase env variable

* impr(webapp): UI Update (#314)

* (wepapp)impr:landing distribution + filenames

* (wepapp)impr:auction card badge

* (wepapp)impr:steps pading + new text-size

* (wepapp)impr:text-size

* (wepapp)impr:refactored about us section

* (wepapp)impr:new tittles learning section

* (wepapp)impr:security section

* (wepapp)impr:tittle style and fonts

* (wepapp)impr:responsive impr

* fix:about section text-18 instead of text-sm

* fix:security responsive

* fix:hero padding

* fix:Final Mobil Tweaks

* impr(webapp): landing heros + mob-nav spacing

* impr(webapp): landing learn section updated blog links

* fix(webapp): info text foreground color

* impr(webapp): landing responsiveness

* imp(webapp): 3 steps needed responsiveness

* chore(webapp): rm duplicate component

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* feat: security updates (#331)

* feat(indexer): validate right usdt,usdc address

* feat(indexer): wait for finality and trx log

* fix(indexer): wrong import

* chore(indexer): fix build

* chore(webapp): format

* feat(webapp): bitlauncher blog category + blog tweaks (#324)

* wip: static blog files upt

* fix(webapp): blog article file gen + article ui tweaks

* chore(webapp): app ver upt + cms gen script

* docs: upt cms-ql.sh

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* impr(webapp): upt /services/datocms/datocms-blog.service.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* impr(webapp): upt /services/datocms/datocms-blog.service.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix(webapp): app build, missing file

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: format files

* fix(webapp): cached files error catch

* impr(webapp): static blog file error catch

* fix(webapp): static cached file chk

* feat: supabase schema and webapp updates  (#335)

* feat(indexer): add address registration validation

* feat: update database schema to support presales

* feat: repo/tokens (#336)

* chore: update repo packages (#338)

* feat: stable coin selector

* feat: presale ux ui

* chore: repo/contracts pkg

* chore: repo/utils pkg

* chore: repo/tsconfig pkg

* chore: repo/alchemy pkg

* chore: repo/jobs pkg

* chore: repo/supabase pkg

* docs: update readme

* chore: update bunlock

* chore(indexer): alchemy webhook

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* chore(alchemy): invert ternary

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* chore: not nullable values, format code

* chore: update node:crypto

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat(indexer): alchemy signature validation

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: fix build (#339)

* feat: validate user registration on event proxy (#340)

* chore: fix imports

* feat(indexer): validate user is registered

* feat: add presale deposit checks (#341)

* feat(indexer): is registered address

* feat(indexer): validate amount and timing

* wip(webapp): update project, presale and auction pages

* chore(webapp): improve error handling

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat: realtime presale data (#342)

* feat: real time presale data

* feat: real time presale data

* fix(webapp): header margin (#343)

* webapp:fix margin top

* webapp:add header tag

* webapp:fix margin top

* webapp:add md top

* webapp:add md top

* webapp:fix project tittle + pills responsive

---------

Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>
Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local>
Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>

* chore(fix): update apps/trigger package.json dep

* fix: cms gen merged files + use-session table upt + trigger/tsconfig upt

* fix: registration logic and indexer checks (#347)

* feat(indexer): check if address already bought

* fix(webapp): registration logic

* chore: update bunlock

* fix(webapp): arrow icon

* fix(webapp): arrow icon

* feat: upsert accounts table on login

* fix(webapp): move accounts to session hook

* feat: webapp/hotfix bl project status tag (#348)

* fix(webapp): tablet/small-screen header breakpoint

* impr(webapp): project page hero + blog links upt

* fix(webapp): project badge text upt

* content(webapp): token sale date tbd

* fix(webapp): hero title size (#350)

* fix(webapp): hero title size

* impr(webapp): share link toaster msg

* chore: presale hardcoded txt tweak

* impr(webapp): tailwindcss accent colour upt (#352)

* chore(webapp): learn section content upt (#354)

* chore: presale texts revisions (#351)

* chore: add @types/uuid

* chore: add @types/uuid

* fix(app-lib): tsconfig pkg extends

* fix: missing encoding dep

* feat: sitemap (#290)

* feat: add sitemap

* fix: error handling

* fix: move common types

* fix: update base url in sitemap

* Update apps/webapp/app/(routes)/[lang]/blog/[category]/sitemap.ts

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* Update apps/webapp/app/(routes)/[lang]/wallet/sitemap.ts

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* Update apps/webapp/app/(routes)/[lang]/whitepaper/sitemap.ts

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* fix: build error

* fix: remove unnecessary async declarative

* vendor: add @types/uuid

* fix: remove console log for debug

* fix: add 'async' to all sitemaps

* fix: make ProjectPageParams extends CommonPageParams

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* fix(webapp): UI/UX tweaks and upts from final v1 landing designs (#291)

* (webapp)fix:FAQ border radi + muted color

* (webapp)fix:newsletter spacing

* (webapp)fix:participate spacing and font family

* (webapp)fix:header spacing + bitlauncher logo size

* (webapp)fix:blog section 4 per row + purple link + gap

* (webapp)fix:hero-card spacing

* (webapp)fix:auction-card spaces

* (webapp)fix:Upcoming grid gap

* (webapp)fix:article card - text-left

* (webapp)fix:media-card text-start

* (webapp)fix:media-section purple link + space

* (webapp)fix:participate gap + section font and padding

* (webapp)fix:footer links padding + other spacing fix

* (webapp)fix:upcoming background circle

* (webapp)fix:footer margin-10

* (webapp)fix:upcoming bg shape

* (webapp)-andler-changes-request

* (webapp)-debug-toggle navigation icon

* (webapp)-create-mobile-navigation-context

* (webapp)-create-mobile-navigation-context

* (webapp)-fix navigation bug - add key

* (webapp)-Andler-changes

* (webapp)-responsive - upcoming

* (webapp)-fix-responsive-whychooseUs

* (webapp)-fix-responsive-participate

* (webapp)-fix-responsive-media

* (webapp)-fix-responsive-articles

* (webapp)-responsive-project-header+info+sharebtn

* (webapp)-feat-about-base

* (webapp)-feat-about-landing-complete

* (webapp)-feat-security-updated

* (webapp)-fix-steps-padding

* fix typo

* fix bgHeader type

* fix bgHeader type

* impr(webapp): layout tweaks

* impr(webapp): info pages img asset + css class

* fix: bun.lockb

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* feat: multichain indexer ( part 1 ) (#293)

* chore: update app-contracts

* feat: multichain indexer

* feat: prod chains

* feat: presale wallet

* feat: blpl token

* feat: blpl token

* chore: update bunlock

* feat: blpl token

* feat: presale evm contribs

* feat: blpl token

* wip: presale indexer

* chore(indexer): fix dockerfile

* feat: presale transaction indexing (#296)

* feat: report transaction id

* feat: save deposits data

* feat: save deposits data

* feat: read presale transactions

* chore: disable view all

* feat: update presale deposits ui

* feat: display amount raised and contributors

* chore: environment chains and tokens

* fix(webapp): desktop padding (#297)

* feat: multichain presale deposits (#298)

* chore: environment chains and tokens

* fix: chain switch

* fix: chain switch

* feat: update nav links (#299)

* chore: environment chains and tokens

* feat: update nav links

* chore: renable swaps service, index token from latest block

* feat(webapp): wallet ui updates (#300)

* fix: wagmi config

* feat(webapp): presale contribution report

* feat: realtime presale data

* feat: realtime presale data

* feat: update dropdown menu

* feat(supabase): update schema and types

* chore: debug presale token issuance

* feat: show issuance trx link on table

* impr(webapp): upt mob ver of more info cards (#294)

* styles: update mobile version for information cards of home page

* styles: use tailwind css variables

* styles: add font family futura pt

* styles, config: add cornflowerblue variables on tailwind config and update information cards' background

* config: update font importation

* chore: replace BC with BL

* chore: replace bc files with bl files

* chore: replace bc files with bl files

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* impr(webapp): upt mob ver of more info cards (#294) (#305)

* styles: update mobile version for information cards of home page

* styles: use tailwind css variables

* styles: add font family futura pt

* styles, config: add cornflowerblue variables on tailwind config and update information cards' background

* config: update font importation

* chore: replace BC with BL

* chore: replace bc files with bl files

* chore: replace bc files with bl files

---------

Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>

* fix(impr): verify font-style and text wording across landing (#309)

* fix(impr): verify font-style across landing

* fix(webapp): lufga bold font config

* fix(webapp): investor wording to contributor on texts

* fix(webapp): investors wording to contributors on texts (plural)

* chore(webapp): text, invest wording upt to contribute

* config: add multibase custom hook (#310)

* config: add multibase custom hook

* chore: update multibase hook and session hook

* chore: change inverted params

* impr(fix): multibase init call

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* feat: referral section ui - ver 0.1a (#311)

* chore(webapp): update gitignore

* chore: update cursor agent rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* feat(webapp): use dynamic loading in homepage (#313)

* feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312)

* feat: alchemy transfer hooks

* feat(trigger): listen token transfers

* feat(app-lib): add pino logger

* feat(trigger): address activity handler

* feat(indexer): security updates and alchemy proxy

* fix(webapp): logger bug

* chore(indexer): sentry middleware and app config

* chore(indexer): cleanup

* chore: update bunlock

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* feat(indexer): trigger address activity job (#316)

* impr(webapp): check short link gen (#301)

* fix(webapp): desktop padding

* wip(imp): check user share link

* fix(webapp): error var name scope

* chore: updating supabase schema & types

* feat(webapp): user table short link + session upsert

* chore: use biome 🚀 (#317)

* chore: use biome

* chore: use biome

* chore(indexer): verify call with alchemy signing key (#318)

* devops(indexer): update dockerfile

* chore(indexer): cleanup

* chore: update gitignore

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* fix(trigger): install right trigger.dev dep

* chore: august 2nd release [at TEST]  (#315)

* impr(webapp): upt mob ver of more info cards (#294)

* styles: update mobile version for information cards of home page

* styles: use tailwind css variables

* styles: add font family futura pt

* styles, config: add cornflowerblue variables on tailwind config and update information cards' background

* config: update font importation

* chore: replace BC with BL

* chore: replace bc files with bl files

* chore: replace bc files with bl files

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* fix(impr): verify font-style and text wording across landing (#309)

* fix(impr): verify font-style across landing

* fix(webapp): lufga bold font config

* fix(webapp): investor wording to contributor on texts

* fix(webapp): investors wording to contributors on texts (plural)

* chore(webapp): text, invest wording upt to contribute

* config: add multibase custom hook (#310)

* config: add multibase custom hook

* chore: update multibase hook and session hook

* chore: change inverted params

* impr(fix): multibase init call

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* feat: referral section ui - ver 0.1a (#311)

* chore(webapp): update gitignore

* chore: update cursor agent rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* feat(webapp): use dynamic loading in homepage (#313)

* feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312)

* feat: alchemy transfer hooks

* feat(trigger): listen token transfers

* feat(app-lib): add pino logger

* feat(trigger): address activity handler

* feat(indexer): security updates and alchemy proxy

* fix(webapp): logger bug

* chore(indexer): sentry middleware and app config

* chore(indexer): cleanup

* chore: update bunlock

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* feat(indexer): trigger address activity job (#316)

* impr(webapp): check short link gen (#301)

* fix(webapp): desktop padding

* wip(imp): check user share link

* fix(webapp): error var name scope

* chore: updating supabase schema & types

* feat(webapp): user table short link + session upsert

* chore: use biome 🚀 (#317)

* chore: use biome

* chore: use biome

* chore(indexer): verify call with alchemy signing key (#318)

* devops(indexer): update dockerfile

* chore(indexer): cleanup

* chore: update gitignore

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* fix(trigger): install right trigger.dev dep

---------

Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>
Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local>
Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* fix: merge typo

* fix: tailwind font config

* fix(indexer): trust proxy

* feat: token issuance trigger part 2 (#321)

* chore(alchemy): use gcloud endpoint

* docs(alchemy): update readme file

* docs(indexer): update readme file

* debug(indexer): gcloud automated deployment

* chore(alchemy): env values validation

* chore(indexer): improve logging

* chore(indexer): improve logging

* chore(indexer): stringify all logs

* debug(indexer): disable alchemy signature validation

* debug(indexer): disable alchemy signature validation

* chore(indexer): validate env and use trigger secret

* debug(faucet): save dist/ empty folder in git

* chore: update deps

* chore: improve env validations

* fix(alchemy): wrong import

* chore(indexer): improve logging

* debug(indexer): alchemy webhook handler

* debug(indexer): disable helmet

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* feat(indexer): alchemy signature middleware

* feat(indexer): validate alchemy signature

* chore(indexer): security improvements (#323)

* chore(indexer): disable alchemy validation

* feat: presale token issuance part 3 (#325)

* chore(alchemy): export types

* chore(indexer): log process event id

* chore(indexer): log process event id

* chore: prod network conig, validate networks

* wip(indexer): validate before triggering

* chore: add try catch

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: clean up

* devops(indexer): update dockerfile

* chore: format code

* devops: remove lhci reports

* fix(indexer): wrong import

* feat(trigger): transfer blpl token (#327)

* feat(trigger): transfer blpl token

* docs(trigger): token issuance jsdocs

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* devops(indexer): update dockerfile

* chore: remove type:module (#329)

* chore: remove type:module

* chore: remove type:module

* devops(indexer): test deployment

* devops(indexer): test deployment

* chore(supabase): use module

* feat(trigger): presale token issuance

* chore: format

* chore: use type:module for monorepo

* impr(webapp): add multibase provider (#326)

* config: create multibase provider

* chore: update multibase env variable

* impr(webapp): UI Update (#314)

* (wepapp)impr:landing distribution + filenames

* (wepapp)impr:auction card badge

* (wepapp)impr:steps pading + new text-size

* (wepapp)impr:text-size

* (wepapp)impr:refactored about us section

* (wepapp)impr:new tittles learning section

* (wepapp)impr:security section

* (wepapp)impr:tittle style and fonts

* (wepapp)impr:responsive impr

* fix:about section text-18 instead of text-sm

* fix:security responsive

* fix:hero padding

* fix:Final Mobil Tweaks

* impr(webapp): landing heros + mob-nav spacing

* impr(webapp): landing learn section updated blog links

* fix(webapp): info text foreground color

* impr(webapp): landing responsiveness

* imp(webapp): 3 steps needed responsiveness

* chore(webapp): rm duplicate component

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* feat: security updates (#331)

* feat(indexer): validate right usdt,usdc address

* feat(indexer): wait for finality and trx log

* fix(indexer): wrong import

* chore(indexer): fix build

* chore(webapp): format

* feat(webapp): bitlauncher blog category + blog tweaks (#324)

* wip: static blog files upt

* fix(webapp): blog article file gen + article ui tweaks

* chore(webapp): app ver upt + cms gen script

* docs: upt cms-ql.sh

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* impr(webapp): upt /services/datocms/datocms-blog.service.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* impr(webapp): upt /services/datocms/datocms-blog.service.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix(webapp): app build, missing file

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: format files

* fix(webapp): cached files error catch

* impr(webapp): static blog file error catch

* fix(webapp): static cached file chk

* feat: supabase schema and webapp updates  (#335)

* feat(indexer): add address registration validation

* feat: update database schema to support presales

* feat: repo/tokens (#336)

* chore: update repo packages (#338)

* feat: stable coin selector

* feat: presale ux ui

* chore: repo/contracts pkg

* chore: repo/utils pkg

* chore: repo/tsconfig pkg

* chore: repo/alchemy pkg

* chore: repo/jobs pkg

* chore: repo/supabase pkg

* docs: update readme

* chore: update bunlock

* chore(indexer): alchemy webhook

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* chore(alchemy): invert ternary

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* chore: not nullable values, format code

* chore: update node:crypto

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat(indexer): alchemy signature validation

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: fix build (#339)

* feat: validate user registration on event proxy (#340)

* chore: fix imports

* feat(indexer): validate user is registered

* feat: add presale deposit checks (#341)

* feat(indexer): is registered address

* feat(indexer): validate amount and timing

* wip(webapp): update project, presale and auction pages

* chore(webapp): improve error handling

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat: realtime presale data (#342)

* feat: real time presale data

* feat: real time presale data

* fix(webapp): header margin (#343)

* webapp:fix margin top

* webapp:add header tag

* webapp:fix margin top

* webapp:add md top

* webapp:add md top

* webapp:fix project tittle + pills responsive

* chore: august 3rd release [pre-prod] (#334)

* impr(webapp): upt mob ver of more info cards (#294)

* styles: update mobile version for information cards of home page

* styles: use tailwind css variables

* styles: add font family futura pt

* styles, config: add cornflowerblue variables on tailwind config and update information cards' background

* config: update font importation

* chore: replace BC with BL

* chore: replace bc files with bl files

* chore: replace bc files with bl files

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* fix(impr): verify font-style and text wording across landing (#309)

* fix(impr): verify font-style across landing

* fix(webapp): lufga bold font config

* fix(webapp): investor wording to contributor on texts

* fix(webapp): investors wording to contributors on texts (plural)

* chore(webapp): text, invest wording upt to contribute

* config: add multibase custom hook (#310)

* config: add multibase custom hook

* chore: update multibase hook and session hook

* chore: change inverted params

* impr(fix): multibase init call

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* feat: referral section ui - ver 0.1a (#311)

* chore(webapp): update gitignore

* chore: update cursor agent rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* fix: action example on cursor rules

* feat(webapp): use dynamic loading in homepage (#313)

* feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312)

* feat: alchemy transfer hooks

* feat(trigger): listen token transfers

* feat(app-lib): add pino logger

* feat(trigger): address activity handler

* feat(indexer): security updates and alchemy proxy

* fix(webapp): logger bug

* chore(indexer): sentry middleware and app config

* chore(indexer): cleanup

* chore: update bunlock

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* feat(indexer): trigger address activity job (#316)

* impr(webapp): check short link gen (#301)

* fix(webapp): desktop padding

* wip(imp): check user share link

* fix(webapp): error var name scope

* chore: updating supabase schema & types

* feat(webapp): user table short link + session upsert

* chore: use biome 🚀 (#317)

* chore: use biome

* chore: use biome

* chore(indexer): verify call with alchemy signing key (#318)

* devops(indexer): update dockerfile

* chore(indexer): cleanup

* chore: update gitignore

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* debug(indexer): gcloud deployment

* fix(trigger): install right trigger.dev dep

* fix(indexer): trust proxy

* feat: token issuance trigger part 2 (#321)

* chore(alchemy): use gcloud endpoint

* docs(alchemy): update readme file

* docs(indexer): update readme file

* debug(indexer): gcloud automated deployment

* chore(alchemy): env values validation

* chore(indexer): improve logging

* chore(indexer): improve logging

* chore(indexer): stringify all logs

* debug(indexer): disable alchemy signature validation

* debug(indexer): disable alchemy signature validation

* chore(indexer): validate env and use trigger secret

* debug(faucet): save dist/ empty folder in git

* chore: update deps

* chore: improve env validations

* fix(alchemy): wrong import

* chore(indexer): improve logging

* debug(indexer): alchemy webhook handler

* debug(indexer): disable helmet

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* debug(indexer): alchemy hook handler

* feat(indexer): alchemy signature middleware

* feat(indexer): validate alchemy signature

* chore(indexer): security improvements (#323)

* chore(indexer): disable alchemy validation

* feat: presale token issuance part 3 (#325)

* chore(alchemy): export types

* chore(indexer): log process event id

* chore(indexer): log process event id

* chore: prod network conig, validate networks

* wip(indexer): validate before triggering

* chore: add try catch

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: clean up

* devops(indexer): update dockerfile

* chore: format code

* devops: remove lhci reports

* fix(indexer): wrong import

* feat(trigger): transfer blpl token (#327)

* feat(trigger): transfer blpl token

* docs(trigger): token issuance jsdocs

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* devops(indexer): update dockerfile

* chore: remove type:module (#329)

* chore: remove type:module

* chore: remove type:module

* devops(indexer): test deployment

* devops(indexer): test deployment

* chore(supabase): use module

* feat(trigger): presale token issuance

* chore: format

* chore: use type:module for monorepo

* impr(webapp): add multibase provider (#326)

* config: create multibase provider

* chore: update multibase env variable

* impr(webapp): UI Update (#314)

* (wepapp)impr:landing distribution + filenames

* (wepapp)impr:auction card badge

* (wepapp)impr:steps pading + new text-size

* (wepapp)impr:text-size

* (wepapp)impr:refactored about us section

* (wepapp)impr:new tittles learning section

* (wepapp)impr:security section

* (wepapp)impr:tittle style and fonts

* (wepapp)impr:responsive impr

* fix:about section text-18 instead of text-sm

* fix:security responsive

* fix:hero padding

* fix:Final Mobil Tweaks

* impr(webapp): landing heros + mob-nav spacing

* impr(webapp): landing learn section updated blog links

* fix(webapp): info text foreground color

* impr(webapp): landing responsiveness

* imp(webapp): 3 steps needed responsiveness

* chore(webapp): rm duplicate component

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* feat: security updates (#331)

* feat(indexer): validate right usdt,usdc address

* feat(indexer): wait for finality and trx log

* fix(indexer): wrong import

* chore(indexer): fix build

* chore(webapp): format

* feat(webapp): bitlauncher blog category + blog tweaks (#324)

* wip: static blog files upt

* fix(webapp): blog article file gen + article ui tweaks

* chore(webapp): app ver upt + cms gen script

* docs: upt cms-ql.sh

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* impr(webapp): upt /services/datocms/datocms-blog.service.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* impr(webapp): upt /services/datocms/datocms-blog.service.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix(webapp): app build, missing file

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: format files

* fix(webapp): cached files error catch

* impr(webapp): static blog file error catch

* fix(webapp): static cached file chk

* feat: supabase schema and webapp updates  (#335)

* feat(indexer): add address registration validation

* feat: update database schema to support presales

* feat: repo/tokens (#336)

* chore: update repo packages (#338)

* feat: stable coin selector

* feat: presale ux ui

* chore: repo/contracts pkg

* chore: repo/utils pkg

* chore: repo/tsconfig pkg

* chore: repo/alchemy pkg

* chore: repo/jobs pkg

* chore: repo/supabase pkg

* docs: update readme

* chore: update bunlock

* chore(indexer): alchemy webhook

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* docs: update readme

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* chore(alchemy): invert ternary

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* chore: not nullable values, format code

* chore: update node:crypto

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat(indexer): alchemy signature validation

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: fix build (#339)

* feat: validate user registration on event proxy (#340)

* chore: fix imports

* feat(indexer): validate user is registered

* feat: add presale deposit checks (#341)

* feat(indexer): is registered address

* feat(indexer): validate amount and timing

* wip(webapp): update project, presale and auction pages

* chore(webapp): improve error handling

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat: realtime presale data (#342)

* feat: real time presale data

* feat: real time presale data

* fix(webapp): header margin (#343)

* webapp:fix margin top

* webapp:add header tag

* webapp:fix margin top

* webapp:add md top

* webapp:add md top

* webapp:fix project tittle + pills responsive

---------

Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>
Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local>
Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>

* chore(fix): update apps/trigger package.json dep

* fix: cms gen merged files + use-session table upt + trigger/tsconfig upt

* fix: registration logic and indexer checks (#347)

* feat(indexer): check if address already bought

* fix(webapp): registration logic

* chore: update bunlock

* fix(webapp): arrow icon

* fix(webapp): arrow icon

* feat: upsert accounts table on login

* fix(webapp): move accounts to session hook

* feat: webapp/hotfix bl project status tag (#348)

* fix(webapp): tablet/small-screen header breakpoint

* impr(webapp): project page hero + blog links upt

* fix(webapp): project badge text upt

* content(webapp): token sale date tbd

* fix(webapp): hero title size (#350)

* fix(webapp): hero title size

* impr(webapp): share link toaster msg

* chore: presale hardcoded txt tweak

---------

Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com>
Co-authored-by: Nathanael Liu <supernathanliu@gmail.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>
Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* impr(webapp): tailwindcss accent colours + landing hero accent colour upt (#353)

* chore: add @types/uuid

* chore: add @types/uuid

* fix(app-lib): tsconfig pkg extends

* fix: missing encoding dep

* feat: sitemap (#290)

* feat: add sitemap

* fix: error handling

* fix: move common types

* fix: update base url in sitemap

* Update apps/webapp/app/(routes)/[lang]/blog/[category]/sitemap.ts

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* Update apps/webapp/app/(routes)/[lang]/wallet/sitemap.ts

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* Update apps/webapp/app/(routes)/[lang]/whitepaper/sitemap.ts

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* fix: build error

* fix: remove unnecessary async declarative

* vendor: add @types/uuid

* fix: remove console log for debug

* fix: add 'async' to all sitemaps

* fix: make ProjectPageParams extends CommonPageParams

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* fix(webapp): UI/UX tweaks and upts from final v1 landing designs (#291)

* (webapp)fix:FAQ border radi + muted color

* (webapp)fix:newsletter spacing

* (webapp)fix:participate spacing and font family

* (webapp)fix:header spacing + bitlauncher logo size

* (webapp)fix:blog section 4 per row + purple link + gap

* (webapp)fix:hero-card spacing

* (webapp)fix:auction-card spaces

* (webapp)fix:Upcoming grid gap

* (webapp)fix:article card - text-left

* (webapp)fix:media-card text-start

* (webapp)fix:media-section purple link + space

* (webapp)fix:participate gap + section font and padding

* (webapp)fix:footer links padding + other spacing fix

* (webapp)fix:upcoming background circle

* (webapp)fix:footer margin-10

* (webapp)fix:upcoming bg shape

* (webapp)-andler-changes-request

* (webapp)-debug-toggle navigation icon

* (webapp)-create-mobile-navigation-context

* (webapp)-create-mobile-navigation-context

* (webapp)-fix navigation bug - add key

* (webapp)-Andler-changes

* (webapp)-responsive - upcoming

* (webapp)-fix-responsive-whychooseUs

* (webapp)-fix-responsive-participate

* (webapp)-fix-responsive-media

* (webapp)-fix-responsive-articles

* (webapp)-responsive-project-header+info+sharebtn

* (webapp)-feat-about-base

* (webapp)-feat-about-landing-complete

* (webapp)-feat-security-updated

* (webapp)-fix-steps-padding

* fix typo

* fix bgHeader type

* fix bgHeader type

* impr(webapp): layout tweaks

* impr(webapp): info pages img asset + css class

* fix: bun.lockb

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* feat: multichain indexer ( part 1 ) (#293)

* chore: update app-contracts

* feat: multichain indexer

* feat: prod chains

* feat: presale wallet

* feat: blpl token

* feat: blpl token

* chore: update bunlock

* feat: blpl token

* feat: presale evm contribs

* feat: blpl token

* wip: presale indexer

* chore(indexer): fix dockerfile

* feat: presale transaction indexing (#296)

* feat: report transaction id

* feat: save deposits data

* feat: save deposits data

* feat: read presale transactions

* chore: disable view all

* feat: update presale deposits ui

* feat: display amount raised and contributors

* chore: environment chains and tokens

* fix(webapp): desktop padding (#297)

* feat: multichain presale deposits (#298)

* chore: environment chains and tokens

* fix: chain switch

* fix: chain switch

* feat: update nav links (#299)

* chore: environment chains and tokens

* feat: update nav links

* chore: renable swaps service, index token from latest block

* feat(webapp): wallet ui updates (#300)

* fix: wagmi config

* feat(webapp): presale contribution report

* feat: realtime presale data

* feat: realtime presale data

* feat: update dropdown menu

* feat(supabase): update schema and types

* chore: debug presale token issuance

* feat: show issuance trx link on table

* impr(webapp): upt mob ver of more info cards (#294)

* styles: update mobile version for information cards of home page

* styles: use tailwind css variables

* styles: add font family futura pt

* styles, config: add cornflowerblue variables on tailwind config and update information cards' background

* config: update font importation

* chore: replace BC with BL

* chore: replace bc files with bl files

* chore: replace bc files with bl files

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* impr(webapp): upt mob ver of more info cards (#294) (#305)

* styles: update mobile version for information cards of home page

* styles: use tailwind css variables

* styles: add font family futura pt

* styles, config: add cornflowerblue variables on tailwind config and update information cards' background

* config: update font importation

* chore: replace BC with BL

* chore: replace bc files with bl…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant