@andrewkimjoseph/celina-sdk 0.14.0 → 0.15.1
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/README.md +7 -5
- package/build/aa/create-aa-client.d.ts +10 -3
- package/build/aa/create-aa-client.js +6 -3
- package/build/aa/create-aa-client.js.map +1 -1
- package/build/aa/prepared-calls.d.ts +6 -2
- package/build/aa/prepared-calls.js +13 -3
- package/build/aa/prepared-calls.js.map +1 -1
- package/build/aa/types.d.ts +10 -2
- package/build/config/celina-tag.d.ts +7 -3
- package/build/config/celina-tag.js +7 -3
- package/build/config/celina-tag.js.map +1 -1
- package/package.json +3 -2
- package/build/src/a2a/agent-card.d.ts +0 -37
- package/build/src/a2a/agent-card.js +0 -46
- package/build/src/a2a/agent-card.js.map +0 -1
- package/build/src/a2a/index.d.ts +0 -2
- package/build/src/a2a/index.js +0 -3
- package/build/src/a2a/index.js.map +0 -1
- package/build/src/a2a/skills.d.ts +0 -18
- package/build/src/a2a/skills.js +0 -106
- package/build/src/a2a/skills.js.map +0 -1
- package/build/src/aa/create-aa-client.d.ts +0 -37
- package/build/src/aa/create-aa-client.js +0 -112
- package/build/src/aa/create-aa-client.js.map +0 -1
- package/build/src/aa/gas-sponsorship.d.ts +0 -27
- package/build/src/aa/gas-sponsorship.js +0 -65
- package/build/src/aa/gas-sponsorship.js.map +0 -1
- package/build/src/aa/index.d.ts +0 -4
- package/build/src/aa/index.js +0 -4
- package/build/src/aa/index.js.map +0 -1
- package/build/src/aa/prepared-calls.d.ts +0 -4
- package/build/src/aa/prepared-calls.js +0 -17
- package/build/src/aa/prepared-calls.js.map +0 -1
- package/build/src/aa/types.d.ts +0 -53
- package/build/src/aa/types.js +0 -2
- package/build/src/aa/types.js.map +0 -1
- package/build/src/abis/aave-pool.d.ts +0 -37
- package/build/src/abis/aave-pool.js +0 -26
- package/build/src/abis/aave-pool.js.map +0 -1
- package/build/src/abis/accounts.d.ts +0 -13
- package/build/src/abis/accounts.js +0 -10
- package/build/src/abis/accounts.js.map +0 -1
- package/build/src/abis/election.d.ts +0 -124
- package/build/src/abis/election.js +0 -88
- package/build/src/abis/election.js.map +0 -1
- package/build/src/abis/gooddollar-broker.d.ts +0 -77
- package/build/src/abis/gooddollar-broker.js +0 -44
- package/build/src/abis/gooddollar-broker.js.map +0 -1
- package/build/src/abis/gooddollar-identity.d.ts +0 -85
- package/build/src/abis/gooddollar-identity.js +0 -52
- package/build/src/abis/gooddollar-identity.js.map +0 -1
- package/build/src/abis/governance.d.ts +0 -86
- package/build/src/abis/governance.js +0 -68
- package/build/src/abis/governance.js.map +0 -1
- package/build/src/abis/locked-gold.d.ts +0 -10
- package/build/src/abis/locked-gold.js +0 -10
- package/build/src/abis/locked-gold.js.map +0 -1
- package/build/src/abis/nft.d.ts +0 -107
- package/build/src/abis/nft.js +0 -75
- package/build/src/abis/nft.js.map +0 -1
- package/build/src/abis/permit2.d.ts +0 -43
- package/build/src/abis/permit2.js +0 -30
- package/build/src/abis/permit2.js.map +0 -1
- package/build/src/abis/self-registry.d.ts +0 -194
- package/build/src/abis/self-registry.js +0 -120
- package/build/src/abis/self-registry.js.map +0 -1
- package/build/src/abis/ubi-scheme.d.ts +0 -91
- package/build/src/abis/ubi-scheme.js +0 -66
- package/build/src/abis/ubi-scheme.js.map +0 -1
- package/build/src/abis/uniswap-state-view.d.ts +0 -34
- package/build/src/abis/uniswap-state-view.js +0 -22
- package/build/src/abis/uniswap-state-view.js.map +0 -1
- package/build/src/abis/uniswap-v4-quoter.d.ts +0 -86
- package/build/src/abis/uniswap-v4-quoter.js +0 -64
- package/build/src/abis/uniswap-v4-quoter.js.map +0 -1
- package/build/src/abis/universal-router.d.ts +0 -16
- package/build/src/abis/universal-router.js +0 -14
- package/build/src/abis/universal-router.js.map +0 -1
- package/build/src/abis/validators-minimal.d.ts +0 -65
- package/build/src/abis/validators-minimal.js +0 -39
- package/build/src/abis/validators-minimal.js.map +0 -1
- package/build/src/analytics/amplitude.d.ts +0 -11
- package/build/src/analytics/amplitude.js +0 -76
- package/build/src/analytics/amplitude.js.map +0 -1
- package/build/src/analytics/config.d.ts +0 -7
- package/build/src/analytics/config.js +0 -25
- package/build/src/analytics/config.js.map +0 -1
- package/build/src/analytics/consumer-package.d.ts +0 -9
- package/build/src/analytics/consumer-package.js +0 -143
- package/build/src/analytics/consumer-package.js.map +0 -1
- package/build/src/analytics/mcp-tool-events.d.ts +0 -5
- package/build/src/analytics/mcp-tool-events.js +0 -53
- package/build/src/analytics/mcp-tool-events.js.map +0 -1
- package/build/src/analytics/wallet-context.d.ts +0 -11
- package/build/src/analytics/wallet-context.js +0 -81
- package/build/src/analytics/wallet-context.js.map +0 -1
- package/build/src/analytics/wallet-extract.d.ts +0 -9
- package/build/src/analytics/wallet-extract.js +0 -21
- package/build/src/analytics/wallet-extract.js.map +0 -1
- package/build/src/analytics/wrap-service.d.ts +0 -5
- package/build/src/analytics/wrap-service.js +0 -38
- package/build/src/analytics/wrap-service.js.map +0 -1
- package/build/src/clients/celo-client.d.ts +0 -19
- package/build/src/clients/celo-client.js +0 -32
- package/build/src/clients/celo-client.js.map +0 -1
- package/build/src/clients/ens-client.d.ts +0 -17
- package/build/src/clients/ens-client.js +0 -30
- package/build/src/clients/ens-client.js.map +0 -1
- package/build/src/clients/mento-sdk.d.ts +0 -2
- package/build/src/clients/mento-sdk.js +0 -9
- package/build/src/clients/mento-sdk.js.map +0 -1
- package/build/src/clients/self-api.d.ts +0 -82
- package/build/src/clients/self-api.js +0 -242
- package/build/src/clients/self-api.js.map +0 -1
- package/build/src/clients/uniswap-sdk.d.ts +0 -4
- package/build/src/clients/uniswap-sdk.js +0 -13
- package/build/src/clients/uniswap-sdk.js.map +0 -1
- package/build/src/config/aave.d.ts +0 -17
- package/build/src/config/aave.js +0 -77
- package/build/src/config/aave.js.map +0 -1
- package/build/src/config/celina-tag.d.ts +0 -46
- package/build/src/config/celina-tag.js +0 -166
- package/build/src/config/celina-tag.js.map +0 -1
- package/build/src/config/celo-core-contracts.d.ts +0 -8
- package/build/src/config/celo-core-contracts.js +0 -9
- package/build/src/config/celo-core-contracts.js.map +0 -1
- package/build/src/config/chains.d.ts +0 -937
- package/build/src/config/chains.js +0 -319
- package/build/src/config/chains.js.map +0 -1
- package/build/src/config/gooddollar.d.ts +0 -16
- package/build/src/config/gooddollar.js +0 -24
- package/build/src/config/gooddollar.js.map +0 -1
- package/build/src/config/sdk-config.d.ts +0 -44
- package/build/src/config/sdk-config.js +0 -28
- package/build/src/config/sdk-config.js.map +0 -1
- package/build/src/config/self.d.ts +0 -22
- package/build/src/config/self.js +0 -27
- package/build/src/config/self.js.map +0 -1
- package/build/src/config/uniswap.d.ts +0 -42
- package/build/src/config/uniswap.js +0 -76
- package/build/src/config/uniswap.js.map +0 -1
- package/build/src/index.d.ts +0 -127
- package/build/src/index.js +0 -72
- package/build/src/index.js.map +0 -1
- package/build/src/oasf/index.d.ts +0 -2
- package/build/src/oasf/index.js +0 -3
- package/build/src/oasf/index.js.map +0 -1
- package/build/src/oasf/record.d.ts +0 -39
- package/build/src/oasf/record.js +0 -35
- package/build/src/oasf/record.js.map +0 -1
- package/build/src/oasf/taxonomy.d.ts +0 -19
- package/build/src/oasf/taxonomy.js +0 -46
- package/build/src/oasf/taxonomy.js.map +0 -1
- package/build/src/services/aave.service.d.ts +0 -59
- package/build/src/services/aave.service.js +0 -210
- package/build/src/services/aave.service.js.map +0 -1
- package/build/src/services/account.service.d.ts +0 -22
- package/build/src/services/account.service.js +0 -29
- package/build/src/services/account.service.js.map +0 -1
- package/build/src/services/agentkarma.service.d.ts +0 -89
- package/build/src/services/agentkarma.service.js +0 -102
- package/build/src/services/agentkarma.service.js.map +0 -1
- package/build/src/services/blockchain.service.d.ts +0 -126
- package/build/src/services/blockchain.service.js +0 -188
- package/build/src/services/blockchain.service.js.map +0 -1
- package/build/src/services/contract.service.d.ts +0 -78
- package/build/src/services/contract.service.js +0 -117
- package/build/src/services/contract.service.js.map +0 -1
- package/build/src/services/ens.service.d.ts +0 -44
- package/build/src/services/ens.service.js +0 -92
- package/build/src/services/ens.service.js.map +0 -1
- package/build/src/services/gooddollar.service.d.ts +0 -184
- package/build/src/services/gooddollar.service.js +0 -675
- package/build/src/services/gooddollar.service.js.map +0 -1
- package/build/src/services/governance.service.d.ts +0 -96
- package/build/src/services/governance.service.js +0 -255
- package/build/src/services/governance.service.js.map +0 -1
- package/build/src/services/mento-fx.service.d.ts +0 -81
- package/build/src/services/mento-fx.service.js +0 -318
- package/build/src/services/mento-fx.service.js.map +0 -1
- package/build/src/services/nft.service.d.ts +0 -58
- package/build/src/services/nft.service.js +0 -222
- package/build/src/services/nft.service.js.map +0 -1
- package/build/src/services/self-session-store.d.ts +0 -19
- package/build/src/services/self-session-store.js +0 -28
- package/build/src/services/self-session-store.js.map +0 -1
- package/build/src/services/self.service.d.ts +0 -241
- package/build/src/services/self.service.js +0 -699
- package/build/src/services/self.service.js.map +0 -1
- package/build/src/services/staking.service.d.ts +0 -140
- package/build/src/services/staking.service.js +0 -444
- package/build/src/services/staking.service.js.map +0 -1
- package/build/src/services/token.service.d.ts +0 -110
- package/build/src/services/token.service.js +0 -189
- package/build/src/services/token.service.js.map +0 -1
- package/build/src/services/transaction.service.d.ts +0 -69
- package/build/src/services/transaction.service.js +0 -197
- package/build/src/services/transaction.service.js.map +0 -1
- package/build/src/services/uniswap-path-router.d.ts +0 -40
- package/build/src/services/uniswap-path-router.js +0 -168
- package/build/src/services/uniswap-path-router.js.map +0 -1
- package/build/src/services/uniswap-pool-discovery.d.ts +0 -55
- package/build/src/services/uniswap-pool-discovery.js +0 -198
- package/build/src/services/uniswap-pool-discovery.js.map +0 -1
- package/build/src/services/uniswap.service.d.ts +0 -83
- package/build/src/services/uniswap.service.js +0 -352
- package/build/src/services/uniswap.service.js.map +0 -1
- package/build/src/simulation/index.d.ts +0 -5
- package/build/src/simulation/index.js +0 -2
- package/build/src/simulation/index.js.map +0 -1
- package/build/src/simulation/simulate-prepared-step.d.ts +0 -17
- package/build/src/simulation/simulate-prepared-step.js +0 -42
- package/build/src/simulation/simulate-prepared-step.js.map +0 -1
- package/build/src/tools/catalog.d.ts +0 -11
- package/build/src/tools/catalog.js +0 -43
- package/build/src/tools/catalog.js.map +0 -1
- package/build/src/tools/domains/aave.d.ts +0 -2
- package/build/src/tools/domains/aave.js +0 -115
- package/build/src/tools/domains/aave.js.map +0 -1
- package/build/src/tools/domains/agentkarma.d.ts +0 -2
- package/build/src/tools/domains/agentkarma.js +0 -92
- package/build/src/tools/domains/agentkarma.js.map +0 -1
- package/build/src/tools/domains/blockchain.d.ts +0 -2
- package/build/src/tools/domains/blockchain.js +0 -122
- package/build/src/tools/domains/blockchain.js.map +0 -1
- package/build/src/tools/domains/browser.d.ts +0 -2
- package/build/src/tools/domains/browser.js +0 -45
- package/build/src/tools/domains/browser.js.map +0 -1
- package/build/src/tools/domains/contract.d.ts +0 -2
- package/build/src/tools/domains/contract.js +0 -67
- package/build/src/tools/domains/contract.js.map +0 -1
- package/build/src/tools/domains/ens.d.ts +0 -2
- package/build/src/tools/domains/ens.js +0 -16
- package/build/src/tools/domains/ens.js.map +0 -1
- package/build/src/tools/domains/gooddollar.d.ts +0 -2
- package/build/src/tools/domains/gooddollar.js +0 -171
- package/build/src/tools/domains/gooddollar.js.map +0 -1
- package/build/src/tools/domains/governance.d.ts +0 -2
- package/build/src/tools/domains/governance.js +0 -41
- package/build/src/tools/domains/governance.js.map +0 -1
- package/build/src/tools/domains/index.d.ts +0 -1
- package/build/src/tools/domains/index.js +0 -33
- package/build/src/tools/domains/index.js.map +0 -1
- package/build/src/tools/domains/mento-fx.d.ts +0 -2
- package/build/src/tools/domains/mento-fx.js +0 -67
- package/build/src/tools/domains/mento-fx.js.map +0 -1
- package/build/src/tools/domains/nft.d.ts +0 -2
- package/build/src/tools/domains/nft.js +0 -38
- package/build/src/tools/domains/nft.js.map +0 -1
- package/build/src/tools/domains/self.d.ts +0 -2
- package/build/src/tools/domains/self.js +0 -187
- package/build/src/tools/domains/self.js.map +0 -1
- package/build/src/tools/domains/staking.d.ts +0 -2
- package/build/src/tools/domains/staking.js +0 -74
- package/build/src/tools/domains/staking.js.map +0 -1
- package/build/src/tools/domains/token.d.ts +0 -2
- package/build/src/tools/domains/token.js +0 -74
- package/build/src/tools/domains/token.js.map +0 -1
- package/build/src/tools/domains/transaction.d.ts +0 -2
- package/build/src/tools/domains/transaction.js +0 -120
- package/build/src/tools/domains/transaction.js.map +0 -1
- package/build/src/tools/domains/uniswap.d.ts +0 -2
- package/build/src/tools/domains/uniswap.js +0 -67
- package/build/src/tools/domains/uniswap.js.map +0 -1
- package/build/src/tools/filter.d.ts +0 -2
- package/build/src/tools/filter.js +0 -50
- package/build/src/tools/filter.js.map +0 -1
- package/build/src/tools/index.d.ts +0 -7
- package/build/src/tools/index.js +0 -7
- package/build/src/tools/index.js.map +0 -1
- package/build/src/tools/schemas/common.d.ts +0 -165
- package/build/src/tools/schemas/common.js +0 -207
- package/build/src/tools/schemas/common.js.map +0 -1
- package/build/src/tools/schemas/wallet-params.d.ts +0 -9
- package/build/src/tools/schemas/wallet-params.js +0 -52
- package/build/src/tools/schemas/wallet-params.js.map +0 -1
- package/build/src/tools/swap-routing.d.ts +0 -25
- package/build/src/tools/swap-routing.js +0 -174
- package/build/src/tools/swap-routing.js.map +0 -1
- package/build/src/tools/types.d.ts +0 -124
- package/build/src/tools/types.js +0 -2
- package/build/src/tools/types.js.map +0 -1
- package/build/src/tools/utils/normalize-token.d.ts +0 -2
- package/build/src/tools/utils/normalize-token.js +0 -12
- package/build/src/tools/utils/normalize-token.js.map +0 -1
- package/build/src/tools/utils/wallet.d.ts +0 -4
- package/build/src/tools/utils/wallet.js +0 -8
- package/build/src/tools/utils/wallet.js.map +0 -1
- package/build/src/tools/website-sync.d.ts +0 -28
- package/build/src/tools/website-sync.js +0 -198
- package/build/src/tools/website-sync.js.map +0 -1
- package/build/src/types/prepared.d.ts +0 -43
- package/build/src/types/prepared.js +0 -15
- package/build/src/types/prepared.js.map +0 -1
- package/build/src/utils/celo-format.d.ts +0 -6
- package/build/src/utils/celo-format.js +0 -17
- package/build/src/utils/celo-format.js.map +0 -1
- package/build/src/utils/erc20-allowance-storage.d.ts +0 -20
- package/build/src/utils/erc20-allowance-storage.js +0 -64
- package/build/src/utils/erc20-allowance-storage.js.map +0 -1
- package/build/src/utils/format-date.d.ts +0 -2
- package/build/src/utils/format-date.js +0 -13
- package/build/src/utils/format-date.js.map +0 -1
- package/build/src/utils/format-duration.d.ts +0 -2
- package/build/src/utils/format-duration.js +0 -17
- package/build/src/utils/format-duration.js.map +0 -1
- package/build/src/utils/format-unix-datetime.d.ts +0 -4
- package/build/src/utils/format-unix-datetime.js +0 -18
- package/build/src/utils/format-unix-datetime.js.map +0 -1
- package/build/src/utils/gooddollar-ubi-period.d.ts +0 -23
- package/build/src/utils/gooddollar-ubi-period.js +0 -23
- package/build/src/utils/gooddollar-ubi-period.js.map +0 -1
- package/build/src/utils/normalize-address.d.ts +0 -7
- package/build/src/utils/normalize-address.js +0 -16
- package/build/src/utils/normalize-address.js.map +0 -1
- package/build/src/utils/self-format.d.ts +0 -28
- package/build/src/utils/self-format.js +0 -79
- package/build/src/utils/self-format.js.map +0 -1
- package/build/src/utils/self-signing.d.ts +0 -4
- package/build/src/utils/self-signing.js +0 -38
- package/build/src/utils/self-signing.js.map +0 -1
- package/build/src/utils/transaction-errors.d.ts +0 -3
- package/build/src/utils/transaction-errors.js +0 -17
- package/build/src/utils/transaction-errors.js.map +0 -1
- package/build/tests/catalog/domains/blockchain.d.ts +0 -2
- package/build/tests/catalog/domains/blockchain.js +0 -127
- package/build/tests/catalog/domains/blockchain.js.map +0 -1
- package/build/tests/catalog/domains/chain-ext.d.ts +0 -5
- package/build/tests/catalog/domains/chain-ext.js +0 -207
- package/build/tests/catalog/domains/chain-ext.js.map +0 -1
- package/build/tests/catalog/domains/defi.d.ts +0 -6
- package/build/tests/catalog/domains/defi.js +0 -581
- package/build/tests/catalog/domains/defi.js.map +0 -1
- package/build/tests/catalog/domains/self.d.ts +0 -2
- package/build/tests/catalog/domains/self.js +0 -208
- package/build/tests/catalog/domains/self.js.map +0 -1
- package/build/tests/catalog/domains/token.d.ts +0 -2
- package/build/tests/catalog/domains/token.js +0 -70
- package/build/tests/catalog/domains/token.js.map +0 -1
- package/build/tests/catalog/domains/transaction.d.ts +0 -2
- package/build/tests/catalog/domains/transaction.js +0 -96
- package/build/tests/catalog/domains/transaction.js.map +0 -1
- package/build/tests/catalog/index.d.ts +0 -2
- package/build/tests/catalog/index.js +0 -2
- package/build/tests/catalog/index.js.map +0 -1
- package/build/tests/catalog/operations.d.ts +0 -12
- package/build/tests/catalog/operations.js +0 -29
- package/build/tests/catalog/operations.js.map +0 -1
- package/build/tests/catalog/types.d.ts +0 -24
- package/build/tests/catalog/types.js +0 -2
- package/build/tests/catalog/types.js.map +0 -1
- package/build/tests/fixtures/mainnet.d.ts +0 -54
- package/build/tests/fixtures/mainnet.js +0 -53
- package/build/tests/fixtures/mainnet.js.map +0 -1
- package/build/tests/helpers/assert.d.ts +0 -4
- package/build/tests/helpers/assert.js +0 -24
- package/build/tests/helpers/assert.js.map +0 -1
- package/build/tests/helpers/env.d.ts +0 -12
- package/build/tests/helpers/env.js +0 -29
- package/build/tests/helpers/env.js.map +0 -1
- package/build/tests/helpers/gating.d.ts +0 -3
- package/build/tests/helpers/gating.js +0 -23
- package/build/tests/helpers/gating.js.map +0 -1
- package/build/tests/testing-entry.d.ts +0 -6
- package/build/tests/testing-entry.js +0 -6
- package/build/tests/testing-entry.js.map +0 -1
package/README.md
CHANGED
|
@@ -14,9 +14,9 @@ Celina is layered from chain logic through agent tooling:
|
|
|
14
14
|
|
|
15
15
|
| Layer | Package | Role |
|
|
16
16
|
|-------|---------|------|
|
|
17
|
-
| **SDK** | `@andrewkimjoseph/celina-sdk` | Reads, gas estimates,
|
|
17
|
+
| **SDK** | `@andrewkimjoseph/celina-sdk` | Reads, gas estimates, `prepare*` flows (`chainId: 42220`), dual attribution, `createAAClient` |
|
|
18
18
|
| **MCP** | `@andrewkimjoseph/celina-mcp` | MCP tools for Cursor / Claude / LM Studio — stdio writes or hosted reads |
|
|
19
|
-
| **MCP host** | `celina-mcp-host` | Vercel Streamable HTTP — hosted reads (
|
|
19
|
+
| **MCP host** | `celina-mcp-host` | Vercel Streamable HTTP — hosted reads (36 tools); no server-key writes; no sponsorship keys |
|
|
20
20
|
|
|
21
21
|
This repo is the **SDK**. Downstream packages depend on published npm semver (no local `file:` links in production).
|
|
22
22
|
|
|
@@ -43,7 +43,9 @@ Before broadcasting prepared steps, call `simulatePreparedStep` from `@andrewkim
|
|
|
43
43
|
- [Quick start](https://andrewkimjoseph.gitbook.io/celina-sdk/getting-started/quick-start)
|
|
44
44
|
- [LLM tool catalog](docs/guides/tool-catalog.md) — `@andrewkimjoseph/celina-sdk/tools` for MCP and AI SDK hosts
|
|
45
45
|
- [Architecture](docs/concepts/architecture.md) — client composition and stack
|
|
46
|
-
- [Prepared flows](docs/concepts/prepared-flows.md) — `SerializedPreparedFlow
|
|
46
|
+
- [Prepared flows](docs/concepts/prepared-flows.md) — `SerializedPreparedFlow` (`chainId: 42220`), dual CELINA attribution
|
|
47
|
+
- [On-chain attribution](docs/guides/on-chain-attribution.md) — wire format, check vs verify, Celina vs AA tags
|
|
48
|
+
- [Account Abstraction](docs/guides/account-abstraction.md) — `createAAClient`, app-owned sponsorship, AA `attributionTags`
|
|
47
49
|
- [Prepared-step simulation](docs/guides/prepared-step-simulation.md) — `simulatePreparedStep` before wallet send
|
|
48
50
|
- [wagmi integration](https://andrewkimjoseph.gitbook.io/celina-sdk/guides/wagmi-integration)
|
|
49
51
|
- [GoodDollar](docs/guides/gooddollar.md) — UBI whitelist/claim and G$ ↔ USDm reserve swaps
|
|
@@ -93,13 +95,13 @@ Every step with calldata gets **dual attribution suffixes** via `appendCelinaCal
|
|
|
93
95
|
1. **Legacy UTF-8** — `CELINA|TAG1|TAG2` (app tags uppercase; `celo_<12 hex>` lowercase)
|
|
94
96
|
2. **ERC-8021 Schema 0** — `toDataSuffix(["celina", ...])` via `@celo/attribution-tags` for Celo leaderboards and `verifyTx`
|
|
95
97
|
|
|
96
|
-
Optional `attributionTags` in `createCelinaClient({ attributionTags: [...] })` apply to both layers (deduped, stable order). List or check on-chain tags with `check_attribution_tag` (preferred) or `checkAttributionInCalldata`; use `verify_attribution_tag` / `verifyAttributionInCalldata` for raw legacy + ERC-8021 layers.
|
|
98
|
+
Optional `attributionTags` in `createCelinaClient({ attributionTags: [...] })` apply to both layers (deduped, stable order). The same option on **`createAAClient`** tags at `sendPreparedFlow` time (omit for pass-through). Prepared flows expose **`chainId: 42220`**. List or check on-chain tags with `check_attribution_tag` (preferred) or `checkAttributionInCalldata`; use `verify_attribution_tag` / `verifyAttributionInCalldata` for raw legacy + ERC-8021 layers.
|
|
97
99
|
|
|
98
100
|
Before opening the wallet, simulate each step against current chain state with `@andrewkimjoseph/celina-sdk/simulation` (`simulatePreparedStep`). Local **celina-mcp** stdio writes use the same helper in `executePreparedFlow` before broadcast.
|
|
99
101
|
|
|
100
102
|
For **sponsored / batched UserOps**, use [`createAAClient`](docs/guides/account-abstraction.md) with an app-owned gas sponsorship provider (v1: Pimlico). MCP does not host sponsorship API keys.
|
|
101
103
|
|
|
102
|
-
See [Prepared flows](docs/concepts/prepared-flows.md), [Prepared-step simulation](docs/guides/prepared-step-simulation.md), and [Account Abstraction](docs/guides/account-abstraction.md).
|
|
104
|
+
See [Prepared flows](docs/concepts/prepared-flows.md), [On-chain attribution](docs/guides/on-chain-attribution.md), [Prepared-step simulation](docs/guides/prepared-step-simulation.md), and [Account Abstraction](docs/guides/account-abstraction.md).
|
|
103
105
|
|
|
104
106
|
### MCP session wallet (not in the SDK)
|
|
105
107
|
|
|
@@ -19,9 +19,15 @@ export type AAClient = {
|
|
|
19
19
|
smartAccountAddress: `0x${string}`;
|
|
20
20
|
/** Underlying sponsorship service (URLs, paymaster, fees). */
|
|
21
21
|
gasSponsorship: GasSponsorshipService;
|
|
22
|
+
/**
|
|
23
|
+
* Tags applied in `sendPreparedFlow` via `appendCelinaCalldataTag`.
|
|
24
|
+
* `undefined` means step `data` is passed through unchanged.
|
|
25
|
+
*/
|
|
26
|
+
attributionTags: string[] | undefined;
|
|
22
27
|
/**
|
|
23
28
|
* Submit `prepare*` output (ordered `steps` / prepared transactions) as sponsored UserOp(s).
|
|
24
|
-
*
|
|
29
|
+
* When `attributionTags` were set on this client, each step’s `data` is dual-tagged
|
|
30
|
+
* before submit; otherwise `data` is used as-is (including tags from `prepare*`).
|
|
25
31
|
*/
|
|
26
32
|
sendPreparedFlow: (flow: PreparedFlow | SerializedPreparedFlow, options?: SendPreparedFlowOptions) => Promise<SendPreparedFlowResult>;
|
|
27
33
|
};
|
|
@@ -31,7 +37,8 @@ export type AAClient = {
|
|
|
31
37
|
* Pass an explicit `gasSponsorship` provider object — credentials are app-owned
|
|
32
38
|
* and never stored by Celina. v1 supports `provider: "pimlico"`.
|
|
33
39
|
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
40
|
+
* Optional `attributionTags` are applied in `sendPreparedFlow` via
|
|
41
|
+
* `appendCelinaCalldataTag` (same dual format as `prepare*`). Omit them to
|
|
42
|
+
* pass step calldata through unchanged.
|
|
36
43
|
*/
|
|
37
44
|
export declare function createAAClient(options: CreateAAClientOptions): Promise<AAClient>;
|
|
@@ -44,12 +44,14 @@ export async function deriveSmartAccountAddress(owner, publicClient) {
|
|
|
44
44
|
* Pass an explicit `gasSponsorship` provider object — credentials are app-owned
|
|
45
45
|
* and never stored by Celina. v1 supports `provider: "pimlico"`.
|
|
46
46
|
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
47
|
+
* Optional `attributionTags` are applied in `sendPreparedFlow` via
|
|
48
|
+
* `appendCelinaCalldataTag` (same dual format as `prepare*`). Omit them to
|
|
49
|
+
* pass step calldata through unchanged.
|
|
49
50
|
*/
|
|
50
51
|
export async function createAAClient(options) {
|
|
51
52
|
const eoaAccount = resolveOwner(options.owner);
|
|
52
53
|
const publicClient = options.publicClient ?? defaultPublicClient();
|
|
54
|
+
const attributionTags = options.attributionTags;
|
|
53
55
|
const gasSponsorship = new GasSponsorshipService(options.gasSponsorship, CHAIN.id);
|
|
54
56
|
const smartAccount = await toSimpleSmartAccount({
|
|
55
57
|
client: publicClient,
|
|
@@ -71,7 +73,7 @@ export async function createAAClient(options) {
|
|
|
71
73
|
});
|
|
72
74
|
async function sendPreparedFlow(flow, sendOptions) {
|
|
73
75
|
const mode = sendOptions?.mode ?? "batch";
|
|
74
|
-
const calls = preparedStepsToUserOpCalls(flow.steps);
|
|
76
|
+
const calls = preparedStepsToUserOpCalls(flow.steps, attributionTags);
|
|
75
77
|
const userOpHashes = [];
|
|
76
78
|
const transactionHashes = [];
|
|
77
79
|
if (mode === "batch") {
|
|
@@ -106,6 +108,7 @@ export async function createAAClient(options) {
|
|
|
106
108
|
eoaAddress: eoaAccount.address,
|
|
107
109
|
smartAccountAddress: smartAccount.address,
|
|
108
110
|
gasSponsorship,
|
|
111
|
+
attributionTags,
|
|
109
112
|
sendPreparedFlow,
|
|
110
113
|
};
|
|
111
114
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-aa-client.js","sourceRoot":"","sources":["../../src/aa/create-aa-client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,IAAI,GAIL,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAK7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAQjE,SAAS,YAAY,CAAC,KAA8B;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAO,kBAAkB,CAAC;QACxB,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC;KACjC,CAAiB,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,KAA8B,EAC9B,YAA2B;IAK3B,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,YAAY,IAAI,mBAAmB,EAAE,CAAC;IACrD,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAAC;QAC9C,MAAM;QACN,KAAK,EAAE,UAAU;QACjB,UAAU,EAAE;YACV,OAAO,EAAE,mBAAmB;YAC5B,OAAO,EAAE,KAAK;SACf;KACF,CAAC,CAAC;IACH,OAAO;QACL,UAAU,EAAE,UAAU,CAAC,OAAO;QAC9B,mBAAmB,EAAE,YAAY,CAAC,OAAO;KAC1C,CAAC;AACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"create-aa-client.js","sourceRoot":"","sources":["../../src/aa/create-aa-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import type { PreparedTx } from "../types/prepared.js";
|
|
2
2
|
import type { UserOpCall } from "./types.js";
|
|
3
|
-
/**
|
|
4
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Map Celina prepared steps to smart-account `calls`.
|
|
5
|
+
* When `attributionTags` is provided, each step's `data` is dual-tagged
|
|
6
|
+
* via {@link appendCelinaCalldataTag}; otherwise `data` is preserved as-is.
|
|
7
|
+
*/
|
|
8
|
+
export declare function preparedStepsToUserOpCalls(steps: PreparedTx[], attributionTags?: string[]): UserOpCall[];
|
|
@@ -1,15 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { appendCelinaCalldataTag } from "../config/celina-tag.js";
|
|
2
|
+
/**
|
|
3
|
+
* Map Celina prepared steps to smart-account `calls`.
|
|
4
|
+
* When `attributionTags` is provided, each step's `data` is dual-tagged
|
|
5
|
+
* via {@link appendCelinaCalldataTag}; otherwise `data` is preserved as-is.
|
|
6
|
+
*/
|
|
7
|
+
export function preparedStepsToUserOpCalls(steps, attributionTags) {
|
|
3
8
|
if (!steps.length) {
|
|
4
9
|
throw new Error("prepared flow has no steps");
|
|
5
10
|
}
|
|
11
|
+
const shouldTag = attributionTags !== undefined;
|
|
6
12
|
return steps.map((step) => {
|
|
7
13
|
const value = step.value !== undefined && step.value !== ""
|
|
8
14
|
? BigInt(step.value)
|
|
9
15
|
: undefined;
|
|
16
|
+
let data = step.data;
|
|
17
|
+
if (shouldTag && data !== undefined) {
|
|
18
|
+
data = appendCelinaCalldataTag(data, attributionTags);
|
|
19
|
+
}
|
|
10
20
|
return {
|
|
11
21
|
to: step.to,
|
|
12
|
-
...(
|
|
22
|
+
...(data !== undefined ? { data } : {}),
|
|
13
23
|
...(value !== undefined && value > 0n ? { value } : {}),
|
|
14
24
|
};
|
|
15
25
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepared-calls.js","sourceRoot":"","sources":["../../src/aa/prepared-calls.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prepared-calls.js","sourceRoot":"","sources":["../../src/aa/prepared-calls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAIlE;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAmB,EACnB,eAA0B;IAE1B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,SAAS,GAAG,eAAe,KAAK,SAAS,CAAC;IAChD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,KAAK,GACT,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE;YAC3C,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YACpB,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,IAAI,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,GAAG,uBAAuB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QACxD,CAAC;QACD,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/build/aa/types.d.ts
CHANGED
|
@@ -16,8 +16,10 @@ export type GasSponsorshipConfig = {
|
|
|
16
16
|
};
|
|
17
17
|
/**
|
|
18
18
|
* Options for {@link createAAClient}.
|
|
19
|
-
*
|
|
20
|
-
*
|
|
19
|
+
*
|
|
20
|
+
* Set `attributionTags` here for hand-built prepared steps (tagged at `sendPreparedFlow`).
|
|
21
|
+
* For `prepare*` flows, you can set the same tags on `createCelinaClient` instead —
|
|
22
|
+
* use one consistent list per send path so suffixes do not stack with mismatched tags.
|
|
21
23
|
*/
|
|
22
24
|
export type CreateAAClientOptions = {
|
|
23
25
|
/** EOA owner of the Simple Smart Account (account or private key hex). */
|
|
@@ -26,6 +28,12 @@ export type CreateAAClientOptions = {
|
|
|
26
28
|
gasSponsorship: GasSponsorshipConfig;
|
|
27
29
|
/** Optional Celo public client; defaults to Forno mainnet. */
|
|
28
30
|
publicClient?: PublicClient;
|
|
31
|
+
/**
|
|
32
|
+
* Optional custom tags applied via `appendCelinaCalldataTag` on each step's `data`
|
|
33
|
+
* in `sendPreparedFlow` (legacy `CELINA|…` + ERC-8021). When omitted, step data
|
|
34
|
+
* is passed through unchanged.
|
|
35
|
+
*/
|
|
36
|
+
attributionTags?: string[];
|
|
29
37
|
};
|
|
30
38
|
/** How to map prepared transactions (`prepare*` output / ordered `steps`) into UserOperations. */
|
|
31
39
|
export type SendPreparedFlowMode = "batch" | "sequential";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ERC_8021_MARKER } from "@celo/attribution-tags";
|
|
2
|
-
/**
|
|
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
3
|
export declare const CELINA_DATA_SUFFIX: `0x${string}`;
|
|
4
4
|
export { ERC_8021_MARKER };
|
|
5
5
|
/** Normalize custom attribution tags while preserving first-seen order. */
|
|
@@ -36,11 +36,15 @@ export declare function verifyAttributionInCalldata(data: `0x${string}`, tag?: s
|
|
|
36
36
|
*/
|
|
37
37
|
export declare function checkAttributionInCalldata(data: `0x${string}`, tag?: string): AttributionCheckResult;
|
|
38
38
|
/**
|
|
39
|
-
* Append legacy UTF-8
|
|
39
|
+
* Append dual Celina attribution suffixes to calldata (legacy UTF-8 + ERC-8021).
|
|
40
|
+
*
|
|
41
|
+
* Used by `prepare*` when `createCelinaClient({ attributionTags })` is set, and by
|
|
42
|
+
* `createAAClient({ attributionTags }).sendPreparedFlow` when AA tags are set.
|
|
40
43
|
*
|
|
41
44
|
* @param data - Original transaction calldata.
|
|
42
|
-
* @param attributionTags - Optional tags
|
|
45
|
+
* @param attributionTags - Optional custom tags (same list semantics on Celina or AA client).
|
|
43
46
|
* Legacy layer: `CELINA|TAG1|TAG2` (app tags uppercase, `celo_<12 hex>` lowercase).
|
|
44
47
|
* ERC-8021 layer: `toDataSuffix(["celina", ...])` with lowercase codes.
|
|
48
|
+
* Example: `["goclaim"]` → legacy `CELINA|GOCLAIM` + codes `celina`, `goclaim` (not bare UTF-8 `GOCLAIM`).
|
|
45
49
|
*/
|
|
46
50
|
export declare function appendCelinaCalldataTag(data: `0x${string}`, attributionTags?: string[]): `0x${string}`;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ERC_8021_MARKER, fromDataSuffix, toDataSuffix, } from "@celo/attribution-tags";
|
|
2
2
|
import { concat, hexToString, stringToHex } from "viem";
|
|
3
|
-
/**
|
|
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
4
|
export const CELINA_DATA_SUFFIX = stringToHex("CELINA");
|
|
5
5
|
export { ERC_8021_MARKER };
|
|
6
6
|
/** Celo Builders on-chain attribution tag: `celo_` + 12 hex chars (lowercase). */
|
|
@@ -136,12 +136,16 @@ export function checkAttributionInCalldata(data, tag) {
|
|
|
136
136
|
};
|
|
137
137
|
}
|
|
138
138
|
/**
|
|
139
|
-
* Append legacy UTF-8
|
|
139
|
+
* Append dual Celina attribution suffixes to calldata (legacy UTF-8 + ERC-8021).
|
|
140
|
+
*
|
|
141
|
+
* Used by `prepare*` when `createCelinaClient({ attributionTags })` is set, and by
|
|
142
|
+
* `createAAClient({ attributionTags }).sendPreparedFlow` when AA tags are set.
|
|
140
143
|
*
|
|
141
144
|
* @param data - Original transaction calldata.
|
|
142
|
-
* @param attributionTags - Optional tags
|
|
145
|
+
* @param attributionTags - Optional custom tags (same list semantics on Celina or AA client).
|
|
143
146
|
* Legacy layer: `CELINA|TAG1|TAG2` (app tags uppercase, `celo_<12 hex>` lowercase).
|
|
144
147
|
* ERC-8021 layer: `toDataSuffix(["celina", ...])` with lowercase codes.
|
|
148
|
+
* Example: `["goclaim"]` → legacy `CELINA|GOCLAIM` + codes `celina`, `goclaim` (not bare UTF-8 `GOCLAIM`).
|
|
145
149
|
*/
|
|
146
150
|
export function appendCelinaCalldataTag(data, attributionTags) {
|
|
147
151
|
if (!data || data === "0x")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"celina-tag.js","sourceRoot":"","sources":["../../src/config/celina-tag.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,cAAc,EACd,YAAY,GACb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAExD,
|
|
1
|
+
{"version":3,"file":"celina-tag.js","sourceRoot":"","sources":["../../src/config/celina-tag.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@andrewkimjoseph/celina-sdk",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Celina SDK — Celo mainnet reads
|
|
3
|
+
"version": "0.15.1",
|
|
4
|
+
"description": "Celina SDK — Celo mainnet reads, unsigned transaction preparation, and ERC-4337 createAAClient for sponsored UserOps.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
7
7
|
"main": "build/index.js",
|
|
@@ -99,6 +99,7 @@
|
|
|
99
99
|
"@uniswap/universal-router-sdk": "^5.5.1",
|
|
100
100
|
"@uniswap/v4-sdk": "^2.2.1",
|
|
101
101
|
"ethers": "^6.15.0",
|
|
102
|
+
"ox": "^0.10.0",
|
|
102
103
|
"permissionless": "^0.2.57",
|
|
103
104
|
"viem": "^2.39.3",
|
|
104
105
|
"zod": "^3.24.3"
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { type CelinaA2ASkill } from "./skills.js";
|
|
2
|
-
export interface CelinaAgentCardOptions {
|
|
3
|
-
/** Public MCP host base URL for JSON-RPC execution, e.g. https://mcp.usecelina.xyz */
|
|
4
|
-
mcpBaseUrl?: string;
|
|
5
|
-
/** @deprecated Use mcpBaseUrl. Kept for backward compatibility. */
|
|
6
|
-
baseUrl?: string;
|
|
7
|
-
/** Celina package version shown on the card */
|
|
8
|
-
version: string;
|
|
9
|
-
}
|
|
10
|
-
export interface CelinaA2AAgentCard {
|
|
11
|
-
name: string;
|
|
12
|
-
description: string;
|
|
13
|
-
protocolVersion: string;
|
|
14
|
-
version: string;
|
|
15
|
-
url: string;
|
|
16
|
-
skills: Array<{
|
|
17
|
-
id: string;
|
|
18
|
-
name: string;
|
|
19
|
-
description: string;
|
|
20
|
-
tags: string[];
|
|
21
|
-
examples: string[];
|
|
22
|
-
}>;
|
|
23
|
-
capabilities: {
|
|
24
|
-
streaming: boolean;
|
|
25
|
-
pushNotifications: boolean;
|
|
26
|
-
};
|
|
27
|
-
defaultInputModes: string[];
|
|
28
|
-
defaultOutputModes: string[];
|
|
29
|
-
additionalInterfaces: Array<{
|
|
30
|
-
url: string;
|
|
31
|
-
transport: string;
|
|
32
|
-
}>;
|
|
33
|
-
/** Celina-specific task payload mime type */
|
|
34
|
-
extensions?: Record<string, unknown>;
|
|
35
|
-
}
|
|
36
|
-
export declare function buildCelinaA2ASkills(): CelinaA2ASkill[];
|
|
37
|
-
export declare function buildCelinaAgentCard(options: CelinaAgentCardOptions): CelinaA2AAgentCard;
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { buildSkillsFromToolNames, CELINA_TOOL_MIME, } from "./skills.js";
|
|
2
|
-
import { getHostedMcpToolNames, TOOL_CATEGORY_BY_NAME, } from "../tools/website-sync.js";
|
|
3
|
-
const DEFAULT_DESCRIPTION = "Celo mainnet specialist agent — hosted read-only access to balances, DeFi quotes, governance, staking, NFTs, and Self Agent ID verification via structured tool calls.";
|
|
4
|
-
export function buildCelinaA2ASkills() {
|
|
5
|
-
return buildSkillsFromToolNames(getHostedMcpToolNames(), TOOL_CATEGORY_BY_NAME);
|
|
6
|
-
}
|
|
7
|
-
export function buildCelinaAgentCard(options) {
|
|
8
|
-
const mcpBase = (options.mcpBaseUrl ??
|
|
9
|
-
options.baseUrl ??
|
|
10
|
-
"https://mcp.usecelina.xyz").replace(/\/$/, "");
|
|
11
|
-
const jsonRpcUrl = `${mcpBase}/api/a2a`;
|
|
12
|
-
const skills = buildCelinaA2ASkills();
|
|
13
|
-
return {
|
|
14
|
-
name: "Celina",
|
|
15
|
-
description: DEFAULT_DESCRIPTION,
|
|
16
|
-
protocolVersion: "0.3.0",
|
|
17
|
-
version: options.version,
|
|
18
|
-
url: jsonRpcUrl,
|
|
19
|
-
skills: skills.map((skill) => ({
|
|
20
|
-
id: skill.id,
|
|
21
|
-
name: skill.name,
|
|
22
|
-
description: skill.description,
|
|
23
|
-
tags: skill.tags,
|
|
24
|
-
examples: skill.examples,
|
|
25
|
-
})),
|
|
26
|
-
capabilities: {
|
|
27
|
-
streaming: false,
|
|
28
|
-
pushNotifications: false,
|
|
29
|
-
},
|
|
30
|
-
defaultInputModes: ["text", "data"],
|
|
31
|
-
defaultOutputModes: ["text", "data"],
|
|
32
|
-
additionalInterfaces: [
|
|
33
|
-
{ url: jsonRpcUrl, transport: "JSONRPC" },
|
|
34
|
-
],
|
|
35
|
-
extensions: {
|
|
36
|
-
celina: {
|
|
37
|
-
toolPayloadMime: CELINA_TOOL_MIME,
|
|
38
|
-
toolPayloadSchema: {
|
|
39
|
-
tool: "string — hosted MCP tool name",
|
|
40
|
-
arguments: "object — snake_case tool arguments",
|
|
41
|
-
},
|
|
42
|
-
},
|
|
43
|
-
},
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=agent-card.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-card.js","sourceRoot":"","sources":["../../../src/a2a/agent-card.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,gBAAgB,GAEjB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAsClC,MAAM,mBAAmB,GACvB,wKAAwK,CAAC;AAE3K,MAAM,UAAU,oBAAoB;IAClC,OAAO,wBAAwB,CAAC,qBAAqB,EAAE,EAAE,qBAAqB,CAAC,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAA+B;IAClE,MAAM,OAAO,GAAG,CACd,OAAO,CAAC,UAAU;QAClB,OAAO,CAAC,OAAO;QACf,2BAA2B,CAC5B,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACrB,MAAM,UAAU,GAAG,GAAG,OAAO,UAAU,CAAC;IACxC,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;IAEtC,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,mBAAmB;QAChC,eAAe,EAAE,OAAO;QACxB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,GAAG,EAAE,UAAU;QACf,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC7B,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,CAAC;QACH,YAAY,EAAE;YACZ,SAAS,EAAE,KAAK;YAChB,iBAAiB,EAAE,KAAK;SACzB;QACD,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;QACnC,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;QACpC,oBAAoB,EAAE;YACpB,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE;SAC1C;QACD,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,eAAe,EAAE,gBAAgB;gBACjC,iBAAiB,EAAE;oBACjB,IAAI,EAAE,+BAA+B;oBACrC,SAAS,EAAE,oCAAoC;iBAChD;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
|
package/build/src/a2a/index.d.ts
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export { buildCelinaAgentCard, buildCelinaA2ASkills, type CelinaAgentCardOptions, type CelinaA2AAgentCard, } from "./agent-card.js";
|
|
2
|
-
export { buildSkillsFromToolNames, CATEGORY_TO_A2A_SKILL, CELINA_TOOL_MIME, type CelinaA2ASkill, type CelinaA2ASkillMeta, } from "./skills.js";
|
package/build/src/a2a/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/a2a/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GAGrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,gBAAgB,GAGjB,MAAM,aAAa,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { WebsiteToolCategory } from "../tools/website-sync.js";
|
|
2
|
-
export declare const CELINA_TOOL_MIME = "application/vnd.celina.tool+json";
|
|
3
|
-
export interface CelinaA2ASkillMeta {
|
|
4
|
-
id: string;
|
|
5
|
-
name: string;
|
|
6
|
-
tags: string[];
|
|
7
|
-
}
|
|
8
|
-
/** Maps website tool categories to A2A skill metadata (hosted read profile). */
|
|
9
|
-
export declare const CATEGORY_TO_A2A_SKILL: Record<WebsiteToolCategory, CelinaA2ASkillMeta>;
|
|
10
|
-
export interface CelinaA2ASkill {
|
|
11
|
-
id: string;
|
|
12
|
-
name: string;
|
|
13
|
-
description: string;
|
|
14
|
-
tags: string[];
|
|
15
|
-
tools: string[];
|
|
16
|
-
examples: string[];
|
|
17
|
-
}
|
|
18
|
-
export declare function buildSkillsFromToolNames(toolNames: string[], categoryByName: Record<string, WebsiteToolCategory>): CelinaA2ASkill[];
|
package/build/src/a2a/skills.js
DELETED
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
export const CELINA_TOOL_MIME = "application/vnd.celina.tool+json";
|
|
2
|
-
/** Maps website tool categories to A2A skill metadata (hosted read profile). */
|
|
3
|
-
export const CATEGORY_TO_A2A_SKILL = {
|
|
4
|
-
Blockchain: {
|
|
5
|
-
id: "celo-blockchain",
|
|
6
|
-
name: "Celo blockchain reads",
|
|
7
|
-
tags: ["celo", "blockchain", "mainnet"],
|
|
8
|
-
},
|
|
9
|
-
Account: {
|
|
10
|
-
id: "celo-balances",
|
|
11
|
-
name: "Celo balances",
|
|
12
|
-
tags: ["celo", "balances", "account"],
|
|
13
|
-
},
|
|
14
|
-
Token: {
|
|
15
|
-
id: "celo-balances",
|
|
16
|
-
name: "Celo balances",
|
|
17
|
-
tags: ["celo", "balances", "token"],
|
|
18
|
-
},
|
|
19
|
-
Transaction: {
|
|
20
|
-
id: "celo-transaction",
|
|
21
|
-
name: "Celo transaction reads",
|
|
22
|
-
tags: ["celo", "transaction"],
|
|
23
|
-
},
|
|
24
|
-
"Mento FX": {
|
|
25
|
-
id: "mento-fx",
|
|
26
|
-
name: "Mento FX quotes",
|
|
27
|
-
tags: ["celo", "mento", "fx", "swap"],
|
|
28
|
-
},
|
|
29
|
-
Uniswap: {
|
|
30
|
-
id: "uniswap",
|
|
31
|
-
name: "Uniswap v4 quotes",
|
|
32
|
-
tags: ["celo", "uniswap", "swap", "amm"],
|
|
33
|
-
},
|
|
34
|
-
Wallet: {
|
|
35
|
-
id: "ens",
|
|
36
|
-
name: "ENS resolution",
|
|
37
|
-
tags: ["celo", "ens", "wallet"],
|
|
38
|
-
},
|
|
39
|
-
GoodDollar: {
|
|
40
|
-
id: "gooddollar",
|
|
41
|
-
name: "GoodDollar reads",
|
|
42
|
-
tags: ["celo", "gooddollar", "ubi", "reserve"],
|
|
43
|
-
},
|
|
44
|
-
Aave: {
|
|
45
|
-
id: "aave",
|
|
46
|
-
name: "Aave V3 reads",
|
|
47
|
-
tags: ["celo", "aave", "defi"],
|
|
48
|
-
},
|
|
49
|
-
Self: {
|
|
50
|
-
id: "self-verify",
|
|
51
|
-
name: "Self Agent ID verification",
|
|
52
|
-
tags: ["celo", "self", "identity", "agent"],
|
|
53
|
-
},
|
|
54
|
-
Governance: {
|
|
55
|
-
id: "governance",
|
|
56
|
-
name: "Celo governance",
|
|
57
|
-
tags: ["celo", "governance", "cgp"],
|
|
58
|
-
},
|
|
59
|
-
Staking: {
|
|
60
|
-
id: "staking",
|
|
61
|
-
name: "Celo staking",
|
|
62
|
-
tags: ["celo", "staking", "validators"],
|
|
63
|
-
},
|
|
64
|
-
NFT: {
|
|
65
|
-
id: "nft",
|
|
66
|
-
name: "NFT reads",
|
|
67
|
-
tags: ["celo", "nft", "erc721", "erc1155"],
|
|
68
|
-
},
|
|
69
|
-
Contract: {
|
|
70
|
-
id: "contract-read",
|
|
71
|
-
name: "Contract reads",
|
|
72
|
-
tags: ["celo", "contract", "abi"],
|
|
73
|
-
},
|
|
74
|
-
AgentKarma: {
|
|
75
|
-
id: "agentkarma-reputation",
|
|
76
|
-
name: "AgentKarma reputation reads",
|
|
77
|
-
tags: ["celo", "agentkarma", "reputation", "trust", "erc-8004"],
|
|
78
|
-
},
|
|
79
|
-
};
|
|
80
|
-
export function buildSkillsFromToolNames(toolNames, categoryByName) {
|
|
81
|
-
const bySkillId = new Map();
|
|
82
|
-
for (const toolName of toolNames) {
|
|
83
|
-
const category = categoryByName[toolName] ?? "Blockchain";
|
|
84
|
-
const meta = CATEGORY_TO_A2A_SKILL[category];
|
|
85
|
-
const existing = bySkillId.get(meta.id);
|
|
86
|
-
if (existing) {
|
|
87
|
-
existing.tools.push(toolName);
|
|
88
|
-
continue;
|
|
89
|
-
}
|
|
90
|
-
bySkillId.set(meta.id, {
|
|
91
|
-
id: meta.id,
|
|
92
|
-
name: meta.name,
|
|
93
|
-
description: `${meta.name} on Celo mainnet. Tools: ${toolName}.`,
|
|
94
|
-
tags: [...meta.tags],
|
|
95
|
-
tools: [toolName],
|
|
96
|
-
examples: [
|
|
97
|
-
`Send a DataPart (${CELINA_TOOL_MIME}) with {"tool":"${toolName}","arguments":{...}}.`,
|
|
98
|
-
],
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
for (const skill of bySkillId.values()) {
|
|
102
|
-
skill.description = `${skill.name} on Celo mainnet. Allowed tools: ${skill.tools.join(", ")}.`;
|
|
103
|
-
}
|
|
104
|
-
return [...bySkillId.values()].sort((a, b) => a.id.localeCompare(b.id));
|
|
105
|
-
}
|
|
106
|
-
//# sourceMappingURL=skills.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/a2a/skills.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { type Hex, type PrivateKeyAccount, type PublicClient } from "viem";
|
|
2
|
-
import type { PreparedFlow, SerializedPreparedFlow } from "../types/prepared.js";
|
|
3
|
-
import { GasSponsorshipService } from "./gas-sponsorship.js";
|
|
4
|
-
import type { CreateAAClientOptions, GasSponsorshipProviderId, SendPreparedFlowOptions, SendPreparedFlowResult } from "./types.js";
|
|
5
|
-
/**
|
|
6
|
-
* Derive the counterfactual Simple Smart Account address for an EOA owner
|
|
7
|
-
* (EntryPoint 0.7) without submitting a UserOp.
|
|
8
|
-
*/
|
|
9
|
-
export declare function deriveSmartAccountAddress(owner: PrivateKeyAccount | Hex, publicClient?: PublicClient): Promise<{
|
|
10
|
-
eoaAddress: `0x${string}`;
|
|
11
|
-
smartAccountAddress: `0x${string}`;
|
|
12
|
-
}>;
|
|
13
|
-
export type AAClient = {
|
|
14
|
-
/** Gas sponsorship backend id (e.g. `"pimlico"`). */
|
|
15
|
-
provider: GasSponsorshipProviderId;
|
|
16
|
-
/** EOA that owns the smart account. */
|
|
17
|
-
eoaAddress: `0x${string}`;
|
|
18
|
-
/** Counterfactual / deployed Simple Smart Account address. */
|
|
19
|
-
smartAccountAddress: `0x${string}`;
|
|
20
|
-
/** Underlying sponsorship service (URLs, paymaster, fees). */
|
|
21
|
-
gasSponsorship: GasSponsorshipService;
|
|
22
|
-
/**
|
|
23
|
-
* Submit `prepare*` output (ordered `steps` / prepared transactions) as sponsored UserOp(s).
|
|
24
|
-
* Does not append attribution; uses each step’s `data` as-is (including Celina dual tags from `prepare*`).
|
|
25
|
-
*/
|
|
26
|
-
sendPreparedFlow: (flow: PreparedFlow | SerializedPreparedFlow, options?: SendPreparedFlowOptions) => Promise<SendPreparedFlowResult>;
|
|
27
|
-
};
|
|
28
|
-
/**
|
|
29
|
-
* Create an ERC-4337 AA client on Celo mainnet (Simple Smart Account, EntryPoint 0.7).
|
|
30
|
-
*
|
|
31
|
-
* Pass an explicit `gasSponsorship` provider object — credentials are app-owned
|
|
32
|
-
* and never stored by Celina. v1 supports `provider: "pimlico"`.
|
|
33
|
-
*
|
|
34
|
-
* Does not accept `attributionTags`. Set them on `createCelinaClient({ attributionTags })`
|
|
35
|
-
* before `prepare*`; `sendPreparedFlow` preserves already-tagged step calldata.
|
|
36
|
-
*/
|
|
37
|
-
export declare function createAAClient(options: CreateAAClientOptions): Promise<AAClient>;
|