-
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: multichain indexer ( part 1 ) #293
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
Reviewer's Guide by SourceryThis pull request implements a multichain indexer by reorganizing the contract exports into 'auction' and 'tokens' directories, adding 'chain' properties to contract data, and consolidating contract objects for both development and production environments. It also includes the addition of new USDC contract definitions for multiple chains and the removal of outdated contract files. File-Level Changes
Tips
|
Important Review skippedReview was skipped due to path filters Files ignored due to path filters (1)
You can disable this status message by setting the WalkthroughThe recent updates significantly enhance the organization and functionality of blockchain contract data structures across various files. A new Changes
Sequence Diagram(s)sequenceDiagram
participant Developer
participant Contracts
participant Application
Developer->>Contracts: Update contract properties
Contracts->>Contracts: Add chain context
Contracts->>Application: Export updated contracts
Application->>Application: Integrate contracts with new structure
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:
- Ensure consistent application of the new structure across all files, particularly the addition of the
chain
property for all EVM contracts.
Here's what I looked at during the review
- 🟡 General issues: 1 issue found
- 🟢 Security: all looks good
- 🟢 Testing: all looks good
- 🟡 Complexity: 2 issues found
- 🟢 Documentation: all looks good
Help me be more useful! Please click 👍 or 👎 on each comment to tell me if it was helpful.
address: "0xaf88d065e77c8cc2239327c5edb3a432268e5831", | ||
name: "USDC", | ||
symbol: "USDC", | ||
decimals: 6, |
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.
suggestion: Consider using a constant for USDC decimals
The decimals value is repeated for each USDC contract. Consider defining a constant for this value to improve maintainability and reduce the risk of inconsistencies.
decimals: 6, | |
const USDC_DECIMALS = 6; | |
const usdcToken = { | |
address: "0xaf88d065e77c8cc2239327c5edb3a432268e5831", | |
name: "USDC", | |
symbol: "USDC", | |
decimals: USDC_DECIMALS, | |
indexFromBlock: 0, | |
chainId: 42161, // Arbitrum Mainnet | |
}; |
export * from "./tokens/eos-fake-bitusd"; | ||
export * from "./tokens/eos-fake-usdt"; | ||
|
||
import { TestnetEasyAuction } from "./auction/testnet-easy-auction"; |
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.
issue (complexity): Consider using dynamic imports and a single source of truth for all modules to simplify the code.
The new code introduces increased complexity due to the number of explicit imports and manual list management. This makes the file harder to maintain and scale. Consider using dynamic imports and a single source of truth for all modules to simplify the code. Here's a suggested refactor:
// Re-export all modules from their respective directories
export * from "./auction/testnet-easy-auction";
export * from "./auction/testnet-deposit-order";
export * from "./tokens/testnet-usd-cred";
export * from "./tokens/testnet-mbots-prelaunch";
export * from "./tokens/sepolia-usdt";
export * from "./tokens/testnet-usdt";
export * from "./tokens/eos-fake-bitusd";
export * from "./tokens/eos-fake-usdt";
// Import all modules dynamically
const modules = {
auction: {
TestnetEasyAuction: require("./auction/testnet-easy-auction").TestnetEasyAuction,
TestnetDepositOrder: require("./auction/testnet-deposit-order").TestnetDepositOrder,
},
tokens: {
TestnetUSDCred: require("./tokens/testnet-usd-cred").TestnetUSDCred,
TestnetMBOTSPL: require("./tokens/testnet-mbots-prelaunch").TestnetMBOTSPL,
SepoliaUSDT: require("./tokens/sepolia-usdt").SepoliaUSDT,
TestnetUSDT: require("./tokens/testnet-usdt").TestnetUSDT,
EOSFakeBITUSD: require("./tokens/eos-fake-bitusd").EOSFakeBITUSD,
EOSFakeUSDT: require("./tokens/eos-fake-usdt").EOSFakeUSDT,
}
};
// Categorize contracts
const evmTokens = [
modules.tokens.TestnetUSDCred,
modules.tokens.TestnetMBOTSPL,
modules.tokens.SepoliaUSDT,
modules.tokens.TestnetUSDT,
];
const eosTokens = [
modules.tokens.EOSFakeBITUSD,
modules.tokens.EOSFakeUSDT,
];
const auctions = [
modules.auction.TestnetEasyAuction,
modules.auction.TestnetDepositOrder,
];
export const devContracts = {
tokens: {
evm: evmTokens,
eos: eosTokens,
},
auctions,
};
This approach reduces redundancy, makes the code easier to read, and simplifies the process of adding new contracts.
export * from './tokens/usdc' | ||
|
||
import {usdtContracts} from './tokens/usdt' |
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.
issue (complexity): Consider simplifying the code by consolidating imports and directly initializing arrays.
The new code introduces additional complexity that could be simplified. Here are some points to consider:
-
Increased Number of Imports: The new code has multiple import statements, making the file harder to read and maintain. The original code had a simpler structure with fewer lines and less clutter.
-
Manual Aggregation of Data: Manually aggregating
usdtContracts
,usdcContracts
,EOSUSDT
, andEOSBITUSD
into arrays increases the risk of errors and makes the code harder to extend in the future. -
Nested Data Structures: Introducing nested data structures (
prodContracts
withtokens
andauctions
) adds to the complexity. This should be justified by a clear need. -
Redundant Code: There is some redundancy, such as importing and then immediately spreading arrays into new arrays. This can be simplified to reduce complexity.
Here is a suggested refactor to simplify the code:
export * from './tokens/eos-usdt';
export * from './tokens/eos-bitusd';
export * from './tokens/usdt';
export * from './tokens/usdc';
import { usdtContracts } from './tokens/usdt';
import { usdcContracts } from './tokens/usdc';
import { EOSUSDT } from './tokens/eos-usdt';
import { EOSBITUSD } from './tokens/eos-bitusd';
import { ContractData, EOSTokenContractData, EVMTokenContractData } from '../types';
const evmTokens: EVMTokenContractData[] = [
...usdtContracts,
...usdcContracts
];
const eosTokens: EOSTokenContractData[] = [
EOSUSDT,
EOSBITUSD
];
const auctions: ContractData[] = [];
export const prodContracts = {
tokens: {
evm: evmTokens,
eos: eosTokens
},
auctions
};
This refactor consolidates imports, directly initializes arrays, and maintains a clear structure, making the code easier to read, maintain, and extend.
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: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (17)
- packages/app-contracts/src/dev/auction/testnet-allow-list.ts (1 hunks)
- packages/app-contracts/src/dev/auction/testnet-deposit-order.ts (1 hunks)
- packages/app-contracts/src/dev/auction/testnet-easy-auction.ts (1 hunks)
- packages/app-contracts/src/dev/index.ts (1 hunks)
- packages/app-contracts/src/dev/tokens/eos-fake-bitusd.ts (1 hunks)
- packages/app-contracts/src/dev/tokens/eos-fake-usdt.ts (1 hunks)
- packages/app-contracts/src/dev/tokens/sepolia-usdt.ts (2 hunks)
- packages/app-contracts/src/dev/tokens/testnet-mbots-prelaunch.ts (2 hunks)
- packages/app-contracts/src/dev/tokens/testnet-usd-cred.ts (2 hunks)
- packages/app-contracts/src/dev/tokens/testnet-usdt.ts (2 hunks)
- packages/app-contracts/src/index.ts (1 hunks)
- packages/app-contracts/src/prod/index.ts (1 hunks)
- packages/app-contracts/src/prod/tokens/eos-bitusd.ts (1 hunks)
- packages/app-contracts/src/prod/tokens/eos-usdt.ts (1 hunks)
- packages/app-contracts/src/prod/tokens/usdc.ts (1 hunks)
- packages/app-contracts/src/prod/tokens/usdt.ts (15 hunks)
- packages/app-contracts/src/types.ts (2 hunks)
Additional comments not posted (42)
packages/app-contracts/src/index.ts (3)
1-2
: LGTM!The import statements for
devContracts
andprodContracts
are correct and necessary for the new export structure.
4-6
: LGTM!The export statements correctly re-export everything from the
dev
,prod
, andtypes
modules.
8-11
: LGTM!The new export structure consolidates
devContracts
andprodContracts
into a singleappContracts
object, improving code organization and accessibility.packages/app-contracts/src/prod/tokens/eos-usdt.ts (2)
1-1
: LGTM!The import statement correctly brings in
EOSTokenContractData
from thetypes
module.
Line range hint
3-11
:
LGTM!The type declaration for
EOSUSDT
has been correctly updated toEOSTokenContractData
, aligning with the new type definition.packages/app-contracts/src/prod/tokens/eos-bitusd.ts (2)
1-1
: LGTM!The import statement correctly brings in
EOSTokenContractData
from thetypes
module.
Line range hint
3-11
:
LGTM!The type declaration for
EOSBITUSD
has been correctly updated toEOSTokenContractData
, aligning with the new type definition.packages/app-contracts/src/dev/tokens/eos-fake-bitusd.ts (2)
1-1
: Import statement update looks good.The import statement has been correctly updated to import
EOSTokenContractData
.
Line range hint
3-11
:
Type declaration update looks good.The type of
EOSFakeBITUSD
has been correctly updated toEOSTokenContractData
, and all properties match the expected structure.packages/app-contracts/src/dev/tokens/eos-fake-usdt.ts (2)
1-1
: Import statement update looks good.The import statement has been correctly updated to import
EOSTokenContractData
.
Line range hint
3-11
:
Type declaration update looks good.The type of
EOSFakeUSDT
has been correctly updated toEOSTokenContractData
, and all properties match the expected structure.packages/app-contracts/src/prod/index.ts (5)
2-5
: Export statements update looks good.The export statements have been correctly updated to reflect the new directory structure.
7-11
: Import statements update looks good.The new import statements have been correctly added for various token contracts and types.
13-16
:evmTokens
array declaration looks good.The
evmTokens
array has been correctly declared and populated with the appropriate contract data.
18-21
:eosTokens
array declaration looks good.The
eosTokens
array has been correctly declared and populated with the appropriate contract data.
28-34
:prodContracts
object declaration looks good.The
prodContracts
object has been correctly declared and populated with the appropriate data.packages/app-contracts/src/types.ts (2)
21-21
: LGTM! The addition of thechain
property enhances multi-chain support.The new
chain
property in theEVMContractData
interface provides more context about the blockchain network associated with the contract.
27-27
: LGTM! The addition of thechain
property enhances multi-chain support.The new
chain
property in theEVMTokenContractData
interface provides more context about the blockchain network associated with the contract.packages/app-contracts/src/dev/index.ts (6)
1-8
: LGTM! The restructuring of export statements improves organization and modularity.The export statements are now grouped under their respective directories, enhancing clarity and maintainability.
10-17
: LGTM! The updated import statements align with the restructured exports.The import statements now reflect the new directory structure, ensuring consistency.
20-25
: LGTM! TheevmTokens
array enhances organization and usability.The
evmTokens
array consolidates related contract data into a structured collection, improving maintainability.
27-30
: LGTM! TheeosTokens
array enhances organization and usability.The
eosTokens
array consolidates related contract data into a structured collection, improving maintainability.
32-35
: LGTM! Theauctions
array enhances organization and usability.The
auctions
array consolidates related contract data into a structured collection, improving maintainability.
37-43
: LGTM! ThedevContracts
object encapsulates structured collections of contract data.The
devContracts
object enhances the overall structure and usability of the exports, facilitating better integration and use of these contracts in other parts of the application.packages/app-contracts/src/dev/auction/testnet-allow-list.ts (2)
1-2
: LGTM! The updated import statement ensures the correct type is imported.The import statement now reflects the correct relative path for
EVMContractData
, aligning with the new directory structure.
10-10
: LGTM! The addition of thechain
property enhances clarity and functionality.The new
chain
property in theTestnetAllowList
object specifies the blockchain network, providing additional context.packages/app-contracts/src/dev/auction/testnet-deposit-order.ts (2)
1-2
: LGTM! Imports are correct.The import statements for
sepolia
andEVMContractData
are correctly added.
10-10
: LGTM! Ensure the new property is correctly integrated.The addition of the
chain
property with the valuesepolia
is correct.However, ensure that the usage of
TestnetDepositOrder
in the codebase is updated to handle the newchain
property.packages/app-contracts/src/prod/tokens/usdc.ts (2)
1-3
: LGTM! Imports are correct.The import statements for
EVMTokenContractData
,erc20Abi
, and various chains are correctly added.
5-101
: LGTM! Ensure the new property is correctly integrated.The addition of the
chain
property to each object in theusdcContracts
array is correct.However, ensure that the usage of
usdcContracts
in the codebase is updated to handle the newchain
property.packages/app-contracts/src/prod/tokens/usdt.ts (2)
1-3
: LGTM! Imports are correct.The import statements for
EVMTokenContractData
,erc20Abi
, and various chains are correctly added.
Line range hint
5-172
:
LGTM! Ensure the new property is correctly integrated.The addition of the
chain
property to each object in theusdtContracts
array is correct.However, ensure that the usage of
usdtContracts
in the codebase is updated to handle the newchain
property.Verification successful
Integration of
chain
Property VerifiedThe
chain
property added to theusdtContracts
array is correctly integrated and utilized throughout the codebase.
- Files and locations where
chain
property is used:
packages/app-env/src/env.ts
packages/app-contracts/src/prod/index.ts
- Various other files handling token interactions and chain configurations
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the usage of `usdtContracts` in the codebase. # Test: Search for the usage of `usdtContracts`. Expect: Updated usage to handle the new `chain` property. rg --type typescript -A 5 $'usdtContracts'Length of output: 76
Script:
#!/bin/bash # Description: Verify the usage of `usdtContracts` in the codebase. # Test: Search for the usage of `usdtContracts`. Expect: Updated usage to handle the new `chain` property. rg --type ts -A 5 $'usdtContracts'Length of output: 1979
Script:
#!/bin/bash # Description: Verify the integration of the `chain` property in the usage of `usdtContracts`. # Inspect the relevant lines in `packages/app-env/src/env.ts` rg --type ts -A 10 -B 10 $'usdtContracts' packages/app-env/src/env.ts # Inspect the relevant lines in `packages/app-contracts/src/prod/index.ts` rg --type ts -A 10 -B 10 $'usdtContracts' packages/app-contracts/src/prod/index.tsLength of output: 2050
Script:
#!/bin/bash # Description: Verify the usage of the `chain` property in the codebase. # Search for any usage of the `chain` property within the codebase. rg --type ts -A 5 $'.chain'Length of output: 275778
packages/app-contracts/src/dev/tokens/sepolia-usdt.ts (2)
1-2
: LGTM! Import statements are correct.The import statements are updated correctly to include
sepolia
and adjust the path forEVMTokenContractData
.
13-13
: LGTM! Addition ofchain
property enhances clarity.The addition of the
chain
property to theSepoliaUSDT
object improves its clarity and modularity.packages/app-contracts/src/dev/tokens/testnet-usdt.ts (2)
1-2
: LGTM! Import statements are correct.The import statements are updated correctly to include
eosEvmTestnet
and adjust the path forEVMTokenContractData
.
13-13
: LGTM! Addition ofchain
property enhances clarity.The addition of the
chain
property to theTestnetUSDT
object improves its clarity and modularity.packages/app-contracts/src/dev/tokens/testnet-mbots-prelaunch.ts (2)
1-2
: LGTM! Import statements are correct.The import statements are updated correctly to include
eosEvmTestnet
and adjust the path forEVMTokenContractData
.
13-13
: LGTM! Addition ofchain
property enhances clarity.The addition of the
chain
property to theTestnetMBOTSPL
object improves its clarity and modularity.packages/app-contracts/src/dev/tokens/testnet-usd-cred.ts (2)
1-2
: Verify the correctness of the updated import paths.Ensure that the updated import path for
EVMTokenContractData
and the new import foreosEvmTestnet
are correct and necessary.Verification successful
The updated import paths are correct.
The import paths for
EVMTokenContractData
andeosEvmTestnet
in the filepackages/app-contracts/src/dev/tokens/testnet-usd-cred.ts
are valid and correctly referenced in the codebase.
EVMTokenContractData
is correctly imported from../../types
.eosEvmTestnet
is correctly imported from../../../../app-env/src/chains
.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the correctness of the updated import paths. # Test: Check if the updated import paths are correct. Expect: Valid import paths. fd -t f -e ts | xargs grep -E 'EVMTokenContractData|eosEvmTestnet'Length of output: 4244
13-13
: LGTM! Verify the impact of the newchain
property.The addition of the
chain
property to theTestnetUSDCred
constant looks good. Ensure that this change does not introduce any issues in the broader application.Verification successful
To ensure the new
chain
property does not introduce issues, we need to verify the following:
- The
chain
property is correctly defined in theTestnetUSDCred
constant.- All usages of
TestnetUSDCred.chain
are appropriate and do not introduce errors.Let's start by checking the definition of the
TestnetUSDCred
constant to ensure thechain
property is correctly defined.
The
TestnetUSDCred
constant includes thechain
property, which is correctly defined. Now, we need to verify that all usages ofTestnetUSDCred.chain
in the codebase are appropriate and do not introduce errors.
LGTM! Verify the impact of the new
chain
property.The addition of the
chain
property to theTestnetUSDCred
constant looks good. The property is correctly defined and used appropriately across the codebase without introducing any issues.
apps/webapp/components/routes/wallet/withdraw-card.tsx
apps/webapp/components/routes/wallet/balances-table.tsx
apps/webapp/components/layout/header/bitcash-access.tsx
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the impact of the new `chain` property. # Test: Search for the usage of `TestnetUSDCred` in the codebase. Expect: No issues introduced. rg --type ts -A 5 $'TestnetUSDCred'Length of output: 11732
Script:
#!/bin/bash # Verify the definition of the `TestnetUSDCred` constant to ensure the `chain` property is correctly defined. rg --type ts 'export const TestnetUSDCred' -A 10Length of output: 993
Script:
#!/bin/bash # Verify all usages of `TestnetUSDCred.chain` in the codebase to ensure they are appropriate and error-free. rg --type ts 'TestnetUSDCred.chain'Length of output: 420
packages/app-contracts/src/dev/auction/testnet-easy-auction.ts (2)
1-2
: Verify the correctness of the updated import paths.Ensure that the updated import path for
EVMContractData
and the new import forsepolia
are correct and necessary.Verification successful
The updated import paths for
EVMContractData
and the new import forsepolia
are correct and necessary.
- The import paths are consistent across the codebase.
- Both
sepolia
andEVMContractData
are used in the file under review and other files.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the correctness of the updated import paths. # Test: Check if the updated import paths are correct. Expect: Valid import paths. fd -t f -e ts | xargs grep -E 'EVMContractData|sepolia'Length of output: 2892
10-10
: LGTM! Verify the impact of the newchain
property.The addition of the
chain
property to theTestnetEasyAuction
constant looks good. Ensure that this change does not introduce any issues in the broader application.Verification successful
The addition of the
chain
property to theTestnetEasyAuction
constant does not introduce any issues.The new property is not utilized elsewhere in the codebase, ensuring that its addition does not affect the existing functionality.
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the impact of the new `chain` property. # Test: Search for the usage of `TestnetEasyAuction` in the codebase. Expect: No issues introduced. rg --type ts -A 5 $'TestnetEasyAuction'Length of output: 9415
Script:
#!/bin/bash # Description: Verify the impact of the new `chain` property in TestnetEasyAuction. # Test: Search for the usage of the `chain` property within the `TestnetEasyAuction` object in the codebase. rg --type ts 'TestnetEasyAuction.chain'Length of output: 39
Script:
#!/bin/bash # Description: Verify the impact of the new `chain` property in TestnetEasyAuction. # Test: Search for the usage of the `chain` property within the `TestnetEasyAuction` object in the codebase. rg --type ts 'TestnetEasyAuction' -A 5 | grep 'chain'Length of output: 309
⚡️ Lighthouse report Page: https://bitlauncher-76xd2wc9j-bitcash.vercel.app/
Page: https://bitlauncher-76xd2wc9j-bitcash.vercel.app/about
Page: https://bitlauncher-76xd2wc9j-bitcash.vercel.app/security
Page: https://bitlauncher-76xd2wc9j-bitcash.vercel.app/bitcash-bitlauncher
Page: https://bitlauncher-76xd2wc9j-bitcash.vercel.app/blog
Page: https://bitlauncher-76xd2wc9j-bitcash.vercel.app/blog/ai
|
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: 0
Outside diff range, codebase verification and nitpick comments (1)
apps/indexer/src/lib/issuer-client.ts (1)
14-17
: Issues Found increatePublicClient
ConfigurationThe following instances of
createPublicClient
do not explicitly setchain
toeosEvmTestnet
:
apps/indexer/src/modules/swaps/evm-transfers.ts
const client: PublicClient = createPublicClient({ chain, transport: http(), })
apps/indexer/src/modules/presale/evm-contributions.ts
const client: PublicClient = createPublicClient({ chain, transport: http(), })These instances should be updated to explicitly set
chain
toeosEvmTestnet
to ensure consistency across the codebase.Analysis chain
LGTM! But verify the function usage in the codebase.
The code changes are approved.
However, ensure that all function calls to
createPublicClient
match the new configuration.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify all function calls to `createPublicClient` match the new configuration. # Test: Search for the function usage. Expect: Only occurrences of the new configuration. rg --type ts -A 5 $'createPublicClient'Length of output: 5558
Script:
#!/bin/bash # Description: Verify that all instances of createPublicClient match the new configuration with eosEvmTestnet and http(). # Check each file for the correct configuration of createPublicClient for file in $(rg --files-with-matches 'createPublicClient'); do echo "Checking $file" rg 'createPublicClient\(\s*{\s*chain:\s*eosEvmTestnet,\s*transport:\s*http\(\)\s*}' "$file" doneLength of output: 3015
Script:
#!/bin/bash # Description: Verify that all instances of createPublicClient match the new configuration with eosEvmTestnet and http(). # Corrected regex pattern to check each file for the correct configuration of createPublicClient for file in $(rg --files-with-matches 'createPublicClient'); do echo "Checking $file" rg 'createPublicClient\(\s*{\s*chain:\s*eosEvmTestnet,\s*transport:\s*http\(\)\s*}\s*\)' "$file" doneLength of output: 3075
Script:
#!/bin/bash # Description: Verify that all instances of createPublicClient match the new configuration with eosEvmTestnet and http(). # Simplified regex pattern to check each file for the correct configuration of createPublicClient for file in $(rg --files-with-matches 'createPublicClient'); do echo "Checking $file" rg 'createPublicClient\({.*chain: eosEvmTestnet,.*transport: http\(\).*}\)' "$file" doneLength of output: 2901
Script:
#!/bin/bash # Description: Verify that all instances of createPublicClient match the new configuration with eosEvmTestnet and http(). # Search for createPublicClient function calls and include context lines for manual inspection rg 'createPublicClient' -A 5Length of output: 5548
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (10)
- apps/indexer/src/lib/issuer-client.ts (1 hunks)
- apps/indexer/src/lib/utils.ts (2 hunks)
- apps/indexer/src/modules/auction/auction-indexer.ts (1 hunks)
- apps/indexer/src/modules/auction/easyauction.ts (1 hunks)
- apps/indexer/src/modules/presale/evm-contributions.ts (2 hunks)
- apps/indexer/src/modules/swaps/evm-transfers.ts (1 hunks)
- apps/indexer/src/routes/healthcheck.ts (1 hunks)
- packages/app-contracts/src/prod/index.ts (1 hunks)
- packages/app-env/src/chains.ts (2 hunks)
- packages/app-env/src/env.ts (3 hunks)
Files skipped from review as they are similar to previous changes (1)
- packages/app-contracts/src/prod/index.ts
Additional comments not posted (19)
apps/indexer/src/modules/auction/easyauction.ts (2)
1-3
: LGTM!The updated import statements and client configuration enhance the flexibility and robustness of the client setup.
5-8
: LGTM! But verify the function usage in the codebase.The code changes are approved.
However, ensure that all function calls to
createPublicClient
match the new configuration.Verification successful
Verification Successful: All instances of
createPublicClient
use the new configuration.
apps/indexer/src/lib/issuer-client.ts
apps/indexer/src/lib/utils.ts
apps/indexer/src/modules/swaps/evm-transfers.ts
apps/indexer/src/modules/auction/auction-indexer.ts
apps/indexer/src/modules/auction/easyauction.ts
apps/indexer/src/modules/presale/evm-contributions.ts
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify all function calls to `createPublicClient` match the new configuration. # Test: Search for the function usage. Expect: Only occurrences of the new configuration. rg --type ts -A 5 $'createPublicClient'Length of output: 5558
apps/indexer/src/routes/healthcheck.ts (1)
2-2
: LGTM! But verify the function usage in the codebase.The code changes are approved.
However, ensure that all function calls to
getCurrentBlockHeight
match the new import path.Verification successful
Verified: The function usage is correctly updated.
The
getCurrentBlockHeight
function is consistently imported from../lib/issuer-client
and used accordingly in the codebase.
apps/indexer/src/routes/healthcheck.ts
: Import and usage are consistent with the new path.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify all function calls to `getCurrentBlockHeight` match the new import path. # Test: Search for the function usage. Expect: Only occurrences of the new import path. rg --type ts -A 5 $'getCurrentBlockHeight'Length of output: 1250
packages/app-env/src/chains.ts (4)
2-2
: Approved: Comprehensive import of chains.The import statement now includes multiple chains, enhancing the application's flexibility.
25-25
: Approved: UpdatedprodChains
array.The
prodChains
array now includes multiple chains, enhancing the production environment's flexibility.
26-26
: Approved: UpdatedtestChains
array.The
testChains
array now includeseosEvmTestnet
andsepolia
, enhancing the test environment's flexibility.
29-31
: Approved: Renamed export object toappChains
.The export object has been renamed from
smartsaleChains
toappChains
, reflecting a broader application context.Ensure that all references to
smartsaleChains
are updated toappChains
across the codebase.Verification successful
Approved: Renamed export object to
appChains
.The export object has been renamed from
smartsaleChains
toappChains
, reflecting a broader application context. All references tosmartsaleChains
have been updated accordingly across the codebase.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify all references to `smartsaleChains` are updated to `appChains`. # Test: Search for the old reference. Expect: No occurrences of `smartsaleChains`. rg --type python -A 5 $'smartsaleChains'Length of output: 70
Script:
#!/bin/bash # Description: Verify all references to `smartsaleChains` are updated to `appChains`. # Test: Search for the old reference. Expect: No occurrences of `smartsaleChains`. rg 'smartsaleChains'Length of output: 20
apps/indexer/src/lib/utils.ts (2)
3-4
: Approved: Comprehensive import of utilities and chain.The import statement now includes necessary utilities and the
eosEvmTestnet
chain, enhancing the file's functionality.
41-44
: Approved: EnhancedgetTokenDetails
function.The function now creates a new client for interacting with the
eosEvmTestnet
chain, enhancing its capability to retrieve token details.Ensure that the function is correctly used across the codebase with the new client creation logic.
packages/app-env/src/env.ts (3)
1-1
: Approved: Updated import statement toappChains
.The import statement now correctly imports
appChains
instead ofsmartsaleChains
, reflecting the changes in the file.
19-19
: Approved: Updatedprod
configuration object.The
chains
property in theprod
configuration object now usesappChains.prod
, enhancing the production environment.
42-42
: Approved: Updateddev
configuration object.The
chains
property in thedev
configuration object now usesappChains.dev
, enhancing the development environment.apps/indexer/src/modules/presale/evm-contributions.ts (2)
17-17
: Verify the correctness and impact of the chain information source change.Ensure that
appChains.dev.get(token.chainId)
provides the necessary chain data and that the change does not introduce any issues.Verification successful
Verified the correctness and impact of the chain information source change.
The
appChains.dev.get(token.chainId)
usage is correctly implemented and does not introduce any issues. TheappChains
object is properly defined and initialized, ensuring that it provides the necessary chain data.
packages/app-env/src/chains.ts
: Definition and initialization ofappChains
.apps/indexer/src/modules/presale/evm-contributions.ts
: Usage ofappChains.dev.get
.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the usage of `appChains.dev.get` in the codebase. # Test: Search for the usage of `appChains.dev.get`. Expect: Correct usage and no issues. rg --type python -A 5 $'appChains.dev.get'Length of output: 72
Script:
#!/bin/bash # Description: Verify the usage of `appChains.dev.get` in the codebase. # Test: Search for the usage of `appChains.dev.get` within TypeScript files. Expect: Correct usage and no issues. rg --type ts -A 5 $'appChains.dev.get'Length of output: 1146
Script:
#!/bin/bash # Description: Verify the definition and initialization of `appChains` in the codebase. # Test: Search for the definition and initialization of `appChains`. Expect: Correct definition and initialization. rg --type ts -A 5 $'appChains'Length of output: 3433
7-7
: Verify the correctness and impact of the import change.Ensure that
appChains
fromapp-env
provides the necessary chain data and that the change does not introduce any issues.Verification successful
The import change to
appChains
fromapp-env
is correct and does not introduce any issues.
- The definition of
appChains
inpackages/app-env/src/chains.ts
is consistent with its usage in the codebase.- The change from
smartsaleChains
toappChains
is appropriate and compatible with the existing code.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the import of `appChains` and its usage in the codebase. # Test: Search for the definition of `appChains`. Expect: Correct definition and usage. rg --type python -A 5 $'appChains'Length of output: 64
Script:
#!/bin/bash # Description: Verify the import of `appChains` and its usage in the codebase. # Test: Search for the definition of `appChains`. Expect: Correct definition and usage. rg --type typescript -A 5 $'appChains'Length of output: 72
Script:
#!/bin/bash # Description: Verify the import of `appChains` and its usage in the codebase. # Test: Search for the definition of `appChains`. Expect: Correct definition and usage. rg --type ts -A 5 $'appChains'Length of output: 3433
apps/indexer/src/modules/swaps/evm-transfers.ts (3)
1-1
: Verify the correctness and impact of the import changes.Ensure that
appContracts
andappChains
fromapp-env
provide the necessary data and that the changes do not introduce any issues.Verification successful
The import changes for
appContracts
andappChains
are correct and do not introduce any issues.
appContracts
is defined inpackages/app-contracts/src/index.ts
and used appropriately in the codebase.appChains
is defined inpackages/app-env/src/chains.ts
and used appropriately in the codebase.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the import of `appContracts` and `appChains` and their usage in the codebase. # Test: Search for the definition of `appContracts` and `appChains`. Expect: Correct definition and usage. rg --type python -A 5 $'appContracts' rg --type python -A 5 $'appChains'Length of output: 132
Script:
#!/bin/bash # Description: Verify the import of `appContracts` and `appChains` and their usage in the codebase. # Test: Search for the definition of `appContracts` and `appChains`. Expect: Correct definition and usage. rg --type ts -A 5 'appContracts' rg --type ts -A 5 'appChains'Length of output: 4896
9-9
: Verify the correctness and impact of the tokens source change.Ensure that
appContracts.dev.tokens.evm
provides the necessary token data and that the change does not introduce any issues.Verification successful
The change to source
tokens
fromappContracts.dev.tokens.evm
is verified and correctly integrated.
- The
tokens
variable is correctly initialized fromappContracts.dev.tokens.evm
.- The
tokens
array is used in thelistenToEvmTransfers
function to applylistenToEvmTransfersFn
to each token.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the usage of `appContracts.dev.tokens.evm` in the codebase. # Test: Search for the usage of `appContracts.dev.tokens.evm`. Expect: Correct usage and no issues. rg --type python -A 5 $'appContracts.dev.tokens.evm'Length of output: 82
Script:
#!/bin/bash # Description: Verify the usage of `appContracts.dev.tokens.evm` in the codebase. # Test: Search for the usage of `appContracts.dev.tokens.evm`. Expect: Correct usage and no issues. rg --type ts -A 5 'appContracts.dev.tokens.evm'Length of output: 544
17-17
: Verify the correctness and impact of the chain information source change.Ensure that
appChains.dev.get(token.chainId)
provides the necessary chain data and that the change does not introduce any issues.Verification successful
The change to use
appChains.dev.get(token.chainId)
appears correct and should not introduce any issues.
- The
appChains
object is correctly defined and initialized inpackages/app-env/src/chains.ts
.- The usage of
appChains.dev.get
inevm-transfers.ts
andevm-contributions.ts
is consistent and should work as intended.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the usage of `appChains.dev.get` in the codebase. # Test: Search for the usage of `appChains.dev.get`. Expect: Correct usage and no issues. rg --type python -A 5 $'appChains.dev.get'Length of output: 72
Script:
#!/bin/bash # Description: Verify the usage of `appChains.dev.get` in the codebase. # Test: Search for the usage of `appChains.dev.get`. Expect: Correct usage and no issues. rg --type ts -A 5 $'appChains.dev.get'Length of output: 1146
Script:
#!/bin/bash # Description: Verify the definition and initialization of `appChains`. # Test: Search for the definition and initialization of `appChains`. Expect: Correct definition and initialization. rg --type ts -A 5 $'const appChains'Length of output: 399
apps/indexer/src/modules/auction/auction-indexer.ts (2)
17-21
: Verify the correctness and impact of the client instantiation.Ensure that the client instantiation using
createPublicClient
with theeosEvmTestnet
chain and HTTP transport is correct and does not introduce any issues.Verification successful
The instantiation of
createPublicClient
witheosEvmTestnet
and HTTP transport is correctly implemented and consistent across the codebase.
apps/indexer/src/modules/auction/auction-indexer.ts
: Correct usage ofcreatePublicClient
witheosEvmTestnet
and HTTP transport.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the usage of `createPublicClient` with `eosEvmTestnet` and HTTP transport in the codebase. # Test: Search for the usage of `createPublicClient` with `eosEvmTestnet` and HTTP transport. Expect: Correct usage and no issues. rg --type python -A 5 $'createPublicClient'Length of output: 73
Script:
#!/bin/bash # Description: Verify the usage of `createPublicClient` with `eosEvmTestnet` and HTTP transport in the codebase. # Test: Search for the usage of `createPublicClient` with `eosEvmTestnet` and HTTP transport. Expect: Correct usage and no issues. rg --type js -A 5 'createPublicClient'Length of output: 38
Script:
#!/bin/bash # Description: Verify the usage of `createPublicClient` with `eosEvmTestnet` and HTTP transport in the codebase. # Test: Search for the usage of `createPublicClient` with `eosEvmTestnet` and HTTP transport in JavaScript and TypeScript files. Expect: Correct usage and no issues. rg --type js,ts -A 5 'createPublicClient'Length of output: 71
Script:
#!/bin/bash # Description: Verify the usage of `createPublicClient` with `eosEvmTestnet` and HTTP transport in the codebase. # Test: Search for the usage of `createPublicClient` with `eosEvmTestnet` and HTTP transport in JavaScript files. Expect: Correct usage and no issues. rg --type js -A 5 'createPublicClient' # Test: Search for the usage of `createPublicClient` with `eosEvmTestnet` and HTTP transport in TypeScript files. Expect: Correct usage and no issues. rg --type ts -A 5 'createPublicClient'Length of output: 5597
1-1
: Verify the correctness and impact of the import changes.Ensure that
http
andcreatePublicClient
from theviem
library provide the necessary functionality and that the changes do not introduce any issues.Verification successful
The import changes to include
http
andcreatePublicClient
from theviem
library are correct and properly utilized in the codebase.The functions are used to create HTTP clients and public clients for interacting with blockchain networks, which aligns with their intended purposes. No issues were found with these changes.
http
andcreatePublicClient
are used in:
apps/indexer/src/lib/utils.ts
apps/indexer/src/lib/issuer-client.ts
apps/indexer/src/modules/swaps/evm-transfers.ts
apps/indexer/src/modules/presale/evm-contributions.ts
apps/indexer/src/modules/auction/easyauction.ts
apps/indexer/src/modules/auction/auction-indexer.ts
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the import of `http` and `createPublicClient` and their usage in the codebase. # Test: Search for the definition of `http` and `createPublicClient`. Expect: Correct definition and usage. rg --type python -A 5 $'http' rg --type python -A 5 $'createPublicClient'Length of output: 133
Script:
#!/bin/bash # Description: Verify the import of `http` and `createPublicClient` and their usage in the codebase. # Test: Search for the definition of `http` and `createPublicClient`. Expect: Correct definition and usage. rg --type typescript -A 5 'http' rg --type typescript -A 5 'createPublicClient'Length of output: 149
Script:
#!/bin/bash # Description: Verify the import of `http` and `createPublicClient` and their usage in the codebase. # Test: Search for the definition of `http` and `createPublicClient`. Expect: Correct definition and usage. rg --type ts -A 5 'http' rg --type ts -A 5 'createPublicClient'Length of output: 221280
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: 1
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files ignored due to path filters (2)
bun.lockb
is excluded by!**/bun.lockb
hardhat/erc20-token/bun.lockb
is excluded by!**/bun.lockb
Files selected for processing (10)
- apps/indexer/src/modules/presale/eos-contributions.ts (2 hunks)
- apps/indexer/src/modules/presale/evm-contributions.ts (5 hunks)
- apps/indexer/src/modules/presale/presale-issuer.ts (1 hunks)
- hardhat/erc20-token/contracts/BLPLToken.sol (1 hunks)
- hardhat/erc20-token/package.json (2 hunks)
- hardhat/erc20-token/scripts/deployBLPL.js (1 hunks)
- hardhat/erc20-token/tsconfig.json (1 hunks)
- packages/app-contracts/package.json (1 hunks)
- packages/app-contracts/src/dev/index.ts (1 hunks)
- packages/app-contracts/src/dev/tokens/testnet-blpl.ts (1 hunks)
Files skipped from review due to trivial changes (2)
- apps/indexer/src/modules/presale/eos-contributions.ts
- apps/indexer/src/modules/presale/presale-issuer.ts
Additional comments not posted (25)
hardhat/erc20-token/tsconfig.json (2)
1-6
: Ensure compatibility with NodeNext module resolution.The
module
andmoduleResolution
options are set toNodeNext
, which is appropriate for projects targeting Node.js environments with ES module support. Ensure that all dependencies and project configurations are compatible with this module resolution strategy.
7-7
: Reminder: Verify other compiler options.Ensure that the rest of the TypeScript compiler options are correctly configured to match the project's requirements.
packages/app-contracts/package.json (1)
12-13
: Dependency addition looks good.The addition of
"app-env": "workspace:*"
indicates that the package is expected to be resolved from a workspace, suggesting a modular or monorepo structure. Ensure that theapp-env
package is correctly configured and available in the workspace.hardhat/erc20-token/scripts/deployBLPL.js (2)
4-11
: Deployment script looks good.The deployment script correctly deploys the
BLPLToken
contract and logs the deployed contract address. Ensure that theBLPLToken
contract is correctly defined and available in the project.
13-16
: Error handling is appropriate.The script catches and logs errors during the deployment process, and sets the process exit code to 1 in case of failure. This is a good practice for handling errors in deployment scripts.
packages/app-contracts/src/dev/tokens/testnet-blpl.ts (2)
1-3
: LGTM!The imports are necessary for the functionality provided in this file.
5-16
: LGTM!The
TestnetBLPL
object is correctly structured and provides necessary information for the EVM token contract.hardhat/erc20-token/package.json (2)
10-10
: LGTM!The new script command
deployBLPL
is correctly added and will run thedeployBLPL.js
script on theeosevm_testnet
network.
21-21
: LGTM!The new dependency
@openzeppelin/contracts
is correctly added and specifies version^3.3.0
.hardhat/erc20-token/contracts/BLPLToken.sol (6)
2-3
: LGTM!The SPDX license identifier and pragma directive are correctly specified.
5-7
: LGTM!The imports from OpenZeppelin are necessary and correctly specified.
9-12
: LGTM!The constructor correctly initializes the token with the specified name, symbol, and initial supply.
14-17
: LGTM!The
decimals
function correctly overrides the default decimals to 6.
19-26
: LGTM!The
issue
function correctly allows the owner to mint new tokens to a specified recipient.
28-34
: LGTM!The
burn
function correctly allows the caller to burn their own tokens.packages/app-contracts/src/dev/index.ts (6)
2-9
: LGTM! Imports reflect the new directory structure.The import statements have been updated correctly to reflect the new directory structure for contracts.
11-11
: LGTM! Type imports are correctly included.The import of
ContractData
,EOSTokenContractData
, andEVMTokenContractData
from../types
is necessary for type checking.
13-19
: LGTM!evmTokens
array is correctly defined.The
evmTokens
array consolidates the relevant EVM token contracts.
21-24
: LGTM!eosTokens
array is correctly defined.The
eosTokens
array consolidates the relevant EOS token contracts.
26-29
: LGTM!auctions
array is correctly defined.The
auctions
array consolidates the relevant auction contracts.
31-47
: LGTM! Exports are correctly defined.The
devContracts
object encapsulates the structured collections of contracts, and individual contracts are also exported correctly.apps/indexer/src/modules/presale/evm-contributions.ts (4)
7-7
: LGTM! Import ofappChains
is correctly updated.The import of
appChains
fromapp-env
replacessmartsaleChains
, reflecting the new source of chain data.
9-9
: LGTM!presaleWallet
constant is correctly defined.The
presaleWallet
constant replaces the hardcoded destination address for token transfers, centralizing the address management.
18-18
: LGTM! Usage ofappChains
is correctly updated.The
appChains
is used to retrieve the chain data for the token, correctly updating the source of chain data.
32-32
: LGTM! Usage ofpresaleWallet
is correctly updated.The
presaleWallet
is used as the destination address for token transfers, correctly updating the destination address.Also applies to: 47-47
@@ -0,0 +1,16 @@ | |||
|
|||
const { ethers } = require("hardhat"); |
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.
Consider using ES6 import syntax.
Since the project uses TypeScript with NodeNext module resolution, consider using ES6 import syntax instead of CommonJS require
.
- const { ethers } = require("hardhat");
+ import { ethers } from "hardhat";
Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
const { ethers } = require("hardhat"); | |
import { ethers } from "hardhat"; |
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: 0
Outside diff range, codebase verification and nitpick comments (1)
apps/indexer/src/modules/presale/evm-contributions.ts (1)
9-9
: LGTM! Consider documentingpresaleWallet
.The change centralizes the destination address, which is a good practice. Consider adding a comment to document its purpose.
+ // Address for presale token transfers const presaleWallet = '0xf7bb6BD787FFbA43539219560E3B8162Ba8EEF09'
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 (3)
- apps/indexer/src/modules/presale/evm-contributions.ts (4 hunks)
- apps/indexer/src/modules/presale/index.ts (1 hunks)
- packages/app-contracts/src/dev/tokens/testnet-blpl.ts (1 hunks)
Files skipped from review due to trivial changes (1)
- packages/app-contracts/src/dev/tokens/testnet-blpl.ts
Additional comments not posted (4)
apps/indexer/src/modules/presale/index.ts (1)
5-5
: Verify the impact of disabling EOS contributions.Commenting out
listenToEosContributions()
disables EOS contributions. Ensure this is intentional and verify the impact on the system.Verification successful
Disabling EOS contributions impacts only the
startPresaleService
function.Commenting out
listenToEosContributions()
will disable EOS contributions within thestartPresaleService
function. There are no other dependencies or references to this function elsewhere in the codebase.
apps/indexer/src/modules/presale/index.ts
apps/indexer/src/modules/presale/eos-contributions.ts
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the impact of disabling EOS contributions. # Test: Search for the function usage. Expect: Understand the usage context and impact. rg --type python -A 5 $'listenToEosContributions'Length of output: 79
Script:
#!/bin/bash # Description: Verify the impact of disabling EOS contributions. # Test: Search for the function usage in TypeScript and JavaScript files. Expect: Understand the usage context and impact. rg --type js,ts -A 5 'listenToEosContributions'Length of output: 77
Script:
#!/bin/bash # Description: Verify the impact of disabling EOS contributions. # Test: Search for the function usage in TypeScript and JavaScript files. Expect: Understand the usage context and impact. rg -t js -t ts -A 5 'listenToEosContributions'Length of output: 1219
Script:
#!/bin/bash # Description: Verify the impact of disabling EOS contributions by searching for all references to `listenToEosContributions`. # Test: Search for any other references to `listenToEosContributions` across the codebase. rg 'listenToEosContributions'Length of output: 342
apps/indexer/src/modules/presale/evm-contributions.ts (3)
32-32
: LGTM! Verify the new destination address.The destination address for token transfers is updated to
presaleWallet
. Ensure the new destination address is correct and intended.Also applies to: 47-47
Verification successful
LGTM! Verify the new destination address.
The destination address for token transfers is updated to
presaleWallet
with the address '0xf7bb6BD787FFbA43539219560E3B8162Ba8EEF09'. Ensure the new destination address is correct and intended.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the new destination address for token transfers. # Test: Search for the usage of `presaleWallet`. Expect: Ensure the new destination address is correct and intended. rg --type python -A 5 $'presaleWallet'Length of output: 68
Script:
#!/bin/bash # Description: Verify the new destination address for token transfers. # Test: Search for the usage of `presaleWallet`. Expect: Ensure the new destination address is correct and intended. rg --type ts -A 5 'presaleWallet'Length of output: 1592
18-18
: LGTM! Verify the chain data retrieval.The change uses
appChains
to retrieve chain data. Ensure the chain data is correctly retrieved and used.Verification successful
Let's correct the file type and search for the usage of
appChains.dev.get
in TypeScript files.
LGTM! Verify the chain data retrieval.
The change uses
appChains
to retrieve chain data. The chain data is correctly retrieved and used to log a message and create aPublicClient
instance, with proper checks to ensure the chain exists.
apps/indexer/src/modules/swaps/evm-transfers.ts
apps/indexer/src/modules/presale/evm-contributions.ts
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the chain data retrieval using `appChains`. # Test: Search for the function usage. Expect: Ensure the chain data is correctly retrieved and used. rg --type python -A 5 $'appChains.dev.get'Length of output: 72
Script:
#!/bin/bash # Description: Verify the chain data retrieval using `appChains`. # Test: Search for the function usage. Expect: Ensure the chain data is correctly retrieved and used. rg --type ts -A 5 $'appChains.dev.get'Length of output: 1146
1-1
: Verify the correctness and completeness ofappChains
.Ensure
appChains
provides the necessary chain data previously supplied bysmartsaleChains
.Also applies to: 7-7
Verification successful
Verify the correctness and completeness of
appChains
.The
appChains
object is correctly defined and used to provide the necessary chain data, replacing the previoussmartsaleChains
.
- Definition found in
packages/app-env/src/chains.ts
- Usage in
apps/indexer/src/modules/presale/evm-contributions.ts
aligns with expected functionalityScripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the correctness and completeness of `appChains`. # Test: Search for the definition and usage of `appChains`. Expect: Ensure it provides necessary chain data. rg --type python -A 5 $'appChains'Length of output: 64
Script:
#!/bin/bash # Description: Verify the correctness and completeness of `appChains`. # Test: Search for the definition and usage of `appChains`. Expect: Ensure it provides necessary chain data. rg --type typescript -A 5 'appChains'Length of output: 72
Script:
#!/bin/bash # Description: Verify the correctness and completeness of `appChains`. # Test: Search for the definition and usage of `appChains`. Expect: Ensure it provides necessary chain data. rg --type ts -A 5 'appChains'Length of output: 3446
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: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (1)
- apps/indexer/src/modules/presale/evm-contributions.ts (4 hunks)
Additional comments not posted (4)
apps/indexer/src/modules/presale/evm-contributions.ts (4)
1-7
: LGTM!The import statements and the declaration of the
presaleWallet
constant are correct.
8-11
: LGTM!The initialization of the
tokens
array and thelistenToEvmContributions
function are correct.
28-28
: LGTM!The usage of the
presaleWallet
constant is correct.Also applies to: 43-43
16-18
: LGTM! But verify the function usage in the codebase.The code changes are approved.
However, ensure that all function calls to
listenToEvmTransfersFn
match the new usage of thechain
property.
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: 1
Outside diff range, codebase verification and nitpick comments (1)
packages/app-contracts/src/prod/index.ts (1)
13-16
: Ensure all token contracts are included.The
usdcContracts
import is commented out inpackages/app-contracts/src/prod/index.ts
, which might lead to incomplete token data. There is no documentation or comments explaining this decision, andusdcContracts
is used in other parts of the codebase, such aspackages/app-env/src/env.ts
. Please ensure that all required token contracts, includingusdcContracts
, are included.
packages/app-contracts/src/prod/index.ts
: Uncomment theusdcContracts
import and its usage.Analysis chain
Ensure all token contracts are included.
The
usdcContracts
import is commented out, which might lead to incomplete token data. Verify if this is intentional and ensure all required token contracts are included.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the inclusion of all required token contracts. # Test: Search for the usage of `usdcContracts`. Expect: No critical dependencies on `usdcContracts`. rg --type js --type ts 'usdcContracts'Length of output: 418
Script:
#!/bin/bash # Description: Gather more context around the usage of `usdcContracts` and check for comments or documentation. # Search for the context around `usdcContracts` usage in `packages/app-env/src/env.ts` rg --type js --type ts -A 5 -B 5 'usdcContracts' packages/app-env/src/env.ts # Check for any comments or documentation in `packages/app-contracts/src/prod/index.ts` rg --type js --type ts -A 5 -B 5 'usdcContracts' packages/app-contracts/src/prod/index.tsLength of output: 1128
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 (10)
- apps/indexer/.env-sample (1 hunks)
- apps/indexer/package.json (1 hunks)
- apps/indexer/src/index.ts (1 hunks)
- apps/indexer/src/modules/presale/evm-contributions.ts (4 hunks)
- apps/indexer/src/modules/presale/index.ts (1 hunks)
- apps/indexer/src/modules/presale/presale-issuer.ts (2 hunks)
- packages/app-contracts/src/dev/index.ts (1 hunks)
- packages/app-contracts/src/prod/index.ts (1 hunks)
- packages/app-contracts/src/prod/tokens/usdc.ts (1 hunks)
- packages/app-contracts/src/prod/tokens/usdt.ts (1 hunks)
Files skipped from review due to trivial changes (1)
- apps/indexer/package.json
Files skipped from review as they are similar to previous changes (4)
- apps/indexer/src/modules/presale/index.ts
- apps/indexer/src/modules/presale/presale-issuer.ts
- packages/app-contracts/src/dev/index.ts
- packages/app-contracts/src/prod/tokens/usdc.ts
Additional comments not posted (11)
apps/indexer/.env-sample (1)
7-7
: Ensure the usage of the new environment variable.The new environment variable
ALCHEMY_API_KEY
has been added. Verify that this variable is properly utilized in the codebase and that it is documented for developers.apps/indexer/src/index.ts (2)
2-3
: Verify the implementation ofstartPresaleService
.The imports for
startAuctionIndexer
andstartSwapsService
are commented out, andstartPresaleService
is added. Ensure thatstartPresaleService
is correctly implemented and that the commented-out services are not required at startup.Also applies to: 5-5
Verification successful
The implementation of
startPresaleService
is verified.
- The function
startPresaleService
is correctly implemented inapps/indexer/src/modules/presale/index.ts
.- The commented-out services
startAuctionIndexer
andstartSwapsService
are not required at startup.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the implementation of `startPresaleService`. # Test: Search for the implementation of `startPresaleService`. Expect: A function definition for `startPresaleService`. rg --type js --type ts 'function startPresaleService'Length of output: 137
Script:
#!/bin/bash # Description: Inspect the implementation details of `startPresaleService` and check if `startAuctionIndexer` and `startSwapsService` are used elsewhere in the startup process. # Test: Retrieve the full implementation of `startPresaleService`. rg --context 10 --type js --type ts 'export function startPresaleService' apps/indexer/src/modules/presale/index.ts # Test: Check if `startAuctionIndexer` is used elsewhere. rg 'startAuctionIndexer' apps/indexer/src # Test: Check if `startSwapsService` is used elsewhere. rg 'startSwapsService' apps/indexer/srcLength of output: 921
11-13
: Ensure the commented-out services are not required.The calls to
startAuctionIndexer
andstartSwapsService
are commented out. Verify that these services are not required for the application's startup and that their absence does not impact the application's functionality.Verification successful
The commented-out services are not required.
The functions
startAuctionIndexer
andstartSwapsService
are not referenced elsewhere in the codebase, indicating that their absence does not impact the application's functionality.
apps/indexer/src/index.ts
: The only references tostartAuctionIndexer
andstartSwapsService
are commented out.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the impact of commenting out `startAuctionIndexer` and `startSwapsService`. # Test: Search for the usage of `startAuctionIndexer` and `startSwapsService`. Expect: No critical dependencies on these functions. rg --type js --type ts 'startAuctionIndexer' rg --type js --type ts 'startSwapsService'Length of output: 537
Script:
#!/bin/bash # Search for any references to 'startAuctionIndexer' and 'startSwapsService' throughout the codebase to ensure they are not required for critical functionality. rg 'startAuctionIndexer' rg 'startSwapsService'Length of output: 497
packages/app-contracts/src/prod/index.ts (2)
2-5
: LGTM! Verify the usage of the reorganized exports.The exports have been reorganized into a
tokens
subdirectory. Ensure that all references to these exports in the codebase are updated to match the new structure.Verification successful
Verification successful!
The reorganization of exports into the
tokens
subdirectory has been correctly updated across the codebase. No outdated import paths were found.
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the usage of the reorganized exports. # Test: Search for the usage of the reorganized exports. Expect: Updated import paths matching the new structure. rg --type js --type ts "from './tokens/eos-usdt'" rg --type js --type ts "from './tokens/eos-bitusd'" rg --type js --type ts "from './tokens/usdt'" rg --type js --type ts "from './tokens/usdc'"Length of output: 864
Script:
#!/bin/bash # Description: Verify the usage of the reorganized exports across the entire codebase. # Test: Search for the old import paths to ensure they have been updated. rg --type js --type ts "from '../eos-usdt'" rg --type js --type ts "from '../eos-bitusd'" rg --type js --type ts "from '../usdt'" rg --type js --type ts "from '../usdc'"Length of output: 201
27-33
: LGTM! Ensure the new structure is correctly utilized.The
prodContracts
object encapsulates bothtokens
andauctions
data, providing a unified interface for contract-related information. Ensure that this new structure is correctly utilized in the codebase.Verification successful
The new
prodContracts
structure is correctly utilized in the codebase.The
prodContracts
object is properly integrated and used within theappContracts
structure. The references inevm-transfers.ts
andevm-contributions.ts
confirm its correct usage.
apps/indexer/src/modules/swaps/evm-transfers.ts
apps/indexer/src/modules/presale/evm-contributions.ts
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the usage of the new `prodContracts` structure. # Test: Search for the usage of `prodContracts`. Expect: References to `prodContracts` in the codebase. rg --type js --type ts 'prodContracts'Length of output: 241
Script:
#!/bin/bash # Extract lines from packages/app-contracts/src/index.ts to verify the usage of `prodContracts`. rg --type js --type ts -A 10 'prodContracts' packages/app-contracts/src/index.tsLength of output: 265
Script:
#!/bin/bash # Search for the usage of `appContracts` in the codebase to verify its utilization. rg --type js --type ts 'appContracts'Length of output: 633
apps/indexer/src/modules/presale/evm-contributions.ts (4)
7-7
: LGTM! Adding thepresaleWallet
constant.The addition of the
presaleWallet
constant is clear and improves code readability by avoiding hardcoded values.
16-16
: LGTM! Improved logging statement.The updated logging statement now includes the
token.chain.name
, providing better context for debugging and monitoring.
18-18
: LGTM! Using thechain
property directly.This change simplifies the code by directly using the
chain
property from thetoken
object when creating thePublicClient
.
28-28
: LGTM! Using thepresaleWallet
constant for token transfers.The update to use the
presaleWallet
constant for the destination address in token transfers ensures consistency and maintainability.Also applies to: 43-43
packages/app-contracts/src/prod/tokens/usdt.ts (2)
1-3
: LGTM! Necessary imports for USDT contract data.The imports of
EVMTokenContractData
,erc20Abi
, and chain data fromviem/chains
are necessary for defining the USDT contract data for various chains.
5-212
: LGTM! Comprehensive USDT contract data definitions.The file provides a comprehensive list of USDT contract data for various chains, including essential information such as address, name, symbol, decimals, indexFromBlock, chainId, chainType, chainName, abi, and chain. This structure is well-organized and enhances the clarity and maintainability of the contract data.
// import {usdcContracts} from './tokens/usdc' | ||
import {EOSUSDT} from './tokens/eos-usdt'; | ||
import {EOSBITUSD} from './tokens/eos-bitusd'; | ||
import { ContractData, EOSTokenContractData, EVMTokenContractData } from '../types' |
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.
Consolidate imports for better readability.
The imports can be consolidated to improve readability and maintainability.
-import { usdtContracts } from './tokens/usdt'
-// import { usdcContracts } from './tokens/usdc'
-import { EOSUSDT } from './tokens/eos-usdt';
-import { EOSBITUSD } from './tokens/eos-bitusd';
-import { ContractData, EOSTokenContractData, EVMTokenContractData } from '../types'
+import { usdtContracts, usdcContracts, EOSUSDT, EOSBITUSD, ContractData, EOSTokenContractData, EVMTokenContractData } from '../types';
Committable suggestion was skipped due to low confidence.
* chore: add @types/uuid * chore: add @types/uuid * fix(app-lib): tsconfig pkg extends * fix: missing encoding dep * feat: sitemap (#290) * feat: add sitemap * fix: error handling * fix: move common types * fix: update base url in sitemap * Update apps/webapp/app/(routes)/[lang]/blog/[category]/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/wallet/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/whitepaper/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: build error * fix: remove unnecessary async declarative * vendor: add @types/uuid * fix: remove console log for debug * fix: add 'async' to all sitemaps * fix: make ProjectPageParams extends CommonPageParams --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix(webapp): UI/UX tweaks and upts from final v1 landing designs (#291) * (webapp)fix:FAQ border radi + muted color * (webapp)fix:newsletter spacing * (webapp)fix:participate spacing and font family * (webapp)fix:header spacing + bitlauncher logo size * (webapp)fix:blog section 4 per row + purple link + gap * (webapp)fix:hero-card spacing * (webapp)fix:auction-card spaces * (webapp)fix:Upcoming grid gap * (webapp)fix:article card - text-left * (webapp)fix:media-card text-start * (webapp)fix:media-section purple link + space * (webapp)fix:participate gap + section font and padding * (webapp)fix:footer links padding + other spacing fix * (webapp)fix:upcoming background circle * (webapp)fix:footer margin-10 * (webapp)fix:upcoming bg shape * (webapp)-andler-changes-request * (webapp)-debug-toggle navigation icon * (webapp)-create-mobile-navigation-context * (webapp)-create-mobile-navigation-context * (webapp)-fix navigation bug - add key * (webapp)-Andler-changes * (webapp)-responsive - upcoming * (webapp)-fix-responsive-whychooseUs * (webapp)-fix-responsive-participate * (webapp)-fix-responsive-media * (webapp)-fix-responsive-articles * (webapp)-responsive-project-header+info+sharebtn * (webapp)-feat-about-base * (webapp)-feat-about-landing-complete * (webapp)-feat-security-updated * (webapp)-fix-steps-padding * fix typo * fix bgHeader type * fix bgHeader type * impr(webapp): layout tweaks * impr(webapp): info pages img asset + css class * fix: bun.lockb --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: multichain indexer ( part 1 ) (#293) * chore: update app-contracts * feat: multichain indexer * feat: prod chains * feat: presale wallet * feat: blpl token * feat: blpl token * chore: update bunlock * feat: blpl token * feat: presale evm contribs * feat: blpl token * wip: presale indexer * chore(indexer): fix dockerfile * feat: presale transaction indexing (#296) * feat: report transaction id * feat: save deposits data * feat: save deposits data * feat: read presale transactions * chore: disable view all * feat: update presale deposits ui * feat: display amount raised and contributors * chore: environment chains and tokens * fix(webapp): desktop padding (#297) * feat: multichain presale deposits (#298) * chore: environment chains and tokens * fix: chain switch * fix: chain switch * feat: update nav links (#299) * chore: environment chains and tokens * feat: update nav links * chore: renable swaps service, index token from latest block * feat(webapp): wallet ui updates (#300) * fix: wagmi config * feat(webapp): presale contribution report * feat: realtime presale data * feat: realtime presale data * feat: update dropdown menu * feat(supabase): update schema and types * chore: debug presale token issuance * feat: show issuance trx link on table --------- Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: Nathanael Liu <[email protected]> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <[email protected]>
* chore: add @types/uuid * chore: add @types/uuid * fix(app-lib): tsconfig pkg extends * fix: missing encoding dep * feat: sitemap (#290) * feat: add sitemap * fix: error handling * fix: move common types * fix: update base url in sitemap * Update apps/webapp/app/(routes)/[lang]/blog/[category]/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/wallet/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/whitepaper/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: build error * fix: remove unnecessary async declarative * vendor: add @types/uuid * fix: remove console log for debug * fix: add 'async' to all sitemaps * fix: make ProjectPageParams extends CommonPageParams --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix(webapp): UI/UX tweaks and upts from final v1 landing designs (#291) * (webapp)fix:FAQ border radi + muted color * (webapp)fix:newsletter spacing * (webapp)fix:participate spacing and font family * (webapp)fix:header spacing + bitlauncher logo size * (webapp)fix:blog section 4 per row + purple link + gap * (webapp)fix:hero-card spacing * (webapp)fix:auction-card spaces * (webapp)fix:Upcoming grid gap * (webapp)fix:article card - text-left * (webapp)fix:media-card text-start * (webapp)fix:media-section purple link + space * (webapp)fix:participate gap + section font and padding * (webapp)fix:footer links padding + other spacing fix * (webapp)fix:upcoming background circle * (webapp)fix:footer margin-10 * (webapp)fix:upcoming bg shape * (webapp)-andler-changes-request * (webapp)-debug-toggle navigation icon * (webapp)-create-mobile-navigation-context * (webapp)-create-mobile-navigation-context * (webapp)-fix navigation bug - add key * (webapp)-Andler-changes * (webapp)-responsive - upcoming * (webapp)-fix-responsive-whychooseUs * (webapp)-fix-responsive-participate * (webapp)-fix-responsive-media * (webapp)-fix-responsive-articles * (webapp)-responsive-project-header+info+sharebtn * (webapp)-feat-about-base * (webapp)-feat-about-landing-complete * (webapp)-feat-security-updated * (webapp)-fix-steps-padding * fix typo * fix bgHeader type * fix bgHeader type * impr(webapp): layout tweaks * impr(webapp): info pages img asset + css class * fix: bun.lockb --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: multichain indexer ( part 1 ) (#293) * chore: update app-contracts * feat: multichain indexer * feat: prod chains * feat: presale wallet * feat: blpl token * feat: blpl token * chore: update bunlock * feat: blpl token * feat: presale evm contribs * feat: blpl token * wip: presale indexer * chore(indexer): fix dockerfile * feat: presale transaction indexing (#296) * feat: report transaction id * feat: save deposits data * feat: save deposits data * feat: read presale transactions * chore: disable view all * feat: update presale deposits ui * feat: display amount raised and contributors * chore: environment chains and tokens * fix(webapp): desktop padding (#297) * feat: multichain presale deposits (#298) * chore: environment chains and tokens * fix: chain switch * fix: chain switch * feat: update nav links (#299) * chore: environment chains and tokens * feat: update nav links * chore: renable swaps service, index token from latest block * feat(webapp): wallet ui updates (#300) * fix: wagmi config * feat(webapp): presale contribution report * feat: realtime presale data * feat: realtime presale data * feat: update dropdown menu * feat(supabase): update schema and types * chore: debug presale token issuance * feat: show issuance trx link on table * impr(webapp): upt mob ver of more info cards (#294) (#305) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Leandro Gavidia Santamaria <[email protected]> --------- Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: Nathanael Liu <[email protected]> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <[email protected]> Co-authored-by: Leandro Gavidia Santamaria <[email protected]>
* chore: add @types/uuid * chore: add @types/uuid * fix(app-lib): tsconfig pkg extends * fix: missing encoding dep * feat: sitemap (#290) * feat: add sitemap * fix: error handling * fix: move common types * fix: update base url in sitemap * Update apps/webapp/app/(routes)/[lang]/blog/[category]/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/wallet/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/whitepaper/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: build error * fix: remove unnecessary async declarative * vendor: add @types/uuid * fix: remove console log for debug * fix: add 'async' to all sitemaps * fix: make ProjectPageParams extends CommonPageParams --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix(webapp): UI/UX tweaks and upts from final v1 landing designs (#291) * (webapp)fix:FAQ border radi + muted color * (webapp)fix:newsletter spacing * (webapp)fix:participate spacing and font family * (webapp)fix:header spacing + bitlauncher logo size * (webapp)fix:blog section 4 per row + purple link + gap * (webapp)fix:hero-card spacing * (webapp)fix:auction-card spaces * (webapp)fix:Upcoming grid gap * (webapp)fix:article card - text-left * (webapp)fix:media-card text-start * (webapp)fix:media-section purple link + space * (webapp)fix:participate gap + section font and padding * (webapp)fix:footer links padding + other spacing fix * (webapp)fix:upcoming background circle * (webapp)fix:footer margin-10 * (webapp)fix:upcoming bg shape * (webapp)-andler-changes-request * (webapp)-debug-toggle navigation icon * (webapp)-create-mobile-navigation-context * (webapp)-create-mobile-navigation-context * (webapp)-fix navigation bug - add key * (webapp)-Andler-changes * (webapp)-responsive - upcoming * (webapp)-fix-responsive-whychooseUs * (webapp)-fix-responsive-participate * (webapp)-fix-responsive-media * (webapp)-fix-responsive-articles * (webapp)-responsive-project-header+info+sharebtn * (webapp)-feat-about-base * (webapp)-feat-about-landing-complete * (webapp)-feat-security-updated * (webapp)-fix-steps-padding * fix typo * fix bgHeader type * fix bgHeader type * impr(webapp): layout tweaks * impr(webapp): info pages img asset + css class * fix: bun.lockb --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: multichain indexer ( part 1 ) (#293) * chore: update app-contracts * feat: multichain indexer * feat: prod chains * feat: presale wallet * feat: blpl token * feat: blpl token * chore: update bunlock * feat: blpl token * feat: presale evm contribs * feat: blpl token * wip: presale indexer * chore(indexer): fix dockerfile * feat: presale transaction indexing (#296) * feat: report transaction id * feat: save deposits data * feat: save deposits data * feat: read presale transactions * chore: disable view all * feat: update presale deposits ui * feat: display amount raised and contributors * chore: environment chains and tokens * fix(webapp): desktop padding (#297) * feat: multichain presale deposits (#298) * chore: environment chains and tokens * fix: chain switch * fix: chain switch * feat: update nav links (#299) * chore: environment chains and tokens * feat: update nav links * chore: renable swaps service, index token from latest block * feat(webapp): wallet ui updates (#300) * fix: wagmi config * feat(webapp): presale contribution report * feat: realtime presale data * feat: realtime presale data * feat: update dropdown menu * feat(supabase): update schema and types * chore: debug presale token issuance * feat: show issuance trx link on table * impr(webapp): upt mob ver of more info cards (#294) (#305) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Leandro Gavidia Santamaria <[email protected]> * chore: august 2nd release [at TEST] (#315) * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <[email protected]> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep --------- Co-authored-by: Leandro Gavidia Santamaria <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: merge typo * fix: tailwind font config --------- Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: Nathanael Liu <[email protected]> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <[email protected]> Co-authored-by: Leandro Gavidia Santamaria <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]>
* chore: add @types/uuid * chore: add @types/uuid * fix(app-lib): tsconfig pkg extends * fix: missing encoding dep * feat: sitemap (#290) * feat: add sitemap * fix: error handling * fix: move common types * fix: update base url in sitemap * Update apps/webapp/app/(routes)/[lang]/blog/[category]/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/wallet/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/whitepaper/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: build error * fix: remove unnecessary async declarative * vendor: add @types/uuid * fix: remove console log for debug * fix: add 'async' to all sitemaps * fix: make ProjectPageParams extends CommonPageParams --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix(webapp): UI/UX tweaks and upts from final v1 landing designs (#291) * (webapp)fix:FAQ border radi + muted color * (webapp)fix:newsletter spacing * (webapp)fix:participate spacing and font family * (webapp)fix:header spacing + bitlauncher logo size * (webapp)fix:blog section 4 per row + purple link + gap * (webapp)fix:hero-card spacing * (webapp)fix:auction-card spaces * (webapp)fix:Upcoming grid gap * (webapp)fix:article card - text-left * (webapp)fix:media-card text-start * (webapp)fix:media-section purple link + space * (webapp)fix:participate gap + section font and padding * (webapp)fix:footer links padding + other spacing fix * (webapp)fix:upcoming background circle * (webapp)fix:footer margin-10 * (webapp)fix:upcoming bg shape * (webapp)-andler-changes-request * (webapp)-debug-toggle navigation icon * (webapp)-create-mobile-navigation-context * (webapp)-create-mobile-navigation-context * (webapp)-fix navigation bug - add key * (webapp)-Andler-changes * (webapp)-responsive - upcoming * (webapp)-fix-responsive-whychooseUs * (webapp)-fix-responsive-participate * (webapp)-fix-responsive-media * (webapp)-fix-responsive-articles * (webapp)-responsive-project-header+info+sharebtn * (webapp)-feat-about-base * (webapp)-feat-about-landing-complete * (webapp)-feat-security-updated * (webapp)-fix-steps-padding * fix typo * fix bgHeader type * fix bgHeader type * impr(webapp): layout tweaks * impr(webapp): info pages img asset + css class * fix: bun.lockb --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: multichain indexer ( part 1 ) (#293) * chore: update app-contracts * feat: multichain indexer * feat: prod chains * feat: presale wallet * feat: blpl token * feat: blpl token * chore: update bunlock * feat: blpl token * feat: presale evm contribs * feat: blpl token * wip: presale indexer * chore(indexer): fix dockerfile * feat: presale transaction indexing (#296) * feat: report transaction id * feat: save deposits data * feat: save deposits data * feat: read presale transactions * chore: disable view all * feat: update presale deposits ui * feat: display amount raised and contributors * chore: environment chains and tokens * fix(webapp): desktop padding (#297) * feat: multichain presale deposits (#298) * chore: environment chains and tokens * fix: chain switch * fix: chain switch * feat: update nav links (#299) * chore: environment chains and tokens * feat: update nav links * chore: renable swaps service, index token from latest block * feat(webapp): wallet ui updates (#300) * fix: wagmi config * feat(webapp): presale contribution report * feat: realtime presale data * feat: realtime presale data * feat: update dropdown menu * feat(supabase): update schema and types * chore: debug presale token issuance * feat: show issuance trx link on table * impr(webapp): upt mob ver of more info cards (#294) (#305) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Leandro Gavidia Santamaria <[email protected]> * chore: august 2nd release [at TEST] (#315) * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <[email protected]> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep --------- Co-authored-by: Leandro Gavidia Santamaria <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: merge typo * fix: tailwind font config * chore: august 3rd release [pre-prod] (#334) * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <[email protected]> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep * fix(indexer): trust proxy * feat: token issuance trigger part 2 (#321) * chore(alchemy): use gcloud endpoint * docs(alchemy): update readme file * docs(indexer): update readme file * debug(indexer): gcloud automated deployment * chore(alchemy): env values validation * chore(indexer): improve logging * chore(indexer): improve logging * chore(indexer): stringify all logs * debug(indexer): disable alchemy signature validation * debug(indexer): disable alchemy signature validation * chore(indexer): validate env and use trigger secret * debug(faucet): save dist/ empty folder in git * chore: update deps * chore: improve env validations * fix(alchemy): wrong import * chore(indexer): improve logging * debug(indexer): alchemy webhook handler * debug(indexer): disable helmet * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * feat(indexer): alchemy signature middleware * feat(indexer): validate alchemy signature * chore(indexer): security improvements (#323) * chore(indexer): disable alchemy validation * feat: presale token issuance part 3 (#325) * chore(alchemy): export types * chore(indexer): log process event id * chore(indexer): log process event id * chore: prod network conig, validate networks * wip(indexer): validate before triggering * chore: add try catch Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: clean up * devops(indexer): update dockerfile * chore: format code * devops: remove lhci reports * fix(indexer): wrong import * feat(trigger): transfer blpl token (#327) * feat(trigger): transfer blpl token * docs(trigger): token issuance jsdocs Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * devops(indexer): update dockerfile * chore: remove type:module (#329) * chore: remove type:module * chore: remove type:module * devops(indexer): test deployment * devops(indexer): test deployment * chore(supabase): use module * feat(trigger): presale token issuance * chore: format * chore: use type:module for monorepo * impr(webapp): add multibase provider (#326) * config: create multibase provider * chore: update multibase env variable * impr(webapp): UI Update (#314) * (wepapp)impr:landing distribution + filenames * (wepapp)impr:auction card badge * (wepapp)impr:steps pading + new text-size * (wepapp)impr:text-size * (wepapp)impr:refactored about us section * (wepapp)impr:new tittles learning section * (wepapp)impr:security section * (wepapp)impr:tittle style and fonts * (wepapp)impr:responsive impr * fix:about section text-18 instead of text-sm * fix:security responsive * fix:hero padding * fix:Final Mobil Tweaks * impr(webapp): landing heros + mob-nav spacing * impr(webapp): landing learn section updated blog links * fix(webapp): info text foreground color * impr(webapp): landing responsiveness * imp(webapp): 3 steps needed responsiveness * chore(webapp): rm duplicate component --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: security updates (#331) * feat(indexer): validate right usdt,usdc address * feat(indexer): wait for finality and trx log * fix(indexer): wrong import * chore(indexer): fix build * chore(webapp): format * feat(webapp): bitlauncher blog category + blog tweaks (#324) * wip: static blog files upt * fix(webapp): blog article file gen + article ui tweaks * chore(webapp): app ver upt + cms gen script * docs: upt cms-ql.sh Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(webapp): app build, missing file --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: format files * fix(webapp): cached files error catch * impr(webapp): static blog file error catch * fix(webapp): static cached file chk * feat: supabase schema and webapp updates (#335) * feat(indexer): add address registration validation * feat: update database schema to support presales * feat: repo/tokens (#336) * chore: update repo packages (#338) * feat: stable coin selector * feat: presale ux ui * chore: repo/contracts pkg * chore: repo/utils pkg * chore: repo/tsconfig pkg * chore: repo/alchemy pkg * chore: repo/jobs pkg * chore: repo/supabase pkg * docs: update readme * chore: update bunlock * chore(indexer): alchemy webhook Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore(alchemy): invert ternary Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore: not nullable values, format code * chore: update node:crypto Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(indexer): alchemy signature validation Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: fix build (#339) * feat: validate user registration on event proxy (#340) * chore: fix imports * feat(indexer): validate user is registered * feat: add presale deposit checks (#341) * feat(indexer): is registered address * feat(indexer): validate amount and timing * wip(webapp): update project, presale and auction pages * chore(webapp): improve error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: realtime presale data (#342) * feat: real time presale data * feat: real time presale data * fix(webapp): header margin (#343) * webapp:fix margin top * webapp:add header tag * webapp:fix margin top * webapp:add md top * webapp:add md top * webapp:fix project tittle + pills responsive --------- Co-authored-by: Leandro Gavidia Santamaria <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <[email protected]> * chore(fix): update apps/trigger package.json dep * fix: cms gen merged files + use-session table upt + trigger/tsconfig upt --------- Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: Nathanael Liu <[email protected]> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <[email protected]> Co-authored-by: Leandro Gavidia Santamaria <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* chore: add @types/uuid * chore: add @types/uuid * fix(app-lib): tsconfig pkg extends * fix: missing encoding dep * feat: sitemap (#290) * feat: add sitemap * fix: error handling * fix: move common types * fix: update base url in sitemap * Update apps/webapp/app/(routes)/[lang]/blog/[category]/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/wallet/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/whitepaper/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: build error * fix: remove unnecessary async declarative * vendor: add @types/uuid * fix: remove console log for debug * fix: add 'async' to all sitemaps * fix: make ProjectPageParams extends CommonPageParams --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix(webapp): UI/UX tweaks and upts from final v1 landing designs (#291) * (webapp)fix:FAQ border radi + muted color * (webapp)fix:newsletter spacing * (webapp)fix:participate spacing and font family * (webapp)fix:header spacing + bitlauncher logo size * (webapp)fix:blog section 4 per row + purple link + gap * (webapp)fix:hero-card spacing * (webapp)fix:auction-card spaces * (webapp)fix:Upcoming grid gap * (webapp)fix:article card - text-left * (webapp)fix:media-card text-start * (webapp)fix:media-section purple link + space * (webapp)fix:participate gap + section font and padding * (webapp)fix:footer links padding + other spacing fix * (webapp)fix:upcoming background circle * (webapp)fix:footer margin-10 * (webapp)fix:upcoming bg shape * (webapp)-andler-changes-request * (webapp)-debug-toggle navigation icon * (webapp)-create-mobile-navigation-context * (webapp)-create-mobile-navigation-context * (webapp)-fix navigation bug - add key * (webapp)-Andler-changes * (webapp)-responsive - upcoming * (webapp)-fix-responsive-whychooseUs * (webapp)-fix-responsive-participate * (webapp)-fix-responsive-media * (webapp)-fix-responsive-articles * (webapp)-responsive-project-header+info+sharebtn * (webapp)-feat-about-base * (webapp)-feat-about-landing-complete * (webapp)-feat-security-updated * (webapp)-fix-steps-padding * fix typo * fix bgHeader type * fix bgHeader type * impr(webapp): layout tweaks * impr(webapp): info pages img asset + css class * fix: bun.lockb --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: multichain indexer ( part 1 ) (#293) * chore: update app-contracts * feat: multichain indexer * feat: prod chains * feat: presale wallet * feat: blpl token * feat: blpl token * chore: update bunlock * feat: blpl token * feat: presale evm contribs * feat: blpl token * wip: presale indexer * chore(indexer): fix dockerfile * feat: presale transaction indexing (#296) * feat: report transaction id * feat: save deposits data * feat: save deposits data * feat: read presale transactions * chore: disable view all * feat: update presale deposits ui * feat: display amount raised and contributors * chore: environment chains and tokens * fix(webapp): desktop padding (#297) * feat: multichain presale deposits (#298) * chore: environment chains and tokens * fix: chain switch * fix: chain switch * feat: update nav links (#299) * chore: environment chains and tokens * feat: update nav links * chore: renable swaps service, index token from latest block * feat(webapp): wallet ui updates (#300) * fix: wagmi config * feat(webapp): presale contribution report * feat: realtime presale data * feat: realtime presale data * feat: update dropdown menu * feat(supabase): update schema and types * chore: debug presale token issuance * feat: show issuance trx link on table * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <[email protected]> * impr(webapp): upt mob ver of more info cards (#294) (#305) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Leandro Gavidia Santamaria <[email protected]> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep * chore: august 2nd release [at TEST] (#315) * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <[email protected]> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep --------- Co-authored-by: Leandro Gavidia Santamaria <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: merge typo * fix: tailwind font config * fix(indexer): trust proxy * feat: token issuance trigger part 2 (#321) * chore(alchemy): use gcloud endpoint * docs(alchemy): update readme file * docs(indexer): update readme file * debug(indexer): gcloud automated deployment * chore(alchemy): env values validation * chore(indexer): improve logging * chore(indexer): improve logging * chore(indexer): stringify all logs * debug(indexer): disable alchemy signature validation * debug(indexer): disable alchemy signature validation * chore(indexer): validate env and use trigger secret * debug(faucet): save dist/ empty folder in git * chore: update deps * chore: improve env validations * fix(alchemy): wrong import * chore(indexer): improve logging * debug(indexer): alchemy webhook handler * debug(indexer): disable helmet * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * feat(indexer): alchemy signature middleware * feat(indexer): validate alchemy signature * chore(indexer): security improvements (#323) * chore(indexer): disable alchemy validation * feat: presale token issuance part 3 (#325) * chore(alchemy): export types * chore(indexer): log process event id * chore(indexer): log process event id * chore: prod network conig, validate networks * wip(indexer): validate before triggering * chore: add try catch Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: clean up * devops(indexer): update dockerfile * chore: format code * devops: remove lhci reports * fix(indexer): wrong import * feat(trigger): transfer blpl token (#327) * feat(trigger): transfer blpl token * docs(trigger): token issuance jsdocs Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * devops(indexer): update dockerfile * chore: remove type:module (#329) * chore: remove type:module * chore: remove type:module * devops(indexer): test deployment * devops(indexer): test deployment * chore(supabase): use module * feat(trigger): presale token issuance * chore: format * chore: use type:module for monorepo * impr(webapp): add multibase provider (#326) * config: create multibase provider * chore: update multibase env variable * impr(webapp): UI Update (#314) * (wepapp)impr:landing distribution + filenames * (wepapp)impr:auction card badge * (wepapp)impr:steps pading + new text-size * (wepapp)impr:text-size * (wepapp)impr:refactored about us section * (wepapp)impr:new tittles learning section * (wepapp)impr:security section * (wepapp)impr:tittle style and fonts * (wepapp)impr:responsive impr * fix:about section text-18 instead of text-sm * fix:security responsive * fix:hero padding * fix:Final Mobil Tweaks * impr(webapp): landing heros + mob-nav spacing * impr(webapp): landing learn section updated blog links * fix(webapp): info text foreground color * impr(webapp): landing responsiveness * imp(webapp): 3 steps needed responsiveness * chore(webapp): rm duplicate component --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: security updates (#331) * feat(indexer): validate right usdt,usdc address * feat(indexer): wait for finality and trx log * fix(indexer): wrong import * chore(indexer): fix build * chore(webapp): format * feat(webapp): bitlauncher blog category + blog tweaks (#324) * wip: static blog files upt * fix(webapp): blog article file gen + article ui tweaks * chore(webapp): app ver upt + cms gen script * docs: upt cms-ql.sh Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(webapp): app build, missing file --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: format files * fix(webapp): cached files error catch * impr(webapp): static blog file error catch * fix(webapp): static cached file chk * feat: supabase schema and webapp updates (#335) * feat(indexer): add address registration validation * feat: update database schema to support presales * feat: repo/tokens (#336) * chore: update repo packages (#338) * feat: stable coin selector * feat: presale ux ui * chore: repo/contracts pkg * chore: repo/utils pkg * chore: repo/tsconfig pkg * chore: repo/alchemy pkg * chore: repo/jobs pkg * chore: repo/supabase pkg * docs: update readme * chore: update bunlock * chore(indexer): alchemy webhook Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore(alchemy): invert ternary Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore: not nullable values, format code * chore: update node:crypto Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(indexer): alchemy signature validation Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: fix build (#339) * feat: validate user registration on event proxy (#340) * chore: fix imports * feat(indexer): validate user is registered * feat: add presale deposit checks (#341) * feat(indexer): is registered address * feat(indexer): validate amount and timing * wip(webapp): update project, presale and auction pages * chore(webapp): improve error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: realtime presale data (#342) * feat: real time presale data * feat: real time presale data * fix(webapp): header margin (#343) * webapp:fix margin top * webapp:add header tag * webapp:fix margin top * webapp:add md top * webapp:add md top * webapp:fix project tittle + pills responsive * chore: august 3rd release [pre-prod] (#334) * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <[email protected]> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep * fix(indexer): trust proxy * feat: token issuance trigger part 2 (#321) * chore(alchemy): use gcloud endpoint * docs(alchemy): update readme file * docs(indexer): update readme file * debug(indexer): gcloud automated deployment * chore(alchemy): env values validation * chore(indexer): improve logging * chore(indexer): improve logging * chore(indexer): stringify all logs * debug(indexer): disable alchemy signature validation * debug(indexer): disable alchemy signature validation * chore(indexer): validate env and use trigger secret * debug(faucet): save dist/ empty folder in git * chore: update deps * chore: improve env validations * fix(alchemy): wrong import * chore(indexer): improve logging * debug(indexer): alchemy webhook handler * debug(indexer): disable helmet * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * feat(indexer): alchemy signature middleware * feat(indexer): validate alchemy signature * chore(indexer): security improvements (#323) * chore(indexer): disable alchemy validation * feat: presale token issuance part 3 (#325) * chore(alchemy): export types * chore(indexer): log process event id * chore(indexer): log process event id * chore: prod network conig, validate networks * wip(indexer): validate before triggering * chore: add try catch Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: clean up * devops(indexer): update dockerfile * chore: format code * devops: remove lhci reports * fix(indexer): wrong import * feat(trigger): transfer blpl token (#327) * feat(trigger): transfer blpl token * docs(trigger): token issuance jsdocs Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * devops(indexer): update dockerfile * chore: remove type:module (#329) * chore: remove type:module * chore: remove type:module * devops(indexer): test deployment * devops(indexer): test deployment * chore(supabase): use module * feat(trigger): presale token issuance * chore: format * chore: use type:module for monorepo * impr(webapp): add multibase provider (#326) * config: create multibase provider * chore: update multibase env variable * impr(webapp): UI Update (#314) * (wepapp)impr:landing distribution + filenames * (wepapp)impr:auction card badge * (wepapp)impr:steps pading + new text-size * (wepapp)impr:text-size * (wepapp)impr:refactored about us section * (wepapp)impr:new tittles learning section * (wepapp)impr:security section * (wepapp)impr:tittle style and fonts * (wepapp)impr:responsive impr * fix:about section text-18 instead of text-sm * fix:security responsive * fix:hero padding * fix:Final Mobil Tweaks * impr(webapp): landing heros + mob-nav spacing * impr(webapp): landing learn section updated blog links * fix(webapp): info text foreground color * impr(webapp): landing responsiveness * imp(webapp): 3 steps needed responsiveness * chore(webapp): rm duplicate component --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: security updates (#331) * feat(indexer): validate right usdt,usdc address * feat(indexer): wait for finality and trx log * fix(indexer): wrong import * chore(indexer): fix build * chore(webapp): format * feat(webapp): bitlauncher blog category + blog tweaks (#324) * wip: static blog files upt * fix(webapp): blog article file gen + article ui tweaks * chore(webapp): app ver upt + cms gen script * docs: upt cms-ql.sh Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(webapp): app build, missing file --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: format files * fix(webapp): cached files error catch * impr(webapp): static blog file error catch * fix(webapp): static cached file chk * feat: supabase schema and webapp updates (#335) * feat(indexer): add address registration validation * feat: update database schema to support presales * feat: repo/tokens (#336) * chore: update repo packages (#338) * feat: stable coin selector * feat: presale ux ui * chore: repo/contracts pkg * chore: repo/utils pkg * chore: repo/tsconfig pkg * chore: repo/alchemy pkg * chore: repo/jobs pkg * chore: repo/supabase pkg * docs: update readme * chore: update bunlock * chore(indexer): alchemy webhook Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore(alchemy): invert ternary Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore: not nullable values, format code * chore: update node:crypto Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(indexer): alchemy signature validation Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: fix build (#339) * feat: validate user registration on event proxy (#340) * chore: fix imports * feat(indexer): validate user is registered * feat: add presale deposit checks (#341) * feat(indexer): is registered address * feat(indexer): validate amount and timing * wip(webapp): update project, presale and auction pages * chore(webapp): improve error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: realtime presale data (#342) * feat: real time presale data * feat: real time presale data * fix(webapp): header margin (#343) * webapp:fix margin top * webapp:add header tag * webapp:fix margin top * webapp:add md top * webapp:add md top * webapp:fix project tittle + pills responsive --------- Co-authored-by: Leandro Gavidia Santamaria <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <[email protected]> * chore(fix): update apps/trigger package.json dep * fix: cms gen merged files + use-session table upt + trigger/tsconfig upt * fix: registration logic and indexer checks (#347) * feat(indexer): check if address already bought * fix(webapp): registration logic * chore: update bunlock * fix(webapp): arrow icon * fix(webapp): arrow icon * feat: upsert accounts table on login * fix(webapp): move accounts to session hook * feat: webapp/hotfix bl project status tag (#348) * fix(webapp): tablet/small-screen header breakpoint * impr(webapp): project page hero + blog links upt * fix(webapp): project badge text upt --------- Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: Nathanael Liu <[email protected]> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <[email protected]> Co-authored-by: Leandro Gavidia Santamaria <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* chore: add @types/uuid * chore: add @types/uuid * fix(app-lib): tsconfig pkg extends * fix: missing encoding dep * feat: sitemap (#290) * feat: add sitemap * fix: error handling * fix: move common types * fix: update base url in sitemap * Update apps/webapp/app/(routes)/[lang]/blog/[category]/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/wallet/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/whitepaper/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: build error * fix: remove unnecessary async declarative * vendor: add @types/uuid * fix: remove console log for debug * fix: add 'async' to all sitemaps * fix: make ProjectPageParams extends CommonPageParams --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix(webapp): UI/UX tweaks and upts from final v1 landing designs (#291) * (webapp)fix:FAQ border radi + muted color * (webapp)fix:newsletter spacing * (webapp)fix:participate spacing and font family * (webapp)fix:header spacing + bitlauncher logo size * (webapp)fix:blog section 4 per row + purple link + gap * (webapp)fix:hero-card spacing * (webapp)fix:auction-card spaces * (webapp)fix:Upcoming grid gap * (webapp)fix:article card - text-left * (webapp)fix:media-card text-start * (webapp)fix:media-section purple link + space * (webapp)fix:participate gap + section font and padding * (webapp)fix:footer links padding + other spacing fix * (webapp)fix:upcoming background circle * (webapp)fix:footer margin-10 * (webapp)fix:upcoming bg shape * (webapp)-andler-changes-request * (webapp)-debug-toggle navigation icon * (webapp)-create-mobile-navigation-context * (webapp)-create-mobile-navigation-context * (webapp)-fix navigation bug - add key * (webapp)-Andler-changes * (webapp)-responsive - upcoming * (webapp)-fix-responsive-whychooseUs * (webapp)-fix-responsive-participate * (webapp)-fix-responsive-media * (webapp)-fix-responsive-articles * (webapp)-responsive-project-header+info+sharebtn * (webapp)-feat-about-base * (webapp)-feat-about-landing-complete * (webapp)-feat-security-updated * (webapp)-fix-steps-padding * fix typo * fix bgHeader type * fix bgHeader type * impr(webapp): layout tweaks * impr(webapp): info pages img asset + css class * fix: bun.lockb --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: multichain indexer ( part 1 ) (#293) * chore: update app-contracts * feat: multichain indexer * feat: prod chains * feat: presale wallet * feat: blpl token * feat: blpl token * chore: update bunlock * feat: blpl token * feat: presale evm contribs * feat: blpl token * wip: presale indexer * chore(indexer): fix dockerfile * feat: presale transaction indexing (#296) * feat: report transaction id * feat: save deposits data * feat: save deposits data * feat: read presale transactions * chore: disable view all * feat: update presale deposits ui * feat: display amount raised and contributors * chore: environment chains and tokens * fix(webapp): desktop padding (#297) * feat: multichain presale deposits (#298) * chore: environment chains and tokens * fix: chain switch * fix: chain switch * feat: update nav links (#299) * chore: environment chains and tokens * feat: update nav links * chore: renable swaps service, index token from latest block * feat(webapp): wallet ui updates (#300) * fix: wagmi config * feat(webapp): presale contribution report * feat: realtime presale data * feat: realtime presale data * feat: update dropdown menu * feat(supabase): update schema and types * chore: debug presale token issuance * feat: show issuance trx link on table * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <[email protected]> * impr(webapp): upt mob ver of more info cards (#294) (#305) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Leandro Gavidia Santamaria <[email protected]> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep * chore: august 2nd release [at TEST] (#315) * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <[email protected]> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep --------- Co-authored-by: Leandro Gavidia Santamaria <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: merge typo * fix: tailwind font config * fix(indexer): trust proxy * feat: token issuance trigger part 2 (#321) * chore(alchemy): use gcloud endpoint * docs(alchemy): update readme file * docs(indexer): update readme file * debug(indexer): gcloud automated deployment * chore(alchemy): env values validation * chore(indexer): improve logging * chore(indexer): improve logging * chore(indexer): stringify all logs * debug(indexer): disable alchemy signature validation * debug(indexer): disable alchemy signature validation * chore(indexer): validate env and use trigger secret * debug(faucet): save dist/ empty folder in git * chore: update deps * chore: improve env validations * fix(alchemy): wrong import * chore(indexer): improve logging * debug(indexer): alchemy webhook handler * debug(indexer): disable helmet * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * feat(indexer): alchemy signature middleware * feat(indexer): validate alchemy signature * chore(indexer): security improvements (#323) * chore(indexer): disable alchemy validation * feat: presale token issuance part 3 (#325) * chore(alchemy): export types * chore(indexer): log process event id * chore(indexer): log process event id * chore: prod network conig, validate networks * wip(indexer): validate before triggering * chore: add try catch Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: clean up * devops(indexer): update dockerfile * chore: format code * devops: remove lhci reports * fix(indexer): wrong import * feat(trigger): transfer blpl token (#327) * feat(trigger): transfer blpl token * docs(trigger): token issuance jsdocs Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * devops(indexer): update dockerfile * chore: remove type:module (#329) * chore: remove type:module * chore: remove type:module * devops(indexer): test deployment * devops(indexer): test deployment * chore(supabase): use module * feat(trigger): presale token issuance * chore: format * chore: use type:module for monorepo * impr(webapp): add multibase provider (#326) * config: create multibase provider * chore: update multibase env variable * impr(webapp): UI Update (#314) * (wepapp)impr:landing distribution + filenames * (wepapp)impr:auction card badge * (wepapp)impr:steps pading + new text-size * (wepapp)impr:text-size * (wepapp)impr:refactored about us section * (wepapp)impr:new tittles learning section * (wepapp)impr:security section * (wepapp)impr:tittle style and fonts * (wepapp)impr:responsive impr * fix:about section text-18 instead of text-sm * fix:security responsive * fix:hero padding * fix:Final Mobil Tweaks * impr(webapp): landing heros + mob-nav spacing * impr(webapp): landing learn section updated blog links * fix(webapp): info text foreground color * impr(webapp): landing responsiveness * imp(webapp): 3 steps needed responsiveness * chore(webapp): rm duplicate component --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: security updates (#331) * feat(indexer): validate right usdt,usdc address * feat(indexer): wait for finality and trx log * fix(indexer): wrong import * chore(indexer): fix build * chore(webapp): format * feat(webapp): bitlauncher blog category + blog tweaks (#324) * wip: static blog files upt * fix(webapp): blog article file gen + article ui tweaks * chore(webapp): app ver upt + cms gen script * docs: upt cms-ql.sh Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(webapp): app build, missing file --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: format files * fix(webapp): cached files error catch * impr(webapp): static blog file error catch * fix(webapp): static cached file chk * feat: supabase schema and webapp updates (#335) * feat(indexer): add address registration validation * feat: update database schema to support presales * feat: repo/tokens (#336) * chore: update repo packages (#338) * feat: stable coin selector * feat: presale ux ui * chore: repo/contracts pkg * chore: repo/utils pkg * chore: repo/tsconfig pkg * chore: repo/alchemy pkg * chore: repo/jobs pkg * chore: repo/supabase pkg * docs: update readme * chore: update bunlock * chore(indexer): alchemy webhook Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore(alchemy): invert ternary Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore: not nullable values, format code * chore: update node:crypto Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(indexer): alchemy signature validation Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: fix build (#339) * feat: validate user registration on event proxy (#340) * chore: fix imports * feat(indexer): validate user is registered * feat: add presale deposit checks (#341) * feat(indexer): is registered address * feat(indexer): validate amount and timing * wip(webapp): update project, presale and auction pages * chore(webapp): improve error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: realtime presale data (#342) * feat: real time presale data * feat: real time presale data * fix(webapp): header margin (#343) * webapp:fix margin top * webapp:add header tag * webapp:fix margin top * webapp:add md top * webapp:add md top * webapp:fix project tittle + pills responsive * chore: august 3rd release [pre-prod] (#334) * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <[email protected]> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep * fix(indexer): trust proxy * feat: token issuance trigger part 2 (#321) * chore(alchemy): use gcloud endpoint * docs(alchemy): update readme file * docs(indexer): update readme file * debug(indexer): gcloud automated deployment * chore(alchemy): env values validation * chore(indexer): improve logging * chore(indexer): improve logging * chore(indexer): stringify all logs * debug(indexer): disable alchemy signature validation * debug(indexer): disable alchemy signature validation * chore(indexer): validate env and use trigger secret * debug(faucet): save dist/ empty folder in git * chore: update deps * chore: improve env validations * fix(alchemy): wrong import * chore(indexer): improve logging * debug(indexer): alchemy webhook handler * debug(indexer): disable helmet * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * feat(indexer): alchemy signature middleware * feat(indexer): validate alchemy signature * chore(indexer): security improvements (#323) * chore(indexer): disable alchemy validation * feat: presale token issuance part 3 (#325) * chore(alchemy): export types * chore(indexer): log process event id * chore(indexer): log process event id * chore: prod network conig, validate networks * wip(indexer): validate before triggering * chore: add try catch Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: clean up * devops(indexer): update dockerfile * chore: format code * devops: remove lhci reports * fix(indexer): wrong import * feat(trigger): transfer blpl token (#327) * feat(trigger): transfer blpl token * docs(trigger): token issuance jsdocs Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * devops(indexer): update dockerfile * chore: remove type:module (#329) * chore: remove type:module * chore: remove type:module * devops(indexer): test deployment * devops(indexer): test deployment * chore(supabase): use module * feat(trigger): presale token issuance * chore: format * chore: use type:module for monorepo * impr(webapp): add multibase provider (#326) * config: create multibase provider * chore: update multibase env variable * impr(webapp): UI Update (#314) * (wepapp)impr:landing distribution + filenames * (wepapp)impr:auction card badge * (wepapp)impr:steps pading + new text-size * (wepapp)impr:text-size * (wepapp)impr:refactored about us section * (wepapp)impr:new tittles learning section * (wepapp)impr:security section * (wepapp)impr:tittle style and fonts * (wepapp)impr:responsive impr * fix:about section text-18 instead of text-sm * fix:security responsive * fix:hero padding * fix:Final Mobil Tweaks * impr(webapp): landing heros + mob-nav spacing * impr(webapp): landing learn section updated blog links * fix(webapp): info text foreground color * impr(webapp): landing responsiveness * imp(webapp): 3 steps needed responsiveness * chore(webapp): rm duplicate component --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: security updates (#331) * feat(indexer): validate right usdt,usdc address * feat(indexer): wait for finality and trx log * fix(indexer): wrong import * chore(indexer): fix build * chore(webapp): format * feat(webapp): bitlauncher blog category + blog tweaks (#324) * wip: static blog files upt * fix(webapp): blog article file gen + article ui tweaks * chore(webapp): app ver upt + cms gen script * docs: upt cms-ql.sh Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(webapp): app build, missing file --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: format files * fix(webapp): cached files error catch * impr(webapp): static blog file error catch * fix(webapp): static cached file chk * feat: supabase schema and webapp updates (#335) * feat(indexer): add address registration validation * feat: update database schema to support presales * feat: repo/tokens (#336) * chore: update repo packages (#338) * feat: stable coin selector * feat: presale ux ui * chore: repo/contracts pkg * chore: repo/utils pkg * chore: repo/tsconfig pkg * chore: repo/alchemy pkg * chore: repo/jobs pkg * chore: repo/supabase pkg * docs: update readme * chore: update bunlock * chore(indexer): alchemy webhook Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore(alchemy): invert ternary Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore: not nullable values, format code * chore: update node:crypto Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(indexer): alchemy signature validation Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: fix build (#339) * feat: validate user registration on event proxy (#340) * chore: fix imports * feat(indexer): validate user is registered * feat: add presale deposit checks (#341) * feat(indexer): is registered address * feat(indexer): validate amount and timing * wip(webapp): update project, presale and auction pages * chore(webapp): improve error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: realtime presale data (#342) * feat: real time presale data * feat: real time presale data * fix(webapp): header margin (#343) * webapp:fix margin top * webapp:add header tag * webapp:fix margin top * webapp:add md top * webapp:add md top * webapp:fix project tittle + pills responsive --------- Co-authored-by: Leandro Gavidia Santamaria <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <[email protected]> * chore(fix): update apps/trigger package.json dep * fix: cms gen merged files + use-session table upt + trigger/tsconfig upt * fix: registration logic and indexer checks (#347) * feat(indexer): check if address already bought * fix(webapp): registration logic * chore: update bunlock * fix(webapp): arrow icon * fix(webapp): arrow icon * feat: upsert accounts table on login * fix(webapp): move accounts to session hook * feat: webapp/hotfix bl project status tag (#348) * fix(webapp): tablet/small-screen header breakpoint * impr(webapp): project page hero + blog links upt * fix(webapp): project badge text upt * content(webapp): token sale date tbd * fix(webapp): hero title size (#350) * fix(webapp): hero title size * impr(webapp): share link toaster msg * chore: presale hardcoded txt tweak --------- Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: Nathanael Liu <[email protected]> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <[email protected]> Co-authored-by: Leandro Gavidia Santamaria <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
… upt (#353) * chore: add @types/uuid * chore: add @types/uuid * fix(app-lib): tsconfig pkg extends * fix: missing encoding dep * feat: sitemap (#290) * feat: add sitemap * fix: error handling * fix: move common types * fix: update base url in sitemap * Update apps/webapp/app/(routes)/[lang]/blog/[category]/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/wallet/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/whitepaper/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: build error * fix: remove unnecessary async declarative * vendor: add @types/uuid * fix: remove console log for debug * fix: add 'async' to all sitemaps * fix: make ProjectPageParams extends CommonPageParams --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix(webapp): UI/UX tweaks and upts from final v1 landing designs (#291) * (webapp)fix:FAQ border radi + muted color * (webapp)fix:newsletter spacing * (webapp)fix:participate spacing and font family * (webapp)fix:header spacing + bitlauncher logo size * (webapp)fix:blog section 4 per row + purple link + gap * (webapp)fix:hero-card spacing * (webapp)fix:auction-card spaces * (webapp)fix:Upcoming grid gap * (webapp)fix:article card - text-left * (webapp)fix:media-card text-start * (webapp)fix:media-section purple link + space * (webapp)fix:participate gap + section font and padding * (webapp)fix:footer links padding + other spacing fix * (webapp)fix:upcoming background circle * (webapp)fix:footer margin-10 * (webapp)fix:upcoming bg shape * (webapp)-andler-changes-request * (webapp)-debug-toggle navigation icon * (webapp)-create-mobile-navigation-context * (webapp)-create-mobile-navigation-context * (webapp)-fix navigation bug - add key * (webapp)-Andler-changes * (webapp)-responsive - upcoming * (webapp)-fix-responsive-whychooseUs * (webapp)-fix-responsive-participate * (webapp)-fix-responsive-media * (webapp)-fix-responsive-articles * (webapp)-responsive-project-header+info+sharebtn * (webapp)-feat-about-base * (webapp)-feat-about-landing-complete * (webapp)-feat-security-updated * (webapp)-fix-steps-padding * fix typo * fix bgHeader type * fix bgHeader type * impr(webapp): layout tweaks * impr(webapp): info pages img asset + css class * fix: bun.lockb --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: multichain indexer ( part 1 ) (#293) * chore: update app-contracts * feat: multichain indexer * feat: prod chains * feat: presale wallet * feat: blpl token * feat: blpl token * chore: update bunlock * feat: blpl token * feat: presale evm contribs * feat: blpl token * wip: presale indexer * chore(indexer): fix dockerfile * feat: presale transaction indexing (#296) * feat: report transaction id * feat: save deposits data * feat: save deposits data * feat: read presale transactions * chore: disable view all * feat: update presale deposits ui * feat: display amount raised and contributors * chore: environment chains and tokens * fix(webapp): desktop padding (#297) * feat: multichain presale deposits (#298) * chore: environment chains and tokens * fix: chain switch * fix: chain switch * feat: update nav links (#299) * chore: environment chains and tokens * feat: update nav links * chore: renable swaps service, index token from latest block * feat(webapp): wallet ui updates (#300) * fix: wagmi config * feat(webapp): presale contribution report * feat: realtime presale data * feat: realtime presale data * feat: update dropdown menu * feat(supabase): update schema and types * chore: debug presale token issuance * feat: show issuance trx link on table * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <[email protected]> * impr(webapp): upt mob ver of more info cards (#294) (#305) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Leandro Gavidia Santamaria <[email protected]> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep * chore: august 2nd release [at TEST] (#315) * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <[email protected]> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep --------- Co-authored-by: Leandro Gavidia Santamaria <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: merge typo * fix: tailwind font config * fix(indexer): trust proxy * feat: token issuance trigger part 2 (#321) * chore(alchemy): use gcloud endpoint * docs(alchemy): update readme file * docs(indexer): update readme file * debug(indexer): gcloud automated deployment * chore(alchemy): env values validation * chore(indexer): improve logging * chore(indexer): improve logging * chore(indexer): stringify all logs * debug(indexer): disable alchemy signature validation * debug(indexer): disable alchemy signature validation * chore(indexer): validate env and use trigger secret * debug(faucet): save dist/ empty folder in git * chore: update deps * chore: improve env validations * fix(alchemy): wrong import * chore(indexer): improve logging * debug(indexer): alchemy webhook handler * debug(indexer): disable helmet * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * feat(indexer): alchemy signature middleware * feat(indexer): validate alchemy signature * chore(indexer): security improvements (#323) * chore(indexer): disable alchemy validation * feat: presale token issuance part 3 (#325) * chore(alchemy): export types * chore(indexer): log process event id * chore(indexer): log process event id * chore: prod network conig, validate networks * wip(indexer): validate before triggering * chore: add try catch Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: clean up * devops(indexer): update dockerfile * chore: format code * devops: remove lhci reports * fix(indexer): wrong import * feat(trigger): transfer blpl token (#327) * feat(trigger): transfer blpl token * docs(trigger): token issuance jsdocs Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * devops(indexer): update dockerfile * chore: remove type:module (#329) * chore: remove type:module * chore: remove type:module * devops(indexer): test deployment * devops(indexer): test deployment * chore(supabase): use module * feat(trigger): presale token issuance * chore: format * chore: use type:module for monorepo * impr(webapp): add multibase provider (#326) * config: create multibase provider * chore: update multibase env variable * impr(webapp): UI Update (#314) * (wepapp)impr:landing distribution + filenames * (wepapp)impr:auction card badge * (wepapp)impr:steps pading + new text-size * (wepapp)impr:text-size * (wepapp)impr:refactored about us section * (wepapp)impr:new tittles learning section * (wepapp)impr:security section * (wepapp)impr:tittle style and fonts * (wepapp)impr:responsive impr * fix:about section text-18 instead of text-sm * fix:security responsive * fix:hero padding * fix:Final Mobil Tweaks * impr(webapp): landing heros + mob-nav spacing * impr(webapp): landing learn section updated blog links * fix(webapp): info text foreground color * impr(webapp): landing responsiveness * imp(webapp): 3 steps needed responsiveness * chore(webapp): rm duplicate component --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: security updates (#331) * feat(indexer): validate right usdt,usdc address * feat(indexer): wait for finality and trx log * fix(indexer): wrong import * chore(indexer): fix build * chore(webapp): format * feat(webapp): bitlauncher blog category + blog tweaks (#324) * wip: static blog files upt * fix(webapp): blog article file gen + article ui tweaks * chore(webapp): app ver upt + cms gen script * docs: upt cms-ql.sh Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(webapp): app build, missing file --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: format files * fix(webapp): cached files error catch * impr(webapp): static blog file error catch * fix(webapp): static cached file chk * feat: supabase schema and webapp updates (#335) * feat(indexer): add address registration validation * feat: update database schema to support presales * feat: repo/tokens (#336) * chore: update repo packages (#338) * feat: stable coin selector * feat: presale ux ui * chore: repo/contracts pkg * chore: repo/utils pkg * chore: repo/tsconfig pkg * chore: repo/alchemy pkg * chore: repo/jobs pkg * chore: repo/supabase pkg * docs: update readme * chore: update bunlock * chore(indexer): alchemy webhook Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore(alchemy): invert ternary Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore: not nullable values, format code * chore: update node:crypto Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(indexer): alchemy signature validation Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: fix build (#339) * feat: validate user registration on event proxy (#340) * chore: fix imports * feat(indexer): validate user is registered * feat: add presale deposit checks (#341) * feat(indexer): is registered address * feat(indexer): validate amount and timing * wip(webapp): update project, presale and auction pages * chore(webapp): improve error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: realtime presale data (#342) * feat: real time presale data * feat: real time presale data * fix(webapp): header margin (#343) * webapp:fix margin top * webapp:add header tag * webapp:fix margin top * webapp:add md top * webapp:add md top * webapp:fix project tittle + pills responsive * chore: august 3rd release [pre-prod] (#334) * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <[email protected]> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep * fix(indexer): trust proxy * feat: token issuance trigger part 2 (#321) * chore(alchemy): use gcloud endpoint * docs(alchemy): update readme file * docs(indexer): update readme file * debug(indexer): gcloud automated deployment * chore(alchemy): env values validation * chore(indexer): improve logging * chore(indexer): improve logging * chore(indexer): stringify all logs * debug(indexer): disable alchemy signature validation * debug(indexer): disable alchemy signature validation * chore(indexer): validate env and use trigger secret * debug(faucet): save dist/ empty folder in git * chore: update deps * chore: improve env validations * fix(alchemy): wrong import * chore(indexer): improve logging * debug(indexer): alchemy webhook handler * debug(indexer): disable helmet * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * feat(indexer): alchemy signature middleware * feat(indexer): validate alchemy signature * chore(indexer): security improvements (#323) * chore(indexer): disable alchemy validation * feat: presale token issuance part 3 (#325) * chore(alchemy): export types * chore(indexer): log process event id * chore(indexer): log process event id * chore: prod network conig, validate networks * wip(indexer): validate before triggering * chore: add try catch Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: clean up * devops(indexer): update dockerfile * chore: format code * devops: remove lhci reports * fix(indexer): wrong import * feat(trigger): transfer blpl token (#327) * feat(trigger): transfer blpl token * docs(trigger): token issuance jsdocs Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * devops(indexer): update dockerfile * chore: remove type:module (#329) * chore: remove type:module * chore: remove type:module * devops(indexer): test deployment * devops(indexer): test deployment * chore(supabase): use module * feat(trigger): presale token issuance * chore: format * chore: use type:module for monorepo * impr(webapp): add multibase provider (#326) * config: create multibase provider * chore: update multibase env variable * impr(webapp): UI Update (#314) * (wepapp)impr:landing distribution + filenames * (wepapp)impr:auction card badge * (wepapp)impr:steps pading + new text-size * (wepapp)impr:text-size * (wepapp)impr:refactored about us section * (wepapp)impr:new tittles learning section * (wepapp)impr:security section * (wepapp)impr:tittle style and fonts * (wepapp)impr:responsive impr * fix:about section text-18 instead of text-sm * fix:security responsive * fix:hero padding * fix:Final Mobil Tweaks * impr(webapp): landing heros + mob-nav spacing * impr(webapp): landing learn section updated blog links * fix(webapp): info text foreground color * impr(webapp): landing responsiveness * imp(webapp): 3 steps needed responsiveness * chore(webapp): rm duplicate component --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: security updates (#331) * feat(indexer): validate right usdt,usdc address * feat(indexer): wait for finality and trx log * fix(indexer): wrong import * chore(indexer): fix build * chore(webapp): format * feat(webapp): bitlauncher blog category + blog tweaks (#324) * wip: static blog files upt * fix(webapp): blog article file gen + article ui tweaks * chore(webapp): app ver upt + cms gen script * docs: upt cms-ql.sh Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(webapp): app build, missing file --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: format files * fix(webapp): cached files error catch * impr(webapp): static blog file error catch * fix(webapp): static cached file chk * feat: supabase schema and webapp updates (#335) * feat(indexer): add address registration validation * feat: update database schema to support presales * feat: repo/tokens (#336) * chore: update repo packages (#338) * feat: stable coin selector * feat: presale ux ui * chore: repo/contracts pkg * chore: repo/utils pkg * chore: repo/tsconfig pkg * chore: repo/alchemy pkg * chore: repo/jobs pkg * chore: repo/supabase pkg * docs: update readme * chore: update bunlock * chore(indexer): alchemy webhook Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore(alchemy): invert ternary Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore: not nullable values, format code * chore: update node:crypto Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(indexer): alchemy signature validation Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: fix build (#339) * feat: validate user registration on event proxy (#340) * chore: fix imports * feat(indexer): validate user is registered * feat: add presale deposit checks (#341) * feat(indexer): is registered address * feat(indexer): validate amount and timing * wip(webapp): update project, presale and auction pages * chore(webapp): improve error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: realtime presale data (#342) * feat: real time presale data * feat: real time presale data * fix(webapp): header margin (#343) * webapp:fix margin top * webapp:add header tag * webapp:fix margin top * webapp:add md top * webapp:add md top * webapp:fix project tittle + pills responsive --------- Co-authored-by: Leandro Gavidia Santamaria <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <[email protected]> * chore(fix): update apps/trigger package.json dep * fix: cms gen merged files + use-session table upt + trigger/tsconfig upt * fix: registration logic and indexer checks (#347) * feat(indexer): check if address already bought * fix(webapp): registration logic * chore: update bunlock * fix(webapp): arrow icon * fix(webapp): arrow icon * feat: upsert accounts table on login * fix(webapp): move accounts to session hook * feat: webapp/hotfix bl project status tag (#348) * fix(webapp): tablet/small-screen header breakpoint * impr(webapp): project page hero + blog links upt * fix(webapp): project badge text upt * content(webapp): token sale date tbd * fix(webapp): hero title size (#350) * fix(webapp): hero title size * impr(webapp): share link toaster msg * chore: presale hardcoded txt tweak * impr(webapp): tailwindcss accent colour upt (#352) --------- Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: Nathanael Liu <[email protected]> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <[email protected]> Co-authored-by: Leandro Gavidia Santamaria <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* chore: presale texts revisions (#351) * chore: add @types/uuid * chore: add @types/uuid * fix(app-lib): tsconfig pkg extends * fix: missing encoding dep * feat: sitemap (#290) * feat: add sitemap * fix: error handling * fix: move common types * fix: update base url in sitemap * Update apps/webapp/app/(routes)/[lang]/blog/[category]/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/wallet/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/whitepaper/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: build error * fix: remove unnecessary async declarative * vendor: add @types/uuid * fix: remove console log for debug * fix: add 'async' to all sitemaps * fix: make ProjectPageParams extends CommonPageParams --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix(webapp): UI/UX tweaks and upts from final v1 landing designs (#291) * (webapp)fix:FAQ border radi + muted color * (webapp)fix:newsletter spacing * (webapp)fix:participate spacing and font family * (webapp)fix:header spacing + bitlauncher logo size * (webapp)fix:blog section 4 per row + purple link + gap * (webapp)fix:hero-card spacing * (webapp)fix:auction-card spaces * (webapp)fix:Upcoming grid gap * (webapp)fix:article card - text-left * (webapp)fix:media-card text-start * (webapp)fix:media-section purple link + space * (webapp)fix:participate gap + section font and padding * (webapp)fix:footer links padding + other spacing fix * (webapp)fix:upcoming background circle * (webapp)fix:footer margin-10 * (webapp)fix:upcoming bg shape * (webapp)-andler-changes-request * (webapp)-debug-toggle navigation icon * (webapp)-create-mobile-navigation-context * (webapp)-create-mobile-navigation-context * (webapp)-fix navigation bug - add key * (webapp)-Andler-changes * (webapp)-responsive - upcoming * (webapp)-fix-responsive-whychooseUs * (webapp)-fix-responsive-participate * (webapp)-fix-responsive-media * (webapp)-fix-responsive-articles * (webapp)-responsive-project-header+info+sharebtn * (webapp)-feat-about-base * (webapp)-feat-about-landing-complete * (webapp)-feat-security-updated * (webapp)-fix-steps-padding * fix typo * fix bgHeader type * fix bgHeader type * impr(webapp): layout tweaks * impr(webapp): info pages img asset + css class * fix: bun.lockb --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: multichain indexer ( part 1 ) (#293) * chore: update app-contracts * feat: multichain indexer * feat: prod chains * feat: presale wallet * feat: blpl token * feat: blpl token * chore: update bunlock * feat: blpl token * feat: presale evm contribs * feat: blpl token * wip: presale indexer * chore(indexer): fix dockerfile * feat: presale transaction indexing (#296) * feat: report transaction id * feat: save deposits data * feat: save deposits data * feat: read presale transactions * chore: disable view all * feat: update presale deposits ui * feat: display amount raised and contributors * chore: environment chains and tokens * fix(webapp): desktop padding (#297) * feat: multichain presale deposits (#298) * chore: environment chains and tokens * fix: chain switch * fix: chain switch * feat: update nav links (#299) * chore: environment chains and tokens * feat: update nav links * chore: renable swaps service, index token from latest block * feat(webapp): wallet ui updates (#300) * fix: wagmi config * feat(webapp): presale contribution report * feat: realtime presale data * feat: realtime presale data * feat: update dropdown menu * feat(supabase): update schema and types * chore: debug presale token issuance * feat: show issuance trx link on table * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <[email protected]> * impr(webapp): upt mob ver of more info cards (#294) (#305) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Leandro Gavidia Santamaria <[email protected]> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep * chore: august 2nd release [at TEST] (#315) * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <[email protected]> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep --------- Co-authored-by: Leandro Gavidia Santamaria <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: merge typo * fix: tailwind font config * fix(indexer): trust proxy * feat: token issuance trigger part 2 (#321) * chore(alchemy): use gcloud endpoint * docs(alchemy): update readme file * docs(indexer): update readme file * debug(indexer): gcloud automated deployment * chore(alchemy): env values validation * chore(indexer): improve logging * chore(indexer): improve logging * chore(indexer): stringify all logs * debug(indexer): disable alchemy signature validation * debug(indexer): disable alchemy signature validation * chore(indexer): validate env and use trigger secret * debug(faucet): save dist/ empty folder in git * chore: update deps * chore: improve env validations * fix(alchemy): wrong import * chore(indexer): improve logging * debug(indexer): alchemy webhook handler * debug(indexer): disable helmet * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * feat(indexer): alchemy signature middleware * feat(indexer): validate alchemy signature * chore(indexer): security improvements (#323) * chore(indexer): disable alchemy validation * feat: presale token issuance part 3 (#325) * chore(alchemy): export types * chore(indexer): log process event id * chore(indexer): log process event id * chore: prod network conig, validate networks * wip(indexer): validate before triggering * chore: add try catch Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: clean up * devops(indexer): update dockerfile * chore: format code * devops: remove lhci reports * fix(indexer): wrong import * feat(trigger): transfer blpl token (#327) * feat(trigger): transfer blpl token * docs(trigger): token issuance jsdocs Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * devops(indexer): update dockerfile * chore: remove type:module (#329) * chore: remove type:module * chore: remove type:module * devops(indexer): test deployment * devops(indexer): test deployment * chore(supabase): use module * feat(trigger): presale token issuance * chore: format * chore: use type:module for monorepo * impr(webapp): add multibase provider (#326) * config: create multibase provider * chore: update multibase env variable * impr(webapp): UI Update (#314) * (wepapp)impr:landing distribution + filenames * (wepapp)impr:auction card badge * (wepapp)impr:steps pading + new text-size * (wepapp)impr:text-size * (wepapp)impr:refactored about us section * (wepapp)impr:new tittles learning section * (wepapp)impr:security section * (wepapp)impr:tittle style and fonts * (wepapp)impr:responsive impr * fix:about section text-18 instead of text-sm * fix:security responsive * fix:hero padding * fix:Final Mobil Tweaks * impr(webapp): landing heros + mob-nav spacing * impr(webapp): landing learn section updated blog links * fix(webapp): info text foreground color * impr(webapp): landing responsiveness * imp(webapp): 3 steps needed responsiveness * chore(webapp): rm duplicate component --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: security updates (#331) * feat(indexer): validate right usdt,usdc address * feat(indexer): wait for finality and trx log * fix(indexer): wrong import * chore(indexer): fix build * chore(webapp): format * feat(webapp): bitlauncher blog category + blog tweaks (#324) * wip: static blog files upt * fix(webapp): blog article file gen + article ui tweaks * chore(webapp): app ver upt + cms gen script * docs: upt cms-ql.sh Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(webapp): app build, missing file --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: format files * fix(webapp): cached files error catch * impr(webapp): static blog file error catch * fix(webapp): static cached file chk * feat: supabase schema and webapp updates (#335) * feat(indexer): add address registration validation * feat: update database schema to support presales * feat: repo/tokens (#336) * chore: update repo packages (#338) * feat: stable coin selector * feat: presale ux ui * chore: repo/contracts pkg * chore: repo/utils pkg * chore: repo/tsconfig pkg * chore: repo/alchemy pkg * chore: repo/jobs pkg * chore: repo/supabase pkg * docs: update readme * chore: update bunlock * chore(indexer): alchemy webhook Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore(alchemy): invert ternary Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore: not nullable values, format code * chore: update node:crypto Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(indexer): alchemy signature validation Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: fix build (#339) * feat: validate user registration on event proxy (#340) * chore: fix imports * feat(indexer): validate user is registered * feat: add presale deposit checks (#341) * feat(indexer): is registered address * feat(indexer): validate amount and timing * wip(webapp): update project, presale and auction pages * chore(webapp): improve error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: realtime presale data (#342) * feat: real time presale data * feat: real time presale data * fix(webapp): header margin (#343) * webapp:fix margin top * webapp:add header tag * webapp:fix margin top * webapp:add md top * webapp:add md top * webapp:fix project tittle + pills responsive * chore: august 3rd release [pre-prod] (#334) * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <[email protected]> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep * fix(indexer): trust proxy * feat: token issuance trigger part 2 (#321) * chore(alchemy): use gcloud endpoint * docs(alchemy): update readme file * docs(indexer): update readme file * debug(indexer): gcloud automated deployment * chore(alchemy): env values validation * chore(indexer): improve logging * chore(indexer): improve logging * chore(indexer): stringify all logs * debug(indexer): disable alchemy signature validation * debug(indexer): disable alchemy signature validation * chore(indexer): validate env and use trigger secret * debug(faucet): save dist/ empty folder in git * chore: update deps * chore: improve env validations * fix(alchemy): wrong import * chore(indexer): improve logging * debug(indexer): alchemy webhook handler * debug(indexer): disable helmet * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * feat(indexer): alchemy signature middleware * feat(indexer): validate alchemy signature * chore(indexer): security improvements (#323) * chore(indexer): disable alchemy validation * feat: presale token issuance part 3 (#325) * chore(alchemy): export types * chore(indexer): log process event id * chore(indexer): log process event id * chore: prod network conig, validate networks * wip(indexer): validate before triggering * chore: add try catch Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: clean up * devops(indexer): update dockerfile * chore: format code * devops: remove lhci reports * fix(indexer): wrong import * feat(trigger): transfer blpl token (#327) * feat(trigger): transfer blpl token * docs(trigger): token issuance jsdocs Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * devops(indexer): update dockerfile * chore: remove type:module (#329) * chore: remove type:module * chore: remove type:module * devops(indexer): test deployment * devops(indexer): test deployment * chore(supabase): use module * feat(trigger): presale token issuance * chore: format * chore: use type:module for monorepo * impr(webapp): add multibase provider (#326) * config: create multibase provider * chore: update multibase env variable * impr(webapp): UI Update (#314) * (wepapp)impr:landing distribution + filenames * (wepapp)impr:auction card badge * (wepapp)impr:steps pading + new text-size * (wepapp)impr:text-size * (wepapp)impr:refactored about us section * (wepapp)impr:new tittles learning section * (wepapp)impr:security section * (wepapp)impr:tittle style and fonts * (wepapp)impr:responsive impr * fix:about section text-18 instead of text-sm * fix:security responsive * fix:hero padding * fix:Final Mobil Tweaks * impr(webapp): landing heros + mob-nav spacing * impr(webapp): landing learn section updated blog links * fix(webapp): info text foreground color * impr(webapp): landing responsiveness * imp(webapp): 3 steps needed responsiveness * chore(webapp): rm duplicate component --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: security updates (#331) * feat(indexer): validate right usdt,usdc address * feat(indexer): wait for finality and trx log * fix(indexer): wrong import * chore(indexer): fix build * chore(webapp): format * feat(webapp): bitlauncher blog category + blog tweaks (#324) * wip: static blog files upt * fix(webapp): blog article file gen + article ui tweaks * chore(webapp): app ver upt + cms gen script * docs: upt cms-ql.sh Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(webapp): app build, missing file --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: format files * fix(webapp): cached files error catch * impr(webapp): static blog file error catch * fix(webapp): static cached file chk * feat: supabase schema and webapp updates (#335) * feat(indexer): add address registration validation * feat: update database schema to support presales * feat: repo/tokens (#336) * chore: update repo packages (#338) * feat: stable coin selector * feat: presale ux ui * chore: repo/contracts pkg * chore: repo/utils pkg * chore: repo/tsconfig pkg * chore: repo/alchemy pkg * chore: repo/jobs pkg * chore: repo/supabase pkg * docs: update readme * chore: update bunlock * chore(indexer): alchemy webhook Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore(alchemy): invert ternary Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore: not nullable values, format code * chore: update node:crypto Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(indexer): alchemy signature validation Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: fix build (#339) * feat: validate user registration on event proxy (#340) * chore: fix imports * feat(indexer): validate user is registered * feat: add presale deposit checks (#341) * feat(indexer): is registered address * feat(indexer): validate amount and timing * wip(webapp): update project, presale and auction pages * chore(webapp): improve error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: realtime presale data (#342) * feat: real time presale data * feat: real time presale data * fix(webapp): header margin (#343) * webapp:fix margin top * webapp:add header tag * webapp:fix margin top * webapp:add md top * webapp:add md top * webapp:fix project tittle + pills responsive --------- Co-authored-by: Leandro Gavidia Santamaria <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <[email protected]> * chore(fix): update apps/trigger package.json dep * fix: cms gen merged files + use-session table upt + trigger/tsconfig upt * fix: registration logic and indexer checks (#347) * feat(indexer): check if address already bought * fix(webapp): registration logic * chore: update bunlock * fix(webapp): arrow icon * fix(webapp): arrow icon * feat: upsert accounts table on login * fix(webapp): move accounts to session hook * feat: webapp/hotfix bl project status tag (#348) * fix(webapp): tablet/small-screen header breakpoint * impr(webapp): project page hero + blog links upt * fix(webapp): project badge text upt * content(webapp): token sale date tbd * fix(webapp): hero title size (#350) * fix(webapp): hero title size * impr(webapp): share link toaster msg * chore: presale hardcoded txt tweak --------- Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: Nathanael Liu <[email protected]> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <[email protected]> Co-authored-by: Leandro Gavidia Santamaria <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): tailwindcss accent colours + landing hero accent colour upt (#353) * chore: add @types/uuid * chore: add @types/uuid * fix(app-lib): tsconfig pkg extends * fix: missing encoding dep * feat: sitemap (#290) * feat: add sitemap * fix: error handling * fix: move common types * fix: update base url in sitemap * Update apps/webapp/app/(routes)/[lang]/blog/[category]/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/wallet/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/whitepaper/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: build error * fix: remove unnecessary async declarative * vendor: add @types/uuid * fix: remove console log for debug * fix: add 'async' to all sitemaps * fix: make ProjectPageParams extends CommonPageParams --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix(webapp): UI/UX tweaks and upts from final v1 landing designs (#291) * (webapp)fix:FAQ border radi + muted color * (webapp)fix:newsletter spacing * (webapp)fix:participate spacing and font family * (webapp)fix:header spacing + bitlauncher logo size * (webapp)fix:blog section 4 per row + purple link + gap * (webapp)fix:hero-card spacing * (webapp)fix:auction-card spaces * (webapp)fix:Upcoming grid gap * (webapp)fix:article card - text-left * (webapp)fix:media-card text-start * (webapp)fix:media-section purple link + space * (webapp)fix:participate gap + section font and padding * (webapp)fix:footer links padding + other spacing fix * (webapp)fix:upcoming background circle * (webapp)fix:footer margin-10 * (webapp)fix:upcoming bg shape * (webapp)-andler-changes-request * (webapp)-debug-toggle navigation icon * (webapp)-create-mobile-navigation-context * (webapp)-create-mobile-navigation-context * (webapp)-fix navigation bug - add key * (webapp)-Andler-changes * (webapp)-responsive - upcoming * (webapp)-fix-responsive-whychooseUs * (webapp)-fix-responsive-participate * (webapp)-fix-responsive-media * (webapp)-fix-responsive-articles * (webapp)-responsive-project-header+info+sharebtn * (webapp)-feat-about-base * (webapp)-feat-about-landing-complete * (webapp)-feat-security-updated * (webapp)-fix-steps-padding * fix typo * fix bgHeader type * fix bgHeader type * impr(webapp): layout tweaks * impr(webapp): info pages img asset + css class * fix: bun.lockb --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: multichain indexer ( part 1 ) (#293) * chore: update app-contracts * feat: multichain indexer * feat: prod chains * feat: presale wallet * feat: blpl token * feat: blpl token * chore: update bunlock * feat: blpl token * feat: presale evm contribs * feat: blpl token * wip: presale indexer * chore(indexer): fix dockerfile * feat: presale transaction indexing (#296) * feat: report transaction id * feat: save deposits data * feat: save deposits data * feat: read presale transactions * chore: disable view all * feat: update presale deposits ui * feat: display amount raised and contributors * chore: environment chains and tokens * fix(webapp): desktop padding (#297) * feat: multichain presale deposits (#298) * chore: environment chains and tokens * fix: chain switch * fix: chain switch * feat: update nav links (#299) * chore: environment chains and tokens * feat: update nav links * chore: renable swaps service, index token from latest block * feat(webapp): wallet ui updates (#300) * fix: wagmi config * feat(webapp): presale contribution report * feat: realtime presale data * feat: realtime presale data * feat: update dropdown menu * feat(supabase): update schema and types * chore: debug presale token issuance * feat: show issuance trx link on table * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <[email protected]> * impr(webapp): upt mob ver of more info cards (#294) (#305) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Leandro Gavidia Santamaria <[email protected]> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep * chore: august 2nd release [at TEST] (#315) * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <[email protected]> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep --------- Co-authored-by: Leandro Gavidia Santamaria <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: merge typo * fix: tailwind font config * fix(indexer): trust proxy * feat: token issuance trigger part 2 (#321) * chore(alchemy): use gcloud endpoint * docs(alchemy): update readme file * docs(indexer): update readme file * debug(indexer): gcloud automated deployment * chore(alchemy): env values validation * chore(indexer): improve logging * chore(indexer): improve logging * chore(indexer): stringify all logs * debug(indexer): disable alchemy signature validation * debug(indexer): disable alchemy signature validation * chore(indexer): validate env and use trigger secret * debug(faucet): save dist/ empty folder in git * chore: update deps * chore: improve env validations * fix(alchemy): wrong import * chore(indexer): improve logging * debug(indexer): alchemy webhook handler * debug(indexer): disable helmet * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * feat(indexer): alchemy signature middleware * feat(indexer): validate alchemy signature * chore(indexer): security improvements (#323) * chore(indexer): disable alchemy validation * feat: presale token issuance part 3 (#325) * chore(alchemy): export types * chore(indexer): log process event id * chore(indexer): log process event id * chore: prod network conig, validate networks * wip(indexer): validate before triggering * chore: add try catch Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: clean up * devops(indexer): update dockerfile * chore: format code * devops: remove lhci reports * fix(indexer): wrong import * feat(trigger): transfer blpl token (#327) * feat(trigger): transfer blpl token * docs(trigger): token issuance jsdocs Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * devops(indexer): update dockerfile * chore: remove type:module (#329) * chore: remove type:module * chore: remove type:module * devops(indexer): test deployment * devops(indexer): test deployment * chore(supabase): use module * feat(trigger): presale token issuance * chore: format * chore: use type:module for monorepo * impr(webapp): add multibase provider (#326) * config: create multibase provider * chore: update multibase env variable * impr(webapp): UI Update (#314) * (wepapp)impr:landing distribution + filenames * (wepapp)impr:auction card badge * (wepapp)impr:steps pading + new text-size * (wepapp)impr:text-size * (wepapp)impr:refactored about us section * (wepapp)impr:new tittles learning section * (wepapp)impr:security section * (wepapp)impr:tittle style and fonts * (wepapp)impr:responsive impr * fix:about section text-18 instead of text-sm * fix:security responsive * fix:hero padding * fix:Final Mobil Tweaks * impr(webapp): landing heros + mob-nav spacing * impr(webapp): landing learn section updated blog links * fix(webapp): info text foreground color * impr(webapp): landing responsiveness * imp(webapp): 3 steps needed responsiveness * chore(webapp): rm duplicate component --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: security updates (#331) * feat(indexer): validate right usdt,usdc address * feat(indexer): wait for finality and trx log * fix(indexer): wrong import * chore(indexer): fix build * chore(webapp): format * feat(webapp): bitlauncher blog category + blog tweaks (#324) * wip: static blog files upt * fix(webapp): blog article file gen + article ui tweaks * chore(webapp): app ver upt + cms gen script * docs: upt cms-ql.sh Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(webapp): app build, missing file --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: format files * fix(webapp): cached files error catch * impr(webapp): static blog file error catch * fix(webapp): static cached file chk * feat: supabase schema and webapp updates (#335) * feat(indexer): add address registration validation * feat: update database schema to support presales * feat: repo/tokens (#336) * chore: update repo packages (#338) * feat: stable coin selector * feat: presale ux ui * chore: repo/contracts pkg * chore: repo/utils pkg * chore: repo/tsconfig pkg * chore: repo/alchemy pkg * chore: repo/jobs pkg * chore: repo/supabase pkg * docs: update readme * chore: update bunlock * chore(indexer): alchemy webhook Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore(alchemy): invert ternary Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore: not nullable values, format code * chore: update node:crypto Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(indexer): alchemy signature validation Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: fix build (#339) * feat: validate user registration on event proxy (#340) * chore: fix imports * feat(indexer): validate user is registered * feat: add presale deposit checks (#341) * feat(indexer): is registered address * feat(indexer): validate amount and timing * wip(webapp): update project, presale and auction pages * chore(webapp): improve error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: realtime presale data (#342) * feat: real time presale data * feat: real time presale data * fix(webapp): header margin (#343) * webapp:fix margin top * webapp:add header tag * webapp:fix margin top * webapp:add md top * webapp:add md top * webapp:fix project tittle + pills responsive * chore: august 3rd release [pre-prod] (#334) * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <[email protected]> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep * fix(indexer): trust proxy * feat: token issuance trigger part 2 (#321) * chore(alchemy): use gcloud endpoint * docs(alchemy): update readme file * docs(indexer): update readme file * debug(indexer): gcloud automated deployment * chore(alchemy): env values validation * chore(indexer): improve logging * chore(indexer): improve logging * chore(indexer): stringify all logs * debug(indexer): disable alchemy signature validation * debug(indexer): disable alchemy signature validation * chore(indexer): validate env and use trigger secret * debug(faucet): save dist/ empty folder in git * chore: update deps * chore: improve env validations * fix(alchemy): wrong import * chore(indexer): improve logging * debug(indexer): alchemy webhook handler * debug(indexer): disable helmet * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * feat(indexer): alchemy signature middleware * feat(indexer): validate alchemy signature * chore(indexer): security improvements (#323) * chore(indexer): disable alchemy validation * feat: presale token issuance part 3 (#325) * chore(alchemy): export types * chore(indexer): log process event id * chore(indexer): log process event id * chore: prod network conig, validate networks * wip(indexer): validate before triggering * chore: add try catch Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: clean up * devops(indexer): update dockerfile * chore: format code * devops: remove lhci reports * fix(indexer): wrong import * feat(trigger): transfer blpl token (#327) * feat(trigger): transfer blpl token * docs(trigger): token issuance jsdocs Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * devops(indexer): update dockerfile * chore: remove type:module (#329) * chore: remove type:module * chore: remove type:module * devops(indexer): test deployment * devops(indexer): test deployment * chore(supabase): use module * feat(trigger): presale token issuance * chore: format * chore: use type:module for monorepo * impr(webapp): add multibase provider (#326) * config: create multibase provider * chore: update multibase env variable * impr(webapp): UI Update (#314) * (wepapp)impr:landing distribution + filenames * (wepapp)impr:auction card badge * (wepapp)impr:steps pading + new text-size * (wepapp)impr:text-size * (wepapp)impr:refactored about us section * (wepapp)impr:new tittles learning section * (wepapp)impr:security section * (wepapp)impr:tittle style and fonts * (wepapp)impr:responsive impr * fix:about section text-18 instead of text-sm * fix:security responsive * fix:hero padding * fix:Final Mobil Tweaks * impr(webapp): landing heros + mob-nav spacing * impr(webapp): landing learn section updated blog links * fix(webapp): info text foreground color * impr(webapp): landing responsiveness * imp(webapp): 3 steps needed responsiveness * chore(webapp): rm duplicate component --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: security updates (#331) * feat(indexer): validate right usdt,usdc address * feat(indexer): wait for finality and trx log * fix(indexer): wrong import * chore(indexer): fix build * chore(webapp): format * feat(webapp): bitlauncher blog category + blog tweaks (#324) * wip: static blog files upt * fix(webapp): blog article file gen + article ui tweaks * chore(webapp): app ver upt + cms gen script * docs: upt cms-ql.sh Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(webapp): app build, missing file --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: format files * fix(webapp): cached files error catch * impr(webapp): static blog file error catch * fix(webapp): static cached file chk * feat: supabase schema and webapp updates (#335) * feat(indexer): add address registration validation * feat: update database schema to support presales * feat: repo/tokens (#336) * chore: update repo packages (#338) * feat: stable coin selector * feat: presale ux ui * chore: repo/contracts pkg * chore: repo/utils pkg * chore: repo/tsconfig pkg * chore: repo/alchemy pkg * chore: repo/jobs pkg * chore: repo/supabase pkg * docs: update readme * chore: update bunlock * chore(indexer): alchemy webhook Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore(alchemy): invert ternary Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore: not nullable values, format code * chore: update node:crypto Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(indexer): alchemy signature validation Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: fix build (#339) * feat: validate user registration on event proxy (#340) * chore: fix imports * feat(indexer): validate user is registered * feat: add presale deposit checks (#341) * feat(indexer): is registered address * feat(indexer): validate amount and timing * wip(webapp): update project, presale and auction pages * chore(webapp): improve error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: realtime presale data (#342) * feat: real time presale data * feat: real time presale data * fix(webapp): header margin (#343) * webapp:fix margin top * webapp:add header tag * webapp:fix margin top * webapp:add md top * webapp:add md top * webapp:fix project tittle + pills responsive --------- Co-authored-by: Leandro Gavidia Santamaria <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <[email protected]> * chore(fix): update apps/trigger package.json dep * fix: cms gen merged files + use-session table upt + trigger/tsconfig upt * fix: registration logic and indexer checks (#347) * feat(indexer): check if address already bought * fix(webapp): registration logic * chore: update bunlock * fix(webapp): arrow icon * fix(webapp): arrow icon * feat: upsert accounts table on login * fix(webapp): move accounts to session hook * feat: webapp/hotfix bl project status tag (#348) * fix(webapp): tablet/small-screen header breakpoint * impr(webapp): project page hero + blog links upt * fix(webapp): project badge text upt * content(webapp): token sale date tbd * fix(webapp): hero title size (#350) * fix(webapp): hero title size * impr(webapp): share link toaster msg * chore: presale hardcoded txt tweak * impr(webapp): tailwindcss accent colour upt (#352) --------- Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: Nathanael Liu <[email protected]> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <[email protected]> Co-authored-by: Leandro Gavidia Santamaria <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: update text in learn-section * fix: change "investment" with "contribution" * fix: typo * fix(webapp): learn section txt typo upt --------- Co-authored-by: Roberto Lucas <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <[email protected]> Co-authored-by: Leandro Gavidia Santamaria <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* chore: add @types/uuid * chore: add @types/uuid * fix(app-lib): tsconfig pkg extends * fix: missing encoding dep * feat: sitemap (#290) * feat: add sitemap * fix: error handling * fix: move common types * fix: update base url in sitemap * Update apps/webapp/app/(routes)/[lang]/blog/[category]/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/wallet/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/whitepaper/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: build error * fix: remove unnecessary async declarative * vendor: add @types/uuid * fix: remove console log for debug * fix: add 'async' to all sitemaps * fix: make ProjectPageParams extends CommonPageParams --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix(webapp): UI/UX tweaks and upts from final v1 landing designs (#291) * (webapp)fix:FAQ border radi + muted color * (webapp)fix:newsletter spacing * (webapp)fix:participate spacing and font family * (webapp)fix:header spacing + bitlauncher logo size * (webapp)fix:blog section 4 per row + purple link + gap * (webapp)fix:hero-card spacing * (webapp)fix:auction-card spaces * (webapp)fix:Upcoming grid gap * (webapp)fix:article card - text-left * (webapp)fix:media-card text-start * (webapp)fix:media-section purple link + space * (webapp)fix:participate gap + section font and padding * (webapp)fix:footer links padding + other spacing fix * (webapp)fix:upcoming background circle * (webapp)fix:footer margin-10 * (webapp)fix:upcoming bg shape * (webapp)-andler-changes-request * (webapp)-debug-toggle navigation icon * (webapp)-create-mobile-navigation-context * (webapp)-create-mobile-navigation-context * (webapp)-fix navigation bug - add key * (webapp)-Andler-changes * (webapp)-responsive - upcoming * (webapp)-fix-responsive-whychooseUs * (webapp)-fix-responsive-participate * (webapp)-fix-responsive-media * (webapp)-fix-responsive-articles * (webapp)-responsive-project-header+info+sharebtn * (webapp)-feat-about-base * (webapp)-feat-about-landing-complete * (webapp)-feat-security-updated * (webapp)-fix-steps-padding * fix typo * fix bgHeader type * fix bgHeader type * impr(webapp): layout tweaks * impr(webapp): info pages img asset + css class * fix: bun.lockb --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: multichain indexer ( part 1 ) (#293) * chore: update app-contracts * feat: multichain indexer * feat: prod chains * feat: presale wallet * feat: blpl token * feat: blpl token * chore: update bunlock * feat: blpl token * feat: presale evm contribs * feat: blpl token * wip: presale indexer * chore(indexer): fix dockerfile * feat: presale transaction indexing (#296) * feat: report transaction id * feat: save deposits data * feat: save deposits data * feat: read presale transactions * chore: disable view all * feat: update presale deposits ui * feat: display amount raised and contributors * chore: environment chains and tokens * fix(webapp): desktop padding (#297) * feat: multichain presale deposits (#298) * chore: environment chains and tokens * fix: chain switch * fix: chain switch * feat: update nav links (#299) * chore: environment chains and tokens * feat: update nav links * chore: renable swaps service, index token from latest block * feat(webapp): wallet ui updates (#300) * fix: wagmi config * feat(webapp): presale contribution report * feat: realtime presale data * feat: realtime presale data * feat: update dropdown menu * feat(supabase): update schema and types * chore: debug presale token issuance * feat: show issuance trx link on table * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <[email protected]> * impr(webapp): upt mob ver of more info cards (#294) (#305) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Leandro Gavidia Santamaria <[email protected]> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep * chore: august 2nd release [at TEST] (#315) * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <[email protected]> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep --------- Co-authored-by: Leandro Gavidia Santamaria <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: merge typo * fix: tailwind font config * fix(indexer): trust proxy * feat: token issuance trigger part 2 (#321) * chore(alchemy): use gcloud endpoint * docs(alchemy): update readme file * docs(indexer): update readme file * debug(indexer): gcloud automated deployment * chore(alchemy): env values validation * chore(indexer): improve logging * chore(indexer): improve logging * chore(indexer): stringify all logs * debug(indexer): disable alchemy signature validation * debug(indexer): disable alchemy signature validation * chore(indexer): validate env and use trigger secret * debug(faucet): save dist/ empty folder in git * chore: update deps * chore: improve env validations * fix(alchemy): wrong import * chore(indexer): improve logging * debug(indexer): alchemy webhook handler * debug(indexer): disable helmet * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * feat(indexer): alchemy signature middleware * feat(indexer): validate alchemy signature * chore(indexer): security improvements (#323) * chore(indexer): disable alchemy validation * feat: presale token issuance part 3 (#325) * chore(alchemy): export types * chore(indexer): log process event id * chore(indexer): log process event id * chore: prod network conig, validate networks * wip(indexer): validate before triggering * chore: add try catch Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: clean up * devops(indexer): update dockerfile * chore: format code * devops: remove lhci reports * fix(indexer): wrong import * feat(trigger): transfer blpl token (#327) * feat(trigger): transfer blpl token * docs(trigger): token issuance jsdocs Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * devops(indexer): update dockerfile * chore: remove type:module (#329) * chore: remove type:module * chore: remove type:module * devops(indexer): test deployment * devops(indexer): test deployment * chore(supabase): use module * feat(trigger): presale token issuance * chore: format * chore: use type:module for monorepo * impr(webapp): add multibase provider (#326) * config: create multibase provider * chore: update multibase env variable * impr(webapp): UI Update (#314) * (wepapp)impr:landing distribution + filenames * (wepapp)impr:auction card badge * (wepapp)impr:steps pading + new text-size * (wepapp)impr:text-size * (wepapp)impr:refactored about us section * (wepapp)impr:new tittles learning section * (wepapp)impr:security section * (wepapp)impr:tittle style and fonts * (wepapp)impr:responsive impr * fix:about section text-18 instead of text-sm * fix:security responsive * fix:hero padding * fix:Final Mobil Tweaks * impr(webapp): landing heros + mob-nav spacing * impr(webapp): landing learn section updated blog links * fix(webapp): info text foreground color * impr(webapp): landing responsiveness * imp(webapp): 3 steps needed responsiveness * chore(webapp): rm duplicate component --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: security updates (#331) * feat(indexer): validate right usdt,usdc address * feat(indexer): wait for finality and trx log * fix(indexer): wrong import * chore(indexer): fix build * chore(webapp): format * feat(webapp): bitlauncher blog category + blog tweaks (#324) * wip: static blog files upt * fix(webapp): blog article file gen + article ui tweaks * chore(webapp): app ver upt + cms gen script * docs: upt cms-ql.sh Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(webapp): app build, missing file --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: format files * fix(webapp): cached files error catch * impr(webapp): static blog file error catch * fix(webapp): static cached file chk * feat: supabase schema and webapp updates (#335) * feat(indexer): add address registration validation * feat: update database schema to support presales * feat: repo/tokens (#336) * chore: update repo packages (#338) * feat: stable coin selector * feat: presale ux ui * chore: repo/contracts pkg * chore: repo/utils pkg * chore: repo/tsconfig pkg * chore: repo/alchemy pkg * chore: repo/jobs pkg * chore: repo/supabase pkg * docs: update readme * chore: update bunlock * chore(indexer): alchemy webhook Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore(alchemy): invert ternary Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore: not nullable values, format code * chore: update node:crypto Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(indexer): alchemy signature validation Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: fix build (#339) * feat: validate user registration on event proxy (#340) * chore: fix imports * feat(indexer): validate user is registered * feat: add presale deposit checks (#341) * feat(indexer): is registered address * feat(indexer): validate amount and timing * wip(webapp): update project, presale and auction pages * chore(webapp): improve error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: realtime presale data (#342) * feat: real time presale data * feat: real time presale data * fix(webapp): header margin (#343) * webapp:fix margin top * webapp:add header tag * webapp:fix margin top * webapp:add md top * webapp:add md top * webapp:fix project tittle + pills responsive * chore: august 3rd release [pre-prod] (#334) * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <[email protected]> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep * fix(indexer): trust proxy * feat: token issuance trigger part 2 (#321) * chore(alchemy): use gcloud endpoint * docs(alchemy): update readme file * docs(indexer): update readme file * debug(indexer): gcloud automated deployment * chore(alchemy): env values validation * chore(indexer): improve logging * chore(indexer): improve logging * chore(indexer): stringify all logs * debug(indexer): disable alchemy signature validation * debug(indexer): disable alchemy signature validation * chore(indexer): validate env and use trigger secret * debug(faucet): save dist/ empty folder in git * chore: update deps * chore: improve env validations * fix(alchemy): wrong import * chore(indexer): improve logging * debug(indexer): alchemy webhook handler * debug(indexer): disable helmet * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * feat(indexer): alchemy signature middleware * feat(indexer): validate alchemy signature * chore(indexer): security improvements (#323) * chore(indexer): disable alchemy validation * feat: presale token issuance part 3 (#325) * chore(alchemy): export types * chore(indexer): log process event id * chore(indexer): log process event id * chore: prod network conig, validate networks * wip(indexer): validate before triggering * chore: add try catch Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: clean up * devops(indexer): update dockerfile * chore: format code * devops: remove lhci reports * fix(indexer): wrong import * feat(trigger): transfer blpl token (#327) * feat(trigger): transfer blpl token * docs(trigger): token issuance jsdocs Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * devops(indexer): update dockerfile * chore: remove type:module (#329) * chore: remove type:module * chore: remove type:module * devops(indexer): test deployment * devops(indexer): test deployment * chore(supabase): use module * feat(trigger): presale token issuance * chore: format * chore: use type:module for monorepo * impr(webapp): add multibase provider (#326) * config: create multibase provider * chore: update multibase env variable * impr(webapp): UI Update (#314) * (wepapp)impr:landing distribution + filenames * (wepapp)impr:auction card badge * (wepapp)impr:steps pading + new text-size * (wepapp)impr:text-size * (wepapp)impr:refactored about us section * (wepapp)impr:new tittles learning section * (wepapp)impr:security section * (wepapp)impr:tittle style and fonts * (wepapp)impr:responsive impr * fix:about section text-18 instead of text-sm * fix:security responsive * fix:hero padding * fix:Final Mobil Tweaks * impr(webapp): landing heros + mob-nav spacing * impr(webapp): landing learn section updated blog links * fix(webapp): info text foreground color * impr(webapp): landing responsiveness * imp(webapp): 3 steps needed responsiveness * chore(webapp): rm duplicate component --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: security updates (#331) * feat(indexer): validate right usdt,usdc address * feat(indexer): wait for finality and trx log * fix(indexer): wrong import * chore(indexer): fix build * chore(webapp): format * feat(webapp): bitlauncher blog category + blog tweaks (#324) * wip: static blog files upt * fix(webapp): blog article file gen + article ui tweaks * chore(webapp): app ver upt + cms gen script * docs: upt cms-ql.sh Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(webapp): app build, missing file --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: format files * fix(webapp): cached files error catch * impr(webapp): static blog file error catch * fix(webapp): static cached file chk * feat: supabase schema and webapp updates (#335) * feat(indexer): add address registration validation * feat: update database schema to support presales * feat: repo/tokens (#336) * chore: update repo packages (#338) * feat: stable coin selector * feat: presale ux ui * chore: repo/contracts pkg * chore: repo/utils pkg * chore: repo/tsconfig pkg * chore: repo/alchemy pkg * chore: repo/jobs pkg * chore: repo/supabase pkg * docs: update readme * chore: update bunlock * chore(indexer): alchemy webhook Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore(alchemy): invert ternary Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore: not nullable values, format code * chore: update node:crypto Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(indexer): alchemy signature validation Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: fix build (#339) * feat: validate user registration on event proxy (#340) * chore: fix imports * feat(indexer): validate user is registered * feat: add presale deposit checks (#341) * feat(indexer): is registered address * feat(indexer): validate amount and timing * wip(webapp): update project, presale and auction pages * chore(webapp): improve error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: realtime presale data (#342) * feat: real time presale data * feat: real time presale data * fix(webapp): header margin (#343) * webapp:fix margin top * webapp:add header tag * webapp:fix margin top * webapp:add md top * webapp:add md top * webapp:fix project tittle + pills responsive --------- Co-authored-by: Leandro Gavidia Santamaria <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <[email protected]> * chore(fix): update apps/trigger package.json dep * fix: cms gen merged files + use-session table upt + trigger/tsconfig upt * fix: registration logic and indexer checks (#347) * feat(indexer): check if address already bought * fix(webapp): registration logic * chore: update bunlock * fix(webapp): arrow icon * fix(webapp): arrow icon * feat: upsert accounts table on login * fix(webapp): move accounts to session hook * feat: webapp/hotfix bl project status tag (#348) * fix(webapp): tablet/small-screen header breakpoint * impr(webapp): project page hero + blog links upt * fix(webapp): project badge text upt * content(webapp): token sale date tbd * fix(webapp): hero title size (#350) * fix(webapp): hero title size * impr(webapp): share link toaster msg * chore: presale hardcoded txt tweak * impr(webapp): tailwindcss accent colour upt (#352) * chore(webapp): learn section content upt (#354) * chore: presale texts revisions (#351) * chore: add @types/uuid * chore: add @types/uuid * fix(app-lib): tsconfig pkg extends * fix: missing encoding dep * feat: sitemap (#290) * feat: add sitemap * fix: error handling * fix: move common types * fix: update base url in sitemap * Update apps/webapp/app/(routes)/[lang]/blog/[category]/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/wallet/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/whitepaper/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: build error * fix: remove unnecessary async declarative * vendor: add @types/uuid * fix: remove console log for debug * fix: add 'async' to all sitemaps * fix: make ProjectPageParams extends CommonPageParams --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix(webapp): UI/UX tweaks and upts from final v1 landing designs (#291) * (webapp)fix:FAQ border radi + muted color * (webapp)fix:newsletter spacing * (webapp)fix:participate spacing and font family * (webapp)fix:header spacing + bitlauncher logo size * (webapp)fix:blog section 4 per row + purple link + gap * (webapp)fix:hero-card spacing * (webapp)fix:auction-card spaces * (webapp)fix:Upcoming grid gap * (webapp)fix:article card - text-left * (webapp)fix:media-card text-start * (webapp)fix:media-section purple link + space * (webapp)fix:participate gap + section font and padding * (webapp)fix:footer links padding + other spacing fix * (webapp)fix:upcoming background circle * (webapp)fix:footer margin-10 * (webapp)fix:upcoming bg shape * (webapp)-andler-changes-request * (webapp)-debug-toggle navigation icon * (webapp)-create-mobile-navigation-context * (webapp)-create-mobile-navigation-context * (webapp)-fix navigation bug - add key * (webapp)-Andler-changes * (webapp)-responsive - upcoming * (webapp)-fix-responsive-whychooseUs * (webapp)-fix-responsive-participate * (webapp)-fix-responsive-media * (webapp)-fix-responsive-articles * (webapp)-responsive-project-header+info+sharebtn * (webapp)-feat-about-base * (webapp)-feat-about-landing-complete * (webapp)-feat-security-updated * (webapp)-fix-steps-padding * fix typo * fix bgHeader type * fix bgHeader type * impr(webapp): layout tweaks * impr(webapp): info pages img asset + css class * fix: bun.lockb --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: multichain indexer ( part 1 ) (#293) * chore: update app-contracts * feat: multichain indexer * feat: prod chains * feat: presale wallet * feat: blpl token * feat: blpl token * chore: update bunlock * feat: blpl token * feat: presale evm contribs * feat: blpl token * wip: presale indexer * chore(indexer): fix dockerfile * feat: presale transaction indexing (#296) * feat: report transaction id * feat: save deposits data * feat: save deposits data * feat: read presale transactions * chore: disable view all * feat: update presale deposits ui * feat: display amount raised and contributors * chore: environment chains and tokens * fix(webapp): desktop padding (#297) * feat: multichain presale deposits (#298) * chore: environment chains and tokens * fix: chain switch * fix: chain switch * feat: update nav links (#299) * chore: environment chains and tokens * feat: update nav links * chore: renable swaps service, index token from latest block * feat(webapp): wallet ui updates (#300) * fix: wagmi config * feat(webapp): presale contribution report * feat: realtime presale data * feat: realtime presale data * feat: update dropdown menu * feat(supabase): update schema and types * chore: debug presale token issuance * feat: show issuance trx link on table * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <[email protected]> * impr(webapp): upt mob ver of more info cards (#294) (#305) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Leandro Gavidia Santamaria <[email protected]> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep * chore: august 2nd release [at TEST] (#315) * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <[email protected]> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep --------- Co-authored-by: Leandro Gavidia Santamaria <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: merge typo * fix: tailwind font config * fix(indexer): trust proxy * feat: token issuance trigger part 2 (#321) * chore(alchemy): use gcloud endpoint * docs(alchemy): update readme file * docs(indexer): update readme file * debug(indexer): gcloud automated deployment * chore(alchemy): env values validation * chore(indexer): improve logging * chore(indexer): improve logging * chore(indexer): stringify all logs * debug(indexer): disable alchemy signature validation * debug(indexer): disable alchemy signature validation * chore(indexer): validate env and use trigger secret * debug(faucet): save dist/ empty folder in git * chore: update deps * chore: improve env validations * fix(alchemy): wrong import * chore(indexer): improve logging * debug(indexer): alchemy webhook handler * debug(indexer): disable helmet * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * feat(indexer): alchemy signature middleware * feat(indexer): validate alchemy signature * chore(indexer): security improvements (#323) * chore(indexer): disable alchemy validation * feat: presale token issuance part 3 (#325) * chore(alchemy): export types * chore(indexer): log process event id * chore(indexer): log process event id * chore: prod network conig, validate networks * wip(indexer): validate before triggering * chore: add try catch Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: clean up * devops(indexer): update dockerfile * chore: format code * devops: remove lhci reports * fix(indexer): wrong import * feat(trigger): transfer blpl token (#327) * feat(trigger): transfer blpl token * docs(trigger): token issuance jsdocs Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * devops(indexer): update dockerfile * chore: remove type:module (#329) * chore: remove type:module * chore: remove type:module * devops(indexer): test deployment * devops(indexer): test deployment * chore(supabase): use module * feat(trigger): presale token issuance * chore: format * chore: use type:module for monorepo * impr(webapp): add multibase provider (#326) * config: create multibase provider * chore: update multibase env variable * impr(webapp): UI Update (#314) * (wepapp)impr:landing distribution + filenames * (wepapp)impr:auction card badge * (wepapp)impr:steps pading + new text-size * (wepapp)impr:text-size * (wepapp)impr:refactored about us section * (wepapp)impr:new tittles learning section * (wepapp)impr:security section * (wepapp)impr:tittle style and fonts * (wepapp)impr:responsive impr * fix:about section text-18 instead of text-sm * fix:security responsive * fix:hero padding * fix:Final Mobil Tweaks * impr(webapp): landing heros + mob-nav spacing * impr(webapp): landing learn section updated blog links * fix(webapp): info text foreground color * impr(webapp): landing responsiveness * imp(webapp): 3 steps needed responsiveness * chore(webapp): rm duplicate component --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: security updates (#331) * feat(indexer): validate right usdt,usdc address * feat(indexer): wait for finality and trx log * fix(indexer): wrong import * chore(indexer): fix build * chore(webapp): format * feat(webapp): bitlauncher blog category + blog tweaks (#324) * wip: static blog files upt * fix(webapp): blog article file gen + article ui tweaks * chore(webapp): app ver upt + cms gen script * docs: upt cms-ql.sh Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(webapp): app build, missing file --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: format files * fix(webapp): cached files error catch * impr(webapp): static blog file error catch * fix(webapp): static cached file chk * feat: supabase schema and webapp updates (#335) * feat(indexer): add address registration validation * feat: update database schema to support presales * feat: repo/tokens (#336) * chore: update repo packages (#338) * feat: stable coin selector * feat: presale ux ui * chore: repo/contracts pkg * chore: repo/utils pkg * chore: repo/tsconfig pkg * chore: repo/alchemy pkg * chore: repo/jobs pkg * chore: repo/supabase pkg * docs: update readme * chore: update bunlock * chore(indexer): alchemy webhook Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore(alchemy): invert ternary Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore: not nullable values, format code * chore: update node:crypto Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(indexer): alchemy signature validation Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: fix build (#339) * feat: validate user registration on event proxy (#340) * chore: fix imports * feat(indexer): validate user is registered * feat: add presale deposit checks (#341) * feat(indexer): is registered address * feat(indexer): validate amount and timing * wip(webapp): update project, presale and auction pages * chore(webapp): improve error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: realtime presale data (#342) * feat: real time presale data * feat: real time presale data * fix(webapp): header margin (#343) * webapp:fix margin top * webapp:add header tag * webapp:fix margin top * webapp:add md top * webapp:add md top * webapp:fix project tittle + pills responsive * chore: august 3rd release [pre-prod] (#334) * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <[email protected]> * fix(impr): verify font-style and text wording across landing (#309) * fix(impr): verify font-style across landing * fix(webapp): lufga bold font config * fix(webapp): investor wording to contributor on texts * fix(webapp): investors wording to contributors on texts (plural) * chore(webapp): text, invest wording upt to contribute * config: add multibase custom hook (#310) * config: add multibase custom hook * chore: update multibase hook and session hook * chore: change inverted params * impr(fix): multibase init call --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: referral section ui - ver 0.1a (#311) * chore(webapp): update gitignore * chore: update cursor agent rules * fix: action example on cursor rules * fix: action example on cursor rules * fix: action example on cursor rules * feat(webapp): use dynamic loading in homepage (#313) * feat: token issuance with trigger.dev and alchemy hooks - part 1 (#312) * feat: alchemy transfer hooks * feat(trigger): listen token transfers * feat(app-lib): add pino logger * feat(trigger): address activity handler * feat(indexer): security updates and alchemy proxy * fix(webapp): logger bug * chore(indexer): sentry middleware and app config * chore(indexer): cleanup * chore: update bunlock * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * feat(indexer): trigger address activity job (#316) * impr(webapp): check short link gen (#301) * fix(webapp): desktop padding * wip(imp): check user share link * fix(webapp): error var name scope * chore: updating supabase schema & types * feat(webapp): user table short link + session upsert * chore: use biome 🚀 (#317) * chore: use biome * chore: use biome * chore(indexer): verify call with alchemy signing key (#318) * devops(indexer): update dockerfile * chore(indexer): cleanup * chore: update gitignore * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * debug(indexer): gcloud deployment * fix(trigger): install right trigger.dev dep * fix(indexer): trust proxy * feat: token issuance trigger part 2 (#321) * chore(alchemy): use gcloud endpoint * docs(alchemy): update readme file * docs(indexer): update readme file * debug(indexer): gcloud automated deployment * chore(alchemy): env values validation * chore(indexer): improve logging * chore(indexer): improve logging * chore(indexer): stringify all logs * debug(indexer): disable alchemy signature validation * debug(indexer): disable alchemy signature validation * chore(indexer): validate env and use trigger secret * debug(faucet): save dist/ empty folder in git * chore: update deps * chore: improve env validations * fix(alchemy): wrong import * chore(indexer): improve logging * debug(indexer): alchemy webhook handler * debug(indexer): disable helmet * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * debug(indexer): alchemy hook handler * feat(indexer): alchemy signature middleware * feat(indexer): validate alchemy signature * chore(indexer): security improvements (#323) * chore(indexer): disable alchemy validation * feat: presale token issuance part 3 (#325) * chore(alchemy): export types * chore(indexer): log process event id * chore(indexer): log process event id * chore: prod network conig, validate networks * wip(indexer): validate before triggering * chore: add try catch Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: clean up * devops(indexer): update dockerfile * chore: format code * devops: remove lhci reports * fix(indexer): wrong import * feat(trigger): transfer blpl token (#327) * feat(trigger): transfer blpl token * docs(trigger): token issuance jsdocs Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * devops(indexer): update dockerfile * chore: remove type:module (#329) * chore: remove type:module * chore: remove type:module * devops(indexer): test deployment * devops(indexer): test deployment * chore(supabase): use module * feat(trigger): presale token issuance * chore: format * chore: use type:module for monorepo * impr(webapp): add multibase provider (#326) * config: create multibase provider * chore: update multibase env variable * impr(webapp): UI Update (#314) * (wepapp)impr:landing distribution + filenames * (wepapp)impr:auction card badge * (wepapp)impr:steps pading + new text-size * (wepapp)impr:text-size * (wepapp)impr:refactored about us section * (wepapp)impr:new tittles learning section * (wepapp)impr:security section * (wepapp)impr:tittle style and fonts * (wepapp)impr:responsive impr * fix:about section text-18 instead of text-sm * fix:security responsive * fix:hero padding * fix:Final Mobil Tweaks * impr(webapp): landing heros + mob-nav spacing * impr(webapp): landing learn section updated blog links * fix(webapp): info text foreground color * impr(webapp): landing responsiveness * imp(webapp): 3 steps needed responsiveness * chore(webapp): rm duplicate component --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: security updates (#331) * feat(indexer): validate right usdt,usdc address * feat(indexer): wait for finality and trx log * fix(indexer): wrong import * chore(indexer): fix build * chore(webapp): format * feat(webapp): bitlauncher blog category + blog tweaks (#324) * wip: static blog files upt * fix(webapp): blog article file gen + article ui tweaks * chore(webapp): app ver upt + cms gen script * docs: upt cms-ql.sh Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): upt /services/datocms/datocms-blog.service.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(webapp): app build, missing file --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: format files * fix(webapp): cached files error catch * impr(webapp): static blog file error catch * fix(webapp): static cached file chk * feat: supabase schema and webapp updates (#335) * feat(indexer): add address registration validation * feat: update database schema to support presales * feat: repo/tokens (#336) * chore: update repo packages (#338) * feat: stable coin selector * feat: presale ux ui * chore: repo/contracts pkg * chore: repo/utils pkg * chore: repo/tsconfig pkg * chore: repo/alchemy pkg * chore: repo/jobs pkg * chore: repo/supabase pkg * docs: update readme * chore: update bunlock * chore(indexer): alchemy webhook Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * docs: update readme Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore(alchemy): invert ternary Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * chore: not nullable values, format code * chore: update node:crypto Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(indexer): alchemy signature validation Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: fix build (#339) * feat: validate user registration on event proxy (#340) * chore: fix imports * feat(indexer): validate user is registered * feat: add presale deposit checks (#341) * feat(indexer): is registered address * feat(indexer): validate amount and timing * wip(webapp): update project, presale and auction pages * chore(webapp): improve error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: realtime presale data (#342) * feat: real time presale data * feat: real time presale data * fix(webapp): header margin (#343) * webapp:fix margin top * webapp:add header tag * webapp:fix margin top * webapp:add md top * webapp:add md top * webapp:fix project tittle + pills responsive --------- Co-authored-by: Leandro Gavidia Santamaria <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <[email protected]> * chore(fix): update apps/trigger package.json dep * fix: cms gen merged files + use-session table upt + trigger/tsconfig upt * fix: registration logic and indexer checks (#347) * feat(indexer): check if address already bought * fix(webapp): registration logic * chore: update bunlock * fix(webapp): arrow icon * fix(webapp): arrow icon * feat: upsert accounts table on login * fix(webapp): move accounts to session hook * feat: webapp/hotfix bl project status tag (#348) * fix(webapp): tablet/small-screen header breakpoint * impr(webapp): project page hero + blog links upt * fix(webapp): project badge text upt * content(webapp): token sale date tbd * fix(webapp): hero title size (#350) * fix(webapp): hero title size * impr(webapp): share link toaster msg * chore: presale hardcoded txt tweak --------- Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: Nathanael Liu <[email protected]> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <[email protected]> Co-authored-by: Leandro Gavidia Santamaria <[email protected]> Co-authored-by: Gabo Esquivel <[email protected]> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(webapp): tailwindcss accent colours + landing hero accent colour upt (#353) * chore: add @types/uuid * chore: add @types/uuid * fix(app-lib): tsconfig pkg extends * fix: missing encoding dep * feat: sitemap (#290) * feat: add sitemap * fix: error handling * fix: move common types * fix: update base url in sitemap * Update apps/webapp/app/(routes)/[lang]/blog/[category]/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/wallet/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Update apps/webapp/app/(routes)/[lang]/whitepaper/sitemap.ts Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix: build error * fix: remove unnecessary async declarative * vendor: add @types/uuid * fix: remove console log for debug * fix: add 'async' to all sitemaps * fix: make ProjectPageParams extends CommonPageParams --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * fix(webapp): UI/UX tweaks and upts from final v1 landing designs (#291) * (webapp)fix:FAQ border radi + muted color * (webapp)fix:newsletter spacing * (webapp)fix:participate spacing and font family * (webapp)fix:header spacing + bitlauncher logo size * (webapp)fix:blog section 4 per row + purple link + gap * (webapp)fix:hero-card spacing * (webapp)fix:auction-card spaces * (webapp)fix:Upcoming grid gap * (webapp)fix:article card - text-left * (webapp)fix:media-card text-start * (webapp)fix:media-section purple link + space * (webapp)fix:participate gap + section font and padding * (webapp)fix:footer links padding + other spacing fix * (webapp)fix:upcoming background circle * (webapp)fix:footer margin-10 * (webapp)fix:upcoming bg shape * (webapp)-andler-changes-request * (webapp)-debug-toggle navigation icon * (webapp)-create-mobile-navigation-context * (webapp)-create-mobile-navigation-context * (webapp)-fix navigation bug - add key * (webapp)-Andler-changes * (webapp)-responsive - upcoming * (webapp)-fix-responsive-whychooseUs * (webapp)-fix-responsive-participate * (webapp)-fix-responsive-media * (webapp)-fix-responsive-articles * (webapp)-responsive-project-header+info+sharebtn * (webapp)-feat-about-base * (webapp)-feat-about-landing-complete * (webapp)-feat-security-updated * (webapp)-fix-steps-padding * fix typo * fix bgHeader type * fix bgHeader type * impr(webapp): layout tweaks * impr(webapp): info pages img asset + css class * fix: bun.lockb --------- Co-authored-by: Roberto Lucas <[email protected]> * feat: multichain indexer ( part 1 ) (#293) * chore: update app-contracts * feat: multichain indexer * feat: prod chains * feat: presale wallet * feat: blpl token * feat: blpl token * chore: update bunlock * feat: blpl token * feat: presale evm contribs * feat: blpl token * wip: presale indexer * chore(indexer): fix dockerfile * feat: presale transaction indexing (#296) * feat: report transaction id * feat: save deposits data * feat: save deposits data * feat: read presale transactions * chore: disable view all * feat: update presale deposits ui * feat: display amount raised and contributors * chore: environment chains and tokens * fix(webapp): desktop padding (#297) * feat: multichain presale deposits (#298) * chore: environment chains and tokens * fix: chain switch * fix: chain switch * feat: update nav links (#299) * chore: environment chains and tokens * feat: update nav links * chore: renable swaps service, index token from latest block * feat(webapp): wallet ui updates (#300) * fix: wagmi config * feat(webapp): presale contribution report * feat: realtime presale data * feat: realtime presale data * feat: update dropdown menu * feat(supabase): update schema and types * chore: debug presale token issuance * feat: show issuance trx link on table * impr(webapp): upt mob ver of more info cards (#294) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl files * chore: replace bc files with bl files --------- Co-authored-by: Roberto Lucas <[email protected]> * impr(webapp): upt mob ver of more info cards (#294) (#305) * styles: update mobile version for information cards of home page * styles: use tailwind css variables * styles: add font family futura pt * styles, config: add cornflowerblue variables on tailwind config and update information cards' background * config: update font importation * chore: replace BC with BL * chore: replace bc files with bl…
Summary by Sourcery
This pull request introduces a multichain indexer, refactors the directory structure to categorize contracts by type and chain, and adds chain information to EVM token contract data. It also removes outdated contract files and consolidates them into a more organized structure.
Summary by CodeRabbit
New Features
chain
property to several contract data objects, providing clearer context regarding the blockchain network associated with each contract.appContracts
object for organized access to application contracts.TestnetBLPL
token configuration added for the Bitlauncher Prelaunch Token on the EOS EVM testnet.Bug Fixes
Refactor
Types
chain
property in interfaces, supporting multi-chain functionalities.