@oobe-protocol-labs/synapse-sap-sdk 0.13.0 → 0.14.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/dist/cjs/accounts/index.js +286 -0
- package/dist/cjs/accounts/index.js.map +1 -0
- package/dist/cjs/client.js +108 -0
- package/dist/cjs/client.js.map +1 -0
- package/dist/cjs/constants.js +59 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/cjs/errors.js +250 -0
- package/dist/cjs/errors.js.map +1 -0
- package/dist/cjs/events/index.js +38 -130
- package/dist/cjs/events/index.js.map +1 -1
- package/dist/cjs/idlTypes.js +4 -0
- package/dist/cjs/idlTypes.js.map +1 -0
- package/dist/cjs/index.js +75 -241
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/instructions/agent.js +89 -0
- package/dist/cjs/instructions/agent.js.map +1 -0
- package/dist/cjs/instructions/attestation.js +112 -0
- package/dist/cjs/instructions/attestation.js.map +1 -0
- package/dist/cjs/instructions/digest.js +28 -0
- package/dist/cjs/instructions/digest.js.map +1 -0
- package/dist/cjs/instructions/dispute.js +116 -0
- package/dist/cjs/instructions/dispute.js.map +1 -0
- package/dist/cjs/instructions/escrow.js +101 -0
- package/dist/cjs/instructions/escrow.js.map +1 -0
- package/dist/cjs/instructions/global.js +28 -0
- package/dist/cjs/instructions/global.js.map +1 -0
- package/dist/cjs/instructions/index.js +31 -0
- package/dist/cjs/instructions/index.js.map +1 -0
- package/dist/cjs/instructions/indexing.js +221 -0
- package/dist/cjs/instructions/indexing.js.map +1 -0
- package/dist/cjs/instructions/misc.js +73 -0
- package/dist/cjs/instructions/misc.js.map +1 -0
- package/dist/cjs/instructions/session.js +89 -0
- package/dist/cjs/instructions/session.js.map +1 -0
- package/dist/cjs/instructions/staking.js +132 -0
- package/dist/cjs/instructions/staking.js.map +1 -0
- package/dist/cjs/instructions/subscription.js +80 -0
- package/dist/cjs/instructions/subscription.js.map +1 -0
- package/dist/cjs/instructions/tools.js +109 -0
- package/dist/cjs/instructions/tools.js.map +1 -0
- package/dist/cjs/instructions/vault.js +106 -0
- package/dist/cjs/instructions/vault.js.map +1 -0
- package/dist/cjs/pdas/index.js +120 -0
- package/dist/cjs/pdas/index.js.map +1 -0
- package/dist/cjs/types.js +42 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/cjs/utils/index.js +29 -86
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/validate.js +236 -0
- package/dist/cjs/utils/validate.js.map +1 -0
- package/dist/esm/accounts/index.d.ts +11 -0
- package/dist/esm/accounts/index.d.ts.map +1 -0
- package/dist/esm/accounts/index.js +273 -0
- package/dist/esm/accounts/index.js.map +1 -0
- package/dist/esm/client.d.ts +55 -0
- package/dist/esm/client.d.ts.map +1 -0
- package/dist/esm/client.js +70 -0
- package/dist/esm/client.js.map +1 -0
- package/dist/esm/constants.d.ts +52 -0
- package/dist/esm/constants.d.ts.map +1 -0
- package/dist/esm/constants.js +56 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/errors.d.ts +111 -0
- package/dist/esm/errors.d.ts.map +1 -0
- package/dist/esm/errors.js +244 -0
- package/dist/esm/errors.js.map +1 -0
- package/dist/esm/events/index.d.ts +13 -0
- package/dist/esm/events/index.d.ts.map +1 -0
- package/dist/esm/events/index.js +36 -128
- package/dist/esm/events/index.js.map +1 -1
- package/dist/esm/idlTypes.d.ts +925 -0
- package/dist/esm/idlTypes.d.ts.map +1 -0
- package/dist/esm/idlTypes.js +3 -0
- package/dist/esm/idlTypes.js.map +1 -0
- package/dist/esm/index.d.ts +12 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +15 -88
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/instructions/agent.d.ts +71 -0
- package/dist/esm/instructions/agent.d.ts.map +1 -0
- package/dist/esm/instructions/agent.js +85 -0
- package/dist/esm/instructions/agent.js.map +1 -0
- package/dist/esm/instructions/attestation.d.ts +76 -0
- package/dist/esm/instructions/attestation.d.ts.map +1 -0
- package/dist/esm/instructions/attestation.js +108 -0
- package/dist/esm/instructions/attestation.js.map +1 -0
- package/dist/esm/instructions/digest.d.ts +20 -0
- package/dist/esm/instructions/digest.d.ts.map +1 -0
- package/dist/esm/instructions/digest.js +24 -0
- package/dist/esm/instructions/digest.js.map +1 -0
- package/dist/esm/instructions/dispute.d.ts +81 -0
- package/dist/esm/instructions/dispute.d.ts.map +1 -0
- package/dist/esm/instructions/dispute.js +112 -0
- package/dist/esm/instructions/dispute.js.map +1 -0
- package/dist/esm/instructions/escrow.d.ts +79 -0
- package/dist/esm/instructions/escrow.d.ts.map +1 -0
- package/dist/esm/instructions/escrow.js +97 -0
- package/dist/esm/instructions/escrow.js.map +1 -0
- package/dist/esm/instructions/global.d.ts +14 -0
- package/dist/esm/instructions/global.d.ts.map +1 -0
- package/dist/esm/instructions/global.js +24 -0
- package/dist/esm/instructions/global.js.map +1 -0
- package/dist/esm/instructions/index.d.ts +14 -0
- package/dist/esm/instructions/index.d.ts.map +1 -0
- package/dist/esm/instructions/index.js +15 -0
- package/dist/esm/instructions/index.js.map +1 -0
- package/dist/esm/instructions/indexing.d.ts +150 -0
- package/dist/esm/instructions/indexing.d.ts.map +1 -0
- package/dist/esm/instructions/indexing.js +217 -0
- package/dist/esm/instructions/indexing.js.map +1 -0
- package/dist/esm/instructions/memory.d.ts +8 -0
- package/dist/esm/instructions/memory.d.ts.map +1 -0
- package/dist/esm/instructions/memory.js +234 -0
- package/dist/esm/instructions/memory.js.map +1 -0
- package/dist/esm/instructions/misc.d.ts +50 -0
- package/dist/esm/instructions/misc.d.ts.map +1 -0
- package/dist/esm/instructions/misc.js +69 -0
- package/dist/esm/instructions/misc.js.map +1 -0
- package/dist/esm/instructions/session.d.ts +57 -0
- package/dist/esm/instructions/session.d.ts.map +1 -0
- package/dist/esm/instructions/session.js +85 -0
- package/dist/esm/instructions/session.js.map +1 -0
- package/dist/esm/instructions/staking.d.ts +85 -0
- package/dist/esm/instructions/staking.d.ts.map +1 -0
- package/dist/esm/instructions/staking.js +128 -0
- package/dist/esm/instructions/staking.js.map +1 -0
- package/dist/esm/instructions/subscription.d.ts +50 -0
- package/dist/esm/instructions/subscription.d.ts.map +1 -0
- package/dist/esm/instructions/subscription.js +76 -0
- package/dist/esm/instructions/subscription.js.map +1 -0
- package/dist/esm/instructions/tools.d.ts +88 -0
- package/dist/esm/instructions/tools.d.ts.map +1 -0
- package/dist/esm/instructions/tools.js +105 -0
- package/dist/esm/instructions/tools.js.map +1 -0
- package/dist/esm/instructions/vault.d.ts +84 -0
- package/dist/esm/instructions/vault.d.ts.map +1 -0
- package/dist/esm/instructions/vault.js +102 -0
- package/dist/esm/instructions/vault.js.map +1 -0
- package/dist/esm/pdas/index.d.ts +37 -0
- package/dist/esm/pdas/index.d.ts.map +1 -0
- package/dist/esm/pdas/index.js +101 -0
- package/dist/esm/pdas/index.js.map +1 -0
- package/dist/esm/types.d.ts +208 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +39 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/utils/index.d.ts +4 -0
- package/dist/esm/utils/index.d.ts.map +1 -0
- package/dist/esm/utils/index.js +13 -33
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/validate.d.ts +66 -0
- package/dist/esm/utils/validate.d.ts.map +1 -0
- package/dist/esm/utils/validate.js +221 -0
- package/dist/esm/utils/validate.js.map +1 -0
- package/package.json +59 -183
- package/LICENSE +0 -21
- package/README.md +0 -986
- package/dist/cjs/constants/addresses.js +0 -143
- package/dist/cjs/constants/addresses.js.map +0 -1
- package/dist/cjs/constants/index.js +0 -64
- package/dist/cjs/constants/index.js.map +0 -1
- package/dist/cjs/constants/limits.js +0 -161
- package/dist/cjs/constants/limits.js.map +0 -1
- package/dist/cjs/constants/network.js +0 -81
- package/dist/cjs/constants/network.js.map +0 -1
- package/dist/cjs/constants/payments.js +0 -137
- package/dist/cjs/constants/payments.js.map +0 -1
- package/dist/cjs/constants/programs.js +0 -78
- package/dist/cjs/constants/programs.js.map +0 -1
- package/dist/cjs/constants/seeds.js +0 -76
- package/dist/cjs/constants/seeds.js.map +0 -1
- package/dist/cjs/core/client.js +0 -546
- package/dist/cjs/core/client.js.map +0 -1
- package/dist/cjs/core/connection.js +0 -350
- package/dist/cjs/core/connection.js.map +0 -1
- package/dist/cjs/core/index.js +0 -25
- package/dist/cjs/core/index.js.map +0 -1
- package/dist/cjs/errors/index.js +0 -334
- package/dist/cjs/errors/index.js.map +0 -1
- package/dist/cjs/events/geyser.js +0 -295
- package/dist/cjs/events/geyser.js.map +0 -1
- package/dist/cjs/idl/index.js +0 -63
- package/dist/cjs/idl/index.js.map +0 -1
- package/dist/cjs/idl/synapse_agent_sap.json +0 -14595
- package/dist/cjs/modules/agent.js +0 -272
- package/dist/cjs/modules/agent.js.map +0 -1
- package/dist/cjs/modules/attestation.js +0 -147
- package/dist/cjs/modules/attestation.js.map +0 -1
- package/dist/cjs/modules/base.js +0 -189
- package/dist/cjs/modules/base.js.map +0 -1
- package/dist/cjs/modules/escrow-v2.js +0 -607
- package/dist/cjs/modules/escrow-v2.js.map +0 -1
- package/dist/cjs/modules/escrow.js +0 -336
- package/dist/cjs/modules/escrow.js.map +0 -1
- package/dist/cjs/modules/feedback.js +0 -166
- package/dist/cjs/modules/feedback.js.map +0 -1
- package/dist/cjs/modules/index.js +0 -43
- package/dist/cjs/modules/index.js.map +0 -1
- package/dist/cjs/modules/indexing.js +0 -375
- package/dist/cjs/modules/indexing.js.map +0 -1
- package/dist/cjs/modules/ledger.js +0 -234
- package/dist/cjs/modules/ledger.js.map +0 -1
- package/dist/cjs/modules/receipt.js +0 -148
- package/dist/cjs/modules/receipt.js.map +0 -1
- package/dist/cjs/modules/staking.js +0 -159
- package/dist/cjs/modules/staking.js.map +0 -1
- package/dist/cjs/modules/subscription.js +0 -96
- package/dist/cjs/modules/subscription.js.map +0 -1
- package/dist/cjs/modules/tools.js +0 -345
- package/dist/cjs/modules/tools.js.map +0 -1
- package/dist/cjs/modules/vault.js +0 -427
- package/dist/cjs/modules/vault.js.map +0 -1
- package/dist/cjs/parser/client.js +0 -146
- package/dist/cjs/parser/client.js.map +0 -1
- package/dist/cjs/parser/complete.js +0 -177
- package/dist/cjs/parser/complete.js.map +0 -1
- package/dist/cjs/parser/index.js +0 -57
- package/dist/cjs/parser/index.js.map +0 -1
- package/dist/cjs/parser/inner.js +0 -185
- package/dist/cjs/parser/inner.js.map +0 -1
- package/dist/cjs/parser/instructions.js +0 -114
- package/dist/cjs/parser/instructions.js.map +0 -1
- package/dist/cjs/parser/transaction.js +0 -153
- package/dist/cjs/parser/transaction.js.map +0 -1
- package/dist/cjs/parser/types.js +0 -14
- package/dist/cjs/parser/types.js.map +0 -1
- package/dist/cjs/pda/index.js +0 -672
- package/dist/cjs/pda/index.js.map +0 -1
- package/dist/cjs/plugin/index.js +0 -952
- package/dist/cjs/plugin/index.js.map +0 -1
- package/dist/cjs/plugin/protocols.js +0 -282
- package/dist/cjs/plugin/protocols.js.map +0 -1
- package/dist/cjs/plugin/schemas.js +0 -863
- package/dist/cjs/plugin/schemas.js.map +0 -1
- package/dist/cjs/postgres/adapter.js +0 -715
- package/dist/cjs/postgres/adapter.js.map +0 -1
- package/dist/cjs/postgres/index.js +0 -50
- package/dist/cjs/postgres/index.js.map +0 -1
- package/dist/cjs/postgres/serializers.js +0 -381
- package/dist/cjs/postgres/serializers.js.map +0 -1
- package/dist/cjs/postgres/sync.js +0 -289
- package/dist/cjs/postgres/sync.js.map +0 -1
- package/dist/cjs/postgres/types.js +0 -44
- package/dist/cjs/postgres/types.js.map +0 -1
- package/dist/cjs/registries/builder.js +0 -414
- package/dist/cjs/registries/builder.js.map +0 -1
- package/dist/cjs/registries/discovery.js +0 -362
- package/dist/cjs/registries/discovery.js.map +0 -1
- package/dist/cjs/registries/fairscale.js +0 -639
- package/dist/cjs/registries/fairscale.js.map +0 -1
- package/dist/cjs/registries/index.js +0 -58
- package/dist/cjs/registries/index.js.map +0 -1
- package/dist/cjs/registries/metaplex-bridge.js +0 -743
- package/dist/cjs/registries/metaplex-bridge.js.map +0 -1
- package/dist/cjs/registries/session.js +0 -433
- package/dist/cjs/registries/session.js.map +0 -1
- package/dist/cjs/registries/x402.js +0 -668
- package/dist/cjs/registries/x402.js.map +0 -1
- package/dist/cjs/types/accounts.js +0 -13
- package/dist/cjs/types/accounts.js.map +0 -1
- package/dist/cjs/types/common.js +0 -13
- package/dist/cjs/types/common.js.map +0 -1
- package/dist/cjs/types/endpoint.js +0 -15
- package/dist/cjs/types/endpoint.js.map +0 -1
- package/dist/cjs/types/enums.js +0 -269
- package/dist/cjs/types/enums.js.map +0 -1
- package/dist/cjs/types/index.js +0 -41
- package/dist/cjs/types/index.js.map +0 -1
- package/dist/cjs/types/instructions.js +0 -92
- package/dist/cjs/types/instructions.js.map +0 -1
- package/dist/cjs/utils/anchor-errors.js +0 -453
- package/dist/cjs/utils/anchor-errors.js.map +0 -1
- package/dist/cjs/utils/endpoint-validator.js +0 -232
- package/dist/cjs/utils/endpoint-validator.js.map +0 -1
- package/dist/cjs/utils/escrow-validation.js +0 -219
- package/dist/cjs/utils/escrow-validation.js.map +0 -1
- package/dist/cjs/utils/hash.js +0 -109
- package/dist/cjs/utils/hash.js.map +0 -1
- package/dist/cjs/utils/merchant-validator.js +0 -246
- package/dist/cjs/utils/merchant-validator.js.map +0 -1
- package/dist/cjs/utils/network-normalizer.js +0 -236
- package/dist/cjs/utils/network-normalizer.js.map +0 -1
- package/dist/cjs/utils/priority-fee.js +0 -215
- package/dist/cjs/utils/priority-fee.js.map +0 -1
- package/dist/cjs/utils/rpc-strategy.js +0 -239
- package/dist/cjs/utils/rpc-strategy.js.map +0 -1
- package/dist/cjs/utils/schemas.js +0 -331
- package/dist/cjs/utils/schemas.js.map +0 -1
- package/dist/cjs/utils/serialization.js +0 -105
- package/dist/cjs/utils/serialization.js.map +0 -1
- package/dist/cjs/utils/validation.js +0 -36
- package/dist/cjs/utils/validation.js.map +0 -1
- package/dist/cjs/utils/volume-curve.js +0 -117
- package/dist/cjs/utils/volume-curve.js.map +0 -1
- package/dist/cjs/utils/x402-direct.js +0 -231
- package/dist/cjs/utils/x402-direct.js.map +0 -1
- package/dist/esm/constants/addresses.js +0 -140
- package/dist/esm/constants/addresses.js.map +0 -1
- package/dist/esm/constants/index.js +0 -35
- package/dist/esm/constants/index.js.map +0 -1
- package/dist/esm/constants/limits.js +0 -158
- package/dist/esm/constants/limits.js.map +0 -1
- package/dist/esm/constants/network.js +0 -78
- package/dist/esm/constants/network.js.map +0 -1
- package/dist/esm/constants/payments.js +0 -131
- package/dist/esm/constants/payments.js.map +0 -1
- package/dist/esm/constants/programs.js +0 -75
- package/dist/esm/constants/programs.js.map +0 -1
- package/dist/esm/constants/seeds.js +0 -73
- package/dist/esm/constants/seeds.js.map +0 -1
- package/dist/esm/core/client.js +0 -539
- package/dist/esm/core/client.js.map +0 -1
- package/dist/esm/core/connection.js +0 -345
- package/dist/esm/core/connection.js.map +0 -1
- package/dist/esm/core/index.js +0 -19
- package/dist/esm/core/index.js.map +0 -1
- package/dist/esm/errors/index.js +0 -325
- package/dist/esm/errors/index.js.map +0 -1
- package/dist/esm/events/geyser.js +0 -258
- package/dist/esm/events/geyser.js.map +0 -1
- package/dist/esm/idl/index.js +0 -57
- package/dist/esm/idl/index.js.map +0 -1
- package/dist/esm/idl/synapse_agent_sap.json +0 -14595
- package/dist/esm/modules/agent.js +0 -268
- package/dist/esm/modules/agent.js.map +0 -1
- package/dist/esm/modules/attestation.js +0 -143
- package/dist/esm/modules/attestation.js.map +0 -1
- package/dist/esm/modules/base.js +0 -185
- package/dist/esm/modules/base.js.map +0 -1
- package/dist/esm/modules/escrow-v2.js +0 -603
- package/dist/esm/modules/escrow-v2.js.map +0 -1
- package/dist/esm/modules/escrow.js +0 -332
- package/dist/esm/modules/escrow.js.map +0 -1
- package/dist/esm/modules/feedback.js +0 -162
- package/dist/esm/modules/feedback.js.map +0 -1
- package/dist/esm/modules/index.js +0 -27
- package/dist/esm/modules/index.js.map +0 -1
- package/dist/esm/modules/indexing.js +0 -371
- package/dist/esm/modules/indexing.js.map +0 -1
- package/dist/esm/modules/ledger.js +0 -230
- package/dist/esm/modules/ledger.js.map +0 -1
- package/dist/esm/modules/receipt.js +0 -144
- package/dist/esm/modules/receipt.js.map +0 -1
- package/dist/esm/modules/staking.js +0 -155
- package/dist/esm/modules/staking.js.map +0 -1
- package/dist/esm/modules/subscription.js +0 -92
- package/dist/esm/modules/subscription.js.map +0 -1
- package/dist/esm/modules/tools.js +0 -341
- package/dist/esm/modules/tools.js.map +0 -1
- package/dist/esm/modules/vault.js +0 -423
- package/dist/esm/modules/vault.js.map +0 -1
- package/dist/esm/parser/client.js +0 -142
- package/dist/esm/parser/client.js.map +0 -1
- package/dist/esm/parser/complete.js +0 -173
- package/dist/esm/parser/complete.js.map +0 -1
- package/dist/esm/parser/index.js +0 -43
- package/dist/esm/parser/index.js.map +0 -1
- package/dist/esm/parser/inner.js +0 -180
- package/dist/esm/parser/inner.js.map +0 -1
- package/dist/esm/parser/instructions.js +0 -109
- package/dist/esm/parser/instructions.js.map +0 -1
- package/dist/esm/parser/transaction.js +0 -149
- package/dist/esm/parser/transaction.js.map +0 -1
- package/dist/esm/parser/types.js +0 -13
- package/dist/esm/parser/types.js.map +0 -1
- package/dist/esm/pda/index.js +0 -638
- package/dist/esm/pda/index.js.map +0 -1
- package/dist/esm/plugin/index.js +0 -945
- package/dist/esm/plugin/index.js.map +0 -1
- package/dist/esm/plugin/protocols.js +0 -279
- package/dist/esm/plugin/protocols.js.map +0 -1
- package/dist/esm/plugin/schemas.js +0 -860
- package/dist/esm/plugin/schemas.js.map +0 -1
- package/dist/esm/postgres/adapter.js +0 -678
- package/dist/esm/postgres/adapter.js.map +0 -1
- package/dist/esm/postgres/index.js +0 -27
- package/dist/esm/postgres/index.js.map +0 -1
- package/dist/esm/postgres/serializers.js +0 -362
- package/dist/esm/postgres/serializers.js.map +0 -1
- package/dist/esm/postgres/sync.js +0 -285
- package/dist/esm/postgres/sync.js.map +0 -1
- package/dist/esm/postgres/types.js +0 -41
- package/dist/esm/postgres/types.js.map +0 -1
- package/dist/esm/registries/builder.js +0 -410
- package/dist/esm/registries/builder.js.map +0 -1
- package/dist/esm/registries/discovery.js +0 -358
- package/dist/esm/registries/discovery.js.map +0 -1
- package/dist/esm/registries/fairscale.js +0 -633
- package/dist/esm/registries/fairscale.js.map +0 -1
- package/dist/esm/registries/index.js +0 -46
- package/dist/esm/registries/index.js.map +0 -1
- package/dist/esm/registries/metaplex-bridge.js +0 -706
- package/dist/esm/registries/metaplex-bridge.js.map +0 -1
- package/dist/esm/registries/session.js +0 -429
- package/dist/esm/registries/session.js.map +0 -1
- package/dist/esm/registries/x402.js +0 -664
- package/dist/esm/registries/x402.js.map +0 -1
- package/dist/esm/types/accounts.js +0 -12
- package/dist/esm/types/accounts.js.map +0 -1
- package/dist/esm/types/common.js +0 -12
- package/dist/esm/types/common.js.map +0 -1
- package/dist/esm/types/endpoint.js +0 -14
- package/dist/esm/types/endpoint.js.map +0 -1
- package/dist/esm/types/enums.js +0 -266
- package/dist/esm/types/enums.js.map +0 -1
- package/dist/esm/types/index.js +0 -25
- package/dist/esm/types/index.js.map +0 -1
- package/dist/esm/types/instructions.js +0 -89
- package/dist/esm/types/instructions.js.map +0 -1
- package/dist/esm/utils/anchor-errors.js +0 -447
- package/dist/esm/utils/anchor-errors.js.map +0 -1
- package/dist/esm/utils/endpoint-validator.js +0 -226
- package/dist/esm/utils/endpoint-validator.js.map +0 -1
- package/dist/esm/utils/escrow-validation.js +0 -212
- package/dist/esm/utils/escrow-validation.js.map +0 -1
- package/dist/esm/utils/hash.js +0 -103
- package/dist/esm/utils/hash.js.map +0 -1
- package/dist/esm/utils/merchant-validator.js +0 -241
- package/dist/esm/utils/merchant-validator.js.map +0 -1
- package/dist/esm/utils/network-normalizer.js +0 -229
- package/dist/esm/utils/network-normalizer.js.map +0 -1
- package/dist/esm/utils/priority-fee.js +0 -209
- package/dist/esm/utils/priority-fee.js.map +0 -1
- package/dist/esm/utils/rpc-strategy.js +0 -231
- package/dist/esm/utils/rpc-strategy.js.map +0 -1
- package/dist/esm/utils/schemas.js +0 -320
- package/dist/esm/utils/schemas.js.map +0 -1
- package/dist/esm/utils/serialization.js +0 -98
- package/dist/esm/utils/serialization.js.map +0 -1
- package/dist/esm/utils/validation.js +0 -33
- package/dist/esm/utils/validation.js.map +0 -1
- package/dist/esm/utils/volume-curve.js +0 -114
- package/dist/esm/utils/volume-curve.js.map +0 -1
- package/dist/esm/utils/x402-direct.js +0 -228
- package/dist/esm/utils/x402-direct.js.map +0 -1
- package/dist/types/constants/addresses.d.ts +0 -117
- package/dist/types/constants/addresses.d.ts.map +0 -1
- package/dist/types/constants/index.d.ts +0 -31
- package/dist/types/constants/index.d.ts.map +0 -1
- package/dist/types/constants/limits.d.ts +0 -149
- package/dist/types/constants/limits.d.ts.map +0 -1
- package/dist/types/constants/network.d.ts +0 -81
- package/dist/types/constants/network.d.ts.map +0 -1
- package/dist/types/constants/payments.d.ts +0 -121
- package/dist/types/constants/payments.d.ts.map +0 -1
- package/dist/types/constants/programs.d.ts +0 -69
- package/dist/types/constants/programs.d.ts.map +0 -1
- package/dist/types/constants/seeds.d.ts +0 -80
- package/dist/types/constants/seeds.d.ts.map +0 -1
- package/dist/types/core/client.d.ts +0 -452
- package/dist/types/core/client.d.ts.map +0 -1
- package/dist/types/core/connection.d.ts +0 -305
- package/dist/types/core/connection.d.ts.map +0 -1
- package/dist/types/core/index.d.ts +0 -20
- package/dist/types/core/index.d.ts.map +0 -1
- package/dist/types/errors/index.d.ts +0 -276
- package/dist/types/errors/index.d.ts.map +0 -1
- package/dist/types/events/geyser.d.ts +0 -150
- package/dist/types/events/geyser.d.ts.map +0 -1
- package/dist/types/events/index.d.ts +0 -248
- package/dist/types/events/index.d.ts.map +0 -1
- package/dist/types/idl/index.d.ts +0 -70
- package/dist/types/idl/index.d.ts.map +0 -1
- package/dist/types/index.d.ts +0 -85
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/modules/agent.d.ts +0 -166
- package/dist/types/modules/agent.d.ts.map +0 -1
- package/dist/types/modules/attestation.d.ts +0 -96
- package/dist/types/modules/attestation.d.ts.map +0 -1
- package/dist/types/modules/base.d.ts +0 -161
- package/dist/types/modules/base.d.ts.map +0 -1
- package/dist/types/modules/escrow-v2.d.ts +0 -169
- package/dist/types/modules/escrow-v2.d.ts.map +0 -1
- package/dist/types/modules/escrow.d.ts +0 -168
- package/dist/types/modules/escrow.d.ts.map +0 -1
- package/dist/types/modules/feedback.d.ts +0 -105
- package/dist/types/modules/feedback.d.ts.map +0 -1
- package/dist/types/modules/index.d.ts +0 -28
- package/dist/types/modules/index.d.ts.map +0 -1
- package/dist/types/modules/indexing.d.ts +0 -200
- package/dist/types/modules/indexing.d.ts.map +0 -1
- package/dist/types/modules/ledger.d.ts +0 -150
- package/dist/types/modules/ledger.d.ts.map +0 -1
- package/dist/types/modules/receipt.d.ts +0 -77
- package/dist/types/modules/receipt.d.ts.map +0 -1
- package/dist/types/modules/staking.d.ts +0 -51
- package/dist/types/modules/staking.d.ts.map +0 -1
- package/dist/types/modules/subscription.d.ts +0 -33
- package/dist/types/modules/subscription.d.ts.map +0 -1
- package/dist/types/modules/tools.d.ts +0 -182
- package/dist/types/modules/tools.d.ts.map +0 -1
- package/dist/types/modules/vault.d.ts +0 -240
- package/dist/types/modules/vault.d.ts.map +0 -1
- package/dist/types/parser/client.d.ts +0 -123
- package/dist/types/parser/client.d.ts.map +0 -1
- package/dist/types/parser/complete.d.ts +0 -90
- package/dist/types/parser/complete.d.ts.map +0 -1
- package/dist/types/parser/index.d.ts +0 -40
- package/dist/types/parser/index.d.ts.map +0 -1
- package/dist/types/parser/inner.d.ts +0 -114
- package/dist/types/parser/inner.d.ts.map +0 -1
- package/dist/types/parser/instructions.d.ts +0 -76
- package/dist/types/parser/instructions.d.ts.map +0 -1
- package/dist/types/parser/transaction.d.ts +0 -77
- package/dist/types/parser/transaction.d.ts.map +0 -1
- package/dist/types/parser/types.d.ts +0 -154
- package/dist/types/parser/types.d.ts.map +0 -1
- package/dist/types/pda/index.d.ts +0 -510
- package/dist/types/pda/index.d.ts.map +0 -1
- package/dist/types/plugin/index.d.ts +0 -171
- package/dist/types/plugin/index.d.ts.map +0 -1
- package/dist/types/plugin/protocols.d.ts +0 -152
- package/dist/types/plugin/protocols.d.ts.map +0 -1
- package/dist/types/plugin/schemas.d.ts +0 -829
- package/dist/types/plugin/schemas.d.ts.map +0 -1
- package/dist/types/postgres/adapter.d.ts +0 -355
- package/dist/types/postgres/adapter.d.ts.map +0 -1
- package/dist/types/postgres/index.d.ts +0 -24
- package/dist/types/postgres/index.d.ts.map +0 -1
- package/dist/types/postgres/serializers.d.ts +0 -30
- package/dist/types/postgres/serializers.d.ts.map +0 -1
- package/dist/types/postgres/sync.d.ts +0 -156
- package/dist/types/postgres/sync.d.ts.map +0 -1
- package/dist/types/postgres/types.d.ts +0 -167
- package/dist/types/postgres/types.d.ts.map +0 -1
- package/dist/types/registries/builder.d.ts +0 -340
- package/dist/types/registries/builder.d.ts.map +0 -1
- package/dist/types/registries/discovery.d.ts +0 -333
- package/dist/types/registries/discovery.d.ts.map +0 -1
- package/dist/types/registries/fairscale.d.ts +0 -680
- package/dist/types/registries/fairscale.d.ts.map +0 -1
- package/dist/types/registries/index.d.ts +0 -52
- package/dist/types/registries/index.d.ts.map +0 -1
- package/dist/types/registries/metaplex-bridge.d.ts +0 -488
- package/dist/types/registries/metaplex-bridge.d.ts.map +0 -1
- package/dist/types/registries/session.d.ts +0 -323
- package/dist/types/registries/session.d.ts.map +0 -1
- package/dist/types/registries/x402.d.ts +0 -530
- package/dist/types/registries/x402.d.ts.map +0 -1
- package/dist/types/types/accounts.d.ts +0 -765
- package/dist/types/types/accounts.d.ts.map +0 -1
- package/dist/types/types/common.d.ts +0 -166
- package/dist/types/types/common.d.ts.map +0 -1
- package/dist/types/types/endpoint.d.ts +0 -161
- package/dist/types/types/endpoint.d.ts.map +0 -1
- package/dist/types/types/enums.d.ts +0 -353
- package/dist/types/types/enums.d.ts.map +0 -1
- package/dist/types/types/index.d.ts +0 -29
- package/dist/types/types/index.d.ts.map +0 -1
- package/dist/types/types/instructions.d.ts +0 -400
- package/dist/types/types/instructions.d.ts.map +0 -1
- package/dist/types/utils/anchor-errors.d.ts +0 -61
- package/dist/types/utils/anchor-errors.d.ts.map +0 -1
- package/dist/types/utils/endpoint-validator.d.ts +0 -110
- package/dist/types/utils/endpoint-validator.d.ts.map +0 -1
- package/dist/types/utils/escrow-validation.d.ts +0 -145
- package/dist/types/utils/escrow-validation.d.ts.map +0 -1
- package/dist/types/utils/hash.d.ts +0 -75
- package/dist/types/utils/hash.d.ts.map +0 -1
- package/dist/types/utils/index.d.ts +0 -36
- package/dist/types/utils/index.d.ts.map +0 -1
- package/dist/types/utils/merchant-validator.d.ts +0 -176
- package/dist/types/utils/merchant-validator.d.ts.map +0 -1
- package/dist/types/utils/network-normalizer.d.ts +0 -120
- package/dist/types/utils/network-normalizer.d.ts.map +0 -1
- package/dist/types/utils/priority-fee.d.ts +0 -205
- package/dist/types/utils/priority-fee.d.ts.map +0 -1
- package/dist/types/utils/rpc-strategy.d.ts +0 -172
- package/dist/types/utils/rpc-strategy.d.ts.map +0 -1
- package/dist/types/utils/schemas.d.ts +0 -351
- package/dist/types/utils/schemas.d.ts.map +0 -1
- package/dist/types/utils/serialization.d.ts +0 -69
- package/dist/types/utils/serialization.d.ts.map +0 -1
- package/dist/types/utils/validation.d.ts +0 -29
- package/dist/types/utils/validation.d.ts.map +0 -1
- package/dist/types/utils/volume-curve.d.ts +0 -60
- package/dist/types/utils/volume-curve.d.ts.map +0 -1
- package/dist/types/utils/x402-direct.d.ts +0 -114
- package/dist/types/utils/x402-direct.d.ts.map +0 -1
- package/src/constants/addresses.ts +0 -162
- package/src/constants/index.ts +0 -69
- package/src/constants/limits.ts +0 -165
- package/src/constants/network.ts +0 -89
- package/src/constants/payments.ts +0 -145
- package/src/constants/programs.ts +0 -83
- package/src/constants/seeds.ts +0 -85
- package/src/core/client.ts +0 -583
- package/src/core/connection.ts +0 -461
- package/src/core/index.ts +0 -20
- package/src/errors/index.ts +0 -346
- package/src/events/geyser.ts +0 -384
- package/src/events/index.ts +0 -335
- package/src/events/yellowstone.d.ts +0 -7
- package/src/idl/index.ts +0 -76
- package/src/idl/synapse_agent_sap.json +0 -14595
- package/src/index.ts +0 -421
- package/src/modules/agent.ts +0 -319
- package/src/modules/attestation.ts +0 -168
- package/src/modules/base.ts +0 -247
- package/src/modules/escrow-v2.ts +0 -871
- package/src/modules/escrow.ts +0 -439
- package/src/modules/feedback.ts +0 -186
- package/src/modules/index.ts +0 -28
- package/src/modules/indexing.ts +0 -444
- package/src/modules/ledger.ts +0 -262
- package/src/modules/receipt.ts +0 -212
- package/src/modules/staking.ts +0 -223
- package/src/modules/subscription.ts +0 -147
- package/src/modules/tools.ts +0 -454
- package/src/modules/vault.ts +0 -558
- package/src/parser/client.ts +0 -211
- package/src/parser/complete.ts +0 -232
- package/src/parser/index.ts +0 -71
- package/src/parser/inner.ts +0 -255
- package/src/parser/instructions.ts +0 -135
- package/src/parser/transaction.ts +0 -200
- package/src/parser/types.ts +0 -182
- package/src/pda/index.ts +0 -919
- package/src/plugin/index.ts +0 -1224
- package/src/plugin/protocols.ts +0 -404
- package/src/plugin/schemas.ts +0 -941
- package/src/postgres/adapter.ts +0 -904
- package/src/postgres/index.ts +0 -59
- package/src/postgres/schema.sql +0 -683
- package/src/postgres/serializers.ts +0 -485
- package/src/postgres/sync.ts +0 -340
- package/src/postgres/types.ts +0 -245
- package/src/registries/builder.ts +0 -607
- package/src/registries/discovery.ts +0 -572
- package/src/registries/fairscale.ts +0 -1278
- package/src/registries/index.ts +0 -143
- package/src/registries/metaplex-bridge.ts +0 -1199
- package/src/registries/session.ts +0 -613
- package/src/registries/x402.ts +0 -1048
- package/src/types/accounts.ts +0 -858
- package/src/types/common.ts +0 -187
- package/src/types/endpoint.ts +0 -181
- package/src/types/enums.ts +0 -333
- package/src/types/index.ts +0 -121
- package/src/types/instructions.ts +0 -453
- package/src/utils/anchor-errors.ts +0 -461
- package/src/utils/endpoint-validator.ts +0 -300
- package/src/utils/escrow-validation.ts +0 -301
- package/src/utils/hash.ts +0 -113
- package/src/utils/index.ts +0 -118
- package/src/utils/merchant-validator.ts +0 -359
- package/src/utils/network-normalizer.ts +0 -240
- package/src/utils/priority-fee.ts +0 -325
- package/src/utils/rpc-strategy.ts +0 -322
- package/src/utils/schemas.ts +0 -359
- package/src/utils/serialization.ts +0 -98
- package/src/utils/validation.ts +0 -36
- package/src/utils/volume-curve.ts +0 -131
- package/src/utils/x402-direct.ts +0 -370
package/src/pda/index.ts
DELETED
|
@@ -1,919 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module pda
|
|
3
|
-
* @description Deterministic PDA derivation for every SAP v2 account.
|
|
4
|
-
*
|
|
5
|
-
* Each function returns `[PublicKey, bump]` and is pure — no network
|
|
6
|
-
* calls. All results are memoizable by the caller.
|
|
7
|
-
*
|
|
8
|
-
* Seeds mirror the Rust `#[account(seeds = [...])]` definitions exactly.
|
|
9
|
-
*
|
|
10
|
-
* @category PDA
|
|
11
|
-
* @since v0.1.0
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* ```ts
|
|
15
|
-
* import { deriveAgent, deriveEscrow } from "@synapse-sap/sdk/pda";
|
|
16
|
-
*
|
|
17
|
-
* const [agentPda, bump] = deriveAgent(walletPublicKey);
|
|
18
|
-
* const [escrowPda] = deriveEscrow(agentPda, depositor);
|
|
19
|
-
* ```
|
|
20
|
-
*/
|
|
21
|
-
|
|
22
|
-
import { PublicKey } from "@solana/web3.js";
|
|
23
|
-
import { SAP_PROGRAM_ID, SEEDS } from "../constants";
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Tuple returned by all PDA derivation functions.
|
|
27
|
-
*
|
|
28
|
-
* @name PdaResult
|
|
29
|
-
* @description A readonly tuple of `[pda, bump]` where `pda` is the derived
|
|
30
|
-
* `PublicKey` and `bump` is the canonical bump seed (`u8`).
|
|
31
|
-
* @category PDA
|
|
32
|
-
* @since v0.1.0
|
|
33
|
-
*/
|
|
34
|
-
type PdaResult = readonly [pda: PublicKey, bump: number];
|
|
35
|
-
|
|
36
|
-
// ── Helpers ──────────────────────────────────────────────────────
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Thin wrapper around `PublicKey.findProgramAddressSync`.
|
|
40
|
-
*
|
|
41
|
-
* @name findPda
|
|
42
|
-
* @description Derives a PDA from the given seed buffers and program ID.
|
|
43
|
-
* @param seeds - Array of seed `Buffer`s / `Uint8Array`s.
|
|
44
|
-
* @param programId - The program to derive against (defaults to {@link SAP_PROGRAM_ID}).
|
|
45
|
-
* @returns {PdaResult} The derived `[pda, bump]` tuple.
|
|
46
|
-
* @category PDA
|
|
47
|
-
* @since v0.1.0
|
|
48
|
-
*/
|
|
49
|
-
const findPda = (
|
|
50
|
-
seeds: Array<Buffer | Uint8Array>,
|
|
51
|
-
programId: PublicKey = SAP_PROGRAM_ID,
|
|
52
|
-
): PdaResult => PublicKey.findProgramAddressSync(seeds, programId);
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Encode a seed string as a UTF-8 `Buffer`.
|
|
56
|
-
*
|
|
57
|
-
* @name toSeedBuf
|
|
58
|
-
* @description Converts a string seed prefix to a `Buffer` suitable for PDA derivation.
|
|
59
|
-
* @param s - The seed string to encode.
|
|
60
|
-
* @returns {Buffer} UTF-8 encoded buffer.
|
|
61
|
-
* @category PDA
|
|
62
|
-
* @since v0.1.0
|
|
63
|
-
*/
|
|
64
|
-
const toSeedBuf = (s: string): Buffer => Buffer.from(s);
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Encode an unsigned 32-bit integer as a little-endian `Buffer`.
|
|
68
|
-
*
|
|
69
|
-
* @name u32le
|
|
70
|
-
* @description Produces a 4-byte LE buffer for numeric PDA seed segments (e.g., epoch index, page index).
|
|
71
|
-
* @param n - The number to encode.
|
|
72
|
-
* @returns {Buffer} 4-byte little-endian buffer.
|
|
73
|
-
* @category PDA
|
|
74
|
-
* @since v0.1.0
|
|
75
|
-
*/
|
|
76
|
-
const u32le = (n: number): Buffer => {
|
|
77
|
-
const buf = Buffer.alloc(4);
|
|
78
|
-
buf.writeUInt32LE(n, 0);
|
|
79
|
-
return buf;
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* Encode an unsigned 64-bit integer as a little-endian `Buffer`.
|
|
84
|
-
*
|
|
85
|
-
* @name u64le
|
|
86
|
-
* @description Produces an 8-byte LE buffer for u64 PDA seed segments (e.g., escrow nonce, sub_id).
|
|
87
|
-
* @param n - The number or bigint to encode.
|
|
88
|
-
* @returns {Buffer} 8-byte little-endian buffer.
|
|
89
|
-
* @category PDA
|
|
90
|
-
* @since v0.5.0
|
|
91
|
-
*/
|
|
92
|
-
const u64le = (n: number | bigint): Buffer => {
|
|
93
|
-
const buf = Buffer.alloc(8);
|
|
94
|
-
buf.writeBigUInt64LE(BigInt(n), 0);
|
|
95
|
-
return buf;
|
|
96
|
-
};
|
|
97
|
-
|
|
98
|
-
// ═════════════════════════════════════════════
|
|
99
|
-
// Core PDAs
|
|
100
|
-
// ═════════════════════════════════════════════
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
* Derive the **GlobalRegistry** PDA.
|
|
104
|
-
*
|
|
105
|
-
* Seeds: `["sap_global"]`
|
|
106
|
-
*
|
|
107
|
-
* @name deriveGlobalRegistry
|
|
108
|
-
* @description Returns the singleton global registry address used by the SAP program.
|
|
109
|
-
* @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
|
|
110
|
-
* @returns {PdaResult} `[pda, bump]` tuple.
|
|
111
|
-
* @category PDA
|
|
112
|
-
* @since v0.1.0
|
|
113
|
-
* @see GlobalRegistry account type
|
|
114
|
-
*/
|
|
115
|
-
export const deriveGlobalRegistry = (
|
|
116
|
-
programId = SAP_PROGRAM_ID,
|
|
117
|
-
): PdaResult =>
|
|
118
|
-
findPda([toSeedBuf(SEEDS.GLOBAL)], programId);
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* Derive the **AgentAccount** PDA for a given wallet.
|
|
122
|
-
*
|
|
123
|
-
* Seeds: `["sap_agent", wallet]`
|
|
124
|
-
*
|
|
125
|
-
* @name deriveAgent
|
|
126
|
-
* @description Computes the unique agent PDA owned by `wallet`.
|
|
127
|
-
* @param wallet - The agent owner’s wallet `PublicKey`.
|
|
128
|
-
* @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
|
|
129
|
-
* @returns {PdaResult} `[pda, bump]` tuple.
|
|
130
|
-
* @category PDA
|
|
131
|
-
* @since v0.1.0
|
|
132
|
-
* @see AgentAccount
|
|
133
|
-
*/
|
|
134
|
-
export const deriveAgent = (
|
|
135
|
-
wallet: PublicKey,
|
|
136
|
-
programId = SAP_PROGRAM_ID,
|
|
137
|
-
): PdaResult =>
|
|
138
|
-
findPda([toSeedBuf(SEEDS.AGENT), wallet.toBuffer()], programId);
|
|
139
|
-
|
|
140
|
-
/**
|
|
141
|
-
* Derive the **AgentStats** PDA for a given agent.
|
|
142
|
-
*
|
|
143
|
-
* Seeds: `["sap_stats", agent_pda]`
|
|
144
|
-
*
|
|
145
|
-
* @name deriveAgentStats
|
|
146
|
-
* @description Computes the stats account PDA associated with an agent.
|
|
147
|
-
* @param agentPda - The agent’s on-chain PDA.
|
|
148
|
-
* @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
|
|
149
|
-
* @returns {PdaResult} `[pda, bump]` tuple.
|
|
150
|
-
* @category PDA
|
|
151
|
-
* @since v0.1.0
|
|
152
|
-
* @see AgentStats
|
|
153
|
-
*/
|
|
154
|
-
export const deriveAgentStats = (
|
|
155
|
-
agentPda: PublicKey,
|
|
156
|
-
programId = SAP_PROGRAM_ID,
|
|
157
|
-
): PdaResult =>
|
|
158
|
-
findPda([toSeedBuf(SEEDS.STATS), agentPda.toBuffer()], programId);
|
|
159
|
-
|
|
160
|
-
// ═════════════════════════════════════════════
|
|
161
|
-
// Feedback
|
|
162
|
-
// ═════════════════════════════════════════════
|
|
163
|
-
|
|
164
|
-
/**
|
|
165
|
-
* Derive the **Feedback** PDA for a reviewer on a specific agent.
|
|
166
|
-
*
|
|
167
|
-
* Seeds: `["sap_feedback", agent_pda, reviewer_wallet]`
|
|
168
|
-
*
|
|
169
|
-
* @name deriveFeedback
|
|
170
|
-
* @description Computes the feedback account PDA scoped to a reviewer–agent pair.
|
|
171
|
-
* @param agentPda - The target agent’s PDA.
|
|
172
|
-
* @param reviewer - The reviewer’s wallet `PublicKey`.
|
|
173
|
-
* @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
|
|
174
|
-
* @returns {PdaResult} `[pda, bump]` tuple.
|
|
175
|
-
* @category PDA
|
|
176
|
-
* @since v0.1.0
|
|
177
|
-
* @see FeedbackAccount
|
|
178
|
-
*/
|
|
179
|
-
export const deriveFeedback = (
|
|
180
|
-
agentPda: PublicKey,
|
|
181
|
-
reviewer: PublicKey,
|
|
182
|
-
programId = SAP_PROGRAM_ID,
|
|
183
|
-
): PdaResult =>
|
|
184
|
-
findPda(
|
|
185
|
-
[toSeedBuf(SEEDS.FEEDBACK), agentPda.toBuffer(), reviewer.toBuffer()],
|
|
186
|
-
programId,
|
|
187
|
-
);
|
|
188
|
-
|
|
189
|
-
// ═════════════════════════════════════════════
|
|
190
|
-
// Indexing
|
|
191
|
-
// ═════════════════════════════════════════════
|
|
192
|
-
|
|
193
|
-
/**
|
|
194
|
-
* Derive the **CapabilityIndex** PDA for a hashed capability string.
|
|
195
|
-
*
|
|
196
|
-
* Seeds: `["sap_cap_idx", capability_hash]`
|
|
197
|
-
*
|
|
198
|
-
* @name deriveCapabilityIndex
|
|
199
|
-
* @description Computes the capability index PDA used to look up agents by capability.
|
|
200
|
-
* @param capabilityHash - SHA-256 hash of the capability string (32 bytes).
|
|
201
|
-
* @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
|
|
202
|
-
* @returns {PdaResult} `[pda, bump]` tuple.
|
|
203
|
-
* @category PDA
|
|
204
|
-
* @since v0.1.0
|
|
205
|
-
* @see CapabilityIndex
|
|
206
|
-
*/
|
|
207
|
-
export const deriveCapabilityIndex = (
|
|
208
|
-
capabilityHash: Uint8Array,
|
|
209
|
-
programId = SAP_PROGRAM_ID,
|
|
210
|
-
): PdaResult =>
|
|
211
|
-
findPda(
|
|
212
|
-
[toSeedBuf(SEEDS.CAPABILITY_INDEX), Buffer.from(capabilityHash)],
|
|
213
|
-
programId,
|
|
214
|
-
);
|
|
215
|
-
|
|
216
|
-
/**
|
|
217
|
-
* Derive the **ProtocolIndex** PDA for a hashed protocol string.
|
|
218
|
-
*
|
|
219
|
-
* Seeds: `["sap_proto_idx", protocol_hash]`
|
|
220
|
-
*
|
|
221
|
-
* @name deriveProtocolIndex
|
|
222
|
-
* @description Computes the protocol index PDA used to look up agents by protocol.
|
|
223
|
-
* @param protocolHash - SHA-256 hash of the protocol string (32 bytes).
|
|
224
|
-
* @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
|
|
225
|
-
* @returns {PdaResult} `[pda, bump]` tuple.
|
|
226
|
-
* @category PDA
|
|
227
|
-
* @since v0.1.0
|
|
228
|
-
* @see ProtocolIndex
|
|
229
|
-
*/
|
|
230
|
-
export const deriveProtocolIndex = (
|
|
231
|
-
protocolHash: Uint8Array,
|
|
232
|
-
programId = SAP_PROGRAM_ID,
|
|
233
|
-
): PdaResult =>
|
|
234
|
-
findPda(
|
|
235
|
-
[toSeedBuf(SEEDS.PROTOCOL_INDEX), Buffer.from(protocolHash)],
|
|
236
|
-
programId,
|
|
237
|
-
);
|
|
238
|
-
|
|
239
|
-
/**
|
|
240
|
-
* Derive the **ToolCategoryIndex** PDA for a tool category discriminant.
|
|
241
|
-
*
|
|
242
|
-
* Seeds: `["sap_tool_cat", category_u8]`
|
|
243
|
-
*
|
|
244
|
-
* @name deriveToolCategoryIndex
|
|
245
|
-
* @description Computes the tool category index PDA used to look up tools by category.
|
|
246
|
-
* @param category - The `u8` category discriminant (see {@link TOOL_CATEGORY_VALUES}).
|
|
247
|
-
* @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
|
|
248
|
-
* @returns {PdaResult} `[pda, bump]` tuple.
|
|
249
|
-
* @category PDA
|
|
250
|
-
* @since v0.1.0
|
|
251
|
-
* @see ToolCategoryIndex
|
|
252
|
-
*/
|
|
253
|
-
export const deriveToolCategoryIndex = (
|
|
254
|
-
category: number,
|
|
255
|
-
programId = SAP_PROGRAM_ID,
|
|
256
|
-
): PdaResult =>
|
|
257
|
-
findPda(
|
|
258
|
-
[toSeedBuf(SEEDS.TOOL_CATEGORY), Buffer.from([category])],
|
|
259
|
-
programId,
|
|
260
|
-
);
|
|
261
|
-
|
|
262
|
-
// ═════════════════════════════════════════════
|
|
263
|
-
// Memory Vault
|
|
264
|
-
// ═════════════════════════════════════════════
|
|
265
|
-
|
|
266
|
-
/**
|
|
267
|
-
* Derive the **MemoryVault** PDA for a given agent.
|
|
268
|
-
*
|
|
269
|
-
* Seeds: `["sap_vault", agent_pda]`
|
|
270
|
-
*
|
|
271
|
-
* @name deriveVault
|
|
272
|
-
* @description Computes the memory vault PDA owned by the specified agent.
|
|
273
|
-
* @param agentPda - The agent’s on-chain PDA.
|
|
274
|
-
* @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
|
|
275
|
-
* @returns {PdaResult} `[pda, bump]` tuple.
|
|
276
|
-
* @category PDA
|
|
277
|
-
* @since v0.1.0
|
|
278
|
-
* @see MemoryVault
|
|
279
|
-
*/
|
|
280
|
-
export const deriveVault = (
|
|
281
|
-
agentPda: PublicKey,
|
|
282
|
-
programId = SAP_PROGRAM_ID,
|
|
283
|
-
): PdaResult =>
|
|
284
|
-
findPda([toSeedBuf(SEEDS.VAULT), agentPda.toBuffer()], programId);
|
|
285
|
-
|
|
286
|
-
/**
|
|
287
|
-
* Derive the **Session** PDA for a vault and session hash.
|
|
288
|
-
*
|
|
289
|
-
* Seeds: `["sap_session", vault_pda, session_hash]`
|
|
290
|
-
*
|
|
291
|
-
* @name deriveSession
|
|
292
|
-
* @description Computes the session PDA scoped to a vault and unique session identifier.
|
|
293
|
-
* @param vaultPda - The parent vault’s PDA.
|
|
294
|
-
* @param sessionHash - SHA-256 hash identifying the session (32 bytes).
|
|
295
|
-
* @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
|
|
296
|
-
* @returns {PdaResult} `[pda, bump]` tuple.
|
|
297
|
-
* @category PDA
|
|
298
|
-
* @since v0.1.0
|
|
299
|
-
* @see SessionAccount
|
|
300
|
-
*/
|
|
301
|
-
export const deriveSession = (
|
|
302
|
-
vaultPda: PublicKey,
|
|
303
|
-
sessionHash: Uint8Array,
|
|
304
|
-
programId = SAP_PROGRAM_ID,
|
|
305
|
-
): PdaResult =>
|
|
306
|
-
findPda(
|
|
307
|
-
[
|
|
308
|
-
toSeedBuf(SEEDS.SESSION),
|
|
309
|
-
vaultPda.toBuffer(),
|
|
310
|
-
Buffer.from(sessionHash),
|
|
311
|
-
],
|
|
312
|
-
programId,
|
|
313
|
-
);
|
|
314
|
-
|
|
315
|
-
/**
|
|
316
|
-
* Derive the **EpochPage** PDA for a session at a given epoch index.
|
|
317
|
-
*
|
|
318
|
-
* Seeds: `["sap_epoch", session_pda, epoch_index_u32_le]`
|
|
319
|
-
*
|
|
320
|
-
* @name deriveEpochPage
|
|
321
|
-
* @description Computes the epoch page PDA for paginated memory inscriptions.
|
|
322
|
-
* @param sessionPda - The parent session’s PDA.
|
|
323
|
-
* @param epochIndex - Zero-based epoch page index.
|
|
324
|
-
* @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
|
|
325
|
-
* @returns {PdaResult} `[pda, bump]` tuple.
|
|
326
|
-
* @category PDA
|
|
327
|
-
* @since v0.1.0
|
|
328
|
-
* @see EpochPage
|
|
329
|
-
*/
|
|
330
|
-
export const deriveEpochPage = (
|
|
331
|
-
sessionPda: PublicKey,
|
|
332
|
-
epochIndex: number,
|
|
333
|
-
programId = SAP_PROGRAM_ID,
|
|
334
|
-
): PdaResult =>
|
|
335
|
-
findPda(
|
|
336
|
-
[toSeedBuf(SEEDS.EPOCH), sessionPda.toBuffer(), u32le(epochIndex)],
|
|
337
|
-
programId,
|
|
338
|
-
);
|
|
339
|
-
|
|
340
|
-
/**
|
|
341
|
-
* Derive the **VaultDelegate** PDA for a delegate on a vault.
|
|
342
|
-
*
|
|
343
|
-
* Seeds: `["sap_delegate", vault_pda, delegate_pubkey]`
|
|
344
|
-
*
|
|
345
|
-
* @name deriveVaultDelegate
|
|
346
|
-
* @description Computes the delegate authorization PDA granting a wallet write access to a vault.
|
|
347
|
-
* @param vaultPda - The parent vault’s PDA.
|
|
348
|
-
* @param delegate - The delegate’s wallet `PublicKey`.
|
|
349
|
-
* @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
|
|
350
|
-
* @returns {PdaResult} `[pda, bump]` tuple.
|
|
351
|
-
* @category PDA
|
|
352
|
-
* @since v0.1.0
|
|
353
|
-
* @see VaultDelegate
|
|
354
|
-
*/
|
|
355
|
-
export const deriveVaultDelegate = (
|
|
356
|
-
vaultPda: PublicKey,
|
|
357
|
-
delegate: PublicKey,
|
|
358
|
-
programId = SAP_PROGRAM_ID,
|
|
359
|
-
): PdaResult =>
|
|
360
|
-
findPda(
|
|
361
|
-
[toSeedBuf(SEEDS.DELEGATE), vaultPda.toBuffer(), delegate.toBuffer()],
|
|
362
|
-
programId,
|
|
363
|
-
);
|
|
364
|
-
|
|
365
|
-
/**
|
|
366
|
-
* Derive the **Checkpoint** PDA for a session at a given checkpoint index.
|
|
367
|
-
*
|
|
368
|
-
* Seeds: `["sap_checkpoint", session_pda, checkpoint_index_u32_le]`
|
|
369
|
-
*
|
|
370
|
-
* @name deriveCheckpoint
|
|
371
|
-
* @description Computes the checkpoint PDA storing a Merkle snapshot of session state.
|
|
372
|
-
* @param sessionPda - The parent session’s PDA.
|
|
373
|
-
* @param checkpointIndex - Zero-based checkpoint index.
|
|
374
|
-
* @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
|
|
375
|
-
* @returns {PdaResult} `[pda, bump]` tuple.
|
|
376
|
-
* @category PDA
|
|
377
|
-
* @since v0.1.0
|
|
378
|
-
* @see Checkpoint
|
|
379
|
-
*/
|
|
380
|
-
export const deriveCheckpoint = (
|
|
381
|
-
sessionPda: PublicKey,
|
|
382
|
-
checkpointIndex: number,
|
|
383
|
-
programId = SAP_PROGRAM_ID,
|
|
384
|
-
): PdaResult =>
|
|
385
|
-
findPda(
|
|
386
|
-
[
|
|
387
|
-
toSeedBuf(SEEDS.CHECKPOINT),
|
|
388
|
-
sessionPda.toBuffer(),
|
|
389
|
-
u32le(checkpointIndex),
|
|
390
|
-
],
|
|
391
|
-
programId,
|
|
392
|
-
);
|
|
393
|
-
|
|
394
|
-
// ═════════════════════════════════════════════
|
|
395
|
-
// Tools
|
|
396
|
-
// ═════════════════════════════════════════════
|
|
397
|
-
|
|
398
|
-
/**
|
|
399
|
-
* Derive the **Tool** PDA for an agent and tool name hash.
|
|
400
|
-
*
|
|
401
|
-
* Seeds: `["sap_tool", agent_pda, tool_name_hash]`
|
|
402
|
-
*
|
|
403
|
-
* @name deriveTool
|
|
404
|
-
* @description Computes the tool registration PDA scoped to an agent and tool identifier.
|
|
405
|
-
* @param agentPda - The owning agent’s PDA.
|
|
406
|
-
* @param toolNameHash - SHA-256 hash of the tool name (32 bytes).
|
|
407
|
-
* @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
|
|
408
|
-
* @returns {PdaResult} `[pda, bump]` tuple.
|
|
409
|
-
* @category PDA
|
|
410
|
-
* @since v0.1.0
|
|
411
|
-
* @see ToolAccount
|
|
412
|
-
*/
|
|
413
|
-
export const deriveTool = (
|
|
414
|
-
agentPda: PublicKey,
|
|
415
|
-
toolNameHash: Uint8Array,
|
|
416
|
-
programId = SAP_PROGRAM_ID,
|
|
417
|
-
): PdaResult =>
|
|
418
|
-
findPda(
|
|
419
|
-
[toSeedBuf(SEEDS.TOOL), agentPda.toBuffer(), Buffer.from(toolNameHash)],
|
|
420
|
-
programId,
|
|
421
|
-
);
|
|
422
|
-
|
|
423
|
-
// ═════════════════════════════════════════════
|
|
424
|
-
// Escrow
|
|
425
|
-
// ═════════════════════════════════════════════
|
|
426
|
-
|
|
427
|
-
/**
|
|
428
|
-
* Derive the **Escrow** PDA for an agent–depositor pair.
|
|
429
|
-
*
|
|
430
|
-
* Seeds: `["sap_escrow", agent_pda, depositor_wallet]`
|
|
431
|
-
*
|
|
432
|
-
* @name deriveEscrow
|
|
433
|
-
* @description Computes the escrow PDA holding deposited funds for service payments.
|
|
434
|
-
* @param agentPda - The service-providing agent’s PDA.
|
|
435
|
-
* @param depositor - The depositor’s wallet `PublicKey`.
|
|
436
|
-
* @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
|
|
437
|
-
* @returns {PdaResult} `[pda, bump]` tuple.
|
|
438
|
-
* @category PDA
|
|
439
|
-
* @since v0.1.0
|
|
440
|
-
* @deprecated Since v0.7.0 — Use {@link deriveEscrowV2} for V2 escrows with nonce support.
|
|
441
|
-
* @see EscrowAccount
|
|
442
|
-
*/
|
|
443
|
-
export const deriveEscrow = (
|
|
444
|
-
agentPda: PublicKey,
|
|
445
|
-
depositor: PublicKey,
|
|
446
|
-
programId = SAP_PROGRAM_ID,
|
|
447
|
-
): PdaResult =>
|
|
448
|
-
findPda(
|
|
449
|
-
[toSeedBuf(SEEDS.ESCROW), agentPda.toBuffer(), depositor.toBuffer()],
|
|
450
|
-
programId,
|
|
451
|
-
);
|
|
452
|
-
|
|
453
|
-
// ═════════════════════════════════════════════
|
|
454
|
-
// Attestation
|
|
455
|
-
// ═════════════════════════════════════════════
|
|
456
|
-
|
|
457
|
-
/**
|
|
458
|
-
* Derive the **Attestation** PDA for an attester on a specific agent.
|
|
459
|
-
*
|
|
460
|
-
* Seeds: `["sap_attest", agent_pda, attester_wallet]`
|
|
461
|
-
*
|
|
462
|
-
* @name deriveAttestation
|
|
463
|
-
* @description Computes the attestation PDA recording a third-party’s trust assertion.
|
|
464
|
-
* @param agentPda - The attested agent’s PDA.
|
|
465
|
-
* @param attester - The attester’s wallet `PublicKey`.
|
|
466
|
-
* @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
|
|
467
|
-
* @returns {PdaResult} `[pda, bump]` tuple.
|
|
468
|
-
* @category PDA
|
|
469
|
-
* @since v0.1.0
|
|
470
|
-
* @see AttestationAccount
|
|
471
|
-
*/
|
|
472
|
-
export const deriveAttestation = (
|
|
473
|
-
agentPda: PublicKey,
|
|
474
|
-
attester: PublicKey,
|
|
475
|
-
programId = SAP_PROGRAM_ID,
|
|
476
|
-
): PdaResult =>
|
|
477
|
-
findPda(
|
|
478
|
-
[toSeedBuf(SEEDS.ATTESTATION), agentPda.toBuffer(), attester.toBuffer()],
|
|
479
|
-
programId,
|
|
480
|
-
);
|
|
481
|
-
|
|
482
|
-
// ═════════════════════════════════════════════
|
|
483
|
-
// Memory Ledger
|
|
484
|
-
// ═════════════════════════════════════════════
|
|
485
|
-
|
|
486
|
-
/**
|
|
487
|
-
* Derive the **MemoryLedger** PDA for a session.
|
|
488
|
-
*
|
|
489
|
-
* Seeds: `["sap_ledger", session_pda]`
|
|
490
|
-
*
|
|
491
|
-
* @name deriveLedger
|
|
492
|
-
* @description Computes the ledger PDA that tracks append-only entries for a session.
|
|
493
|
-
* @param sessionPda - The parent session’s PDA.
|
|
494
|
-
* @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
|
|
495
|
-
* @returns {PdaResult} `[pda, bump]` tuple.
|
|
496
|
-
* @category PDA
|
|
497
|
-
* @since v0.1.0
|
|
498
|
-
* @see MemoryLedger
|
|
499
|
-
*/
|
|
500
|
-
export const deriveLedger = (
|
|
501
|
-
sessionPda: PublicKey,
|
|
502
|
-
programId = SAP_PROGRAM_ID,
|
|
503
|
-
): PdaResult =>
|
|
504
|
-
findPda([toSeedBuf(SEEDS.LEDGER), sessionPda.toBuffer()], programId);
|
|
505
|
-
|
|
506
|
-
/**
|
|
507
|
-
* Derive the **LedgerPage** PDA for a ledger at a given page index.
|
|
508
|
-
*
|
|
509
|
-
* Seeds: `["sap_page", ledger_pda, page_index_u32_le]`
|
|
510
|
-
*
|
|
511
|
-
* @name deriveLedgerPage
|
|
512
|
-
* @description Computes the ledger page PDA for paginated ledger data storage.
|
|
513
|
-
* @param ledgerPda - The parent ledger’s PDA.
|
|
514
|
-
* @param pageIndex - Zero-based page index.
|
|
515
|
-
* @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
|
|
516
|
-
* @returns {PdaResult} `[pda, bump]` tuple.
|
|
517
|
-
* @category PDA
|
|
518
|
-
* @since v0.1.0
|
|
519
|
-
* @see LedgerPage
|
|
520
|
-
*/
|
|
521
|
-
export const deriveLedgerPage = (
|
|
522
|
-
ledgerPda: PublicKey,
|
|
523
|
-
pageIndex: number,
|
|
524
|
-
programId = SAP_PROGRAM_ID,
|
|
525
|
-
): PdaResult =>
|
|
526
|
-
findPda(
|
|
527
|
-
[toSeedBuf(SEEDS.LEDGER_PAGE), ledgerPda.toBuffer(), u32le(pageIndex)],
|
|
528
|
-
programId,
|
|
529
|
-
);
|
|
530
|
-
|
|
531
|
-
// ═════════════════════════════════════════════
|
|
532
|
-
// Memory Buffer (legacy)
|
|
533
|
-
// ═════════════════════════════════════════════
|
|
534
|
-
|
|
535
|
-
/**
|
|
536
|
-
* Derive the **MemoryBuffer** PDA for a session at a given page index.
|
|
537
|
-
*
|
|
538
|
-
* Seeds: `["sap_buffer", session_pda, page_index_u32_le]`
|
|
539
|
-
*
|
|
540
|
-
* @name deriveBuffer
|
|
541
|
-
* @description Computes the buffer page PDA for chunked memory writes within a session.
|
|
542
|
-
* @param sessionPda - The parent session's PDA.
|
|
543
|
-
* @param pageIndex - Zero-based page index.
|
|
544
|
-
* @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
|
|
545
|
-
* @returns {PdaResult} `[pda, bump]` tuple.
|
|
546
|
-
* @category PDA
|
|
547
|
-
* @since v0.3.1
|
|
548
|
-
* @see MemoryBuffer
|
|
549
|
-
*/
|
|
550
|
-
export const deriveBuffer = (
|
|
551
|
-
sessionPda: PublicKey,
|
|
552
|
-
pageIndex: number,
|
|
553
|
-
programId = SAP_PROGRAM_ID,
|
|
554
|
-
): PdaResult =>
|
|
555
|
-
findPda(
|
|
556
|
-
[toSeedBuf(SEEDS.BUFFER), sessionPda.toBuffer(), u32le(pageIndex)],
|
|
557
|
-
programId,
|
|
558
|
-
);
|
|
559
|
-
|
|
560
|
-
// ═════════════════════════════════════════════
|
|
561
|
-
// Session Digest
|
|
562
|
-
// ═════════════════════════════════════════════
|
|
563
|
-
|
|
564
|
-
/**
|
|
565
|
-
* Derive the **SessionDigest** PDA for a session.
|
|
566
|
-
*
|
|
567
|
-
* Seeds: `["sap_digest", session_pda]`
|
|
568
|
-
*
|
|
569
|
-
* @name deriveDigest
|
|
570
|
-
* @description Computes the digest PDA that stores a compact hash summary of a session.
|
|
571
|
-
* @param sessionPda - The parent session's PDA.
|
|
572
|
-
* @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
|
|
573
|
-
* @returns {PdaResult} `[pda, bump]` tuple.
|
|
574
|
-
* @category PDA
|
|
575
|
-
* @since v0.3.1
|
|
576
|
-
* @see SessionDigest
|
|
577
|
-
*/
|
|
578
|
-
export const deriveDigest = (
|
|
579
|
-
sessionPda: PublicKey,
|
|
580
|
-
programId = SAP_PROGRAM_ID,
|
|
581
|
-
): PdaResult =>
|
|
582
|
-
findPda([toSeedBuf(SEEDS.DIGEST), sessionPda.toBuffer()], programId);
|
|
583
|
-
|
|
584
|
-
// ═════════════════════════════════════════════
|
|
585
|
-
// Plugin
|
|
586
|
-
// ═════════════════════════════════════════════
|
|
587
|
-
|
|
588
|
-
/**
|
|
589
|
-
* Derive the **PluginConfig** PDA for an agent and plugin type.
|
|
590
|
-
*
|
|
591
|
-
* Seeds: `["sap_plugin", agent_pda, plugin_type_u8]`
|
|
592
|
-
*
|
|
593
|
-
* @name derivePlugin
|
|
594
|
-
* @description Computes the plugin configuration PDA scoped to an agent and plugin type.
|
|
595
|
-
* @param agentPda - The owning agent's PDA.
|
|
596
|
-
* @param pluginType - The `u8` plugin type discriminant.
|
|
597
|
-
* @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
|
|
598
|
-
* @returns {PdaResult} `[pda, bump]` tuple.
|
|
599
|
-
* @category PDA
|
|
600
|
-
* @since v0.3.1
|
|
601
|
-
* @see PluginConfig
|
|
602
|
-
*/
|
|
603
|
-
export const derivePlugin = (
|
|
604
|
-
agentPda: PublicKey,
|
|
605
|
-
pluginType: number,
|
|
606
|
-
programId = SAP_PROGRAM_ID,
|
|
607
|
-
): PdaResult =>
|
|
608
|
-
findPda(
|
|
609
|
-
[toSeedBuf(SEEDS.PLUGIN), agentPda.toBuffer(), Buffer.from([pluginType])],
|
|
610
|
-
programId,
|
|
611
|
-
);
|
|
612
|
-
|
|
613
|
-
// ═════════════════════════════════════════════
|
|
614
|
-
// Legacy Memory (entry + chunk)
|
|
615
|
-
// ═════════════════════════════════════════════
|
|
616
|
-
|
|
617
|
-
/**
|
|
618
|
-
* Derive the **MemoryEntry** PDA for an agent and entry hash.
|
|
619
|
-
*
|
|
620
|
-
* Seeds: `["sap_memory", agent_pda, entry_hash]`
|
|
621
|
-
*
|
|
622
|
-
* @name deriveMemoryEntry
|
|
623
|
-
* @description Computes the memory entry PDA for legacy key-value memory storage.
|
|
624
|
-
* @param agentPda - The owning agent's PDA.
|
|
625
|
-
* @param entryHash - SHA-256 hash of the entry key (32 bytes).
|
|
626
|
-
* @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
|
|
627
|
-
* @returns {PdaResult} `[pda, bump]` tuple.
|
|
628
|
-
* @category PDA
|
|
629
|
-
* @since v0.3.1
|
|
630
|
-
* @see MemoryEntry
|
|
631
|
-
*/
|
|
632
|
-
export const deriveMemoryEntry = (
|
|
633
|
-
agentPda: PublicKey,
|
|
634
|
-
entryHash: Uint8Array,
|
|
635
|
-
programId = SAP_PROGRAM_ID,
|
|
636
|
-
): PdaResult =>
|
|
637
|
-
findPda(
|
|
638
|
-
[toSeedBuf(SEEDS.MEMORY), agentPda.toBuffer(), Buffer.from(entryHash)],
|
|
639
|
-
programId,
|
|
640
|
-
);
|
|
641
|
-
|
|
642
|
-
/**
|
|
643
|
-
* Derive the **MemoryChunk** PDA for a memory entry at a given chunk index.
|
|
644
|
-
*
|
|
645
|
-
* Seeds: `["sap_mem_chunk", memory_entry_pda, chunk_index_u8]`
|
|
646
|
-
*
|
|
647
|
-
* @name deriveMemoryChunk
|
|
648
|
-
* @description Computes the chunk PDA for fragmented memory entry data.
|
|
649
|
-
* @param memoryEntryPda - The parent memory entry's PDA.
|
|
650
|
-
* @param chunkIndex - Zero-based chunk index (0–255).
|
|
651
|
-
* @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
|
|
652
|
-
* @returns {PdaResult} `[pda, bump]` tuple.
|
|
653
|
-
* @category PDA
|
|
654
|
-
* @since v0.3.1
|
|
655
|
-
* @see MemoryChunk
|
|
656
|
-
*/
|
|
657
|
-
export const deriveMemoryChunk = (
|
|
658
|
-
memoryEntryPda: PublicKey,
|
|
659
|
-
chunkIndex: number,
|
|
660
|
-
programId = SAP_PROGRAM_ID,
|
|
661
|
-
): PdaResult =>
|
|
662
|
-
findPda(
|
|
663
|
-
[
|
|
664
|
-
toSeedBuf(SEEDS.MEMORY_CHUNK),
|
|
665
|
-
memoryEntryPda.toBuffer(),
|
|
666
|
-
Buffer.from([chunkIndex]),
|
|
667
|
-
],
|
|
668
|
-
programId,
|
|
669
|
-
);
|
|
670
|
-
|
|
671
|
-
// ═════════════════════════════════════════════
|
|
672
|
-
// Escrow V2
|
|
673
|
-
// ═════════════════════════════════════════════
|
|
674
|
-
|
|
675
|
-
/**
|
|
676
|
-
* Derive the **EscrowAccountV2** PDA.
|
|
677
|
-
*
|
|
678
|
-
* Seeds: `["sap_escrow_v2", agent_pda, depositor_wallet, nonce_u64_le]`
|
|
679
|
-
*
|
|
680
|
-
* @name deriveEscrowV2
|
|
681
|
-
* @description Computes the V2 escrow PDA supporting nonce-based multi-escrow.
|
|
682
|
-
* @param agentPda - The agent's PDA.
|
|
683
|
-
* @param depositor - The depositor's wallet.
|
|
684
|
-
* @param nonce - Escrow nonce (u64) allowing multiple escrows per pair.
|
|
685
|
-
* @param programId - Override program ID.
|
|
686
|
-
* @returns {PdaResult} `[pda, bump]` tuple.
|
|
687
|
-
* @category PDA
|
|
688
|
-
* @since v0.5.0
|
|
689
|
-
*/
|
|
690
|
-
export const deriveEscrowV2 = (
|
|
691
|
-
agentPda: PublicKey,
|
|
692
|
-
depositor: PublicKey,
|
|
693
|
-
nonce: number | bigint = 0,
|
|
694
|
-
programId = SAP_PROGRAM_ID,
|
|
695
|
-
): PdaResult =>
|
|
696
|
-
findPda(
|
|
697
|
-
[
|
|
698
|
-
toSeedBuf(SEEDS.ESCROW_V2),
|
|
699
|
-
agentPda.toBuffer(),
|
|
700
|
-
depositor.toBuffer(),
|
|
701
|
-
u64le(nonce),
|
|
702
|
-
],
|
|
703
|
-
programId,
|
|
704
|
-
);
|
|
705
|
-
|
|
706
|
-
/**
|
|
707
|
-
* Derive the **PendingSettlement** PDA.
|
|
708
|
-
*
|
|
709
|
-
* Seeds: `["sap_pending", escrow_v2_pda, settlement_index_u64_le]`
|
|
710
|
-
*
|
|
711
|
-
* @name derivePendingSettlement
|
|
712
|
-
* @param escrowV2Pda - The parent V2 escrow PDA.
|
|
713
|
-
* @param settlementIndex - The monotonic settlement index (u64).
|
|
714
|
-
* @param programId - Override program ID.
|
|
715
|
-
* @returns {PdaResult} `[pda, bump]` tuple.
|
|
716
|
-
* @category PDA
|
|
717
|
-
* @since v0.5.0
|
|
718
|
-
*/
|
|
719
|
-
export const derivePendingSettlement = (
|
|
720
|
-
escrowV2Pda: PublicKey,
|
|
721
|
-
settlementIndex: number | bigint,
|
|
722
|
-
programId = SAP_PROGRAM_ID,
|
|
723
|
-
): PdaResult =>
|
|
724
|
-
findPda(
|
|
725
|
-
[
|
|
726
|
-
toSeedBuf(SEEDS.PENDING),
|
|
727
|
-
escrowV2Pda.toBuffer(),
|
|
728
|
-
u64le(settlementIndex),
|
|
729
|
-
],
|
|
730
|
-
programId,
|
|
731
|
-
);
|
|
732
|
-
|
|
733
|
-
/**
|
|
734
|
-
* Derive the **DisputeRecord** PDA.
|
|
735
|
-
*
|
|
736
|
-
* Seeds: `["sap_dispute", pending_settlement_pda]`
|
|
737
|
-
*
|
|
738
|
-
* @name deriveDispute
|
|
739
|
-
* @param pendingSettlementPda - The parent pending settlement PDA.
|
|
740
|
-
* @param programId - Override program ID.
|
|
741
|
-
* @returns {PdaResult} `[pda, bump]` tuple.
|
|
742
|
-
* @category PDA
|
|
743
|
-
* @since v0.5.0
|
|
744
|
-
*/
|
|
745
|
-
export const deriveDispute = (
|
|
746
|
-
pendingSettlementPda: PublicKey,
|
|
747
|
-
programId = SAP_PROGRAM_ID,
|
|
748
|
-
): PdaResult =>
|
|
749
|
-
findPda(
|
|
750
|
-
[toSeedBuf(SEEDS.DISPUTE), pendingSettlementPda.toBuffer()],
|
|
751
|
-
programId,
|
|
752
|
-
);
|
|
753
|
-
|
|
754
|
-
/**
|
|
755
|
-
* Derive the **AgentStake** PDA.
|
|
756
|
-
*
|
|
757
|
-
* Seeds: `["sap_stake", agent_pda]`
|
|
758
|
-
*
|
|
759
|
-
* @name deriveStake
|
|
760
|
-
* @param agentPda - The agent's PDA.
|
|
761
|
-
* @param programId - Override program ID.
|
|
762
|
-
* @returns {PdaResult} `[pda, bump]` tuple.
|
|
763
|
-
* @category PDA
|
|
764
|
-
* @since v0.5.0
|
|
765
|
-
*/
|
|
766
|
-
export const deriveStake = (
|
|
767
|
-
agentPda: PublicKey,
|
|
768
|
-
programId = SAP_PROGRAM_ID,
|
|
769
|
-
): PdaResult =>
|
|
770
|
-
findPda([toSeedBuf(SEEDS.STAKE), agentPda.toBuffer()], programId);
|
|
771
|
-
|
|
772
|
-
/**
|
|
773
|
-
* Derive the **Subscription** PDA.
|
|
774
|
-
*
|
|
775
|
-
* Seeds: `["sap_sub", agent_pda, subscriber_wallet, sub_id_u64_le]`
|
|
776
|
-
*
|
|
777
|
-
* @name deriveSubscription
|
|
778
|
-
* @param agentPda - The agent's PDA.
|
|
779
|
-
* @param subscriber - The subscriber's wallet.
|
|
780
|
-
* @param subId - Subscription ID (u64).
|
|
781
|
-
* @param programId - Override program ID.
|
|
782
|
-
* @returns {PdaResult} `[pda, bump]` tuple.
|
|
783
|
-
* @category PDA
|
|
784
|
-
* @since v0.5.0
|
|
785
|
-
*/
|
|
786
|
-
export const deriveSubscription = (
|
|
787
|
-
agentPda: PublicKey,
|
|
788
|
-
subscriber: PublicKey,
|
|
789
|
-
subId: number | bigint = 0,
|
|
790
|
-
programId = SAP_PROGRAM_ID,
|
|
791
|
-
): PdaResult =>
|
|
792
|
-
findPda(
|
|
793
|
-
[
|
|
794
|
-
toSeedBuf(SEEDS.SUBSCRIPTION),
|
|
795
|
-
agentPda.toBuffer(),
|
|
796
|
-
subscriber.toBuffer(),
|
|
797
|
-
u64le(subId),
|
|
798
|
-
],
|
|
799
|
-
programId,
|
|
800
|
-
);
|
|
801
|
-
|
|
802
|
-
/**
|
|
803
|
-
* Derive the **CounterShard** PDA.
|
|
804
|
-
*
|
|
805
|
-
* Seeds: `["sap_shard", shard_index_u8]`
|
|
806
|
-
*
|
|
807
|
-
* @name deriveShard
|
|
808
|
-
* @param shardIndex - The shard index (0–7).
|
|
809
|
-
* @param programId - Override program ID.
|
|
810
|
-
* @returns {PdaResult} `[pda, bump]` tuple.
|
|
811
|
-
* @category PDA
|
|
812
|
-
* @since v0.5.0
|
|
813
|
-
*/
|
|
814
|
-
export const deriveShard = (
|
|
815
|
-
shardIndex: number,
|
|
816
|
-
programId = SAP_PROGRAM_ID,
|
|
817
|
-
): PdaResult =>
|
|
818
|
-
findPda(
|
|
819
|
-
[toSeedBuf(SEEDS.SHARD), Buffer.from([shardIndex])],
|
|
820
|
-
programId,
|
|
821
|
-
);
|
|
822
|
-
|
|
823
|
-
/**
|
|
824
|
-
* Derive the **IndexPage** PDA.
|
|
825
|
-
*
|
|
826
|
-
* Seeds: `["sap_idx_page", parent_index_pda, page_index_u8]`
|
|
827
|
-
*
|
|
828
|
-
* @name deriveIndexPage
|
|
829
|
-
* @param parentIndexPda - The parent index PDA (CapabilityIndex, ProtocolIndex, etc.).
|
|
830
|
-
* @param pageIndex - The page index (0–255).
|
|
831
|
-
* @param programId - Override program ID.
|
|
832
|
-
* @returns {PdaResult} `[pda, bump]` tuple.
|
|
833
|
-
* @category PDA
|
|
834
|
-
* @since v0.5.0
|
|
835
|
-
*/
|
|
836
|
-
export const deriveIndexPage = (
|
|
837
|
-
parentIndexPda: PublicKey,
|
|
838
|
-
pageIndex: number,
|
|
839
|
-
programId = SAP_PROGRAM_ID,
|
|
840
|
-
): PdaResult =>
|
|
841
|
-
findPda(
|
|
842
|
-
[
|
|
843
|
-
toSeedBuf(SEEDS.INDEX_PAGE),
|
|
844
|
-
parentIndexPda.toBuffer(),
|
|
845
|
-
Buffer.from([pageIndex]),
|
|
846
|
-
],
|
|
847
|
-
programId,
|
|
848
|
-
);
|
|
849
|
-
|
|
850
|
-
// ═════════════════════════════════════════════
|
|
851
|
-
// Receipt Batch (v0.7)
|
|
852
|
-
// ═════════════════════════════════════════════
|
|
853
|
-
|
|
854
|
-
/**
|
|
855
|
-
* Derive the **ReceiptBatch** PDA.
|
|
856
|
-
*
|
|
857
|
-
* Seeds: `["sap_receipt", escrow_v2_pda, batch_index_u32_le]`
|
|
858
|
-
*
|
|
859
|
-
* @name deriveReceiptBatch
|
|
860
|
-
* @description Computes the receipt batch PDA storing a merkle root of call receipts.
|
|
861
|
-
* @param escrowV2Pda - The parent V2 escrow PDA.
|
|
862
|
-
* @param batchIndex - Zero-based batch index (u32).
|
|
863
|
-
* @param programId - Override program ID.
|
|
864
|
-
* @returns {PdaResult} `[pda, bump]` tuple.
|
|
865
|
-
* @category PDA
|
|
866
|
-
* @since v0.7.0
|
|
867
|
-
*/
|
|
868
|
-
export const deriveReceiptBatch = (
|
|
869
|
-
escrowV2Pda: PublicKey,
|
|
870
|
-
batchIndex: number,
|
|
871
|
-
programId = SAP_PROGRAM_ID,
|
|
872
|
-
): PdaResult =>
|
|
873
|
-
findPda(
|
|
874
|
-
[
|
|
875
|
-
toSeedBuf(SEEDS.RECEIPT),
|
|
876
|
-
escrowV2Pda.toBuffer(),
|
|
877
|
-
u32le(batchIndex),
|
|
878
|
-
],
|
|
879
|
-
programId,
|
|
880
|
-
);
|
|
881
|
-
|
|
882
|
-
/**
|
|
883
|
-
* Derive the **SettlementReceipt** PDA (v0.10.0 anti-replay).
|
|
884
|
-
*
|
|
885
|
-
* Seeds: `["sap_recv", escrow_pda, service_hash_or_batch_root]`
|
|
886
|
-
*
|
|
887
|
-
* Created via `init` on every `settle_calls`, `settle_batch`, and
|
|
888
|
-
* `settle_calls_v2`. The PDA's existence after the first call blocks
|
|
889
|
-
* any future replay of the same `service_hash` (or `batch_root`)
|
|
890
|
-
* against the same escrow.
|
|
891
|
-
*
|
|
892
|
-
* @name deriveSettlementReceipt
|
|
893
|
-
* @description Compute the receipt PDA that gates settlement replay.
|
|
894
|
-
* @param escrowPda - Parent escrow PDA (V1 `EscrowAccount` or V2 `EscrowAccountV2`).
|
|
895
|
-
* @param receiptKey - 32-byte `service_hash` (single settle / V2 settle)
|
|
896
|
-
* or `batch_root = sha256(s_0 || ... || s_{N-1})` (settle_batch).
|
|
897
|
-
* @param programId - Override program ID.
|
|
898
|
-
* @returns {PdaResult} `[pda, bump]` tuple.
|
|
899
|
-
* @category PDA
|
|
900
|
-
* @since v0.10.0
|
|
901
|
-
*/
|
|
902
|
-
export const deriveSettlementReceipt = (
|
|
903
|
-
escrowPda: PublicKey,
|
|
904
|
-
receiptKey: Uint8Array | number[] | Buffer,
|
|
905
|
-
programId = SAP_PROGRAM_ID,
|
|
906
|
-
): PdaResult => {
|
|
907
|
-
const buf = Buffer.isBuffer(receiptKey)
|
|
908
|
-
? receiptKey
|
|
909
|
-
: Buffer.from(receiptKey as Uint8Array);
|
|
910
|
-
if (buf.length !== 32) {
|
|
911
|
-
throw new Error(
|
|
912
|
-
`deriveSettlementReceipt: receiptKey must be 32 bytes, got ${buf.length}`,
|
|
913
|
-
);
|
|
914
|
-
}
|
|
915
|
-
return findPda(
|
|
916
|
-
[toSeedBuf(SEEDS.SETTLEMENT_RECEIPT), escrowPda.toBuffer(), buf],
|
|
917
|
-
programId,
|
|
918
|
-
);
|
|
919
|
-
};
|