@continuumdao/continuum-node-sdk 1.2.13 → 1.2.16
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/dist/core/agent/cron-jobs.d.ts +7 -7
- package/dist/core/agent/cron-jobs.d.ts.map +1 -1
- package/dist/core/agent/cron-jobs.js +6 -6
- package/dist/core/agent/cron-jobs.js.map +1 -1
- package/dist/core/agent/environment-variables.d.ts +11 -1
- package/dist/core/agent/environment-variables.d.ts.map +1 -1
- package/dist/core/agent/environment-variables.js +89 -5
- package/dist/core/agent/environment-variables.js.map +1 -1
- package/dist/core/agent/mcp-servers-catalog.d.ts +1 -12
- package/dist/core/agent/mcp-servers-catalog.d.ts.map +1 -1
- package/dist/core/agent/mcp-servers-catalog.js +4 -67
- package/dist/core/agent/mcp-servers-catalog.js.map +1 -1
- package/dist/core/agent/mcp-servers.d.ts +11 -7
- package/dist/core/agent/mcp-servers.d.ts.map +1 -1
- package/dist/core/agent/mcp-servers.js +141 -35
- package/dist/core/agent/mcp-servers.js.map +1 -1
- package/dist/core/agent/skills.d.ts +3 -3
- package/dist/core/agent/skills.d.ts.map +1 -1
- package/dist/core/agent/skills.js +3 -3
- package/dist/core/agent/skills.js.map +1 -1
- package/dist/core/agent/webhooks.d.ts +101 -0
- package/dist/core/agent/webhooks.d.ts.map +1 -0
- package/dist/core/agent/webhooks.js +359 -0
- package/dist/core/agent/webhooks.js.map +1 -0
- package/dist/core/groups.d.ts +3 -3
- package/dist/core/groups.d.ts.map +1 -1
- package/dist/core/groups.js +3 -3
- package/dist/core/groups.js.map +1 -1
- package/dist/core/keygen-id.d.ts.map +1 -1
- package/dist/core/keygen-id.js +8 -2
- package/dist/core/keygen-id.js.map +1 -1
- package/dist/core/keygen-messaging.d.ts +2 -2
- package/dist/core/keygen-messaging.d.ts.map +1 -1
- package/dist/core/keygen-messaging.js +2 -2
- package/dist/core/keygen-messaging.js.map +1 -1
- package/dist/core/keygen.d.ts +4 -4
- package/dist/core/keygen.d.ts.map +1 -1
- package/dist/core/keygen.js +35 -8
- package/dist/core/keygen.js.map +1 -1
- package/dist/core/management-signer.d.ts +8 -8
- package/dist/core/management-signer.d.ts.map +1 -1
- package/dist/core/management-signer.js +24 -24
- package/dist/core/management-signer.js.map +1 -1
- package/dist/core/mpc/join-multisign-request.d.ts +6 -0
- package/dist/core/mpc/join-multisign-request.d.ts.map +1 -0
- package/dist/core/mpc/join-multisign-request.js +19 -0
- package/dist/core/mpc/join-multisign-request.js.map +1 -0
- package/dist/core/mpc/schemas.d.ts +6 -0
- package/dist/core/mpc/schemas.d.ts.map +1 -1
- package/dist/core/mpc/schemas.js +20 -0
- package/dist/core/mpc/schemas.js.map +1 -1
- package/dist/core/mpc/sign-request-utils.d.ts.map +1 -1
- package/dist/core/mpc/sign-request-utils.js +7 -2
- package/dist/core/mpc/sign-request-utils.js.map +1 -1
- package/dist/core/registry/address-book.d.ts +3 -3
- package/dist/core/registry/address-book.d.ts.map +1 -1
- package/dist/core/registry/address-book.js +3 -3
- package/dist/core/registry/address-book.js.map +1 -1
- package/dist/core/registry/networks.d.ts +3 -3
- package/dist/core/registry/networks.d.ts.map +1 -1
- package/dist/core/registry/networks.js +3 -3
- package/dist/core/registry/networks.js.map +1 -1
- package/dist/core/registry/registry-lookup.d.ts +2 -0
- package/dist/core/registry/registry-lookup.d.ts.map +1 -1
- package/dist/core/registry/registry-lookup.js +5 -0
- package/dist/core/registry/registry-lookup.js.map +1 -1
- package/dist/core/registry/tokens.d.ts +3 -3
- package/dist/core/registry/tokens.d.ts.map +1 -1
- package/dist/core/registry/tokens.js +3 -3
- package/dist/core/registry/tokens.js.map +1 -1
- package/dist/core/signing-flow.d.ts +9 -0
- package/dist/core/signing-flow.d.ts.map +1 -0
- package/dist/core/signing-flow.js +139 -0
- package/dist/core/signing-flow.js.map +1 -0
- package/dist/data/mpc-keys.d.ts +8 -0
- package/dist/data/mpc-keys.d.ts.map +1 -0
- package/dist/data/mpc-keys.js +38 -0
- package/dist/data/mpc-keys.js.map +1 -0
- package/dist/detops/general.d.ts +11 -0
- package/dist/detops/general.d.ts.map +1 -0
- package/dist/detops/general.js +34 -0
- package/dist/detops/general.js.map +1 -0
- package/dist/detops/group-actions.d.ts +71 -0
- package/dist/detops/group-actions.d.ts.map +1 -0
- package/dist/detops/group-actions.js +360 -0
- package/dist/detops/group-actions.js.map +1 -0
- package/dist/detops/groups.d.ts +33 -0
- package/dist/detops/groups.d.ts.map +1 -0
- package/dist/detops/groups.js +223 -0
- package/dist/detops/groups.js.map +1 -0
- package/dist/detops/keygen.d.ts +72 -0
- package/dist/detops/keygen.d.ts.map +1 -0
- package/dist/detops/keygen.js +245 -0
- package/dist/detops/keygen.js.map +1 -0
- package/dist/detops/management-keys.d.ts +44 -0
- package/dist/detops/management-keys.d.ts.map +1 -0
- package/dist/detops/management-keys.js +216 -0
- package/dist/detops/management-keys.js.map +1 -0
- package/dist/detops/management-signer.d.ts +129 -0
- package/dist/detops/management-signer.d.ts.map +1 -0
- package/dist/detops/management-signer.js +619 -0
- package/dist/detops/management-signer.js.map +1 -0
- package/dist/detops/management-signing.d.ts +11 -0
- package/dist/detops/management-signing.d.ts.map +1 -0
- package/dist/detops/management-signing.js +131 -0
- package/dist/detops/management-signing.js.map +1 -0
- package/dist/detops/mpc/broadcast-sign-result.d.ts +9 -0
- package/dist/detops/mpc/broadcast-sign-result.d.ts.map +1 -0
- package/dist/detops/mpc/broadcast-sign-result.js +147 -0
- package/dist/detops/mpc/broadcast-sign-result.js.map +1 -0
- package/dist/detops/mpc/bump-sign-result.d.ts +25 -0
- package/dist/detops/mpc/bump-sign-result.d.ts.map +1 -0
- package/dist/detops/mpc/bump-sign-result.js +314 -0
- package/dist/detops/mpc/bump-sign-result.js.map +1 -0
- package/dist/detops/mpc/client.d.ts +15 -0
- package/dist/detops/mpc/client.d.ts.map +1 -0
- package/dist/detops/mpc/client.js +62 -0
- package/dist/detops/mpc/client.js.map +1 -0
- package/dist/detops/mpc/compose-request.d.ts +6 -0
- package/dist/detops/mpc/compose-request.d.ts.map +1 -0
- package/dist/detops/mpc/compose-request.js +33 -0
- package/dist/detops/mpc/compose-request.js.map +1 -0
- package/dist/detops/mpc/context.d.ts +11 -0
- package/dist/detops/mpc/context.d.ts.map +1 -0
- package/dist/detops/mpc/context.js +43 -0
- package/dist/detops/mpc/context.js.map +1 -0
- package/dist/detops/mpc/forge-request.d.ts +6 -0
- package/dist/detops/mpc/forge-request.d.ts.map +1 -0
- package/dist/detops/mpc/forge-request.js +46 -0
- package/dist/detops/mpc/forge-request.js.map +1 -0
- package/dist/detops/mpc/gas-preflight.d.ts +25 -0
- package/dist/detops/mpc/gas-preflight.d.ts.map +1 -0
- package/dist/detops/mpc/gas-preflight.js +101 -0
- package/dist/detops/mpc/gas-preflight.js.map +1 -0
- package/dist/detops/mpc/list-ready.d.ts +10 -0
- package/dist/detops/mpc/list-ready.d.ts.map +1 -0
- package/dist/detops/mpc/list-ready.js +48 -0
- package/dist/detops/mpc/list-ready.js.map +1 -0
- package/dist/detops/mpc/management-post-sig.d.ts +11 -0
- package/dist/detops/mpc/management-post-sig.d.ts.map +1 -0
- package/dist/detops/mpc/management-post-sig.js +20 -0
- package/dist/detops/mpc/management-post-sig.js.map +1 -0
- package/dist/detops/mpc/mpa-top-up.d.ts +18 -0
- package/dist/detops/mpc/mpa-top-up.d.ts.map +1 -0
- package/dist/detops/mpc/mpa-top-up.js +213 -0
- package/dist/detops/mpc/mpa-top-up.js.map +1 -0
- package/dist/detops/mpc/register-keygen.d.ts +6 -0
- package/dist/detops/mpc/register-keygen.d.ts.map +1 -0
- package/dist/detops/mpc/register-keygen.js +41 -0
- package/dist/detops/mpc/register-keygen.js.map +1 -0
- package/dist/detops/mpc/schemas.d.ts +251 -0
- package/dist/detops/mpc/schemas.d.ts.map +1 -0
- package/dist/detops/mpc/schemas.js +163 -0
- package/dist/detops/mpc/schemas.js.map +1 -0
- package/dist/detops/mpc/sign-request-body.d.ts +10 -0
- package/dist/detops/mpc/sign-request-body.d.ts.map +1 -0
- package/dist/detops/mpc/sign-request-body.js +64 -0
- package/dist/detops/mpc/sign-request-body.js.map +1 -0
- package/dist/detops/mpc/sign-request-utils.d.ts +33 -0
- package/dist/detops/mpc/sign-request-utils.d.ts.map +1 -0
- package/dist/detops/mpc/sign-request-utils.js +467 -0
- package/dist/detops/mpc/sign-request-utils.js.map +1 -0
- package/dist/detops/mpc/transfer-native.d.ts +6 -0
- package/dist/detops/mpc/transfer-native.d.ts.map +1 -0
- package/dist/detops/mpc/transfer-native.js +167 -0
- package/dist/detops/mpc/transfer-native.js.map +1 -0
- package/dist/detops/mpc/transfer-tokens.d.ts +15 -0
- package/dist/detops/mpc/transfer-tokens.d.ts.map +1 -0
- package/dist/detops/mpc/transfer-tokens.js +110 -0
- package/dist/detops/mpc/transfer-tokens.js.map +1 -0
- package/dist/detops/mpc/trigger-sign-result.d.ts +8 -0
- package/dist/detops/mpc/trigger-sign-result.d.ts.map +1 -0
- package/dist/detops/mpc/trigger-sign-result.js +244 -0
- package/dist/detops/mpc/trigger-sign-result.js.map +1 -0
- package/dist/detops/mpc/types.d.ts +62 -0
- package/dist/detops/mpc/types.d.ts.map +1 -0
- package/dist/detops/mpc/types.js +2 -0
- package/dist/detops/mpc/types.js.map +1 -0
- package/dist/detops/node-info.d.ts +27 -0
- package/dist/detops/node-info.d.ts.map +1 -0
- package/dist/detops/node-info.js +96 -0
- package/dist/detops/node-info.js.map +1 -0
- package/dist/detops/registry/address-book.d.ts +25 -0
- package/dist/detops/registry/address-book.d.ts.map +1 -0
- package/dist/detops/registry/address-book.js +83 -0
- package/dist/detops/registry/address-book.js.map +1 -0
- package/dist/detops/registry/networks.d.ts +20 -0
- package/dist/detops/registry/networks.d.ts.map +1 -0
- package/dist/detops/registry/networks.js +154 -0
- package/dist/detops/registry/networks.js.map +1 -0
- package/dist/detops/registry/tokens.d.ts +29 -0
- package/dist/detops/registry/tokens.d.ts.map +1 -0
- package/dist/detops/registry/tokens.js +142 -0
- package/dist/detops/registry/tokens.js.map +1 -0
- package/dist/detops/result.d.ts +21 -0
- package/dist/detops/result.d.ts.map +1 -0
- package/dist/detops/result.js +2 -0
- package/dist/detops/result.js.map +1 -0
- package/dist/detops/schemas.d.ts +153 -0
- package/dist/detops/schemas.d.ts.map +1 -0
- package/dist/detops/schemas.js +82 -0
- package/dist/detops/schemas.js.map +1 -0
- package/dist/detops/signing-flow.d.ts +9 -0
- package/dist/detops/signing-flow.d.ts.map +1 -0
- package/dist/detops/signing-flow.js +139 -0
- package/dist/detops/signing-flow.js.map +1 -0
- package/dist/detops/types.d.ts +58 -0
- package/dist/detops/types.d.ts.map +1 -0
- package/dist/detops/types.js +46 -0
- package/dist/detops/types.js.map +1 -0
- package/dist/evm/forge-broadcast.d.ts +8 -0
- package/dist/evm/forge-broadcast.d.ts.map +1 -1
- package/dist/evm/forge-broadcast.js +5 -5
- package/dist/evm/forge-broadcast.js.map +1 -1
- package/dist/evm/join-multisign.d.ts +15 -0
- package/dist/evm/join-multisign.d.ts.map +1 -0
- package/dist/evm/join-multisign.js +376 -0
- package/dist/evm/join-multisign.js.map +1 -0
- package/dist/index.d.ts +8 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -6
- package/dist/index.js.map +1 -1
- package/dist/internal/ed25519/management-signing.d.ts +51 -0
- package/dist/internal/ed25519/management-signing.d.ts.map +1 -0
- package/dist/internal/ed25519/management-signing.js +198 -0
- package/dist/internal/ed25519/management-signing.js.map +1 -0
- package/dist/internal/ed25519/openssh-ed25519.d.ts +20 -0
- package/dist/internal/ed25519/openssh-ed25519.d.ts.map +1 -0
- package/dist/internal/ed25519/openssh-ed25519.js +129 -0
- package/dist/internal/ed25519/openssh-ed25519.js.map +1 -0
- package/dist/internal/management-request-signing.d.ts +32 -0
- package/dist/internal/management-request-signing.d.ts.map +1 -0
- package/dist/internal/management-request-signing.js +186 -0
- package/dist/internal/management-request-signing.js.map +1 -0
- package/dist/mcp/agent-environment-variables.d.ts +4 -0
- package/dist/mcp/agent-environment-variables.d.ts.map +1 -0
- package/dist/mcp/agent-environment-variables.js +44 -0
- package/dist/mcp/agent-environment-variables.js.map +1 -0
- package/dist/mcp/agent-mcp-servers.d.ts.map +1 -1
- package/dist/mcp/agent-mcp-servers.js +9 -9
- package/dist/mcp/agent-mcp-servers.js.map +1 -1
- package/dist/mcp/agent-webhooks.d.ts +4 -0
- package/dist/mcp/agent-webhooks.d.ts.map +1 -0
- package/dist/mcp/agent-webhooks.js +87 -0
- package/dist/mcp/agent-webhooks.js.map +1 -0
- package/dist/mcp/defi/aave-v4-input.d.ts +17 -0
- package/dist/mcp/defi/aave-v4-input.d.ts.map +1 -0
- package/dist/mcp/defi/aave-v4-input.js +363 -0
- package/dist/mcp/defi/aave-v4-input.js.map +1 -0
- package/dist/mcp/defi/catalog-adapter.d.ts +2 -14
- package/dist/mcp/defi/catalog-adapter.d.ts.map +1 -1
- package/dist/mcp/defi/catalog-adapter.js +2 -51
- package/dist/mcp/defi/catalog-adapter.js.map +1 -1
- package/dist/mcp/defi/curve-quote-input.d.ts +9 -0
- package/dist/mcp/defi/curve-quote-input.d.ts.map +1 -0
- package/dist/mcp/defi/curve-quote-input.js +64 -0
- package/dist/mcp/defi/curve-quote-input.js.map +1 -0
- package/dist/mcp/defi/discovery.d.ts.map +1 -1
- package/dist/mcp/defi/discovery.js +20 -10
- package/dist/mcp/defi/discovery.js.map +1 -1
- package/dist/mcp/defi/handler.d.ts +0 -8
- package/dist/mcp/defi/handler.d.ts.map +1 -1
- package/dist/mcp/defi/handler.js +95 -4
- package/dist/mcp/defi/handler.js.map +1 -1
- package/dist/mcp/defi/input-adapter.d.ts +1 -0
- package/dist/mcp/defi/input-adapter.d.ts.map +1 -1
- package/dist/mcp/defi/input-adapter.js +69 -38
- package/dist/mcp/defi/input-adapter.js.map +1 -1
- package/dist/mcp/defi/register-protocol-tools.d.ts.map +1 -1
- package/dist/mcp/defi/register-protocol-tools.js +62 -8
- package/dist/mcp/defi/register-protocol-tools.js.map +1 -1
- package/dist/mcp/defi/tool-schemas.d.ts +19 -0
- package/dist/mcp/defi/tool-schemas.d.ts.map +1 -0
- package/dist/mcp/defi/tool-schemas.js +65 -0
- package/dist/mcp/defi/tool-schemas.js.map +1 -0
- package/dist/mcp/defi/uniswap-api-key.d.ts +3 -1
- package/dist/mcp/defi/uniswap-api-key.d.ts.map +1 -1
- package/dist/mcp/defi/uniswap-api-key.js +11 -2
- package/dist/mcp/defi/uniswap-api-key.js.map +1 -1
- package/dist/mcp/defi/uniswap-liquidity-input.d.ts +11 -0
- package/dist/mcp/defi/uniswap-liquidity-input.d.ts.map +1 -0
- package/dist/mcp/defi/uniswap-liquidity-input.js +254 -0
- package/dist/mcp/defi/uniswap-liquidity-input.js.map +1 -0
- package/dist/mcp/defi/uniswap-liquidity-registry.d.ts +31 -0
- package/dist/mcp/defi/uniswap-liquidity-registry.d.ts.map +1 -0
- package/dist/mcp/defi/uniswap-liquidity-registry.js +296 -0
- package/dist/mcp/defi/uniswap-liquidity-registry.js.map +1 -0
- package/dist/mcp/defi/uniswap-quote-input.d.ts +10 -0
- package/dist/mcp/defi/uniswap-quote-input.d.ts.map +1 -0
- package/dist/mcp/defi/uniswap-quote-input.js +96 -0
- package/dist/mcp/defi/uniswap-quote-input.js.map +1 -0
- package/dist/mcp/detops/registry/address-book.d.ts +4 -0
- package/dist/mcp/detops/registry/address-book.d.ts.map +1 -0
- package/dist/mcp/detops/registry/address-book.js +39 -0
- package/dist/mcp/detops/registry/address-book.js.map +1 -0
- package/dist/mcp/detops/registry/networks.d.ts +4 -0
- package/dist/mcp/detops/registry/networks.d.ts.map +1 -0
- package/dist/mcp/detops/registry/networks.js +32 -0
- package/dist/mcp/detops/registry/networks.js.map +1 -0
- package/dist/mcp/detops/registry/tokens.d.ts +4 -0
- package/dist/mcp/detops/registry/tokens.d.ts.map +1 -0
- package/dist/mcp/detops/registry/tokens.js +43 -0
- package/dist/mcp/detops/registry/tokens.js.map +1 -0
- package/dist/mcp/ed25519/management-signing.d.ts +51 -0
- package/dist/mcp/ed25519/management-signing.d.ts.map +1 -0
- package/dist/mcp/ed25519/management-signing.js +198 -0
- package/dist/mcp/ed25519/management-signing.js.map +1 -0
- package/dist/mcp/ed25519/openssh-ed25519.d.ts +20 -0
- package/dist/mcp/ed25519/openssh-ed25519.d.ts.map +1 -0
- package/dist/mcp/ed25519/openssh-ed25519.js +129 -0
- package/dist/mcp/ed25519/openssh-ed25519.js.map +1 -0
- package/dist/mcp/groups.d.ts +71 -0
- package/dist/mcp/groups.d.ts.map +1 -0
- package/dist/mcp/groups.js +360 -0
- package/dist/mcp/groups.js.map +1 -0
- package/dist/mcp/keygen.d.ts.map +1 -1
- package/dist/mcp/keygen.js +4 -4
- package/dist/mcp/keygen.js.map +1 -1
- package/dist/mcp/management-keys.d.ts +4 -0
- package/dist/mcp/management-keys.d.ts.map +1 -0
- package/dist/mcp/management-keys.js +75 -0
- package/dist/mcp/management-keys.js.map +1 -0
- package/dist/mcp/management-signer.js +3 -3
- package/dist/mcp/management-signer.js.map +1 -1
- package/dist/mcp/mpc.d.ts.map +1 -1
- package/dist/mcp/mpc.js +7 -1
- package/dist/mcp/mpc.js.map +1 -1
- package/dist/mcp/normalize.d.ts +15 -0
- package/dist/mcp/normalize.d.ts.map +1 -0
- package/dist/mcp/normalize.js +204 -0
- package/dist/mcp/normalize.js.map +1 -0
- package/dist/mcp/register.d.ts +1 -0
- package/dist/mcp/register.d.ts.map +1 -1
- package/dist/mcp/register.js +6 -0
- package/dist/mcp/register.js.map +1 -1
- package/dist/mcp/schemas.d.ts +360 -0
- package/dist/mcp/schemas.d.ts.map +1 -0
- package/dist/mcp/schemas.js +263 -0
- package/dist/mcp/schemas.js.map +1 -0
- package/dist/mcp/signing.d.ts +32 -0
- package/dist/mcp/signing.d.ts.map +1 -0
- package/dist/mcp/signing.js +186 -0
- package/dist/mcp/signing.js.map +1 -0
- package/dist/mcp/tool-utils.d.ts +7 -0
- package/dist/mcp/tool-utils.d.ts.map +1 -1
- package/dist/mcp/tool-utils.js +7 -0
- package/dist/mcp/tool-utils.js.map +1 -1
- package/dist/ops/general.d.ts +11 -0
- package/dist/ops/general.d.ts.map +1 -0
- package/dist/ops/general.js +34 -0
- package/dist/ops/general.js.map +1 -0
- package/dist/ops/groups.d.ts +17 -0
- package/dist/ops/groups.d.ts.map +1 -0
- package/dist/ops/groups.js +105 -0
- package/dist/ops/groups.js.map +1 -0
- package/dist/ops/management-signing.d.ts +11 -0
- package/dist/ops/management-signing.d.ts.map +1 -0
- package/dist/ops/management-signing.js +131 -0
- package/dist/ops/management-signing.js.map +1 -0
- package/dist/ops/result.d.ts +21 -0
- package/dist/ops/result.d.ts.map +1 -0
- package/dist/ops/result.js +2 -0
- package/dist/ops/result.js.map +1 -0
- package/dist/ops/schemas.d.ts +153 -0
- package/dist/ops/schemas.d.ts.map +1 -0
- package/dist/ops/schemas.js +82 -0
- package/dist/ops/schemas.js.map +1 -0
- package/dist/ops/signing-flow.d.ts +8 -0
- package/dist/ops/signing-flow.d.ts.map +1 -0
- package/dist/ops/signing-flow.js +125 -0
- package/dist/ops/signing-flow.js.map +1 -0
- package/dist/ops/types.d.ts +58 -0
- package/dist/ops/types.d.ts.map +1 -0
- package/dist/ops/types.js +46 -0
- package/dist/ops/types.js.map +1 -0
- package/dist/registry/address-book.d.ts +25 -0
- package/dist/registry/address-book.d.ts.map +1 -0
- package/dist/registry/address-book.js +103 -0
- package/dist/registry/address-book.js.map +1 -0
- package/dist/registry/networks.d.ts +18 -0
- package/dist/registry/networks.d.ts.map +1 -0
- package/dist/registry/networks.js +180 -0
- package/dist/registry/networks.js.map +1 -0
- package/dist/registry/tokens.d.ts +29 -0
- package/dist/registry/tokens.d.ts.map +1 -0
- package/dist/registry/tokens.js +157 -0
- package/dist/registry/tokens.js.map +1 -0
- package/dist/schemas/extended.d.ts +366 -40
- package/dist/schemas/extended.d.ts.map +1 -1
- package/dist/schemas/extended.js +202 -28
- package/dist/schemas/extended.js.map +1 -1
- package/package.json +4 -3
|
@@ -0,0 +1,363 @@
|
|
|
1
|
+
import { aaveV4BorrowHealthGate, aaveV4RepayHealthGate, aaveV4WithdrawHealthGate, ensureAaveV4ChainTokenCache, fetchAaveV4HubsForChain, fetchAaveV4ReservesForUnderlying, fetchAaveV4UserPositionsForChain, findAaveV4HubReserveForChainUnderlying, findHubReserveForUnderlying, pickAaveV4ReserveRowForSpoke, previewAaveV4BorrowResultingHf, previewAaveV4RepayResultingHf, previewAaveV4WithdrawResultingHf, resolveAaveV4HubForUiMarket, } from '@continuumdao/ctm-mpc-defi/protocols/evm/aave-v4';
|
|
2
|
+
import { getAddress, isAddress, zeroAddress } from 'viem';
|
|
3
|
+
export const AAVE_V4_DEPOSIT_TOOL = 'ctm_aave_v4_build_deposit_multisign';
|
|
4
|
+
export const AAVE_V4_WITHDRAW_TOOL = 'ctm_aave_v4_build_withdraw_multisign';
|
|
5
|
+
export const AAVE_V4_BORROW_TOOL = 'ctm_aave_v4_build_borrow_multisign';
|
|
6
|
+
export const AAVE_V4_REPAY_TOOL = 'ctm_aave_v4_build_repay_multisign';
|
|
7
|
+
const AAVE_V4_MULTISIGN_TOOLS = new Set([
|
|
8
|
+
AAVE_V4_DEPOSIT_TOOL,
|
|
9
|
+
AAVE_V4_WITHDRAW_TOOL,
|
|
10
|
+
AAVE_V4_BORROW_TOOL,
|
|
11
|
+
AAVE_V4_REPAY_TOOL,
|
|
12
|
+
]);
|
|
13
|
+
export function isAaveV4MultisignTool(toolName) {
|
|
14
|
+
return AAVE_V4_MULTISIGN_TOOLS.has(toolName);
|
|
15
|
+
}
|
|
16
|
+
function blank(value) {
|
|
17
|
+
return typeof value !== 'string' || !value.trim();
|
|
18
|
+
}
|
|
19
|
+
function normalizeAaveV4MarketId(raw) {
|
|
20
|
+
const t = String(raw ?? '')
|
|
21
|
+
.trim()
|
|
22
|
+
.toLowerCase();
|
|
23
|
+
if (t === 'core')
|
|
24
|
+
return 'core';
|
|
25
|
+
if (t === 'bluechip' || t === 'prime' || t === 'institutional') {
|
|
26
|
+
return 'bluechip';
|
|
27
|
+
}
|
|
28
|
+
if (t === 'main' || t === 'plus' || t === 'default')
|
|
29
|
+
return 'main';
|
|
30
|
+
return 'main';
|
|
31
|
+
}
|
|
32
|
+
function parseOptionalAddress(raw) {
|
|
33
|
+
if (blank(raw) || !isAddress(String(raw).trim())) {
|
|
34
|
+
return undefined;
|
|
35
|
+
}
|
|
36
|
+
return getAddress(String(raw).trim());
|
|
37
|
+
}
|
|
38
|
+
function isNativeUnderlyingHint(raw) {
|
|
39
|
+
if (typeof raw !== 'string')
|
|
40
|
+
return false;
|
|
41
|
+
const t = raw.trim().toLowerCase();
|
|
42
|
+
return (t === 'eth' ||
|
|
43
|
+
t === 'native' ||
|
|
44
|
+
t === 'native_eth' ||
|
|
45
|
+
t === zeroAddress.toLowerCase());
|
|
46
|
+
}
|
|
47
|
+
function resolveUnderlyingAddress(raw, nativeWrapped) {
|
|
48
|
+
if (blank(raw)) {
|
|
49
|
+
return { ok: false, reason: 'underlying is required for Aave v4 multisign tools.' };
|
|
50
|
+
}
|
|
51
|
+
const trimmed = String(raw).trim();
|
|
52
|
+
if (isNativeUnderlyingHint(trimmed)) {
|
|
53
|
+
return { ok: true, data: { asset: nativeWrapped, isNativeIn: true } };
|
|
54
|
+
}
|
|
55
|
+
if (!isAddress(trimmed)) {
|
|
56
|
+
return { ok: false, reason: `Invalid underlying address: ${trimmed}` };
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
ok: true,
|
|
60
|
+
data: { asset: getAddress(trimmed), isNativeIn: false },
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
function reserveContextFromHubReserve(hubName, reserve) {
|
|
64
|
+
const spokeRaw = reserve.spoke?.address?.trim();
|
|
65
|
+
if (!spokeRaw || !isAddress(spokeRaw)) {
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
return {
|
|
69
|
+
spoke: getAddress(spokeRaw),
|
|
70
|
+
hubName,
|
|
71
|
+
reserveGraphqlId: null,
|
|
72
|
+
liquidationConfig: null,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
async function resolveReserveContext(args) {
|
|
76
|
+
const hubs = await fetchAaveV4HubsForChain(args.chainId);
|
|
77
|
+
if (!hubs.length) {
|
|
78
|
+
return {
|
|
79
|
+
ok: false,
|
|
80
|
+
reason: `No Aave v4 hubs found for chainId ${args.chainId}.`,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
const preferHub = resolveAaveV4HubForUiMarket(hubs, args.marketId, args.chainId);
|
|
84
|
+
if (!preferHub) {
|
|
85
|
+
return {
|
|
86
|
+
ok: false,
|
|
87
|
+
reason: `No Aave v4 hub for market "${args.marketId}" on chainId ${args.chainId}.`,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
const isBorrow = args.toolName === AAVE_V4_BORROW_TOOL;
|
|
91
|
+
const hubPickUnderlying = isBorrow
|
|
92
|
+
? (args.collateralUnderlying ?? args.asset)
|
|
93
|
+
: args.asset;
|
|
94
|
+
const found = await findAaveV4HubReserveForChainUnderlying({
|
|
95
|
+
chainId: args.chainId,
|
|
96
|
+
hubs,
|
|
97
|
+
underlying: hubPickUnderlying,
|
|
98
|
+
preferHub,
|
|
99
|
+
debtUnderlying: isBorrow ? args.asset : null,
|
|
100
|
+
debtBorrowAmountHumanForLiquidity: isBorrow ? args.amountHuman : null,
|
|
101
|
+
});
|
|
102
|
+
if (!found) {
|
|
103
|
+
return {
|
|
104
|
+
ok: false,
|
|
105
|
+
reason: `Could not resolve Aave v4 market for underlying ${args.asset} on chainId ${args.chainId} ` +
|
|
106
|
+
`(market "${args.marketId}"). Use get_defi_protocol_supported_tokens and pick a listed asset.`,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
const actionReserve = isBorrow
|
|
110
|
+
? findHubReserveForUnderlying(found.hubReserves, args.asset)
|
|
111
|
+
: found.reserve;
|
|
112
|
+
if (!actionReserve) {
|
|
113
|
+
return {
|
|
114
|
+
ok: false,
|
|
115
|
+
reason: isBorrow
|
|
116
|
+
? `Debt asset ${args.asset} is not borrowable in the resolved hub (${found.hub.name}).`
|
|
117
|
+
: `Asset ${args.asset} is not listed in the resolved hub (${found.hub.name}).`,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
const fromHub = reserveContextFromHubReserve(found.hub.name, actionReserve);
|
|
121
|
+
if (!fromHub) {
|
|
122
|
+
return {
|
|
123
|
+
ok: false,
|
|
124
|
+
reason: `No spoke address on the resolved reserve for ${args.asset}.`,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
return { ok: true, data: fromHub };
|
|
128
|
+
}
|
|
129
|
+
async function userHasBorrowDebtOnSpoke(args) {
|
|
130
|
+
const positions = await fetchAaveV4UserPositionsForChain({
|
|
131
|
+
user: args.user,
|
|
132
|
+
chainId: args.chainId,
|
|
133
|
+
});
|
|
134
|
+
const want = args.spoke.toLowerCase();
|
|
135
|
+
for (const p of positions) {
|
|
136
|
+
const addr = (p.spoke?.address ?? '').trim();
|
|
137
|
+
if (!addr || !isAddress(addr))
|
|
138
|
+
continue;
|
|
139
|
+
if (getAddress(addr).toLowerCase() !== want)
|
|
140
|
+
continue;
|
|
141
|
+
const debt = parseFloat(p.totalDebt?.current?.value ?? '0');
|
|
142
|
+
if (Number.isFinite(debt) && debt > 0)
|
|
143
|
+
return true;
|
|
144
|
+
}
|
|
145
|
+
return false;
|
|
146
|
+
}
|
|
147
|
+
function healthGateFailure(gate, acknowledgeHealthRisk) {
|
|
148
|
+
if (gate.outcome === 'allow')
|
|
149
|
+
return null;
|
|
150
|
+
if (gate.outcome === 'confirm') {
|
|
151
|
+
if (acknowledgeHealthRisk)
|
|
152
|
+
return null;
|
|
153
|
+
return {
|
|
154
|
+
ok: false,
|
|
155
|
+
reason: (gate.reason ?? 'Health factor risk requires acknowledgment.') +
|
|
156
|
+
' Set acknowledgeHealthRisk: true after explaining the risk to the user.',
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
return {
|
|
160
|
+
ok: false,
|
|
161
|
+
reason: gate.reason ?? 'Health factor preview blocked this action.',
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
async function validateAaveV4HealthPreflight(toolName, input, enriched, resolved) {
|
|
165
|
+
if (input.skipHealthPreview === true) {
|
|
166
|
+
return { ok: true, data: input };
|
|
167
|
+
}
|
|
168
|
+
if (toolName !== AAVE_V4_WITHDRAW_TOOL &&
|
|
169
|
+
toolName !== AAVE_V4_BORROW_TOOL &&
|
|
170
|
+
toolName !== AAVE_V4_REPAY_TOOL) {
|
|
171
|
+
return { ok: true, data: input };
|
|
172
|
+
}
|
|
173
|
+
const user = getAddress(enriched.executorAddress);
|
|
174
|
+
const spoke = resolved.spoke;
|
|
175
|
+
const underlying = getAddress(String(input.underlying));
|
|
176
|
+
const amountHuman = String(input.amountHuman ?? '').trim();
|
|
177
|
+
const acknowledgeHealthRisk = input.acknowledgeHealthRisk === true;
|
|
178
|
+
const rows = await fetchAaveV4ReservesForUnderlying({
|
|
179
|
+
chainId: enriched.chainId,
|
|
180
|
+
underlying,
|
|
181
|
+
user,
|
|
182
|
+
});
|
|
183
|
+
const row = pickAaveV4ReserveRowForSpoke(rows, spoke);
|
|
184
|
+
if (!row?.id) {
|
|
185
|
+
return { ok: true, data: input };
|
|
186
|
+
}
|
|
187
|
+
const liq = row.spoke?.liquidationConfig ?? null;
|
|
188
|
+
if (toolName === AAVE_V4_WITHDRAW_TOOL) {
|
|
189
|
+
const preview = await previewAaveV4WithdrawResultingHf({
|
|
190
|
+
user,
|
|
191
|
+
reserveId: row.id,
|
|
192
|
+
amountExactHuman: amountHuman,
|
|
193
|
+
});
|
|
194
|
+
if (preview.error) {
|
|
195
|
+
return { ok: false, reason: preview.error };
|
|
196
|
+
}
|
|
197
|
+
const hasBorrowDebt = await userHasBorrowDebtOnSpoke({
|
|
198
|
+
user,
|
|
199
|
+
chainId: enriched.chainId,
|
|
200
|
+
spoke,
|
|
201
|
+
});
|
|
202
|
+
const gate = aaveV4WithdrawHealthGate({
|
|
203
|
+
resultingHealthFactor: preview.resultingHf,
|
|
204
|
+
hasBorrowDebt,
|
|
205
|
+
liquidationConfig: liq,
|
|
206
|
+
});
|
|
207
|
+
const blocked = healthGateFailure(gate, acknowledgeHealthRisk);
|
|
208
|
+
if (blocked)
|
|
209
|
+
return blocked;
|
|
210
|
+
}
|
|
211
|
+
if (toolName === AAVE_V4_BORROW_TOOL) {
|
|
212
|
+
const preview = await previewAaveV4BorrowResultingHf({
|
|
213
|
+
user,
|
|
214
|
+
reserveGraphqlId: row.id,
|
|
215
|
+
amountExactHuman: amountHuman,
|
|
216
|
+
});
|
|
217
|
+
if (preview.error) {
|
|
218
|
+
return { ok: false, reason: preview.error };
|
|
219
|
+
}
|
|
220
|
+
const gate = aaveV4BorrowHealthGate({
|
|
221
|
+
resultingHealthFactor: preview.resultingHf,
|
|
222
|
+
liquidationConfig: liq,
|
|
223
|
+
});
|
|
224
|
+
const blocked = healthGateFailure(gate, acknowledgeHealthRisk);
|
|
225
|
+
if (blocked)
|
|
226
|
+
return blocked;
|
|
227
|
+
}
|
|
228
|
+
if (toolName === AAVE_V4_REPAY_TOOL) {
|
|
229
|
+
const preview = await previewAaveV4RepayResultingHf({
|
|
230
|
+
user,
|
|
231
|
+
reserveGraphqlId: row.id,
|
|
232
|
+
amountExactHuman: amountHuman,
|
|
233
|
+
});
|
|
234
|
+
if (preview.error) {
|
|
235
|
+
return { ok: false, reason: preview.error };
|
|
236
|
+
}
|
|
237
|
+
const gate = aaveV4RepayHealthGate({
|
|
238
|
+
resultingHealthFactor: preview.resultingHf,
|
|
239
|
+
liquidationConfig: liq,
|
|
240
|
+
strict: false,
|
|
241
|
+
});
|
|
242
|
+
const blocked = healthGateFailure(gate, acknowledgeHealthRisk);
|
|
243
|
+
if (blocked)
|
|
244
|
+
return blocked;
|
|
245
|
+
}
|
|
246
|
+
return { ok: true, data: input };
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Resolve spoke/underlying before Zod validation so agents are not required to
|
|
250
|
+
* guess deployment addresses (e.g. WETH on Ethereum is listed under Core, not Plus).
|
|
251
|
+
*/
|
|
252
|
+
export async function prepareAaveV4MultisignValidationInput(toolName, input, enriched) {
|
|
253
|
+
if (!isAaveV4MultisignTool(toolName)) {
|
|
254
|
+
return { ok: true, data: input };
|
|
255
|
+
}
|
|
256
|
+
const chainId = enriched.chainId;
|
|
257
|
+
const cache = await ensureAaveV4ChainTokenCache(chainId);
|
|
258
|
+
const nativeWrappedRaw = cache.nativeWrapped?.trim();
|
|
259
|
+
if (!nativeWrappedRaw || !isAddress(nativeWrappedRaw)) {
|
|
260
|
+
return {
|
|
261
|
+
ok: false,
|
|
262
|
+
reason: `Aave v4 has no wrapped-native token for chainId ${chainId}.`,
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
const nativeWrapped = getAddress(nativeWrappedRaw);
|
|
266
|
+
const underlyingResolved = resolveUnderlyingAddress(input.underlying, nativeWrapped);
|
|
267
|
+
if (!underlyingResolved.ok)
|
|
268
|
+
return underlyingResolved;
|
|
269
|
+
let isNativeIn = underlyingResolved.data.isNativeIn;
|
|
270
|
+
if (input.isNativeIn === true) {
|
|
271
|
+
isNativeIn = true;
|
|
272
|
+
}
|
|
273
|
+
if (toolName === AAVE_V4_DEPOSIT_TOOL &&
|
|
274
|
+
!isNativeIn &&
|
|
275
|
+
underlyingResolved.data.asset.toLowerCase() === nativeWrapped.toLowerCase() &&
|
|
276
|
+
input.depositNative === true) {
|
|
277
|
+
isNativeIn = true;
|
|
278
|
+
}
|
|
279
|
+
const marketId = normalizeAaveV4MarketId(input.marketId ?? 'main');
|
|
280
|
+
const amountHuman = String(input.amountHuman ?? '').trim();
|
|
281
|
+
const collateralUnderlying = parseOptionalAddress(input.collateralUnderlying);
|
|
282
|
+
const reserveResolved = await resolveReserveContext({
|
|
283
|
+
toolName,
|
|
284
|
+
chainId,
|
|
285
|
+
marketId,
|
|
286
|
+
asset: underlyingResolved.data.asset,
|
|
287
|
+
amountHuman,
|
|
288
|
+
collateralUnderlying,
|
|
289
|
+
});
|
|
290
|
+
if (!reserveResolved.ok)
|
|
291
|
+
return reserveResolved;
|
|
292
|
+
const out = {
|
|
293
|
+
...input,
|
|
294
|
+
underlying: underlyingResolved.data.asset,
|
|
295
|
+
spoke: reserveResolved.data.spoke,
|
|
296
|
+
marketId,
|
|
297
|
+
_aaveV4NativeWrapped: nativeWrapped,
|
|
298
|
+
_aaveV4IsNativeIn: isNativeIn,
|
|
299
|
+
_aaveV4HubName: reserveResolved.data.hubName,
|
|
300
|
+
};
|
|
301
|
+
const health = await validateAaveV4HealthPreflight(toolName, out, enriched, reserveResolved.data);
|
|
302
|
+
if (!health.ok)
|
|
303
|
+
return health;
|
|
304
|
+
return { ok: true, data: out };
|
|
305
|
+
}
|
|
306
|
+
/** Zod parse strips server-only keys; merge them back before builder mapping. */
|
|
307
|
+
export function mergeAaveV4ParsedWithPrepared(parsed, prepared) {
|
|
308
|
+
if (!prepared)
|
|
309
|
+
return parsed;
|
|
310
|
+
return {
|
|
311
|
+
...parsed,
|
|
312
|
+
spoke: parsed.spoke ?? prepared.spoke,
|
|
313
|
+
marketId: parsed.marketId ?? prepared.marketId,
|
|
314
|
+
isNativeIn: parsed.isNativeIn ??
|
|
315
|
+
prepared.isNativeIn ??
|
|
316
|
+
prepared._aaveV4IsNativeIn,
|
|
317
|
+
_aaveV4NativeWrapped: prepared._aaveV4NativeWrapped,
|
|
318
|
+
_aaveV4IsNativeIn: prepared._aaveV4IsNativeIn,
|
|
319
|
+
_aaveV4HubName: prepared._aaveV4HubName,
|
|
320
|
+
};
|
|
321
|
+
}
|
|
322
|
+
/** Map MCP tool fields to ctm-mpc-defi builder arg names. */
|
|
323
|
+
export function mapAaveV4MultisignBuilderArgs(toolName, fields, enriched) {
|
|
324
|
+
const market = normalizeAaveV4MarketId(fields.marketId ?? 'main');
|
|
325
|
+
const spoke = String(fields.spoke ?? '').trim();
|
|
326
|
+
const underlying = String(fields.underlying ?? '').trim();
|
|
327
|
+
const amountHuman = String(fields.amountHuman ?? '').trim();
|
|
328
|
+
const nativeWrapped = String(fields._aaveV4NativeWrapped ?? '').trim();
|
|
329
|
+
const isNativeIn = Boolean(fields._aaveV4IsNativeIn ?? fields.isNativeIn);
|
|
330
|
+
const onBehalfOf = enriched.executorAddress;
|
|
331
|
+
const common = {
|
|
332
|
+
spoke,
|
|
333
|
+
amountHuman,
|
|
334
|
+
onBehalfOf,
|
|
335
|
+
purposeText: String(fields.purposeText ?? '').trim(),
|
|
336
|
+
};
|
|
337
|
+
if (toolName === AAVE_V4_DEPOSIT_TOOL) {
|
|
338
|
+
return {
|
|
339
|
+
...common,
|
|
340
|
+
market,
|
|
341
|
+
asset: underlying,
|
|
342
|
+
nativeWrapped,
|
|
343
|
+
isNativeIn,
|
|
344
|
+
enableAsCollateralAfterSupply: fields.enableAsCollateralAfterSupply,
|
|
345
|
+
};
|
|
346
|
+
}
|
|
347
|
+
if (toolName === AAVE_V4_WITHDRAW_TOOL || toolName === AAVE_V4_BORROW_TOOL) {
|
|
348
|
+
return {
|
|
349
|
+
...common,
|
|
350
|
+
underlying,
|
|
351
|
+
marketLabel: market,
|
|
352
|
+
};
|
|
353
|
+
}
|
|
354
|
+
if (toolName === AAVE_V4_REPAY_TOOL) {
|
|
355
|
+
return {
|
|
356
|
+
...common,
|
|
357
|
+
underlying,
|
|
358
|
+
market,
|
|
359
|
+
};
|
|
360
|
+
}
|
|
361
|
+
return fields;
|
|
362
|
+
}
|
|
363
|
+
//# sourceMappingURL=aave-v4-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aave-v4-input.js","sourceRoot":"","sources":["../../../src/mcp/defi/aave-v4-input.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,6 @@
|
|
|
1
|
-
import { getProtocolSkill, type McpToolDefinition } from '@continuumdao/ctm-mpc-defi/agent';
|
|
2
|
-
export { getProtocolSkill };
|
|
3
|
-
export type ProtocolSupportAdvisor = {
|
|
4
|
-
tokenFilter?: string;
|
|
5
|
-
supportedChainIds(): Promise<number[]>;
|
|
6
|
-
supportedTokens(chainId: number, options?: {
|
|
7
|
-
rpcUrl?: string;
|
|
8
|
-
}): Promise<{
|
|
9
|
-
tokens: Array<Record<string, unknown>>;
|
|
10
|
-
nativeWrapped?: string;
|
|
11
|
-
notes?: string;
|
|
12
|
-
}>;
|
|
13
|
-
};
|
|
1
|
+
import { getProtocolSkill, getProtocolSupportAdvisor, type McpToolDefinition } from '@continuumdao/ctm-mpc-defi/agent';
|
|
2
|
+
export { getProtocolSkill, getProtocolSupportAdvisor };
|
|
14
3
|
/** Tools that return data directly (quote/swap prep) rather than { requestId } via multiSign POST. */
|
|
15
4
|
export declare const MCP_NON_SUBMIT_TOOL_NAMES: Set<string>;
|
|
16
5
|
export declare function getToolsForProtocol(protocolId: string): readonly McpToolDefinition[];
|
|
17
|
-
export declare function getProtocolSupportAdvisor(protocolId: string): ProtocolSupportAdvisor | undefined;
|
|
18
6
|
//# sourceMappingURL=catalog-adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog-adapter.d.ts","sourceRoot":"","sources":["../../../src/mcp/defi/catalog-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"catalog-adapter.d.ts","sourceRoot":"","sources":["../../../src/mcp/defi/catalog-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,gBAAgB,EAChB,yBAAyB,EACzB,KAAK,iBAAiB,EACtB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAC,gBAAgB,EAAE,yBAAyB,EAAC,CAAC;AAWrD,sGAAsG;AACtG,eAAO,MAAM,yBAAyB,aAErC,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,iBAAiB,EAAE,CAEpF"}
|
|
@@ -1,11 +1,5 @@
|
|
|
1
|
-
import { getMcpToolDefinitions,
|
|
2
|
-
export { getProtocolSkill };
|
|
3
|
-
/** Common EVM chain IDs probed via ProtocolModule.isChainSupported. */
|
|
4
|
-
const CANDIDATE_EVM_CHAIN_IDS = [
|
|
5
|
-
1, 5, 10, 56, 137, 480, 130, 196, 324, 480, 1868, 4217, 7777777, 81457,
|
|
6
|
-
8453, 84531, 84532, 10143, 42161, 421613, 43114, 42220, 44787, 59144,
|
|
7
|
-
11155111, 420, 80001,
|
|
8
|
-
];
|
|
1
|
+
import { getMcpToolDefinitions, getProtocolSkill, getProtocolSupportAdvisor, } from '@continuumdao/ctm-mpc-defi/agent';
|
|
2
|
+
export { getProtocolSkill, getProtocolSupportAdvisor };
|
|
9
3
|
function isNonSubmitTool(tool) {
|
|
10
4
|
const props = tool.outputSchema.properties;
|
|
11
5
|
return !(props &&
|
|
@@ -17,47 +11,4 @@ export const MCP_NON_SUBMIT_TOOL_NAMES = new Set(getMcpToolDefinitions().filter(
|
|
|
17
11
|
export function getToolsForProtocol(protocolId) {
|
|
18
12
|
return getMcpToolDefinitions().filter(tool => tool.protocolId === protocolId);
|
|
19
13
|
}
|
|
20
|
-
export function getProtocolSupportAdvisor(protocolId) {
|
|
21
|
-
const mod = getProtocolModules().find(p => p.id === protocolId);
|
|
22
|
-
if (!mod) {
|
|
23
|
-
return undefined;
|
|
24
|
-
}
|
|
25
|
-
return {
|
|
26
|
-
tokenFilter: mod.chainCategory,
|
|
27
|
-
async supportedChainIds() {
|
|
28
|
-
if (mod.chainCategory !== 'evm') {
|
|
29
|
-
return [];
|
|
30
|
-
}
|
|
31
|
-
const chainIds = [];
|
|
32
|
-
for (const chainId of CANDIDATE_EVM_CHAIN_IDS) {
|
|
33
|
-
if (await mod.isChainSupported({
|
|
34
|
-
chainCategory: 'evm',
|
|
35
|
-
chainId,
|
|
36
|
-
})) {
|
|
37
|
-
chainIds.push(chainId);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return [...new Set(chainIds)].sort((a, b) => a - b);
|
|
41
|
-
},
|
|
42
|
-
async supportedTokens(chainId, options) {
|
|
43
|
-
const rpcUrl = options?.rpcUrl?.trim();
|
|
44
|
-
const chainOk = await mod.isChainSupported({
|
|
45
|
-
chainCategory: mod.chainCategory,
|
|
46
|
-
chainId,
|
|
47
|
-
});
|
|
48
|
-
if (!chainOk) {
|
|
49
|
-
return {
|
|
50
|
-
tokens: [],
|
|
51
|
-
notes: `${protocolId} does not support chain ${chainId}.`,
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
return {
|
|
55
|
-
tokens: [],
|
|
56
|
-
notes: rpcUrl
|
|
57
|
-
? `On-chain token discovery for ${protocolId} is not implemented in the vendored defi catalog. Use get_token_registry or protocol tool inputs.`
|
|
58
|
-
: `Configure chain ${chainId} in get_chain_registry (rpcGateway) before token discovery. Token lists are not bundled for ${protocolId}.`,
|
|
59
|
-
};
|
|
60
|
-
},
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
14
|
//# sourceMappingURL=catalog-adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog-adapter.js","sourceRoot":"","sources":["../../../src/mcp/defi/catalog-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,qBAAqB,EACrB,
|
|
1
|
+
{"version":3,"file":"catalog-adapter.js","sourceRoot":"","sources":["../../../src/mcp/defi/catalog-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,qBAAqB,EACrB,gBAAgB,EAChB,yBAAyB,GAEzB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAC,gBAAgB,EAAE,yBAAyB,EAAC,CAAC;AAErD,SAAS,eAAe,CAAC,IAAuB;IAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;IAC3C,OAAO,CAAC,CACP,KAAK;QACL,aAAa,IAAI,KAAK;QACtB,eAAe,IAAI,KAAK,CACxB,CAAC;AACH,CAAC;AAED,sGAAsG;AACtG,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAC/C,qBAAqB,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CACtE,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,UAAkB;IACrD,OAAO,qBAAqB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;AAC/E,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { NodeSdkConfig } from '../../config/schema.js';
|
|
2
|
+
import type { SdkResult } from '../../core/result.js';
|
|
3
|
+
export declare const CURVE_DAO_QUOTE_TOOL_NAME = "ctm_curve_dao_quote";
|
|
4
|
+
/**
|
|
5
|
+
* Resolve rpcUrl from get_chain_registry for Curve quotes (same rpcGateway as multisign builders).
|
|
6
|
+
*/
|
|
7
|
+
export declare function adaptCurveQuoteMcpInput(config: NodeSdkConfig, toolName: string, input: Record<string, unknown>): Promise<SdkResult<Record<string, unknown>>>;
|
|
8
|
+
export declare function isCurveQuoteTool(toolName: string): boolean;
|
|
9
|
+
//# sourceMappingURL=curve-quote-input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"curve-quote-input.d.ts","sourceRoot":"","sources":["../../../src/mcp/defi/curve-quote-input.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAGpD,eAAO,MAAM,yBAAyB,wBAAwB,CAAC;AAwB/D;;GAEG;AACH,wBAAsB,uBAAuB,CAC5C,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAsC7C;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE1D"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { zeroAddress } from 'viem';
|
|
2
|
+
import { CURVE_NATIVE_PLACEHOLDER } from '@continuumdao/ctm-mpc-defi/protocols/evm/curve-dao';
|
|
3
|
+
import { resolveChainRegistryEntry } from '../../core/registry/networks.js';
|
|
4
|
+
import { parseEvmChainId } from './input-adapter.js';
|
|
5
|
+
export const CURVE_DAO_QUOTE_TOOL_NAME = 'ctm_curve_dao_quote';
|
|
6
|
+
/** Match Curve native coin id used by @curvefi/api router. */
|
|
7
|
+
function normalizeNativeTokenIn(tokenIn) {
|
|
8
|
+
if (typeof tokenIn !== 'string') {
|
|
9
|
+
return tokenIn;
|
|
10
|
+
}
|
|
11
|
+
const trimmed = tokenIn.trim();
|
|
12
|
+
if (!trimmed) {
|
|
13
|
+
return tokenIn;
|
|
14
|
+
}
|
|
15
|
+
const lower = trimmed.toLowerCase();
|
|
16
|
+
if (lower === 'eth' ||
|
|
17
|
+
lower === 'native' ||
|
|
18
|
+
lower === 'native_eth' ||
|
|
19
|
+
lower === zeroAddress.toLowerCase() ||
|
|
20
|
+
lower === CURVE_NATIVE_PLACEHOLDER.toLowerCase()) {
|
|
21
|
+
return CURVE_NATIVE_PLACEHOLDER;
|
|
22
|
+
}
|
|
23
|
+
return tokenIn;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Resolve rpcUrl from get_chain_registry for Curve quotes (same rpcGateway as multisign builders).
|
|
27
|
+
*/
|
|
28
|
+
export async function adaptCurveQuoteMcpInput(config, toolName, input) {
|
|
29
|
+
if (toolName !== CURVE_DAO_QUOTE_TOOL_NAME) {
|
|
30
|
+
return { ok: true, data: input };
|
|
31
|
+
}
|
|
32
|
+
const adapted = { ...input };
|
|
33
|
+
adapted.tokenIn = normalizeNativeTokenIn(adapted.tokenIn);
|
|
34
|
+
const chainId = parseEvmChainId(adapted.chainId);
|
|
35
|
+
if (!Number.isFinite(chainId) || chainId <= 0) {
|
|
36
|
+
return { ok: false, reason: 'chainId must be a positive integer.' };
|
|
37
|
+
}
|
|
38
|
+
adapted.chainId = chainId;
|
|
39
|
+
const rpcProvided = typeof adapted.rpcUrl === 'string' && adapted.rpcUrl.trim()
|
|
40
|
+
? adapted.rpcUrl.trim()
|
|
41
|
+
: undefined;
|
|
42
|
+
if (!rpcProvided) {
|
|
43
|
+
const chain = await resolveChainRegistryEntry(config, chainId);
|
|
44
|
+
if (!chain.ok) {
|
|
45
|
+
return chain;
|
|
46
|
+
}
|
|
47
|
+
const rpcUrl = String(chain.data.rpcGateway ?? '').trim();
|
|
48
|
+
if (!rpcUrl) {
|
|
49
|
+
return {
|
|
50
|
+
ok: false,
|
|
51
|
+
reason: `Chain registry entry for chainId ${chainId} has no rpcGateway. Configure it via get_chain_registry / add_to_chain_registry.`,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
adapted.rpcUrl = rpcUrl;
|
|
55
|
+
}
|
|
56
|
+
delete adapted.keyGenId;
|
|
57
|
+
delete adapted.purposeText;
|
|
58
|
+
delete adapted.useCustomGas;
|
|
59
|
+
return { ok: true, data: adapted };
|
|
60
|
+
}
|
|
61
|
+
export function isCurveQuoteTool(toolName) {
|
|
62
|
+
return toolName === CURVE_DAO_QUOTE_TOOL_NAME;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=curve-quote-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"curve-quote-input.js","sourceRoot":"","sources":["../../../src/mcp/defi/curve-quote-input.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../src/mcp/defi/discovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,yCAAyC,CAAC;AAQvE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../src/mcp/defi/discovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,yCAAyC,CAAC;AAQvE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAkBtD,wBAAgB,0BAA0B,CACzC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,mBAAmB,GAC9B,IAAI,CA6RN"}
|