@oobe-protocol-labs/synapse-sap-sdk 0.11.0 → 0.12.6

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.
Files changed (64) hide show
  1. package/dist/cjs/constants/payments.js +51 -1
  2. package/dist/cjs/constants/payments.js.map +1 -1
  3. package/dist/cjs/idl/synapse_agent_sap.json +156 -4
  4. package/dist/cjs/index.js +3 -2
  5. package/dist/cjs/index.js.map +1 -1
  6. package/dist/cjs/modules/escrow-v2.js +62 -3
  7. package/dist/cjs/modules/escrow-v2.js.map +1 -1
  8. package/dist/cjs/modules/escrow.js +13 -3
  9. package/dist/cjs/modules/escrow.js.map +1 -1
  10. package/dist/cjs/modules/receipt.js +4 -0
  11. package/dist/cjs/modules/receipt.js.map +1 -1
  12. package/dist/cjs/modules/staking.js +30 -0
  13. package/dist/cjs/modules/staking.js.map +1 -1
  14. package/dist/cjs/registries/x402.js +10 -4
  15. package/dist/cjs/registries/x402.js.map +1 -1
  16. package/dist/cjs/utils/index.js +2 -1
  17. package/dist/cjs/utils/index.js.map +1 -1
  18. package/dist/cjs/utils/priority-fee.js +52 -0
  19. package/dist/cjs/utils/priority-fee.js.map +1 -1
  20. package/dist/esm/constants/payments.js +49 -0
  21. package/dist/esm/constants/payments.js.map +1 -1
  22. package/dist/esm/idl/synapse_agent_sap.json +156 -4
  23. package/dist/esm/index.js +1 -1
  24. package/dist/esm/index.js.map +1 -1
  25. package/dist/esm/modules/escrow-v2.js +63 -4
  26. package/dist/esm/modules/escrow-v2.js.map +1 -1
  27. package/dist/esm/modules/escrow.js +14 -4
  28. package/dist/esm/modules/escrow.js.map +1 -1
  29. package/dist/esm/modules/receipt.js +5 -1
  30. package/dist/esm/modules/receipt.js.map +1 -1
  31. package/dist/esm/modules/staking.js +30 -0
  32. package/dist/esm/modules/staking.js.map +1 -1
  33. package/dist/esm/registries/x402.js +11 -5
  34. package/dist/esm/registries/x402.js.map +1 -1
  35. package/dist/esm/utils/index.js +1 -1
  36. package/dist/esm/utils/index.js.map +1 -1
  37. package/dist/esm/utils/priority-fee.js +51 -0
  38. package/dist/esm/utils/priority-fee.js.map +1 -1
  39. package/dist/types/constants/payments.d.ts +43 -0
  40. package/dist/types/constants/payments.d.ts.map +1 -1
  41. package/dist/types/index.d.ts +1 -1
  42. package/dist/types/index.d.ts.map +1 -1
  43. package/dist/types/modules/escrow-v2.d.ts +2 -2
  44. package/dist/types/modules/escrow-v2.d.ts.map +1 -1
  45. package/dist/types/modules/escrow.d.ts.map +1 -1
  46. package/dist/types/modules/receipt.d.ts.map +1 -1
  47. package/dist/types/modules/staking.d.ts +19 -0
  48. package/dist/types/modules/staking.d.ts.map +1 -1
  49. package/dist/types/registries/x402.d.ts.map +1 -1
  50. package/dist/types/utils/index.d.ts +1 -1
  51. package/dist/types/utils/index.d.ts.map +1 -1
  52. package/dist/types/utils/priority-fee.d.ts +20 -0
  53. package/dist/types/utils/priority-fee.d.ts.map +1 -1
  54. package/package.json +1 -1
  55. package/src/constants/payments.ts +53 -0
  56. package/src/idl/synapse_agent_sap.json +156 -4
  57. package/src/index.ts +1 -0
  58. package/src/modules/escrow-v2.ts +68 -3
  59. package/src/modules/escrow.ts +14 -3
  60. package/src/modules/receipt.ts +5 -0
  61. package/src/modules/staking.ts +35 -0
  62. package/src/registries/x402.ts +11 -4
  63. package/src/utils/index.ts +1 -0
  64. package/src/utils/priority-fee.ts +55 -0
@@ -22,7 +22,8 @@
22
22
  * @since v0.10.0
23
23
  */
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.MAX_DELEGATE_DURATION_SECS = exports.MIN_AGENT_STAKE_LAMPORTS = exports.USDC_MINT_DEVNET = exports.USDC_MINT_MAINNET = void 0;
25
+ exports.MAX_DELEGATE_DURATION_SECS = exports.UNSTAKE_COOLDOWN_SECONDS = exports.STAKE_COVERAGE_BPS = exports.SLASH_BPS = exports.MIN_AGENT_STAKE_LAMPORTS = exports.USDC_MINT_DEVNET = exports.USDC_MINT_MAINNET = void 0;
26
+ exports.computeRequiredStakeLamports = computeRequiredStakeLamports;
26
27
  exports.isAcceptedUsdcMint = isAcceptedUsdcMint;
27
28
  exports.isAcceptedPaymentToken = isAcceptedPaymentToken;
28
29
  const web3_js_1 = require("@solana/web3.js");
@@ -51,6 +52,55 @@ exports.USDC_MINT_DEVNET = new web3_js_1.PublicKey("4zMMC9srt5Ri5X14GAgXhaHii3Gn
51
52
  * @since v0.10.0
52
53
  */
53
54
  exports.MIN_AGENT_STAKE_LAMPORTS = BigInt(100_000_000);
55
+ /**
56
+ * Slash share applied on a lost dispute, in basis points.
57
+ * Mirrors `AgentStake::SLASH_BPS` on-chain (`5_000` = 50%).
58
+ *
59
+ * @name SLASH_BPS
60
+ * @category Constants
61
+ * @since v0.11.0
62
+ */
63
+ exports.SLASH_BPS = 5000n;
64
+ /**
65
+ * Stake coverage ratio enforced at `createEscrowV2` (basis points).
66
+ * Mirrors `AgentStake::STAKE_COVERAGE_BPS` on-chain. Currently equal to
67
+ * {@link SLASH_BPS} so the slash on a lost dispute is fully collateralised.
68
+ *
69
+ * @name STAKE_COVERAGE_BPS
70
+ * @category Constants
71
+ * @since v0.11.0
72
+ */
73
+ exports.STAKE_COVERAGE_BPS = exports.SLASH_BPS;
74
+ /**
75
+ * Unstake cooldown in seconds. Mirrors `AgentStake::UNSTAKE_COOLDOWN_SECONDS`
76
+ * on-chain (`604_800` = 7 days). Replaces the misnamed pre-v0.11
77
+ * `UNSTAKE_COOLDOWN_SLOTS` constant which was never used by handlers.
78
+ *
79
+ * @name UNSTAKE_COOLDOWN_SECONDS
80
+ * @category Constants
81
+ * @since v0.11.0
82
+ */
83
+ exports.UNSTAKE_COOLDOWN_SECONDS = 604_800;
84
+ /**
85
+ * Required `staked_amount` (lamports) for an agent to accept an escrow of
86
+ * `escrowLamports`. Equal to `max(MIN_AGENT_STAKE_LAMPORTS,
87
+ * escrowLamports * STAKE_COVERAGE_BPS / 10_000)`.
88
+ *
89
+ * Mirrors the on-chain check enforced in `create_escrow_v2` (v0.11 H-1).
90
+ * Use this to preflight an escrow create call and surface an actionable
91
+ * error before paying tx fees.
92
+ *
93
+ * @name computeRequiredStakeLamports
94
+ * @category Constants
95
+ * @since v0.11.0
96
+ */
97
+ function computeRequiredStakeLamports(escrowLamports) {
98
+ if (escrowLamports < 0n) {
99
+ throw new RangeError("escrowLamports must be ≥ 0");
100
+ }
101
+ const coverage = (escrowLamports * exports.STAKE_COVERAGE_BPS) / 10000n;
102
+ return coverage > exports.MIN_AGENT_STAKE_LAMPORTS ? coverage : exports.MIN_AGENT_STAKE_LAMPORTS;
103
+ }
54
104
  /**
55
105
  * Maximum delegate duration (seconds) accepted by `add_vault_delegate`.
56
106
  * Mirrors `VaultDelegate::MAX_DELEGATE_DURATION_SECS` on-chain
@@ -1 +1 @@
1
- {"version":3,"file":"payments.js","sourceRoot":"","sources":["../../../src/constants/payments.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;;AAuDH,gDAEC;AAWD,wDAEC;AApED,6CAA4C;AAE5C;;;;;;GAMG;AACU,QAAA,iBAAiB,GAAG,IAAI,mBAAS,CAC5C,8CAA8C,CAC/C,CAAC;AAEF;;;;;;GAMG;AACU,QAAA,gBAAgB,GAAG,IAAI,mBAAS,CAC3C,8CAA8C,CAC/C,CAAC;AAEF;;;;;;;GAOG;AACU,QAAA,wBAAwB,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAE5D;;;;;;;;GAQG;AACU,QAAA,0BAA0B,GAAG,GAAG,GAAG,MAAM,CAAC;AAEvD;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAAC,IAAe;IAChD,OAAO,IAAI,CAAC,MAAM,CAAC,yBAAiB,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,wBAAgB,CAAC,CAAC;AACzE,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,sBAAsB,CAAC,SAA2B;IAChE,OAAO,SAAS,KAAK,IAAI,IAAI,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"payments.js","sourceRoot":"","sources":["../../../src/constants/payments.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;;AAiFH,oEAMC;AAqBD,gDAEC;AAWD,wDAEC;AAzHD,6CAA4C;AAE5C;;;;;;GAMG;AACU,QAAA,iBAAiB,GAAG,IAAI,mBAAS,CAC5C,8CAA8C,CAC/C,CAAC;AAEF;;;;;;GAMG;AACU,QAAA,gBAAgB,GAAG,IAAI,mBAAS,CAC3C,8CAA8C,CAC/C,CAAC;AAEF;;;;;;;GAOG;AACU,QAAA,wBAAwB,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAE5D;;;;;;;GAOG;AACU,QAAA,SAAS,GAAG,KAAM,CAAC;AAEhC;;;;;;;;GAQG;AACU,QAAA,kBAAkB,GAAG,iBAAS,CAAC;AAE5C;;;;;;;;GAQG;AACU,QAAA,wBAAwB,GAAG,OAAO,CAAC;AAEhD;;;;;;;;;;;;GAYG;AACH,SAAgB,4BAA4B,CAAC,cAAsB;IACjE,IAAI,cAAc,GAAG,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,UAAU,CAAC,4BAA4B,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,cAAc,GAAG,0BAAkB,CAAC,GAAG,MAAO,CAAC;IACjE,OAAO,QAAQ,GAAG,gCAAwB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,gCAAwB,CAAC;AACnF,CAAC;AAED;;;;;;;;GAQG;AACU,QAAA,0BAA0B,GAAG,GAAG,GAAG,MAAM,CAAC;AAEvD;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAAC,IAAe;IAChD,OAAO,IAAI,CAAC,MAAM,CAAC,yBAAiB,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,wBAAgB,CAAC,CAAC;AACzE,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,sBAAsB,CAAC,SAA2B;IAChE,OAAO,SAAS,KAAK,IAAI,IAAI,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAC7D,CAAC"}
@@ -598,6 +598,38 @@
598
598
  }
599
599
  ]
600
600
  }
601
+ },
602
+ {
603
+ "name": "agent_stake",
604
+ "docs": [
605
+ "v0.11 H-3: AgentStake is now a typed required account so the slash on",
606
+ "DepositorWins outcomes is guaranteed instead of silently skipped when",
607
+ "the caller forgets to pass it via remaining_accounts."
608
+ ],
609
+ "writable": true,
610
+ "pda": {
611
+ "seeds": [
612
+ {
613
+ "kind": "const",
614
+ "value": [
615
+ 115,
616
+ 97,
617
+ 112,
618
+ 95,
619
+ 115,
620
+ 116,
621
+ 97,
622
+ 107,
623
+ 101
624
+ ]
625
+ },
626
+ {
627
+ "kind": "account",
628
+ "path": "escrow.agent",
629
+ "account": "EscrowAccountV2"
630
+ }
631
+ ]
632
+ }
601
633
  }
602
634
  ],
603
635
  "args": []
@@ -2504,10 +2536,16 @@
2504
2536
  {
2505
2537
  "name": "wallet",
2506
2538
  "writable": true,
2507
- "signer": true
2539
+ "signer": true,
2540
+ "relations": [
2541
+ "agent"
2542
+ ]
2508
2543
  },
2509
2544
  {
2510
2545
  "name": "agent",
2546
+ "docs": [
2547
+ "v0.11 M-2: typed agent account."
2548
+ ],
2511
2549
  "pda": {
2512
2550
  "seeds": [
2513
2551
  {
@@ -3647,10 +3685,16 @@
3647
3685
  {
3648
3686
  "name": "wallet",
3649
3687
  "writable": true,
3650
- "signer": true
3688
+ "signer": true,
3689
+ "relations": [
3690
+ "agent"
3691
+ ]
3651
3692
  },
3652
3693
  {
3653
3694
  "name": "agent",
3695
+ "docs": [
3696
+ "v0.11 M-2: typed agent account."
3697
+ ],
3654
3698
  "pda": {
3655
3699
  "seeds": [
3656
3700
  {
@@ -4671,10 +4715,16 @@
4671
4715
  {
4672
4716
  "name": "wallet",
4673
4717
  "writable": true,
4674
- "signer": true
4718
+ "signer": true,
4719
+ "relations": [
4720
+ "agent"
4721
+ ]
4675
4722
  },
4676
4723
  {
4677
4724
  "name": "agent",
4725
+ "docs": [
4726
+ "v0.11 M-2: typed agent account — stake cannot be opened for a non-existent agent."
4727
+ ],
4678
4728
  "pda": {
4679
4729
  "seeds": [
4680
4730
  {
@@ -6476,10 +6526,16 @@
6476
6526
  "accounts": [
6477
6527
  {
6478
6528
  "name": "wallet",
6479
- "signer": true
6529
+ "signer": true,
6530
+ "relations": [
6531
+ "agent"
6532
+ ]
6480
6533
  },
6481
6534
  {
6482
6535
  "name": "agent",
6536
+ "docs": [
6537
+ "v0.11 M-2: typed agent account."
6538
+ ],
6483
6539
  "pda": {
6484
6540
  "seeds": [
6485
6541
  {
@@ -9256,6 +9312,19 @@
9256
9312
  198
9257
9313
  ]
9258
9314
  },
9315
+ {
9316
+ "name": "StakeClosedEvent",
9317
+ "discriminator": [
9318
+ 212,
9319
+ 204,
9320
+ 207,
9321
+ 181,
9322
+ 185,
9323
+ 249,
9324
+ 134,
9325
+ 59
9326
+ ]
9327
+ },
9259
9328
  {
9260
9329
  "name": "StakeDepositedEvent",
9261
9330
  "discriminator": [
@@ -9412,6 +9481,19 @@
9412
9481
  57
9413
9482
  ]
9414
9483
  },
9484
+ {
9485
+ "name": "UnstakeCancelledEvent",
9486
+ "discriminator": [
9487
+ 57,
9488
+ 228,
9489
+ 7,
9490
+ 42,
9491
+ 227,
9492
+ 64,
9493
+ 93,
9494
+ 51
9495
+ ]
9496
+ },
9415
9497
  {
9416
9498
  "name": "UnstakeCompletedEvent",
9417
9499
  "discriminator": [
@@ -10211,6 +10293,21 @@
10211
10293
  "code": 6143,
10212
10294
  "name": "DuplicateServiceHash",
10213
10295
  "msg": "dup service hash"
10296
+ },
10297
+ {
10298
+ "code": 6144,
10299
+ "name": "StakeBelowCoverage",
10300
+ "msg": "stake under coverage"
10301
+ },
10302
+ {
10303
+ "code": 6145,
10304
+ "name": "StakeNotClosable",
10305
+ "msg": "stake not closable"
10306
+ },
10307
+ {
10308
+ "code": 6146,
10309
+ "name": "AgentStakeAccountMissing",
10310
+ "msg": "agent stake account missing"
10214
10311
  }
10215
10312
  ],
10216
10313
  "types": [
@@ -13436,6 +13533,33 @@
13436
13533
  ]
13437
13534
  }
13438
13535
  },
13536
+ {
13537
+ "name": "StakeClosedEvent",
13538
+ "docs": [
13539
+ "v0.11 L-3: emitted when an agent's stake account is closed and rent reclaimed."
13540
+ ],
13541
+ "type": {
13542
+ "kind": "struct",
13543
+ "fields": [
13544
+ {
13545
+ "name": "agent",
13546
+ "type": "pubkey"
13547
+ },
13548
+ {
13549
+ "name": "wallet",
13550
+ "type": "pubkey"
13551
+ },
13552
+ {
13553
+ "name": "returned_lamports",
13554
+ "type": "u64"
13555
+ },
13556
+ {
13557
+ "name": "timestamp",
13558
+ "type": "i64"
13559
+ }
13560
+ ]
13561
+ }
13562
+ },
13439
13563
  {
13440
13564
  "name": "StakeDepositedEvent",
13441
13565
  "docs": [
@@ -14196,6 +14320,34 @@
14196
14320
  ]
14197
14321
  }
14198
14322
  },
14323
+ {
14324
+ "name": "UnstakeCancelledEvent",
14325
+ "docs": [
14326
+ "v0.11 L-2: emitted when a `deposit_stake` clears a previously requested",
14327
+ "unstake (top-up = implicit cancel of the pending withdrawal)."
14328
+ ],
14329
+ "type": {
14330
+ "kind": "struct",
14331
+ "fields": [
14332
+ {
14333
+ "name": "agent",
14334
+ "type": "pubkey"
14335
+ },
14336
+ {
14337
+ "name": "wallet",
14338
+ "type": "pubkey"
14339
+ },
14340
+ {
14341
+ "name": "cancelled_amount",
14342
+ "type": "u64"
14343
+ },
14344
+ {
14345
+ "name": "timestamp",
14346
+ "type": "i64"
14347
+ }
14348
+ ]
14349
+ }
14350
+ },
14199
14351
  {
14200
14352
  "name": "UnstakeCompletedEvent",
14201
14353
  "docs": [
package/dist/cjs/index.js CHANGED
@@ -47,8 +47,8 @@
47
47
  Object.defineProperty(exports, "__esModule", { value: true });
48
48
  exports.deriveSubscription = exports.deriveStake = exports.deriveDispute = exports.derivePendingSettlement = exports.deriveEscrowV2 = exports.deriveEscrow = exports.deriveTool = exports.deriveCheckpoint = exports.deriveVaultDelegate = exports.deriveEpochPage = exports.deriveSession = exports.deriveVault = exports.deriveToolCategoryIndex = exports.deriveProtocolIndex = exports.deriveCapabilityIndex = exports.deriveFeedback = exports.deriveAgentStats = exports.deriveAgent = exports.deriveGlobalRegistry = exports.IDL_METADATA = exports.IDL_PROGRAM_ADDRESS = exports.SAP_IDL = exports.SapNetwork = exports.HTTP_METHOD_VALUES = exports.TOOL_CATEGORY_VALUES = exports.VAULT_PROTOCOL_VERSION = exports.AGENT_VERSION = exports.LIMITS = exports.SEEDS = exports.LOCALNET_SAP_PROGRAM_ID = exports.DEVNET_SAP_PROGRAM_ID = exports.MAINNET_SAP_PROGRAM_ID = exports.SAP_PROGRAM_ID = exports.SAP_PROGRAM_ADDRESS = exports.ResolutionLayer = exports.DisputeType = exports.BillingInterval = exports.DisputeOutcome = exports.SettlementSecurity = exports.CompressionType = exports.SchemaType = exports.DelegatePermission = exports.ToolCategory = exports.ToolHttpMethod = exports.SettlementMode = exports.PluginType = exports.TokenType = exports.KeypairWallet = exports.SapConnection = exports.SapClient = void 0;
49
49
  exports.DEFAULT_BATCH_SETTLE_COMPUTE_UNITS = exports.DEFAULT_SETTLE_COMPUTE_UNITS = exports.DEFAULT_SETTLE_PRIORITY_FEE = exports.FAST_BATCH_SETTLE_OPTIONS = exports.FAST_SETTLE_OPTIONS = exports.buildRpcOptions = exports.buildPriorityFeeIxs = exports.validateOrThrow = exports.createCallArgsSchema = exports.createRegisterAgentSchema = exports.createPreparePaymentSchema = exports.createAgentManifestSchema = exports.createToolManifestEntrySchema = exports.createHealthCheckSchema = exports.createEndpointDescriptorSchema = exports.createEnvSchema = exports.extractAnchorErrorCode = exports.classifyAnchorError = exports.findATA = exports.createDualConnection = exports.getFallbackRpcUrl = exports.getRpcUrl = exports.validateAgentEndpoints = exports.validateHealthCheck = exports.validateEndpointDescriptor = exports.validateEndpoint = exports.isKnownNetwork = exports.getNetworkClusterName = exports.getNetworkGenesisHash = exports.isNetworkEquivalent = exports.normalizeNetworkId = exports.isAcceptedPaymentToken = exports.isAcceptedUsdcMint = exports.MAX_DELEGATE_DURATION_SECS = exports.MIN_AGENT_STAKE_LAMPORTS = exports.USDC_MINT_DEVNET = exports.USDC_MINT_MAINNET = exports.serializeValue = exports.serializeAccount = exports.computeBatchRoot = exports.assert = exports.hashToArray = exports.sha256 = exports.deriveSettlementReceipt = exports.deriveReceiptBatch = exports.deriveLedgerPage = exports.deriveLedger = exports.deriveAttestation = exports.deriveIndexPage = exports.deriveShard = void 0;
50
- exports.AgentBuilder = exports.SessionManager = exports.X402Registry = exports.DiscoveryRegistry = exports.TransactionParser = exports.extractAccountKeys = exports.filterSapInnerInstructions = exports.decodeInnerInstructions = exports.parseSapTransactionBatch = exports.parseSapTransactionComplete = exports.containsSapInstruction = exports.parseSapInstructionNamesFromList = exports.parseSapInstructionsFromList = exports.parseSapInstructionNamesFromTransaction = exports.parseSapInstructionsFromTransaction = exports.SAP_TABLE_MAP = exports.SapSyncEngine = exports.SapPostgres = exports.SAP_PROTOCOLS = exports.SAPPlugin = exports.createSAPPlugin = exports.BaseModule = exports.LedgerModule = exports.AttestationModule = exports.SubscriptionModule = exports.StakingModule = exports.ReceiptModule = exports.EscrowV2Module = exports.EscrowModule = exports.VaultModule = exports.ToolsModule = exports.IndexingModule = exports.FeedbackModule = exports.AgentModule = exports.GeyserEventStream = exports.SAP_EVENT_NAMES = exports.EventParser = exports.SapPermissionError = exports.SapTimeoutError = exports.SapAccountNotFoundError = exports.SapRpcError = exports.SapValidationError = exports.SapError = exports.getX402DirectPayments = exports.parseX402Headers = exports.SapMerchantValidator = exports.MissingEscrowAtaError = exports.toAccountMetas = exports.attachSplAccounts = exports.validateEscrowState = void 0;
51
- exports.MetaplexBridge = void 0;
50
+ exports.SessionManager = exports.X402Registry = exports.DiscoveryRegistry = exports.TransactionParser = exports.extractAccountKeys = exports.filterSapInnerInstructions = exports.decodeInnerInstructions = exports.parseSapTransactionBatch = exports.parseSapTransactionComplete = exports.containsSapInstruction = exports.parseSapInstructionNamesFromList = exports.parseSapInstructionsFromList = exports.parseSapInstructionNamesFromTransaction = exports.parseSapInstructionsFromTransaction = exports.SAP_TABLE_MAP = exports.SapSyncEngine = exports.SapPostgres = exports.SAP_PROTOCOLS = exports.SAPPlugin = exports.createSAPPlugin = exports.BaseModule = exports.LedgerModule = exports.AttestationModule = exports.SubscriptionModule = exports.StakingModule = exports.ReceiptModule = exports.EscrowV2Module = exports.EscrowModule = exports.VaultModule = exports.ToolsModule = exports.IndexingModule = exports.FeedbackModule = exports.AgentModule = exports.GeyserEventStream = exports.SAP_EVENT_NAMES = exports.EventParser = exports.SapPermissionError = exports.SapTimeoutError = exports.SapAccountNotFoundError = exports.SapRpcError = exports.SapValidationError = exports.SapError = exports.getX402DirectPayments = exports.parseX402Headers = exports.SapMerchantValidator = exports.MissingEscrowAtaError = exports.toAccountMetas = exports.attachSplAccounts = exports.validateEscrowState = exports.computeBatchSettleCu = void 0;
51
+ exports.MetaplexBridge = exports.AgentBuilder = void 0;
52
52
  // ── Core ─────────────────────────────────────────────
53
53
  var core_1 = require("./core");
54
54
  Object.defineProperty(exports, "SapClient", { enumerable: true, get: function () { return core_1.SapClient; } });
@@ -173,6 +173,7 @@ Object.defineProperty(exports, "FAST_BATCH_SETTLE_OPTIONS", { enumerable: true,
173
173
  Object.defineProperty(exports, "DEFAULT_SETTLE_PRIORITY_FEE", { enumerable: true, get: function () { return utils_7.DEFAULT_SETTLE_PRIORITY_FEE; } });
174
174
  Object.defineProperty(exports, "DEFAULT_SETTLE_COMPUTE_UNITS", { enumerable: true, get: function () { return utils_7.DEFAULT_SETTLE_COMPUTE_UNITS; } });
175
175
  Object.defineProperty(exports, "DEFAULT_BATCH_SETTLE_COMPUTE_UNITS", { enumerable: true, get: function () { return utils_7.DEFAULT_BATCH_SETTLE_COMPUTE_UNITS; } });
176
+ Object.defineProperty(exports, "computeBatchSettleCu", { enumerable: true, get: function () { return utils_7.computeBatchSettleCu; } });
176
177
  // v0.6.4 — Escrow validation, merchant middleware, x402 direct
177
178
  var utils_8 = require("./utils");
178
179
  Object.defineProperty(exports, "validateEscrowState", { enumerable: true, get: function () { return utils_8.validateEscrowState; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -52,6 +52,52 @@ class EscrowV2Module extends base_1.BaseModule {
52
52
  const [agentPda] = (0, pda_1.deriveAgent)(agentWallet);
53
53
  const [escrowPda] = this.deriveEscrow(agentPda, undefined, args.escrowNonce);
54
54
  const [stakePda] = (0, pda_1.deriveStake)(agentPda);
55
+ // v0.11 H-1 preflight: surface an actionable error if the agent's stake
56
+ // does not cover the slashable share of the new escrow. Saves a failed
57
+ // tx fee and gives the caller a clear top-up amount.
58
+ try {
59
+ const stakeAccount = await this.fetchAccountNullable("agentStake", stakePda);
60
+ if (stakeAccount) {
61
+ const escrowLamports = BigInt(this.bn(args.initialDeposit).toString());
62
+ const required = (0, payments_1.computeRequiredStakeLamports)(escrowLamports);
63
+ const have = BigInt(stakeAccount.stakedAmount.toString());
64
+ if (have < required) {
65
+ throw new Error(`createEscrowV2: agent stake ${have} lamports < required ${required} ` +
66
+ `lamports for escrow of ${escrowLamports} lamports. Top up via stakingModule.deposit.`);
67
+ }
68
+ }
69
+ // If no stake account exists at all, on-chain will reject with
70
+ // AccountNotInitialized — we let that bubble up unchanged.
71
+ }
72
+ catch (err) {
73
+ // Preflight is advisory; rethrow only the explicit coverage error.
74
+ if (err instanceof Error && err.message.startsWith("createEscrowV2: agent stake")) {
75
+ throw err;
76
+ }
77
+ }
78
+ // v0.11 H-1 preflight: surface an actionable error if the agent's stake
79
+ // does not cover the slashable share of the new escrow. Saves a failed
80
+ // tx fee and gives the caller a clear top-up amount.
81
+ try {
82
+ const stakeAccount = await this.fetchAccountNullable("agentStake", stakePda);
83
+ if (stakeAccount) {
84
+ const escrowLamports = BigInt(this.bn(args.initialDeposit).toString());
85
+ const required = (0, payments_1.computeRequiredStakeLamports)(escrowLamports);
86
+ const have = BigInt(stakeAccount.stakedAmount.toString());
87
+ if (have < required) {
88
+ throw new Error(`createEscrowV2: agent stake ${have} lamports < required ${required} ` +
89
+ `lamports for escrow of ${escrowLamports} lamports. Top up via stakingModule.deposit.`);
90
+ }
91
+ }
92
+ // If no stake account exists at all, on-chain will reject with
93
+ // AccountNotInitialized — we let that bubble up unchanged.
94
+ }
95
+ catch (err) {
96
+ // Preflight is advisory; rethrow only the explicit coverage error.
97
+ if (err instanceof Error && err.message.startsWith("createEscrowV2: agent stake")) {
98
+ throw err;
99
+ }
100
+ }
55
101
  return this.methods
56
102
  .createEscrowV2(this.bn(args.escrowNonce), this.bn(args.pricePerCall), this.bn(args.maxCalls), this.bn(args.initialDeposit), args.expiresAt, args.volumeCurve, args.tokenMint, args.tokenDecimals, args.settlementSecurity, this.bn(args.disputeWindowSlots), args.coSigner, args.arbiter)
57
103
  .accounts({
@@ -77,16 +123,26 @@ class EscrowV2Module extends base_1.BaseModule {
77
123
  .remainingAccounts(splAccounts)
78
124
  .rpc();
79
125
  }
80
- async settle(depositorWallet, nonce, callsToSettle, serviceHash, splAccounts = [], opts) {
126
+ async settle(depositorWallet, nonce, callsToSettle, serviceHash, splAccounts = [], opts, coSigner) {
81
127
  const [agentPda] = (0, pda_1.deriveAgent)(this.walletPubkey);
82
128
  const [escrowPda] = this.deriveEscrow(agentPda, depositorWallet, nonce);
83
129
  const [statsPda] = (0, pda_1.deriveAgentStats)(agentPda);
84
130
  const [receiptPda] = (0, pda_1.deriveSettlementReceipt)(escrowPda, serviceHash);
85
131
  const preIxs = (0, priority_fee_1.buildPriorityFeeIxs)(opts);
86
132
  const rpcOpts = (0, priority_fee_1.buildRpcOptions)(opts);
133
+ // CoSigned escrows require the co-signer to appear in
134
+ // remaining_accounts with `is_signer = true` AND to actually sign
135
+ // the transaction (Anchor on-chain checks `acc.is_signer`).
136
+ // We dedupe so callers can also pass it manually via splAccounts.
137
+ const remaining = coSigner
138
+ ? [
139
+ ...splAccounts.filter((a) => !a.pubkey.equals(coSigner.publicKey)),
140
+ { pubkey: coSigner.publicKey, isSigner: true, isWritable: false },
141
+ ]
142
+ : splAccounts;
87
143
  let builder = this.methods
88
144
  .settleCallsV2(this.bn(nonce), this.bn(callsToSettle), serviceHash)
89
- .accounts({
145
+ .accountsPartial({
90
146
  wallet: this.walletPubkey,
91
147
  agent: agentPda,
92
148
  agentStats: statsPda,
@@ -94,7 +150,10 @@ class EscrowV2Module extends base_1.BaseModule {
94
150
  settlementReceipt: receiptPda,
95
151
  systemProgram: web3_js_1.SystemProgram.programId,
96
152
  })
97
- .remainingAccounts(splAccounts);
153
+ .remainingAccounts(remaining);
154
+ if (coSigner) {
155
+ builder = builder.signers([coSigner]);
156
+ }
98
157
  if (preIxs.length > 0) {
99
158
  builder = builder.preInstructions(preIxs);
100
159
  }
@@ -1 +1 @@
1
- {"version":3,"file":"escrow-v2.js","sourceRoot":"","sources":["../../../src/modules/escrow-v2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"escrow-v2.js","sourceRoot":"","sources":["../../../src/modules/escrow-v2.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH,6CAMyB;AACzB,8CAAuC;AACvC,iCAAoC;AACpC,gCAQgB;AAOhB,wDAG+B;AAE/B,oDAA6F;AAE7F;;;;;;;;GAQG;AACH,MAAa,cAAe,SAAQ,iBAAU;IAC5C,wDAAwD;IAExD,oEAAoE;IAC5D,KAAK,CAAC,CAAuB;QACnC,OAAO,WAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,wDAAwD;IAExD,YAAY,CACV,QAAmB,EACnB,SAAqB,EACrB,QAA8B,CAAC;QAE/B,OAAO,IAAA,oBAAc,EAAC,QAAQ,EAAE,SAAS,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACrF,CAAC;IAED,uBAAuB,CACrB,WAAsB,EACtB,eAAqC;QAErC,OAAO,IAAA,6BAAgB,EAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,aAAa,CACX,oBAA+B;QAE/B,OAAO,IAAA,mBAAgB,EAAC,oBAAoB,CAAC,CAAC;IAChD,CAAC;IAED,wDAAwD;IAExD,KAAK,CAAC,MAAM,CACV,WAAsB,EACtB,IAAwB,EACxB,cAA6B,EAAE;QAE/B,uDAAuD;QACvD,IAAI,CAAC,IAAA,iCAAsB,EAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CACb,yEAAyE;gBACzE,mDAAmD,CACpD,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAA,iBAAW,EAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7E,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAA,iBAAW,EAAC,QAAQ,CAAC,CAAC;QACzC,wEAAwE;QACxE,uEAAuE;QACvE,qDAAqD;QACrD,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAuB,YAAY,EAAE,QAAQ,CAAC,CAAC;YACnG,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACvE,MAAM,QAAQ,GAAG,IAAA,uCAA4B,EAAC,cAAc,CAAC,CAAC;gBAC9D,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC1D,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;oBACpB,MAAM,IAAI,KAAK,CACb,+BAA+B,IAAI,wBAAwB,QAAQ,GAAG;wBACtE,0BAA0B,cAAc,8CAA8C,CACvF,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,+DAA+D;YAC/D,2DAA2D;QAC7D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,mEAAmE;YACnE,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,6BAA6B,CAAC,EAAE,CAAC;gBAClF,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QACD,wEAAwE;QACxE,uEAAuE;QACvE,qDAAqD;QACrD,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAuB,YAAY,EAAE,QAAQ,CAAC,CAAC;YACnG,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACvE,MAAM,QAAQ,GAAG,IAAA,uCAA4B,EAAC,cAAc,CAAC,CAAC;gBAC9D,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC1D,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;oBACpB,MAAM,IAAI,KAAK,CACb,+BAA+B,IAAI,wBAAwB,QAAQ,GAAG;wBACtE,0BAA0B,cAAc,8CAA8C,CACvF,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,+DAA+D;YAC/D,2DAA2D;QAC7D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,mEAAmE;YACnE,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,6BAA6B,CAAC,EAAE,CAAC;gBAClF,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,OAAO;aAChB,cAAc,CACb,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EACzB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAC1B,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EACtB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAC5B,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAChC,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,OAAO,CACb;aACA,QAAQ,CAAC;YACR,SAAS,EAAE,IAAI,CAAC,YAAY;YAC5B,KAAK,EAAE,QAAQ;YACf,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,SAAS;YACjB,aAAa,EAAE,uBAAa,CAAC,SAAS;SACvC,CAAC;aACD,iBAAiB,CAAC,WAAW,CAAC;aAC9B,GAAG,EAAE,CAAC;IACX,CAAC;IAED,KAAK,CAAC,OAAO,CACX,WAAsB,EACtB,KAA2B,EAC3B,MAA4B,EAC5B,cAA6B,EAAE;QAE/B,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAA,iBAAW,EAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAElE,OAAO,IAAI,CAAC,OAAO;aAChB,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;aAChD,QAAQ,CAAC;YACR,SAAS,EAAE,IAAI,CAAC,YAAY;YAC5B,MAAM,EAAE,SAAS;YACjB,aAAa,EAAE,uBAAa,CAAC,SAAS;SACvC,CAAC;aACD,iBAAiB,CAAC,WAAW,CAAC;aAC9B,GAAG,EAAE,CAAC;IACX,CAAC;IAED,KAAK,CAAC,MAAM,CACV,eAA0B,EAC1B,KAA2B,EAC3B,aAAmC,EACnC,WAAqB,EACrB,cAA6B,EAAE,EAC/B,IAAoB,EACpB,QAAiB;QAEjB,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAA,iBAAW,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClD,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;QACxE,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAA,sBAAgB,EAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,CAAC,UAAU,CAAC,GAAG,IAAA,6BAAuB,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAErE,MAAM,MAAM,GAAG,IAAA,kCAAmB,EAAC,IAAI,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,IAAA,8BAAe,EAAC,IAAI,CAAC,CAAC;QAEtC,sDAAsD;QACtD,kEAAkE;QAClE,4DAA4D;QAC5D,kEAAkE;QAClE,MAAM,SAAS,GAAkB,QAAQ;YACvC,CAAC,CAAC;gBACE,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAClE,EAAE,MAAM,EAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE;aAClE;YACH,CAAC,CAAC,WAAW,CAAC;QAEhB,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO;aACvB,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC;aAClE,eAAe,CAAC;YACf,MAAM,EAAE,IAAI,CAAC,YAAY;YACzB,KAAK,EAAE,QAAQ;YACf,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,SAAS;YACjB,iBAAiB,EAAE,UAAU;YAC7B,aAAa,EAAE,uBAAa,CAAC,SAAS;SACvC,CAAC;aACD,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAEhC,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC3B,WAAsB,EACtB,eAA0B,EAC1B,KAA2B,EAC3B,eAAqC,EACrC,aAAmC,EACnC,MAA4B,EAC5B,WAAqB,EACrB,oBAA8B,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnD,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAA,iBAAW,EAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;QACxE,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QAE9E,OAAO,IAAI,CAAC,OAAO;aAChB,uBAAuB,CACtB,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,EACxB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,EACtB,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EACf,WAAW,EACX,iBAAiB,CAClB;aACA,QAAQ,CAAC;YACR,MAAM,EAAE,IAAI,CAAC,YAAY;YACzB,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,SAAS;YACjB,iBAAiB,EAAE,UAAU;YAC7B,aAAa,EAAE,uBAAa,CAAC,SAAS;SACvC,CAAC;aACD,GAAG,EAAE,CAAC;IACX,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,WAAsB,EACtB,eAA0B,EAC1B,KAA2B,EAC3B,eAAqC;QAErC,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAA,iBAAW,EAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;QACxE,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QAC9E,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAA,sBAAgB,EAAC,QAAQ,CAAC,CAAC;QAE9C,OAAO,IAAI,CAAC,OAAO;aAChB,kBAAkB,EAAE;aACpB,QAAQ,CAAC;YACR,KAAK,EAAE,IAAI,CAAC,YAAY;YACxB,WAAW;YACX,MAAM,EAAE,SAAS;YACjB,iBAAiB,EAAE,UAAU;YAC7B,UAAU,EAAE,QAAQ;SACrB,CAAC;aACD,GAAG,EAAE,CAAC;IACX,CAAC;IAED,KAAK,CAAC,WAAW,CACf,WAAsB,EACtB,KAA2B,EAC3B,eAAqC,EACrC,YAAsB,EACtB,cAAsB,CAAC;QAEvB,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAA,iBAAW,EAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAClE,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QAC9E,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAEpD,OAAO,IAAI,CAAC,OAAO;aAChB,WAAW,CAAC,YAAY,EAAE,WAAW,CAAC;aACtC,QAAQ,CAAC;YACR,SAAS,EAAE,IAAI,CAAC,YAAY;YAC5B,MAAM,EAAE,SAAS;YACjB,iBAAiB,EAAE,UAAU;YAC7B,OAAO,EAAE,UAAU;YACnB,aAAa,EAAE,uBAAa,CAAC,SAAS;SACvC,CAAC;aACD,GAAG,EAAE,CAAC;IACX,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAClB,gBAA2B,EAC3B,YAAuB,EACvB,MAA4B,EAC5B,gBAAsC,EACtC,QAAgB;QAEhB,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;IAC7F,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,oBAA+B;QAE/B,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;QAE9D,OAAO,IAAI,CAAC,OAAO;aAChB,YAAY,EAAE;aACd,QAAQ,CAAC;YACR,SAAS,EAAE,IAAI,CAAC,YAAY;YAC5B,OAAO,EAAE,UAAU;SACpB,CAAC;aACD,GAAG,EAAE,CAAC;IACX,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,oBAA+B;QAE/B,OAAO,IAAI,CAAC,OAAO;aAChB,sBAAsB,EAAE;aACxB,QAAQ,CAAC;YACR,KAAK,EAAE,IAAI,CAAC,YAAY;YACxB,iBAAiB,EAAE,oBAAoB;SACxC,CAAC;aACD,GAAG,EAAE,CAAC;IACX,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,WAAsB,EACtB,KAA2B,EAC3B,MAA4B;QAE5B,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAA,iBAAW,EAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAElE,OAAO,IAAI,CAAC,OAAO;aAChB,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;aACjC,QAAQ,CAAC;YACR,SAAS,EAAE,IAAI,CAAC,YAAY;YAC5B,MAAM,EAAE,SAAS;SAClB,CAAC;aACD,GAAG,EAAE,CAAC;IACX,CAAC;IAED,KAAK,CAAC,KAAK,CACT,WAAsB,EACtB,QAA8B,CAAC;QAE/B,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAA,iBAAW,EAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAElE,OAAO,IAAI,CAAC,OAAO;aAChB,aAAa,EAAE;aACf,QAAQ,CAAC;YACR,SAAS,EAAE,IAAI,CAAC,YAAY;YAC5B,MAAM,EAAE,SAAS;SAClB,CAAC;aACD,GAAG,EAAE,CAAC;IACX,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CACjB,YAAuB;QAEvB,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACzF,CAAC;IAED,wDAAwD;IAExD,KAAK,CAAC,KAAK,CACT,QAAmB,EACnB,SAAqB,EACrB,QAA8B,CAAC;QAE/B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,YAAY,CAAsB,iBAAiB,EAAE,GAAG,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,QAAmB,EACnB,SAAqB,EACrB,QAA8B,CAAC;QAE/B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,oBAAoB,CAAsB,iBAAiB,EAAE,GAAG,CAAC,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,SAAoB;QACnC,OAAO,IAAI,CAAC,YAAY,CAAsB,iBAAiB,EAAE,SAAS,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,UAAqB;QAErB,OAAO,IAAI,CAAC,YAAY,CAAwB,mBAAmB,EAAE,UAAU,CAAC,CAAC;IACnF,CAAC;IAED,KAAK,CAAC,8BAA8B,CAClC,UAAqB;QAErB,OAAO,IAAI,CAAC,oBAAoB,CAAwB,mBAAmB,EAAE,UAAU,CAAC,CAAC;IAC3F,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,UAAqB;QAErB,OAAO,IAAI,CAAC,YAAY,CAAoB,eAAe,EAAE,UAAU,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,UAAqB;QAErB,OAAO,IAAI,CAAC,oBAAoB,CAAoB,eAAe,EAAE,UAAU,CAAC,CAAC;IACnF,CAAC;CACF;AAnZD,wCAmZC"}
@@ -228,11 +228,21 @@ class EscrowModule extends base_1.BaseModule {
228
228
  : (0, hash_1.computeBatchRoot)(settlements.map((s) => s.serviceHash));
229
229
  const rootArr = (0, hash_1.hashToArray)(rootBytes);
230
230
  const [receiptPda] = (0, pda_1.deriveSettlementReceipt)(escrowPda, rootBytes);
231
- const preIxs = (0, priority_fee_1.buildPriorityFeeIxs)(opts);
232
- const rpcOpts = (0, priority_fee_1.buildRpcOptions)(opts);
231
+ // Auto-size CU to the batch length so callers don't have to think
232
+ // about it. The default Solana cap (200k) overflows past ~8
233
+ // settlements; we compute a tight ceiling and let the caller
234
+ // override via `opts.computeUnits` if they want.
235
+ // Setting the CU limit is FREE — it doesn't add lamports, only
236
+ // caps the maximum the runtime is allowed to charge.
237
+ const effectiveOpts = {
238
+ ...opts,
239
+ computeUnits: opts?.computeUnits ?? (0, priority_fee_1.computeBatchSettleCu)(settlements.length),
240
+ };
241
+ const preIxs = (0, priority_fee_1.buildPriorityFeeIxs)(effectiveOpts);
242
+ const rpcOpts = (0, priority_fee_1.buildRpcOptions)(effectiveOpts);
233
243
  let builder = this.methods
234
244
  .settleBatch(settlements, rootArr)
235
- .accounts({
245
+ .accountsPartial({
236
246
  wallet: this.walletPubkey,
237
247
  agent: agentPda,
238
248
  agentStats: statsPda,
@@ -1 +1 @@
1
- {"version":3,"file":"escrow.js","sourceRoot":"","sources":["../../../src/modules/escrow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"escrow.js","sourceRoot":"","sources":["../../../src/modules/escrow.ts"],"names":[],"mappings":"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"}
@@ -117,6 +117,9 @@ class ReceiptModule extends base_1.BaseModule {
117
117
  const [pendingPda] = (0, pda_1.derivePendingSettlement)(escrowPda, this.toNum(settlementIndex));
118
118
  const [disputePda] = (0, pda_1.deriveDispute)(pendingPda);
119
119
  const [statsPda] = (0, pda_1.deriveAgentStats)(agentPda);
120
+ // v0.11 H-3: AgentStake is now a typed required account so the slash on
121
+ // DepositorWins is guaranteed instead of silently skipped.
122
+ const [stakePda] = (0, pda_1.deriveStake)(agentPda);
120
123
  return this.methods
121
124
  .autoResolveDispute()
122
125
  .accounts({
@@ -127,6 +130,7 @@ class ReceiptModule extends base_1.BaseModule {
127
130
  pendingSettlement: pendingPda,
128
131
  dispute: disputePda,
129
132
  agentStats: statsPda,
133
+ agentStake: stakePda,
130
134
  })
131
135
  .rpc();
132
136
  }
@@ -1 +1 @@
1
- {"version":3,"file":"receipt.js","sourceRoot":"","sources":["../../../src/modules/receipt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"receipt.js","sourceRoot":"","sources":["../../../src/modules/receipt.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ exports.StakingModule = void 0;
13
13
  const web3_js_1 = require("@solana/web3.js");
14
14
  const base_1 = require("./base");
15
15
  const pda_1 = require("../pda");
16
+ const payments_1 = require("../constants/payments");
16
17
  /**
17
18
  * @name StakingModule
18
19
  * @description Manages agent stake accounts — init, deposit, unstake, and fetch.
@@ -89,6 +90,35 @@ class StakingModule extends base_1.BaseModule {
89
90
  async fetchByPda(stakePda) {
90
91
  return this.fetchAccount("agentStake", stakePda);
91
92
  }
93
+ // ── v0.11 helpers ────────────────────────────────────────────
94
+ /**
95
+ * Compute the maximum amount that can be requested via `requestUnstake`
96
+ * without breaching the on-chain {@link MIN_AGENT_STAKE_LAMPORTS} floor.
97
+ *
98
+ * Returns 0 if the agent is already at (or below) the floor.
99
+ *
100
+ * @since v0.11.0
101
+ */
102
+ getMaxUnstakeLamports(stake) {
103
+ const staked = BigInt(stake.stakedAmount.toString());
104
+ if (staked <= payments_1.MIN_AGENT_STAKE_LAMPORTS)
105
+ return 0n;
106
+ return staked - payments_1.MIN_AGENT_STAKE_LAMPORTS;
107
+ }
108
+ /**
109
+ * Returns the lamport delta the agent must `deposit` to satisfy the
110
+ * per-escrow stake-coverage requirement for `escrowLamports`. 0 if already
111
+ * sufficient. Useful for a UI "top up to open this escrow" button.
112
+ *
113
+ * Mirrors the on-chain check in `create_escrow_v2` (v0.11 H-1).
114
+ *
115
+ * @since v0.11.0
116
+ */
117
+ getRequiredTopUp(stake, escrowLamports) {
118
+ const required = (0, payments_1.computeRequiredStakeLamports)(escrowLamports);
119
+ const have = BigInt(stake.stakedAmount.toString());
120
+ return have >= required ? 0n : required - have;
121
+ }
92
122
  }
93
123
  exports.StakingModule = StakingModule;
94
124
  //# sourceMappingURL=staking.js.map