@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,205 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module utils/priority-fee
|
|
3
|
+
* @description Compute budget and priority fee utilities for SAP transactions.
|
|
4
|
+
*
|
|
5
|
+
* Solana transactions that include a priority fee (via the Compute Budget program)
|
|
6
|
+
* land faster because validators prefer higher-fee transactions. This module
|
|
7
|
+
* provides a clean, composable API for building priority-fee instructions
|
|
8
|
+
* that can be prepended to any Anchor method builder via `.preInstructions()`.
|
|
9
|
+
*
|
|
10
|
+
* Typical use: x402 settlement transactions where the receiving agent's RPC
|
|
11
|
+
* has a short confirmation window (e.g., 30 seconds).
|
|
12
|
+
*
|
|
13
|
+
* @category Utils
|
|
14
|
+
* @since v0.6.2
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* import { buildPriorityFeeIxs, DEFAULT_SETTLE_PRIORITY } from "@synapse-sap/sdk";
|
|
19
|
+
*
|
|
20
|
+
* // Append to any Anchor method builder:
|
|
21
|
+
* await program.methods
|
|
22
|
+
* .settleCalls(calls, hash)
|
|
23
|
+
* .accounts({ ... })
|
|
24
|
+
* .preInstructions(buildPriorityFeeIxs({ priorityFeeMicroLamports: 5000 }))
|
|
25
|
+
* .rpc({ skipPreflight: true });
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
import { type TransactionInstruction } from "@solana/web3.js";
|
|
29
|
+
/**
|
|
30
|
+
* Default priority fee for settlement transactions (in microlamports).
|
|
31
|
+
* 5000 µL ≈ 0.0005 SOL per 200k CU — fast enough for most agent RPCs.
|
|
32
|
+
*
|
|
33
|
+
* @since v0.6.2
|
|
34
|
+
*/
|
|
35
|
+
export declare const DEFAULT_SETTLE_PRIORITY_FEE = 5000;
|
|
36
|
+
/**
|
|
37
|
+
* Default compute unit limit for settlement transactions.
|
|
38
|
+
* `settle_calls` uses ~60k CU; 100k provides a safe margin.
|
|
39
|
+
*
|
|
40
|
+
* @since v0.6.2
|
|
41
|
+
*/
|
|
42
|
+
export declare const DEFAULT_SETTLE_COMPUTE_UNITS = 100000;
|
|
43
|
+
/**
|
|
44
|
+
* Default compute unit limit for batch settlement transactions.
|
|
45
|
+
* `settle_batch` with 10 entries uses ~200k CU; 300k provides margin.
|
|
46
|
+
*
|
|
47
|
+
* @since v0.6.2
|
|
48
|
+
*/
|
|
49
|
+
export declare const DEFAULT_BATCH_SETTLE_COMPUTE_UNITS = 300000;
|
|
50
|
+
/**
|
|
51
|
+
* @name computeBatchSettleCu
|
|
52
|
+
* @description Compute the CU limit needed by `settle_batch` for a
|
|
53
|
+
* given entry count. Returned value is safe to pass to
|
|
54
|
+
* `ComputeBudgetProgram.setComputeUnitLimit`.
|
|
55
|
+
*
|
|
56
|
+
* Formula: `60_000 + n * 25_000`, clamped to 1.2M.
|
|
57
|
+
*
|
|
58
|
+
* @param entryCount - Number of settlements in the batch (1..N).
|
|
59
|
+
* @returns CU limit suitable for `setComputeUnitLimit`.
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```ts
|
|
63
|
+
* const cu = computeBatchSettleCu(20); // 560_000
|
|
64
|
+
* ```
|
|
65
|
+
*
|
|
66
|
+
* @category Utils
|
|
67
|
+
* @since v0.11.0
|
|
68
|
+
*/
|
|
69
|
+
export declare function computeBatchSettleCu(entryCount: number): number;
|
|
70
|
+
/**
|
|
71
|
+
* @interface PriorityFeeConfig
|
|
72
|
+
* @description Configuration for building compute budget instructions.
|
|
73
|
+
* @category Utils
|
|
74
|
+
* @since v0.6.2
|
|
75
|
+
*/
|
|
76
|
+
export interface PriorityFeeConfig {
|
|
77
|
+
/**
|
|
78
|
+
* Priority fee in microlamports per compute unit.
|
|
79
|
+
* Higher values = faster confirmation.
|
|
80
|
+
*
|
|
81
|
+
* Common values:
|
|
82
|
+
* - `1000` — low priority (~0.0001 SOL)
|
|
83
|
+
* - `5000` — medium priority (~0.0005 SOL) ← recommended for settle
|
|
84
|
+
* - `50000` — high priority (~0.005 SOL)
|
|
85
|
+
* - `0` — no priority fee (default Solana behavior)
|
|
86
|
+
*
|
|
87
|
+
* @default 0
|
|
88
|
+
*/
|
|
89
|
+
readonly priorityFeeMicroLamports?: number;
|
|
90
|
+
/**
|
|
91
|
+
* Maximum compute units the transaction may consume.
|
|
92
|
+
* Setting an explicit limit avoids overpaying for unused CU.
|
|
93
|
+
*
|
|
94
|
+
* @default 200_000 (Solana default)
|
|
95
|
+
*/
|
|
96
|
+
readonly computeUnits?: number;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* @interface SettleOptions
|
|
100
|
+
* @description Options for x402 settlement transactions.
|
|
101
|
+
* Controls priority fees, compute budget, and RPC behavior
|
|
102
|
+
* to optimize confirmation speed for time-sensitive settlements.
|
|
103
|
+
*
|
|
104
|
+
* @category Registries
|
|
105
|
+
* @since v0.6.2
|
|
106
|
+
*
|
|
107
|
+
* @example
|
|
108
|
+
* ```ts
|
|
109
|
+
* // Fast settlement with priority fee
|
|
110
|
+
* const receipt = await x402.settle(depositor, 1, "data", {
|
|
111
|
+
* priorityFeeMicroLamports: 5000,
|
|
112
|
+
* computeUnits: 100_000,
|
|
113
|
+
* skipPreflight: true,
|
|
114
|
+
* });
|
|
115
|
+
*
|
|
116
|
+
* // Use the convenience preset
|
|
117
|
+
* import { FAST_SETTLE_OPTIONS } from "@synapse-sap/sdk";
|
|
118
|
+
* const receipt = await x402.settle(depositor, 1, "data", FAST_SETTLE_OPTIONS);
|
|
119
|
+
* ```
|
|
120
|
+
*/
|
|
121
|
+
export interface SettleOptions extends PriorityFeeConfig {
|
|
122
|
+
/**
|
|
123
|
+
* Skip Solana simulation before submitting.
|
|
124
|
+
* Saves ~400ms but loses pre-flight error detection.
|
|
125
|
+
*
|
|
126
|
+
* Recommended for settlements where the escrow state
|
|
127
|
+
* has already been pre-fetched and validated.
|
|
128
|
+
*
|
|
129
|
+
* @default false
|
|
130
|
+
*/
|
|
131
|
+
readonly skipPreflight?: boolean;
|
|
132
|
+
/**
|
|
133
|
+
* Transaction commitment level override.
|
|
134
|
+
* Uses the provider's default when omitted.
|
|
135
|
+
*
|
|
136
|
+
* - `"processed"` — fastest, least reliable
|
|
137
|
+
* - `"confirmed"` — balanced (recommended)
|
|
138
|
+
* - `"finalized"` — slowest, most reliable
|
|
139
|
+
*/
|
|
140
|
+
readonly commitment?: "processed" | "confirmed" | "finalized";
|
|
141
|
+
/**
|
|
142
|
+
* Maximum number of RPC retry attempts.
|
|
143
|
+
* @default provider default (usually 3)
|
|
144
|
+
*/
|
|
145
|
+
readonly maxRetries?: number;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Recommended preset for fast x402 settlements.
|
|
149
|
+
* Priority fee 5000 µL, 100k CU, skip preflight, confirmed commitment.
|
|
150
|
+
*
|
|
151
|
+
* @since v0.6.2
|
|
152
|
+
*/
|
|
153
|
+
export declare const FAST_SETTLE_OPTIONS: Readonly<SettleOptions>;
|
|
154
|
+
/**
|
|
155
|
+
* Recommended preset for fast batch settlements.
|
|
156
|
+
* Priority fee 5000 µL, 300k CU, skip preflight, confirmed commitment.
|
|
157
|
+
*
|
|
158
|
+
* @since v0.6.2
|
|
159
|
+
*/
|
|
160
|
+
export declare const FAST_BATCH_SETTLE_OPTIONS: Readonly<SettleOptions>;
|
|
161
|
+
/**
|
|
162
|
+
* @name buildPriorityFeeIxs
|
|
163
|
+
* @description Build compute budget instructions for priority fee transactions.
|
|
164
|
+
*
|
|
165
|
+
* Returns an array of 0–2 `TransactionInstruction`s:
|
|
166
|
+
* - `SetComputeUnitPrice` (if `priorityFeeMicroLamports > 0`)
|
|
167
|
+
* - `SetComputeUnitLimit` (if `computeUnits` provided)
|
|
168
|
+
*
|
|
169
|
+
* The returned array is designed to be passed directly to
|
|
170
|
+
* Anchor's `.preInstructions()` builder method.
|
|
171
|
+
*
|
|
172
|
+
* @param config - Priority fee configuration.
|
|
173
|
+
* @returns Array of compute budget instructions (may be empty).
|
|
174
|
+
*
|
|
175
|
+
* @category Utils
|
|
176
|
+
* @since v0.6.2
|
|
177
|
+
*
|
|
178
|
+
* @example
|
|
179
|
+
* ```ts
|
|
180
|
+
* const ixs = buildPriorityFeeIxs({
|
|
181
|
+
* priorityFeeMicroLamports: 5000,
|
|
182
|
+
* computeUnits: 100_000,
|
|
183
|
+
* });
|
|
184
|
+
*
|
|
185
|
+
* await program.methods
|
|
186
|
+
* .settleCalls(calls, hash)
|
|
187
|
+
* .accounts({ ... })
|
|
188
|
+
* .preInstructions(ixs)
|
|
189
|
+
* .rpc({ skipPreflight: true });
|
|
190
|
+
* ```
|
|
191
|
+
*/
|
|
192
|
+
export declare function buildPriorityFeeIxs(config?: PriorityFeeConfig): TransactionInstruction[];
|
|
193
|
+
/**
|
|
194
|
+
* @name buildRpcOptions
|
|
195
|
+
* @description Build Anchor `.rpc()` options from {@link SettleOptions}.
|
|
196
|
+
*
|
|
197
|
+
* @param opts - Settle options.
|
|
198
|
+
* @returns Options object suitable for Anchor `.rpc(opts)`.
|
|
199
|
+
*
|
|
200
|
+
* @category Utils
|
|
201
|
+
* @since v0.6.2
|
|
202
|
+
* @internal
|
|
203
|
+
*/
|
|
204
|
+
export declare function buildRpcOptions(opts?: SettleOptions): Record<string, unknown> | undefined;
|
|
205
|
+
//# sourceMappingURL=priority-fee.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"priority-fee.d.ts","sourceRoot":"","sources":["../../../src/utils/priority-fee.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,iBAAiB,CAAC;AAMzB;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,OAAQ,CAAC;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,SAAU,CAAC;AAEpD;;;;;GAKG;AACH,eAAO,MAAM,kCAAkC,SAAU,CAAC;AA8B1D;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAM/D;AAMD;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAE3C;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,aAAc,SAAQ,iBAAiB;IACtD;;;;;;;;OAQG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IAEjC;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC;IAE9D;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAMD;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,aAAa,CAKtD,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,aAAa,CAK5D,CAAC;AAMH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,CAAC,EAAE,iBAAiB,GACzB,sBAAsB,EAAE,CAwB1B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,IAAI,CAAC,EAAE,aAAa,GACnB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAgBrC"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module utils/rpc-strategy
|
|
3
|
+
* @description Dual-connection RPC strategy and idempotent ATA creation.
|
|
4
|
+
*
|
|
5
|
+
* Solves two interoperability problems:
|
|
6
|
+
*
|
|
7
|
+
* 1. **WebSocket 400 loop**: Some authenticated RPCs reject WebSocket
|
|
8
|
+
* connections for SPL token operations. This module exposes a
|
|
9
|
+
* dual-connection strategy: primary RPC for SAP program calls,
|
|
10
|
+
* fallback public RPC for token operations.
|
|
11
|
+
*
|
|
12
|
+
* 2. **Idempotent ATA creation**: Wraps `getOrCreateAssociatedTokenAccount`
|
|
13
|
+
* with retries so "account already exists" doesn't surface as a
|
|
14
|
+
* hard error.
|
|
15
|
+
*
|
|
16
|
+
* @category Utils
|
|
17
|
+
* @since v0.6.0
|
|
18
|
+
*/
|
|
19
|
+
import { Connection, type Commitment, PublicKey, type TransactionSignature } from "@solana/web3.js";
|
|
20
|
+
/**
|
|
21
|
+
* @interface RpcConfig
|
|
22
|
+
* @description Configuration for dual-connection RPC strategy.
|
|
23
|
+
* @category Utils
|
|
24
|
+
* @since v0.6.0
|
|
25
|
+
*/
|
|
26
|
+
export interface RpcConfig {
|
|
27
|
+
/** Primary RPC URL (for SAP program calls). */
|
|
28
|
+
readonly primaryUrl: string;
|
|
29
|
+
/** Fallback RPC URL (for SPL token ops, public RPCs). */
|
|
30
|
+
readonly fallbackUrl?: string;
|
|
31
|
+
/** Commitment level. */
|
|
32
|
+
readonly commitment?: Commitment;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* @interface DualConnection
|
|
36
|
+
* @description Dual RPC connections: primary for SAP, fallback for tokens.
|
|
37
|
+
* @category Utils
|
|
38
|
+
* @since v0.6.0
|
|
39
|
+
*/
|
|
40
|
+
export interface DualConnection {
|
|
41
|
+
/** Primary connection for SAP program calls. */
|
|
42
|
+
readonly primary: Connection;
|
|
43
|
+
/** Fallback connection for SPL token operations. */
|
|
44
|
+
readonly fallback: Connection;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* @name getRpcUrl
|
|
48
|
+
* @description Get the primary RPC URL from environment or config.
|
|
49
|
+
*
|
|
50
|
+
* Resolution order:
|
|
51
|
+
* 1. Explicit `config.primaryUrl`
|
|
52
|
+
* 2. `SOLANA_RPC_URL` env var
|
|
53
|
+
* 3. Cluster-appropriate public RPC
|
|
54
|
+
*
|
|
55
|
+
* @param config - Optional RPC configuration.
|
|
56
|
+
* @param cluster - Cluster hint (defaults to "mainnet-beta").
|
|
57
|
+
* @returns The resolved primary RPC URL.
|
|
58
|
+
*
|
|
59
|
+
* @category Utils
|
|
60
|
+
* @since v0.6.0
|
|
61
|
+
*/
|
|
62
|
+
export declare function getRpcUrl(config?: Partial<RpcConfig>, cluster?: string): string;
|
|
63
|
+
/**
|
|
64
|
+
* @name getFallbackRpcUrl
|
|
65
|
+
* @description Get the fallback RPC URL for SPL token operations.
|
|
66
|
+
*
|
|
67
|
+
* This avoids the WebSocket-400 loop when the primary RPC is
|
|
68
|
+
* an authenticated endpoint that rejects token-related WebSocket
|
|
69
|
+
* subscriptions.
|
|
70
|
+
*
|
|
71
|
+
* @param config - Optional RPC configuration.
|
|
72
|
+
* @param cluster - Cluster hint (defaults to "mainnet-beta").
|
|
73
|
+
* @returns The resolved fallback RPC URL.
|
|
74
|
+
*
|
|
75
|
+
* @category Utils
|
|
76
|
+
* @since v0.6.0
|
|
77
|
+
*/
|
|
78
|
+
export declare function getFallbackRpcUrl(config?: Partial<RpcConfig>, cluster?: string): string;
|
|
79
|
+
/**
|
|
80
|
+
* @name createDualConnection
|
|
81
|
+
* @description Create a dual-connection pair: primary for SAP program calls,
|
|
82
|
+
* fallback for SPL token operations.
|
|
83
|
+
*
|
|
84
|
+
* @param config - RPC configuration.
|
|
85
|
+
* @param cluster - Cluster hint.
|
|
86
|
+
* @returns A {@link DualConnection} with both connections.
|
|
87
|
+
*
|
|
88
|
+
* @category Utils
|
|
89
|
+
* @since v0.6.0
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* ```ts
|
|
93
|
+
* const { primary, fallback } = createDualConnection({
|
|
94
|
+
* primaryUrl: "https://my-rpc.example.com",
|
|
95
|
+
* }, "mainnet-beta");
|
|
96
|
+
*
|
|
97
|
+
* // Use primary for SAP calls
|
|
98
|
+
* const provider = new AnchorProvider(primary, wallet, {});
|
|
99
|
+
*
|
|
100
|
+
* // Use fallback for SPL token account creation
|
|
101
|
+
* const ata = await getOrCreateATA(fallback, mint, owner);
|
|
102
|
+
* ```
|
|
103
|
+
*/
|
|
104
|
+
export declare function createDualConnection(config: Partial<RpcConfig>, cluster?: string): DualConnection;
|
|
105
|
+
/**
|
|
106
|
+
* @interface AtaResult
|
|
107
|
+
* @description Result of idempotent ATA creation attempt.
|
|
108
|
+
* @category Utils
|
|
109
|
+
* @since v0.6.0
|
|
110
|
+
*/
|
|
111
|
+
export interface AtaResult {
|
|
112
|
+
/** The ATA public key (exists or newly created). */
|
|
113
|
+
readonly address: PublicKey;
|
|
114
|
+
/** Whether the ATA already existed. */
|
|
115
|
+
readonly existed: boolean;
|
|
116
|
+
/** Transaction signature (only if newly created). */
|
|
117
|
+
readonly txSignature?: TransactionSignature;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* @name findATA
|
|
121
|
+
* @description Derive the Associated Token Account address.
|
|
122
|
+
* Uses the standard ATA PDA derivation without importing the full
|
|
123
|
+
* `@solana/spl-token` package.
|
|
124
|
+
*
|
|
125
|
+
* @param owner - The token account owner.
|
|
126
|
+
* @param mint - The token mint.
|
|
127
|
+
* @param programId - Token program ID (defaults to TOKEN_PROGRAM_ID).
|
|
128
|
+
* @returns The derived ATA public key.
|
|
129
|
+
*
|
|
130
|
+
* @category Utils
|
|
131
|
+
* @since v0.6.0
|
|
132
|
+
*/
|
|
133
|
+
export declare function findATA(owner: PublicKey, mint: PublicKey, programId?: PublicKey): PublicKey;
|
|
134
|
+
/**
|
|
135
|
+
* @name classifyAnchorError
|
|
136
|
+
* @description Convert an Anchor error code into a friendly, actionable message.
|
|
137
|
+
*
|
|
138
|
+
* @param errorCode - The numeric Anchor error code.
|
|
139
|
+
* @returns A human-readable error message, or a generic message for unknown codes.
|
|
140
|
+
*
|
|
141
|
+
* @category Utils
|
|
142
|
+
* @since v0.6.0
|
|
143
|
+
*
|
|
144
|
+
* @example
|
|
145
|
+
* ```ts
|
|
146
|
+
* try {
|
|
147
|
+
* await client.escrow.create(...);
|
|
148
|
+
* } catch (err) {
|
|
149
|
+
* const code = extractAnchorErrorCode(err);
|
|
150
|
+
* if (code !== null) {
|
|
151
|
+
* console.error(classifyAnchorError(code));
|
|
152
|
+
* }
|
|
153
|
+
* }
|
|
154
|
+
* ```
|
|
155
|
+
*/
|
|
156
|
+
export declare function classifyAnchorError(errorCode: number): string;
|
|
157
|
+
/**
|
|
158
|
+
* @name extractAnchorErrorCode
|
|
159
|
+
* @description Attempt to extract an Anchor error code from an Error object.
|
|
160
|
+
*
|
|
161
|
+
* Anchor errors typically have the structure `{ code: number, msg: string }`.
|
|
162
|
+
* This function handles both the direct `error.code` pattern and the
|
|
163
|
+
* `error.error.errorCode.number` nested pattern.
|
|
164
|
+
*
|
|
165
|
+
* @param err - The caught error object.
|
|
166
|
+
* @returns The numeric error code, or `null` if not an Anchor error.
|
|
167
|
+
*
|
|
168
|
+
* @category Utils
|
|
169
|
+
* @since v0.6.0
|
|
170
|
+
*/
|
|
171
|
+
export declare function extractAnchorErrorCode(err: unknown): number | null;
|
|
172
|
+
export interface SafeRpcOptions {
|
|
173
|
+
readonly rpcOpts?: Parameters<typeof Object>[0];
|
|
174
|
+
readonly maxAttempts?: number;
|
|
175
|
+
readonly skipRetry?: boolean;
|
|
176
|
+
readonly idempotencyHint?: string;
|
|
177
|
+
}
|
|
178
|
+
export declare function safeRpc(builder: any, label: string, opts?: SafeRpcOptions): Promise<TransactionSignature>;
|
|
179
|
+
//# sourceMappingURL=rpc-strategy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc-strategy.d.ts","sourceRoot":"","sources":["../../../src/utils/rpc-strategy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EACL,UAAU,EACV,KAAK,UAAU,EACf,SAAS,EACT,KAAK,oBAAoB,EAC1B,MAAM,iBAAiB,CAAC;AAazB;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,+CAA+C;IAC/C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,yDAAyD;IACzD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,wBAAwB;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;CAClC;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,gDAAgD;IAChD,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,oDAAoD;IACpD,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;CAC/B;AAiBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,SAAS,CACvB,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,EAC3B,OAAO,GAAE,MAAuB,GAC/B,MAAM,CASR;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,EAC3B,OAAO,GAAE,MAAuB,GAC/B,MAAM,CAWR;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,EAC1B,OAAO,GAAE,MAAuB,GAC/B,cAAc,CAShB;AAMD;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,oDAAoD;IACpD,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5B,uCAAuC;IACvC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,qDAAqD;IACrD,QAAQ,CAAC,WAAW,CAAC,EAAE,oBAAoB,CAAC;CAC7C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,OAAO,CACrB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,SAAS,EACf,SAAS,GAAE,SAAwE,GAClF,SAAS,CAUX;AAiCD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAK7D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAyBlE;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAGD,wBAAsB,OAAO,CAC3B,OAAO,EAAE,GAAG,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,cAAc,GACpB,OAAO,CAAC,oBAAoB,CAAC,CAqD/B"}
|