-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: presale token issuance part 3 #325
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
Reviewer's Guide by SourceryThis pull request implements the third part of the presale token issuance feature. It focuses on enhancing the Alchemy webhook handling, refining the supported blockchain networks, and improving the address activity processing. File-Level Changes
Tips
|
Caution Review failedThe pull request is closed. WalkthroughThe changes include updates to configuration files, dependencies, and TypeScript interfaces across various applications. Notable modifications involve restructuring package names, adding new types for webhook events, enhancing validation logic, and streamlining the production chain list. These adjustments focus on improving code organization and refining the functionality related to the Alchemy SDK and webhook processing. Changes
Sequence Diagram(s)sequenceDiagram
participant User as User
participant Alchemy as Alchemy SDK
participant Webhook as Webhook Handler
participant Config as Configuration
User->>Webhook: Send webhook event
Webhook->>Config: Validate event type and network
alt Valid event
Webhook->>Alchemy: Process event
Alchemy-->>Webhook: Acknowledge processing
else Invalid event
Webhook-->>User: Respond with 401 Unauthorized
end
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? TipsChatThere are 3 ways to chat with CodeRabbit:
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)
Additionally, you can add CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @gaboesquivel - I've reviewed your changes - here's some feedback:
Overall Comments:
- Consider changing the absolute import path in alchemy.ts to a relative or aliased import to avoid potential issues with file system differences.
- The TODO comments in the code should be addressed before merging. If they represent future work, consider creating separate issues and referencing them in the code instead.
- The error handling in addressActivityTask could be improved. Consider adding more context to the error or implementing a more robust error handling strategy.
Here's what I looked at during the review
- 🟡 General issues: 2 issues found
- 🟢 Security: all looks good
- 🟢 Testing: all looks good
- 🟢 Complexity: all looks good
- 🟢 Documentation: all looks good
Help me be more useful! Please click 👍 or 👎 on each comment to tell me if it was helpful.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files ignored due to path filters (1)
bun.lockb
is excluded by!**/bun.lockb
Files selected for processing (11)
- .vscode/settings.json (1 hunks)
- apps/alchemy/package.json (1 hunks)
- apps/alchemy/src/create.ts (1 hunks)
- apps/alchemy/src/index.ts (1 hunks)
- apps/alchemy/src/types.ts (1 hunks)
- apps/indexer/package.json (1 hunks)
- apps/indexer/src/config.ts (2 hunks)
- apps/indexer/src/routes/alchemy.ts (3 hunks)
- apps/trigger/package.json (1 hunks)
- apps/trigger/src/trigger/activity.ts (1 hunks)
- packages/app-env/src/chains.ts (2 hunks)
Files skipped from review due to trivial changes (3)
- .vscode/settings.json
- apps/alchemy/src/index.ts
- apps/trigger/package.json
Additional context used
Biome
apps/alchemy/src/types.ts
[error] 7-7: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 7-7: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 1-1: All these imports are only used as types.
Importing the types with import type ensures that they are removed by the transpilers and avoids loading unnecessary modules.
Safe fix: Use import type.(lint/style/useImportType)
Additional comments not posted (15)
apps/alchemy/package.json (3)
2-2
: Scoped package name change is appropriate.The update to a scoped package name enhances modularity and versioning control within a larger repository.
4-4
: Addition of TypeScript types is beneficial.Including TypeScript type definitions enhances type safety and developer experience for consumers of the package.
7-7
: Script command update aligns with new workflows.Replacing the
"push"
script with a"create"
script likely reflects a new workflow or functionality that the project aims to support.apps/trigger/src/trigger/activity.ts (3)
7-7
: Function signature update enhances type safety.Updating the function signature to use
AlchemyWebhookEvent
improves type safety and clarity regarding the expected structure of the input payload.
9-13
: Internal logic changes streamline logging and error handling.The changes improve performance and readability by reducing unnecessary data output and simplifying error handling.
1-1
: Useimport type
for type-only imports.To ensure types are removed by the transpilers and avoid loading unnecessary modules, use
import type
.Apply this diff to update the import statement:
-import { AlchemyWebhookEvent, AlchemyActivity } from '@repo/alchemy' +import type { AlchemyWebhookEvent, AlchemyActivity } from '@repo/alchemy'Likely invalid or redundant comment.
apps/alchemy/src/types.ts (1)
15-31
: InterfacesAlchemyActivity
andAlchemyActivityEvent
are well-defined.The interfaces provide a clear structure for activities and events, aligning with the expected data structure.
packages/app-env/src/chains.ts (1)
34-46
: Streamlined production chains and clear documentation.The removal of certain chains from
prodChains
and the addition of a comment about Solana's exclusion reflect a strategic focus on EVM-compatible chains. The exports are consistent and enhance clarity.apps/indexer/package.json (1)
19-19
: Dependency addition approved. Verify its usage.The addition of
@repo/alchemy
to the dependencies is approved. Ensure that this package is correctly integrated and utilized in the codebase.Run the following script to verify the usage of
@repo/alchemy
:Verification successful
Dependency usage verified. The
@repo/alchemy
package is actively and correctly utilized in the codebase, with its types being used in task definitions and request handling.
apps/trigger/src/trigger/activity.ts
:AlchemyWebhookEvent
andAlchemyActivity
are used in task logic.apps/indexer/src/routes/alchemy.ts
:AlchemyWebhookEvent
is used for request body typing.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the usage of `@repo/alchemy` in the codebase. # Test: Search for imports or usage of `@repo/alchemy`. Expect: Occurrences of its usage. rg --type js --type ts '@repo/alchemy'Length of output: 242
Script:
#!/bin/bash # Check the usage of AlchemyWebhookEvent and AlchemyActivity in the identified files. # Search for usage of AlchemyWebhookEvent and AlchemyActivity in apps/trigger/src/trigger/activity.ts rg 'AlchemyWebhookEvent|AlchemyActivity' apps/trigger/src/trigger/activity.ts -A 5 # Search for usage of AlchemyWebhookEvent in apps/indexer/src/routes/alchemy.ts rg 'AlchemyWebhookEvent' apps/indexer/src/routes/alchemy.ts -A 5Length of output: 1211
apps/indexer/src/config.ts (2)
24-29
: LGTM! The addition ofPRESALE_ADDRESS
is consistent.The validation logic for
PRESALE_ADDRESS
usingisAddress
is consistent with other address validations in the file.
43-43
: LGTM! The update toappConfig
is straightforward.The addition of
presaleAddress
toappConfig
is correctly implemented.apps/indexer/src/routes/alchemy.ts (4)
11-19
: LGTM! EnsurechainIdToNetwork
covers all necessary chain IDs.The mapping is correctly implemented for the specified chain IDs.
42-50
: LGTM! The validation logic is comprehensive.The validation logic in
alchemyWebhook
is well-implemented and enhances security.
58-58
: LGTM! Including the event ID in the response message is a good enhancement.The change provides clearer feedback on the specific webhook processed.
2-2
: Verify the correctness of the import path forAlchemyWebhookEvent
.Ensure that
AlchemyWebhookEvent
is correctly imported from@repo/alchemy
and that this aligns with the removal of the interface declaration from the file.Run the following script to verify the import path:
⚡️ Lighthouse report Page: https://bitlauncher-ocze1zlry-bitcash.vercel.app/
Page: https://bitlauncher-ocze1zlry-bitcash.vercel.app/about
Page: https://bitlauncher-ocze1zlry-bitcash.vercel.app/security
Page: https://bitlauncher-ocze1zlry-bitcash.vercel.app/bitcash-bitlauncher
Page: https://bitlauncher-ocze1zlry-bitcash.vercel.app/blog
Page: https://bitlauncher-ocze1zlry-bitcash.vercel.app/blog/ai
|
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep * fix(indexer): trust proxy * feat: token issuance trigger part 2 (#321) * chore(alchemy): use gcloud endpoint * docs(alchemy): update readme file * docs(indexer): update readme file * debug(indexer): gcloud automated deployment * chore(alchemy): env values validation * chore(indexer): improve logging * chore(indexer): improve logging * chore(indexer): stringify all logs * debug(indexer): disable alchemy signature validation * debug(indexer): disable alchemy signature validation * chore(indexer): validate env and use trigger secret * debug(faucet): save dist/ empty folder in git * chore: update deps * chore: improve env validations * fix(alchemy): wrong import * chore(indexer): improve logging * debug(indexer): alchemy webhook handler * debug(indexer): disable helmet * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * feat(indexer): alchemy signature middleware * feat(indexer): validate alchemy signature * chore(indexer): security improvements (#323) * chore(indexer): disable alchemy validation * feat: presale token issuance part 3 (#325) * chore(alchemy): export types * chore(indexer): log process event id * chore(indexer): log process event id * chore: prod network conig, validate networks * wip(indexer): validate before triggering * chore: add try catch Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: clean up * devops(indexer): update dockerfile * chore: format code * devops: remove lhci reports * fix(indexer): wrong import * feat(trigger): transfer blpl token (#327) * feat(trigger): transfer blpl token * docs(trigger): token issuance jsdocs Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * devops(indexer): update dockerfile * chore: remove type:module (#329) * chore: remove type:module * chore: remove type:module * devops(indexer): test deployment * devops(indexer): test deployment * chore(supabase): use module * feat(trigger): presale token issuance * chore: format * chore: use type:module for monorepo * impr(webapp): add multibase provider (#326) * config: create multibase provider * chore: update multibase env variable * impr(webapp): UI Update (#314) * (wepapp)impr:landing distribution + filenames * (wepapp)impr:auction card badge * (wepapp)impr:steps pading + new text-size * (wepapp)impr:text-size * (wepapp)impr:refactored about us section * (wepapp)impr:new tittles learning section * (wepapp)impr:security section * (wepapp)impr:tittle style and fonts * (wepapp)impr:responsive impr * fix:about section text-18 instead of text-sm * fix:security responsive * fix:hero padding * fix:Final Mobil Tweaks * impr(webapp): landing heros + mob-nav spacing * impr(webapp): landing learn section updated blog links * fix(webapp): info text foreground color * impr(webapp): landing responsiveness * imp(webapp): 3 steps needed responsiveness * chore(webapp): rm duplicate component --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat: security updates (#331) * feat(indexer): validate right usdt,usdc address * feat(indexer): wait for finality and trx log * fix(indexer): wrong import * chore(indexer): fix build * chore(webapp): format * feat(webapp): bitlauncher blog category + blog tweaks (#324) * wip: static blog files upt * fix(webapp): blog article file gen + article ui tweaks * chore(webapp): app ver upt + cms gen script * docs: upt cms-ql.sh Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(webapp): app build, missing file --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: format files * fix(webapp): cached files error catch * impr(webapp): static blog file error catch * fix(webapp): static cached file chk * feat: supabase schema and webapp updates (#335) * feat(indexer): add address registration validation * feat: update database schema to support presales * feat: repo/tokens (#336) * chore: update repo packages (#338) * feat: stable coin selector * feat: presale ux ui * chore: repo/contracts pkg * chore: repo/utils pkg * chore: repo/tsconfig pkg * chore: repo/alchemy pkg * chore: repo/jobs pkg * chore: repo/supabase pkg * docs: update readme * chore: update bunlock * chore(indexer): alchemy webhook Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore(alchemy): invert ternary Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore: not nullable values, format code * chore: update node:crypto Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(indexer): alchemy signature validation Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: fix build (#339) * feat: validate user registration on event proxy (#340) * chore: fix imports * feat(indexer): validate user is registered * feat: add presale deposit checks (#341) * feat(indexer): is registered address * feat(indexer): validate amount and timing * wip(webapp): update project, presale and auction pages * chore(webapp): improve error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: realtime presale data (#342) * feat: real time presale data * feat: real time presale data * fix(webapp): header margin (#343) * webapp:fix margin top * webapp:add header tag * webapp:fix margin top * webapp:add md top * webapp:add md top * webapp:fix project tittle + pills responsive --------- Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local> Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
* chore: add @types/uuid * chore: add @types/uuid * fix(app-lib): tsconfig pkg extends * fix: missing encoding dep * feat: sitemap (#290) * feat: add sitemap * fix: error handling * fix: move common types * fix: update base url in sitemap * Update apps/webapp/app/(routes)/[lang]/blog/[category]/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/wallet/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/whitepaper/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: build error * fix: remove unnecessary async declarative * vendor: add @types/uuid * fix: remove console log for debug * fix: add 'async' to all sitemaps * fix: make ProjectPageParams extends CommonPageParams --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix(webapp): UI/UX tweaks and upts from final v1 landing designs (#291) * (webapp)fix:FAQ border radi + muted color * (webapp)fix:newsletter spacing * (webapp)fix:participate spacing and font family * (webapp)fix:header spacing + bitlauncher logo size * (webapp)fix:blog section 4 per row + purple link + gap * (webapp)fix:hero-card spacing * (webapp)fix:auction-card spaces * (webapp)fix:Upcoming grid gap * (webapp)fix:article card - text-left * (webapp)fix:media-card text-start * (webapp)fix:media-section purple link + space * (webapp)fix:participate gap + section font and padding * (webapp)fix:footer links padding + other spacing fix * (webapp)fix:upcoming background circle * (webapp)fix:footer margin-10 * (webapp)fix:upcoming bg shape * (webapp)-andler-changes-request * (webapp)-debug-toggle navigation icon * (webapp)-create-mobile-navigation-context * (webapp)-create-mobile-navigation-context * (webapp)-fix navigation bug - add key * (webapp)-Andler-changes * (webapp)-responsive - upcoming * (webapp)-fix-responsive-whychooseUs * (webapp)-fix-responsive-participate * (webapp)-fix-responsive-media * (webapp)-fix-responsive-articles * (webapp)-responsive-project-header+info+sharebtn * (webapp)-feat-about-base * (webapp)-feat-about-landing-complete * (webapp)-feat-security-updated * (webapp)-fix-steps-padding * fix typo * fix bgHeader type * fix bgHeader type * impr(webapp): layout tweaks * impr(webapp): info pages img asset + css class * fix: bun.lockb --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * feat: multichain indexer ( part 1 ) (#293) * chore: update app-contracts * feat: multichain indexer * feat: prod chains * feat: presale wallet * feat: blpl token * feat: blpl token * chore: update bunlock * feat: blpl token * feat: presale evm contribs * feat: blpl token * wip: presale indexer * chore(indexer): fix dockerfile * feat: presale transaction indexing (#296) * feat: report transaction id * feat: save deposits data * feat: save deposits data * feat: read presale transactions * chore: disable view all * feat: update presale deposits ui * feat: display amount raised and contributors * chore: environment chains and tokens * fix(webapp): desktop padding (#297) * feat: multichain presale deposits (#298) * chore: environment chains and tokens * fix: chain switch * fix: chain switch * feat: update nav links (#299) * chore: environment chains and tokens * feat: update nav links * chore: renable swaps service, index token from latest block * feat(webapp): wallet ui updates (#300) * fix: wagmi config * feat(webapp): presale contribution report * feat: realtime presale data * feat: realtime presale data * feat: update dropdown menu * feat(supabase): update schema and types * chore: debug presale token issuance * feat: show issuance trx link on table * impr(webapp): upt mob ver of more info cards (#294) (#305) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> * chore: august 2nd release [at TEST] (#315) * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep --------- Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local> Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: merge typo * fix: tailwind font config * chore: august 3rd release [pre-prod] (#334) * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep * fix(indexer): trust proxy * feat: token issuance trigger part 2 (#321) * chore(alchemy): use gcloud endpoint * docs(alchemy): update readme file * docs(indexer): update readme file * debug(indexer): gcloud automated deployment * chore(alchemy): env values validation * chore(indexer): improve logging * chore(indexer): improve logging * chore(indexer): stringify all logs * debug(indexer): disable alchemy signature validation * debug(indexer): disable alchemy signature validation * chore(indexer): validate env and use trigger secret * debug(faucet): save dist/ empty folder in git * chore: update deps * chore: improve env validations * fix(alchemy): wrong import * chore(indexer): improve logging * debug(indexer): alchemy webhook handler * debug(indexer): disable helmet * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * feat(indexer): alchemy signature middleware * feat(indexer): validate alchemy signature * chore(indexer): security improvements (#323) * chore(indexer): disable alchemy validation * feat: presale token issuance part 3 (#325) * chore(alchemy): export types * chore(indexer): log process event id * chore(indexer): log process event id * chore: prod network conig, validate networks * wip(indexer): validate before triggering * chore: add try catch Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: clean up * devops(indexer): update dockerfile * chore: format code * devops: remove lhci reports * fix(indexer): wrong import * feat(trigger): transfer blpl token (#327) * feat(trigger): transfer blpl token * docs(trigger): token issuance jsdocs Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * devops(indexer): update dockerfile * chore: remove type:module (#329) * chore: remove type:module * chore: remove type:module * devops(indexer): test deployment * devops(indexer): test deployment * chore(supabase): use module * feat(trigger): presale token issuance * chore: format * chore: use type:module for monorepo * impr(webapp): add multibase provider (#326) * config: create multibase provider * chore: update multibase env variable * impr(webapp): UI Update (#314) * (wepapp)impr:landing distribution + filenames * (wepapp)impr:auction card badge * (wepapp)impr:steps pading + new text-size * (wepapp)impr:text-size * (wepapp)impr:refactored about us section * (wepapp)impr:new tittles learning section * (wepapp)impr:security section * (wepapp)impr:tittle style and fonts * (wepapp)impr:responsive impr * fix:about section text-18 instead of text-sm * fix:security responsive * fix:hero padding * fix:Final Mobil Tweaks * impr(webapp): landing heros + mob-nav spacing * impr(webapp): landing learn section updated blog links * fix(webapp): info text foreground color * impr(webapp): landing responsiveness * imp(webapp): 3 steps needed responsiveness * chore(webapp): rm duplicate component --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat: security updates (#331) * feat(indexer): validate right usdt,usdc address * feat(indexer): wait for finality and trx log * fix(indexer): wrong import * chore(indexer): fix build * chore(webapp): format * feat(webapp): bitlauncher blog category + blog tweaks (#324) * wip: static blog files upt * fix(webapp): blog article file gen + article ui tweaks * chore(webapp): app ver upt + cms gen script * docs: upt cms-ql.sh Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(webapp): app build, missing file --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: format files * fix(webapp): cached files error catch * impr(webapp): static blog file error catch * fix(webapp): static cached file chk * feat: supabase schema and webapp updates (#335) * feat(indexer): add address registration validation * feat: update database schema to support presales * feat: repo/tokens (#336) * chore: update repo packages (#338) * feat: stable coin selector * feat: presale ux ui * chore: repo/contracts pkg * chore: repo/utils pkg * chore: repo/tsconfig pkg * chore: repo/alchemy pkg * chore: repo/jobs pkg * chore: repo/supabase pkg * docs: update readme * chore: update bunlock * chore(indexer): alchemy webhook Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore(alchemy): invert ternary Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore: not nullable values, format code * chore: update node:crypto Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(indexer): alchemy signature validation Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: fix build (#339) * feat: validate user registration on event proxy (#340) * chore: fix imports * feat(indexer): validate user is registered * feat: add presale deposit checks (#341) * feat(indexer): is registered address * feat(indexer): validate amount and timing * wip(webapp): update project, presale and auction pages * chore(webapp): improve error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: realtime presale data (#342) * feat: real time presale data * feat: real time presale data * fix(webapp): header margin (#343) * webapp:fix margin top * webapp:add header tag * webapp:fix margin top * webapp:add md top * webapp:add md top * webapp:fix project tittle + pills responsive --------- Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local> Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> * chore(fix): update apps/trigger package.json dep * fix: cms gen merged files + use-session table upt + trigger/tsconfig upt --------- Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com> Co-authored-by: Nathanael Liu <supernathanliu@gmail.com> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* chore: add @types/uuid * chore: add @types/uuid * fix(app-lib): tsconfig pkg extends * fix: missing encoding dep * feat: sitemap (#290) * feat: add sitemap * fix: error handling * fix: move common types * fix: update base url in sitemap * Update apps/webapp/app/(routes)/[lang]/blog/[category]/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/wallet/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/whitepaper/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: build error * fix: remove unnecessary async declarative * vendor: add @types/uuid * fix: remove console log for debug * fix: add 'async' to all sitemaps * fix: make ProjectPageParams extends CommonPageParams --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix(webapp): UI/UX tweaks and upts from final v1 landing designs (#291) * (webapp)fix:FAQ border radi + muted color * (webapp)fix:newsletter spacing * (webapp)fix:participate spacing and font family * (webapp)fix:header spacing + bitlauncher logo size * (webapp)fix:blog section 4 per row + purple link + gap * (webapp)fix:hero-card spacing * (webapp)fix:auction-card spaces * (webapp)fix:Upcoming grid gap * (webapp)fix:article card - text-left * (webapp)fix:media-card text-start * (webapp)fix:media-section purple link + space * (webapp)fix:participate gap + section font and padding * (webapp)fix:footer links padding + other spacing fix * (webapp)fix:upcoming background circle * (webapp)fix:footer margin-10 * (webapp)fix:upcoming bg shape * (webapp)-andler-changes-request * (webapp)-debug-toggle navigation icon * (webapp)-create-mobile-navigation-context * (webapp)-create-mobile-navigation-context * (webapp)-fix navigation bug - add key * (webapp)-Andler-changes * (webapp)-responsive - upcoming * (webapp)-fix-responsive-whychooseUs * (webapp)-fix-responsive-participate * (webapp)-fix-responsive-media * (webapp)-fix-responsive-articles * (webapp)-responsive-project-header+info+sharebtn * (webapp)-feat-about-base * (webapp)-feat-about-landing-complete * (webapp)-feat-security-updated * (webapp)-fix-steps-padding * fix typo * fix bgHeader type * fix bgHeader type * impr(webapp): layout tweaks * impr(webapp): info pages img asset + css class * fix: bun.lockb --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * feat: multichain indexer ( part 1 ) (#293) * chore: update app-contracts * feat: multichain indexer * feat: prod chains * feat: presale wallet * feat: blpl token * feat: blpl token * chore: update bunlock * feat: blpl token * feat: presale evm contribs * feat: blpl token * wip: presale indexer * chore(indexer): fix dockerfile * feat: presale transaction indexing (#296) * feat: report transaction id * feat: save deposits data * feat: save deposits data * feat: read presale transactions * chore: disable view all * feat: update presale deposits ui * feat: display amount raised and contributors * chore: environment chains and tokens * fix(webapp): desktop padding (#297) * feat: multichain presale deposits (#298) * chore: environment chains and tokens * fix: chain switch * fix: chain switch * feat: update nav links (#299) * chore: environment chains and tokens * feat: update nav links * chore: renable swaps service, index token from latest block * feat(webapp): wallet ui updates (#300) * fix: wagmi config * feat(webapp): presale contribution report * feat: realtime presale data * feat: realtime presale data * feat: update dropdown menu * feat(supabase): update schema and types * chore: debug presale token issuance * feat: show issuance trx link on table * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * impr(webapp): upt mob ver of more info cards (#294) (#305) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep * chore: august 2nd release [at TEST] (#315) * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep --------- Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local> Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: merge typo * fix: tailwind font config * fix(indexer): trust proxy * feat: token issuance trigger part 2 (#321) * chore(alchemy): use gcloud endpoint * docs(alchemy): update readme file * docs(indexer): update readme file * debug(indexer): gcloud automated deployment * chore(alchemy): env values validation * chore(indexer): improve logging * chore(indexer): improve logging * chore(indexer): stringify all logs * debug(indexer): disable alchemy signature validation * debug(indexer): disable alchemy signature validation * chore(indexer): validate env and use trigger secret * debug(faucet): save dist/ empty folder in git * chore: update deps * chore: improve env validations * fix(alchemy): wrong import * chore(indexer): improve logging * debug(indexer): alchemy webhook handler * debug(indexer): disable helmet * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * feat(indexer): alchemy signature middleware * feat(indexer): validate alchemy signature * chore(indexer): security improvements (#323) * chore(indexer): disable alchemy validation * feat: presale token issuance part 3 (#325) * chore(alchemy): export types * chore(indexer): log process event id * chore(indexer): log process event id * chore: prod network conig, validate networks * wip(indexer): validate before triggering * chore: add try catch Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: clean up * devops(indexer): update dockerfile * chore: format code * devops: remove lhci reports * fix(indexer): wrong import * feat(trigger): transfer blpl token (#327) * feat(trigger): transfer blpl token * docs(trigger): token issuance jsdocs Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * devops(indexer): update dockerfile * chore: remove type:module (#329) * chore: remove type:module * chore: remove type:module * devops(indexer): test deployment * devops(indexer): test deployment * chore(supabase): use module * feat(trigger): presale token issuance * chore: format * chore: use type:module for monorepo * impr(webapp): add multibase provider (#326) * config: create multibase provider * chore: update multibase env variable * impr(webapp): UI Update (#314) * (wepapp)impr:landing distribution + filenames * (wepapp)impr:auction card badge * (wepapp)impr:steps pading + new text-size * (wepapp)impr:text-size * (wepapp)impr:refactored about us section * (wepapp)impr:new tittles learning section * (wepapp)impr:security section * (wepapp)impr:tittle style and fonts * (wepapp)impr:responsive impr * fix:about section text-18 instead of text-sm * fix:security responsive * fix:hero padding * fix:Final Mobil Tweaks * impr(webapp): landing heros + mob-nav spacing * impr(webapp): landing learn section updated blog links * fix(webapp): info text foreground color * impr(webapp): landing responsiveness * imp(webapp): 3 steps needed responsiveness * chore(webapp): rm duplicate component --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat: security updates (#331) * feat(indexer): validate right usdt,usdc address * feat(indexer): wait for finality and trx log * fix(indexer): wrong import * chore(indexer): fix build * chore(webapp): format * feat(webapp): bitlauncher blog category + blog tweaks (#324) * wip: static blog files upt * fix(webapp): blog article file gen + article ui tweaks * chore(webapp): app ver upt + cms gen script * docs: upt cms-ql.sh Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(webapp): app build, missing file --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: format files * fix(webapp): cached files error catch * impr(webapp): static blog file error catch * fix(webapp): static cached file chk * feat: supabase schema and webapp updates (#335) * feat(indexer): add address registration validation * feat: update database schema to support presales * feat: repo/tokens (#336) * chore: update repo packages (#338) * feat: stable coin selector * feat: presale ux ui * chore: repo/contracts pkg * chore: repo/utils pkg * chore: repo/tsconfig pkg * chore: repo/alchemy pkg * chore: repo/jobs pkg * chore: repo/supabase pkg * docs: update readme * chore: update bunlock * chore(indexer): alchemy webhook Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore(alchemy): invert ternary Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore: not nullable values, format code * chore: update node:crypto Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(indexer): alchemy signature validation Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: fix build (#339) * feat: validate user registration on event proxy (#340) * chore: fix imports * feat(indexer): validate user is registered * feat: add presale deposit checks (#341) * feat(indexer): is registered address * feat(indexer): validate amount and timing * wip(webapp): update project, presale and auction pages * chore(webapp): improve error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: realtime presale data (#342) * feat: real time presale data * feat: real time presale data * fix(webapp): header margin (#343) * webapp:fix margin top * webapp:add header tag * webapp:fix margin top * webapp:add md top * webapp:add md top * webapp:fix project tittle + pills responsive * chore: august 3rd release [pre-prod] (#334) * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep * fix(indexer): trust proxy * feat: token issuance trigger part 2 (#321) * chore(alchemy): use gcloud endpoint * docs(alchemy): update readme file * docs(indexer): update readme file * debug(indexer): gcloud automated deployment * chore(alchemy): env values validation * chore(indexer): improve logging * chore(indexer): improve logging * chore(indexer): stringify all logs * debug(indexer): disable alchemy signature validation * debug(indexer): disable alchemy signature validation * chore(indexer): validate env and use trigger secret * debug(faucet): save dist/ empty folder in git * chore: update deps * chore: improve env validations * fix(alchemy): wrong import * chore(indexer): improve logging * debug(indexer): alchemy webhook handler * debug(indexer): disable helmet * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * feat(indexer): alchemy signature middleware * feat(indexer): validate alchemy signature * chore(indexer): security improvements (#323) * chore(indexer): disable alchemy validation * feat: presale token issuance part 3 (#325) * chore(alchemy): export types * chore(indexer): log process event id * chore(indexer): log process event id * chore: prod network conig, validate networks * wip(indexer): validate before triggering * chore: add try catch Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: clean up * devops(indexer): update dockerfile * chore: format code * devops: remove lhci reports * fix(indexer): wrong import * feat(trigger): transfer blpl token (#327) * feat(trigger): transfer blpl token * docs(trigger): token issuance jsdocs Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * devops(indexer): update dockerfile * chore: remove type:module (#329) * chore: remove type:module * chore: remove type:module * devops(indexer): test deployment * devops(indexer): test deployment * chore(supabase): use module * feat(trigger): presale token issuance * chore: format * chore: use type:module for monorepo * impr(webapp): add multibase provider (#326) * config: create multibase provider * chore: update multibase env variable * impr(webapp): UI Update (#314) * (wepapp)impr:landing distribution + filenames * (wepapp)impr:auction card badge * (wepapp)impr:steps pading + new text-size * (wepapp)impr:text-size * (wepapp)impr:refactored about us section * (wepapp)impr:new tittles learning section * (wepapp)impr:security section * (wepapp)impr:tittle style and fonts * (wepapp)impr:responsive impr * fix:about section text-18 instead of text-sm * fix:security responsive * fix:hero padding * fix:Final Mobil Tweaks * impr(webapp): landing heros + mob-nav spacing * impr(webapp): landing learn section updated blog links * fix(webapp): info text foreground color * impr(webapp): landing responsiveness * imp(webapp): 3 steps needed responsiveness * chore(webapp): rm duplicate component --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat: security updates (#331) * feat(indexer): validate right usdt,usdc address * feat(indexer): wait for finality and trx log * fix(indexer): wrong import * chore(indexer): fix build * chore(webapp): format * feat(webapp): bitlauncher blog category + blog tweaks (#324) * wip: static blog files upt * fix(webapp): blog article file gen + article ui tweaks * chore(webapp): app ver upt + cms gen script * docs: upt cms-ql.sh Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(webapp): app build, missing file --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: format files * fix(webapp): cached files error catch * impr(webapp): static blog file error catch * fix(webapp): static cached file chk * feat: supabase schema and webapp updates (#335) * feat(indexer): add address registration validation * feat: update database schema to support presales * feat: repo/tokens (#336) * chore: update repo packages (#338) * feat: stable coin selector * feat: presale ux ui * chore: repo/contracts pkg * chore: repo/utils pkg * chore: repo/tsconfig pkg * chore: repo/alchemy pkg * chore: repo/jobs pkg * chore: repo/supabase pkg * docs: update readme * chore: update bunlock * chore(indexer): alchemy webhook Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore(alchemy): invert ternary Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore: not nullable values, format code * chore: update node:crypto Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(indexer): alchemy signature validation Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: fix build (#339) * feat: validate user registration on event proxy (#340) * chore: fix imports * feat(indexer): validate user is registered * feat: add presale deposit checks (#341) * feat(indexer): is registered address * feat(indexer): validate amount and timing * wip(webapp): update project, presale and auction pages * chore(webapp): improve error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: realtime presale data (#342) * feat: real time presale data * feat: real time presale data * fix(webapp): header margin (#343) * webapp:fix margin top * webapp:add header tag * webapp:fix margin top * webapp:add md top * webapp:add md top * webapp:fix project tittle + pills responsive --------- Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local> Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> * chore(fix): update apps/trigger package.json dep * fix: cms gen merged files + use-session table upt + trigger/tsconfig upt * fix: registration logic and indexer checks (#347) * feat(indexer): check if address already bought * fix(webapp): registration logic * chore: update bunlock * fix(webapp): arrow icon * fix(webapp): arrow icon * feat: upsert accounts table on login * fix(webapp): move accounts to session hook * feat: webapp/hotfix bl project status tag (#348) * fix(webapp): tablet/small-screen header breakpoint * impr(webapp): project page hero + blog links upt * fix(webapp): project badge text upt --------- Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com> Co-authored-by: Nathanael Liu <supernathanliu@gmail.com> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* chore: add @types/uuid * chore: add @types/uuid * fix(app-lib): tsconfig pkg extends * fix: missing encoding dep * feat: sitemap (#290) * feat: add sitemap * fix: error handling * fix: move common types * fix: update base url in sitemap * Update apps/webapp/app/(routes)/[lang]/blog/[category]/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/wallet/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/whitepaper/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: build error * fix: remove unnecessary async declarative * vendor: add @types/uuid * fix: remove console log for debug * fix: add 'async' to all sitemaps * fix: make ProjectPageParams extends CommonPageParams --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix(webapp): UI/UX tweaks and upts from final v1 landing designs (#291) * (webapp)fix:FAQ border radi + muted color * (webapp)fix:newsletter spacing * (webapp)fix:participate spacing and font family * (webapp)fix:header spacing + bitlauncher logo size * (webapp)fix:blog section 4 per row + purple link + gap * (webapp)fix:hero-card spacing * (webapp)fix:auction-card spaces * (webapp)fix:Upcoming grid gap * (webapp)fix:article card - text-left * (webapp)fix:media-card text-start * (webapp)fix:media-section purple link + space * (webapp)fix:participate gap + section font and padding * (webapp)fix:footer links padding + other spacing fix * (webapp)fix:upcoming background circle * (webapp)fix:footer margin-10 * (webapp)fix:upcoming bg shape * (webapp)-andler-changes-request * (webapp)-debug-toggle navigation icon * (webapp)-create-mobile-navigation-context * (webapp)-create-mobile-navigation-context * (webapp)-fix navigation bug - add key * (webapp)-Andler-changes * (webapp)-responsive - upcoming * (webapp)-fix-responsive-whychooseUs * (webapp)-fix-responsive-participate * (webapp)-fix-responsive-media * (webapp)-fix-responsive-articles * (webapp)-responsive-project-header+info+sharebtn * (webapp)-feat-about-base * (webapp)-feat-about-landing-complete * (webapp)-feat-security-updated * (webapp)-fix-steps-padding * fix typo * fix bgHeader type * fix bgHeader type * impr(webapp): layout tweaks * impr(webapp): info pages img asset + css class * fix: bun.lockb --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * feat: multichain indexer ( part 1 ) (#293) * chore: update app-contracts * feat: multichain indexer * feat: prod chains * feat: presale wallet * feat: blpl token * feat: blpl token * chore: update bunlock * feat: blpl token * feat: presale evm contribs * feat: blpl token * wip: presale indexer * chore(indexer): fix dockerfile * feat: presale transaction indexing (#296) * feat: report transaction id * feat: save deposits data * feat: save deposits data * feat: read presale transactions * chore: disable view all * feat: update presale deposits ui * feat: display amount raised and contributors * chore: environment chains and tokens * fix(webapp): desktop padding (#297) * feat: multichain presale deposits (#298) * chore: environment chains and tokens * fix: chain switch * fix: chain switch * feat: update nav links (#299) * chore: environment chains and tokens * feat: update nav links * chore: renable swaps service, index token from latest block * feat(webapp): wallet ui updates (#300) * fix: wagmi config * feat(webapp): presale contribution report * feat: realtime presale data * feat: realtime presale data * feat: update dropdown menu * feat(supabase): update schema and types * chore: debug presale token issuance * feat: show issuance trx link on table * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * impr(webapp): upt mob ver of more info cards (#294) (#305) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep * chore: august 2nd release [at TEST] (#315) * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep --------- Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local> Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: merge typo * fix: tailwind font config * fix(indexer): trust proxy * feat: token issuance trigger part 2 (#321) * chore(alchemy): use gcloud endpoint * docs(alchemy): update readme file * docs(indexer): update readme file * debug(indexer): gcloud automated deployment * chore(alchemy): env values validation * chore(indexer): improve logging * chore(indexer): improve logging * chore(indexer): stringify all logs * debug(indexer): disable alchemy signature validation * debug(indexer): disable alchemy signature validation * chore(indexer): validate env and use trigger secret * debug(faucet): save dist/ empty folder in git * chore: update deps * chore: improve env validations * fix(alchemy): wrong import * chore(indexer): improve logging * debug(indexer): alchemy webhook handler * debug(indexer): disable helmet * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * feat(indexer): alchemy signature middleware * feat(indexer): validate alchemy signature * chore(indexer): security improvements (#323) * chore(indexer): disable alchemy validation * feat: presale token issuance part 3 (#325) * chore(alchemy): export types * chore(indexer): log process event id * chore(indexer): log process event id * chore: prod network conig, validate networks * wip(indexer): validate before triggering * chore: add try catch Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: clean up * devops(indexer): update dockerfile * chore: format code * devops: remove lhci reports * fix(indexer): wrong import * feat(trigger): transfer blpl token (#327) * feat(trigger): transfer blpl token * docs(trigger): token issuance jsdocs Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * devops(indexer): update dockerfile * chore: remove type:module (#329) * chore: remove type:module * chore: remove type:module * devops(indexer): test deployment * devops(indexer): test deployment * chore(supabase): use module * feat(trigger): presale token issuance * chore: format * chore: use type:module for monorepo * impr(webapp): add multibase provider (#326) * config: create multibase provider * chore: update multibase env variable * impr(webapp): UI Update (#314) * (wepapp)impr:landing distribution + filenames * (wepapp)impr:auction card badge * (wepapp)impr:steps pading + new text-size * (wepapp)impr:text-size * (wepapp)impr:refactored about us section * (wepapp)impr:new tittles learning section * (wepapp)impr:security section * (wepapp)impr:tittle style and fonts * (wepapp)impr:responsive impr * fix:about section text-18 instead of text-sm * fix:security responsive * fix:hero padding * fix:Final Mobil Tweaks * impr(webapp): landing heros + mob-nav spacing * impr(webapp): landing learn section updated blog links * fix(webapp): info text foreground color * impr(webapp): landing responsiveness * imp(webapp): 3 steps needed responsiveness * chore(webapp): rm duplicate component --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat: security updates (#331) * feat(indexer): validate right usdt,usdc address * feat(indexer): wait for finality and trx log * fix(indexer): wrong import * chore(indexer): fix build * chore(webapp): format * feat(webapp): bitlauncher blog category + blog tweaks (#324) * wip: static blog files upt * fix(webapp): blog article file gen + article ui tweaks * chore(webapp): app ver upt + cms gen script * docs: upt cms-ql.sh Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(webapp): app build, missing file --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: format files * fix(webapp): cached files error catch * impr(webapp): static blog file error catch * fix(webapp): static cached file chk * feat: supabase schema and webapp updates (#335) * feat(indexer): add address registration validation * feat: update database schema to support presales * feat: repo/tokens (#336) * chore: update repo packages (#338) * feat: stable coin selector * feat: presale ux ui * chore: repo/contracts pkg * chore: repo/utils pkg * chore: repo/tsconfig pkg * chore: repo/alchemy pkg * chore: repo/jobs pkg * chore: repo/supabase pkg * docs: update readme * chore: update bunlock * chore(indexer): alchemy webhook Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore(alchemy): invert ternary Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore: not nullable values, format code * chore: update node:crypto Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(indexer): alchemy signature validation Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: fix build (#339) * feat: validate user registration on event proxy (#340) * chore: fix imports * feat(indexer): validate user is registered * feat: add presale deposit checks (#341) * feat(indexer): is registered address * feat(indexer): validate amount and timing * wip(webapp): update project, presale and auction pages * chore(webapp): improve error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: realtime presale data (#342) * feat: real time presale data * feat: real time presale data * fix(webapp): header margin (#343) * webapp:fix margin top * webapp:add header tag * webapp:fix margin top * webapp:add md top * webapp:add md top * webapp:fix project tittle + pills responsive * chore: august 3rd release [pre-prod] (#334) * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep * fix(indexer): trust proxy * feat: token issuance trigger part 2 (#321) * chore(alchemy): use gcloud endpoint * docs(alchemy): update readme file * docs(indexer): update readme file * debug(indexer): gcloud automated deployment * chore(alchemy): env values validation * chore(indexer): improve logging * chore(indexer): improve logging * chore(indexer): stringify all logs * debug(indexer): disable alchemy signature validation * debug(indexer): disable alchemy signature validation * chore(indexer): validate env and use trigger secret * debug(faucet): save dist/ empty folder in git * chore: update deps * chore: improve env validations * fix(alchemy): wrong import * chore(indexer): improve logging * debug(indexer): alchemy webhook handler * debug(indexer): disable helmet * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * feat(indexer): alchemy signature middleware * feat(indexer): validate alchemy signature * chore(indexer): security improvements (#323) * chore(indexer): disable alchemy validation * feat: presale token issuance part 3 (#325) * chore(alchemy): export types * chore(indexer): log process event id * chore(indexer): log process event id * chore: prod network conig, validate networks * wip(indexer): validate before triggering * chore: add try catch Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: clean up * devops(indexer): update dockerfile * chore: format code * devops: remove lhci reports * fix(indexer): wrong import * feat(trigger): transfer blpl token (#327) * feat(trigger): transfer blpl token * docs(trigger): token issuance jsdocs Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * devops(indexer): update dockerfile * chore: remove type:module (#329) * chore: remove type:module * chore: remove type:module * devops(indexer): test deployment * devops(indexer): test deployment * chore(supabase): use module * feat(trigger): presale token issuance * chore: format * chore: use type:module for monorepo * impr(webapp): add multibase provider (#326) * config: create multibase provider * chore: update multibase env variable * impr(webapp): UI Update (#314) * (wepapp)impr:landing distribution + filenames * (wepapp)impr:auction card badge * (wepapp)impr:steps pading + new text-size * (wepapp)impr:text-size * (wepapp)impr:refactored about us section * (wepapp)impr:new tittles learning section * (wepapp)impr:security section * (wepapp)impr:tittle style and fonts * (wepapp)impr:responsive impr * fix:about section text-18 instead of text-sm * fix:security responsive * fix:hero padding * fix:Final Mobil Tweaks * impr(webapp): landing heros + mob-nav spacing * impr(webapp): landing learn section updated blog links * fix(webapp): info text foreground color * impr(webapp): landing responsiveness * imp(webapp): 3 steps needed responsiveness * chore(webapp): rm duplicate component --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat: security updates (#331) * feat(indexer): validate right usdt,usdc address * feat(indexer): wait for finality and trx log * fix(indexer): wrong import * chore(indexer): fix build * chore(webapp): format * feat(webapp): bitlauncher blog category + blog tweaks (#324) * wip: static blog files upt * fix(webapp): blog article file gen + article ui tweaks * chore(webapp): app ver upt + cms gen script * docs: upt cms-ql.sh Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(webapp): app build, missing file --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: format files * fix(webapp): cached files error catch * impr(webapp): static blog file error catch * fix(webapp): static cached file chk * feat: supabase schema and webapp updates (#335) * feat(indexer): add address registration validation * feat: update database schema to support presales * feat: repo/tokens (#336) * chore: update repo packages (#338) * feat: stable coin selector * feat: presale ux ui * chore: repo/contracts pkg * chore: repo/utils pkg * chore: repo/tsconfig pkg * chore: repo/alchemy pkg * chore: repo/jobs pkg * chore: repo/supabase pkg * docs: update readme * chore: update bunlock * chore(indexer): alchemy webhook Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore(alchemy): invert ternary Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore: not nullable values, format code * chore: update node:crypto Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(indexer): alchemy signature validation Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: fix build (#339) * feat: validate user registration on event proxy (#340) * chore: fix imports * feat(indexer): validate user is registered * feat: add presale deposit checks (#341) * feat(indexer): is registered address * feat(indexer): validate amount and timing * wip(webapp): update project, presale and auction pages * chore(webapp): improve error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: realtime presale data (#342) * feat: real time presale data * feat: real time presale data * fix(webapp): header margin (#343) * webapp:fix margin top * webapp:add header tag * webapp:fix margin top * webapp:add md top * webapp:add md top * webapp:fix project tittle + pills responsive --------- Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local> Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> * chore(fix): update apps/trigger package.json dep * fix: cms gen merged files + use-session table upt + trigger/tsconfig upt * fix: registration logic and indexer checks (#347) * feat(indexer): check if address already bought * fix(webapp): registration logic * chore: update bunlock * fix(webapp): arrow icon * fix(webapp): arrow icon * feat: upsert accounts table on login * fix(webapp): move accounts to session hook * feat: webapp/hotfix bl project status tag (#348) * fix(webapp): tablet/small-screen header breakpoint * impr(webapp): project page hero + blog links upt * fix(webapp): project badge text upt * content(webapp): token sale date tbd * fix(webapp): hero title size (#350) * fix(webapp): hero title size * impr(webapp): share link toaster msg * chore: presale hardcoded txt tweak --------- Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com> Co-authored-by: Nathanael Liu <supernathanliu@gmail.com> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
… upt (#353) * chore: add @types/uuid * chore: add @types/uuid * fix(app-lib): tsconfig pkg extends * fix: missing encoding dep * feat: sitemap (#290) * feat: add sitemap * fix: error handling * fix: move common types * fix: update base url in sitemap * Update apps/webapp/app/(routes)/[lang]/blog/[category]/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/wallet/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/whitepaper/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: build error * fix: remove unnecessary async declarative * vendor: add @types/uuid * fix: remove console log for debug * fix: add 'async' to all sitemaps * fix: make ProjectPageParams extends CommonPageParams --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix(webapp): UI/UX tweaks and upts from final v1 landing designs (#291) * (webapp)fix:FAQ border radi + muted color * (webapp)fix:newsletter spacing * (webapp)fix:participate spacing and font family * (webapp)fix:header spacing + bitlauncher logo size * (webapp)fix:blog section 4 per row + purple link + gap * (webapp)fix:hero-card spacing * (webapp)fix:auction-card spaces * (webapp)fix:Upcoming grid gap * (webapp)fix:article card - text-left * (webapp)fix:media-card text-start * (webapp)fix:media-section purple link + space * (webapp)fix:participate gap + section font and padding * (webapp)fix:footer links padding + other spacing fix * (webapp)fix:upcoming background circle * (webapp)fix:footer margin-10 * (webapp)fix:upcoming bg shape * (webapp)-andler-changes-request * (webapp)-debug-toggle navigation icon * (webapp)-create-mobile-navigation-context * (webapp)-create-mobile-navigation-context * (webapp)-fix navigation bug - add key * (webapp)-Andler-changes * (webapp)-responsive - upcoming * (webapp)-fix-responsive-whychooseUs * (webapp)-fix-responsive-participate * (webapp)-fix-responsive-media * (webapp)-fix-responsive-articles * (webapp)-responsive-project-header+info+sharebtn * (webapp)-feat-about-base * (webapp)-feat-about-landing-complete * (webapp)-feat-security-updated * (webapp)-fix-steps-padding * fix typo * fix bgHeader type * fix bgHeader type * impr(webapp): layout tweaks * impr(webapp): info pages img asset + css class * fix: bun.lockb --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * feat: multichain indexer ( part 1 ) (#293) * chore: update app-contracts * feat: multichain indexer * feat: prod chains * feat: presale wallet * feat: blpl token * feat: blpl token * chore: update bunlock * feat: blpl token * feat: presale evm contribs * feat: blpl token * wip: presale indexer * chore(indexer): fix dockerfile * feat: presale transaction indexing (#296) * feat: report transaction id * feat: save deposits data * feat: save deposits data * feat: read presale transactions * chore: disable view all * feat: update presale deposits ui * feat: display amount raised and contributors * chore: environment chains and tokens * fix(webapp): desktop padding (#297) * feat: multichain presale deposits (#298) * chore: environment chains and tokens * fix: chain switch * fix: chain switch * feat: update nav links (#299) * chore: environment chains and tokens * feat: update nav links * chore: renable swaps service, index token from latest block * feat(webapp): wallet ui updates (#300) * fix: wagmi config * feat(webapp): presale contribution report * feat: realtime presale data * feat: realtime presale data * feat: update dropdown menu * feat(supabase): update schema and types * chore: debug presale token issuance * feat: show issuance trx link on table * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * impr(webapp): upt mob ver of more info cards (#294) (#305) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep * chore: august 2nd release [at TEST] (#315) * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep --------- Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local> Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: merge typo * fix: tailwind font config * fix(indexer): trust proxy * feat: token issuance trigger part 2 (#321) * chore(alchemy): use gcloud endpoint * docs(alchemy): update readme file * docs(indexer): update readme file * debug(indexer): gcloud automated deployment * chore(alchemy): env values validation * chore(indexer): improve logging * chore(indexer): improve logging * chore(indexer): stringify all logs * debug(indexer): disable alchemy signature validation * debug(indexer): disable alchemy signature validation * chore(indexer): validate env and use trigger secret * debug(faucet): save dist/ empty folder in git * chore: update deps * chore: improve env validations * fix(alchemy): wrong import * chore(indexer): improve logging * debug(indexer): alchemy webhook handler * debug(indexer): disable helmet * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * feat(indexer): alchemy signature middleware * feat(indexer): validate alchemy signature * chore(indexer): security improvements (#323) * chore(indexer): disable alchemy validation * feat: presale token issuance part 3 (#325) * chore(alchemy): export types * chore(indexer): log process event id * chore(indexer): log process event id * chore: prod network conig, validate networks * wip(indexer): validate before triggering * chore: add try catch Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: clean up * devops(indexer): update dockerfile * chore: format code * devops: remove lhci reports * fix(indexer): wrong import * feat(trigger): transfer blpl token (#327) * feat(trigger): transfer blpl token * docs(trigger): token issuance jsdocs Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * devops(indexer): update dockerfile * chore: remove type:module (#329) * chore: remove type:module * chore: remove type:module * devops(indexer): test deployment * devops(indexer): test deployment * chore(supabase): use module * feat(trigger): presale token issuance * chore: format * chore: use type:module for monorepo * impr(webapp): add multibase provider (#326) * config: create multibase provider * chore: update multibase env variable * impr(webapp): UI Update (#314) * (wepapp)impr:landing distribution + filenames * (wepapp)impr:auction card badge * (wepapp)impr:steps pading + new text-size * (wepapp)impr:text-size * (wepapp)impr:refactored about us section * (wepapp)impr:new tittles learning section * (wepapp)impr:security section * (wepapp)impr:tittle style and fonts * (wepapp)impr:responsive impr * fix:about section text-18 instead of text-sm * fix:security responsive * fix:hero padding * fix:Final Mobil Tweaks * impr(webapp): landing heros + mob-nav spacing * impr(webapp): landing learn section updated blog links * fix(webapp): info text foreground color * impr(webapp): landing responsiveness * imp(webapp): 3 steps needed responsiveness * chore(webapp): rm duplicate component --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat: security updates (#331) * feat(indexer): validate right usdt,usdc address * feat(indexer): wait for finality and trx log * fix(indexer): wrong import * chore(indexer): fix build * chore(webapp): format * feat(webapp): bitlauncher blog category + blog tweaks (#324) * wip: static blog files upt * fix(webapp): blog article file gen + article ui tweaks * chore(webapp): app ver upt + cms gen script * docs: upt cms-ql.sh Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(webapp): app build, missing file --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: format files * fix(webapp): cached files error catch * impr(webapp): static blog file error catch * fix(webapp): static cached file chk * feat: supabase schema and webapp updates (#335) * feat(indexer): add address registration validation * feat: update database schema to support presales * feat: repo/tokens (#336) * chore: update repo packages (#338) * feat: stable coin selector * feat: presale ux ui * chore: repo/contracts pkg * chore: repo/utils pkg * chore: repo/tsconfig pkg * chore: repo/alchemy pkg * chore: repo/jobs pkg * chore: repo/supabase pkg * docs: update readme * chore: update bunlock * chore(indexer): alchemy webhook Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore(alchemy): invert ternary Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore: not nullable values, format code * chore: update node:crypto Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(indexer): alchemy signature validation Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: fix build (#339) * feat: validate user registration on event proxy (#340) * chore: fix imports * feat(indexer): validate user is registered * feat: add presale deposit checks (#341) * feat(indexer): is registered address * feat(indexer): validate amount and timing * wip(webapp): update project, presale and auction pages * chore(webapp): improve error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: realtime presale data (#342) * feat: real time presale data * feat: real time presale data * fix(webapp): header margin (#343) * webapp:fix margin top * webapp:add header tag * webapp:fix margin top * webapp:add md top * webapp:add md top * webapp:fix project tittle + pills responsive * chore: august 3rd release [pre-prod] (#334) * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep * fix(indexer): trust proxy * feat: token issuance trigger part 2 (#321) * chore(alchemy): use gcloud endpoint * docs(alchemy): update readme file * docs(indexer): update readme file * debug(indexer): gcloud automated deployment * chore(alchemy): env values validation * chore(indexer): improve logging * chore(indexer): improve logging * chore(indexer): stringify all logs * debug(indexer): disable alchemy signature validation * debug(indexer): disable alchemy signature validation * chore(indexer): validate env and use trigger secret * debug(faucet): save dist/ empty folder in git * chore: update deps * chore: improve env validations * fix(alchemy): wrong import * chore(indexer): improve logging * debug(indexer): alchemy webhook handler * debug(indexer): disable helmet * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * feat(indexer): alchemy signature middleware * feat(indexer): validate alchemy signature * chore(indexer): security improvements (#323) * chore(indexer): disable alchemy validation * feat: presale token issuance part 3 (#325) * chore(alchemy): export types * chore(indexer): log process event id * chore(indexer): log process event id * chore: prod network conig, validate networks * wip(indexer): validate before triggering * chore: add try catch Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: clean up * devops(indexer): update dockerfile * chore: format code * devops: remove lhci reports * fix(indexer): wrong import * feat(trigger): transfer blpl token (#327) * feat(trigger): transfer blpl token * docs(trigger): token issuance jsdocs Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * devops(indexer): update dockerfile * chore: remove type:module (#329) * chore: remove type:module * chore: remove type:module * devops(indexer): test deployment * devops(indexer): test deployment * chore(supabase): use module * feat(trigger): presale token issuance * chore: format * chore: use type:module for monorepo * impr(webapp): add multibase provider (#326) * config: create multibase provider * chore: update multibase env variable * impr(webapp): UI Update (#314) * (wepapp)impr:landing distribution + filenames * (wepapp)impr:auction card badge * (wepapp)impr:steps pading + new text-size * (wepapp)impr:text-size * (wepapp)impr:refactored about us section * (wepapp)impr:new tittles learning section * (wepapp)impr:security section * (wepapp)impr:tittle style and fonts * (wepapp)impr:responsive impr * fix:about section text-18 instead of text-sm * fix:security responsive * fix:hero padding * fix:Final Mobil Tweaks * impr(webapp): landing heros + mob-nav spacing * impr(webapp): landing learn section updated blog links * fix(webapp): info text foreground color * impr(webapp): landing responsiveness * imp(webapp): 3 steps needed responsiveness * chore(webapp): rm duplicate component --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat: security updates (#331) * feat(indexer): validate right usdt,usdc address * feat(indexer): wait for finality and trx log * fix(indexer): wrong import * chore(indexer): fix build * chore(webapp): format * feat(webapp): bitlauncher blog category + blog tweaks (#324) * wip: static blog files upt * fix(webapp): blog article file gen + article ui tweaks * chore(webapp): app ver upt + cms gen script * docs: upt cms-ql.sh Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(webapp): app build, missing file --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: format files * fix(webapp): cached files error catch * impr(webapp): static blog file error catch * fix(webapp): static cached file chk * feat: supabase schema and webapp updates (#335) * feat(indexer): add address registration validation * feat: update database schema to support presales * feat: repo/tokens (#336) * chore: update repo packages (#338) * feat: stable coin selector * feat: presale ux ui * chore: repo/contracts pkg * chore: repo/utils pkg * chore: repo/tsconfig pkg * chore: repo/alchemy pkg * chore: repo/jobs pkg * chore: repo/supabase pkg * docs: update readme * chore: update bunlock * chore(indexer): alchemy webhook Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore(alchemy): invert ternary Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore: not nullable values, format code * chore: update node:crypto Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(indexer): alchemy signature validation Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: fix build (#339) * feat: validate user registration on event proxy (#340) * chore: fix imports * feat(indexer): validate user is registered * feat: add presale deposit checks (#341) * feat(indexer): is registered address * feat(indexer): validate amount and timing * wip(webapp): update project, presale and auction pages * chore(webapp): improve error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: realtime presale data (#342) * feat: real time presale data * feat: real time presale data * fix(webapp): header margin (#343) * webapp:fix margin top * webapp:add header tag * webapp:fix margin top * webapp:add md top * webapp:add md top * webapp:fix project tittle + pills responsive --------- Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local> Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> * chore(fix): update apps/trigger package.json dep * fix: cms gen merged files + use-session table upt + trigger/tsconfig upt * fix: registration logic and indexer checks (#347) * feat(indexer): check if address already bought * fix(webapp): registration logic * chore: update bunlock * fix(webapp): arrow icon * fix(webapp): arrow icon * feat: upsert accounts table on login * fix(webapp): move accounts to session hook * feat: webapp/hotfix bl project status tag (#348) * fix(webapp): tablet/small-screen header breakpoint * impr(webapp): project page hero + blog links upt * fix(webapp): project badge text upt * content(webapp): token sale date tbd * fix(webapp): hero title size (#350) * fix(webapp): hero title size * impr(webapp): share link toaster msg * chore: presale hardcoded txt tweak * impr(webapp): tailwindcss accent colour upt (#352) --------- Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com> Co-authored-by: Nathanael Liu <supernathanliu@gmail.com> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* chore: presale texts revisions (#351) * chore: add @types/uuid * chore: add @types/uuid * fix(app-lib): tsconfig pkg extends * fix: missing encoding dep * feat: sitemap (#290) * feat: add sitemap * fix: error handling * fix: move common types * fix: update base url in sitemap * Update apps/webapp/app/(routes)/[lang]/blog/[category]/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/wallet/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/whitepaper/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: build error * fix: remove unnecessary async declarative * vendor: add @types/uuid * fix: remove console log for debug * fix: add 'async' to all sitemaps * fix: make ProjectPageParams extends CommonPageParams --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix(webapp): UI/UX tweaks and upts from final v1 landing designs (#291) * (webapp)fix:FAQ border radi + muted color * (webapp)fix:newsletter spacing * (webapp)fix:participate spacing and font family * (webapp)fix:header spacing + bitlauncher logo size * (webapp)fix:blog section 4 per row + purple link + gap * (webapp)fix:hero-card spacing * (webapp)fix:auction-card spaces * (webapp)fix:Upcoming grid gap * (webapp)fix:article card - text-left * (webapp)fix:media-card text-start * (webapp)fix:media-section purple link + space * (webapp)fix:participate gap + section font and padding * (webapp)fix:footer links padding + other spacing fix * (webapp)fix:upcoming background circle * (webapp)fix:footer margin-10 * (webapp)fix:upcoming bg shape * (webapp)-andler-changes-request * (webapp)-debug-toggle navigation icon * (webapp)-create-mobile-navigation-context * (webapp)-create-mobile-navigation-context * (webapp)-fix navigation bug - add key * (webapp)-Andler-changes * (webapp)-responsive - upcoming * (webapp)-fix-responsive-whychooseUs * (webapp)-fix-responsive-participate * (webapp)-fix-responsive-media * (webapp)-fix-responsive-articles * (webapp)-responsive-project-header+info+sharebtn * (webapp)-feat-about-base * (webapp)-feat-about-landing-complete * (webapp)-feat-security-updated * (webapp)-fix-steps-padding * fix typo * fix bgHeader type * fix bgHeader type * impr(webapp): layout tweaks * impr(webapp): info pages img asset + css class * fix: bun.lockb --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * feat: multichain indexer ( part 1 ) (#293) * chore: update app-contracts * feat: multichain indexer * feat: prod chains * feat: presale wallet * feat: blpl token * feat: blpl token * chore: update bunlock * feat: blpl token * feat: presale evm contribs * feat: blpl token * wip: presale indexer * chore(indexer): fix dockerfile * feat: presale transaction indexing (#296) * feat: report transaction id * feat: save deposits data * feat: save deposits data * feat: read presale transactions * chore: disable view all * feat: update presale deposits ui * feat: display amount raised and contributors * chore: environment chains and tokens * fix(webapp): desktop padding (#297) * feat: multichain presale deposits (#298) * chore: environment chains and tokens * fix: chain switch * fix: chain switch * feat: update nav links (#299) * chore: environment chains and tokens * feat: update nav links * chore: renable swaps service, index token from latest block * feat(webapp): wallet ui updates (#300) * fix: wagmi config * feat(webapp): presale contribution report * feat: realtime presale data * feat: realtime presale data * feat: update dropdown menu * feat(supabase): update schema and types * chore: debug presale token issuance * feat: show issuance trx link on table * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * impr(webapp): upt mob ver of more info cards (#294) (#305) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep * chore: august 2nd release [at TEST] (#315) * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep --------- Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local> Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: merge typo * fix: tailwind font config * fix(indexer): trust proxy * feat: token issuance trigger part 2 (#321) * chore(alchemy): use gcloud endpoint * docs(alchemy): update readme file * docs(indexer): update readme file * debug(indexer): gcloud automated deployment * chore(alchemy): env values validation * chore(indexer): improve logging * chore(indexer): improve logging * chore(indexer): stringify all logs * debug(indexer): disable alchemy signature validation * debug(indexer): disable alchemy signature validation * chore(indexer): validate env and use trigger secret * debug(faucet): save dist/ empty folder in git * chore: update deps * chore: improve env validations * fix(alchemy): wrong import * chore(indexer): improve logging * debug(indexer): alchemy webhook handler * debug(indexer): disable helmet * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * feat(indexer): alchemy signature middleware * feat(indexer): validate alchemy signature * chore(indexer): security improvements (#323) * chore(indexer): disable alchemy validation * feat: presale token issuance part 3 (#325) * chore(alchemy): export types * chore(indexer): log process event id * chore(indexer): log process event id * chore: prod network conig, validate networks * wip(indexer): validate before triggering * chore: add try catch Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: clean up * devops(indexer): update dockerfile * chore: format code * devops: remove lhci reports * fix(indexer): wrong import * feat(trigger): transfer blpl token (#327) * feat(trigger): transfer blpl token * docs(trigger): token issuance jsdocs Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * devops(indexer): update dockerfile * chore: remove type:module (#329) * chore: remove type:module * chore: remove type:module * devops(indexer): test deployment * devops(indexer): test deployment * chore(supabase): use module * feat(trigger): presale token issuance * chore: format * chore: use type:module for monorepo * impr(webapp): add multibase provider (#326) * config: create multibase provider * chore: update multibase env variable * impr(webapp): UI Update (#314) * (wepapp)impr:landing distribution + filenames * (wepapp)impr:auction card badge * (wepapp)impr:steps pading + new text-size * (wepapp)impr:text-size * (wepapp)impr:refactored about us section * (wepapp)impr:new tittles learning section * (wepapp)impr:security section * (wepapp)impr:tittle style and fonts * (wepapp)impr:responsive impr * fix:about section text-18 instead of text-sm * fix:security responsive * fix:hero padding * fix:Final Mobil Tweaks * impr(webapp): landing heros + mob-nav spacing * impr(webapp): landing learn section updated blog links * fix(webapp): info text foreground color * impr(webapp): landing responsiveness * imp(webapp): 3 steps needed responsiveness * chore(webapp): rm duplicate component --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat: security updates (#331) * feat(indexer): validate right usdt,usdc address * feat(indexer): wait for finality and trx log * fix(indexer): wrong import * chore(indexer): fix build * chore(webapp): format * feat(webapp): bitlauncher blog category + blog tweaks (#324) * wip: static blog files upt * fix(webapp): blog article file gen + article ui tweaks * chore(webapp): app ver upt + cms gen script * docs: upt cms-ql.sh Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(webapp): app build, missing file --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: format files * fix(webapp): cached files error catch * impr(webapp): static blog file error catch * fix(webapp): static cached file chk * feat: supabase schema and webapp updates (#335) * feat(indexer): add address registration validation * feat: update database schema to support presales * feat: repo/tokens (#336) * chore: update repo packages (#338) * feat: stable coin selector * feat: presale ux ui * chore: repo/contracts pkg * chore: repo/utils pkg * chore: repo/tsconfig pkg * chore: repo/alchemy pkg * chore: repo/jobs pkg * chore: repo/supabase pkg * docs: update readme * chore: update bunlock * chore(indexer): alchemy webhook Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore(alchemy): invert ternary Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore: not nullable values, format code * chore: update node:crypto Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(indexer): alchemy signature validation Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: fix build (#339) * feat: validate user registration on event proxy (#340) * chore: fix imports * feat(indexer): validate user is registered * feat: add presale deposit checks (#341) * feat(indexer): is registered address * feat(indexer): validate amount and timing * wip(webapp): update project, presale and auction pages * chore(webapp): improve error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: realtime presale data (#342) * feat: real time presale data * feat: real time presale data * fix(webapp): header margin (#343) * webapp:fix margin top * webapp:add header tag * webapp:fix margin top * webapp:add md top * webapp:add md top * webapp:fix project tittle + pills responsive * chore: august 3rd release [pre-prod] (#334) * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep * fix(indexer): trust proxy * feat: token issuance trigger part 2 (#321) * chore(alchemy): use gcloud endpoint * docs(alchemy): update readme file * docs(indexer): update readme file * debug(indexer): gcloud automated deployment * chore(alchemy): env values validation * chore(indexer): improve logging * chore(indexer): improve logging * chore(indexer): stringify all logs * debug(indexer): disable alchemy signature validation * debug(indexer): disable alchemy signature validation * chore(indexer): validate env and use trigger secret * debug(faucet): save dist/ empty folder in git * chore: update deps * chore: improve env validations * fix(alchemy): wrong import * chore(indexer): improve logging * debug(indexer): alchemy webhook handler * debug(indexer): disable helmet * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * feat(indexer): alchemy signature middleware * feat(indexer): validate alchemy signature * chore(indexer): security improvements (#323) * chore(indexer): disable alchemy validation * feat: presale token issuance part 3 (#325) * chore(alchemy): export types * chore(indexer): log process event id * chore(indexer): log process event id * chore: prod network conig, validate networks * wip(indexer): validate before triggering * chore: add try catch Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: clean up * devops(indexer): update dockerfile * chore: format code * devops: remove lhci reports * fix(indexer): wrong import * feat(trigger): transfer blpl token (#327) * feat(trigger): transfer blpl token * docs(trigger): token issuance jsdocs Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * devops(indexer): update dockerfile * chore: remove type:module (#329) * chore: remove type:module * chore: remove type:module * devops(indexer): test deployment * devops(indexer): test deployment * chore(supabase): use module * feat(trigger): presale token issuance * chore: format * chore: use type:module for monorepo * impr(webapp): add multibase provider (#326) * config: create multibase provider * chore: update multibase env variable * impr(webapp): UI Update (#314) * (wepapp)impr:landing distribution + filenames * (wepapp)impr:auction card badge * (wepapp)impr:steps pading + new text-size * (wepapp)impr:text-size * (wepapp)impr:refactored about us section * (wepapp)impr:new tittles learning section * (wepapp)impr:security section * (wepapp)impr:tittle style and fonts * (wepapp)impr:responsive impr * fix:about section text-18 instead of text-sm * fix:security responsive * fix:hero padding * fix:Final Mobil Tweaks * impr(webapp): landing heros + mob-nav spacing * impr(webapp): landing learn section updated blog links * fix(webapp): info text foreground color * impr(webapp): landing responsiveness * imp(webapp): 3 steps needed responsiveness * chore(webapp): rm duplicate component --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat: security updates (#331) * feat(indexer): validate right usdt,usdc address * feat(indexer): wait for finality and trx log * fix(indexer): wrong import * chore(indexer): fix build * chore(webapp): format * feat(webapp): bitlauncher blog category + blog tweaks (#324) * wip: static blog files upt * fix(webapp): blog article file gen + article ui tweaks * chore(webapp): app ver upt + cms gen script * docs: upt cms-ql.sh Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(webapp): app build, missing file --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: format files * fix(webapp): cached files error catch * impr(webapp): static blog file error catch * fix(webapp): static cached file chk * feat: supabase schema and webapp updates (#335) * feat(indexer): add address registration validation * feat: update database schema to support presales * feat: repo/tokens (#336) * chore: update repo packages (#338) * feat: stable coin selector * feat: presale ux ui * chore: repo/contracts pkg * chore: repo/utils pkg * chore: repo/tsconfig pkg * chore: repo/alchemy pkg * chore: repo/jobs pkg * chore: repo/supabase pkg * docs: update readme * chore: update bunlock * chore(indexer): alchemy webhook Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore(alchemy): invert ternary Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore: not nullable values, format code * chore: update node:crypto Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(indexer): alchemy signature validation Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: fix build (#339) * feat: validate user registration on event proxy (#340) * chore: fix imports * feat(indexer): validate user is registered * feat: add presale deposit checks (#341) * feat(indexer): is registered address * feat(indexer): validate amount and timing * wip(webapp): update project, presale and auction pages * chore(webapp): improve error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: realtime presale data (#342) * feat: real time presale data * feat: real time presale data * fix(webapp): header margin (#343) * webapp:fix margin top * webapp:add header tag * webapp:fix margin top * webapp:add md top * webapp:add md top * webapp:fix project tittle + pills responsive --------- Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local> Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> * chore(fix): update apps/trigger package.json dep * fix: cms gen merged files + use-session table upt + trigger/tsconfig upt * fix: registration logic and indexer checks (#347) * feat(indexer): check if address already bought * fix(webapp): registration logic * chore: update bunlock * fix(webapp): arrow icon * fix(webapp): arrow icon * feat: upsert accounts table on login * fix(webapp): move accounts to session hook * feat: webapp/hotfix bl project status tag (#348) * fix(webapp): tablet/small-screen header breakpoint * impr(webapp): project page hero + blog links upt * fix(webapp): project badge text upt * content(webapp): token sale date tbd * fix(webapp): hero title size (#350) * fix(webapp): hero title size * impr(webapp): share link toaster msg * chore: presale hardcoded txt tweak --------- Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com> Co-authored-by: Nathanael Liu <supernathanliu@gmail.com> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): tailwindcss accent colours + landing hero accent colour upt (#353) * chore: add @types/uuid * chore: add @types/uuid * fix(app-lib): tsconfig pkg extends * fix: missing encoding dep * feat: sitemap (#290) * feat: add sitemap * fix: error handling * fix: move common types * fix: update base url in sitemap * Update apps/webapp/app/(routes)/[lang]/blog/[category]/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/wallet/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/whitepaper/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: build error * fix: remove unnecessary async declarative * vendor: add @types/uuid * fix: remove console log for debug * fix: add 'async' to all sitemaps * fix: make ProjectPageParams extends CommonPageParams --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix(webapp): UI/UX tweaks and upts from final v1 landing designs (#291) * (webapp)fix:FAQ border radi + muted color * (webapp)fix:newsletter spacing * (webapp)fix:participate spacing and font family * (webapp)fix:header spacing + bitlauncher logo size * (webapp)fix:blog section 4 per row + purple link + gap * (webapp)fix:hero-card spacing * (webapp)fix:auction-card spaces * (webapp)fix:Upcoming grid gap * (webapp)fix:article card - text-left * (webapp)fix:media-card text-start * (webapp)fix:media-section purple link + space * (webapp)fix:participate gap + section font and padding * (webapp)fix:footer links padding + other spacing fix * (webapp)fix:upcoming background circle * (webapp)fix:footer margin-10 * (webapp)fix:upcoming bg shape * (webapp)-andler-changes-request * (webapp)-debug-toggle navigation icon * (webapp)-create-mobile-navigation-context * (webapp)-create-mobile-navigation-context * (webapp)-fix navigation bug - add key * (webapp)-Andler-changes * (webapp)-responsive - upcoming * (webapp)-fix-responsive-whychooseUs * (webapp)-fix-responsive-participate * (webapp)-fix-responsive-media * (webapp)-fix-responsive-articles * (webapp)-responsive-project-header+info+sharebtn * (webapp)-feat-about-base * (webapp)-feat-about-landing-complete * (webapp)-feat-security-updated * (webapp)-fix-steps-padding * fix typo * fix bgHeader type * fix bgHeader type * impr(webapp): layout tweaks * impr(webapp): info pages img asset + css class * fix: bun.lockb --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * feat: multichain indexer ( part 1 ) (#293) * chore: update app-contracts * feat: multichain indexer * feat: prod chains * feat: presale wallet * feat: blpl token * feat: blpl token * chore: update bunlock * feat: blpl token * feat: presale evm contribs * feat: blpl token * wip: presale indexer * chore(indexer): fix dockerfile * feat: presale transaction indexing (#296) * feat: report transaction id * feat: save deposits data * feat: save deposits data * feat: read presale transactions * chore: disable view all * feat: update presale deposits ui * feat: display amount raised and contributors * chore: environment chains and tokens * fix(webapp): desktop padding (#297) * feat: multichain presale deposits (#298) * chore: environment chains and tokens * fix: chain switch * fix: chain switch * feat: update nav links (#299) * chore: environment chains and tokens * feat: update nav links * chore: renable swaps service, index token from latest block * feat(webapp): wallet ui updates (#300) * fix: wagmi config * feat(webapp): presale contribution report * feat: realtime presale data * feat: realtime presale data * feat: update dropdown menu * feat(supabase): update schema and types * chore: debug presale token issuance * feat: show issuance trx link on table * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * impr(webapp): upt mob ver of more info cards (#294) (#305) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep * chore: august 2nd release [at TEST] (#315) * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep --------- Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local> Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: merge typo * fix: tailwind font config * fix(indexer): trust proxy * feat: token issuance trigger part 2 (#321) * chore(alchemy): use gcloud endpoint * docs(alchemy): update readme file * docs(indexer): update readme file * debug(indexer): gcloud automated deployment * chore(alchemy): env values validation * chore(indexer): improve logging * chore(indexer): improve logging * chore(indexer): stringify all logs * debug(indexer): disable alchemy signature validation * debug(indexer): disable alchemy signature validation * chore(indexer): validate env and use trigger secret * debug(faucet): save dist/ empty folder in git * chore: update deps * chore: improve env validations * fix(alchemy): wrong import * chore(indexer): improve logging * debug(indexer): alchemy webhook handler * debug(indexer): disable helmet * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * feat(indexer): alchemy signature middleware * feat(indexer): validate alchemy signature * chore(indexer): security improvements (#323) * chore(indexer): disable alchemy validation * feat: presale token issuance part 3 (#325) * chore(alchemy): export types * chore(indexer): log process event id * chore(indexer): log process event id * chore: prod network conig, validate networks * wip(indexer): validate before triggering * chore: add try catch Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: clean up * devops(indexer): update dockerfile * chore: format code * devops: remove lhci reports * fix(indexer): wrong import * feat(trigger): transfer blpl token (#327) * feat(trigger): transfer blpl token * docs(trigger): token issuance jsdocs Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * devops(indexer): update dockerfile * chore: remove type:module (#329) * chore: remove type:module * chore: remove type:module * devops(indexer): test deployment * devops(indexer): test deployment * chore(supabase): use module * feat(trigger): presale token issuance * chore: format * chore: use type:module for monorepo * impr(webapp): add multibase provider (#326) * config: create multibase provider * chore: update multibase env variable * impr(webapp): UI Update (#314) * (wepapp)impr:landing distribution + filenames * (wepapp)impr:auction card badge * (wepapp)impr:steps pading + new text-size * (wepapp)impr:text-size * (wepapp)impr:refactored about us section * (wepapp)impr:new tittles learning section * (wepapp)impr:security section * (wepapp)impr:tittle style and fonts * (wepapp)impr:responsive impr * fix:about section text-18 instead of text-sm * fix:security responsive * fix:hero padding * fix:Final Mobil Tweaks * impr(webapp): landing heros + mob-nav spacing * impr(webapp): landing learn section updated blog links * fix(webapp): info text foreground color * impr(webapp): landing responsiveness * imp(webapp): 3 steps needed responsiveness * chore(webapp): rm duplicate component --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat: security updates (#331) * feat(indexer): validate right usdt,usdc address * feat(indexer): wait for finality and trx log * fix(indexer): wrong import * chore(indexer): fix build * chore(webapp): format * feat(webapp): bitlauncher blog category + blog tweaks (#324) * wip: static blog files upt * fix(webapp): blog article file gen + article ui tweaks * chore(webapp): app ver upt + cms gen script * docs: upt cms-ql.sh Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(webapp): app build, missing file --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: format files * fix(webapp): cached files error catch * impr(webapp): static blog file error catch * fix(webapp): static cached file chk * feat: supabase schema and webapp updates (#335) * feat(indexer): add address registration validation * feat: update database schema to support presales * feat: repo/tokens (#336) * chore: update repo packages (#338) * feat: stable coin selector * feat: presale ux ui * chore: repo/contracts pkg * chore: repo/utils pkg * chore: repo/tsconfig pkg * chore: repo/alchemy pkg * chore: repo/jobs pkg * chore: repo/supabase pkg * docs: update readme * chore: update bunlock * chore(indexer): alchemy webhook Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore(alchemy): invert ternary Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore: not nullable values, format code * chore: update node:crypto Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(indexer): alchemy signature validation Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: fix build (#339) * feat: validate user registration on event proxy (#340) * chore: fix imports * feat(indexer): validate user is registered * feat: add presale deposit checks (#341) * feat(indexer): is registered address * feat(indexer): validate amount and timing * wip(webapp): update project, presale and auction pages * chore(webapp): improve error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: realtime presale data (#342) * feat: real time presale data * feat: real time presale data * fix(webapp): header margin (#343) * webapp:fix margin top * webapp:add header tag * webapp:fix margin top * webapp:add md top * webapp:add md top * webapp:fix project tittle + pills responsive * chore: august 3rd release [pre-prod] (#334) * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep * fix(indexer): trust proxy * feat: token issuance trigger part 2 (#321) * chore(alchemy): use gcloud endpoint * docs(alchemy): update readme file * docs(indexer): update readme file * debug(indexer): gcloud automated deployment * chore(alchemy): env values validation * chore(indexer): improve logging * chore(indexer): improve logging * chore(indexer): stringify all logs * debug(indexer): disable alchemy signature validation * debug(indexer): disable alchemy signature validation * chore(indexer): validate env and use trigger secret * debug(faucet): save dist/ empty folder in git * chore: update deps * chore: improve env validations * fix(alchemy): wrong import * chore(indexer): improve logging * debug(indexer): alchemy webhook handler * debug(indexer): disable helmet * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * feat(indexer): alchemy signature middleware * feat(indexer): validate alchemy signature * chore(indexer): security improvements (#323) * chore(indexer): disable alchemy validation * feat: presale token issuance part 3 (#325) * chore(alchemy): export types * chore(indexer): log process event id * chore(indexer): log process event id * chore: prod network conig, validate networks * wip(indexer): validate before triggering * chore: add try catch Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: clean up * devops(indexer): update dockerfile * chore: format code * devops: remove lhci reports * fix(indexer): wrong import * feat(trigger): transfer blpl token (#327) * feat(trigger): transfer blpl token * docs(trigger): token issuance jsdocs Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * devops(indexer): update dockerfile * chore: remove type:module (#329) * chore: remove type:module * chore: remove type:module * devops(indexer): test deployment * devops(indexer): test deployment * chore(supabase): use module * feat(trigger): presale token issuance * chore: format * chore: use type:module for monorepo * impr(webapp): add multibase provider (#326) * config: create multibase provider * chore: update multibase env variable * impr(webapp): UI Update (#314) * (wepapp)impr:landing distribution + filenames * (wepapp)impr:auction card badge * (wepapp)impr:steps pading + new text-size * (wepapp)impr:text-size * (wepapp)impr:refactored about us section * (wepapp)impr:new tittles learning section * (wepapp)impr:security section * (wepapp)impr:tittle style and fonts * (wepapp)impr:responsive impr * fix:about section text-18 instead of text-sm * fix:security responsive * fix:hero padding * fix:Final Mobil Tweaks * impr(webapp): landing heros + mob-nav spacing * impr(webapp): landing learn section updated blog links * fix(webapp): info text foreground color * impr(webapp): landing responsiveness * imp(webapp): 3 steps needed responsiveness * chore(webapp): rm duplicate component --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat: security updates (#331) * feat(indexer): validate right usdt,usdc address * feat(indexer): wait for finality and trx log * fix(indexer): wrong import * chore(indexer): fix build * chore(webapp): format * feat(webapp): bitlauncher blog category + blog tweaks (#324) * wip: static blog files upt * fix(webapp): blog article file gen + article ui tweaks * chore(webapp): app ver upt + cms gen script * docs: upt cms-ql.sh Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(webapp): app build, missing file --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: format files * fix(webapp): cached files error catch * impr(webapp): static blog file error catch * fix(webapp): static cached file chk * feat: supabase schema and webapp updates (#335) * feat(indexer): add address registration validation * feat: update database schema to support presales * feat: repo/tokens (#336) * chore: update repo packages (#338) * feat: stable coin selector * feat: presale ux ui * chore: repo/contracts pkg * chore: repo/utils pkg * chore: repo/tsconfig pkg * chore: repo/alchemy pkg * chore: repo/jobs pkg * chore: repo/supabase pkg * docs: update readme * chore: update bunlock * chore(indexer): alchemy webhook Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore(alchemy): invert ternary Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore: not nullable values, format code * chore: update node:crypto Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(indexer): alchemy signature validation Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: fix build (#339) * feat: validate user registration on event proxy (#340) * chore: fix imports * feat(indexer): validate user is registered * feat: add presale deposit checks (#341) * feat(indexer): is registered address * feat(indexer): validate amount and timing * wip(webapp): update project, presale and auction pages * chore(webapp): improve error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: realtime presale data (#342) * feat: real time presale data * feat: real time presale data * fix(webapp): header margin (#343) * webapp:fix margin top * webapp:add header tag * webapp:fix margin top * webapp:add md top * webapp:add md top * webapp:fix project tittle + pills responsive --------- Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local> Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> * chore(fix): update apps/trigger package.json dep * fix: cms gen merged files + use-session table upt + trigger/tsconfig upt * fix: registration logic and indexer checks (#347) * feat(indexer): check if address already bought * fix(webapp): registration logic * chore: update bunlock * fix(webapp): arrow icon * fix(webapp): arrow icon * feat: upsert accounts table on login * fix(webapp): move accounts to session hook * feat: webapp/hotfix bl project status tag (#348) * fix(webapp): tablet/small-screen header breakpoint * impr(webapp): project page hero + blog links upt * fix(webapp): project badge text upt * content(webapp): token sale date tbd * fix(webapp): hero title size (#350) * fix(webapp): hero title size * impr(webapp): share link toaster msg * chore: presale hardcoded txt tweak * impr(webapp): tailwindcss accent colour upt (#352) --------- Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com> Co-authored-by: Nathanael Liu <supernathanliu@gmail.com> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: update text in learn-section * fix: change "investment" with "contribution" * fix: typo * fix(webapp): learn section txt typo upt --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* chore: add @types/uuid * chore: add @types/uuid * fix(app-lib): tsconfig pkg extends * fix: missing encoding dep * feat: sitemap (#290) * feat: add sitemap * fix: error handling * fix: move common types * fix: update base url in sitemap * Update apps/webapp/app/(routes)/[lang]/blog/[category]/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/wallet/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/whitepaper/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: build error * fix: remove unnecessary async declarative * vendor: add @types/uuid * fix: remove console log for debug * fix: add 'async' to all sitemaps * fix: make ProjectPageParams extends CommonPageParams --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix(webapp): UI/UX tweaks and upts from final v1 landing designs (#291) * (webapp)fix:FAQ border radi + muted color * (webapp)fix:newsletter spacing * (webapp)fix:participate spacing and font family * (webapp)fix:header spacing + bitlauncher logo size * (webapp)fix:blog section 4 per row + purple link + gap * (webapp)fix:hero-card spacing * (webapp)fix:auction-card spaces * (webapp)fix:Upcoming grid gap * (webapp)fix:article card - text-left * (webapp)fix:media-card text-start * (webapp)fix:media-section purple link + space * (webapp)fix:participate gap + section font and padding * (webapp)fix:footer links padding + other spacing fix * (webapp)fix:upcoming background circle * (webapp)fix:footer margin-10 * (webapp)fix:upcoming bg shape * (webapp)-andler-changes-request * (webapp)-debug-toggle navigation icon * (webapp)-create-mobile-navigation-context * (webapp)-create-mobile-navigation-context * (webapp)-fix navigation bug - add key * (webapp)-Andler-changes * (webapp)-responsive - upcoming * (webapp)-fix-responsive-whychooseUs * (webapp)-fix-responsive-participate * (webapp)-fix-responsive-media * (webapp)-fix-responsive-articles * (webapp)-responsive-project-header+info+sharebtn * (webapp)-feat-about-base * (webapp)-feat-about-landing-complete * (webapp)-feat-security-updated * (webapp)-fix-steps-padding * fix typo * fix bgHeader type * fix bgHeader type * impr(webapp): layout tweaks * impr(webapp): info pages img asset + css class * fix: bun.lockb --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * feat: multichain indexer ( part 1 ) (#293) * chore: update app-contracts * feat: multichain indexer * feat: prod chains * feat: presale wallet * feat: blpl token * feat: blpl token * chore: update bunlock * feat: blpl token * feat: presale evm contribs * feat: blpl token * wip: presale indexer * chore(indexer): fix dockerfile * feat: presale transaction indexing (#296) * feat: report transaction id * feat: save deposits data * feat: save deposits data * feat: read presale transactions * chore: disable view all * feat: update presale deposits ui * feat: display amount raised and contributors * chore: environment chains and tokens * fix(webapp): desktop padding (#297) * feat: multichain presale deposits (#298) * chore: environment chains and tokens * fix: chain switch * fix: chain switch * feat: update nav links (#299) * chore: environment chains and tokens * feat: update nav links * chore: renable swaps service, index token from latest block * feat(webapp): wallet ui updates (#300) * fix: wagmi config * feat(webapp): presale contribution report * feat: realtime presale data * feat: realtime presale data * feat: update dropdown menu * feat(supabase): update schema and types * chore: debug presale token issuance * feat: show issuance trx link on table * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * impr(webapp): upt mob ver of more info cards (#294) (#305) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep * chore: august 2nd release [at TEST] (#315) * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep --------- Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local> Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: merge typo * fix: tailwind font config * fix(indexer): trust proxy * feat: token issuance trigger part 2 (#321) * chore(alchemy): use gcloud endpoint * docs(alchemy): update readme file * docs(indexer): update readme file * debug(indexer): gcloud automated deployment * chore(alchemy): env values validation * chore(indexer): improve logging * chore(indexer): improve logging * chore(indexer): stringify all logs * debug(indexer): disable alchemy signature validation * debug(indexer): disable alchemy signature validation * chore(indexer): validate env and use trigger secret * debug(faucet): save dist/ empty folder in git * chore: update deps * chore: improve env validations * fix(alchemy): wrong import * chore(indexer): improve logging * debug(indexer): alchemy webhook handler * debug(indexer): disable helmet * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * feat(indexer): alchemy signature middleware * feat(indexer): validate alchemy signature * chore(indexer): security improvements (#323) * chore(indexer): disable alchemy validation * feat: presale token issuance part 3 (#325) * chore(alchemy): export types * chore(indexer): log process event id * chore(indexer): log process event id * chore: prod network conig, validate networks * wip(indexer): validate before triggering * chore: add try catch Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: clean up * devops(indexer): update dockerfile * chore: format code * devops: remove lhci reports * fix(indexer): wrong import * feat(trigger): transfer blpl token (#327) * feat(trigger): transfer blpl token * docs(trigger): token issuance jsdocs Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * devops(indexer): update dockerfile * chore: remove type:module (#329) * chore: remove type:module * chore: remove type:module * devops(indexer): test deployment * devops(indexer): test deployment * chore(supabase): use module * feat(trigger): presale token issuance * chore: format * chore: use type:module for monorepo * impr(webapp): add multibase provider (#326) * config: create multibase provider * chore: update multibase env variable * impr(webapp): UI Update (#314) * (wepapp)impr:landing distribution + filenames * (wepapp)impr:auction card badge * (wepapp)impr:steps pading + new text-size * (wepapp)impr:text-size * (wepapp)impr:refactored about us section * (wepapp)impr:new tittles learning section * (wepapp)impr:security section * (wepapp)impr:tittle style and fonts * (wepapp)impr:responsive impr * fix:about section text-18 instead of text-sm * fix:security responsive * fix:hero padding * fix:Final Mobil Tweaks * impr(webapp): landing heros + mob-nav spacing * impr(webapp): landing learn section updated blog links * fix(webapp): info text foreground color * impr(webapp): landing responsiveness * imp(webapp): 3 steps needed responsiveness * chore(webapp): rm duplicate component --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat: security updates (#331) * feat(indexer): validate right usdt,usdc address * feat(indexer): wait for finality and trx log * fix(indexer): wrong import * chore(indexer): fix build * chore(webapp): format * feat(webapp): bitlauncher blog category + blog tweaks (#324) * wip: static blog files upt * fix(webapp): blog article file gen + article ui tweaks * chore(webapp): app ver upt + cms gen script * docs: upt cms-ql.sh Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(webapp): app build, missing file --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: format files * fix(webapp): cached files error catch * impr(webapp): static blog file error catch * fix(webapp): static cached file chk * feat: supabase schema and webapp updates (#335) * feat(indexer): add address registration validation * feat: update database schema to support presales * feat: repo/tokens (#336) * chore: update repo packages (#338) * feat: stable coin selector * feat: presale ux ui * chore: repo/contracts pkg * chore: repo/utils pkg * chore: repo/tsconfig pkg * chore: repo/alchemy pkg * chore: repo/jobs pkg * chore: repo/supabase pkg * docs: update readme * chore: update bunlock * chore(indexer): alchemy webhook Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore(alchemy): invert ternary Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore: not nullable values, format code * chore: update node:crypto Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(indexer): alchemy signature validation Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: fix build (#339) * feat: validate user registration on event proxy (#340) * chore: fix imports * feat(indexer): validate user is registered * feat: add presale deposit checks (#341) * feat(indexer): is registered address * feat(indexer): validate amount and timing * wip(webapp): update project, presale and auction pages * chore(webapp): improve error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: realtime presale data (#342) * feat: real time presale data * feat: real time presale data * fix(webapp): header margin (#343) * webapp:fix margin top * webapp:add header tag * webapp:fix margin top * webapp:add md top * webapp:add md top * webapp:fix project tittle + pills responsive * chore: august 3rd release [pre-prod] (#334) * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep * fix(indexer): trust proxy * feat: token issuance trigger part 2 (#321) * chore(alchemy): use gcloud endpoint * docs(alchemy): update readme file * docs(indexer): update readme file * debug(indexer): gcloud automated deployment * chore(alchemy): env values validation * chore(indexer): improve logging * chore(indexer): improve logging * chore(indexer): stringify all logs * debug(indexer): disable alchemy signature validation * debug(indexer): disable alchemy signature validation * chore(indexer): validate env and use trigger secret * debug(faucet): save dist/ empty folder in git * chore: update deps * chore: improve env validations * fix(alchemy): wrong import * chore(indexer): improve logging * debug(indexer): alchemy webhook handler * debug(indexer): disable helmet * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * feat(indexer): alchemy signature middleware * feat(indexer): validate alchemy signature * chore(indexer): security improvements (#323) * chore(indexer): disable alchemy validation * feat: presale token issuance part 3 (#325) * chore(alchemy): export types * chore(indexer): log process event id * chore(indexer): log process event id * chore: prod network conig, validate networks * wip(indexer): validate before triggering * chore: add try catch Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: clean up * devops(indexer): update dockerfile * chore: format code * devops: remove lhci reports * fix(indexer): wrong import * feat(trigger): transfer blpl token (#327) * feat(trigger): transfer blpl token * docs(trigger): token issuance jsdocs Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * devops(indexer): update dockerfile * chore: remove type:module (#329) * chore: remove type:module * chore: remove type:module * devops(indexer): test deployment * devops(indexer): test deployment * chore(supabase): use module * feat(trigger): presale token issuance * chore: format * chore: use type:module for monorepo * impr(webapp): add multibase provider (#326) * config: create multibase provider * chore: update multibase env variable * impr(webapp): UI Update (#314) * (wepapp)impr:landing distribution + filenames * (wepapp)impr:auction card badge * (wepapp)impr:steps pading + new text-size * (wepapp)impr:text-size * (wepapp)impr:refactored about us section * (wepapp)impr:new tittles learning section * (wepapp)impr:security section * (wepapp)impr:tittle style and fonts * (wepapp)impr:responsive impr * fix:about section text-18 instead of text-sm * fix:security responsive * fix:hero padding * fix:Final Mobil Tweaks * impr(webapp): landing heros + mob-nav spacing * impr(webapp): landing learn section updated blog links * fix(webapp): info text foreground color * impr(webapp): landing responsiveness * imp(webapp): 3 steps needed responsiveness * chore(webapp): rm duplicate component --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat: security updates (#331) * feat(indexer): validate right usdt,usdc address * feat(indexer): wait for finality and trx log * fix(indexer): wrong import * chore(indexer): fix build * chore(webapp): format * feat(webapp): bitlauncher blog category + blog tweaks (#324) * wip: static blog files upt * fix(webapp): blog article file gen + article ui tweaks * chore(webapp): app ver upt + cms gen script * docs: upt cms-ql.sh Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(webapp): app build, missing file --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: format files * fix(webapp): cached files error catch * impr(webapp): static blog file error catch * fix(webapp): static cached file chk * feat: supabase schema and webapp updates (#335) * feat(indexer): add address registration validation * feat: update database schema to support presales * feat: repo/tokens (#336) * chore: update repo packages (#338) * feat: stable coin selector * feat: presale ux ui * chore: repo/contracts pkg * chore: repo/utils pkg * chore: repo/tsconfig pkg * chore: repo/alchemy pkg * chore: repo/jobs pkg * chore: repo/supabase pkg * docs: update readme * chore: update bunlock * chore(indexer): alchemy webhook Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore(alchemy): invert ternary Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore: not nullable values, format code * chore: update node:crypto Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(indexer): alchemy signature validation Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: fix build (#339) * feat: validate user registration on event proxy (#340) * chore: fix imports * feat(indexer): validate user is registered * feat: add presale deposit checks (#341) * feat(indexer): is registered address * feat(indexer): validate amount and timing * wip(webapp): update project, presale and auction pages * chore(webapp): improve error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: realtime presale data (#342) * feat: real time presale data * feat: real time presale data * fix(webapp): header margin (#343) * webapp:fix margin top * webapp:add header tag * webapp:fix margin top * webapp:add md top * webapp:add md top * webapp:fix project tittle + pills responsive --------- Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local> Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> * chore(fix): update apps/trigger package.json dep * fix: cms gen merged files + use-session table upt + trigger/tsconfig upt * fix: registration logic and indexer checks (#347) * feat(indexer): check if address already bought * fix(webapp): registration logic * chore: update bunlock * fix(webapp): arrow icon * fix(webapp): arrow icon * feat: upsert accounts table on login * fix(webapp): move accounts to session hook * feat: webapp/hotfix bl project status tag (#348) * fix(webapp): tablet/small-screen header breakpoint * impr(webapp): project page hero + blog links upt * fix(webapp): project badge text upt * content(webapp): token sale date tbd * fix(webapp): hero title size (#350) * fix(webapp): hero title size * impr(webapp): share link toaster msg * chore: presale hardcoded txt tweak * impr(webapp): tailwindcss accent colour upt (#352) * chore(webapp): learn section content upt (#354) * chore: presale texts revisions (#351) * chore: add @types/uuid * chore: add @types/uuid * fix(app-lib): tsconfig pkg extends * fix: missing encoding dep * feat: sitemap (#290) * feat: add sitemap * fix: error handling * fix: move common types * fix: update base url in sitemap * Update apps/webapp/app/(routes)/[lang]/blog/[category]/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/wallet/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/whitepaper/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: build error * fix: remove unnecessary async declarative * vendor: add @types/uuid * fix: remove console log for debug * fix: add 'async' to all sitemaps * fix: make ProjectPageParams extends CommonPageParams --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix(webapp): UI/UX tweaks and upts from final v1 landing designs (#291) * (webapp)fix:FAQ border radi + muted color * (webapp)fix:newsletter spacing * (webapp)fix:participate spacing and font family * (webapp)fix:header spacing + bitlauncher logo size * (webapp)fix:blog section 4 per row + purple link + gap * (webapp)fix:hero-card spacing * (webapp)fix:auction-card spaces * (webapp)fix:Upcoming grid gap * (webapp)fix:article card - text-left * (webapp)fix:media-card text-start * (webapp)fix:media-section purple link + space * (webapp)fix:participate gap + section font and padding * (webapp)fix:footer links padding + other spacing fix * (webapp)fix:upcoming background circle * (webapp)fix:footer margin-10 * (webapp)fix:upcoming bg shape * (webapp)-andler-changes-request * (webapp)-debug-toggle navigation icon * (webapp)-create-mobile-navigation-context * (webapp)-create-mobile-navigation-context * (webapp)-fix navigation bug - add key * (webapp)-Andler-changes * (webapp)-responsive - upcoming * (webapp)-fix-responsive-whychooseUs * (webapp)-fix-responsive-participate * (webapp)-fix-responsive-media * (webapp)-fix-responsive-articles * (webapp)-responsive-project-header+info+sharebtn * (webapp)-feat-about-base * (webapp)-feat-about-landing-complete * (webapp)-feat-security-updated * (webapp)-fix-steps-padding * fix typo * fix bgHeader type * fix bgHeader type * impr(webapp): layout tweaks * impr(webapp): info pages img asset + css class * fix: bun.lockb --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * feat: multichain indexer ( part 1 ) (#293) * chore: update app-contracts * feat: multichain indexer * feat: prod chains * feat: presale wallet * feat: blpl token * feat: blpl token * chore: update bunlock * feat: blpl token * feat: presale evm contribs * feat: blpl token * wip: presale indexer * chore(indexer): fix dockerfile * feat: presale transaction indexing (#296) * feat: report transaction id * feat: save deposits data * feat: save deposits data * feat: read presale transactions * chore: disable view all * feat: update presale deposits ui * feat: display amount raised and contributors * chore: environment chains and tokens * fix(webapp): desktop padding (#297) * feat: multichain presale deposits (#298) * chore: environment chains and tokens * fix: chain switch * fix: chain switch * feat: update nav links (#299) * chore: environment chains and tokens * feat: update nav links * chore: renable swaps service, index token from latest block * feat(webapp): wallet ui updates (#300) * fix: wagmi config * feat(webapp): presale contribution report * feat: realtime presale data * feat: realtime presale data * feat: update dropdown menu * feat(supabase): update schema and types * chore: debug presale token issuance * feat: show issuance trx link on table * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * impr(webapp): upt mob ver of more info cards (#294) (#305) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep * chore: august 2nd release [at TEST] (#315) * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep --------- Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local> Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: merge typo * fix: tailwind font config * fix(indexer): trust proxy * feat: token issuance trigger part 2 (#321) * chore(alchemy): use gcloud endpoint * docs(alchemy): update readme file * docs(indexer): update readme file * debug(indexer): gcloud automated deployment * chore(alchemy): env values validation * chore(indexer): improve logging * chore(indexer): improve logging * chore(indexer): stringify all logs * debug(indexer): disable alchemy signature validation * debug(indexer): disable alchemy signature validation * chore(indexer): validate env and use trigger secret * debug(faucet): save dist/ empty folder in git * chore: update deps * chore: improve env validations * fix(alchemy): wrong import * chore(indexer): improve logging * debug(indexer): alchemy webhook handler * debug(indexer): disable helmet * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * feat(indexer): alchemy signature middleware * feat(indexer): validate alchemy signature * chore(indexer): security improvements (#323) * chore(indexer): disable alchemy validation * feat: presale token issuance part 3 (#325) * chore(alchemy): export types * chore(indexer): log process event id * chore(indexer): log process event id * chore: prod network conig, validate networks * wip(indexer): validate before triggering * chore: add try catch Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: clean up * devops(indexer): update dockerfile * chore: format code * devops: remove lhci reports * fix(indexer): wrong import * feat(trigger): transfer blpl token (#327) * feat(trigger): transfer blpl token * docs(trigger): token issuance jsdocs Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * devops(indexer): update dockerfile * chore: remove type:module (#329) * chore: remove type:module * chore: remove type:module * devops(indexer): test deployment * devops(indexer): test deployment * chore(supabase): use module * feat(trigger): presale token issuance * chore: format * chore: use type:module for monorepo * impr(webapp): add multibase provider (#326) * config: create multibase provider * chore: update multibase env variable * impr(webapp): UI Update (#314) * (wepapp)impr:landing distribution + filenames * (wepapp)impr:auction card badge * (wepapp)impr:steps pading + new text-size * (wepapp)impr:text-size * (wepapp)impr:refactored about us section * (wepapp)impr:new tittles learning section * (wepapp)impr:security section * (wepapp)impr:tittle style and fonts * (wepapp)impr:responsive impr * fix:about section text-18 instead of text-sm * fix:security responsive * fix:hero padding * fix:Final Mobil Tweaks * impr(webapp): landing heros + mob-nav spacing * impr(webapp): landing learn section updated blog links * fix(webapp): info text foreground color * impr(webapp): landing responsiveness * imp(webapp): 3 steps needed responsiveness * chore(webapp): rm duplicate component --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat: security updates (#331) * feat(indexer): validate right usdt,usdc address * feat(indexer): wait for finality and trx log * fix(indexer): wrong import * chore(indexer): fix build * chore(webapp): format * feat(webapp): bitlauncher blog category + blog tweaks (#324) * wip: static blog files upt * fix(webapp): blog article file gen + article ui tweaks * chore(webapp): app ver upt + cms gen script * docs: upt cms-ql.sh Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(webapp): app build, missing file --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: format files * fix(webapp): cached files error catch * impr(webapp): static blog file error catch * fix(webapp): static cached file chk * feat: supabase schema and webapp updates (#335) * feat(indexer): add address registration validation * feat: update database schema to support presales * feat: repo/tokens (#336) * chore: update repo packages (#338) * feat: stable coin selector * feat: presale ux ui * chore: repo/contracts pkg * chore: repo/utils pkg * chore: repo/tsconfig pkg * chore: repo/alchemy pkg * chore: repo/jobs pkg * chore: repo/supabase pkg * docs: update readme * chore: update bunlock * chore(indexer): alchemy webhook Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore(alchemy): invert ternary Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore: not nullable values, format code * chore: update node:crypto Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(indexer): alchemy signature validation Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: fix build (#339) * feat: validate user registration on event proxy (#340) * chore: fix imports * feat(indexer): validate user is registered * feat: add presale deposit checks (#341) * feat(indexer): is registered address * feat(indexer): validate amount and timing * wip(webapp): update project, presale and auction pages * chore(webapp): improve error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: realtime presale data (#342) * feat: real time presale data * feat: real time presale data * fix(webapp): header margin (#343) * webapp:fix margin top * webapp:add header tag * webapp:fix margin top * webapp:add md top * webapp:add md top * webapp:fix project tittle + pills responsive * chore: august 3rd release [pre-prod] (#334) * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep * fix(indexer): trust proxy * feat: token issuance trigger part 2 (#321) * chore(alchemy): use gcloud endpoint * docs(alchemy): update readme file * docs(indexer): update readme file * debug(indexer): gcloud automated deployment * chore(alchemy): env values validation * chore(indexer): improve logging * chore(indexer): improve logging * chore(indexer): stringify all logs * debug(indexer): disable alchemy signature validation * debug(indexer): disable alchemy signature validation * chore(indexer): validate env and use trigger secret * debug(faucet): save dist/ empty folder in git * chore: update deps * chore: improve env validations * fix(alchemy): wrong import * chore(indexer): improve logging * debug(indexer): alchemy webhook handler * debug(indexer): disable helmet * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * feat(indexer): alchemy signature middleware * feat(indexer): validate alchemy signature * chore(indexer): security improvements (#323) * chore(indexer): disable alchemy validation * feat: presale token issuance part 3 (#325) * chore(alchemy): export types * chore(indexer): log process event id * chore(indexer): log process event id * chore: prod network conig, validate networks * wip(indexer): validate before triggering * chore: add try catch Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: clean up * devops(indexer): update dockerfile * chore: format code * devops: remove lhci reports * fix(indexer): wrong import * feat(trigger): transfer blpl token (#327) * feat(trigger): transfer blpl token * docs(trigger): token issuance jsdocs Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * devops(indexer): update dockerfile * chore: remove type:module (#329) * chore: remove type:module * chore: remove type:module * devops(indexer): test deployment * devops(indexer): test deployment * chore(supabase): use module * feat(trigger): presale token issuance * chore: format * chore: use type:module for monorepo * impr(webapp): add multibase provider (#326) * config: create multibase provider * chore: update multibase env variable * impr(webapp): UI Update (#314) * (wepapp)impr:landing distribution + filenames * (wepapp)impr:auction card badge * (wepapp)impr:steps pading + new text-size * (wepapp)impr:text-size * (wepapp)impr:refactored about us section * (wepapp)impr:new tittles learning section * (wepapp)impr:security section * (wepapp)impr:tittle style and fonts * (wepapp)impr:responsive impr * fix:about section text-18 instead of text-sm * fix:security responsive * fix:hero padding * fix:Final Mobil Tweaks * impr(webapp): landing heros + mob-nav spacing * impr(webapp): landing learn section updated blog links * fix(webapp): info text foreground color * impr(webapp): landing responsiveness * imp(webapp): 3 steps needed responsiveness * chore(webapp): rm duplicate component --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat: security updates (#331) * feat(indexer): validate right usdt,usdc address * feat(indexer): wait for finality and trx log * fix(indexer): wrong import * chore(indexer): fix build * chore(webapp): format * feat(webapp): bitlauncher blog category + blog tweaks (#324) * wip: static blog files upt * fix(webapp): blog article file gen + article ui tweaks * chore(webapp): app ver upt + cms gen script * docs: upt cms-ql.sh Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(webapp): app build, missing file --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: format files * fix(webapp): cached files error catch * impr(webapp): static blog file error catch * fix(webapp): static cached file chk * feat: supabase schema and webapp updates (#335) * feat(indexer): add address registration validation * feat: update database schema to support presales * feat: repo/tokens (#336) * chore: update repo packages (#338) * feat: stable coin selector * feat: presale ux ui * chore: repo/contracts pkg * chore: repo/utils pkg * chore: repo/tsconfig pkg * chore: repo/alchemy pkg * chore: repo/jobs pkg * chore: repo/supabase pkg * docs: update readme * chore: update bunlock * chore(indexer): alchemy webhook Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore(alchemy): invert ternary Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore: not nullable values, format code * chore: update node:crypto Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(indexer): alchemy signature validation Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: fix build (#339) * feat: validate user registration on event proxy (#340) * chore: fix imports * feat(indexer): validate user is registered * feat: add presale deposit checks (#341) * feat(indexer): is registered address * feat(indexer): validate amount and timing * wip(webapp): update project, presale and auction pages * chore(webapp): improve error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: realtime presale data (#342) * feat: real time presale data * feat: real time presale data * fix(webapp): header margin (#343) * webapp:fix margin top * webapp:add header tag * webapp:fix margin top * webapp:add md top * webapp:add md top * webapp:fix project tittle + pills responsive --------- Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local> Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> * chore(fix): update apps/trigger package.json dep * fix: cms gen merged files + use-session table upt + trigger/tsconfig upt * fix: registration logic and indexer checks (#347) * feat(indexer): check if address already bought * fix(webapp): registration logic * chore: update bunlock * fix(webapp): arrow icon * fix(webapp): arrow icon * feat: upsert accounts table on login * fix(webapp): move accounts to session hook * feat: webapp/hotfix bl project status tag (#348) * fix(webapp): tablet/small-screen header breakpoint * impr(webapp): project page hero + blog links upt * fix(webapp): project badge text upt * content(webapp): token sale date tbd * fix(webapp): hero title size (#350) * fix(webapp): hero title size * impr(webapp): share link toaster msg * chore: presale hardcoded txt tweak --------- Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com> Co-authored-by: Nathanael Liu <supernathanliu@gmail.com> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Gabo Esquivel <gaboesquivel@Gabos-MacBook-Pro.local> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): tailwindcss accent colours + landing hero accent colour upt (#353) * chore: add @types/uuid * chore: add @types/uuid * fix(app-lib): tsconfig pkg extends * fix: missing encoding dep * feat: sitemap (#290) * feat: add sitemap * fix: error handling * fix: move common types * fix: update base url in sitemap * Update apps/webapp/app/(routes)/[lang]/blog/[category]/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/wallet/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/whitepaper/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: build error * fix: remove unnecessary async declarative * vendor: add @types/uuid * fix: remove console log for debug * fix: add 'async' to all sitemaps * fix: make ProjectPageParams extends CommonPageParams --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix(webapp): UI/UX tweaks and upts from final v1 landing designs (#291) * (webapp)fix:FAQ border radi + muted color * (webapp)fix:newsletter spacing * (webapp)fix:participate spacing and font family * (webapp)fix:header spacing + bitlauncher logo size * (webapp)fix:blog section 4 per row + purple link + gap * (webapp)fix:hero-card spacing * (webapp)fix:auction-card spaces * (webapp)fix:Upcoming grid gap * (webapp)fix:article card - text-left * (webapp)fix:media-card text-start * (webapp)fix:media-section purple link + space * (webapp)fix:participate gap + section font and padding * (webapp)fix:footer links padding + other spacing fix * (webapp)fix:upcoming background circle * (webapp)fix:footer margin-10 * (webapp)fix:upcoming bg shape * (webapp)-andler-changes-request * (webapp)-debug-toggle navigation icon * (webapp)-create-mobile-navigation-context * (webapp)-create-mobile-navigation-context * (webapp)-fix navigation bug - add key * (webapp)-Andler-changes * (webapp)-responsive - upcoming * (webapp)-fix-responsive-whychooseUs * (webapp)-fix-responsive-participate * (webapp)-fix-responsive-media * (webapp)-fix-responsive-articles * (webapp)-responsive-project-header+info+sharebtn * (webapp)-feat-about-base * (webapp)-feat-about-landing-complete * (webapp)-feat-security-updated * (webapp)-fix-steps-padding * fix typo * fix bgHeader type * fix bgHeader type * impr(webapp): layout tweaks * impr(webapp): info pages img asset + css class * fix: bun.lockb --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * feat: multichain indexer ( part 1 ) (#293) * chore: update app-contracts * feat: multichain indexer * feat: prod chains * feat: presale wallet * feat: blpl token * feat: blpl token * chore: update bunlock * feat: blpl token * feat: presale evm contribs * feat: blpl token * wip: presale indexer * chore(indexer): fix dockerfile * feat: presale transaction indexing (#296) * feat: report transaction id * feat: save deposits data * feat: save deposits data * feat: read presale transactions * chore: disable view all * feat: update presale deposits ui * feat: display amount raised and contributors * chore: environment chains and tokens * fix(webapp): desktop padding (#297) * feat: multichain presale deposits (#298) * chore: environment chains and tokens * fix: chain switch * fix: chain switch * feat: update nav links (#299) * chore: environment chains and tokens * feat: update nav links * chore: renable swaps service, index token from latest block * feat(webapp): wallet ui updates (#300) * fix: wagmi config * feat(webapp): presale contribution report * feat: realtime presale data * feat: realtime presale data * feat: update dropdown menu * feat(supabase): update schema and types * chore: debug presale token issuance * feat: show issuance trx link on table * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * impr(webapp): upt mob ver of more info cards (#294) (#305) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl…
Summary by Sourcery
Implement presale token issuance by adding support for Alchemy webhook events and address activity notifications. Refactor chain configurations and improve logging for webhook processing.
New Features:
Enhancements:
Chores:
Summary by CodeRabbit
New Features
Improvements
Bug Fixes
Chores