@debridge-finance/borderless-validation-sdk 0.4.1 → 0.5.1

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 (160) hide show
  1. package/README.md +15 -0
  2. package/dist/cjs/helpers/solana-hook-instructions.js +66 -0
  3. package/dist/cjs/helpers/solana-hook-instructions.js.map +1 -0
  4. package/dist/cjs/helpers/solana-instruction.js +5 -1
  5. package/dist/cjs/helpers/solana-instruction.js.map +1 -1
  6. package/dist/cjs/helpers/solana-intent-id.js +11 -1
  7. package/dist/cjs/helpers/solana-intent-id.js.map +1 -1
  8. package/dist/cjs/helpers/solana-intent-instruction.js +106 -0
  9. package/dist/cjs/helpers/solana-intent-instruction.js.map +1 -0
  10. package/dist/cjs/types/enums.js +2 -8
  11. package/dist/cjs/types/enums.js.map +1 -1
  12. package/dist/cjs/types/response.js +12 -2
  13. package/dist/cjs/types/response.js.map +1 -1
  14. package/dist/cjs/types/validation.js +30 -0
  15. package/dist/cjs/types/validation.js.map +1 -1
  16. package/dist/cjs/validations/evm-required-actions.js +2 -0
  17. package/dist/cjs/validations/evm-required-actions.js.map +1 -1
  18. package/dist/cjs/validations/evm-sign712-shared.js +2 -5
  19. package/dist/cjs/validations/evm-sign712-shared.js.map +1 -1
  20. package/dist/cjs/validations/evm-transaction-scope.js +29 -0
  21. package/dist/cjs/validations/evm-transaction-scope.js.map +1 -0
  22. package/dist/cjs/validations/hooks-common.js +18 -15
  23. package/dist/cjs/validations/hooks-common.js.map +1 -1
  24. package/dist/cjs/validations/low-input-sweep-bundle.js +94 -0
  25. package/dist/cjs/validations/low-input-sweep-bundle.js.map +1 -0
  26. package/dist/cjs/validations/low-input-sweep-hook.js +204 -0
  27. package/dist/cjs/validations/low-input-sweep-hook.js.map +1 -0
  28. package/dist/cjs/validations/low-input-sweep.js +294 -0
  29. package/dist/cjs/validations/low-input-sweep.js.map +1 -0
  30. package/dist/cjs/validations/on-chain-intent-submission.js +16 -5
  31. package/dist/cjs/validations/on-chain-intent-submission.js.map +1 -1
  32. package/dist/cjs/validations/ptp.js +13 -15
  33. package/dist/cjs/validations/ptp.js.map +1 -1
  34. package/dist/cjs/validations/solana-embedded-intent.js +187 -0
  35. package/dist/cjs/validations/solana-embedded-intent.js.map +1 -0
  36. package/dist/cjs/validations/solana-hook.js +1 -1
  37. package/dist/cjs/validations/solana-hook.js.map +1 -1
  38. package/dist/cjs/validations/solana-intent-accounts.js +99 -0
  39. package/dist/cjs/validations/solana-intent-accounts.js.map +1 -0
  40. package/dist/cjs/validations/solana-low-input-sweep.js +251 -0
  41. package/dist/cjs/validations/solana-low-input-sweep.js.map +1 -0
  42. package/dist/cjs/validations/solana-required-actions.js +6 -2
  43. package/dist/cjs/validations/solana-required-actions.js.map +1 -1
  44. package/dist/cjs/validations/solana-transaction.js +25 -5
  45. package/dist/cjs/validations/solana-transaction.js.map +1 -1
  46. package/dist/cjs/validations/trade-grouping.js +23 -26
  47. package/dist/cjs/validations/trade-grouping.js.map +1 -1
  48. package/dist/cjs/validations/trade-matching.js +21 -13
  49. package/dist/cjs/validations/trade-matching.js.map +1 -1
  50. package/dist/cjs/validations/trades.js +33 -20
  51. package/dist/cjs/validations/trades.js.map +1 -1
  52. package/dist/cjs/validator.js +14 -5
  53. package/dist/cjs/validator.js.map +1 -1
  54. package/dist/cjs/whitelists/environment-config.js +45 -3
  55. package/dist/cjs/whitelists/environment-config.js.map +1 -1
  56. package/dist/cjs/whitelists/types.js.map +1 -1
  57. package/dist/esm/helpers/solana-hook-instructions.js +63 -0
  58. package/dist/esm/helpers/solana-hook-instructions.js.map +1 -0
  59. package/dist/esm/helpers/solana-instruction.js +4 -0
  60. package/dist/esm/helpers/solana-instruction.js.map +1 -1
  61. package/dist/esm/helpers/solana-intent-id.js +10 -1
  62. package/dist/esm/helpers/solana-intent-id.js.map +1 -1
  63. package/dist/esm/helpers/solana-intent-instruction.js +98 -0
  64. package/dist/esm/helpers/solana-intent-instruction.js.map +1 -0
  65. package/dist/esm/types/enums.js +0 -6
  66. package/dist/esm/types/enums.js.map +1 -1
  67. package/dist/esm/types/response.js +12 -2
  68. package/dist/esm/types/response.js.map +1 -1
  69. package/dist/esm/types/validation.js +30 -0
  70. package/dist/esm/types/validation.js.map +1 -1
  71. package/dist/esm/validations/evm-required-actions.js +2 -0
  72. package/dist/esm/validations/evm-required-actions.js.map +1 -1
  73. package/dist/esm/validations/evm-sign712-shared.js +2 -5
  74. package/dist/esm/validations/evm-sign712-shared.js.map +1 -1
  75. package/dist/esm/validations/evm-transaction-scope.js +26 -0
  76. package/dist/esm/validations/evm-transaction-scope.js.map +1 -0
  77. package/dist/esm/validations/hooks-common.js +18 -15
  78. package/dist/esm/validations/hooks-common.js.map +1 -1
  79. package/dist/esm/validations/low-input-sweep-bundle.js +91 -0
  80. package/dist/esm/validations/low-input-sweep-bundle.js.map +1 -0
  81. package/dist/esm/validations/low-input-sweep-hook.js +201 -0
  82. package/dist/esm/validations/low-input-sweep-hook.js.map +1 -0
  83. package/dist/esm/validations/low-input-sweep.js +291 -0
  84. package/dist/esm/validations/low-input-sweep.js.map +1 -0
  85. package/dist/esm/validations/on-chain-intent-submission.js +17 -6
  86. package/dist/esm/validations/on-chain-intent-submission.js.map +1 -1
  87. package/dist/esm/validations/ptp.js +13 -15
  88. package/dist/esm/validations/ptp.js.map +1 -1
  89. package/dist/esm/validations/solana-embedded-intent.js +184 -0
  90. package/dist/esm/validations/solana-embedded-intent.js.map +1 -0
  91. package/dist/esm/validations/solana-hook.js +2 -2
  92. package/dist/esm/validations/solana-hook.js.map +1 -1
  93. package/dist/esm/validations/solana-intent-accounts.js +95 -0
  94. package/dist/esm/validations/solana-intent-accounts.js.map +1 -0
  95. package/dist/esm/validations/solana-low-input-sweep.js +248 -0
  96. package/dist/esm/validations/solana-low-input-sweep.js.map +1 -0
  97. package/dist/esm/validations/solana-required-actions.js +6 -2
  98. package/dist/esm/validations/solana-required-actions.js.map +1 -1
  99. package/dist/esm/validations/solana-transaction.js +25 -5
  100. package/dist/esm/validations/solana-transaction.js.map +1 -1
  101. package/dist/esm/validations/trade-grouping.js +23 -26
  102. package/dist/esm/validations/trade-grouping.js.map +1 -1
  103. package/dist/esm/validations/trade-matching.js +21 -13
  104. package/dist/esm/validations/trade-matching.js.map +1 -1
  105. package/dist/esm/validations/trades.js +33 -20
  106. package/dist/esm/validations/trades.js.map +1 -1
  107. package/dist/esm/validator.js +14 -5
  108. package/dist/esm/validator.js.map +1 -1
  109. package/dist/esm/whitelists/environment-config.js +45 -3
  110. package/dist/esm/whitelists/environment-config.js.map +1 -1
  111. package/dist/esm/whitelists/types.js.map +1 -1
  112. package/dist/types/helpers/solana-hook-instructions.d.ts +14 -0
  113. package/dist/types/helpers/solana-hook-instructions.d.ts.map +1 -0
  114. package/dist/types/helpers/solana-instruction.d.ts +3 -0
  115. package/dist/types/helpers/solana-instruction.d.ts.map +1 -1
  116. package/dist/types/helpers/solana-intent-id.d.ts +5 -0
  117. package/dist/types/helpers/solana-intent-id.d.ts.map +1 -1
  118. package/dist/types/helpers/solana-intent-instruction.d.ts +34 -0
  119. package/dist/types/helpers/solana-intent-instruction.d.ts.map +1 -0
  120. package/dist/types/types/enums.d.ts +0 -4
  121. package/dist/types/types/enums.d.ts.map +1 -1
  122. package/dist/types/types/response.d.ts +71 -1
  123. package/dist/types/types/response.d.ts.map +1 -1
  124. package/dist/types/types/validation.d.ts +29 -0
  125. package/dist/types/types/validation.d.ts.map +1 -1
  126. package/dist/types/validations/evm-required-actions.d.ts.map +1 -1
  127. package/dist/types/validations/evm-sign712-shared.d.ts.map +1 -1
  128. package/dist/types/validations/evm-transaction-scope.d.ts +3 -0
  129. package/dist/types/validations/evm-transaction-scope.d.ts.map +1 -0
  130. package/dist/types/validations/hooks-common.d.ts +2 -1
  131. package/dist/types/validations/hooks-common.d.ts.map +1 -1
  132. package/dist/types/validations/low-input-sweep-bundle.d.ts +3 -0
  133. package/dist/types/validations/low-input-sweep-bundle.d.ts.map +1 -0
  134. package/dist/types/validations/low-input-sweep-hook.d.ts +9 -0
  135. package/dist/types/validations/low-input-sweep-hook.d.ts.map +1 -0
  136. package/dist/types/validations/low-input-sweep.d.ts +15 -0
  137. package/dist/types/validations/low-input-sweep.d.ts.map +1 -0
  138. package/dist/types/validations/on-chain-intent-submission.d.ts.map +1 -1
  139. package/dist/types/validations/ptp.d.ts +3 -2
  140. package/dist/types/validations/ptp.d.ts.map +1 -1
  141. package/dist/types/validations/solana-embedded-intent.d.ts +3 -0
  142. package/dist/types/validations/solana-embedded-intent.d.ts.map +1 -0
  143. package/dist/types/validations/solana-hook.d.ts.map +1 -1
  144. package/dist/types/validations/solana-intent-accounts.d.ts +14 -0
  145. package/dist/types/validations/solana-intent-accounts.d.ts.map +1 -0
  146. package/dist/types/validations/solana-low-input-sweep.d.ts +9 -0
  147. package/dist/types/validations/solana-low-input-sweep.d.ts.map +1 -0
  148. package/dist/types/validations/solana-required-actions.d.ts.map +1 -1
  149. package/dist/types/validations/solana-transaction.d.ts.map +1 -1
  150. package/dist/types/validations/trade-grouping.d.ts +1 -1
  151. package/dist/types/validations/trade-grouping.d.ts.map +1 -1
  152. package/dist/types/validations/trade-matching.d.ts +1 -1
  153. package/dist/types/validations/trade-matching.d.ts.map +1 -1
  154. package/dist/types/validations/trades.d.ts +1 -1
  155. package/dist/types/validations/trades.d.ts.map +1 -1
  156. package/dist/types/validator.d.ts.map +1 -1
  157. package/dist/types/whitelists/environment-config.d.ts.map +1 -1
  158. package/dist/types/whitelists/types.d.ts +1 -0
  159. package/dist/types/whitelists/types.d.ts.map +1 -1
  160. package/package.json +70 -66
@@ -0,0 +1,251 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readSolanaSweepTransfer = readSolanaSweepTransfer;
4
+ const address_1 = require("../helpers/address");
5
+ const solana_instruction_1 = require("../helpers/solana-instruction");
6
+ const solana_hook_instructions_1 = require("../helpers/solana-hook-instructions");
7
+ const programs_1 = require("../whitelists/solana/programs");
8
+ // Checks whether the entire hook is an allowed transfer for this sweep.
9
+ // Returns `undefined` when the hook does not match.
10
+ // Recipient whitelisting is checked separately.
11
+ function readSolanaSweepTransfer(hook, sweep) {
12
+ // CRITICAL: an API-built Solana hook is not a trusted user-provided transaction.
13
+ // Decode every instruction before treating its bytes as the expected Hook payload.
14
+ try {
15
+ const decoded = (0, solana_hook_instructions_1.decodeSolanaHookInstructions)(hook.data);
16
+ // CRITICAL: additional signers must be readonly and used only by Memo.
17
+ if (!areSweepSignersAllowed(decoded, sweep))
18
+ return undefined;
19
+ // Collect matching transfers and retain their instruction indices.
20
+ // Non-matching instructions are checked separately below, not ignored.
21
+ const transfers = decoded.instructions.flatMap((instruction, index) => {
22
+ const transfer = readTransfer(instruction, sweep);
23
+ return transfer === undefined ? [] : [{ transfer, index }];
24
+ });
25
+ // CRITICAL: exactly one instruction must match this sweep's transfer.
26
+ if (transfers.length !== 1)
27
+ return undefined;
28
+ const { transfer, index } = transfers[0];
29
+ // CRITICAL: every remaining instruction must be an allowed memo,
30
+ // destination ATA creation, or source ATA close. This also rejects
31
+ // transfers that did not match the sweep.
32
+ if (!auxiliaryInstructionsMatch(decoded.instructions, index, transfer, sweep, decoded.feePayer))
33
+ return undefined;
34
+ return transfer;
35
+ }
36
+ catch {
37
+ // Malformed bytes/accounts cannot bind a sweep.
38
+ return undefined;
39
+ }
40
+ }
41
+ // The API currently adds one Memo co-signer. Intentionally, the SDK does not cap
42
+ // their number: additional base fees and dependence on every required signature
43
+ // are accepted risks. This checks signer roles, not API identity or signatures.
44
+ function areSweepSignersAllowed(decoded, sweep) {
45
+ return decoded.signers.every(signer => {
46
+ // Authority and fee payer may be writable and may also sign Memo.
47
+ if ((0, address_1.addressEquals)(sweep.realChainId, signer, sweep.sender)
48
+ || (0, address_1.addressEquals)(sweep.realChainId, signer, decoded.feePayer))
49
+ return true;
50
+ return isReadonlyMemoOnlySigner(decoded.instructions, signer, sweep.realChainId);
51
+ });
52
+ }
53
+ // Requires actual Memo use and rejects every other use of the additional signer,
54
+ // including as a program ID. Privileges are resolved from the complete message.
55
+ function isReadonlyMemoOnlySigner(instructions, signer, realChainId) {
56
+ let usedInMemo = false;
57
+ for (const instruction of instructions) {
58
+ // CRITICAL: an additional signer must not be used as an instruction's program ID.
59
+ if ((0, address_1.addressEquals)(realChainId, instruction.programId, signer))
60
+ return false;
61
+ for (let i = 0; i < instruction.accountKeys.length; i++) {
62
+ if (!(0, address_1.addressEquals)(realChainId, instruction.accountKeys[i], signer))
63
+ continue;
64
+ // CRITICAL: check every occurrence; writable privileges are global,
65
+ // and even a readonly account reference outside Memo is forbidden.
66
+ if (!(0, solana_instruction_1.isMemo)(instruction)
67
+ || !instruction.accountMetas[i].isSigner
68
+ || instruction.accountMetas[i].isWritable)
69
+ return false;
70
+ usedInMemo = true;
71
+ }
72
+ }
73
+ // HIGH: an unused required signer adds a signature without a permitted role.
74
+ return usedInMemo;
75
+ }
76
+ // Checks whether this instruction transfers the expected asset from the expected
77
+ // sender for the sweep amount. Returns `undefined` if the instruction does not match.
78
+ function readTransfer(instruction, sweep) {
79
+ if ((0, address_1.isNativeToken)(sweep.trade.srcChainTokenIn, sweep.realChainId)) {
80
+ // CRITICAL: native SOL must use a SystemProgram.Transfer from the request authority.
81
+ if (!(0, solana_instruction_1.isSystemTransfer)(instruction)
82
+ || instruction.data.length !== 12 // operation ID (4 bytes) + amount (8 bytes)
83
+ || instruction.accountKeys.length !== 2 // sender + recipient
84
+ )
85
+ return undefined;
86
+ // Index 0 - sender account. Index 1 - recipient account.
87
+ if (!(0, address_1.addressEquals)(sweep.realChainId, instruction.accountKeys[0], sweep.sender)
88
+ || !instruction.accountMetas[0].isSigner // sender must sign
89
+ || !instruction.accountMetas[0].isWritable // writable because balance decreases
90
+ || !instruction.accountMetas[1].isWritable // writable because balance increases
91
+ )
92
+ return undefined;
93
+ // Skip operation ID (4 bytes) and read the amount.
94
+ return readAmount(instruction.data, 4) === sweep.amount
95
+ ? { destinationAddress: instruction.accountKeys[1] }
96
+ : undefined;
97
+ }
98
+ return readTokenTransfer(instruction, sweep);
99
+ }
100
+ // Checks whether this instruction transfers the expected SPL token from the source
101
+ // authority's ATA for the sweep amount. Returns `undefined` if the instruction does not match.
102
+ function readTokenTransfer(instruction, sweep) {
103
+ // CRITICAL: only the SPL Token and Token-2022 programs may execute this transfer.
104
+ if (instruction.programId !== programs_1.SPL_TOKEN_PROGRAM
105
+ && instruction.programId !== programs_1.SPL_TOKEN_2022_PROGRAM)
106
+ return undefined;
107
+ const isTransferChecked = instruction.data[0] === solana_instruction_1.SPL_TRANSFER_CHECKED_DISCRIMINATOR;
108
+ if (!isTransferChecked && instruction.data[0] !== solana_instruction_1.SPL_TRANSFER_DISCRIMINATOR)
109
+ return undefined;
110
+ if (
111
+ // Operation ID (1 byte) + amount (8 bytes) + decimals (1 byte, TransferChecked only).
112
+ instruction.data.length !== (isTransferChecked ? 10 : 9)
113
+ || instruction.accountKeys.length !== (isTransferChecked ? 4 : 3) // TransferChecked also includes the mint.
114
+ )
115
+ return undefined;
116
+ // TransferChecked: source token account (0), mint (1), destination token account (2), authority (3).
117
+ // Transfer: source token account (0), destination token account (1), authority (2).
118
+ const destinationIndex = isTransferChecked ? 2 : 1;
119
+ const authorityIndex = isTransferChecked ? 3 : 2;
120
+ // CRITICAL: accept both Transfer and TransferChecked intentionally: the
121
+ // request-derived source ATA binds the mint even without an explicit mint
122
+ // operand. Multisig/extension accounts are not implicitly authorized.
123
+ const source = (0, solana_instruction_1.deriveAta)(sweep.sender, sweep.trade.srcChainTokenIn, instruction.programId);
124
+ const sourceTokenAccountIndex = 0;
125
+ if (!(0, address_1.addressEquals)(sweep.realChainId, instruction.accountKeys[sourceTokenAccountIndex], source)
126
+ || !(0, address_1.addressEquals)(sweep.realChainId, instruction.accountKeys[authorityIndex], sweep.sender)
127
+ || !instruction.accountMetas[authorityIndex].isSigner // the source authority must sign
128
+ || !instruction.accountMetas[sourceTokenAccountIndex].isWritable // writable because balance decreases
129
+ || !instruction.accountMetas[destinationIndex].isWritable // writable because balance increases
130
+ )
131
+ return undefined;
132
+ // TransferChecked explicitly supplies the mint at index 1; it must match the request token.
133
+ if (isTransferChecked
134
+ && !(0, address_1.addressEquals)(sweep.realChainId, instruction.accountKeys[1], sweep.trade.srcChainTokenIn))
135
+ return undefined;
136
+ // TransferChecked decimals are checked against the bound mint on chain;
137
+ // they do not scale the raw amount and cannot authorize additional tokens.
138
+ // Skip operation ID (1 byte) and read the uint64 little-endian amount in token base units.
139
+ return readAmount(instruction.data, 1) === sweep.amount
140
+ ? {
141
+ destinationAddress: instruction.accountKeys[destinationIndex],
142
+ sourceTokenAccountAddress: source,
143
+ tokenProgram: instruction.programId,
144
+ }
145
+ : undefined;
146
+ }
147
+ // Checks every instruction except the matched transfer. Allows memos and at most
148
+ // one matching destination ATA creation before the transfer, and at most one
149
+ // matching source ATA close after the transfer. Returns false if any remaining
150
+ // instruction does not match these permitted forms.
151
+ function auxiliaryInstructionsMatch(instructions, transferIndex, transfer, sweep, feePayer) {
152
+ let createAtaCount = 0;
153
+ let closeAccountCount = 0;
154
+ for (let i = 0; i < instructions.length; i++) {
155
+ // The transfer itself has already been checked by `readTransfer`.
156
+ if (i === transferIndex)
157
+ continue;
158
+ const instruction = instructions[i];
159
+ // The Memo program cannot transfer funds. Memo accounts must be signers;
160
+ // only the source authority / fee payer may have writable privileges.
161
+ if (matchesSweepMemo(instruction, sweep, feePayer))
162
+ continue;
163
+ // CRITICAL: allow at most one destination ATA creation before the transfer.
164
+ // It may be needed when the recipient's ATA does not yet exist.
165
+ if (i < transferIndex
166
+ && matchesDestinationAtaCreation(instruction, transfer, sweep, feePayer)) {
167
+ if (++createAtaCount > 1)
168
+ return false;
169
+ continue;
170
+ }
171
+ // CRITICAL: closing is limited to the exact source ATA after the transfer,
172
+ // returning rent to the source authority. No other closes or fee instructions are allowed.
173
+ if (i > transferIndex && matchesSourceAtaClose(instruction, transfer, sweep)) {
174
+ if (++closeAccountCount > 1)
175
+ return false;
176
+ continue;
177
+ }
178
+ return false;
179
+ }
180
+ return true;
181
+ }
182
+ // Checks whether this is a memo with no accounts or only signer accounts.
183
+ // Additional signers must be readonly; authority / fee payer may be writable.
184
+ function matchesSweepMemo(instruction, sweep, feePayer) {
185
+ // HIGH: all accounts must sign, with writable privileges limited to the
186
+ // authority / fee payer. An empty list is valid: Memo need not name signers.
187
+ return (0, solana_instruction_1.isMemo)(instruction)
188
+ && instruction.accountKeys.every((address, index) => {
189
+ return instruction.accountMetas[index].isSigner
190
+ && ((0, address_1.addressEquals)(sweep.realChainId, address, sweep.sender)
191
+ || (0, address_1.addressEquals)(sweep.realChainId, address, feePayer)
192
+ || !instruction.accountMetas[index].isWritable);
193
+ });
194
+ }
195
+ // Checks whether this instruction idempotently creates the transfer's destination ATA.
196
+ // The fee payer may be the source authority, so this can spend the user's SOL on ATA rent.
197
+ // Returns false on a mismatch.
198
+ function matchesDestinationAtaCreation(instruction, transfer, sweep, feePayer) {
199
+ if (transfer.tokenProgram === undefined // Native SOL transfers do not use a destination ATA.
200
+ || !(0, solana_instruction_1.isCreateAtaIdempotent)(instruction)
201
+ || instruction.accountKeys.length !== 6 // payer, destination ATA, owner, mint, System Program, token program
202
+ )
203
+ return false;
204
+ const [payer, destination, owner, mint, systemProgram, tokenProgram] = instruction.accountKeys;
205
+ if (!hasDestinationAtaCreationPrivileges(instruction))
206
+ return false;
207
+ // Funding must come from the transaction fee payer, not another account.
208
+ if (!(0, address_1.addressEquals)(sweep.realChainId, payer, feePayer))
209
+ return false;
210
+ // Bind the programs, mint and destination to this transfer, and verify that
211
+ // the supplied owner derives the same destination ATA for this mint/token program.
212
+ return systemProgram === programs_1.SYSTEM_PROGRAM
213
+ && tokenProgram === transfer.tokenProgram
214
+ && (0, address_1.addressEquals)(sweep.realChainId, mint, sweep.trade.srcChainTokenIn)
215
+ && (0, address_1.addressEquals)(sweep.realChainId, destination, transfer.destinationAddress)
216
+ && (0, address_1.addressEquals)(sweep.realChainId, destination, (0, solana_instruction_1.deriveAta)(owner, mint, tokenProgram));
217
+ }
218
+ function hasDestinationAtaCreationPrivileges(instruction) {
219
+ // CRITICAL: privileges are transaction-global, so owner/mint/program accounts
220
+ // may inherit signer/writable status from safe aliases such as user=recipient.
221
+ // Require only the capabilities needed by the ATA create instruction.
222
+ return instruction.accountMetas[0].isSigner // The payer must authorize funding the account.
223
+ && instruction.accountMetas[0].isWritable // The payer's SOL balance may decrease.
224
+ && instruction.accountMetas[1].isWritable; // The destination ATA may be initialized.
225
+ }
226
+ // Checks whether this closes the source ATA after the sweep transfer and returns rent
227
+ // to the source authority. Returns false for native SOL or any unbound account.
228
+ function matchesSourceAtaClose(instruction, transfer, sweep) {
229
+ if (transfer.sourceTokenAccountAddress === undefined
230
+ || transfer.tokenProgram === undefined
231
+ || instruction.programId !== transfer.tokenProgram
232
+ || instruction.data.length !== 1 // Operation ID (1 byte), with no additional instruction data.
233
+ || instruction.data[0] !== solana_instruction_1.SPL_CLOSE_ACCOUNT_DISCRIMINATOR
234
+ || instruction.accountKeys.length !== 3 // account, rent destination, close authority
235
+ )
236
+ return false;
237
+ const [account, destination, authority] = instruction.accountKeys;
238
+ // CRITICAL: CloseAccount may only close the source authority's ATA and must
239
+ // return its rent to the same authority. Privileges are transaction-global:
240
+ // only require needed writable/signer capabilities, not exact readonly aliases.
241
+ return (0, address_1.addressEquals)(sweep.realChainId, account, transfer.sourceTokenAccountAddress)
242
+ && (0, address_1.addressEquals)(sweep.realChainId, destination, sweep.sender)
243
+ && (0, address_1.addressEquals)(sweep.realChainId, authority, sweep.sender)
244
+ && instruction.accountMetas[0].isWritable // Source ATA: writable because the account is closed.
245
+ && instruction.accountMetas[1].isWritable // Rent destination: writable because its SOL balance increases.
246
+ && instruction.accountMetas[2].isSigner; // Close authority: must sign to authorize closing the account.
247
+ }
248
+ function readAmount(data, offset) {
249
+ return new DataView(data.buffer, data.byteOffset, data.byteLength).getBigUint64(offset, true);
250
+ }
251
+ //# sourceMappingURL=solana-low-input-sweep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solana-low-input-sweep.js","sourceRoot":"","sources":["../../../src/validations/solana-low-input-sweep.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ exports.validateSolanaRequiredActions = validateSolanaRequiredActions;
4
4
  const types_1 = require("../types");
5
5
  const solana_transaction_1 = require("./solana-transaction");
6
6
  const solana_sign_1 = require("./solana-sign");
7
+ const solana_embedded_intent_1 = require("./solana-embedded-intent");
7
8
  function validateSolanaRequiredActions(request, actions, basePath, realChainId, quoteMode, trades, responseTrades, srcChainAuthorityAddress, intent, envConfig, quoteTradeSubsetUnverifiable) {
8
9
  return [
9
10
  ...validateUniqueActionIds(actions, basePath),
@@ -14,6 +15,7 @@ function validateSolanaRequiredActions(request, actions, basePath, realChainId,
14
15
  ...(0, solana_transaction_1.validateSolanaTransactionActions)(actions, basePath, realChainId, quoteMode, srcChainAuthorityAddress, request, trades, responseTrades, intent.inputToken, envConfig, quoteTradeSubsetUnverifiable),
15
16
  ...(0, solana_transaction_1.validateSolanaSignTransactionActions)(actions, basePath, realChainId, quoteMode, srcChainAuthorityAddress, request, trades, responseTrades, intent.inputToken, envConfig, quoteTradeSubsetUnverifiable),
16
17
  ...(0, solana_sign_1.validateSolanaSignActions)(actions, basePath, realChainId, quoteMode, intent, envConfig),
18
+ ...(0, solana_embedded_intent_1.validateSolanaEmbeddedIntentActions)(actions, basePath, realChainId, intent, envConfig.solanaIntentProgram),
17
19
  ];
18
20
  }
19
21
  // HIGH: Each actionId must be unique (no duplicates in the list)
@@ -77,8 +79,10 @@ function validateAAConstraints(request, actions, basePath) {
77
79
  }
78
80
  }
79
81
  else {
80
- // CRITICAL: AA=false → no SignTransaction type actions
81
- if (action.type === types_1.SolanaActionKind.SignTransaction) {
82
+ // AA=false normally uses Transaction. The on-chain intent flow is the one
83
+ // exception: API and wallet co-sign an Intent SignTransaction for taker broadcast.
84
+ if (action.type === types_1.SolanaActionKind.SignTransaction
85
+ && !action.actions.includes(types_1.SolanaActionOperation.Intent)) {
82
86
  violations.push({
83
87
  code: types_1.ViolationCode.SolanaForbiddenSignTransactionWithoutAA,
84
88
  message: "SignTransaction action is forbidden when enableAccountAbstraction=false",
@@ -1 +1 @@
1
- {"version":3,"file":"solana-required-actions.js","sourceRoot":"","sources":["../../../src/validations/solana-required-actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"solana-required-actions.js","sourceRoot":"","sources":["../../../src/validations/solana-required-actions.ts"],"names":[],"mappings":"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"}
@@ -37,11 +37,16 @@ function validateSolanaTransactionActions(actions, basePath, realChainId, quoteM
37
37
  }
38
38
  return violations;
39
39
  }
40
- // Validates SignTransaction actions (AA=true)
40
+ // Validates service-signed transactions that the user co-signs.
41
+ // API co-signature verification is intentionally left to the API submit flow.
42
+ // The SDK validates transaction contents but does not authenticate the API signer.
43
+ // A missing or invalid API signature may therefore pass SDK validation and be
44
+ // rejected at `submit`. The user's signature is not required in a create response.
41
45
  function validateSolanaSignTransactionActions(actions, basePath, realChainId, quoteMode, srcChainAuthorityAddress, request, trades, responseTrades, inputTokens, envConfig, quoteTradeSubsetUnverifiable) {
42
46
  const violations = [];
43
47
  for (let i = 0; i < actions.length; i++) {
44
- if (actions[i].type !== types_1.SolanaActionKind.SignTransaction)
48
+ const actionType = actions[i].type;
49
+ if (actionType !== types_1.SolanaActionKind.SignTransaction)
45
50
  continue;
46
51
  const action = actions[i];
47
52
  const actionPath = `${basePath}.requiredActions[${i}]`;
@@ -53,7 +58,19 @@ function validateSolanaSignTransactionActions(actions, basePath, realChainId, qu
53
58
  }
54
59
  const accountKeys = getStaticAccountKeys(decoded.transaction);
55
60
  const resolved = (0, solana_instruction_1.resolveInstructions)(decoded.transaction.message.compiledInstructions, accountKeys);
56
- violations.push(...validateAllowedInstructions(decoded.transaction, actionPath, envConfig.solanaSignTransactionAllowedPrograms, types_1.ViolationCode.SolanaSignTransactionForbiddenInstruction, "SignTransaction"), ...validateDeclaredOperationsForInstructions(resolved, action, actionPath, envConfig), ...validateIntentActionInstructions(resolved, action, actionPath, envConfig), ...(0, solana_op_budget_1.validateSolanaBudgetInstructions)(action, resolved, actionPath, request, trades, responseTrades, realChainId, quoteMode, srcChainAuthorityAddress, envConfig, quoteTradeSubsetUnverifiable), ...(0, solana_op_wrap_1.validateSolanaWrapInstructions)(action, resolved, actionPath, inputTokens, realChainId, quoteMode, srcChainAuthorityAddress, quoteTradeSubsetUnverifiable), ...validateNoUnclassifiedInstructions(resolved, actionPath, buildClassifiers(envConfig.solanaIntentProgram, solana_instruction_1.isMemo)));
61
+ const isIntentSubmission = action.actions.includes(types_1.SolanaActionOperation.Intent);
62
+ const isNonAaIntentSubmission = isIntentSubmission && !request.enableAccountAbstraction;
63
+ const allowedPrograms = isIntentSubmission
64
+ ? new Set([
65
+ ...envConfig.solanaSignTransactionAllowedPrograms,
66
+ programs_1.COMPUTE_BUDGET_PROGRAM,
67
+ ])
68
+ : envConfig.solanaSignTransactionAllowedPrograms;
69
+ violations.push(...validateAllowedInstructions(decoded.transaction, actionPath, allowedPrograms, types_1.ViolationCode.SolanaSignTransactionForbiddenInstruction, actionType), ...(isNonAaIntentSubmission
70
+ ? validateTransactionFeePayer(decoded.transaction, actionPath, realChainId, quoteMode, srcChainAuthorityAddress)
71
+ : []), ...(isNonAaIntentSubmission
72
+ ? validateTransactionComputeBudget(decoded.transaction, actionPath, true)
73
+ : []), ...validateDeclaredOperationsForInstructions(resolved, action, actionPath, envConfig), ...validateIntentActionInstructions(resolved, action, actionPath, envConfig), ...(0, solana_op_budget_1.validateSolanaBudgetInstructions)(action, resolved, actionPath, request, trades, responseTrades, realChainId, quoteMode, srcChainAuthorityAddress, envConfig, quoteTradeSubsetUnverifiable), ...(0, solana_op_wrap_1.validateSolanaWrapInstructions)(action, resolved, actionPath, inputTokens, realChainId, quoteMode, srcChainAuthorityAddress, quoteTradeSubsetUnverifiable), ...validateNoUnclassifiedInstructions(resolved, actionPath, buildClassifiers(envConfig.solanaIntentProgram, isIntentSubmission ? isMemoOrComputeBudget : solana_instruction_1.isMemo)));
57
74
  }
58
75
  return violations;
59
76
  }
@@ -115,7 +132,7 @@ function validateIntentActionInstructions(resolved, action, actionPath, envConfi
115
132
  }];
116
133
  }
117
134
  // =============================================
118
- // Common validations for Transaction and SignTransaction
135
+ // Common validations for Solana transaction actions.
119
136
  // =============================================
120
137
  // HIGH: actions[] must only contain unique Wrap, Budget, Intent operations
121
138
  function validateActionsList(action, actionPath) {
@@ -274,7 +291,7 @@ function validateAllowedInstructions(transaction, actionPath, allowedPrograms, v
274
291
  return violations;
275
292
  }
276
293
  // Builds classifiers for validateNoUnclassifiedInstructions.
277
- // `leadClassifier` is isComputeBudget for Transaction, isMemo for SignTransaction.
294
+ // The lead classifier reflects which setup instructions the action kind permits.
278
295
  function buildClassifiers(intentProgram, leadClassifier) {
279
296
  return [
280
297
  leadClassifier,
@@ -286,6 +303,9 @@ function buildClassifiers(intentProgram, leadClassifier) {
286
303
  (ix) => (0, solana_instruction_1.isIntentInstruction)(ix, intentProgram),
287
304
  ];
288
305
  }
306
+ function isMemoOrComputeBudget(ix) {
307
+ return (0, solana_instruction_1.isMemo)(ix) || (0, solana_instruction_1.isComputeBudget)(ix);
308
+ }
289
309
  // CRITICAL: every instruction from an allowed program must be recognized by at least one classifier.
290
310
  function validateNoUnclassifiedInstructions(resolved, actionPath, classifiers) {
291
311
  const violations = [];
@@ -1 +1 @@
1
- {"version":3,"file":"solana-transaction.js","sourceRoot":"","sources":["../../../src/validations/solana-transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"solana-transaction.js","sourceRoot":"","sources":["../../../src/validations/solana-transaction.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,6 @@ const evm_dln_hook_pack_1 = require("../helpers/evm-dln-hook-pack");
11
11
  const hex_1 = require("../helpers/hex");
12
12
  const dln_metadata_1 = require("./dln-metadata");
13
13
  const external_call_1 = require("./external-call");
14
- const trade_matching_1 = require("./trade-matching");
15
14
  const quote_mode_1 = require("../helpers/quote-mode");
16
15
  const interactions_1 = require("../helpers/interactions");
17
16
  function getRequestTradeIndex(ctx, intentTradeIndex) {
@@ -34,14 +33,13 @@ function getRequestTradeIndex(ctx, intentTradeIndex) {
34
33
  // fields like intent.executionMetadata, intent.dlnMetadata,
35
34
  // intent.externalCallHash, etc. that are not present in the request, so one
36
35
  // group can correspond to one or more response intents.
37
- function groupTrades(trades, responseTrades, quoteMode, consolidationMode = false, tradePairs) {
36
+ function groupTrades(trades, quoteMode, consolidationMode = false, tradePairs, sweptTradeIndices) {
38
37
  const map = new Map();
39
38
  const violations = [];
40
39
  // Track already-reported unknown subscriptionIds to avoid duplicate violations
41
40
  const reportedUnknown = new Set();
42
- const entries = getGroupEntries(trades, responseTrades, quoteMode, consolidationMode, tradePairs);
43
- violations.push(...entries.violations);
44
- for (const entry of entries.items) {
41
+ const entries = getGroupEntries(trades, consolidationMode, tradePairs, sweptTradeIndices);
42
+ for (const entry of entries) {
45
43
  const realChainId = (0, subscription_to_chain_id_1.resolveChainId)(entry.trade.srcChainId);
46
44
  if (realChainId === undefined) {
47
45
  if (!reportedUnknown.has(entry.trade.srcChainId)) {
@@ -106,30 +104,29 @@ function getTradeGroupKey(trade, requestIndex, realChainId, quoteMode) {
106
104
  },
107
105
  };
108
106
  }
109
- function getGroupEntries(trades, responseTrades, quoteMode, consolidationMode, tradePairs) {
110
- // Regular mode groups every request trade. Consolidation mode groups only
111
- // matched pairs because the API may intentionally skip some request trades.
107
+ function getGroupEntries(trades, consolidationMode, tradePairs, sweptTradeIndices) {
108
+ // Non-consolidation mode groups every non-swept request trade, including
109
+ // unmatched tails, so missing-intent and group-coverage checks still run on them.
112
110
  if (!consolidationMode) {
113
- return {
114
- items: trades.map((trade, requestIndex) => ({
111
+ return getNonConsolidationGroupEntries(trades, tradePairs, sweptTradeIndices);
112
+ }
113
+ return tradePairs.map(pair => ({
114
+ requestIndex: pair.requestIndex,
115
+ trade: pair.requestTrade,
116
+ responseTrade: pair.responseTrade,
117
+ }));
118
+ }
119
+ function getNonConsolidationGroupEntries(trades, tradePairs, sweptTradeIndices) {
120
+ const responseByRequestIndex = new Map(tradePairs.map(pair => [pair.requestIndex, pair.responseTrade]));
121
+ return trades.flatMap((trade, requestIndex) => {
122
+ if (sweptTradeIndices.has(requestIndex))
123
+ return [];
124
+ return [{
115
125
  requestIndex,
116
126
  trade,
117
- responseTrade: responseTrades[requestIndex],
118
- })),
119
- violations: [],
120
- };
121
- }
122
- const matchResult = tradePairs === undefined
123
- ? (0, trade_matching_1.matchTrades)(trades, responseTrades, quoteMode, true)
124
- : { pairs: tradePairs, violations: [] };
125
- return {
126
- items: matchResult.pairs.map(pair => ({
127
- requestIndex: pair.requestIndex,
128
- trade: pair.requestTrade,
129
- responseTrade: pair.responseTrade,
130
- })),
131
- violations: matchResult.violations,
132
- };
127
+ responseTrade: responseByRequestIndex.get(requestIndex),
128
+ }];
129
+ });
133
130
  }
134
131
  // Matches each response intent to its trade group.
135
132
  //
@@ -1 +1 @@
1
- {"version":3,"file":"trade-grouping.js","sourceRoot":"","sources":["../../../src/validations/trade-grouping.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trade-grouping.js","sourceRoot":"","sources":["../../../src/validations/trade-grouping.ts"],"names":[],"mappings":"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"}