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

chore(indexer): security improvements #323

Merged
merged 1 commit into from
Aug 23, 2024
Merged

Conversation

gaboesquivel
Copy link
Member

@gaboesquivel gaboesquivel commented Aug 23, 2024

Summary by Sourcery

Enhance the indexer application by adding a new Alchemy webhook handler and improving security with rate limiting and environment variable validation. Remove obsolete code related to Alchemy context and signature validation.

New Features:

  • Introduce a new Alchemy webhook handler to process incoming webhook requests, validate signatures, and trigger address activity tasks.

Enhancements:

  • Enhance security by adding rate limiting to the Express app, limiting each IP to 100 requests per minute.
  • Improve environment variable validation using a schema to ensure correct format and presence of required variables.

Chores:

  • Remove unused imports and code related to Alchemy context and signature validation from the indexer routes.

Summary by CodeRabbit

  • New Features

    • Introduced webhook handling functionality for processing incoming requests from Alchemy, improving interaction with the webhook system.
    • Added validation for critical environment variables to enhance application reliability.
  • Bug Fixes

    • Improved error handling in the address activity task for more consistent logging of error messages.
  • Chores

    • Streamlined middleware configuration to enhance security and request handling.

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 5:18am
smartsale-faucet ✅ Ready (Inspect) Visit Preview 💬 Add feedback Aug 23, 2024 5:18am

Copy link
Contributor

coderabbitai bot commented Aug 23, 2024

Caution

Review failed

The pull request is closed.

Walkthrough

The recent changes introduce functionality for handling Alchemy webhook requests, enhance error handling in the address activity task, and implement environment variable validation using the zod library. Middleware configurations in the Express application have been adjusted, including improved request body size handling and updated rate limiting settings. Logging functionality has been commented out, reflecting a shift in logging strategy.

Changes

File Path Change Summary
.../routes/alchemy.ts Introduced alchemyWebhook function for processing Alchemy webhooks, validating signatures, and logging events. Defined AlchemyWebhookEvent interface and AlchemyWebhookType type.
.../routes/index.ts Modified middleware configuration: set request body size limit to '1mb', updated rate limiting options, and commented out pinoHttp logging. Sentry error handler repositioned.
.../trigger/config.ts Added zod validation for ISSUER_KEY and ISSUER_ADDRESS environment variables; updated appenv to use validated values.
.../trigger/activity.ts Enhanced error handling in addressActivityTask by using getErrorMessage for standardized error message logging.

Sequence Diagram(s)

sequenceDiagram
    participant Webhook as Alchemy Webhook
    participant Server as Express Server
    participant Task as Address Activity Task
    participant Logger as Logger

    Webhook->>Server: Send webhook request
    Server->>Server: Validate signature
    alt Signature valid
        Server->>Task: Trigger address activity task
        Task->>Logger: Log activity
        Server-->>Webhook: Respond 200 OK
    else Signature invalid
        Server-->>Webhook: Respond 401 Unauthorized
    end
Loading

🐰 In the meadow, changes bloom,
New webhooks sing, dispelling gloom.
With validated keys, we hop with glee,
Errors now clearer, as they should be!
Middleware dances, logging takes flight,
In this sprightly code, all feels just right! ✨


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 bot commented Aug 23, 2024

Reviewer's Guide by Sourcery

This pull request implements security improvements in the indexer application. The changes focus on enhancing input validation, improving error handling, and refactoring the Alchemy webhook handling process. The modifications also include updates to the Express server setup, environment variable validation, and minor adjustments to the trigger application.

File-Level Changes

Change Details Files
Improved Express server setup with enhanced security measures
  • Added body size limit to express.json middleware
  • Updated rate limiting configuration with standard and legacy headers
  • Reordered middleware setup for better security
  • Commented out and updated logging middleware to reduce sensitive information exposure
apps/indexer/src/routes/index.ts
Implemented environment variable validation using Zod
  • Added Zod schema for environment variables
  • Implemented validation check for ISSUER_KEY and ISSUER_ADDRESS
  • Updated appenv object to use validated environment variables
apps/trigger/src/config.ts
Refactored Alchemy webhook handling
  • Created a new file for Alchemy webhook handling
  • Implemented signature validation for Alchemy webhooks
  • Added types for Alchemy webhook events
apps/indexer/src/routes/alchemy.ts
Removed deprecated Alchemy helper files
  • Deleted alchemy/helpers.ts
  • Deleted alchemy/index.ts
apps/indexer/src/routes/alchemy/helpers.ts
apps/indexer/src/routes/alchemy/index.ts
Updated error handling in trigger activity
  • Replaced direct error message access with getErrorMessage function
apps/trigger/src/trigger/activity.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

@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 and found some issues that need to be addressed.

Blocking issues:

  • Hard-coded secret key found in code. (link)

Overall Comments:

  • Consider either implementing the improved logging middleware or removing the commented-out code entirely. Commented-out code in production can lead to confusion and maintenance issues.
  • It would be helpful to add comments explaining the rationale behind some of the security changes, particularly the rate limiting configuration. This can help future maintainers understand the reasoning behind these choices.
Here's what I looked at during the review
  • 🟡 General issues: 1 issue found
  • 🔴 Security: 1 blocking issue, 3 other issues
  • 🟢 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/index.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
apps/indexer/src/routes/alchemy.ts Show resolved Hide resolved
apps/indexer/src/routes/alchemy.ts Show resolved Hide resolved
apps/indexer/src/routes/alchemy.ts Show resolved Hide resolved
@gaboesquivel gaboesquivel merged commit 72c0edb into develop Aug 23, 2024
4 checks passed
@gaboesquivel gaboesquivel deleted the indexer-improvements branch August 23, 2024 05:18
Copy link

⚡️ Lighthouse report

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

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

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

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

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

Category Score
🔴 Performance 34
🟠 Accessibility 61
🟠 Best practices 74
🟠 SEO 79
🔴 PWA 38

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

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

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

Category Score
🔴 Performance 39
🟠 Accessibility 66
🟠 Best practices 74
🟠 SEO 86
🔴 PWA 38

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

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

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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
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 <[email protected]>
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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Nathanael Liu <[email protected]>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: Brandon Fernández <[email protected]>
Co-authored-by: Leandro Gavidia Santamaria <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Nathanael Liu <[email protected]>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: Brandon Fernández <[email protected]>
Co-authored-by: Leandro Gavidia Santamaria <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Nathanael Liu <[email protected]>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: Brandon Fernández <[email protected]>
Co-authored-by: Leandro Gavidia Santamaria <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Nathanael Liu <[email protected]>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: Brandon Fernández <[email protected]>
Co-authored-by: Leandro Gavidia Santamaria <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Nathanael Liu <[email protected]>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: Brandon Fernández <[email protected]>
Co-authored-by: Leandro Gavidia Santamaria <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Nathanael Liu <[email protected]>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: Brandon Fernández <[email protected]>
Co-authored-by: Leandro Gavidia Santamaria <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
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 <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: Brandon Fernández <[email protected]>
Co-authored-by: Leandro Gavidia Santamaria <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Nathanael Liu <[email protected]>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: Brandon Fernández <[email protected]>
Co-authored-by: Leandro Gavidia Santamaria <[email protected]>
Co-authored-by: Gabo Esquivel <[email protected]>
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 <[email protected]>

* 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 <[email protected]>

* 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