@andrewkimjoseph/celina-sdk 0.15.1 → 0.15.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/config/celina-tag.d.ts +5 -0
- package/build/config/celina-tag.js +67 -3
- package/build/config/celina-tag.js.map +1 -1
- package/build/index.d.ts +1 -1
- package/build/index.js +1 -1
- package/build/index.js.map +1 -1
- package/build/src/a2a/agent-card.d.ts +37 -0
- package/build/src/a2a/agent-card.js +46 -0
- package/build/src/a2a/agent-card.js.map +1 -0
- package/build/src/a2a/index.d.ts +2 -0
- package/build/src/a2a/index.js +3 -0
- package/build/src/a2a/index.js.map +1 -0
- package/build/src/a2a/skills.d.ts +18 -0
- package/build/src/a2a/skills.js +106 -0
- package/build/src/a2a/skills.js.map +1 -0
- package/build/src/aa/create-aa-client.d.ts +44 -0
- package/build/src/aa/create-aa-client.js +115 -0
- package/build/src/aa/create-aa-client.js.map +1 -0
- package/build/src/aa/gas-sponsorship.d.ts +27 -0
- package/build/src/aa/gas-sponsorship.js +65 -0
- package/build/src/aa/gas-sponsorship.js.map +1 -0
- package/build/src/aa/index.d.ts +4 -0
- package/build/src/aa/index.js +4 -0
- package/build/src/aa/index.js.map +1 -0
- package/build/src/aa/prepared-calls.d.ts +8 -0
- package/build/src/aa/prepared-calls.js +27 -0
- package/build/src/aa/prepared-calls.js.map +1 -0
- package/build/src/aa/types.d.ts +61 -0
- package/build/src/aa/types.js +2 -0
- package/build/src/aa/types.js.map +1 -0
- package/build/src/abis/aave-pool.d.ts +37 -0
- package/build/src/abis/aave-pool.js +26 -0
- package/build/src/abis/aave-pool.js.map +1 -0
- package/build/src/abis/accounts.d.ts +13 -0
- package/build/src/abis/accounts.js +10 -0
- package/build/src/abis/accounts.js.map +1 -0
- package/build/src/abis/election.d.ts +124 -0
- package/build/src/abis/election.js +88 -0
- package/build/src/abis/election.js.map +1 -0
- package/build/src/abis/gooddollar-broker.d.ts +77 -0
- package/build/src/abis/gooddollar-broker.js +44 -0
- package/build/src/abis/gooddollar-broker.js.map +1 -0
- package/build/src/abis/gooddollar-identity.d.ts +85 -0
- package/build/src/abis/gooddollar-identity.js +52 -0
- package/build/src/abis/gooddollar-identity.js.map +1 -0
- package/build/src/abis/governance.d.ts +86 -0
- package/build/src/abis/governance.js +68 -0
- package/build/src/abis/governance.js.map +1 -0
- package/build/src/abis/locked-gold.d.ts +10 -0
- package/build/src/abis/locked-gold.js +10 -0
- package/build/src/abis/locked-gold.js.map +1 -0
- package/build/src/abis/nft.d.ts +107 -0
- package/build/src/abis/nft.js +75 -0
- package/build/src/abis/nft.js.map +1 -0
- package/build/src/abis/permit2.d.ts +43 -0
- package/build/src/abis/permit2.js +30 -0
- package/build/src/abis/permit2.js.map +1 -0
- package/build/src/abis/self-registry.d.ts +194 -0
- package/build/src/abis/self-registry.js +120 -0
- package/build/src/abis/self-registry.js.map +1 -0
- package/build/src/abis/ubi-scheme.d.ts +91 -0
- package/build/src/abis/ubi-scheme.js +66 -0
- package/build/src/abis/ubi-scheme.js.map +1 -0
- package/build/src/abis/uniswap-state-view.d.ts +34 -0
- package/build/src/abis/uniswap-state-view.js +22 -0
- package/build/src/abis/uniswap-state-view.js.map +1 -0
- package/build/src/abis/uniswap-v4-quoter.d.ts +86 -0
- package/build/src/abis/uniswap-v4-quoter.js +64 -0
- package/build/src/abis/uniswap-v4-quoter.js.map +1 -0
- package/build/src/abis/universal-router.d.ts +16 -0
- package/build/src/abis/universal-router.js +14 -0
- package/build/src/abis/universal-router.js.map +1 -0
- package/build/src/abis/validators-minimal.d.ts +65 -0
- package/build/src/abis/validators-minimal.js +39 -0
- package/build/src/abis/validators-minimal.js.map +1 -0
- package/build/src/analytics/amplitude.d.ts +11 -0
- package/build/src/analytics/amplitude.js +76 -0
- package/build/src/analytics/amplitude.js.map +1 -0
- package/build/src/analytics/config.d.ts +7 -0
- package/build/src/analytics/config.js +25 -0
- package/build/src/analytics/config.js.map +1 -0
- package/build/src/analytics/consumer-package.d.ts +9 -0
- package/build/src/analytics/consumer-package.js +143 -0
- package/build/src/analytics/consumer-package.js.map +1 -0
- package/build/src/analytics/mcp-tool-events.d.ts +5 -0
- package/build/src/analytics/mcp-tool-events.js +53 -0
- package/build/src/analytics/mcp-tool-events.js.map +1 -0
- package/build/src/analytics/wallet-context.d.ts +11 -0
- package/build/src/analytics/wallet-context.js +81 -0
- package/build/src/analytics/wallet-context.js.map +1 -0
- package/build/src/analytics/wallet-extract.d.ts +9 -0
- package/build/src/analytics/wallet-extract.js +21 -0
- package/build/src/analytics/wallet-extract.js.map +1 -0
- package/build/src/analytics/wrap-service.d.ts +5 -0
- package/build/src/analytics/wrap-service.js +38 -0
- package/build/src/analytics/wrap-service.js.map +1 -0
- package/build/src/clients/celo-client.d.ts +19 -0
- package/build/src/clients/celo-client.js +32 -0
- package/build/src/clients/celo-client.js.map +1 -0
- package/build/src/clients/ens-client.d.ts +17 -0
- package/build/src/clients/ens-client.js +30 -0
- package/build/src/clients/ens-client.js.map +1 -0
- package/build/src/clients/mento-sdk.d.ts +2 -0
- package/build/src/clients/mento-sdk.js +9 -0
- package/build/src/clients/mento-sdk.js.map +1 -0
- package/build/src/clients/self-api.d.ts +82 -0
- package/build/src/clients/self-api.js +242 -0
- package/build/src/clients/self-api.js.map +1 -0
- package/build/src/clients/uniswap-sdk.d.ts +4 -0
- package/build/src/clients/uniswap-sdk.js +13 -0
- package/build/src/clients/uniswap-sdk.js.map +1 -0
- package/build/src/config/aave.d.ts +17 -0
- package/build/src/config/aave.js +77 -0
- package/build/src/config/aave.js.map +1 -0
- package/build/src/config/celina-tag.d.ts +55 -0
- package/build/src/config/celina-tag.js +234 -0
- package/build/src/config/celina-tag.js.map +1 -0
- package/build/src/config/celo-core-contracts.d.ts +8 -0
- package/build/src/config/celo-core-contracts.js +9 -0
- package/build/src/config/celo-core-contracts.js.map +1 -0
- package/build/src/config/chains.d.ts +937 -0
- package/build/src/config/chains.js +319 -0
- package/build/src/config/chains.js.map +1 -0
- package/build/src/config/gooddollar.d.ts +16 -0
- package/build/src/config/gooddollar.js +24 -0
- package/build/src/config/gooddollar.js.map +1 -0
- package/build/src/config/sdk-config.d.ts +44 -0
- package/build/src/config/sdk-config.js +28 -0
- package/build/src/config/sdk-config.js.map +1 -0
- package/build/src/config/self.d.ts +22 -0
- package/build/src/config/self.js +27 -0
- package/build/src/config/self.js.map +1 -0
- package/build/src/config/uniswap.d.ts +42 -0
- package/build/src/config/uniswap.js +76 -0
- package/build/src/config/uniswap.js.map +1 -0
- package/build/src/index.d.ts +127 -0
- package/build/src/index.js +72 -0
- package/build/src/index.js.map +1 -0
- package/build/src/oasf/index.d.ts +2 -0
- package/build/src/oasf/index.js +3 -0
- package/build/src/oasf/index.js.map +1 -0
- package/build/src/oasf/record.d.ts +39 -0
- package/build/src/oasf/record.js +35 -0
- package/build/src/oasf/record.js.map +1 -0
- package/build/src/oasf/taxonomy.d.ts +19 -0
- package/build/src/oasf/taxonomy.js +46 -0
- package/build/src/oasf/taxonomy.js.map +1 -0
- package/build/src/services/aave.service.d.ts +59 -0
- package/build/src/services/aave.service.js +210 -0
- package/build/src/services/aave.service.js.map +1 -0
- package/build/src/services/account.service.d.ts +22 -0
- package/build/src/services/account.service.js +29 -0
- package/build/src/services/account.service.js.map +1 -0
- package/build/src/services/agentkarma.service.d.ts +89 -0
- package/build/src/services/agentkarma.service.js +102 -0
- package/build/src/services/agentkarma.service.js.map +1 -0
- package/build/src/services/blockchain.service.d.ts +126 -0
- package/build/src/services/blockchain.service.js +188 -0
- package/build/src/services/blockchain.service.js.map +1 -0
- package/build/src/services/contract.service.d.ts +78 -0
- package/build/src/services/contract.service.js +117 -0
- package/build/src/services/contract.service.js.map +1 -0
- package/build/src/services/ens.service.d.ts +44 -0
- package/build/src/services/ens.service.js +92 -0
- package/build/src/services/ens.service.js.map +1 -0
- package/build/src/services/gooddollar.service.d.ts +184 -0
- package/build/src/services/gooddollar.service.js +675 -0
- package/build/src/services/gooddollar.service.js.map +1 -0
- package/build/src/services/governance.service.d.ts +96 -0
- package/build/src/services/governance.service.js +255 -0
- package/build/src/services/governance.service.js.map +1 -0
- package/build/src/services/mento-fx.service.d.ts +81 -0
- package/build/src/services/mento-fx.service.js +318 -0
- package/build/src/services/mento-fx.service.js.map +1 -0
- package/build/src/services/nft.service.d.ts +58 -0
- package/build/src/services/nft.service.js +222 -0
- package/build/src/services/nft.service.js.map +1 -0
- package/build/src/services/self-session-store.d.ts +19 -0
- package/build/src/services/self-session-store.js +28 -0
- package/build/src/services/self-session-store.js.map +1 -0
- package/build/src/services/self.service.d.ts +241 -0
- package/build/src/services/self.service.js +699 -0
- package/build/src/services/self.service.js.map +1 -0
- package/build/src/services/staking.service.d.ts +140 -0
- package/build/src/services/staking.service.js +444 -0
- package/build/src/services/staking.service.js.map +1 -0
- package/build/src/services/token.service.d.ts +110 -0
- package/build/src/services/token.service.js +189 -0
- package/build/src/services/token.service.js.map +1 -0
- package/build/src/services/transaction.service.d.ts +69 -0
- package/build/src/services/transaction.service.js +197 -0
- package/build/src/services/transaction.service.js.map +1 -0
- package/build/src/services/uniswap-path-router.d.ts +40 -0
- package/build/src/services/uniswap-path-router.js +168 -0
- package/build/src/services/uniswap-path-router.js.map +1 -0
- package/build/src/services/uniswap-pool-discovery.d.ts +55 -0
- package/build/src/services/uniswap-pool-discovery.js +198 -0
- package/build/src/services/uniswap-pool-discovery.js.map +1 -0
- package/build/src/services/uniswap.service.d.ts +83 -0
- package/build/src/services/uniswap.service.js +352 -0
- package/build/src/services/uniswap.service.js.map +1 -0
- package/build/src/simulation/index.d.ts +5 -0
- package/build/src/simulation/index.js +2 -0
- package/build/src/simulation/index.js.map +1 -0
- package/build/src/simulation/simulate-prepared-step.d.ts +17 -0
- package/build/src/simulation/simulate-prepared-step.js +42 -0
- package/build/src/simulation/simulate-prepared-step.js.map +1 -0
- package/build/src/tools/catalog.d.ts +11 -0
- package/build/src/tools/catalog.js +43 -0
- package/build/src/tools/catalog.js.map +1 -0
- package/build/src/tools/domains/aave.d.ts +2 -0
- package/build/src/tools/domains/aave.js +115 -0
- package/build/src/tools/domains/aave.js.map +1 -0
- package/build/src/tools/domains/agentkarma.d.ts +2 -0
- package/build/src/tools/domains/agentkarma.js +92 -0
- package/build/src/tools/domains/agentkarma.js.map +1 -0
- package/build/src/tools/domains/blockchain.d.ts +2 -0
- package/build/src/tools/domains/blockchain.js +122 -0
- package/build/src/tools/domains/blockchain.js.map +1 -0
- package/build/src/tools/domains/browser.d.ts +2 -0
- package/build/src/tools/domains/browser.js +45 -0
- package/build/src/tools/domains/browser.js.map +1 -0
- package/build/src/tools/domains/contract.d.ts +2 -0
- package/build/src/tools/domains/contract.js +67 -0
- package/build/src/tools/domains/contract.js.map +1 -0
- package/build/src/tools/domains/ens.d.ts +2 -0
- package/build/src/tools/domains/ens.js +16 -0
- package/build/src/tools/domains/ens.js.map +1 -0
- package/build/src/tools/domains/gooddollar.d.ts +2 -0
- package/build/src/tools/domains/gooddollar.js +171 -0
- package/build/src/tools/domains/gooddollar.js.map +1 -0
- package/build/src/tools/domains/governance.d.ts +2 -0
- package/build/src/tools/domains/governance.js +41 -0
- package/build/src/tools/domains/governance.js.map +1 -0
- package/build/src/tools/domains/index.d.ts +1 -0
- package/build/src/tools/domains/index.js +33 -0
- package/build/src/tools/domains/index.js.map +1 -0
- package/build/src/tools/domains/mento-fx.d.ts +2 -0
- package/build/src/tools/domains/mento-fx.js +67 -0
- package/build/src/tools/domains/mento-fx.js.map +1 -0
- package/build/src/tools/domains/nft.d.ts +2 -0
- package/build/src/tools/domains/nft.js +38 -0
- package/build/src/tools/domains/nft.js.map +1 -0
- package/build/src/tools/domains/self.d.ts +2 -0
- package/build/src/tools/domains/self.js +187 -0
- package/build/src/tools/domains/self.js.map +1 -0
- package/build/src/tools/domains/staking.d.ts +2 -0
- package/build/src/tools/domains/staking.js +74 -0
- package/build/src/tools/domains/staking.js.map +1 -0
- package/build/src/tools/domains/token.d.ts +2 -0
- package/build/src/tools/domains/token.js +74 -0
- package/build/src/tools/domains/token.js.map +1 -0
- package/build/src/tools/domains/transaction.d.ts +2 -0
- package/build/src/tools/domains/transaction.js +120 -0
- package/build/src/tools/domains/transaction.js.map +1 -0
- package/build/src/tools/domains/uniswap.d.ts +2 -0
- package/build/src/tools/domains/uniswap.js +67 -0
- package/build/src/tools/domains/uniswap.js.map +1 -0
- package/build/src/tools/filter.d.ts +2 -0
- package/build/src/tools/filter.js +50 -0
- package/build/src/tools/filter.js.map +1 -0
- package/build/src/tools/index.d.ts +7 -0
- package/build/src/tools/index.js +7 -0
- package/build/src/tools/index.js.map +1 -0
- package/build/src/tools/schemas/common.d.ts +165 -0
- package/build/src/tools/schemas/common.js +207 -0
- package/build/src/tools/schemas/common.js.map +1 -0
- package/build/src/tools/schemas/wallet-params.d.ts +9 -0
- package/build/src/tools/schemas/wallet-params.js +52 -0
- package/build/src/tools/schemas/wallet-params.js.map +1 -0
- package/build/src/tools/swap-routing.d.ts +25 -0
- package/build/src/tools/swap-routing.js +174 -0
- package/build/src/tools/swap-routing.js.map +1 -0
- package/build/src/tools/types.d.ts +124 -0
- package/build/src/tools/types.js +2 -0
- package/build/src/tools/types.js.map +1 -0
- package/build/src/tools/utils/normalize-token.d.ts +2 -0
- package/build/src/tools/utils/normalize-token.js +12 -0
- package/build/src/tools/utils/normalize-token.js.map +1 -0
- package/build/src/tools/utils/wallet.d.ts +4 -0
- package/build/src/tools/utils/wallet.js +8 -0
- package/build/src/tools/utils/wallet.js.map +1 -0
- package/build/src/tools/website-sync.d.ts +28 -0
- package/build/src/tools/website-sync.js +198 -0
- package/build/src/tools/website-sync.js.map +1 -0
- package/build/src/types/prepared.d.ts +43 -0
- package/build/src/types/prepared.js +15 -0
- package/build/src/types/prepared.js.map +1 -0
- package/build/src/utils/celo-format.d.ts +6 -0
- package/build/src/utils/celo-format.js +17 -0
- package/build/src/utils/celo-format.js.map +1 -0
- package/build/src/utils/erc20-allowance-storage.d.ts +20 -0
- package/build/src/utils/erc20-allowance-storage.js +64 -0
- package/build/src/utils/erc20-allowance-storage.js.map +1 -0
- package/build/src/utils/format-date.d.ts +2 -0
- package/build/src/utils/format-date.js +13 -0
- package/build/src/utils/format-date.js.map +1 -0
- package/build/src/utils/format-duration.d.ts +2 -0
- package/build/src/utils/format-duration.js +17 -0
- package/build/src/utils/format-duration.js.map +1 -0
- package/build/src/utils/format-unix-datetime.d.ts +4 -0
- package/build/src/utils/format-unix-datetime.js +18 -0
- package/build/src/utils/format-unix-datetime.js.map +1 -0
- package/build/src/utils/gooddollar-ubi-period.d.ts +23 -0
- package/build/src/utils/gooddollar-ubi-period.js +23 -0
- package/build/src/utils/gooddollar-ubi-period.js.map +1 -0
- package/build/src/utils/normalize-address.d.ts +7 -0
- package/build/src/utils/normalize-address.js +16 -0
- package/build/src/utils/normalize-address.js.map +1 -0
- package/build/src/utils/self-format.d.ts +28 -0
- package/build/src/utils/self-format.js +79 -0
- package/build/src/utils/self-format.js.map +1 -0
- package/build/src/utils/self-signing.d.ts +4 -0
- package/build/src/utils/self-signing.js +38 -0
- package/build/src/utils/self-signing.js.map +1 -0
- package/build/src/utils/transaction-errors.d.ts +3 -0
- package/build/src/utils/transaction-errors.js +17 -0
- package/build/src/utils/transaction-errors.js.map +1 -0
- package/build/tests/catalog/domains/blockchain.d.ts +2 -0
- package/build/tests/catalog/domains/blockchain.js +127 -0
- package/build/tests/catalog/domains/blockchain.js.map +1 -0
- package/build/tests/catalog/domains/chain-ext.d.ts +5 -0
- package/build/tests/catalog/domains/chain-ext.js +207 -0
- package/build/tests/catalog/domains/chain-ext.js.map +1 -0
- package/build/tests/catalog/domains/defi.d.ts +6 -0
- package/build/tests/catalog/domains/defi.js +581 -0
- package/build/tests/catalog/domains/defi.js.map +1 -0
- package/build/tests/catalog/domains/self.d.ts +2 -0
- package/build/tests/catalog/domains/self.js +208 -0
- package/build/tests/catalog/domains/self.js.map +1 -0
- package/build/tests/catalog/domains/token.d.ts +2 -0
- package/build/tests/catalog/domains/token.js +70 -0
- package/build/tests/catalog/domains/token.js.map +1 -0
- package/build/tests/catalog/domains/transaction.d.ts +2 -0
- package/build/tests/catalog/domains/transaction.js +96 -0
- package/build/tests/catalog/domains/transaction.js.map +1 -0
- package/build/tests/catalog/index.d.ts +2 -0
- package/build/tests/catalog/index.js +2 -0
- package/build/tests/catalog/index.js.map +1 -0
- package/build/tests/catalog/operations.d.ts +12 -0
- package/build/tests/catalog/operations.js +29 -0
- package/build/tests/catalog/operations.js.map +1 -0
- package/build/tests/catalog/types.d.ts +24 -0
- package/build/tests/catalog/types.js +2 -0
- package/build/tests/catalog/types.js.map +1 -0
- package/build/tests/fixtures/mainnet.d.ts +54 -0
- package/build/tests/fixtures/mainnet.js +53 -0
- package/build/tests/fixtures/mainnet.js.map +1 -0
- package/build/tests/helpers/assert.d.ts +4 -0
- package/build/tests/helpers/assert.js +24 -0
- package/build/tests/helpers/assert.js.map +1 -0
- package/build/tests/helpers/env.d.ts +12 -0
- package/build/tests/helpers/env.js +29 -0
- package/build/tests/helpers/env.js.map +1 -0
- package/build/tests/helpers/gating.d.ts +3 -0
- package/build/tests/helpers/gating.js +23 -0
- package/build/tests/helpers/gating.js.map +1 -0
- package/build/tests/testing-entry.d.ts +6 -0
- package/build/tests/testing-entry.js +6 -0
- package/build/tests/testing-entry.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const Actions: typeof import("@uniswap/v4-sdk").Actions, V4Planner: typeof import("@uniswap/v4-sdk").V4Planner;
|
|
2
|
+
export declare const CommandType: typeof import("@uniswap/universal-router-sdk").CommandType, RoutePlanner: typeof import("@uniswap/universal-router-sdk").RoutePlanner;
|
|
3
|
+
export declare const ChainId: typeof import("@uniswap/sdk-core").ChainId;
|
|
4
|
+
export type { SwapExactInSingle, SwapExactIn } from "@uniswap/v4-sdk";
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CJS re-exports for @uniswap/v4-sdk and @uniswap/universal-router-sdk.
|
|
3
|
+
* Uses createRequire because upstream ESM builds omit .js extensions on internal imports.
|
|
4
|
+
*/
|
|
5
|
+
import { createRequire } from "node:module";
|
|
6
|
+
const require = createRequire(import.meta.url);
|
|
7
|
+
const v4Sdk = require("@uniswap/v4-sdk");
|
|
8
|
+
const universalRouterSdk = require("@uniswap/universal-router-sdk");
|
|
9
|
+
const sdkCore = require("@uniswap/sdk-core");
|
|
10
|
+
export const { Actions, V4Planner } = v4Sdk;
|
|
11
|
+
export const { CommandType, RoutePlanner } = universalRouterSdk;
|
|
12
|
+
export const { ChainId } = sdkCore;
|
|
13
|
+
//# sourceMappingURL=uniswap-sdk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uniswap-sdk.js","sourceRoot":"","sources":["../../../src/clients/uniswap-sdk.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,MAAM,KAAK,GAAG,OAAO,CAAC,iBAAiB,CAAqC,CAAC;AAC7E,MAAM,kBAAkB,GACtB,OAAO,CAAC,+BAA+B,CAAmD,CAAC;AAC7F,MAAM,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAuC,CAAC;AAEnF,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;AAC5C,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,kBAAkB,CAAC;AAChE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** Aave V3 on Celo mainnet — from bgd-labs/aave-address-book AaveV3Celo */
|
|
2
|
+
export declare const AAVE_POOL: "0x3E59A31363E2ad014dcbc521c4a0d5757d9f3402";
|
|
3
|
+
export declare const AAVE_CHAIN_ID = 42220;
|
|
4
|
+
/** Underlying and aToken addresses for one Aave V3 market on Celo. */
|
|
5
|
+
export type AaveAsset = {
|
|
6
|
+
symbol: string;
|
|
7
|
+
underlying: `0x${string}`;
|
|
8
|
+
aToken: `0x${string}`;
|
|
9
|
+
};
|
|
10
|
+
export declare const AAVE_ASSETS: Record<string, AaveAsset>;
|
|
11
|
+
export declare const AAVE_SUPPORTED_SYMBOLS: readonly ["USDT", "WETH", "USDm", "USDC", "CELO", "EURm"];
|
|
12
|
+
/**
|
|
13
|
+
* Resolve an Aave V3 Celo asset by symbol or underlying/aToken address.
|
|
14
|
+
* @param token - Registry symbol or hex address
|
|
15
|
+
* @throws When the token is not listed in `AAVE_SUPPORTED_SYMBOLS`
|
|
16
|
+
*/
|
|
17
|
+
export declare function resolveAaveAsset(token: string): AaveAsset;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Aave V3 Celo mainnet pool addresses and supported asset registry.
|
|
3
|
+
*/
|
|
4
|
+
import { findKnownToken } from "./chains.js";
|
|
5
|
+
const HEX_ADDRESS_RE = /^0x[a-fA-F0-9]{40}$/;
|
|
6
|
+
/** Aave V3 on Celo mainnet — from bgd-labs/aave-address-book AaveV3Celo */
|
|
7
|
+
export const AAVE_POOL = "0x3E59A31363E2ad014dcbc521c4a0d5757d9f3402";
|
|
8
|
+
export const AAVE_CHAIN_ID = 42220;
|
|
9
|
+
export const AAVE_ASSETS = {
|
|
10
|
+
USDT: {
|
|
11
|
+
symbol: "USDT",
|
|
12
|
+
underlying: "0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e",
|
|
13
|
+
aToken: "0xDeE98402A302e4D707fB9bf2bac66fAEEc31e8Df",
|
|
14
|
+
},
|
|
15
|
+
WETH: {
|
|
16
|
+
symbol: "WETH",
|
|
17
|
+
underlying: "0xD221812de1BD094f35587EE8E174B07B6167D9Af",
|
|
18
|
+
aToken: "0xf385280F36e009C157697D25E0B802EfaBfd789c",
|
|
19
|
+
},
|
|
20
|
+
USDm: {
|
|
21
|
+
symbol: "USDm",
|
|
22
|
+
underlying: "0x765DE816845861e75A25fCA122bb6898B8B1282a",
|
|
23
|
+
aToken: "0xBba98352628B0B0c4b40583F593fFCb630935a45",
|
|
24
|
+
},
|
|
25
|
+
USDC: {
|
|
26
|
+
symbol: "USDC",
|
|
27
|
+
underlying: "0xcebA9300f2b948710d2653dD7B07f33A8B32118C",
|
|
28
|
+
aToken: "0xFF8309b9e99bfd2D4021bc71a362aBD93dBd4785",
|
|
29
|
+
},
|
|
30
|
+
CELO: {
|
|
31
|
+
symbol: "CELO",
|
|
32
|
+
underlying: "0x471EcE3750Da237f93B8E339c536989b8978a438",
|
|
33
|
+
aToken: "0xC3e77dC389537Db1EEc7C33B95Cf3beECA71A209",
|
|
34
|
+
},
|
|
35
|
+
EURm: {
|
|
36
|
+
symbol: "EURm",
|
|
37
|
+
underlying: "0xD8763CBa276a3738E6DE85b4b3bF5FDed6D6cA73",
|
|
38
|
+
aToken: "0x34c02571094e08E935B8cf8dC10F1Ad6795f1f81",
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
export const AAVE_SUPPORTED_SYMBOLS = [
|
|
42
|
+
"USDT",
|
|
43
|
+
"WETH",
|
|
44
|
+
"USDm",
|
|
45
|
+
"USDC",
|
|
46
|
+
"CELO",
|
|
47
|
+
"EURm",
|
|
48
|
+
];
|
|
49
|
+
/**
|
|
50
|
+
* Resolve an Aave V3 Celo asset by symbol or underlying/aToken address.
|
|
51
|
+
* @param token - Registry symbol or hex address
|
|
52
|
+
* @throws When the token is not listed in `AAVE_SUPPORTED_SYMBOLS`
|
|
53
|
+
*/
|
|
54
|
+
export function resolveAaveAsset(token) {
|
|
55
|
+
const normalized = token.trim();
|
|
56
|
+
const known = findKnownToken(normalized);
|
|
57
|
+
if (known) {
|
|
58
|
+
const byKnownSymbol = AAVE_ASSETS[known.symbol];
|
|
59
|
+
if (byKnownSymbol) {
|
|
60
|
+
return byKnownSymbol;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
if (HEX_ADDRESS_RE.test(normalized)) {
|
|
64
|
+
const lower = normalized.toLowerCase();
|
|
65
|
+
const byAddress = Object.values(AAVE_ASSETS).find((asset) => asset.underlying.toLowerCase() === lower ||
|
|
66
|
+
asset.aToken.toLowerCase() === lower);
|
|
67
|
+
if (byAddress) {
|
|
68
|
+
return byAddress;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
const bySymbol = Object.values(AAVE_ASSETS).find((asset) => asset.symbol.toLowerCase() === normalized.toLowerCase());
|
|
72
|
+
if (bySymbol) {
|
|
73
|
+
return bySymbol;
|
|
74
|
+
}
|
|
75
|
+
throw new Error(`Token "${token}" is not supported on Aave V3 Celo. Supported: ${AAVE_SUPPORTED_SYMBOLS.join(", ")}.`);
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=aave.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aave.js","sourceRoot":"","sources":["../../../src/config/aave.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,cAAc,GAAG,qBAAqB,CAAC;AAE7C,2EAA2E;AAC3E,MAAM,CAAC,MAAM,SAAS,GAAG,4CAAqD,CAAC;AAC/E,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC;AASnC,MAAM,CAAC,MAAM,WAAW,GAA8B;IACpD,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,4CAA4C;QACxD,MAAM,EAAE,4CAA4C;KACrD;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,4CAA4C;QACxD,MAAM,EAAE,4CAA4C;KACrD;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,4CAA4C;QACxD,MAAM,EAAE,4CAA4C;KACrD;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,4CAA4C;QACxD,MAAM,EAAE,4CAA4C;KACrD;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,4CAA4C;QACxD,MAAM,EAAE,4CAA4C;KACrD;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,4CAA4C;QACxD,MAAM,EAAE,4CAA4C;KACrD;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;CACE,CAAC;AAEX;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IAEzC,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,aAAa,CAAC;QACvB,CAAC;IACH,CAAC;IAED,IAAI,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAC/C,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,KAAK;YACxC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,CACvC,CAAC;QACF,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAC9C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,WAAW,EAAE,CACnE,CAAC;IACF,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,KAAK,CACb,UAAU,KAAK,kDAAkD,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACtG,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { ERC_8021_MARKER } from "@celo/attribution-tags";
|
|
2
|
+
/** Legacy UTF-8 marker hex(`"CELINA"`) used inside the dual attribution suffix — not the full on-chain tag by itself. Full wire format is legacy `CELINA|…` plus an ERC-8021 Schema 0 suffix; see {@link appendCelinaCalldataTag}. */
|
|
3
|
+
export declare const CELINA_DATA_SUFFIX: `0x${string}`;
|
|
4
|
+
export { ERC_8021_MARKER };
|
|
5
|
+
/** Normalize custom attribution tags while preserving first-seen order. */
|
|
6
|
+
export declare function normalizeAttributionTags(tags?: string[]): string[];
|
|
7
|
+
/** Build deterministic attribution tag string that always starts with `CELINA`. */
|
|
8
|
+
export declare function buildCelinaAttributionTag(tags?: string[]): string;
|
|
9
|
+
/** Map client attribution tags to ERC-8021 Schema 0 codes (lowercase `[a-z0-9_]` only). */
|
|
10
|
+
export declare function toErc8021AttributionCodes(attributionTags?: string[]): string[];
|
|
11
|
+
/** Build ERC-8021 Schema 0 suffix hex for the given attribution tags. */
|
|
12
|
+
export declare function buildErc8021AttributionSuffix(attributionTags?: string[]): `0x${string}`;
|
|
13
|
+
/**
|
|
14
|
+
* Truncate calldata to end at an embedded ERC-8021 Schema 0 suffix when tip parse fails.
|
|
15
|
+
* Tip-of-calldata tags are returned unchanged.
|
|
16
|
+
*/
|
|
17
|
+
export declare function attributionDecodeWindow(data: `0x${string}`): `0x${string}`;
|
|
18
|
+
/** Strip a trailing ERC-8021 Schema 0/2 suffix when present. */
|
|
19
|
+
export declare function stripErc8021SuffixIfPresent(data: `0x${string}`): `0x${string}`;
|
|
20
|
+
/** Parse legacy UTF-8 `CELINA|TAG1|…` suffix from calldata (ignores trailing ERC-8021). */
|
|
21
|
+
export declare function parseCelinaLegacyAttributionSuffix(data: `0x${string}`): string[] | null;
|
|
22
|
+
export type AttributionVerificationResult = {
|
|
23
|
+
legacyTags: string[] | null;
|
|
24
|
+
erc8021: {
|
|
25
|
+
codes: string[];
|
|
26
|
+
schemaId: number;
|
|
27
|
+
} | null;
|
|
28
|
+
matched: boolean;
|
|
29
|
+
};
|
|
30
|
+
/** Verification result plus a unified custom/app `tags` list (excludes platform CELINA/celina). */
|
|
31
|
+
export type AttributionCheckResult = AttributionVerificationResult & {
|
|
32
|
+
tags: string[];
|
|
33
|
+
};
|
|
34
|
+
/** Merge legacy + ERC-8021 codes into custom tags (skips CELINA/celina, dedupes). */
|
|
35
|
+
export declare function collectAttributionTags(legacyTags: string[] | null, erc8021Codes: string[] | null): string[];
|
|
36
|
+
/** Decode legacy and ERC-8021 attribution from calldata; optionally check for a tag. */
|
|
37
|
+
export declare function verifyAttributionInCalldata(data: `0x${string}`, tag?: string): AttributionVerificationResult;
|
|
38
|
+
/**
|
|
39
|
+
* Decode attribution from calldata with a unified custom `tags` list.
|
|
40
|
+
* Prefer this for “what tags are on this tx?”; use {@link verifyAttributionInCalldata} for the raw layers only.
|
|
41
|
+
*/
|
|
42
|
+
export declare function checkAttributionInCalldata(data: `0x${string}`, tag?: string): AttributionCheckResult;
|
|
43
|
+
/**
|
|
44
|
+
* Append dual Celina attribution suffixes to calldata (legacy UTF-8 + ERC-8021).
|
|
45
|
+
*
|
|
46
|
+
* Used by `prepare*` when `createCelinaClient({ attributionTags })` is set, and by
|
|
47
|
+
* `createAAClient({ attributionTags }).sendPreparedFlow` when AA tags are set.
|
|
48
|
+
*
|
|
49
|
+
* @param data - Original transaction calldata.
|
|
50
|
+
* @param attributionTags - Optional custom tags (same list semantics on Celina or AA client).
|
|
51
|
+
* Legacy layer: `CELINA|TAG1|TAG2` (app tags uppercase, `celo_<12 hex>` lowercase).
|
|
52
|
+
* ERC-8021 layer: `toDataSuffix(["celina", ...])` with lowercase codes.
|
|
53
|
+
* Example: `["goclaim"]` → legacy `CELINA|GOCLAIM` + codes `celina`, `goclaim` (not bare UTF-8 `GOCLAIM`).
|
|
54
|
+
*/
|
|
55
|
+
export declare function appendCelinaCalldataTag(data: `0x${string}`, attributionTags?: string[]): `0x${string}`;
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
import { ERC_8021_MARKER, fromDataSuffix, toDataSuffix, } from "@celo/attribution-tags";
|
|
2
|
+
import { concat, hexToString, stringToHex } from "viem";
|
|
3
|
+
/** Legacy UTF-8 marker hex(`"CELINA"`) used inside the dual attribution suffix — not the full on-chain tag by itself. Full wire format is legacy `CELINA|…` plus an ERC-8021 Schema 0 suffix; see {@link appendCelinaCalldataTag}. */
|
|
4
|
+
export const CELINA_DATA_SUFFIX = stringToHex("CELINA");
|
|
5
|
+
export { ERC_8021_MARKER };
|
|
6
|
+
/** Celo Builders on-chain attribution tag: `celo_` + 12 hex chars (lowercase). */
|
|
7
|
+
const CELO_BUILDERS_TAG = /^celo_[0-9a-f]{12}$/i;
|
|
8
|
+
const CELINA_PLATFORM_ERC8021_CODE = "celina";
|
|
9
|
+
function normalizeAttributionTag(tag) {
|
|
10
|
+
const trimmed = tag.trim();
|
|
11
|
+
if (CELO_BUILDERS_TAG.test(trimmed)) {
|
|
12
|
+
return trimmed.toLowerCase();
|
|
13
|
+
}
|
|
14
|
+
return trimmed.toUpperCase();
|
|
15
|
+
}
|
|
16
|
+
/** Normalize custom attribution tags while preserving first-seen order. */
|
|
17
|
+
export function normalizeAttributionTags(tags) {
|
|
18
|
+
if (!tags?.length)
|
|
19
|
+
return [];
|
|
20
|
+
const deduped = new Set();
|
|
21
|
+
for (const tag of tags) {
|
|
22
|
+
const normalized = normalizeAttributionTag(tag);
|
|
23
|
+
if (!normalized || normalized === "CELINA" || deduped.has(normalized))
|
|
24
|
+
continue;
|
|
25
|
+
deduped.add(normalized);
|
|
26
|
+
}
|
|
27
|
+
return [...deduped];
|
|
28
|
+
}
|
|
29
|
+
/** Build deterministic attribution tag string that always starts with `CELINA`. */
|
|
30
|
+
export function buildCelinaAttributionTag(tags) {
|
|
31
|
+
const normalized = normalizeAttributionTags(tags);
|
|
32
|
+
return normalized.length ? `CELINA|${normalized.join("|")}` : "CELINA";
|
|
33
|
+
}
|
|
34
|
+
/** Map client attribution tags to ERC-8021 Schema 0 codes (lowercase `[a-z0-9_]` only). */
|
|
35
|
+
export function toErc8021AttributionCodes(attributionTags) {
|
|
36
|
+
const codes = [CELINA_PLATFORM_ERC8021_CODE];
|
|
37
|
+
for (const tag of normalizeAttributionTags(attributionTags)) {
|
|
38
|
+
codes.push(tag.toLowerCase());
|
|
39
|
+
}
|
|
40
|
+
return [...new Set(codes)];
|
|
41
|
+
}
|
|
42
|
+
/** Build ERC-8021 Schema 0 suffix hex for the given attribution tags. */
|
|
43
|
+
export function buildErc8021AttributionSuffix(attributionTags) {
|
|
44
|
+
const codes = toErc8021AttributionCodes(attributionTags);
|
|
45
|
+
return codes.length === 1
|
|
46
|
+
? toDataSuffix(codes[0])
|
|
47
|
+
: toDataSuffix(codes);
|
|
48
|
+
}
|
|
49
|
+
function buildLegacyAttributionSuffixHex(attributionTags) {
|
|
50
|
+
return stringToHex(buildCelinaAttributionTag(attributionTags));
|
|
51
|
+
}
|
|
52
|
+
function sameCodeSets(a, b) {
|
|
53
|
+
if (a.length !== b.length)
|
|
54
|
+
return false;
|
|
55
|
+
const sortedA = [...a].map((c) => c.toLowerCase()).sort();
|
|
56
|
+
const sortedB = [...b].map((c) => c.toLowerCase()).sort();
|
|
57
|
+
return sortedA.every((code, i) => code === sortedB[i]);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Locate a valid ERC-8021 Schema 0 suffix even when trailing bytes follow the marker
|
|
61
|
+
* (AA/UserOp packing). Prefers the last valid occurrence.
|
|
62
|
+
*/
|
|
63
|
+
function findErc8021Schema0Suffix(data) {
|
|
64
|
+
const hex = data.slice(2).toLowerCase();
|
|
65
|
+
const markerHex = ERC_8021_MARKER.slice(2).toLowerCase();
|
|
66
|
+
if (hex.length < markerHex.length + 4)
|
|
67
|
+
return null;
|
|
68
|
+
let searchEnd = hex.length;
|
|
69
|
+
while (searchEnd >= markerHex.length) {
|
|
70
|
+
const idx = hex.lastIndexOf(markerHex, searchEnd - 1);
|
|
71
|
+
if (idx === -1)
|
|
72
|
+
return null;
|
|
73
|
+
const markerEnd = idx + markerHex.length;
|
|
74
|
+
const schemaPos = idx - 2;
|
|
75
|
+
const lengthPos = schemaPos - 2;
|
|
76
|
+
if (lengthPos < 0) {
|
|
77
|
+
searchEnd = idx;
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
const schemaId = Number.parseInt(hex.slice(schemaPos, idx), 16);
|
|
81
|
+
const lengthByte = Number.parseInt(hex.slice(lengthPos, schemaPos), 16);
|
|
82
|
+
const suffixStart = lengthPos - lengthByte * 2;
|
|
83
|
+
if (schemaId !== 0 ||
|
|
84
|
+
!Number.isFinite(lengthByte) ||
|
|
85
|
+
lengthByte < 0 ||
|
|
86
|
+
suffixStart < 0) {
|
|
87
|
+
searchEnd = idx;
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
const window = `0x${hex.slice(0, markerEnd)}`;
|
|
91
|
+
const decoded = fromDataSuffix(window);
|
|
92
|
+
if (decoded && decoded.schemaId === 0) {
|
|
93
|
+
return {
|
|
94
|
+
suffixStart,
|
|
95
|
+
markerEnd,
|
|
96
|
+
decoded: { codes: [...decoded.codes], schemaId: decoded.schemaId },
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
searchEnd = idx;
|
|
100
|
+
}
|
|
101
|
+
return null;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Truncate calldata to end at an embedded ERC-8021 Schema 0 suffix when tip parse fails.
|
|
105
|
+
* Tip-of-calldata tags are returned unchanged.
|
|
106
|
+
*/
|
|
107
|
+
export function attributionDecodeWindow(data) {
|
|
108
|
+
if (!data || data === "0x")
|
|
109
|
+
return data;
|
|
110
|
+
if (fromDataSuffix(data))
|
|
111
|
+
return data;
|
|
112
|
+
const found = findErc8021Schema0Suffix(data);
|
|
113
|
+
if (!found)
|
|
114
|
+
return data;
|
|
115
|
+
return `0x${data.slice(2).slice(0, found.markerEnd)}`;
|
|
116
|
+
}
|
|
117
|
+
/** Strip a trailing ERC-8021 Schema 0/2 suffix when present. */
|
|
118
|
+
export function stripErc8021SuffixIfPresent(data) {
|
|
119
|
+
if (!fromDataSuffix(data))
|
|
120
|
+
return data;
|
|
121
|
+
const hex = data.slice(2);
|
|
122
|
+
const markerHex = ERC_8021_MARKER.slice(2).toLowerCase();
|
|
123
|
+
const markerByteLen = markerHex.length / 2;
|
|
124
|
+
if (hex.length < markerByteLen * 2)
|
|
125
|
+
return data;
|
|
126
|
+
if (hex.slice(-markerByteLen * 2).toLowerCase() !== markerHex)
|
|
127
|
+
return data;
|
|
128
|
+
const schemaPos = hex.length - markerByteLen * 2 - 2;
|
|
129
|
+
const lengthFieldHex = hex.slice(schemaPos - 2, schemaPos);
|
|
130
|
+
const lengthByte = Number.parseInt(lengthFieldHex, 16);
|
|
131
|
+
const suffixStart = schemaPos - 2 - lengthByte * 2;
|
|
132
|
+
if (suffixStart < 0)
|
|
133
|
+
return data;
|
|
134
|
+
return `0x${hex.slice(0, suffixStart)}`;
|
|
135
|
+
}
|
|
136
|
+
/** Printable legacy segments: `CELINA` or `CELINA|TAG1|…` (stops before binary / ERC-8021 ASCII). */
|
|
137
|
+
const LEGACY_ATTRIBUTION_TEXT = /^CELINA(?:\|[A-Za-z0-9_]+)*/;
|
|
138
|
+
/** Parse legacy UTF-8 `CELINA|TAG1|…` suffix from calldata (ignores trailing ERC-8021). */
|
|
139
|
+
export function parseCelinaLegacyAttributionSuffix(data) {
|
|
140
|
+
const body = stripErc8021SuffixIfPresent(data);
|
|
141
|
+
const celinaMarker = stringToHex("CELINA").slice(2).toLowerCase();
|
|
142
|
+
const lower = body.slice(2).toLowerCase();
|
|
143
|
+
const idx = lower.lastIndexOf(celinaMarker);
|
|
144
|
+
if (idx === -1)
|
|
145
|
+
return null;
|
|
146
|
+
try {
|
|
147
|
+
const suffixHex = `0x${body.slice(2).slice(idx)}`;
|
|
148
|
+
const text = hexToString(suffixHex);
|
|
149
|
+
if (!text.startsWith("CELINA"))
|
|
150
|
+
return null;
|
|
151
|
+
const printable = text.match(LEGACY_ATTRIBUTION_TEXT)?.[0];
|
|
152
|
+
if (!printable)
|
|
153
|
+
return null;
|
|
154
|
+
return printable.split("|");
|
|
155
|
+
}
|
|
156
|
+
catch {
|
|
157
|
+
return null;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
function tagMatchesVerification(tag, legacyTags, erc8021Codes) {
|
|
161
|
+
const normalized = normalizeAttributionTag(tag);
|
|
162
|
+
const legacyHit = legacyTags?.some((legacyTag) => normalizeAttributionTag(legacyTag) === normalized) ??
|
|
163
|
+
false;
|
|
164
|
+
const ercHit = erc8021Codes?.some((code) => code.toLowerCase() === normalized.toLowerCase()) ??
|
|
165
|
+
false;
|
|
166
|
+
return legacyHit || ercHit;
|
|
167
|
+
}
|
|
168
|
+
/** Merge legacy + ERC-8021 codes into custom tags (skips CELINA/celina, dedupes). */
|
|
169
|
+
export function collectAttributionTags(legacyTags, erc8021Codes) {
|
|
170
|
+
return normalizeAttributionTags([
|
|
171
|
+
...(legacyTags ?? []),
|
|
172
|
+
...(erc8021Codes ?? []),
|
|
173
|
+
]);
|
|
174
|
+
}
|
|
175
|
+
/** Decode legacy and ERC-8021 attribution from calldata; optionally check for a tag. */
|
|
176
|
+
export function verifyAttributionInCalldata(data, tag) {
|
|
177
|
+
const window = attributionDecodeWindow(data);
|
|
178
|
+
const legacyTags = parseCelinaLegacyAttributionSuffix(window);
|
|
179
|
+
const erc8021 = fromDataSuffix(window);
|
|
180
|
+
const matched = tag
|
|
181
|
+
? tagMatchesVerification(tag, legacyTags, erc8021?.codes ?? null)
|
|
182
|
+
: Boolean(legacyTags?.length || erc8021?.codes.length);
|
|
183
|
+
return {
|
|
184
|
+
legacyTags,
|
|
185
|
+
erc8021: erc8021
|
|
186
|
+
? { codes: [...erc8021.codes], schemaId: erc8021.schemaId }
|
|
187
|
+
: null,
|
|
188
|
+
matched,
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Decode attribution from calldata with a unified custom `tags` list.
|
|
193
|
+
* Prefer this for “what tags are on this tx?”; use {@link verifyAttributionInCalldata} for the raw layers only.
|
|
194
|
+
*/
|
|
195
|
+
export function checkAttributionInCalldata(data, tag) {
|
|
196
|
+
const verified = verifyAttributionInCalldata(data, tag);
|
|
197
|
+
return {
|
|
198
|
+
...verified,
|
|
199
|
+
tags: collectAttributionTags(verified.legacyTags, verified.erc8021?.codes ?? null),
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Append dual Celina attribution suffixes to calldata (legacy UTF-8 + ERC-8021).
|
|
204
|
+
*
|
|
205
|
+
* Used by `prepare*` when `createCelinaClient({ attributionTags })` is set, and by
|
|
206
|
+
* `createAAClient({ attributionTags }).sendPreparedFlow` when AA tags are set.
|
|
207
|
+
*
|
|
208
|
+
* @param data - Original transaction calldata.
|
|
209
|
+
* @param attributionTags - Optional custom tags (same list semantics on Celina or AA client).
|
|
210
|
+
* Legacy layer: `CELINA|TAG1|TAG2` (app tags uppercase, `celo_<12 hex>` lowercase).
|
|
211
|
+
* ERC-8021 layer: `toDataSuffix(["celina", ...])` with lowercase codes.
|
|
212
|
+
* Example: `["goclaim"]` → legacy `CELINA|GOCLAIM` + codes `celina`, `goclaim` (not bare UTF-8 `GOCLAIM`).
|
|
213
|
+
*/
|
|
214
|
+
export function appendCelinaCalldataTag(data, attributionTags) {
|
|
215
|
+
if (!data || data === "0x")
|
|
216
|
+
return data;
|
|
217
|
+
const legacyHex = buildLegacyAttributionSuffixHex(attributionTags);
|
|
218
|
+
const legacySuffix = legacyHex.slice(2);
|
|
219
|
+
const erc8021Hex = buildErc8021AttributionSuffix(attributionTags);
|
|
220
|
+
const expectedCodes = toErc8021AttributionCodes(attributionTags);
|
|
221
|
+
const fullDualSuffix = `${legacySuffix}${erc8021Hex.slice(2)}`.toLowerCase();
|
|
222
|
+
if (data.toLowerCase().endsWith(fullDualSuffix))
|
|
223
|
+
return data;
|
|
224
|
+
let result = stripErc8021SuffixIfPresent(data);
|
|
225
|
+
if (!result.toLowerCase().endsWith(legacySuffix.toLowerCase())) {
|
|
226
|
+
result = concat([result, legacyHex]);
|
|
227
|
+
}
|
|
228
|
+
const decoded = fromDataSuffix(result);
|
|
229
|
+
if (!decoded || !sameCodeSets(decoded.codes, expectedCodes)) {
|
|
230
|
+
result = concat([result, erc8021Hex]);
|
|
231
|
+
}
|
|
232
|
+
return result;
|
|
233
|
+
}
|
|
234
|
+
//# sourceMappingURL=celina-tag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"celina-tag.js","sourceRoot":"","sources":["../../../src/config/celina-tag.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Celo mainnet core contract addresses (Election, Governance, etc.). */
|
|
2
|
+
export declare const CELO_CORE_CONTRACTS: {
|
|
3
|
+
readonly governance: "0xD533Ca259b330c7A88f74E000a3FaEa2d63B7972";
|
|
4
|
+
readonly election: "0x8D6677192144292870907E3Fa8A5527fE55A7ff6";
|
|
5
|
+
readonly validators: "0xaEb865bCa93DdC8F47b8e29F40C5399cE34d0C58";
|
|
6
|
+
readonly accounts: "0x7d21685C17607338b313a7174bAb6620baD0aaB7";
|
|
7
|
+
readonly lockedGold: "0x6cC083Aed9e3ebe302A6336dBC7c921C9f03349E";
|
|
8
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** Celo mainnet core contract addresses (Election, Governance, etc.). */
|
|
2
|
+
export const CELO_CORE_CONTRACTS = {
|
|
3
|
+
governance: "0xD533Ca259b330c7A88f74E000a3FaEa2d63B7972",
|
|
4
|
+
election: "0x8D6677192144292870907E3Fa8A5527fE55A7ff6",
|
|
5
|
+
validators: "0xaEb865bCa93DdC8F47b8e29F40C5399cE34d0C58",
|
|
6
|
+
accounts: "0x7d21685C17607338b313a7174bAb6620baD0aaB7",
|
|
7
|
+
lockedGold: "0x6cC083Aed9e3ebe302A6336dBC7c921C9f03349E",
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=celo-core-contracts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"celo-core-contracts.js","sourceRoot":"","sources":["../../../src/config/celo-core-contracts.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,UAAU,EAAE,4CAA4C;IACxD,QAAQ,EAAE,4CAA4C;IACtD,UAAU,EAAE,4CAA4C;IACxD,QAAQ,EAAE,4CAA4C;IACtD,UAAU,EAAE,4CAA4C;CAChD,CAAC"}
|