@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,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module base
|
|
3
|
+
* @description Abstract base class for all SDK modules.
|
|
4
|
+
*
|
|
5
|
+
* Provides shared access to the Anchor program, provider,
|
|
6
|
+
* and typed `fetch` / `fetchNullable` helpers.
|
|
7
|
+
*
|
|
8
|
+
* @category Modules
|
|
9
|
+
* @since v0.1.0
|
|
10
|
+
* @packageDocumentation
|
|
11
|
+
*/
|
|
12
|
+
import { type AnchorProvider, type Program, BN } from "@coral-xyz/anchor";
|
|
13
|
+
import type { PublicKey, TransactionSignature } from "@solana/web3.js";
|
|
14
|
+
import { SAP_ERROR_BY_NAME } from "../utils/anchor-errors";
|
|
15
|
+
/**
|
|
16
|
+
* Anchor `Program` instance typed for the Synapse Agent SAP IDL.
|
|
17
|
+
*
|
|
18
|
+
* @name SapProgram
|
|
19
|
+
* @description Alias for `Program<any>` — the Anchor program reference
|
|
20
|
+
* used as the backbone of every module in the SDK.
|
|
21
|
+
* @category Modules
|
|
22
|
+
* @since v0.1.0
|
|
23
|
+
*/
|
|
24
|
+
export type SapProgram = Program<any>;
|
|
25
|
+
/**
|
|
26
|
+
* @name SapTransactionResult
|
|
27
|
+
* @description Instruction builder return type — a ready-to-send transaction.
|
|
28
|
+
* Contains the finalized transaction signature after RPC submission.
|
|
29
|
+
* @category Modules
|
|
30
|
+
* @since v0.1.0
|
|
31
|
+
*/
|
|
32
|
+
export interface SapTransactionResult {
|
|
33
|
+
/** The base-58 encoded transaction signature returned by the RPC node. */
|
|
34
|
+
readonly signature: TransactionSignature;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* @name BaseModule
|
|
38
|
+
* @description Abstract base module inherited by every domain module in the SDK.
|
|
39
|
+
* Encapsulates the Anchor program reference, provider access, and common
|
|
40
|
+
* helpers for account fetching and BN construction.
|
|
41
|
+
*
|
|
42
|
+
* @abstract
|
|
43
|
+
* @category Modules
|
|
44
|
+
* @since v0.1.0
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```ts
|
|
48
|
+
* class MyModule extends BaseModule {
|
|
49
|
+
* async doSomething() {
|
|
50
|
+
* const data = await this.fetchAccount<MyData>("myAccount", pda);
|
|
51
|
+
* }
|
|
52
|
+
* }
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
export declare abstract class BaseModule {
|
|
56
|
+
protected readonly program: SapProgram;
|
|
57
|
+
/**
|
|
58
|
+
* Create a new module instance.
|
|
59
|
+
*
|
|
60
|
+
* @param program - The Anchor `Program` instance for the SAP IDL.
|
|
61
|
+
* @protected
|
|
62
|
+
*/
|
|
63
|
+
constructor(program: SapProgram);
|
|
64
|
+
/**
|
|
65
|
+
* @name methods
|
|
66
|
+
* @description Instruction method namespace — bypasses `noUncheckedIndexedAccess`
|
|
67
|
+
* on `Program<any>` where every property is `T | undefined`.
|
|
68
|
+
* Used internally by subclasses to build and send instructions.
|
|
69
|
+
* @returns The Anchor program `methods` object for chaining instruction builders.
|
|
70
|
+
* @protected
|
|
71
|
+
* @since v0.1.0
|
|
72
|
+
*/
|
|
73
|
+
protected get methods(): any;
|
|
74
|
+
/**
|
|
75
|
+
* @name provider
|
|
76
|
+
* @description The AnchorProvider from the program, giving access to
|
|
77
|
+
* the connection and wallet for signing transactions.
|
|
78
|
+
* @returns {AnchorProvider} The Anchor provider instance.
|
|
79
|
+
* @protected
|
|
80
|
+
* @since v0.1.0
|
|
81
|
+
*/
|
|
82
|
+
protected get provider(): AnchorProvider;
|
|
83
|
+
/**
|
|
84
|
+
* @name walletPubkey
|
|
85
|
+
* @description Convenience accessor for the signer wallet's public key.
|
|
86
|
+
* @returns {PublicKey} The public key of the connected wallet.
|
|
87
|
+
* @protected
|
|
88
|
+
* @since v0.1.0
|
|
89
|
+
*/
|
|
90
|
+
protected get walletPubkey(): PublicKey;
|
|
91
|
+
/**
|
|
92
|
+
* @name fetchAccount
|
|
93
|
+
* @description Generic account fetch — deserializes the on-chain account
|
|
94
|
+
* data into the given type `T`, or throws if the account does not exist.
|
|
95
|
+
* @typeParam T - The expected deserialized account data type.
|
|
96
|
+
* @param accountName - The Anchor account discriminator name (e.g. `"agentAccount"`).
|
|
97
|
+
* @param address - The public key of the account to fetch.
|
|
98
|
+
* @returns {Promise<T>} The deserialized account data.
|
|
99
|
+
* @throws Will throw if the account does not exist on-chain.
|
|
100
|
+
* @protected
|
|
101
|
+
* @since v0.1.0
|
|
102
|
+
*/
|
|
103
|
+
protected fetchAccount<T>(accountName: string, address: PublicKey): Promise<T>;
|
|
104
|
+
/**
|
|
105
|
+
* @name fetchAccountNullable
|
|
106
|
+
* @description Generic nullable account fetch — deserializes the on-chain
|
|
107
|
+
* account data into type `T`, or returns `null` if the account does not exist.
|
|
108
|
+
* @typeParam T - The expected deserialized account data type.
|
|
109
|
+
* @param accountName - The Anchor account discriminator name (e.g. `"agentAccount"`).
|
|
110
|
+
* @param address - The public key of the account to fetch.
|
|
111
|
+
* @returns {Promise<T | null>} The deserialized account data, or `null`.
|
|
112
|
+
* @protected
|
|
113
|
+
* @since v0.1.0
|
|
114
|
+
*/
|
|
115
|
+
protected fetchAccountNullable<T>(accountName: string, address: PublicKey): Promise<T | null>;
|
|
116
|
+
/**
|
|
117
|
+
* @name bn
|
|
118
|
+
* @description Create an Anchor `BN` from a number, bigint, or existing BN.
|
|
119
|
+
* Passes through values that are already `BN` instances.
|
|
120
|
+
* @param value - The numeric value to convert.
|
|
121
|
+
* @returns {BN} An Anchor-compatible big number.
|
|
122
|
+
* @protected
|
|
123
|
+
* @since v0.1.0
|
|
124
|
+
*/
|
|
125
|
+
protected bn(value: number | bigint | BN): BN;
|
|
126
|
+
/**
|
|
127
|
+
* @name requireAccountExists
|
|
128
|
+
* @description Fetch a required account; throw a {@link SapPreflightError}
|
|
129
|
+
* with an actionable message if it does not exist.
|
|
130
|
+
* @typeParam T - Expected account type.
|
|
131
|
+
* @param accountName - Anchor account discriminator name.
|
|
132
|
+
* @param address - PDA to fetch.
|
|
133
|
+
* @param onMissing - `{ predicted, hint }` describing the on-chain rejection
|
|
134
|
+
* that would otherwise occur.
|
|
135
|
+
* @protected
|
|
136
|
+
* @since v0.13.0
|
|
137
|
+
*/
|
|
138
|
+
protected requireAccountExists<T>(accountName: string, address: PublicKey, onMissing: {
|
|
139
|
+
predicted: keyof typeof SAP_ERROR_BY_NAME;
|
|
140
|
+
hint?: string;
|
|
141
|
+
}): Promise<T>;
|
|
142
|
+
/**
|
|
143
|
+
* @name requireAccountAbsent
|
|
144
|
+
* @description Verify a PDA does not yet exist on-chain. Used before any
|
|
145
|
+
* `init` instruction to catch `account already in use` early.
|
|
146
|
+
* @protected
|
|
147
|
+
* @since v0.13.0
|
|
148
|
+
*/
|
|
149
|
+
protected requireAccountAbsent(accountName: string, address: PublicKey, hint: string): Promise<void>;
|
|
150
|
+
/**
|
|
151
|
+
* @name simulateOrThrow
|
|
152
|
+
* @description Run `simulate()` on a method builder. If the simulation
|
|
153
|
+
* reports a SAP program error, throw it as a {@link SapPreflightError}
|
|
154
|
+
* with the decoded name + friendly hint *before* the user pays fees.
|
|
155
|
+
* Returns the simulation logs on success for inspection.
|
|
156
|
+
* @protected
|
|
157
|
+
* @since v0.13.0
|
|
158
|
+
*/
|
|
159
|
+
protected simulateOrThrow(builder: any, label: string): Promise<readonly string[]>;
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/modules/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAIL,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAEhC;;;;;;;;GAQG;AAEH,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AAEtC;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC;CAC1C;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,8BAAsB,UAAU;IAOlB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU;IANlD;;;;;OAKG;gBAC4B,OAAO,EAAE,UAAU;IAElD;;;;;;;;OAQG;IAEH,SAAS,KAAK,OAAO,IAAI,GAAG,CAG3B;IAED;;;;;;;OAOG;IACH,SAAS,KAAK,QAAQ,IAAI,cAAc,CAEvC;IAED;;;;;;OAMG;IACH,SAAS,KAAK,YAAY,IAAI,SAAS,CAEtC;IAED;;;;;;;;;;;OAWG;cACa,YAAY,CAAC,CAAC,EAC5B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,SAAS,GACjB,OAAO,CAAC,CAAC,CAAC;IAKb;;;;;;;;;;OAUG;cACa,oBAAoB,CAAC,CAAC,EACpC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,SAAS,GACjB,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAKpB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,EAAE,GAAG,EAAE;IAO7C;;;;;;;;;;;OAWG;cACa,oBAAoB,CAAC,CAAC,EACpC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,SAAS,EAClB,SAAS,EAAE;QAAE,SAAS,EAAE,MAAM,OAAO,iBAAiB,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACtE,OAAO,CAAC,CAAC,CAAC;IAQb;;;;;;OAMG;cACa,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,SAAS,EAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC;IAYhB;;;;;;;;OAQG;cACa,eAAe,CAE7B,OAAO,EAAE,GAAG,EACZ,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC;CAoB9B"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module base
|
|
3
|
+
* @description Abstract base class for all SDK modules.
|
|
4
|
+
*
|
|
5
|
+
* Provides shared access to the Anchor program, provider,
|
|
6
|
+
* and typed `fetch` / `fetchNullable` helpers.
|
|
7
|
+
*
|
|
8
|
+
* @category Modules
|
|
9
|
+
* @since v0.1.0
|
|
10
|
+
* @packageDocumentation
|
|
11
|
+
*/
|
|
12
|
+
import { BN } from "@coral-xyz/anchor";
|
|
13
|
+
import { decodeAnchorError, SapPreflightError, throwPredicted, } from "../utils/anchor-errors";
|
|
14
|
+
/**
|
|
15
|
+
* @name BaseModule
|
|
16
|
+
* @description Abstract base module inherited by every domain module in the SDK.
|
|
17
|
+
* Encapsulates the Anchor program reference, provider access, and common
|
|
18
|
+
* helpers for account fetching and BN construction.
|
|
19
|
+
*
|
|
20
|
+
* @abstract
|
|
21
|
+
* @category Modules
|
|
22
|
+
* @since v0.1.0
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```ts
|
|
26
|
+
* class MyModule extends BaseModule {
|
|
27
|
+
* async doSomething() {
|
|
28
|
+
* const data = await this.fetchAccount<MyData>("myAccount", pda);
|
|
29
|
+
* }
|
|
30
|
+
* }
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export class BaseModule {
|
|
34
|
+
program;
|
|
35
|
+
/**
|
|
36
|
+
* Create a new module instance.
|
|
37
|
+
*
|
|
38
|
+
* @param program - The Anchor `Program` instance for the SAP IDL.
|
|
39
|
+
* @protected
|
|
40
|
+
*/
|
|
41
|
+
constructor(program) {
|
|
42
|
+
this.program = program;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* @name methods
|
|
46
|
+
* @description Instruction method namespace — bypasses `noUncheckedIndexedAccess`
|
|
47
|
+
* on `Program<any>` where every property is `T | undefined`.
|
|
48
|
+
* Used internally by subclasses to build and send instructions.
|
|
49
|
+
* @returns The Anchor program `methods` object for chaining instruction builders.
|
|
50
|
+
* @protected
|
|
51
|
+
* @since v0.1.0
|
|
52
|
+
*/
|
|
53
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
54
|
+
get methods() {
|
|
55
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
56
|
+
return this.program.methods;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* @name provider
|
|
60
|
+
* @description The AnchorProvider from the program, giving access to
|
|
61
|
+
* the connection and wallet for signing transactions.
|
|
62
|
+
* @returns {AnchorProvider} The Anchor provider instance.
|
|
63
|
+
* @protected
|
|
64
|
+
* @since v0.1.0
|
|
65
|
+
*/
|
|
66
|
+
get provider() {
|
|
67
|
+
return this.program.provider;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* @name walletPubkey
|
|
71
|
+
* @description Convenience accessor for the signer wallet's public key.
|
|
72
|
+
* @returns {PublicKey} The public key of the connected wallet.
|
|
73
|
+
* @protected
|
|
74
|
+
* @since v0.1.0
|
|
75
|
+
*/
|
|
76
|
+
get walletPubkey() {
|
|
77
|
+
return this.provider.wallet.publicKey;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* @name fetchAccount
|
|
81
|
+
* @description Generic account fetch — deserializes the on-chain account
|
|
82
|
+
* data into the given type `T`, or throws if the account does not exist.
|
|
83
|
+
* @typeParam T - The expected deserialized account data type.
|
|
84
|
+
* @param accountName - The Anchor account discriminator name (e.g. `"agentAccount"`).
|
|
85
|
+
* @param address - The public key of the account to fetch.
|
|
86
|
+
* @returns {Promise<T>} The deserialized account data.
|
|
87
|
+
* @throws Will throw if the account does not exist on-chain.
|
|
88
|
+
* @protected
|
|
89
|
+
* @since v0.1.0
|
|
90
|
+
*/
|
|
91
|
+
async fetchAccount(accountName, address) {
|
|
92
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any
|
|
93
|
+
return this.program.account[accountName].fetch(address);
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* @name fetchAccountNullable
|
|
97
|
+
* @description Generic nullable account fetch — deserializes the on-chain
|
|
98
|
+
* account data into type `T`, or returns `null` if the account does not exist.
|
|
99
|
+
* @typeParam T - The expected deserialized account data type.
|
|
100
|
+
* @param accountName - The Anchor account discriminator name (e.g. `"agentAccount"`).
|
|
101
|
+
* @param address - The public key of the account to fetch.
|
|
102
|
+
* @returns {Promise<T | null>} The deserialized account data, or `null`.
|
|
103
|
+
* @protected
|
|
104
|
+
* @since v0.1.0
|
|
105
|
+
*/
|
|
106
|
+
async fetchAccountNullable(accountName, address) {
|
|
107
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any
|
|
108
|
+
return this.program.account[accountName].fetchNullable(address);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* @name bn
|
|
112
|
+
* @description Create an Anchor `BN` from a number, bigint, or existing BN.
|
|
113
|
+
* Passes through values that are already `BN` instances.
|
|
114
|
+
* @param value - The numeric value to convert.
|
|
115
|
+
* @returns {BN} An Anchor-compatible big number.
|
|
116
|
+
* @protected
|
|
117
|
+
* @since v0.1.0
|
|
118
|
+
*/
|
|
119
|
+
bn(value) {
|
|
120
|
+
if (BN.isBN(value))
|
|
121
|
+
return value;
|
|
122
|
+
return new BN(value.toString());
|
|
123
|
+
}
|
|
124
|
+
// ── v0.13.0 preflight helpers ─────────────────────────
|
|
125
|
+
/**
|
|
126
|
+
* @name requireAccountExists
|
|
127
|
+
* @description Fetch a required account; throw a {@link SapPreflightError}
|
|
128
|
+
* with an actionable message if it does not exist.
|
|
129
|
+
* @typeParam T - Expected account type.
|
|
130
|
+
* @param accountName - Anchor account discriminator name.
|
|
131
|
+
* @param address - PDA to fetch.
|
|
132
|
+
* @param onMissing - `{ predicted, hint }` describing the on-chain rejection
|
|
133
|
+
* that would otherwise occur.
|
|
134
|
+
* @protected
|
|
135
|
+
* @since v0.13.0
|
|
136
|
+
*/
|
|
137
|
+
async requireAccountExists(accountName, address, onMissing) {
|
|
138
|
+
const acc = await this.fetchAccountNullable(accountName, address);
|
|
139
|
+
if (acc == null) {
|
|
140
|
+
throwPredicted(onMissing.predicted, onMissing.hint ?? `${accountName} ${address.toBase58()} not found`);
|
|
141
|
+
}
|
|
142
|
+
return acc;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* @name requireAccountAbsent
|
|
146
|
+
* @description Verify a PDA does not yet exist on-chain. Used before any
|
|
147
|
+
* `init` instruction to catch `account already in use` early.
|
|
148
|
+
* @protected
|
|
149
|
+
* @since v0.13.0
|
|
150
|
+
*/
|
|
151
|
+
async requireAccountAbsent(accountName, address, hint) {
|
|
152
|
+
const acc = await this.provider.connection.getAccountInfo(address);
|
|
153
|
+
if (acc !== null) {
|
|
154
|
+
throw new SapPreflightError(`${accountName} ${address.toBase58()} already exists. ${hint}`, 0, "AccountAlreadyInUse", hint);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* @name simulateOrThrow
|
|
159
|
+
* @description Run `simulate()` on a method builder. If the simulation
|
|
160
|
+
* reports a SAP program error, throw it as a {@link SapPreflightError}
|
|
161
|
+
* with the decoded name + friendly hint *before* the user pays fees.
|
|
162
|
+
* Returns the simulation logs on success for inspection.
|
|
163
|
+
* @protected
|
|
164
|
+
* @since v0.13.0
|
|
165
|
+
*/
|
|
166
|
+
async simulateOrThrow(
|
|
167
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
168
|
+
builder, label) {
|
|
169
|
+
try {
|
|
170
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
|
|
171
|
+
const sim = await builder.simulate();
|
|
172
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
173
|
+
const logs = (sim?.raw ?? sim?.logs ?? []);
|
|
174
|
+
return logs;
|
|
175
|
+
}
|
|
176
|
+
catch (err) {
|
|
177
|
+
const decoded = decodeAnchorError(err);
|
|
178
|
+
if (decoded) {
|
|
179
|
+
throw new SapPreflightError(`[${label}] simulation failed: ${decoded.friendly}`, decoded.code, decoded.name, decoded.logs?.slice(0, 6).join(" | "));
|
|
180
|
+
}
|
|
181
|
+
throw err;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/modules/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module escrow-v2
|
|
3
|
+
* @description V2 escrow settlement layer — supports settlement security
|
|
4
|
+
* modes (CoSigned, DisputeWindow), receipt-based dispute resolution,
|
|
5
|
+
* pending settlements, and automatic resolution via merkle proofs.
|
|
6
|
+
*
|
|
7
|
+
* @category Modules
|
|
8
|
+
* @since v0.7.0
|
|
9
|
+
* @packageDocumentation
|
|
10
|
+
*/
|
|
11
|
+
import { type PublicKey, type TransactionSignature, type AccountMeta, type Signer } from "@solana/web3.js";
|
|
12
|
+
import { BN } from "@coral-xyz/anchor";
|
|
13
|
+
import { BaseModule } from "./base";
|
|
14
|
+
import type { EscrowAccountV2Data, PendingSettlementData, DisputeRecordData, CreateEscrowV2Args } from "../types";
|
|
15
|
+
import type { SettleOptions } from "../utils/priority-fee";
|
|
16
|
+
/**
|
|
17
|
+
* @name EscrowV2Module
|
|
18
|
+
* @description Manages V2 escrow accounts with settlement security modes,
|
|
19
|
+
* dispute windows, and pending settlement flows.
|
|
20
|
+
*
|
|
21
|
+
* @category Modules
|
|
22
|
+
* @since v0.7.0
|
|
23
|
+
* @extends BaseModule
|
|
24
|
+
*/
|
|
25
|
+
export declare class EscrowV2Module extends BaseModule {
|
|
26
|
+
/** Convert BN | number | bigint → number for PDA seed functions. */
|
|
27
|
+
private toNum;
|
|
28
|
+
deriveEscrow(agentPda: PublicKey, depositor?: PublicKey, nonce?: BN | number | bigint): readonly [PublicKey, number];
|
|
29
|
+
derivePendingSettlement(escrowV2Pda: PublicKey, settlementIndex: BN | number | bigint): readonly [PublicKey, number];
|
|
30
|
+
deriveDispute(pendingSettlementPda: PublicKey): readonly [PublicKey, number];
|
|
31
|
+
create(agentWallet: PublicKey, args: CreateEscrowV2Args, splAccounts?: AccountMeta[]): Promise<TransactionSignature>;
|
|
32
|
+
deposit(agentWallet: PublicKey, nonce: BN | number | bigint, amount: BN | number | bigint, splAccounts?: AccountMeta[]): Promise<TransactionSignature>;
|
|
33
|
+
/**
|
|
34
|
+
* Settle a batch of calls against a V2 escrow.
|
|
35
|
+
*
|
|
36
|
+
* **v0.13.0 — Auto-bundle DisputeWindow:** when the escrow's
|
|
37
|
+
* `settlementSecurity` is `DisputeWindow`, this method now bundles
|
|
38
|
+
* **`settleCallsV2` + `createPendingSettlement`** into the SAME
|
|
39
|
+
* transaction. This eliminates the foot-gun where a caller would call
|
|
40
|
+
* `createPendingSettlement` directly without a preceding `settleCallsV2`,
|
|
41
|
+
* leaving `escrow.pending_amount = 0` and causing `finalizeSettlement`
|
|
42
|
+
* to abort with `ArithmeticOverflow` (6075).
|
|
43
|
+
*
|
|
44
|
+
* Flow per security mode:
|
|
45
|
+
* - **CoSigned** — single IX (`settleCallsV2`) with co-signer in
|
|
46
|
+
* remaining accounts; funds move immediately.
|
|
47
|
+
* - **DisputeWindow** — two IXs in one tx:
|
|
48
|
+
* 1. `settleCallsV2` — bumps `pending_amount` and `settlement_index`
|
|
49
|
+
* 2. `createPendingSettlement(idx)` — locks the dispute tracker PDA
|
|
50
|
+
*
|
|
51
|
+
* After this tx confirms, wait `escrow.disputeWindowSlots` slots and
|
|
52
|
+
* call {@link finalizeSettlement} with the index returned via
|
|
53
|
+
* `SettlementPendingEvent` or readable from `escrow.settlement_index - 1`.
|
|
54
|
+
*
|
|
55
|
+
* Pass `opts.skipAutoPending = true` to opt out of the auto-bundle (e.g.
|
|
56
|
+
* if you want to drive `createPendingSettlement` separately for advanced
|
|
57
|
+
* flows like batched off-chain receipt aggregation).
|
|
58
|
+
*
|
|
59
|
+
* @param depositorWallet - Depositor of the escrow being settled.
|
|
60
|
+
* @param nonce - Escrow nonce (default 0 for the canonical escrow).
|
|
61
|
+
* @param callsToSettle - Number of calls to settle in this batch.
|
|
62
|
+
* @param serviceHash - 32-byte sha256 of the service payload.
|
|
63
|
+
* @param splAccounts - Optional remaining accounts (SPL transfer + co-signer).
|
|
64
|
+
* @param opts - Priority-fee + auto-pending options.
|
|
65
|
+
* @param coSigner - Required for CoSigned escrows.
|
|
66
|
+
* @returns The transaction signature.
|
|
67
|
+
* @since v0.7.0 — initial release
|
|
68
|
+
* @since v0.13.0 — auto-bundles `createPendingSettlement` for DisputeWindow
|
|
69
|
+
*/
|
|
70
|
+
settle(depositorWallet: PublicKey, nonce: BN | number | bigint, callsToSettle: BN | number | bigint, serviceHash: number[], splAccounts?: AccountMeta[], opts?: SettleOptions & {
|
|
71
|
+
/**
|
|
72
|
+
* v0.13.0 — Opt out of the DisputeWindow auto-bundle. When `true`,
|
|
73
|
+
* `settle()` only emits `settleCallsV2` and the caller is responsible
|
|
74
|
+
* for sending `createPendingSettlement` afterwards (legacy 2-tx flow).
|
|
75
|
+
* Default: `false` (auto-bundle is on).
|
|
76
|
+
*/
|
|
77
|
+
skipAutoPending?: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* v0.13.0 — `receiptMerkleRoot` to inscribe in the auto-bundled
|
|
80
|
+
* `createPendingSettlement`. Defaults to 32 zero bytes (no receipt
|
|
81
|
+
* batch). Ignored when `skipAutoPending = true`.
|
|
82
|
+
*/
|
|
83
|
+
receiptMerkleRoot?: number[];
|
|
84
|
+
}, coSigner?: Signer): Promise<TransactionSignature>;
|
|
85
|
+
/**
|
|
86
|
+
* Read the current `escrow.settlement_index` from chain.
|
|
87
|
+
*
|
|
88
|
+
* In DisputeWindow mode (`settlementSecurity = 2`), every successful
|
|
89
|
+
* `settleCallsV2` increments this value. The PRE-increment value is the
|
|
90
|
+
* one to pass to {@link createPendingSettlement} for that batch.
|
|
91
|
+
*
|
|
92
|
+
* @returns the current `settlementIndex` as `bigint` (next index to use
|
|
93
|
+
* for `createPendingSettlement` if you have NOT yet called `settle` for
|
|
94
|
+
* it; if you HAVE just settled, subtract 1 — but prefer the event
|
|
95
|
+
* `SettlementPendingEvent.settlement_index` over arithmetic).
|
|
96
|
+
* @since v0.12.8
|
|
97
|
+
*/
|
|
98
|
+
nextSettlementIndex(agentWallet: PublicKey, depositorWallet: PublicKey, nonce: BN | number | bigint): Promise<bigint>;
|
|
99
|
+
/**
|
|
100
|
+
* Create the PendingSettlement PDA for a DisputeWindow batch.
|
|
101
|
+
*
|
|
102
|
+
* **v0.13.0 NOTE:** in almost all cases you should call
|
|
103
|
+
* {@link settle} instead — it auto-bundles `settleCallsV2 +
|
|
104
|
+
* createPendingSettlement` in a single transaction so the two
|
|
105
|
+
* cannot drift out of sync. Use this method standalone ONLY when
|
|
106
|
+
* you intentionally pass `skipAutoPending: true` to `settle()`
|
|
107
|
+
* (e.g. batched receipt-merkle aggregation across multiple
|
|
108
|
+
* `settleCallsV2` runs).
|
|
109
|
+
*
|
|
110
|
+
* Calling this without a preceding `settleCallsV2` (which bumps
|
|
111
|
+
* `escrow.pending_amount`) creates an orphan PDA whose
|
|
112
|
+
* `pending.amount > escrow.pending_amount` — `finalizeSettlement`
|
|
113
|
+
* will then abort with `ArithmeticOverflow` (6075) forever.
|
|
114
|
+
*
|
|
115
|
+
* @since v0.7.0
|
|
116
|
+
*/
|
|
117
|
+
createPendingSettlement(agentWallet: PublicKey, depositorWallet: PublicKey, nonce: BN | number | bigint, settlementIndex: BN | number | bigint, callsToSettle: BN | number | bigint, amount: BN | number | bigint, serviceHash: number[], receiptMerkleRoot?: number[]): Promise<TransactionSignature>;
|
|
118
|
+
finalizeSettlement(agentWallet: PublicKey, depositorWallet: PublicKey, nonce: BN | number | bigint, settlementIndex: BN | number | bigint): Promise<TransactionSignature>;
|
|
119
|
+
/**
|
|
120
|
+
* Identify orphan PendingSettlement PDAs that cannot be finalized.
|
|
121
|
+
*
|
|
122
|
+
* @returns `null` if the PDA is finalizable (or already finalized / disputed).
|
|
123
|
+
* Otherwise an object describing the inconsistency, suitable for
|
|
124
|
+
* logging or feeding into a quarantine list. Use this from a
|
|
125
|
+
* recovery script to scan a range of `settlement_index` values:
|
|
126
|
+
*
|
|
127
|
+
* ```ts
|
|
128
|
+
* for (let idx = 0n; idx < currentIdx; idx++) {
|
|
129
|
+
* const orphan = await sap.escrowV2.diagnoseOrphanPending(
|
|
130
|
+
* agentWallet, depositorWallet, nonce, idx,
|
|
131
|
+
* );
|
|
132
|
+
* if (orphan) log.warn({ idx, ...orphan }, "skip orphan");
|
|
133
|
+
* }
|
|
134
|
+
* ```
|
|
135
|
+
*
|
|
136
|
+
* @since v0.12.9
|
|
137
|
+
*/
|
|
138
|
+
diagnoseOrphanPending(agentWallet: PublicKey, depositorWallet: PublicKey, nonce: BN | number | bigint, settlementIndex: BN | number | bigint): Promise<{
|
|
139
|
+
pendingPda: PublicKey;
|
|
140
|
+
psAmount: bigint;
|
|
141
|
+
escrowPendingAmount: bigint;
|
|
142
|
+
escrowBalance: bigint;
|
|
143
|
+
isFinalized: boolean;
|
|
144
|
+
isDisputed: boolean;
|
|
145
|
+
reason: "ok" | "missing" | "amount_exceeds_pending" | "amount_exceeds_balance" | "already_finalized" | "disputed";
|
|
146
|
+
} | null>;
|
|
147
|
+
fileDispute(agentWallet: PublicKey, nonce: BN | number | bigint, settlementIndex: BN | number | bigint, evidenceHash: number[], disputeType?: number): Promise<TransactionSignature>;
|
|
148
|
+
/**
|
|
149
|
+
* @deprecated Since v0.7.0 — Arbiter-based resolution removed.
|
|
150
|
+
* Use {@link ReceiptModule.submitReceiptProof} + {@link ReceiptModule.autoResolveDispute} instead.
|
|
151
|
+
*/
|
|
152
|
+
resolveDispute(_depositorWallet: PublicKey, _agentWallet: PublicKey, _nonce: BN | number | bigint, _settlementIndex: BN | number | bigint, _outcome: number): Promise<TransactionSignature>;
|
|
153
|
+
closeDispute(pendingSettlementPda: PublicKey): Promise<TransactionSignature>;
|
|
154
|
+
closePendingSettlement(pendingSettlementPda: PublicKey): Promise<TransactionSignature>;
|
|
155
|
+
withdraw(agentWallet: PublicKey, nonce: BN | number | bigint, amount: BN | number | bigint): Promise<TransactionSignature>;
|
|
156
|
+
close(agentWallet: PublicKey, nonce?: BN | number | bigint): Promise<TransactionSignature>;
|
|
157
|
+
/**
|
|
158
|
+
* @deprecated Since v0.7.0 — Migration instruction removed from program.
|
|
159
|
+
*/
|
|
160
|
+
migrateFromV1(_agentWallet: PublicKey): Promise<TransactionSignature>;
|
|
161
|
+
fetch(agentPda: PublicKey, depositor?: PublicKey, nonce?: BN | number | bigint): Promise<EscrowAccountV2Data>;
|
|
162
|
+
fetchNullable(agentPda: PublicKey, depositor?: PublicKey, nonce?: BN | number | bigint): Promise<EscrowAccountV2Data | null>;
|
|
163
|
+
fetchByPda(escrowPda: PublicKey): Promise<EscrowAccountV2Data>;
|
|
164
|
+
fetchPendingSettlement(pendingPda: PublicKey): Promise<PendingSettlementData>;
|
|
165
|
+
fetchPendingSettlementNullable(pendingPda: PublicKey): Promise<PendingSettlementData | null>;
|
|
166
|
+
fetchDispute(disputePda: PublicKey): Promise<DisputeRecordData>;
|
|
167
|
+
fetchDisputeNullable(disputePda: PublicKey): Promise<DisputeRecordData | null>;
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=escrow-v2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"escrow-v2.d.ts","sourceRoot":"","sources":["../../../src/modules/escrow-v2.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,MAAM,EACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAUpC,OAAO,KAAK,EACV,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAKlB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAK3D;;;;;;;;GAQG;AACH,qBAAa,cAAe,SAAQ,UAAU;IAG5C,oEAAoE;IACpE,OAAO,CAAC,KAAK;IAMb,YAAY,CACV,QAAQ,EAAE,SAAS,EACnB,SAAS,CAAC,EAAE,SAAS,EACrB,KAAK,GAAE,EAAE,GAAG,MAAM,GAAG,MAAU,GAC9B,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAI/B,uBAAuB,CACrB,WAAW,EAAE,SAAS,EACtB,eAAe,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,GACpC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAI/B,aAAa,CACX,oBAAoB,EAAE,SAAS,GAC9B,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAMzB,MAAM,CACV,WAAW,EAAE,SAAS,EACtB,IAAI,EAAE,kBAAkB,EACxB,WAAW,GAAE,WAAW,EAAO,GAC9B,OAAO,CAAC,oBAAoB,CAAC;IA8H1B,OAAO,CACX,WAAW,EAAE,SAAS,EACtB,KAAK,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,EAC3B,MAAM,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,EAC5B,WAAW,GAAE,WAAW,EAAO,GAC9B,OAAO,CAAC,oBAAoB,CAAC;IA+BhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACG,MAAM,CACV,eAAe,EAAE,SAAS,EAC1B,KAAK,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,EAC3B,aAAa,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,EACnC,WAAW,EAAE,MAAM,EAAE,EACrB,WAAW,GAAE,WAAW,EAAO,EAC/B,IAAI,CAAC,EAAE,aAAa,GAAG;QACrB;;;;;WAKG;QACH,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B;;;;WAIG;QACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;KAC9B,EACD,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,oBAAoB,CAAC;IAkIhC;;;;;;;;;;;;OAYG;IACG,mBAAmB,CACvB,WAAW,EAAE,SAAS,EACtB,eAAe,EAAE,SAAS,EAC1B,KAAK,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,GAC1B,OAAO,CAAC,MAAM,CAAC;IAelB;;;;;;;;;;;;;;;;;OAiBG;IACG,uBAAuB,CAC3B,WAAW,EAAE,SAAS,EACtB,eAAe,EAAE,SAAS,EAC1B,KAAK,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,EAC3B,eAAe,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,EACrC,aAAa,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,EACnC,MAAM,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,EAC5B,WAAW,EAAE,MAAM,EAAE,EACrB,iBAAiB,GAAE,MAAM,EAA0B,GAClD,OAAO,CAAC,oBAAoB,CAAC;IA0C1B,kBAAkB,CACtB,WAAW,EAAE,SAAS,EACtB,eAAe,EAAE,SAAS,EAC1B,KAAK,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,EAC3B,eAAe,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,GACpC,OAAO,CAAC,oBAAoB,CAAC;IA6DhC;;;;;;;;;;;;;;;;;;OAkBG;IACG,qBAAqB,CACzB,WAAW,EAAE,SAAS,EACtB,eAAe,EAAE,SAAS,EAC1B,KAAK,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,EAC3B,eAAe,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,GACpC,OAAO,CAAC;QACT,UAAU,EAAE,SAAS,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,OAAO,CAAC;QACrB,UAAU,EAAE,OAAO,CAAC;QACpB,MAAM,EAAE,IAAI,GAAG,SAAS,GAAG,wBAAwB,GAAG,wBAAwB,GAAG,mBAAmB,GAAG,UAAU,CAAC;KACnH,GAAG,IAAI,CAAC;IAsCH,WAAW,CACf,WAAW,EAAE,SAAS,EACtB,KAAK,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,EAC3B,eAAe,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,EACrC,YAAY,EAAE,MAAM,EAAE,EACtB,WAAW,GAAE,MAAU,GACtB,OAAO,CAAC,oBAAoB,CAAC;IAkBhC;;;OAGG;IACG,cAAc,CAClB,gBAAgB,EAAE,SAAS,EAC3B,YAAY,EAAE,SAAS,EACvB,MAAM,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,EAC5B,gBAAgB,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,EACtC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,oBAAoB,CAAC;IAI1B,YAAY,CAChB,oBAAoB,EAAE,SAAS,GAC9B,OAAO,CAAC,oBAAoB,CAAC;IAY1B,sBAAsB,CAC1B,oBAAoB,EAAE,SAAS,GAC9B,OAAO,CAAC,oBAAoB,CAAC;IAU1B,QAAQ,CACZ,WAAW,EAAE,SAAS,EACtB,KAAK,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,EAC3B,MAAM,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,GAC3B,OAAO,CAAC,oBAAoB,CAAC;IAgC1B,KAAK,CACT,WAAW,EAAE,SAAS,EACtB,KAAK,GAAE,EAAE,GAAG,MAAM,GAAG,MAAU,GAC9B,OAAO,CAAC,oBAAoB,CAAC;IAiChC;;OAEG;IACG,aAAa,CACjB,YAAY,EAAE,SAAS,GACtB,OAAO,CAAC,oBAAoB,CAAC;IAM1B,KAAK,CACT,QAAQ,EAAE,SAAS,EACnB,SAAS,CAAC,EAAE,SAAS,EACrB,KAAK,GAAE,EAAE,GAAG,MAAM,GAAG,MAAU,GAC9B,OAAO,CAAC,mBAAmB,CAAC;IAKzB,aAAa,CACjB,QAAQ,EAAE,SAAS,EACnB,SAAS,CAAC,EAAE,SAAS,EACrB,KAAK,GAAE,EAAE,GAAG,MAAM,GAAG,MAAU,GAC9B,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAKhC,UAAU,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAI9D,sBAAsB,CAC1B,UAAU,EAAE,SAAS,GACpB,OAAO,CAAC,qBAAqB,CAAC;IAI3B,8BAA8B,CAClC,UAAU,EAAE,SAAS,GACpB,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAIlC,YAAY,CAChB,UAAU,EAAE,SAAS,GACpB,OAAO,CAAC,iBAAiB,CAAC;IAIvB,oBAAoB,CACxB,UAAU,EAAE,SAAS,GACpB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;CAGrC"}
|