@oobe-protocol-labs/synapse-sap-sdk 0.14.0 → 0.15.0
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/LICENSE +21 -0
- package/README.md +986 -0
- package/dist/cjs/client.js +30 -13
- package/dist/cjs/client.js.map +1 -1
- package/dist/cjs/constants/addresses.js +143 -0
- package/dist/cjs/constants/addresses.js.map +1 -0
- package/dist/cjs/constants/index.js +64 -0
- package/dist/cjs/constants/index.js.map +1 -0
- package/dist/cjs/constants/limits.js +161 -0
- package/dist/cjs/constants/limits.js.map +1 -0
- package/dist/cjs/constants/network.js +81 -0
- package/dist/cjs/constants/network.js.map +1 -0
- package/dist/cjs/constants/payments.js +137 -0
- package/dist/cjs/constants/payments.js.map +1 -0
- package/dist/cjs/constants/programs.js +78 -0
- package/dist/cjs/constants/programs.js.map +1 -0
- package/dist/cjs/constants/seeds.js +76 -0
- package/dist/cjs/constants/seeds.js.map +1 -0
- package/dist/cjs/constants.js +39 -32
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/core/client.js +546 -0
- package/dist/cjs/core/client.js.map +1 -0
- package/dist/cjs/core/connection.js +350 -0
- package/dist/cjs/core/connection.js.map +1 -0
- package/dist/cjs/core/index.js +25 -0
- package/dist/cjs/core/index.js.map +1 -0
- package/dist/cjs/errors/index.js +334 -0
- package/dist/cjs/errors/index.js.map +1 -0
- package/dist/cjs/errors.js +15 -5
- package/dist/cjs/errors.js.map +1 -1
- package/dist/cjs/events/geyser.js +295 -0
- package/dist/cjs/events/geyser.js.map +1 -0
- package/dist/cjs/events/index.js +32 -26
- package/dist/cjs/events/index.js.map +1 -1
- package/dist/cjs/idl/index.js +63 -0
- package/dist/cjs/idl/index.js.map +1 -0
- package/dist/cjs/idl/synapse_agent_sap.json +14595 -0
- package/dist/cjs/instructions/agent.js +1 -0
- package/dist/cjs/instructions/agent.js.map +1 -1
- package/dist/cjs/instructions/attestation.js +1 -0
- package/dist/cjs/instructions/attestation.js.map +1 -1
- package/dist/cjs/instructions/digest.js +1 -0
- package/dist/cjs/instructions/digest.js.map +1 -1
- package/dist/cjs/instructions/dispute.js +1 -0
- package/dist/cjs/instructions/dispute.js.map +1 -1
- package/dist/cjs/instructions/escrow.js +1 -0
- package/dist/cjs/instructions/escrow.js.map +1 -1
- package/dist/cjs/instructions/global.js +1 -0
- package/dist/cjs/instructions/global.js.map +1 -1
- package/dist/cjs/instructions/indexing.js +1 -0
- package/dist/cjs/instructions/indexing.js.map +1 -1
- package/dist/cjs/instructions/misc.js +1 -0
- package/dist/cjs/instructions/misc.js.map +1 -1
- package/dist/cjs/instructions/session.js +1 -0
- package/dist/cjs/instructions/session.js.map +1 -1
- package/dist/cjs/instructions/staking.js +1 -0
- package/dist/cjs/instructions/staking.js.map +1 -1
- package/dist/cjs/instructions/subscription.js +1 -0
- package/dist/cjs/instructions/subscription.js.map +1 -1
- package/dist/cjs/instructions/tools.js +1 -0
- package/dist/cjs/instructions/tools.js.map +1 -1
- package/dist/cjs/instructions/vault.js +1 -0
- package/dist/cjs/instructions/vault.js.map +1 -1
- package/dist/cjs/modules/agent.js +272 -0
- package/dist/cjs/modules/agent.js.map +1 -0
- package/dist/cjs/modules/attestation.js +147 -0
- package/dist/cjs/modules/attestation.js.map +1 -0
- package/dist/cjs/modules/base.js +189 -0
- package/dist/cjs/modules/base.js.map +1 -0
- package/dist/cjs/modules/escrow-v2.js +607 -0
- package/dist/cjs/modules/escrow-v2.js.map +1 -0
- package/dist/cjs/modules/escrow.js +336 -0
- package/dist/cjs/modules/escrow.js.map +1 -0
- package/dist/cjs/modules/feedback.js +166 -0
- package/dist/cjs/modules/feedback.js.map +1 -0
- package/dist/cjs/modules/index.js +43 -0
- package/dist/cjs/modules/index.js.map +1 -0
- package/dist/cjs/modules/indexing.js +375 -0
- package/dist/cjs/modules/indexing.js.map +1 -0
- package/dist/cjs/modules/ledger.js +234 -0
- package/dist/cjs/modules/ledger.js.map +1 -0
- package/dist/cjs/modules/receipt.js +148 -0
- package/dist/cjs/modules/receipt.js.map +1 -0
- package/dist/cjs/modules/staking.js +159 -0
- package/dist/cjs/modules/staking.js.map +1 -0
- package/dist/cjs/modules/subscription.js +96 -0
- package/dist/cjs/modules/subscription.js.map +1 -0
- package/dist/cjs/modules/tools.js +345 -0
- package/dist/cjs/modules/tools.js.map +1 -0
- package/dist/cjs/modules/vault.js +427 -0
- package/dist/cjs/modules/vault.js.map +1 -0
- package/dist/cjs/parser/client.js +146 -0
- package/dist/cjs/parser/client.js.map +1 -0
- package/dist/cjs/parser/complete.js +177 -0
- package/dist/cjs/parser/complete.js.map +1 -0
- package/dist/cjs/parser/index.js +57 -0
- package/dist/cjs/parser/index.js.map +1 -0
- package/dist/cjs/parser/inner.js +185 -0
- package/dist/cjs/parser/inner.js.map +1 -0
- package/dist/cjs/parser/instructions.js +114 -0
- package/dist/cjs/parser/instructions.js.map +1 -0
- package/dist/cjs/parser/transaction.js +153 -0
- package/dist/cjs/parser/transaction.js.map +1 -0
- package/dist/cjs/parser/types.js +14 -0
- package/dist/cjs/parser/types.js.map +1 -0
- package/dist/cjs/pda/index.js +672 -0
- package/dist/cjs/pda/index.js.map +1 -0
- package/dist/cjs/plugin/index.js +952 -0
- package/dist/cjs/plugin/index.js.map +1 -0
- package/dist/cjs/plugin/protocols.js +282 -0
- package/dist/cjs/plugin/protocols.js.map +1 -0
- package/dist/cjs/plugin/schemas.js +863 -0
- package/dist/cjs/plugin/schemas.js.map +1 -0
- package/dist/cjs/postgres/adapter.js +715 -0
- package/dist/cjs/postgres/adapter.js.map +1 -0
- package/dist/cjs/postgres/index.js +50 -0
- package/dist/cjs/postgres/index.js.map +1 -0
- package/dist/cjs/postgres/serializers.js +381 -0
- package/dist/cjs/postgres/serializers.js.map +1 -0
- package/dist/cjs/postgres/sync.js +289 -0
- package/dist/cjs/postgres/sync.js.map +1 -0
- package/dist/cjs/postgres/types.js +44 -0
- package/dist/cjs/postgres/types.js.map +1 -0
- package/dist/cjs/registries/builder.js +414 -0
- package/dist/cjs/registries/builder.js.map +1 -0
- package/dist/cjs/registries/discovery.js +362 -0
- package/dist/cjs/registries/discovery.js.map +1 -0
- package/dist/cjs/registries/fairscale.js +639 -0
- package/dist/cjs/registries/fairscale.js.map +1 -0
- package/dist/cjs/registries/index.js +58 -0
- package/dist/cjs/registries/index.js.map +1 -0
- package/dist/cjs/registries/metaplex-bridge.js +743 -0
- package/dist/cjs/registries/metaplex-bridge.js.map +1 -0
- package/dist/cjs/registries/session.js +433 -0
- package/dist/cjs/registries/session.js.map +1 -0
- package/dist/cjs/registries/x402.js +668 -0
- package/dist/cjs/registries/x402.js.map +1 -0
- package/dist/cjs/types/accounts.js +13 -0
- package/dist/cjs/types/accounts.js.map +1 -0
- package/dist/cjs/types/common.js +13 -0
- package/dist/cjs/types/common.js.map +1 -0
- package/dist/cjs/types/endpoint.js +15 -0
- package/dist/cjs/types/endpoint.js.map +1 -0
- package/dist/cjs/types/enums.js +269 -0
- package/dist/cjs/types/enums.js.map +1 -0
- package/dist/cjs/types/index.js +41 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/cjs/types/instructions.js +92 -0
- package/dist/cjs/types/instructions.js.map +1 -0
- package/dist/cjs/types.js +4 -1
- package/dist/cjs/types.js.map +1 -1
- package/dist/cjs/utils/anchor-errors.js +453 -0
- package/dist/cjs/utils/anchor-errors.js.map +1 -0
- package/dist/cjs/utils/endpoint-validator.js +232 -0
- package/dist/cjs/utils/endpoint-validator.js.map +1 -0
- package/dist/cjs/utils/escrow-validation.js +219 -0
- package/dist/cjs/utils/escrow-validation.js.map +1 -0
- package/dist/cjs/utils/hash.js +109 -0
- package/dist/cjs/utils/hash.js.map +1 -0
- package/dist/cjs/utils/index.js +10 -4
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/merchant-validator.js +246 -0
- package/dist/cjs/utils/merchant-validator.js.map +1 -0
- package/dist/cjs/utils/network-normalizer.js +236 -0
- package/dist/cjs/utils/network-normalizer.js.map +1 -0
- package/dist/cjs/utils/priority-fee.js +215 -0
- package/dist/cjs/utils/priority-fee.js.map +1 -0
- package/dist/cjs/utils/rpc-strategy.js +239 -0
- package/dist/cjs/utils/rpc-strategy.js.map +1 -0
- package/dist/cjs/utils/schemas.js +331 -0
- package/dist/cjs/utils/schemas.js.map +1 -0
- package/dist/cjs/utils/serialization.js +105 -0
- package/dist/cjs/utils/serialization.js.map +1 -0
- package/dist/cjs/utils/validate.js +1 -1
- package/dist/cjs/utils/validate.js.map +1 -1
- package/dist/cjs/utils/validation.js +36 -0
- package/dist/cjs/utils/validation.js.map +1 -0
- package/dist/cjs/utils/volume-curve.js +117 -0
- package/dist/cjs/utils/volume-curve.js.map +1 -0
- package/dist/cjs/utils/x402-direct.js +231 -0
- package/dist/cjs/utils/x402-direct.js.map +1 -0
- package/dist/esm/client.js +30 -13
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/constants/addresses.d.ts +117 -0
- package/dist/esm/constants/addresses.d.ts.map +1 -0
- package/dist/esm/constants/addresses.js +140 -0
- package/dist/esm/constants/addresses.js.map +1 -0
- package/dist/esm/constants/index.d.ts +31 -0
- package/dist/esm/constants/index.d.ts.map +1 -0
- package/dist/esm/constants/index.js +35 -0
- package/dist/esm/constants/index.js.map +1 -0
- package/dist/esm/constants/limits.d.ts +149 -0
- package/dist/esm/constants/limits.d.ts.map +1 -0
- package/dist/esm/constants/limits.js +158 -0
- package/dist/esm/constants/limits.js.map +1 -0
- package/dist/esm/constants/network.d.ts +81 -0
- package/dist/esm/constants/network.d.ts.map +1 -0
- package/dist/esm/constants/network.js +78 -0
- package/dist/esm/constants/network.js.map +1 -0
- package/dist/esm/constants/payments.d.ts +121 -0
- package/dist/esm/constants/payments.d.ts.map +1 -0
- package/dist/esm/constants/payments.js +131 -0
- package/dist/esm/constants/payments.js.map +1 -0
- package/dist/esm/constants/programs.d.ts +69 -0
- package/dist/esm/constants/programs.d.ts.map +1 -0
- package/dist/esm/constants/programs.js +75 -0
- package/dist/esm/constants/programs.js.map +1 -0
- package/dist/esm/constants/seeds.d.ts +80 -0
- package/dist/esm/constants/seeds.d.ts.map +1 -0
- package/dist/esm/constants/seeds.js +73 -0
- package/dist/esm/constants/seeds.js.map +1 -0
- package/dist/esm/constants.d.ts +14 -27
- package/dist/esm/constants.d.ts.map +1 -1
- package/dist/esm/constants.js +16 -31
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/core/client.d.ts +452 -0
- package/dist/esm/core/client.d.ts.map +1 -0
- package/dist/esm/core/client.js +539 -0
- package/dist/esm/core/client.js.map +1 -0
- package/dist/esm/core/connection.d.ts +305 -0
- package/dist/esm/core/connection.d.ts.map +1 -0
- package/dist/esm/core/connection.js +345 -0
- package/dist/esm/core/connection.js.map +1 -0
- package/dist/esm/core/index.d.ts +20 -0
- package/dist/esm/core/index.d.ts.map +1 -0
- package/dist/esm/core/index.js +19 -0
- package/dist/esm/core/index.js.map +1 -0
- package/dist/esm/errors/index.d.ts +276 -0
- package/dist/esm/errors/index.d.ts.map +1 -0
- package/dist/esm/errors/index.js +325 -0
- package/dist/esm/errors/index.js.map +1 -0
- package/dist/esm/errors.d.ts +8 -0
- package/dist/esm/errors.d.ts.map +1 -1
- package/dist/esm/errors.js +8 -0
- package/dist/esm/errors.js.map +1 -1
- package/dist/esm/events/geyser.d.ts +150 -0
- package/dist/esm/events/geyser.d.ts.map +1 -0
- package/dist/esm/events/geyser.js +258 -0
- package/dist/esm/events/geyser.js.map +1 -0
- package/dist/esm/events/index.d.ts +11 -7
- package/dist/esm/events/index.d.ts.map +1 -1
- package/dist/esm/events/index.js +30 -26
- package/dist/esm/events/index.js.map +1 -1
- package/dist/esm/idl/index.d.ts +70 -0
- package/dist/esm/idl/index.d.ts.map +1 -0
- package/dist/esm/idl/index.js +57 -0
- package/dist/esm/idl/index.js.map +1 -0
- package/dist/esm/idl/synapse_agent_sap.json +14595 -0
- package/dist/esm/instructions/agent.js +1 -0
- package/dist/esm/instructions/agent.js.map +1 -1
- package/dist/esm/instructions/attestation.js +1 -0
- package/dist/esm/instructions/attestation.js.map +1 -1
- package/dist/esm/instructions/digest.js +1 -0
- package/dist/esm/instructions/digest.js.map +1 -1
- package/dist/esm/instructions/dispute.js +1 -0
- package/dist/esm/instructions/dispute.js.map +1 -1
- package/dist/esm/instructions/escrow.js +1 -0
- package/dist/esm/instructions/escrow.js.map +1 -1
- package/dist/esm/instructions/global.js +1 -0
- package/dist/esm/instructions/global.js.map +1 -1
- package/dist/esm/instructions/indexing.js +1 -0
- package/dist/esm/instructions/indexing.js.map +1 -1
- package/dist/esm/instructions/misc.js +1 -0
- package/dist/esm/instructions/misc.js.map +1 -1
- package/dist/esm/instructions/session.js +1 -0
- package/dist/esm/instructions/session.js.map +1 -1
- package/dist/esm/instructions/staking.js +1 -0
- package/dist/esm/instructions/staking.js.map +1 -1
- package/dist/esm/instructions/subscription.js +1 -0
- package/dist/esm/instructions/subscription.js.map +1 -1
- package/dist/esm/instructions/tools.js +1 -0
- package/dist/esm/instructions/tools.js.map +1 -1
- package/dist/esm/instructions/vault.js +1 -0
- package/dist/esm/instructions/vault.js.map +1 -1
- package/dist/esm/modules/agent.d.ts +166 -0
- package/dist/esm/modules/agent.d.ts.map +1 -0
- package/dist/esm/modules/agent.js +268 -0
- package/dist/esm/modules/agent.js.map +1 -0
- package/dist/esm/modules/attestation.d.ts +96 -0
- package/dist/esm/modules/attestation.d.ts.map +1 -0
- package/dist/esm/modules/attestation.js +143 -0
- package/dist/esm/modules/attestation.js.map +1 -0
- package/dist/esm/modules/base.d.ts +161 -0
- package/dist/esm/modules/base.d.ts.map +1 -0
- package/dist/esm/modules/base.js +185 -0
- package/dist/esm/modules/base.js.map +1 -0
- package/dist/esm/modules/escrow-v2.d.ts +169 -0
- package/dist/esm/modules/escrow-v2.d.ts.map +1 -0
- package/dist/esm/modules/escrow-v2.js +603 -0
- package/dist/esm/modules/escrow-v2.js.map +1 -0
- package/dist/esm/modules/escrow.d.ts +168 -0
- package/dist/esm/modules/escrow.d.ts.map +1 -0
- package/dist/esm/modules/escrow.js +332 -0
- package/dist/esm/modules/escrow.js.map +1 -0
- package/dist/esm/modules/feedback.d.ts +105 -0
- package/dist/esm/modules/feedback.d.ts.map +1 -0
- package/dist/esm/modules/feedback.js +162 -0
- package/dist/esm/modules/feedback.js.map +1 -0
- package/dist/esm/modules/index.d.ts +28 -0
- package/dist/esm/modules/index.d.ts.map +1 -0
- package/dist/esm/modules/index.js +27 -0
- package/dist/esm/modules/index.js.map +1 -0
- package/dist/esm/modules/indexing.d.ts +200 -0
- package/dist/esm/modules/indexing.d.ts.map +1 -0
- package/dist/esm/modules/indexing.js +371 -0
- package/dist/esm/modules/indexing.js.map +1 -0
- package/dist/esm/modules/ledger.d.ts +150 -0
- package/dist/esm/modules/ledger.d.ts.map +1 -0
- package/dist/esm/modules/ledger.js +230 -0
- package/dist/esm/modules/ledger.js.map +1 -0
- package/dist/esm/modules/receipt.d.ts +77 -0
- package/dist/esm/modules/receipt.d.ts.map +1 -0
- package/dist/esm/modules/receipt.js +144 -0
- package/dist/esm/modules/receipt.js.map +1 -0
- package/dist/esm/modules/staking.d.ts +51 -0
- package/dist/esm/modules/staking.d.ts.map +1 -0
- package/dist/esm/modules/staking.js +155 -0
- package/dist/esm/modules/staking.js.map +1 -0
- package/dist/esm/modules/subscription.d.ts +33 -0
- package/dist/esm/modules/subscription.d.ts.map +1 -0
- package/dist/esm/modules/subscription.js +92 -0
- package/dist/esm/modules/subscription.js.map +1 -0
- package/dist/esm/modules/tools.d.ts +182 -0
- package/dist/esm/modules/tools.d.ts.map +1 -0
- package/dist/esm/modules/tools.js +341 -0
- package/dist/esm/modules/tools.js.map +1 -0
- package/dist/esm/modules/vault.d.ts +240 -0
- package/dist/esm/modules/vault.d.ts.map +1 -0
- package/dist/esm/modules/vault.js +423 -0
- package/dist/esm/modules/vault.js.map +1 -0
- package/dist/esm/parser/client.d.ts +123 -0
- package/dist/esm/parser/client.d.ts.map +1 -0
- package/dist/esm/parser/client.js +142 -0
- package/dist/esm/parser/client.js.map +1 -0
- package/dist/esm/parser/complete.d.ts +90 -0
- package/dist/esm/parser/complete.d.ts.map +1 -0
- package/dist/esm/parser/complete.js +173 -0
- package/dist/esm/parser/complete.js.map +1 -0
- package/dist/esm/parser/index.d.ts +40 -0
- package/dist/esm/parser/index.d.ts.map +1 -0
- package/dist/esm/parser/index.js +43 -0
- package/dist/esm/parser/index.js.map +1 -0
- package/dist/esm/parser/inner.d.ts +114 -0
- package/dist/esm/parser/inner.d.ts.map +1 -0
- package/dist/esm/parser/inner.js +180 -0
- package/dist/esm/parser/inner.js.map +1 -0
- package/dist/esm/parser/instructions.d.ts +76 -0
- package/dist/esm/parser/instructions.d.ts.map +1 -0
- package/dist/esm/parser/instructions.js +109 -0
- package/dist/esm/parser/instructions.js.map +1 -0
- package/dist/esm/parser/transaction.d.ts +77 -0
- package/dist/esm/parser/transaction.d.ts.map +1 -0
- package/dist/esm/parser/transaction.js +149 -0
- package/dist/esm/parser/transaction.js.map +1 -0
- package/dist/esm/parser/types.d.ts +154 -0
- package/dist/esm/parser/types.d.ts.map +1 -0
- package/dist/esm/parser/types.js +13 -0
- package/dist/esm/parser/types.js.map +1 -0
- package/dist/esm/pda/index.d.ts +510 -0
- package/dist/esm/pda/index.d.ts.map +1 -0
- package/dist/esm/pda/index.js +638 -0
- package/dist/esm/pda/index.js.map +1 -0
- package/dist/esm/plugin/index.d.ts +171 -0
- package/dist/esm/plugin/index.d.ts.map +1 -0
- package/dist/esm/plugin/index.js +945 -0
- package/dist/esm/plugin/index.js.map +1 -0
- package/dist/esm/plugin/protocols.d.ts +152 -0
- package/dist/esm/plugin/protocols.d.ts.map +1 -0
- package/dist/esm/plugin/protocols.js +279 -0
- package/dist/esm/plugin/protocols.js.map +1 -0
- package/dist/esm/plugin/schemas.d.ts +829 -0
- package/dist/esm/plugin/schemas.d.ts.map +1 -0
- package/dist/esm/plugin/schemas.js +860 -0
- package/dist/esm/plugin/schemas.js.map +1 -0
- package/dist/esm/postgres/adapter.d.ts +355 -0
- package/dist/esm/postgres/adapter.d.ts.map +1 -0
- package/dist/esm/postgres/adapter.js +678 -0
- package/dist/esm/postgres/adapter.js.map +1 -0
- package/dist/esm/postgres/index.d.ts +24 -0
- package/dist/esm/postgres/index.d.ts.map +1 -0
- package/dist/esm/postgres/index.js +27 -0
- package/dist/esm/postgres/index.js.map +1 -0
- package/dist/esm/postgres/serializers.d.ts +30 -0
- package/dist/esm/postgres/serializers.d.ts.map +1 -0
- package/dist/esm/postgres/serializers.js +362 -0
- package/dist/esm/postgres/serializers.js.map +1 -0
- package/dist/esm/postgres/sync.d.ts +156 -0
- package/dist/esm/postgres/sync.d.ts.map +1 -0
- package/dist/esm/postgres/sync.js +285 -0
- package/dist/esm/postgres/sync.js.map +1 -0
- package/dist/esm/postgres/types.d.ts +167 -0
- package/dist/esm/postgres/types.d.ts.map +1 -0
- package/dist/esm/postgres/types.js +41 -0
- package/dist/esm/postgres/types.js.map +1 -0
- package/dist/esm/registries/builder.d.ts +340 -0
- package/dist/esm/registries/builder.d.ts.map +1 -0
- package/dist/esm/registries/builder.js +410 -0
- package/dist/esm/registries/builder.js.map +1 -0
- package/dist/esm/registries/discovery.d.ts +333 -0
- package/dist/esm/registries/discovery.d.ts.map +1 -0
- package/dist/esm/registries/discovery.js +358 -0
- package/dist/esm/registries/discovery.js.map +1 -0
- package/dist/esm/registries/fairscale.d.ts +680 -0
- package/dist/esm/registries/fairscale.d.ts.map +1 -0
- package/dist/esm/registries/fairscale.js +633 -0
- package/dist/esm/registries/fairscale.js.map +1 -0
- package/dist/esm/registries/index.d.ts +52 -0
- package/dist/esm/registries/index.d.ts.map +1 -0
- package/dist/esm/registries/index.js +46 -0
- package/dist/esm/registries/index.js.map +1 -0
- package/dist/esm/registries/metaplex-bridge.d.ts +489 -0
- package/dist/esm/registries/metaplex-bridge.d.ts.map +1 -0
- package/dist/esm/registries/metaplex-bridge.js +706 -0
- package/dist/esm/registries/metaplex-bridge.js.map +1 -0
- package/dist/esm/registries/session.d.ts +323 -0
- package/dist/esm/registries/session.d.ts.map +1 -0
- package/dist/esm/registries/session.js +429 -0
- package/dist/esm/registries/session.js.map +1 -0
- package/dist/esm/registries/x402.d.ts +530 -0
- package/dist/esm/registries/x402.d.ts.map +1 -0
- package/dist/esm/registries/x402.js +664 -0
- package/dist/esm/registries/x402.js.map +1 -0
- package/dist/esm/types/accounts.d.ts +765 -0
- package/dist/esm/types/accounts.d.ts.map +1 -0
- package/dist/esm/types/accounts.js +12 -0
- package/dist/esm/types/accounts.js.map +1 -0
- package/dist/esm/types/common.d.ts +166 -0
- package/dist/esm/types/common.d.ts.map +1 -0
- package/dist/esm/types/common.js +12 -0
- package/dist/esm/types/common.js.map +1 -0
- package/dist/esm/types/endpoint.d.ts +161 -0
- package/dist/esm/types/endpoint.d.ts.map +1 -0
- package/dist/esm/types/endpoint.js +14 -0
- package/dist/esm/types/endpoint.js.map +1 -0
- package/dist/esm/types/enums.d.ts +353 -0
- package/dist/esm/types/enums.d.ts.map +1 -0
- package/dist/esm/types/enums.js +266 -0
- package/dist/esm/types/enums.js.map +1 -0
- package/dist/esm/types/index.d.ts +29 -0
- package/dist/esm/types/index.d.ts.map +1 -0
- package/dist/esm/types/index.js +25 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/types/instructions.d.ts +400 -0
- package/dist/esm/types/instructions.d.ts.map +1 -0
- package/dist/esm/types/instructions.js +89 -0
- package/dist/esm/types/instructions.js.map +1 -0
- package/dist/esm/types.d.ts +28 -0
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/types.js +1 -0
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/utils/anchor-errors.d.ts +61 -0
- package/dist/esm/utils/anchor-errors.d.ts.map +1 -0
- package/dist/esm/utils/anchor-errors.js +447 -0
- package/dist/esm/utils/anchor-errors.js.map +1 -0
- package/dist/esm/utils/endpoint-validator.d.ts +110 -0
- package/dist/esm/utils/endpoint-validator.d.ts.map +1 -0
- package/dist/esm/utils/endpoint-validator.js +226 -0
- package/dist/esm/utils/endpoint-validator.js.map +1 -0
- package/dist/esm/utils/escrow-validation.d.ts +145 -0
- package/dist/esm/utils/escrow-validation.d.ts.map +1 -0
- package/dist/esm/utils/escrow-validation.js +212 -0
- package/dist/esm/utils/escrow-validation.js.map +1 -0
- package/dist/esm/utils/hash.d.ts +75 -0
- package/dist/esm/utils/hash.d.ts.map +1 -0
- package/dist/esm/utils/hash.js +103 -0
- package/dist/esm/utils/hash.js.map +1 -0
- package/dist/esm/utils/index.d.ts +3 -1
- package/dist/esm/utils/index.d.ts.map +1 -1
- package/dist/esm/utils/index.js +6 -3
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/merchant-validator.d.ts +176 -0
- package/dist/esm/utils/merchant-validator.d.ts.map +1 -0
- package/dist/esm/utils/merchant-validator.js +241 -0
- package/dist/esm/utils/merchant-validator.js.map +1 -0
- package/dist/esm/utils/network-normalizer.d.ts +120 -0
- package/dist/esm/utils/network-normalizer.d.ts.map +1 -0
- package/dist/esm/utils/network-normalizer.js +229 -0
- package/dist/esm/utils/network-normalizer.js.map +1 -0
- package/dist/esm/utils/priority-fee.d.ts +205 -0
- package/dist/esm/utils/priority-fee.d.ts.map +1 -0
- package/dist/esm/utils/priority-fee.js +209 -0
- package/dist/esm/utils/priority-fee.js.map +1 -0
- package/dist/esm/utils/rpc-strategy.d.ts +172 -0
- package/dist/esm/utils/rpc-strategy.d.ts.map +1 -0
- package/dist/esm/utils/rpc-strategy.js +231 -0
- package/dist/esm/utils/rpc-strategy.js.map +1 -0
- package/dist/esm/utils/schemas.d.ts +351 -0
- package/dist/esm/utils/schemas.d.ts.map +1 -0
- package/dist/esm/utils/schemas.js +320 -0
- package/dist/esm/utils/schemas.js.map +1 -0
- package/dist/esm/utils/serialization.d.ts +69 -0
- package/dist/esm/utils/serialization.d.ts.map +1 -0
- package/dist/esm/utils/serialization.js +98 -0
- package/dist/esm/utils/serialization.js.map +1 -0
- package/dist/esm/utils/validate.js +1 -1
- package/dist/esm/utils/validate.js.map +1 -1
- package/dist/esm/utils/validation.d.ts +29 -0
- package/dist/esm/utils/validation.d.ts.map +1 -0
- package/dist/esm/utils/validation.js +33 -0
- package/dist/esm/utils/validation.js.map +1 -0
- package/dist/esm/utils/volume-curve.d.ts +60 -0
- package/dist/esm/utils/volume-curve.d.ts.map +1 -0
- package/dist/esm/utils/volume-curve.js +114 -0
- package/dist/esm/utils/volume-curve.js.map +1 -0
- package/dist/esm/utils/x402-direct.d.ts +114 -0
- package/dist/esm/utils/x402-direct.d.ts.map +1 -0
- package/dist/esm/utils/x402-direct.js +228 -0
- package/dist/esm/utils/x402-direct.js.map +1 -0
- package/dist/types/constants/addresses.d.ts +117 -0
- package/dist/types/constants/addresses.d.ts.map +1 -0
- package/dist/types/constants/index.d.ts +31 -0
- package/dist/types/constants/index.d.ts.map +1 -0
- package/dist/types/constants/limits.d.ts +149 -0
- package/dist/types/constants/limits.d.ts.map +1 -0
- package/dist/types/constants/network.d.ts +81 -0
- package/dist/types/constants/network.d.ts.map +1 -0
- package/dist/types/constants/payments.d.ts +121 -0
- package/dist/types/constants/payments.d.ts.map +1 -0
- package/dist/types/constants/programs.d.ts +69 -0
- package/dist/types/constants/programs.d.ts.map +1 -0
- package/dist/types/constants/seeds.d.ts +82 -0
- package/dist/types/constants/seeds.d.ts.map +1 -0
- package/dist/types/core/client.d.ts +467 -0
- package/dist/types/core/client.d.ts.map +1 -0
- package/dist/types/core/connection.d.ts +305 -0
- package/dist/types/core/connection.d.ts.map +1 -0
- package/dist/types/core/index.d.ts +20 -0
- package/dist/types/core/index.d.ts.map +1 -0
- package/dist/types/errors/index.d.ts +335 -0
- package/dist/types/errors/index.d.ts.map +1 -0
- package/dist/types/events/geyser.d.ts +150 -0
- package/dist/types/events/geyser.d.ts.map +1 -0
- package/dist/types/events/index.d.ts +248 -0
- package/dist/types/events/index.d.ts.map +1 -0
- package/dist/types/idl/index.d.ts +70 -0
- package/dist/types/idl/index.d.ts.map +1 -0
- package/dist/types/index.d.ts +86 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/modules/agent.d.ts +156 -0
- package/dist/types/modules/agent.d.ts.map +1 -0
- package/dist/types/modules/attestation.d.ts +96 -0
- package/dist/types/modules/attestation.d.ts.map +1 -0
- package/dist/types/modules/base.d.ts +215 -0
- package/dist/types/modules/base.d.ts.map +1 -0
- package/dist/types/modules/escrow-v2.d.ts +285 -0
- package/dist/types/modules/escrow-v2.d.ts.map +1 -0
- package/dist/types/modules/feedback.d.ts +105 -0
- package/dist/types/modules/feedback.d.ts.map +1 -0
- package/dist/types/modules/index.d.ts +27 -0
- package/dist/types/modules/index.d.ts.map +1 -0
- package/dist/types/modules/indexing.d.ts +200 -0
- package/dist/types/modules/indexing.d.ts.map +1 -0
- package/dist/types/modules/ledger.d.ts +150 -0
- package/dist/types/modules/ledger.d.ts.map +1 -0
- package/dist/types/modules/receipt.d.ts +91 -0
- package/dist/types/modules/receipt.d.ts.map +1 -0
- package/dist/types/modules/staking.d.ts +51 -0
- package/dist/types/modules/staking.d.ts.map +1 -0
- package/dist/types/modules/subscription.d.ts +33 -0
- package/dist/types/modules/subscription.d.ts.map +1 -0
- package/dist/types/modules/tools.d.ts +172 -0
- package/dist/types/modules/tools.d.ts.map +1 -0
- package/dist/types/modules/vault.d.ts +240 -0
- package/dist/types/modules/vault.d.ts.map +1 -0
- package/dist/types/parser/client.d.ts +123 -0
- package/dist/types/parser/client.d.ts.map +1 -0
- package/dist/types/parser/complete.d.ts +90 -0
- package/dist/types/parser/complete.d.ts.map +1 -0
- package/dist/types/parser/index.d.ts +40 -0
- package/dist/types/parser/index.d.ts.map +1 -0
- package/dist/types/parser/inner.d.ts +114 -0
- package/dist/types/parser/inner.d.ts.map +1 -0
- package/dist/types/parser/instructions.d.ts +76 -0
- package/dist/types/parser/instructions.d.ts.map +1 -0
- package/dist/types/parser/transaction.d.ts +77 -0
- package/dist/types/parser/transaction.d.ts.map +1 -0
- package/dist/types/parser/types.d.ts +154 -0
- package/dist/types/parser/types.d.ts.map +1 -0
- package/dist/types/pda/index.d.ts +527 -0
- package/dist/types/pda/index.d.ts.map +1 -0
- package/dist/types/plugin/index.d.ts +171 -0
- package/dist/types/plugin/index.d.ts.map +1 -0
- package/dist/types/plugin/protocols.d.ts +152 -0
- package/dist/types/plugin/protocols.d.ts.map +1 -0
- package/dist/types/plugin/schemas.d.ts +829 -0
- package/dist/types/plugin/schemas.d.ts.map +1 -0
- package/dist/types/postgres/adapter.d.ts +355 -0
- package/dist/types/postgres/adapter.d.ts.map +1 -0
- package/dist/types/postgres/index.d.ts +24 -0
- package/dist/types/postgres/index.d.ts.map +1 -0
- package/dist/types/postgres/serializers.d.ts +30 -0
- package/dist/types/postgres/serializers.d.ts.map +1 -0
- package/dist/types/postgres/sync.d.ts +156 -0
- package/dist/types/postgres/sync.d.ts.map +1 -0
- package/dist/types/postgres/types.d.ts +167 -0
- package/dist/types/postgres/types.d.ts.map +1 -0
- package/dist/types/registries/builder.d.ts +333 -0
- package/dist/types/registries/builder.d.ts.map +1 -0
- package/dist/types/registries/discovery.d.ts +333 -0
- package/dist/types/registries/discovery.d.ts.map +1 -0
- package/dist/types/registries/fairscale.d.ts +680 -0
- package/dist/types/registries/fairscale.d.ts.map +1 -0
- package/dist/types/registries/index.d.ts +52 -0
- package/dist/types/registries/index.d.ts.map +1 -0
- package/dist/types/registries/metaplex-bridge.d.ts +488 -0
- package/dist/types/registries/metaplex-bridge.d.ts.map +1 -0
- package/dist/types/registries/session.d.ts +317 -0
- package/dist/types/registries/session.d.ts.map +1 -0
- package/dist/types/registries/x402.d.ts +523 -0
- package/dist/types/registries/x402.d.ts.map +1 -0
- package/dist/types/types/accounts.d.ts +817 -0
- package/dist/types/types/accounts.d.ts.map +1 -0
- package/dist/types/types/common.d.ts +166 -0
- package/dist/types/types/common.d.ts.map +1 -0
- package/dist/types/types/endpoint.d.ts +161 -0
- package/dist/types/types/endpoint.d.ts.map +1 -0
- package/dist/types/types/enums.d.ts +353 -0
- package/dist/types/types/enums.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +29 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/types/instructions.d.ts +400 -0
- package/dist/types/types/instructions.d.ts.map +1 -0
- package/dist/types/utils/anchor-errors.d.ts +61 -0
- package/dist/types/utils/anchor-errors.d.ts.map +1 -0
- package/dist/types/utils/endpoint-validator.d.ts +110 -0
- package/dist/types/utils/endpoint-validator.d.ts.map +1 -0
- package/dist/types/utils/escrow-validation.d.ts +145 -0
- package/dist/types/utils/escrow-validation.d.ts.map +1 -0
- package/dist/types/utils/hash.d.ts +75 -0
- package/dist/types/utils/hash.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +36 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/dist/types/utils/merchant-validator.d.ts +176 -0
- package/dist/types/utils/merchant-validator.d.ts.map +1 -0
- package/dist/types/utils/network-normalizer.d.ts +120 -0
- package/dist/types/utils/network-normalizer.d.ts.map +1 -0
- package/dist/types/utils/priority-fee.d.ts +205 -0
- package/dist/types/utils/priority-fee.d.ts.map +1 -0
- package/dist/types/utils/rpc-strategy.d.ts +179 -0
- package/dist/types/utils/rpc-strategy.d.ts.map +1 -0
- package/dist/types/utils/schemas.d.ts +351 -0
- package/dist/types/utils/schemas.d.ts.map +1 -0
- package/dist/types/utils/serialization.d.ts +69 -0
- package/dist/types/utils/serialization.d.ts.map +1 -0
- package/dist/types/utils/validation.d.ts +29 -0
- package/dist/types/utils/validation.d.ts.map +1 -0
- package/dist/types/utils/volume-curve.d.ts +60 -0
- package/dist/types/utils/volume-curve.d.ts.map +1 -0
- package/dist/types/utils/x402-direct.d.ts +114 -0
- package/dist/types/utils/x402-direct.d.ts.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module utils/x402-direct
|
|
3
|
+
* @description Recognize x402 direct SPL token payments on an agent's ATA
|
|
4
|
+
* by scanning transaction history and filtering for x402 patterns.
|
|
5
|
+
*
|
|
6
|
+
* @category Utils
|
|
7
|
+
* @since v0.6.4
|
|
8
|
+
*/
|
|
9
|
+
import { PublicKey, } from "@solana/web3.js";
|
|
10
|
+
import { sha256 } from "../utils";
|
|
11
|
+
// ═══════════════════════════════════════════════════════════════════
|
|
12
|
+
// Core
|
|
13
|
+
// ═══════════════════════════════════════════════════════════════════
|
|
14
|
+
/** Recognized x402 memo prefixes. */
|
|
15
|
+
const X402_MEMO_PREFIXES = ["x402:", "SAP-x402:", "x402-direct:"];
|
|
16
|
+
/**
|
|
17
|
+
* @name extractSplTransfer
|
|
18
|
+
* @description Extract SPL Token transfer details from a parsed transaction.
|
|
19
|
+
*
|
|
20
|
+
* Looks for `transfer` or `transferChecked` inner instructions on the
|
|
21
|
+
* Token Program and returns source/dest/amount/mint.
|
|
22
|
+
*
|
|
23
|
+
* @internal
|
|
24
|
+
*/
|
|
25
|
+
function extractSplTransfer(tx, payToAta) {
|
|
26
|
+
if (!tx.meta?.innerInstructions && !tx.transaction.message.instructions) {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
// Check all instructions (outer + inner)
|
|
30
|
+
const allIxs = [
|
|
31
|
+
...tx.transaction.message.instructions,
|
|
32
|
+
...(tx.meta?.innerInstructions?.flatMap((g) => g.instructions) ?? []),
|
|
33
|
+
];
|
|
34
|
+
for (const ix of allIxs) {
|
|
35
|
+
// Only process parsed instructions with known program
|
|
36
|
+
if (!("parsed" in ix) || !("program" in ix))
|
|
37
|
+
continue;
|
|
38
|
+
const parsed = ix;
|
|
39
|
+
if (parsed.program !== "spl-token")
|
|
40
|
+
continue;
|
|
41
|
+
const info = parsed.parsed;
|
|
42
|
+
if (info.type !== "transfer" &&
|
|
43
|
+
info.type !== "transferChecked") {
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
const transferInfo = info.info;
|
|
47
|
+
if (!transferInfo?.source || !transferInfo?.destination)
|
|
48
|
+
continue;
|
|
49
|
+
// Check destination matches our payTo ATA
|
|
50
|
+
const destPk = new PublicKey(transferInfo.destination);
|
|
51
|
+
if (!destPk.equals(payToAta))
|
|
52
|
+
continue;
|
|
53
|
+
const amountStr = transferInfo.amount ?? transferInfo.tokenAmount?.amount ?? "0";
|
|
54
|
+
return {
|
|
55
|
+
amount: BigInt(amountStr),
|
|
56
|
+
source: new PublicKey(transferInfo.source),
|
|
57
|
+
destination: destPk,
|
|
58
|
+
mint: transferInfo.mint ? new PublicKey(transferInfo.mint) : destPk, // fallback
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* @name extractMemo
|
|
65
|
+
* @description Extract memo data from a parsed transaction.
|
|
66
|
+
* @internal
|
|
67
|
+
*/
|
|
68
|
+
function extractMemo(tx) {
|
|
69
|
+
const allIxs = [
|
|
70
|
+
...tx.transaction.message.instructions,
|
|
71
|
+
...(tx.meta?.innerInstructions?.flatMap((g) => g.instructions) ?? []),
|
|
72
|
+
];
|
|
73
|
+
for (const ix of allIxs) {
|
|
74
|
+
if (!("parsed" in ix) || !("program" in ix))
|
|
75
|
+
continue;
|
|
76
|
+
const parsed = ix;
|
|
77
|
+
if (parsed.program === "spl-memo" && typeof parsed.parsed === "string") {
|
|
78
|
+
return parsed.parsed;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
// Also check log messages for memo
|
|
82
|
+
if (tx.meta?.logMessages) {
|
|
83
|
+
for (const log of tx.meta.logMessages) {
|
|
84
|
+
if (log.startsWith("Program log: Memo")) {
|
|
85
|
+
const memoMatch = log.match(/Memo \(len \d+\): "(.*?)"/);
|
|
86
|
+
if (memoMatch?.[1])
|
|
87
|
+
return memoMatch[1];
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* @name matchesX402Pattern
|
|
95
|
+
* @description Check if a transfer matches an x402 payment pattern.
|
|
96
|
+
*
|
|
97
|
+
* Matches if:
|
|
98
|
+
* - A memo with recognized x402 prefix is present, OR
|
|
99
|
+
* - The transfer matches a known settlement payload (deterministic hash), OR
|
|
100
|
+
* - `requireMemo` is false (any SPL transfer to the ATA is included)
|
|
101
|
+
*
|
|
102
|
+
* @internal
|
|
103
|
+
*/
|
|
104
|
+
function matchesX402Pattern(transfer, memo, knownSettlements, requireMemo) {
|
|
105
|
+
// 1. Check memo prefix
|
|
106
|
+
if (memo) {
|
|
107
|
+
for (const prefix of X402_MEMO_PREFIXES) {
|
|
108
|
+
if (memo.startsWith(prefix))
|
|
109
|
+
return true;
|
|
110
|
+
}
|
|
111
|
+
// Try base64 JSON parse for embedded x402 payload
|
|
112
|
+
try {
|
|
113
|
+
const decoded = Buffer.from(memo, "base64").toString("utf-8");
|
|
114
|
+
const parsed = JSON.parse(decoded);
|
|
115
|
+
if (parsed.protocol === "x402" || parsed.protocol === "SAP-x402") {
|
|
116
|
+
return true;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
catch {
|
|
120
|
+
// Not base64 JSON — ignore
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
// 2. Match against known settlements (deterministic hash)
|
|
124
|
+
for (const settlement of knownSettlements) {
|
|
125
|
+
const expected = BigInt(settlement.amount);
|
|
126
|
+
if (transfer.amount !== expected)
|
|
127
|
+
continue;
|
|
128
|
+
// Deterministic hash: sha256(agentWallet + depositor + amount + timestamp)
|
|
129
|
+
const hashInput = settlement.agentWallet +
|
|
130
|
+
settlement.depositorWallet +
|
|
131
|
+
settlement.amount +
|
|
132
|
+
settlement.timestamp.toString();
|
|
133
|
+
const expectedHash = Buffer.from(sha256(hashInput)).toString("hex");
|
|
134
|
+
const serviceHash = settlement.serviceHash;
|
|
135
|
+
if (expectedHash === serviceHash)
|
|
136
|
+
return settlement;
|
|
137
|
+
}
|
|
138
|
+
// 3. If requireMemo is false, accept any SPL transfer to the ATA
|
|
139
|
+
if (!requireMemo)
|
|
140
|
+
return true;
|
|
141
|
+
return false;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* @name getX402DirectPayments
|
|
145
|
+
* @description Scan an agent's ATA for x402 direct payments.
|
|
146
|
+
*
|
|
147
|
+
* Fetches recent transaction signatures for the given `payTo` ATA,
|
|
148
|
+
* inspects each transaction for SPL token transfers, and filters
|
|
149
|
+
* for x402 payment patterns (memo prefix, settlement hash match, etc.).
|
|
150
|
+
*
|
|
151
|
+
* @param connection - Solana RPC connection.
|
|
152
|
+
* @param payToAta - The agent's receiving ATA (e.g. USDC ATA of Syra).
|
|
153
|
+
* @param opts - Filter and pagination options.
|
|
154
|
+
* @returns Array of recognized x402 direct payments, newest first.
|
|
155
|
+
*
|
|
156
|
+
* @category Utils
|
|
157
|
+
* @since v0.6.4
|
|
158
|
+
*
|
|
159
|
+
* @example
|
|
160
|
+
* ```ts
|
|
161
|
+
* import { getX402DirectPayments, findATA } from "@oobe-protocol-labs/synapse-sap-sdk";
|
|
162
|
+
*
|
|
163
|
+
* const USDC_MINT = new PublicKey("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v");
|
|
164
|
+
* const payToAta = findATA(agentWallet, USDC_MINT);
|
|
165
|
+
*
|
|
166
|
+
* const payments = await getX402DirectPayments(connection, payToAta, {
|
|
167
|
+
* limit: 50,
|
|
168
|
+
* knownSettlements: savedSettlements, // from your API PAYMENT-RESPONSE logs
|
|
169
|
+
* });
|
|
170
|
+
*
|
|
171
|
+
* for (const p of payments) {
|
|
172
|
+
* console.log(`${p.signature}: ${p.amount} from ${p.payerAta.toBase58()}`);
|
|
173
|
+
* if (p.settlement) {
|
|
174
|
+
* console.log(` Matched settlement: ${p.settlement.serviceHash}`);
|
|
175
|
+
* }
|
|
176
|
+
* }
|
|
177
|
+
* ```
|
|
178
|
+
*/
|
|
179
|
+
export async function getX402DirectPayments(connection, payToAta, opts) {
|
|
180
|
+
const limit = opts?.limit ?? 100;
|
|
181
|
+
const knownSettlements = opts?.knownSettlements ?? [];
|
|
182
|
+
const requireMemo = opts?.requireMemo ?? false;
|
|
183
|
+
// 1. Fetch signatures
|
|
184
|
+
const sigOpts = { limit };
|
|
185
|
+
if (opts?.before)
|
|
186
|
+
sigOpts.before = opts.before;
|
|
187
|
+
if (opts?.until)
|
|
188
|
+
sigOpts.until = opts.until;
|
|
189
|
+
const sigs = await connection.getSignaturesForAddress(payToAta, sigOpts);
|
|
190
|
+
if (sigs.length === 0)
|
|
191
|
+
return [];
|
|
192
|
+
// 2. Fetch transactions (batch with getParsedTransactions if available)
|
|
193
|
+
const txs = await connection.getParsedTransactions(sigs.map((s) => s.signature), { maxSupportedTransactionVersion: 0 });
|
|
194
|
+
// 3. Extract and filter
|
|
195
|
+
const results = [];
|
|
196
|
+
for (let i = 0; i < txs.length; i++) {
|
|
197
|
+
const tx = txs[i];
|
|
198
|
+
if (!tx)
|
|
199
|
+
continue;
|
|
200
|
+
// Extract SPL transfer to our ATA
|
|
201
|
+
const transfer = extractSplTransfer(tx, payToAta);
|
|
202
|
+
if (!transfer)
|
|
203
|
+
continue;
|
|
204
|
+
// Filter by payer if specified
|
|
205
|
+
if (opts?.filterPayer && !transfer.source.equals(opts.filterPayer)) {
|
|
206
|
+
continue;
|
|
207
|
+
}
|
|
208
|
+
// Extract memo
|
|
209
|
+
const memo = extractMemo(tx);
|
|
210
|
+
// Match x402 pattern
|
|
211
|
+
const match = matchesX402Pattern(transfer, memo, knownSettlements, requireMemo);
|
|
212
|
+
if (match === false)
|
|
213
|
+
continue;
|
|
214
|
+
results.push({
|
|
215
|
+
signature: sigs[i].signature,
|
|
216
|
+
amount: transfer.amount,
|
|
217
|
+
payerAta: transfer.source,
|
|
218
|
+
payeeAta: transfer.destination,
|
|
219
|
+
mint: transfer.mint,
|
|
220
|
+
memo,
|
|
221
|
+
settlement: typeof match === "object" ? match : null,
|
|
222
|
+
blockTime: tx.blockTime ?? null,
|
|
223
|
+
slot: tx.slot,
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
return results;
|
|
227
|
+
}
|
|
228
|
+
//# sourceMappingURL=x402-direct.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"x402-direct.js","sourceRoot":"","sources":["../../../src/utils/x402-direct.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module constants/addresses
|
|
3
|
+
* @description Pre-computed mainnet addresses for singleton PDAs and protocol infrastructure.
|
|
4
|
+
*
|
|
5
|
+
* These addresses are deterministic — derived from the canonical program ID
|
|
6
|
+
* and fixed seeds. They are provided for convenience so consumers can
|
|
7
|
+
* reference well-known accounts without re-deriving them.
|
|
8
|
+
*
|
|
9
|
+
* @category Constants
|
|
10
|
+
* @since v0.3.1
|
|
11
|
+
*/
|
|
12
|
+
import { PublicKey } from "@solana/web3.js";
|
|
13
|
+
/**
|
|
14
|
+
* SAP v2 program ID on mainnet-beta (base58).
|
|
15
|
+
*
|
|
16
|
+
* @name SAP_PROGRAM
|
|
17
|
+
* @description The deployed and verified SAP v2 program address.
|
|
18
|
+
* @category Constants
|
|
19
|
+
* @since v0.3.1
|
|
20
|
+
*/
|
|
21
|
+
export declare const SAP_PROGRAM: PublicKey;
|
|
22
|
+
/**
|
|
23
|
+
* Upgrade authority for the SAP v2 program.
|
|
24
|
+
*
|
|
25
|
+
* @name SAP_UPGRADE_AUTHORITY
|
|
26
|
+
* @description The wallet that holds upgrade authority over the deployed program.
|
|
27
|
+
* @category Constants
|
|
28
|
+
* @since v0.3.1
|
|
29
|
+
*/
|
|
30
|
+
export declare const SAP_UPGRADE_AUTHORITY: PublicKey;
|
|
31
|
+
/**
|
|
32
|
+
* **GlobalRegistry** PDA — the protocol singleton.
|
|
33
|
+
*
|
|
34
|
+
* Seeds: `["sap_global"]` · Bump: `255`
|
|
35
|
+
*
|
|
36
|
+
* Tracks total agent count, active agent count, and protocol-level
|
|
37
|
+
* counters. Must be initialized once before any agent can register.
|
|
38
|
+
*
|
|
39
|
+
* @name GLOBAL_REGISTRY_ADDRESS
|
|
40
|
+
* @category Constants
|
|
41
|
+
* @since v0.3.1
|
|
42
|
+
*/
|
|
43
|
+
export declare const GLOBAL_REGISTRY_ADDRESS: PublicKey;
|
|
44
|
+
/**
|
|
45
|
+
* Bump seed for the GlobalRegistry PDA.
|
|
46
|
+
* @name GLOBAL_REGISTRY_BUMP
|
|
47
|
+
* @category Constants
|
|
48
|
+
* @since v0.3.1
|
|
49
|
+
*/
|
|
50
|
+
export declare const GLOBAL_REGISTRY_BUMP = 255;
|
|
51
|
+
/**
|
|
52
|
+
* IDL metadata account derived via the `program-metadata` standard.
|
|
53
|
+
*
|
|
54
|
+
* Seeds: `["idl", program_id]` under `pmetaypqG6SiB47xMigYVMAkuHDWeSDXcv3zzDrJJvA`.
|
|
55
|
+
*
|
|
56
|
+
* Contains the Anchor IDL JSON, queryable by explorers like Solscan.
|
|
57
|
+
*
|
|
58
|
+
* @name IDL_ACCOUNT_ADDRESS
|
|
59
|
+
* @category Constants
|
|
60
|
+
* @since v0.3.1
|
|
61
|
+
*/
|
|
62
|
+
export declare const IDL_ACCOUNT_ADDRESS: PublicKey;
|
|
63
|
+
/**
|
|
64
|
+
* The `program-metadata` program used to store the IDL.
|
|
65
|
+
*
|
|
66
|
+
* @name PROGRAM_METADATA_PROGRAM
|
|
67
|
+
* @category Constants
|
|
68
|
+
* @since v0.3.1
|
|
69
|
+
*/
|
|
70
|
+
export declare const PROGRAM_METADATA_PROGRAM: PublicKey;
|
|
71
|
+
/**
|
|
72
|
+
* Pre-computed Tool Category Index PDAs for each `ToolCategory` variant.
|
|
73
|
+
*
|
|
74
|
+
* Seeds: `["sap_tool_cat", category_byte]`
|
|
75
|
+
*
|
|
76
|
+
* Each entry corresponds to a `ToolCategory` enum discriminant:
|
|
77
|
+
*
|
|
78
|
+
* | Index | Category | Address |
|
|
79
|
+
* |-------|------------|----------------------------------------------------|
|
|
80
|
+
* | 0 | Swap | `5H8yn9RuRgZWqkDiWbKNaCHzTMjqSpwbNQKMPLtUXx2G` |
|
|
81
|
+
* | 1 | Lend | `5Lqqk6VtFWnYq3h4Ae4FuUAKnFzw1Nm1DaSdt2cjcTDj` |
|
|
82
|
+
* | 2 | Stake | `kC8oAiVUcFMXEnmMNu1h2sdAc3dWKcwV5qVKRFYMmQD` |
|
|
83
|
+
* | 3 | Nft | `2zNWR9J3znvGQ5J6xDfJyZkd12Gi66mjErRDkgPeKbyF` |
|
|
84
|
+
* | 4 | Payment | `Eh7MwxJYWRN8bzAmY3ZPTRXYjWpWypokBf1STixu2dy9` |
|
|
85
|
+
* | 5 | Data | `AwpVxehQUZCVTAJ9icZfS6oRbF66jNo32duXaL11B5df` |
|
|
86
|
+
* | 6 | Governance | `2573WjZzV9QtbqtM6Z86YGivkk1kdvJa4gK3tZRQ2jkN` |
|
|
87
|
+
* | 7 | Bridge | `664nyr6kBeeFiE1ij5gtdncNCVHrXqrk2uBhnKmUREvK` |
|
|
88
|
+
* | 8 | Analytics | `4DFsiTZ6h6RoCZuUeMTpaoQguepnPUMJBLJuwwjKg5GL` |
|
|
89
|
+
* | 9 | Custom | `3Nk5dvFWEyWPEArdG9cCdab6C6ym36mSWUSB8HzN35ZM` |
|
|
90
|
+
*
|
|
91
|
+
* @name TOOL_CATEGORY_ADDRESSES
|
|
92
|
+
* @category Constants
|
|
93
|
+
* @since v0.3.1
|
|
94
|
+
*/
|
|
95
|
+
export declare const TOOL_CATEGORY_ADDRESSES: {
|
|
96
|
+
readonly Swap: PublicKey;
|
|
97
|
+
readonly Lend: PublicKey;
|
|
98
|
+
readonly Stake: PublicKey;
|
|
99
|
+
readonly Nft: PublicKey;
|
|
100
|
+
readonly Payment: PublicKey;
|
|
101
|
+
readonly Data: PublicKey;
|
|
102
|
+
readonly Governance: PublicKey;
|
|
103
|
+
readonly Bridge: PublicKey;
|
|
104
|
+
readonly Analytics: PublicKey;
|
|
105
|
+
readonly Custom: PublicKey;
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* Array-indexed version of {@link TOOL_CATEGORY_ADDRESSES}.
|
|
109
|
+
*
|
|
110
|
+
* `TOOL_CATEGORY_ADDRESS_LIST[0]` = Swap, `[1]` = Lend, etc.
|
|
111
|
+
*
|
|
112
|
+
* @name TOOL_CATEGORY_ADDRESS_LIST
|
|
113
|
+
* @category Constants
|
|
114
|
+
* @since v0.3.1
|
|
115
|
+
*/
|
|
116
|
+
export declare const TOOL_CATEGORY_ADDRESS_LIST: readonly PublicKey[];
|
|
117
|
+
//# sourceMappingURL=addresses.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addresses.d.ts","sourceRoot":"","sources":["../../../src/constants/addresses.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAM5C;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,WAEvB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,WAEjC,CAAC;AAMF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB,WAEnC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAMxC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB,WAE/B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,WAEpC,CAAC;AAMF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;CAW1B,CAAC;AAEX;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,EAAE,SAAS,SAAS,EAWjD,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module constants
|
|
3
|
+
* @description Protocol constants mirroring the on-chain Rust program.
|
|
4
|
+
*
|
|
5
|
+
* Organized into:
|
|
6
|
+
* - **programs** — Network-specific program IDs
|
|
7
|
+
* - **seeds** — PDA seed prefix strings
|
|
8
|
+
* - **limits** — Size constraints, versions, enum numeric values
|
|
9
|
+
*
|
|
10
|
+
* @category Constants
|
|
11
|
+
* @since v0.1.0
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* import {
|
|
16
|
+
* MAINNET_SAP_PROGRAM_ID,
|
|
17
|
+
* DEVNET_SAP_PROGRAM_ID,
|
|
18
|
+
* SEEDS,
|
|
19
|
+
* LIMITS,
|
|
20
|
+
* } from "@synapse-sap/sdk/constants";
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export { SAP_PROGRAM_ADDRESS, MAINNET_SAP_PROGRAM_ID, DEVNET_SAP_PROGRAM_ID, LOCALNET_SAP_PROGRAM_ID, SAP_PROGRAM_ID, } from "./programs";
|
|
24
|
+
export { SEEDS } from "./seeds";
|
|
25
|
+
export type { SeedKey } from "./seeds";
|
|
26
|
+
export { LIMITS, AGENT_VERSION, VAULT_PROTOCOL_VERSION, TOOL_CATEGORY_VALUES, HTTP_METHOD_VALUES, } from "./limits";
|
|
27
|
+
export { SapNetwork } from "./network";
|
|
28
|
+
export type { SapNetworkId } from "./network";
|
|
29
|
+
export { SAP_PROGRAM, SAP_UPGRADE_AUTHORITY, GLOBAL_REGISTRY_ADDRESS, GLOBAL_REGISTRY_BUMP, IDL_ACCOUNT_ADDRESS, PROGRAM_METADATA_PROGRAM, TOOL_CATEGORY_ADDRESSES, TOOL_CATEGORY_ADDRESS_LIST, } from "./addresses";
|
|
30
|
+
export { USDC_MINT_MAINNET, USDC_MINT_DEVNET, MIN_AGENT_STAKE_LAMPORTS, MAX_DELEGATE_DURATION_SECS, isAcceptedUsdcMint, isAcceptedPaymentToken, } from "./payments";
|
|
31
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,GACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGvC,OAAO,EACL,MAAM,EACN,aAAa,EACb,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAG9C,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,EACxB,0BAA0B,EAC1B,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module constants/limits
|
|
3
|
+
* @description Protocol size limits, version constants, and enum numeric values.
|
|
4
|
+
*
|
|
5
|
+
* All values mirror the on-chain Rust constraints exactly.
|
|
6
|
+
* Used for client-side validation before sending transactions.
|
|
7
|
+
*
|
|
8
|
+
* @category Constants
|
|
9
|
+
* @since v0.1.0
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Protocol size constraints mirroring the Rust `impl` blocks.
|
|
13
|
+
*
|
|
14
|
+
* Use these values for client-side validation before submitting
|
|
15
|
+
* transactions — exceeding any limit will cause an on-chain error.
|
|
16
|
+
*
|
|
17
|
+
* @name LIMITS
|
|
18
|
+
* @description A frozen object containing all protocol-enforced size and length bounds.
|
|
19
|
+
* @category Constants
|
|
20
|
+
* @since v0.1.0
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* import { LIMITS } from "@synapse-sap/sdk/constants";
|
|
24
|
+
*
|
|
25
|
+
* if (name.length > LIMITS.MAX_NAME_LEN) {
|
|
26
|
+
* throw new Error("Agent name too long");
|
|
27
|
+
* }
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export declare const LIMITS: {
|
|
31
|
+
/** Max agent name length in bytes. */
|
|
32
|
+
readonly MAX_NAME_LEN: 64;
|
|
33
|
+
/** Max agent description length in bytes. */
|
|
34
|
+
readonly MAX_DESC_LEN: 256;
|
|
35
|
+
/** Max URI length (agent_uri, x402_endpoint). */
|
|
36
|
+
readonly MAX_URI_LEN: 256;
|
|
37
|
+
/** Max agent DID-style identifier length. */
|
|
38
|
+
readonly MAX_AGENT_ID_LEN: 128;
|
|
39
|
+
/** Max capabilities per agent. */
|
|
40
|
+
readonly MAX_CAPABILITIES: 10;
|
|
41
|
+
/** Max pricing tiers per agent. */
|
|
42
|
+
readonly MAX_PRICING_TIERS: 5;
|
|
43
|
+
/** Max protocol strings per agent. */
|
|
44
|
+
readonly MAX_PROTOCOLS: 5;
|
|
45
|
+
/** Max active plugins per agent. */
|
|
46
|
+
readonly MAX_PLUGINS: 5;
|
|
47
|
+
/** Max volume curve breakpoints per tier. */
|
|
48
|
+
readonly MAX_VOLUME_CURVE_POINTS: 5;
|
|
49
|
+
/** Max feedback tag length. */
|
|
50
|
+
readonly MAX_TAG_LEN: 32;
|
|
51
|
+
/** Max agents in a capability/protocol index. */
|
|
52
|
+
readonly MAX_AGENTS_PER_INDEX: 100;
|
|
53
|
+
/** Max tool name length. */
|
|
54
|
+
readonly MAX_TOOL_NAME_LEN: 32;
|
|
55
|
+
/** Max tools in a category index. */
|
|
56
|
+
readonly MAX_TOOLS_PER_CATEGORY: 100;
|
|
57
|
+
/** Max attestation type length. */
|
|
58
|
+
readonly MAX_ATTESTATION_TYPE_LEN: 32;
|
|
59
|
+
/** Max inscription size (encrypted_data per fragment). */
|
|
60
|
+
readonly MAX_INSCRIPTION_SIZE: 750;
|
|
61
|
+
/** Inscriptions per epoch page. */
|
|
62
|
+
readonly INSCRIPTIONS_PER_EPOCH: 1000;
|
|
63
|
+
/** Max memory chunk size (legacy). */
|
|
64
|
+
readonly MAX_CHUNK_SIZE: 900;
|
|
65
|
+
/** Max write size per buffer append (legacy). */
|
|
66
|
+
readonly MAX_BUFFER_WRITE_SIZE: 750;
|
|
67
|
+
/** Max total buffer page size (legacy). */
|
|
68
|
+
readonly MAX_BUFFER_TOTAL_SIZE: 10000;
|
|
69
|
+
/** Ring buffer capacity for MemoryLedger. */
|
|
70
|
+
readonly RING_CAPACITY: 4096;
|
|
71
|
+
/** Max ledger write size per call. */
|
|
72
|
+
readonly MAX_LEDGER_WRITE_SIZE: 750;
|
|
73
|
+
/** Max settlements in a batch. */
|
|
74
|
+
readonly MAX_BATCH_SETTLEMENTS: 10;
|
|
75
|
+
/** Feedback score range: 0–1000. */
|
|
76
|
+
readonly MAX_FEEDBACK_SCORE: 1000;
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* Current on-chain protocol version for `AgentAccount`.
|
|
80
|
+
*
|
|
81
|
+
* @name AGENT_VERSION
|
|
82
|
+
* @description Integer version stamped into every agent account on registration.
|
|
83
|
+
* @category Constants
|
|
84
|
+
* @since v0.1.0
|
|
85
|
+
*/
|
|
86
|
+
export declare const AGENT_VERSION = 1;
|
|
87
|
+
/**
|
|
88
|
+
* Current on-chain protocol version for `MemoryVault`.
|
|
89
|
+
*
|
|
90
|
+
* @name VAULT_PROTOCOL_VERSION
|
|
91
|
+
* @description Integer version stamped into every vault account on initialisation.
|
|
92
|
+
* @category Constants
|
|
93
|
+
* @since v0.1.0
|
|
94
|
+
*/
|
|
95
|
+
export declare const VAULT_PROTOCOL_VERSION = 1;
|
|
96
|
+
/**
|
|
97
|
+
* Tool category to `u8` discriminant mapping.
|
|
98
|
+
*
|
|
99
|
+
* Mirrors the Rust `ToolCategory` enum ordinals. Use these values
|
|
100
|
+
* when constructing or filtering tool-related instructions.
|
|
101
|
+
*
|
|
102
|
+
* @name TOOL_CATEGORY_VALUES
|
|
103
|
+
* @description Frozen mapping of tool category names to their on-chain `u8` discriminants.
|
|
104
|
+
* @category Constants
|
|
105
|
+
* @since v0.1.0
|
|
106
|
+
* @example
|
|
107
|
+
* ```ts
|
|
108
|
+
* import { TOOL_CATEGORY_VALUES } from "@synapse-sap/sdk/constants";
|
|
109
|
+
*
|
|
110
|
+
* const categoryByte = TOOL_CATEGORY_VALUES.Swap; // 0
|
|
111
|
+
* ```
|
|
112
|
+
*/
|
|
113
|
+
export declare const TOOL_CATEGORY_VALUES: {
|
|
114
|
+
readonly Swap: 0;
|
|
115
|
+
readonly Lend: 1;
|
|
116
|
+
readonly Stake: 2;
|
|
117
|
+
readonly Nft: 3;
|
|
118
|
+
readonly Payment: 4;
|
|
119
|
+
readonly Data: 5;
|
|
120
|
+
readonly Governance: 6;
|
|
121
|
+
readonly Bridge: 7;
|
|
122
|
+
readonly Analytics: 8;
|
|
123
|
+
readonly Custom: 9;
|
|
124
|
+
};
|
|
125
|
+
/**
|
|
126
|
+
* HTTP method to `u8` discriminant mapping.
|
|
127
|
+
*
|
|
128
|
+
* Mirrors the Rust `HttpMethod` enum ordinals. Used when publishing
|
|
129
|
+
* or filtering tool endpoints.
|
|
130
|
+
*
|
|
131
|
+
* @name HTTP_METHOD_VALUES
|
|
132
|
+
* @description Frozen mapping of HTTP method names to their on-chain `u8` discriminants.
|
|
133
|
+
* @category Constants
|
|
134
|
+
* @since v0.1.0
|
|
135
|
+
* @example
|
|
136
|
+
* ```ts
|
|
137
|
+
* import { HTTP_METHOD_VALUES } from "@synapse-sap/sdk/constants";
|
|
138
|
+
*
|
|
139
|
+
* const method = HTTP_METHOD_VALUES.Post; // 1
|
|
140
|
+
* ```
|
|
141
|
+
*/
|
|
142
|
+
export declare const HTTP_METHOD_VALUES: {
|
|
143
|
+
readonly Get: 0;
|
|
144
|
+
readonly Post: 1;
|
|
145
|
+
readonly Put: 2;
|
|
146
|
+
readonly Delete: 3;
|
|
147
|
+
readonly Compound: 4;
|
|
148
|
+
};
|
|
149
|
+
//# sourceMappingURL=limits.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"limits.d.ts","sourceRoot":"","sources":["../../../src/constants/limits.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,MAAM;IACjB,sCAAsC;;IAEtC,6CAA6C;;IAE7C,iDAAiD;;IAEjD,6CAA6C;;IAE7C,kCAAkC;;IAElC,mCAAmC;;IAEnC,sCAAsC;;IAEtC,oCAAoC;;IAEpC,6CAA6C;;IAE7C,+BAA+B;;IAE/B,iDAAiD;;IAEjD,4BAA4B;;IAE5B,qCAAqC;;IAErC,mCAAmC;;IAEnC,0DAA0D;;IAE1D,mCAAmC;;IAEnC,sCAAsC;;IAEtC,iDAAiD;;IAEjD,2CAA2C;;IAE3C,6CAA6C;;IAE7C,sCAAsC;;IAEtC,kCAAkC;;IAElC,oCAAoC;;CAE5B,CAAC;AAMX;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,IAAI,CAAC;AAE/B;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAMxC;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;CAWvB,CAAC;AAEX;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,kBAAkB;;;;;;CAMrB,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module constants/network
|
|
3
|
+
* @description Solana network identifiers for x402 payment headers.
|
|
4
|
+
*
|
|
5
|
+
* x402 providers validate the `X-Payment-Network` header against their
|
|
6
|
+
* own network identifier. Some providers (e.g. Coinbase, Phantom) accept
|
|
7
|
+
* the human-readable cluster name (`solana:mainnet-beta`), while others
|
|
8
|
+
* (e.g. Kamiyo, Helius x402) require the Solana genesis-hash form
|
|
9
|
+
* (`solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp`).
|
|
10
|
+
*
|
|
11
|
+
* Use {@link SapNetwork} to select the correct format, or pass any
|
|
12
|
+
* custom string where needed.
|
|
13
|
+
*
|
|
14
|
+
* @category Constants
|
|
15
|
+
* @since v0.4.3
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```ts
|
|
19
|
+
* import { SapNetwork } from "@synapse-sap/sdk";
|
|
20
|
+
*
|
|
21
|
+
* // Standard cluster name (default)
|
|
22
|
+
* const ctx = await x402.preparePayment(agentWallet, {
|
|
23
|
+
* pricePerCall: 1000, deposit: 100_000,
|
|
24
|
+
* networkIdentifier: SapNetwork.SOLANA_MAINNET,
|
|
25
|
+
* });
|
|
26
|
+
*
|
|
27
|
+
* // Genesis-hash form for providers that require it
|
|
28
|
+
* const ctx2 = await x402.preparePayment(agentWallet, {
|
|
29
|
+
* pricePerCall: 1000, deposit: 100_000,
|
|
30
|
+
* networkIdentifier: SapNetwork.SOLANA_MAINNET_GENESIS,
|
|
31
|
+
* });
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
/**
|
|
35
|
+
* @name SapNetwork
|
|
36
|
+
* @description Network identifier strings for x402 `X-Payment-Network` headers.
|
|
37
|
+
*
|
|
38
|
+
* Two mainnet forms exist because x402 providers disagree on the canonical
|
|
39
|
+
* identifier:
|
|
40
|
+
*
|
|
41
|
+
* | Constant | Value | Accepted by |
|
|
42
|
+
* |-------------------------|----------------------------------------------|----------------------|
|
|
43
|
+
* | `SOLANA_MAINNET` | `solana:mainnet-beta` | Coinbase, Phantom |
|
|
44
|
+
* | `SOLANA_MAINNET_GENESIS`| `solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp` | Kamiyo, Helius x402 |
|
|
45
|
+
* | `SOLANA_DEVNET` | `solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1` | Devnet providers |
|
|
46
|
+
* | `SOLANA_DEVNET_NAMED` | `solana:devnet` | Local / test flows |
|
|
47
|
+
*
|
|
48
|
+
* If your provider requires a different format, pass a raw string instead.
|
|
49
|
+
*
|
|
50
|
+
* @category Constants
|
|
51
|
+
* @since v0.4.3
|
|
52
|
+
*/
|
|
53
|
+
export declare const SapNetwork: {
|
|
54
|
+
/**
|
|
55
|
+
* Mainnet-beta, human-readable cluster name.
|
|
56
|
+
* Default value used by the SDK prior to v0.4.3.
|
|
57
|
+
*/
|
|
58
|
+
readonly SOLANA_MAINNET: "solana:mainnet-beta";
|
|
59
|
+
/**
|
|
60
|
+
* Mainnet-beta, genesis-hash form (CAIP-2 compliant).
|
|
61
|
+
* Required by Kamiyo, Helius x402, and other providers that validate
|
|
62
|
+
* against the Solana genesis hash.
|
|
63
|
+
*/
|
|
64
|
+
readonly SOLANA_MAINNET_GENESIS: "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp";
|
|
65
|
+
/**
|
|
66
|
+
* Devnet, genesis-hash form (CAIP-2 compliant).
|
|
67
|
+
*/
|
|
68
|
+
readonly SOLANA_DEVNET: "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1";
|
|
69
|
+
/**
|
|
70
|
+
* Devnet, human-readable cluster name.
|
|
71
|
+
* Useful for local development and test validators.
|
|
72
|
+
*/
|
|
73
|
+
readonly SOLANA_DEVNET_NAMED: "solana:devnet";
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* @name SapNetworkId
|
|
77
|
+
* @description Union type of all known {@link SapNetwork} values.
|
|
78
|
+
* Accept `SapNetworkId | string` where custom identifiers are allowed.
|
|
79
|
+
*/
|
|
80
|
+
export type SapNetworkId = (typeof SapNetwork)[keyof typeof SapNetwork];
|
|
81
|
+
//# sourceMappingURL=network.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../../src/constants/network.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAMH;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,UAAU;IACrB;;;OAGG;;IAGH;;;;OAIG;;IAGH;;OAEG;;IAGH;;;OAGG;;CAEK,CAAC;AAEX;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC"}
|