@pushchain/core 4.0.14-alpha.0 → 5.1.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/CHANGELOG.md +6 -0
- package/package.json +1 -1
- package/src/lib/constants/abi/cea.evm.d.ts +23 -0
- package/src/lib/constants/abi/cea.evm.js +34 -0
- package/src/lib/constants/abi/cea.evm.js.map +1 -0
- package/src/lib/constants/abi/ceaFactory.evm.d.ts +65 -0
- package/src/lib/constants/abi/ceaFactory.evm.js +41 -0
- package/src/lib/constants/abi/ceaFactory.evm.js.map +1 -0
- package/src/lib/constants/abi/erc20.evm.d.ts +14 -0
- package/src/lib/constants/abi/erc20.evm.js +7 -0
- package/src/lib/constants/abi/erc20.evm.js.map +1 -1
- package/src/lib/constants/abi/index.d.ts +6 -0
- package/src/lib/constants/abi/index.js +15 -1
- package/src/lib/constants/abi/index.js.map +1 -1
- package/src/lib/constants/abi/prc20.evm.d.ts +188 -0
- package/src/lib/constants/abi/prc20.evm.js +130 -0
- package/src/lib/constants/abi/prc20.evm.js.map +1 -0
- package/src/lib/constants/abi/uea-factory.d.ts +30 -0
- package/src/lib/constants/abi/uea-factory.js +25 -0
- package/src/lib/constants/abi/uea-factory.js.map +1 -0
- package/src/lib/constants/abi/universalGateway.evm.d.ts +93 -0
- package/src/lib/constants/abi/universalGateway.evm.js +70 -0
- package/src/lib/constants/abi/universalGateway.evm.js.map +1 -0
- package/src/lib/constants/abi/universalGatewayPC.evm.d.ts +140 -0
- package/src/lib/constants/abi/universalGatewayPC.evm.js +70 -0
- package/src/lib/constants/abi/universalGatewayPC.evm.js.map +1 -0
- package/src/lib/constants/abi/universalGatewayV0.evm.js +57 -0
- package/src/lib/constants/abi/universalGatewayV0.evm.js.map +1 -1
- package/src/lib/constants/abi/universalGatewayV0.json +1162 -1647
- package/src/lib/constants/chain.d.ts +52 -0
- package/src/lib/constants/chain.js +161 -1
- package/src/lib/constants/chain.js.map +1 -1
- package/src/lib/constants/index.d.ts +9 -1
- package/src/lib/constants/index.js +20 -1
- package/src/lib/constants/index.js.map +1 -1
- package/src/lib/constants/selectors.d.ts +42 -0
- package/src/lib/constants/selectors.js +45 -0
- package/src/lib/constants/selectors.js.map +1 -0
- package/src/lib/constants/tokens.d.ts +41 -0
- package/src/lib/constants/tokens.js +62 -1
- package/src/lib/constants/tokens.js.map +1 -1
- package/src/lib/generated/uexecutor/v2/index.d.ts +2 -0
- package/src/lib/generated/uexecutor/v2/index.js +31 -0
- package/src/lib/generated/uexecutor/v2/index.js.map +1 -0
- package/src/lib/generated/uexecutor/v2/query.d.ts +23 -0
- package/src/lib/generated/uexecutor/v2/query.js +79 -0
- package/src/lib/generated/uexecutor/v2/query.js.map +1 -0
- package/src/lib/generated/uexecutor/v2/types.d.ts +101 -0
- package/src/lib/generated/uexecutor/v2/types.js +660 -0
- package/src/lib/generated/uexecutor/v2/types.js.map +1 -0
- package/src/lib/generated/v1/tx.d.ts +22 -0
- package/src/lib/generated/v1/tx.js +188 -1
- package/src/lib/generated/v1/tx.js.map +1 -1
- package/src/lib/index.d.ts +5 -0
- package/src/lib/index.js +25 -1
- package/src/lib/index.js.map +1 -1
- package/src/lib/orchestrator/cea-utils.d.ts +85 -0
- package/src/lib/orchestrator/cea-utils.js +186 -0
- package/src/lib/orchestrator/cea-utils.js.map +1 -0
- package/src/lib/orchestrator/orchestrator.d.ts +326 -3
- package/src/lib/orchestrator/orchestrator.js +3262 -135
- package/src/lib/orchestrator/orchestrator.js.map +1 -1
- package/src/lib/orchestrator/orchestrator.types.d.ts +487 -0
- package/src/lib/orchestrator/orchestrator.types.js +17 -0
- package/src/lib/orchestrator/orchestrator.types.js.map +1 -1
- package/src/lib/orchestrator/payload-builders.d.ts +210 -1
- package/src/lib/orchestrator/payload-builders.js +481 -0
- package/src/lib/orchestrator/payload-builders.js.map +1 -1
- package/src/lib/orchestrator/route-detector.d.ts +102 -0
- package/src/lib/orchestrator/route-detector.js +355 -0
- package/src/lib/orchestrator/route-detector.js.map +1 -0
- package/src/lib/price-fetch/price-fetch.js +5 -2
- package/src/lib/price-fetch/price-fetch.js.map +1 -1
- package/src/lib/progress-hook/progress-hook.js +43 -0
- package/src/lib/progress-hook/progress-hook.js.map +1 -1
- package/src/lib/progress-hook/progress-hook.types.d.ts +7 -1
- package/src/lib/progress-hook/progress-hook.types.js +7 -0
- package/src/lib/progress-hook/progress-hook.types.js.map +1 -1
- package/src/lib/push-chain/push-chain.d.ts +71 -1
- package/src/lib/push-chain/push-chain.js +70 -1
- package/src/lib/push-chain/push-chain.js.map +1 -1
- package/src/lib/push-client/push-client.d.ts +10 -1
- package/src/lib/push-client/push-client.js +35 -6
- package/src/lib/push-client/push-client.js.map +1 -1
- package/src/lib/vm-client/evm-client.d.ts +3 -1
- package/src/lib/vm-client/evm-client.js +23 -15
- package/src/lib/vm-client/evm-client.js.map +1 -1
|
@@ -8,25 +8,20 @@
|
|
|
8
8
|
},
|
|
9
9
|
"instructions": [
|
|
10
10
|
{
|
|
11
|
-
"name": "
|
|
11
|
+
"name": "finalize_universal_tx",
|
|
12
12
|
"docs": [
|
|
13
|
-
"@notice
|
|
14
|
-
"@param
|
|
15
|
-
"@param amount Amount of SOL to transfer to cea authority",
|
|
16
|
-
"@param target_program Target Solana program to invoke",
|
|
17
|
-
"@param sender EVM sender address (same as origin_caller in EVM)",
|
|
18
|
-
"@param accounts Ordered list of accounts for target program",
|
|
19
|
-
"@param ix_data Instruction data for target program"
|
|
13
|
+
"@notice Unified outbound entrypoint: withdraw (mode 1) or execute (mode 2)",
|
|
14
|
+
"@param instruction_id 1=withdraw (vault→CEA→recipient), 2=execute (vault→CEA→CPI)"
|
|
20
15
|
],
|
|
21
16
|
"discriminator": [
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
17
|
+
222,
|
|
18
|
+
91,
|
|
19
|
+
238,
|
|
20
|
+
150,
|
|
21
|
+
75,
|
|
22
|
+
216,
|
|
23
|
+
2,
|
|
24
|
+
80
|
|
30
25
|
],
|
|
31
26
|
"accounts": [
|
|
32
27
|
{
|
|
@@ -103,7 +98,7 @@
|
|
|
103
98
|
},
|
|
104
99
|
{
|
|
105
100
|
"kind": "arg",
|
|
106
|
-
"path": "
|
|
101
|
+
"path": "push_account"
|
|
107
102
|
}
|
|
108
103
|
]
|
|
109
104
|
}
|
|
@@ -121,14 +116,17 @@
|
|
|
121
116
|
115,
|
|
122
117
|
112,
|
|
123
118
|
100,
|
|
124
|
-
97
|
|
119
|
+
97,
|
|
120
|
+
95,
|
|
121
|
+
118,
|
|
122
|
+
50
|
|
125
123
|
]
|
|
126
124
|
}
|
|
127
125
|
]
|
|
128
126
|
}
|
|
129
127
|
},
|
|
130
128
|
{
|
|
131
|
-
"name": "
|
|
129
|
+
"name": "executed_sub_tx",
|
|
132
130
|
"docs": [
|
|
133
131
|
"Executed transaction tracker (replay protection)",
|
|
134
132
|
"Relayer pays for this account creation and gets reimbursed via gas_fee"
|
|
@@ -148,28 +146,119 @@
|
|
|
148
146
|
101,
|
|
149
147
|
100,
|
|
150
148
|
95,
|
|
149
|
+
115,
|
|
150
|
+
117,
|
|
151
|
+
98,
|
|
152
|
+
95,
|
|
151
153
|
116,
|
|
152
154
|
120
|
|
153
155
|
]
|
|
154
156
|
},
|
|
155
157
|
{
|
|
156
158
|
"kind": "arg",
|
|
157
|
-
"path": "
|
|
159
|
+
"path": "sub_tx_id"
|
|
158
160
|
}
|
|
159
161
|
]
|
|
160
162
|
}
|
|
161
163
|
},
|
|
162
|
-
{
|
|
163
|
-
"name": "destination_program"
|
|
164
|
-
},
|
|
165
164
|
{
|
|
166
165
|
"name": "system_program",
|
|
167
166
|
"address": "11111111111111111111111111111111"
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"name": "destination_program",
|
|
170
|
+
"docs": [
|
|
171
|
+
"Pass system program id for withdraw, it's ignored"
|
|
172
|
+
]
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"name": "recipient",
|
|
176
|
+
"writable": true,
|
|
177
|
+
"optional": true
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"name": "vault_ata",
|
|
181
|
+
"docs": [
|
|
182
|
+
"Vault ATA for this mint — always initialized (deposit path guarantees existence)"
|
|
183
|
+
],
|
|
184
|
+
"writable": true,
|
|
185
|
+
"optional": true
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"name": "cea_ata",
|
|
189
|
+
"writable": true,
|
|
190
|
+
"optional": true
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"name": "mint",
|
|
194
|
+
"optional": true
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"name": "token_program",
|
|
198
|
+
"optional": true,
|
|
199
|
+
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"name": "rent",
|
|
203
|
+
"optional": true,
|
|
204
|
+
"address": "SysvarRent111111111111111111111111111111111"
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
"name": "associated_token_program",
|
|
208
|
+
"optional": true,
|
|
209
|
+
"address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"name": "recipient_ata",
|
|
213
|
+
"writable": true,
|
|
214
|
+
"optional": true
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
"name": "rate_limit_config",
|
|
218
|
+
"optional": true,
|
|
219
|
+
"pda": {
|
|
220
|
+
"seeds": [
|
|
221
|
+
{
|
|
222
|
+
"kind": "const",
|
|
223
|
+
"value": [
|
|
224
|
+
114,
|
|
225
|
+
97,
|
|
226
|
+
116,
|
|
227
|
+
101,
|
|
228
|
+
95,
|
|
229
|
+
108,
|
|
230
|
+
105,
|
|
231
|
+
109,
|
|
232
|
+
105,
|
|
233
|
+
116,
|
|
234
|
+
95,
|
|
235
|
+
99,
|
|
236
|
+
111,
|
|
237
|
+
110,
|
|
238
|
+
102,
|
|
239
|
+
105,
|
|
240
|
+
103
|
|
241
|
+
]
|
|
242
|
+
}
|
|
243
|
+
]
|
|
244
|
+
}
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
"name": "token_rate_limit",
|
|
248
|
+
"docs": [
|
|
249
|
+
"Token-specific rate limit state (CEA withdrawal path only)"
|
|
250
|
+
],
|
|
251
|
+
"writable": true,
|
|
252
|
+
"optional": true
|
|
168
253
|
}
|
|
169
254
|
],
|
|
170
255
|
"args": [
|
|
171
256
|
{
|
|
172
|
-
"name": "
|
|
257
|
+
"name": "instruction_id",
|
|
258
|
+
"type": "u8"
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
"name": "sub_tx_id",
|
|
173
262
|
"type": {
|
|
174
263
|
"array": [
|
|
175
264
|
"u8",
|
|
@@ -178,15 +267,20 @@
|
|
|
178
267
|
}
|
|
179
268
|
},
|
|
180
269
|
{
|
|
181
|
-
"name": "
|
|
182
|
-
"type":
|
|
270
|
+
"name": "universal_tx_id",
|
|
271
|
+
"type": {
|
|
272
|
+
"array": [
|
|
273
|
+
"u8",
|
|
274
|
+
32
|
|
275
|
+
]
|
|
276
|
+
}
|
|
183
277
|
},
|
|
184
278
|
{
|
|
185
|
-
"name": "
|
|
186
|
-
"type": "
|
|
279
|
+
"name": "amount",
|
|
280
|
+
"type": "u64"
|
|
187
281
|
},
|
|
188
282
|
{
|
|
189
|
-
"name": "
|
|
283
|
+
"name": "push_account",
|
|
190
284
|
"type": {
|
|
191
285
|
"array": [
|
|
192
286
|
"u8",
|
|
@@ -195,14 +289,8 @@
|
|
|
195
289
|
}
|
|
196
290
|
},
|
|
197
291
|
{
|
|
198
|
-
"name": "
|
|
199
|
-
"type":
|
|
200
|
-
"vec": {
|
|
201
|
-
"defined": {
|
|
202
|
-
"name": "GatewayAccountMeta"
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
}
|
|
292
|
+
"name": "writable_flags",
|
|
293
|
+
"type": "bytes"
|
|
206
294
|
},
|
|
207
295
|
{
|
|
208
296
|
"name": "ix_data",
|
|
@@ -212,10 +300,6 @@
|
|
|
212
300
|
"name": "gas_fee",
|
|
213
301
|
"type": "u64"
|
|
214
302
|
},
|
|
215
|
-
{
|
|
216
|
-
"name": "rent_fee",
|
|
217
|
-
"type": "u64"
|
|
218
|
-
},
|
|
219
303
|
{
|
|
220
304
|
"name": "signature",
|
|
221
305
|
"type": {
|
|
@@ -237,39 +321,70 @@
|
|
|
237
321
|
32
|
|
238
322
|
]
|
|
239
323
|
}
|
|
240
|
-
},
|
|
241
|
-
{
|
|
242
|
-
"name": "nonce",
|
|
243
|
-
"type": "u64"
|
|
244
324
|
}
|
|
245
325
|
]
|
|
246
326
|
},
|
|
247
327
|
{
|
|
248
|
-
"name": "
|
|
328
|
+
"name": "get_sol_price",
|
|
249
329
|
"docs": [
|
|
250
|
-
"@notice
|
|
251
|
-
"@param tx_id Transaction ID from Push chain event",
|
|
252
|
-
"@param amount Amount of SPL tokens to transfer to cea ATA",
|
|
253
|
-
"@param target_program Target Solana program to invoke",
|
|
254
|
-
"@param sender EVM sender address (same as origin_caller in EVM)",
|
|
255
|
-
"@param accounts Ordered list of accounts for target program",
|
|
256
|
-
"@param ix_data Instruction data for target program"
|
|
330
|
+
"@notice View function for SOL price (locker-compatible)"
|
|
257
331
|
],
|
|
258
332
|
"discriminator": [
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
333
|
+
230,
|
|
334
|
+
145,
|
|
335
|
+
206,
|
|
336
|
+
175,
|
|
337
|
+
43,
|
|
338
|
+
184,
|
|
339
|
+
97,
|
|
340
|
+
110
|
|
267
341
|
],
|
|
268
342
|
"accounts": [
|
|
269
343
|
{
|
|
270
|
-
"name": "
|
|
344
|
+
"name": "price_update"
|
|
345
|
+
}
|
|
346
|
+
],
|
|
347
|
+
"args": [],
|
|
348
|
+
"returns": {
|
|
349
|
+
"defined": {
|
|
350
|
+
"name": "PriceData"
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
},
|
|
354
|
+
{
|
|
355
|
+
"name": "init_tss",
|
|
356
|
+
"discriminator": [
|
|
357
|
+
47,
|
|
358
|
+
31,
|
|
359
|
+
100,
|
|
360
|
+
111,
|
|
361
|
+
115,
|
|
362
|
+
2,
|
|
363
|
+
22,
|
|
364
|
+
208
|
|
365
|
+
],
|
|
366
|
+
"accounts": [
|
|
367
|
+
{
|
|
368
|
+
"name": "tss_pda",
|
|
271
369
|
"writable": true,
|
|
272
|
-
"
|
|
370
|
+
"pda": {
|
|
371
|
+
"seeds": [
|
|
372
|
+
{
|
|
373
|
+
"kind": "const",
|
|
374
|
+
"value": [
|
|
375
|
+
116,
|
|
376
|
+
115,
|
|
377
|
+
115,
|
|
378
|
+
112,
|
|
379
|
+
100,
|
|
380
|
+
97,
|
|
381
|
+
95,
|
|
382
|
+
118,
|
|
383
|
+
50
|
|
384
|
+
]
|
|
385
|
+
}
|
|
386
|
+
]
|
|
387
|
+
}
|
|
273
388
|
},
|
|
274
389
|
{
|
|
275
390
|
"name": "config",
|
|
@@ -290,103 +405,221 @@
|
|
|
290
405
|
}
|
|
291
406
|
},
|
|
292
407
|
{
|
|
293
|
-
"name": "
|
|
294
|
-
"
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
408
|
+
"name": "authority",
|
|
409
|
+
"writable": true,
|
|
410
|
+
"signer": true
|
|
411
|
+
},
|
|
412
|
+
{
|
|
413
|
+
"name": "system_program",
|
|
414
|
+
"address": "11111111111111111111111111111111"
|
|
415
|
+
}
|
|
416
|
+
],
|
|
417
|
+
"args": [
|
|
418
|
+
{
|
|
419
|
+
"name": "tss_eth_address",
|
|
420
|
+
"type": {
|
|
421
|
+
"array": [
|
|
422
|
+
"u8",
|
|
423
|
+
20
|
|
309
424
|
]
|
|
310
425
|
}
|
|
311
426
|
},
|
|
312
427
|
{
|
|
313
|
-
"name": "
|
|
314
|
-
"
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
428
|
+
"name": "chain_id",
|
|
429
|
+
"type": "string"
|
|
430
|
+
}
|
|
431
|
+
]
|
|
432
|
+
},
|
|
433
|
+
{
|
|
434
|
+
"name": "initialize",
|
|
435
|
+
"docs": [
|
|
436
|
+
"@notice Initialize the gateway"
|
|
437
|
+
],
|
|
438
|
+
"discriminator": [
|
|
439
|
+
175,
|
|
440
|
+
175,
|
|
441
|
+
109,
|
|
442
|
+
31,
|
|
443
|
+
13,
|
|
444
|
+
152,
|
|
445
|
+
155,
|
|
446
|
+
237
|
|
447
|
+
],
|
|
448
|
+
"accounts": [
|
|
319
449
|
{
|
|
320
|
-
"name": "
|
|
321
|
-
"docs": [
|
|
322
|
-
"CEA (Chain Executor Account) - persistent identity per Push Chain user",
|
|
323
|
-
"This PDA represents the user on Solana and can sign for target programs"
|
|
324
|
-
],
|
|
450
|
+
"name": "config",
|
|
325
451
|
"writable": true,
|
|
326
452
|
"pda": {
|
|
327
453
|
"seeds": [
|
|
328
454
|
{
|
|
329
455
|
"kind": "const",
|
|
330
456
|
"value": [
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
115,
|
|
334
|
-
104,
|
|
335
|
-
95,
|
|
336
|
-
105,
|
|
337
|
-
100,
|
|
338
|
-
101,
|
|
457
|
+
99,
|
|
458
|
+
111,
|
|
339
459
|
110,
|
|
340
|
-
|
|
460
|
+
102,
|
|
341
461
|
105,
|
|
342
|
-
|
|
343
|
-
121
|
|
462
|
+
103
|
|
344
463
|
]
|
|
345
|
-
},
|
|
346
|
-
{
|
|
347
|
-
"kind": "arg",
|
|
348
|
-
"path": "sender"
|
|
349
464
|
}
|
|
350
465
|
]
|
|
351
466
|
}
|
|
352
467
|
},
|
|
353
468
|
{
|
|
354
|
-
"name": "
|
|
355
|
-
"
|
|
356
|
-
|
|
357
|
-
"
|
|
358
|
-
|
|
359
|
-
|
|
469
|
+
"name": "vault",
|
|
470
|
+
"writable": true,
|
|
471
|
+
"pda": {
|
|
472
|
+
"seeds": [
|
|
473
|
+
{
|
|
474
|
+
"kind": "const",
|
|
475
|
+
"value": [
|
|
476
|
+
118,
|
|
477
|
+
97,
|
|
478
|
+
117,
|
|
479
|
+
108,
|
|
480
|
+
116
|
|
481
|
+
]
|
|
482
|
+
}
|
|
483
|
+
]
|
|
484
|
+
}
|
|
360
485
|
},
|
|
361
486
|
{
|
|
362
|
-
"name": "
|
|
363
|
-
"
|
|
364
|
-
|
|
365
|
-
]
|
|
487
|
+
"name": "admin",
|
|
488
|
+
"writable": true,
|
|
489
|
+
"signer": true
|
|
366
490
|
},
|
|
367
491
|
{
|
|
368
|
-
"name": "
|
|
492
|
+
"name": "system_program",
|
|
493
|
+
"address": "11111111111111111111111111111111"
|
|
494
|
+
}
|
|
495
|
+
],
|
|
496
|
+
"args": [
|
|
497
|
+
{
|
|
498
|
+
"name": "admin",
|
|
499
|
+
"type": "pubkey"
|
|
500
|
+
},
|
|
501
|
+
{
|
|
502
|
+
"name": "pauser",
|
|
503
|
+
"type": "pubkey"
|
|
504
|
+
},
|
|
505
|
+
{
|
|
506
|
+
"name": "tss",
|
|
507
|
+
"type": "pubkey"
|
|
508
|
+
},
|
|
509
|
+
{
|
|
510
|
+
"name": "min_cap_usd",
|
|
511
|
+
"type": "u128"
|
|
512
|
+
},
|
|
513
|
+
{
|
|
514
|
+
"name": "max_cap_usd",
|
|
515
|
+
"type": "u128"
|
|
516
|
+
},
|
|
517
|
+
{
|
|
518
|
+
"name": "pyth_price_feed",
|
|
519
|
+
"type": "pubkey"
|
|
520
|
+
}
|
|
521
|
+
]
|
|
522
|
+
},
|
|
523
|
+
{
|
|
524
|
+
"name": "pause",
|
|
525
|
+
"docs": [
|
|
526
|
+
"@notice Pause the gateway"
|
|
527
|
+
],
|
|
528
|
+
"discriminator": [
|
|
529
|
+
211,
|
|
530
|
+
22,
|
|
531
|
+
221,
|
|
532
|
+
251,
|
|
533
|
+
74,
|
|
534
|
+
121,
|
|
535
|
+
193,
|
|
536
|
+
47
|
|
537
|
+
],
|
|
538
|
+
"accounts": [
|
|
539
|
+
{
|
|
540
|
+
"name": "config",
|
|
369
541
|
"writable": true,
|
|
370
542
|
"pda": {
|
|
371
543
|
"seeds": [
|
|
372
544
|
{
|
|
373
545
|
"kind": "const",
|
|
374
546
|
"value": [
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
547
|
+
99,
|
|
548
|
+
111,
|
|
549
|
+
110,
|
|
550
|
+
102,
|
|
551
|
+
105,
|
|
552
|
+
103
|
|
381
553
|
]
|
|
382
554
|
}
|
|
383
555
|
]
|
|
384
556
|
}
|
|
385
557
|
},
|
|
386
558
|
{
|
|
387
|
-
"name": "
|
|
559
|
+
"name": "pauser",
|
|
560
|
+
"signer": true
|
|
561
|
+
}
|
|
562
|
+
],
|
|
563
|
+
"args": []
|
|
564
|
+
},
|
|
565
|
+
{
|
|
566
|
+
"name": "rescue_funds",
|
|
567
|
+
"docs": [
|
|
568
|
+
"@notice TSS-verified emergency rescue of locked funds from vault.",
|
|
569
|
+
"SOL path: token_mint = None. SPL path: token_mint = Some.",
|
|
570
|
+
"Replay-protected via ExecutedSubTx PDA"
|
|
571
|
+
],
|
|
572
|
+
"discriminator": [
|
|
573
|
+
238,
|
|
574
|
+
204,
|
|
575
|
+
8,
|
|
576
|
+
81,
|
|
577
|
+
89,
|
|
578
|
+
43,
|
|
579
|
+
193,
|
|
580
|
+
103
|
|
581
|
+
],
|
|
582
|
+
"accounts": [
|
|
583
|
+
{
|
|
584
|
+
"name": "config",
|
|
585
|
+
"pda": {
|
|
586
|
+
"seeds": [
|
|
587
|
+
{
|
|
588
|
+
"kind": "const",
|
|
589
|
+
"value": [
|
|
590
|
+
99,
|
|
591
|
+
111,
|
|
592
|
+
110,
|
|
593
|
+
102,
|
|
594
|
+
105,
|
|
595
|
+
103
|
|
596
|
+
]
|
|
597
|
+
}
|
|
598
|
+
]
|
|
599
|
+
}
|
|
600
|
+
},
|
|
601
|
+
{
|
|
602
|
+
"name": "vault",
|
|
603
|
+
"writable": true,
|
|
604
|
+
"pda": {
|
|
605
|
+
"seeds": [
|
|
606
|
+
{
|
|
607
|
+
"kind": "const",
|
|
608
|
+
"value": [
|
|
609
|
+
118,
|
|
610
|
+
97,
|
|
611
|
+
117,
|
|
612
|
+
108,
|
|
613
|
+
116
|
|
614
|
+
]
|
|
615
|
+
}
|
|
616
|
+
]
|
|
617
|
+
}
|
|
618
|
+
},
|
|
619
|
+
{
|
|
620
|
+
"name": "fee_vault",
|
|
388
621
|
"docs": [
|
|
389
|
-
"
|
|
622
|
+
"Fee vault — relayer gas reimbursement source."
|
|
390
623
|
],
|
|
391
624
|
"writable": true,
|
|
392
625
|
"pda": {
|
|
@@ -394,6 +627,10 @@
|
|
|
394
627
|
{
|
|
395
628
|
"kind": "const",
|
|
396
629
|
"value": [
|
|
630
|
+
102,
|
|
631
|
+
101,
|
|
632
|
+
101,
|
|
633
|
+
95,
|
|
397
634
|
118,
|
|
398
635
|
97,
|
|
399
636
|
117,
|
|
@@ -405,10 +642,38 @@
|
|
|
405
642
|
}
|
|
406
643
|
},
|
|
407
644
|
{
|
|
408
|
-
"name": "
|
|
645
|
+
"name": "tss_pda",
|
|
646
|
+
"writable": true,
|
|
647
|
+
"pda": {
|
|
648
|
+
"seeds": [
|
|
649
|
+
{
|
|
650
|
+
"kind": "const",
|
|
651
|
+
"value": [
|
|
652
|
+
116,
|
|
653
|
+
115,
|
|
654
|
+
115,
|
|
655
|
+
112,
|
|
656
|
+
100,
|
|
657
|
+
97,
|
|
658
|
+
95,
|
|
659
|
+
118,
|
|
660
|
+
50
|
|
661
|
+
]
|
|
662
|
+
}
|
|
663
|
+
]
|
|
664
|
+
}
|
|
665
|
+
},
|
|
666
|
+
{
|
|
667
|
+
"name": "recipient",
|
|
409
668
|
"docs": [
|
|
410
|
-
"
|
|
411
|
-
|
|
669
|
+
"recipient_token_account.owner and used as the canonical identity in the TSS message."
|
|
670
|
+
],
|
|
671
|
+
"writable": true
|
|
672
|
+
},
|
|
673
|
+
{
|
|
674
|
+
"name": "executed_sub_tx",
|
|
675
|
+
"docs": [
|
|
676
|
+
"Replay protection (EVM parity: isExecuted[subTxId])."
|
|
412
677
|
],
|
|
413
678
|
"writable": true,
|
|
414
679
|
"pda": {
|
|
@@ -425,40 +690,62 @@
|
|
|
425
690
|
101,
|
|
426
691
|
100,
|
|
427
692
|
95,
|
|
693
|
+
115,
|
|
694
|
+
117,
|
|
695
|
+
98,
|
|
696
|
+
95,
|
|
428
697
|
116,
|
|
429
698
|
120
|
|
430
699
|
]
|
|
431
700
|
},
|
|
432
701
|
{
|
|
433
702
|
"kind": "arg",
|
|
434
|
-
"path": "
|
|
703
|
+
"path": "sub_tx_id"
|
|
435
704
|
}
|
|
436
705
|
]
|
|
437
706
|
}
|
|
438
707
|
},
|
|
439
708
|
{
|
|
440
|
-
"name": "
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
"
|
|
709
|
+
"name": "caller",
|
|
710
|
+
"docs": [
|
|
711
|
+
"The caller/relayer — pays transaction fees, receives gas_fee reimbursement."
|
|
712
|
+
],
|
|
713
|
+
"writable": true,
|
|
714
|
+
"signer": true
|
|
445
715
|
},
|
|
446
716
|
{
|
|
447
717
|
"name": "system_program",
|
|
448
718
|
"address": "11111111111111111111111111111111"
|
|
449
719
|
},
|
|
450
720
|
{
|
|
451
|
-
"name": "
|
|
452
|
-
"
|
|
721
|
+
"name": "token_vault",
|
|
722
|
+
"docs": [
|
|
723
|
+
"Vault ATA for this mint — holds bridged SPL tokens."
|
|
724
|
+
],
|
|
725
|
+
"writable": true,
|
|
726
|
+
"optional": true
|
|
453
727
|
},
|
|
454
728
|
{
|
|
455
|
-
"name": "
|
|
456
|
-
"
|
|
729
|
+
"name": "recipient_token_account",
|
|
730
|
+
"docs": [
|
|
731
|
+
"Recipient token account — must be owned by recipient and match token_mint."
|
|
732
|
+
],
|
|
733
|
+
"writable": true,
|
|
734
|
+
"optional": true
|
|
735
|
+
},
|
|
736
|
+
{
|
|
737
|
+
"name": "token_mint",
|
|
738
|
+
"optional": true
|
|
739
|
+
},
|
|
740
|
+
{
|
|
741
|
+
"name": "token_program",
|
|
742
|
+
"optional": true,
|
|
743
|
+
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
|
|
457
744
|
}
|
|
458
745
|
],
|
|
459
746
|
"args": [
|
|
460
747
|
{
|
|
461
|
-
"name": "
|
|
748
|
+
"name": "sub_tx_id",
|
|
462
749
|
"type": {
|
|
463
750
|
"array": [
|
|
464
751
|
"u8",
|
|
@@ -467,42 +754,20 @@
|
|
|
467
754
|
}
|
|
468
755
|
},
|
|
469
756
|
{
|
|
470
|
-
"name": "
|
|
471
|
-
"type": "u64"
|
|
472
|
-
},
|
|
473
|
-
{
|
|
474
|
-
"name": "target_program",
|
|
475
|
-
"type": "pubkey"
|
|
476
|
-
},
|
|
477
|
-
{
|
|
478
|
-
"name": "sender",
|
|
757
|
+
"name": "universal_tx_id",
|
|
479
758
|
"type": {
|
|
480
759
|
"array": [
|
|
481
760
|
"u8",
|
|
482
|
-
|
|
761
|
+
32
|
|
483
762
|
]
|
|
484
763
|
}
|
|
485
764
|
},
|
|
486
765
|
{
|
|
487
|
-
"name": "
|
|
488
|
-
"type": {
|
|
489
|
-
"vec": {
|
|
490
|
-
"defined": {
|
|
491
|
-
"name": "GatewayAccountMeta"
|
|
492
|
-
}
|
|
493
|
-
}
|
|
494
|
-
}
|
|
495
|
-
},
|
|
496
|
-
{
|
|
497
|
-
"name": "ix_data",
|
|
498
|
-
"type": "bytes"
|
|
499
|
-
},
|
|
500
|
-
{
|
|
501
|
-
"name": "gas_fee",
|
|
766
|
+
"name": "amount",
|
|
502
767
|
"type": "u64"
|
|
503
768
|
},
|
|
504
769
|
{
|
|
505
|
-
"name": "
|
|
770
|
+
"name": "gas_fee",
|
|
506
771
|
"type": "u64"
|
|
507
772
|
},
|
|
508
773
|
{
|
|
@@ -526,136 +791,28 @@
|
|
|
526
791
|
32
|
|
527
792
|
]
|
|
528
793
|
}
|
|
529
|
-
},
|
|
530
|
-
{
|
|
531
|
-
"name": "nonce",
|
|
532
|
-
"type": "u64"
|
|
533
794
|
}
|
|
534
795
|
]
|
|
535
796
|
},
|
|
536
797
|
{
|
|
537
|
-
"name": "
|
|
798
|
+
"name": "revert_universal_tx",
|
|
538
799
|
"docs": [
|
|
539
|
-
"@notice
|
|
540
|
-
"
|
|
800
|
+
"@notice TSS-verified unified revert (SOL and SPL) — EVM parity: `revertUniversalTx`.",
|
|
801
|
+
"SOL path: token_mint = None. SPL path: token_mint = Some."
|
|
541
802
|
],
|
|
542
803
|
"discriminator": [
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
],
|
|
552
|
-
"accounts": [
|
|
553
|
-
{
|
|
554
|
-
"name": "price_update"
|
|
555
|
-
}
|
|
556
|
-
],
|
|
557
|
-
"args": [],
|
|
558
|
-
"returns": {
|
|
559
|
-
"defined": {
|
|
560
|
-
"name": "PriceData"
|
|
561
|
-
}
|
|
562
|
-
}
|
|
563
|
-
},
|
|
564
|
-
{
|
|
565
|
-
"name": "init_tss",
|
|
566
|
-
"discriminator": [
|
|
567
|
-
47,
|
|
568
|
-
31,
|
|
569
|
-
100,
|
|
570
|
-
111,
|
|
571
|
-
115,
|
|
572
|
-
2,
|
|
573
|
-
22,
|
|
574
|
-
208
|
|
575
|
-
],
|
|
576
|
-
"accounts": [
|
|
577
|
-
{
|
|
578
|
-
"name": "tss_pda",
|
|
579
|
-
"writable": true,
|
|
580
|
-
"pda": {
|
|
581
|
-
"seeds": [
|
|
582
|
-
{
|
|
583
|
-
"kind": "const",
|
|
584
|
-
"value": [
|
|
585
|
-
116,
|
|
586
|
-
115,
|
|
587
|
-
115,
|
|
588
|
-
112,
|
|
589
|
-
100,
|
|
590
|
-
97
|
|
591
|
-
]
|
|
592
|
-
}
|
|
593
|
-
]
|
|
594
|
-
}
|
|
595
|
-
},
|
|
596
|
-
{
|
|
597
|
-
"name": "config",
|
|
598
|
-
"pda": {
|
|
599
|
-
"seeds": [
|
|
600
|
-
{
|
|
601
|
-
"kind": "const",
|
|
602
|
-
"value": [
|
|
603
|
-
99,
|
|
604
|
-
111,
|
|
605
|
-
110,
|
|
606
|
-
102,
|
|
607
|
-
105,
|
|
608
|
-
103
|
|
609
|
-
]
|
|
610
|
-
}
|
|
611
|
-
]
|
|
612
|
-
}
|
|
613
|
-
},
|
|
614
|
-
{
|
|
615
|
-
"name": "authority",
|
|
616
|
-
"writable": true,
|
|
617
|
-
"signer": true
|
|
618
|
-
},
|
|
619
|
-
{
|
|
620
|
-
"name": "system_program",
|
|
621
|
-
"address": "11111111111111111111111111111111"
|
|
622
|
-
}
|
|
623
|
-
],
|
|
624
|
-
"args": [
|
|
625
|
-
{
|
|
626
|
-
"name": "tss_eth_address",
|
|
627
|
-
"type": {
|
|
628
|
-
"array": [
|
|
629
|
-
"u8",
|
|
630
|
-
20
|
|
631
|
-
]
|
|
632
|
-
}
|
|
633
|
-
},
|
|
634
|
-
{
|
|
635
|
-
"name": "chain_id",
|
|
636
|
-
"type": "string"
|
|
637
|
-
}
|
|
638
|
-
]
|
|
639
|
-
},
|
|
640
|
-
{
|
|
641
|
-
"name": "initialize",
|
|
642
|
-
"docs": [
|
|
643
|
-
"@notice Initialize the gateway"
|
|
644
|
-
],
|
|
645
|
-
"discriminator": [
|
|
646
|
-
175,
|
|
647
|
-
175,
|
|
648
|
-
109,
|
|
649
|
-
31,
|
|
650
|
-
13,
|
|
651
|
-
152,
|
|
652
|
-
155,
|
|
653
|
-
237
|
|
804
|
+
124,
|
|
805
|
+
49,
|
|
806
|
+
81,
|
|
807
|
+
233,
|
|
808
|
+
23,
|
|
809
|
+
147,
|
|
810
|
+
82,
|
|
811
|
+
122
|
|
654
812
|
],
|
|
655
813
|
"accounts": [
|
|
656
814
|
{
|
|
657
815
|
"name": "config",
|
|
658
|
-
"writable": true,
|
|
659
816
|
"pda": {
|
|
660
817
|
"seeds": [
|
|
661
818
|
{
|
|
@@ -691,325 +848,144 @@
|
|
|
691
848
|
}
|
|
692
849
|
},
|
|
693
850
|
{
|
|
694
|
-
"name": "
|
|
695
|
-
"
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
{
|
|
699
|
-
"name": "system_program",
|
|
700
|
-
"address": "11111111111111111111111111111111"
|
|
701
|
-
}
|
|
702
|
-
],
|
|
703
|
-
"args": [
|
|
704
|
-
{
|
|
705
|
-
"name": "admin",
|
|
706
|
-
"type": "pubkey"
|
|
707
|
-
},
|
|
708
|
-
{
|
|
709
|
-
"name": "pauser",
|
|
710
|
-
"type": "pubkey"
|
|
711
|
-
},
|
|
712
|
-
{
|
|
713
|
-
"name": "tss",
|
|
714
|
-
"type": "pubkey"
|
|
715
|
-
},
|
|
716
|
-
{
|
|
717
|
-
"name": "min_cap_usd",
|
|
718
|
-
"type": "u128"
|
|
719
|
-
},
|
|
720
|
-
{
|
|
721
|
-
"name": "max_cap_usd",
|
|
722
|
-
"type": "u128"
|
|
723
|
-
},
|
|
724
|
-
{
|
|
725
|
-
"name": "pyth_price_feed",
|
|
726
|
-
"type": "pubkey"
|
|
727
|
-
}
|
|
728
|
-
]
|
|
729
|
-
},
|
|
730
|
-
{
|
|
731
|
-
"name": "pause",
|
|
732
|
-
"docs": [
|
|
733
|
-
"@notice Pause the gateway"
|
|
734
|
-
],
|
|
735
|
-
"discriminator": [
|
|
736
|
-
211,
|
|
737
|
-
22,
|
|
738
|
-
221,
|
|
739
|
-
251,
|
|
740
|
-
74,
|
|
741
|
-
121,
|
|
742
|
-
193,
|
|
743
|
-
47
|
|
744
|
-
],
|
|
745
|
-
"accounts": [
|
|
746
|
-
{
|
|
747
|
-
"name": "config",
|
|
851
|
+
"name": "fee_vault",
|
|
852
|
+
"docs": [
|
|
853
|
+
"Fee vault — relayer gas reimbursement source."
|
|
854
|
+
],
|
|
748
855
|
"writable": true,
|
|
749
856
|
"pda": {
|
|
750
857
|
"seeds": [
|
|
751
858
|
{
|
|
752
859
|
"kind": "const",
|
|
753
860
|
"value": [
|
|
754
|
-
99,
|
|
755
|
-
111,
|
|
756
|
-
110,
|
|
757
861
|
102,
|
|
758
|
-
|
|
759
|
-
|
|
862
|
+
101,
|
|
863
|
+
101,
|
|
864
|
+
95,
|
|
865
|
+
118,
|
|
866
|
+
97,
|
|
867
|
+
117,
|
|
868
|
+
108,
|
|
869
|
+
116
|
|
760
870
|
]
|
|
761
871
|
}
|
|
762
872
|
]
|
|
763
873
|
}
|
|
764
874
|
},
|
|
765
875
|
{
|
|
766
|
-
"name": "
|
|
767
|
-
"signer": true
|
|
768
|
-
}
|
|
769
|
-
],
|
|
770
|
-
"args": []
|
|
771
|
-
},
|
|
772
|
-
{
|
|
773
|
-
"name": "remove_whitelist_token",
|
|
774
|
-
"docs": [
|
|
775
|
-
"@notice Remove token from whitelist"
|
|
776
|
-
],
|
|
777
|
-
"discriminator": [
|
|
778
|
-
65,
|
|
779
|
-
182,
|
|
780
|
-
42,
|
|
781
|
-
255,
|
|
782
|
-
198,
|
|
783
|
-
163,
|
|
784
|
-
73,
|
|
785
|
-
46
|
|
786
|
-
],
|
|
787
|
-
"accounts": [
|
|
788
|
-
{
|
|
789
|
-
"name": "config",
|
|
876
|
+
"name": "tss_pda",
|
|
790
877
|
"writable": true,
|
|
791
878
|
"pda": {
|
|
792
879
|
"seeds": [
|
|
793
880
|
{
|
|
794
881
|
"kind": "const",
|
|
795
882
|
"value": [
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
883
|
+
116,
|
|
884
|
+
115,
|
|
885
|
+
115,
|
|
886
|
+
112,
|
|
887
|
+
100,
|
|
888
|
+
97,
|
|
889
|
+
95,
|
|
890
|
+
118,
|
|
891
|
+
50
|
|
802
892
|
]
|
|
803
893
|
}
|
|
804
894
|
]
|
|
805
895
|
}
|
|
806
896
|
},
|
|
807
897
|
{
|
|
808
|
-
"name": "
|
|
898
|
+
"name": "recipient",
|
|
899
|
+
"docs": [
|
|
900
|
+
"recipient_token_account.owner and used as canonical identity in TSS message."
|
|
901
|
+
],
|
|
902
|
+
"writable": true
|
|
903
|
+
},
|
|
904
|
+
{
|
|
905
|
+
"name": "executed_sub_tx",
|
|
906
|
+
"docs": [
|
|
907
|
+
"Replay protection (EVM parity: isExecuted[subTxId])."
|
|
908
|
+
],
|
|
809
909
|
"writable": true,
|
|
810
910
|
"pda": {
|
|
811
911
|
"seeds": [
|
|
812
912
|
{
|
|
813
913
|
"kind": "const",
|
|
814
914
|
"value": [
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
915
|
+
101,
|
|
916
|
+
120,
|
|
917
|
+
101,
|
|
918
|
+
99,
|
|
919
|
+
117,
|
|
818
920
|
116,
|
|
819
921
|
101,
|
|
820
|
-
|
|
821
|
-
|
|
922
|
+
100,
|
|
923
|
+
95,
|
|
822
924
|
115,
|
|
823
|
-
|
|
925
|
+
117,
|
|
926
|
+
98,
|
|
927
|
+
95,
|
|
928
|
+
116,
|
|
929
|
+
120
|
|
824
930
|
]
|
|
931
|
+
},
|
|
932
|
+
{
|
|
933
|
+
"kind": "arg",
|
|
934
|
+
"path": "sub_tx_id"
|
|
825
935
|
}
|
|
826
936
|
]
|
|
827
937
|
}
|
|
828
938
|
},
|
|
829
939
|
{
|
|
830
|
-
"name": "
|
|
940
|
+
"name": "caller",
|
|
941
|
+
"docs": [
|
|
942
|
+
"The caller/relayer — pays transaction fees, receives gas_fee reimbursement."
|
|
943
|
+
],
|
|
831
944
|
"writable": true,
|
|
832
945
|
"signer": true
|
|
833
946
|
},
|
|
834
947
|
{
|
|
835
948
|
"name": "system_program",
|
|
836
949
|
"address": "11111111111111111111111111111111"
|
|
837
|
-
}
|
|
838
|
-
],
|
|
839
|
-
"args": [
|
|
950
|
+
},
|
|
840
951
|
{
|
|
841
|
-
"name": "
|
|
842
|
-
"
|
|
952
|
+
"name": "token_vault",
|
|
953
|
+
"docs": [
|
|
954
|
+
"Vault ATA for this mint — holds bridged SPL tokens."
|
|
955
|
+
],
|
|
956
|
+
"writable": true,
|
|
957
|
+
"optional": true
|
|
958
|
+
},
|
|
959
|
+
{
|
|
960
|
+
"name": "recipient_token_account",
|
|
961
|
+
"docs": [
|
|
962
|
+
"Recipient token account — must be owned by recipient and match token_mint."
|
|
963
|
+
],
|
|
964
|
+
"writable": true,
|
|
965
|
+
"optional": true
|
|
966
|
+
},
|
|
967
|
+
{
|
|
968
|
+
"name": "token_mint",
|
|
969
|
+
"optional": true
|
|
970
|
+
},
|
|
971
|
+
{
|
|
972
|
+
"name": "token_program",
|
|
973
|
+
"optional": true,
|
|
974
|
+
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
|
|
843
975
|
}
|
|
844
|
-
]
|
|
845
|
-
},
|
|
846
|
-
{
|
|
847
|
-
"name": "reset_nonce",
|
|
848
|
-
"discriminator": [
|
|
849
|
-
104,
|
|
850
|
-
139,
|
|
851
|
-
110,
|
|
852
|
-
85,
|
|
853
|
-
234,
|
|
854
|
-
155,
|
|
855
|
-
132,
|
|
856
|
-
248
|
|
857
976
|
],
|
|
858
|
-
"
|
|
977
|
+
"args": [
|
|
859
978
|
{
|
|
860
|
-
"name": "
|
|
861
|
-
"
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
"kind": "const",
|
|
866
|
-
"value": [
|
|
867
|
-
116,
|
|
868
|
-
115,
|
|
869
|
-
115,
|
|
870
|
-
112,
|
|
871
|
-
100,
|
|
872
|
-
97
|
|
873
|
-
]
|
|
874
|
-
}
|
|
875
|
-
]
|
|
876
|
-
}
|
|
877
|
-
},
|
|
878
|
-
{
|
|
879
|
-
"name": "authority",
|
|
880
|
-
"signer": true
|
|
881
|
-
}
|
|
882
|
-
],
|
|
883
|
-
"args": [
|
|
884
|
-
{
|
|
885
|
-
"name": "new_nonce",
|
|
886
|
-
"type": "u64"
|
|
887
|
-
}
|
|
888
|
-
]
|
|
889
|
-
},
|
|
890
|
-
{
|
|
891
|
-
"name": "revert_universal_tx",
|
|
892
|
-
"docs": [
|
|
893
|
-
"@notice TSS-verified revert withdraw for SOL (EVM parity: `revertUniversalTx`)",
|
|
894
|
-
"@param tx_id Transaction ID for tracking"
|
|
895
|
-
],
|
|
896
|
-
"discriminator": [
|
|
897
|
-
124,
|
|
898
|
-
49,
|
|
899
|
-
81,
|
|
900
|
-
233,
|
|
901
|
-
23,
|
|
902
|
-
147,
|
|
903
|
-
82,
|
|
904
|
-
122
|
|
905
|
-
],
|
|
906
|
-
"accounts": [
|
|
907
|
-
{
|
|
908
|
-
"name": "config",
|
|
909
|
-
"pda": {
|
|
910
|
-
"seeds": [
|
|
911
|
-
{
|
|
912
|
-
"kind": "const",
|
|
913
|
-
"value": [
|
|
914
|
-
99,
|
|
915
|
-
111,
|
|
916
|
-
110,
|
|
917
|
-
102,
|
|
918
|
-
105,
|
|
919
|
-
103
|
|
920
|
-
]
|
|
921
|
-
}
|
|
922
|
-
]
|
|
923
|
-
}
|
|
924
|
-
},
|
|
925
|
-
{
|
|
926
|
-
"name": "vault",
|
|
927
|
-
"writable": true,
|
|
928
|
-
"pda": {
|
|
929
|
-
"seeds": [
|
|
930
|
-
{
|
|
931
|
-
"kind": "const",
|
|
932
|
-
"value": [
|
|
933
|
-
118,
|
|
934
|
-
97,
|
|
935
|
-
117,
|
|
936
|
-
108,
|
|
937
|
-
116
|
|
938
|
-
]
|
|
939
|
-
}
|
|
940
|
-
]
|
|
941
|
-
}
|
|
942
|
-
},
|
|
943
|
-
{
|
|
944
|
-
"name": "tss_pda",
|
|
945
|
-
"writable": true,
|
|
946
|
-
"pda": {
|
|
947
|
-
"seeds": [
|
|
948
|
-
{
|
|
949
|
-
"kind": "const",
|
|
950
|
-
"value": [
|
|
951
|
-
116,
|
|
952
|
-
115,
|
|
953
|
-
115,
|
|
954
|
-
112,
|
|
955
|
-
100,
|
|
956
|
-
97
|
|
957
|
-
]
|
|
958
|
-
}
|
|
959
|
-
]
|
|
960
|
-
}
|
|
961
|
-
},
|
|
962
|
-
{
|
|
963
|
-
"name": "recipient",
|
|
964
|
-
"writable": true
|
|
965
|
-
},
|
|
966
|
-
{
|
|
967
|
-
"name": "executed_tx",
|
|
968
|
-
"docs": [
|
|
969
|
-
"Executed transaction tracker (EVM parity: isExecuted[txID])"
|
|
970
|
-
],
|
|
971
|
-
"writable": true,
|
|
972
|
-
"pda": {
|
|
973
|
-
"seeds": [
|
|
974
|
-
{
|
|
975
|
-
"kind": "const",
|
|
976
|
-
"value": [
|
|
977
|
-
101,
|
|
978
|
-
120,
|
|
979
|
-
101,
|
|
980
|
-
99,
|
|
981
|
-
117,
|
|
982
|
-
116,
|
|
983
|
-
101,
|
|
984
|
-
100,
|
|
985
|
-
95,
|
|
986
|
-
116,
|
|
987
|
-
120
|
|
988
|
-
]
|
|
989
|
-
},
|
|
990
|
-
{
|
|
991
|
-
"kind": "arg",
|
|
992
|
-
"path": "tx_id"
|
|
993
|
-
}
|
|
979
|
+
"name": "sub_tx_id",
|
|
980
|
+
"type": {
|
|
981
|
+
"array": [
|
|
982
|
+
"u8",
|
|
983
|
+
32
|
|
994
984
|
]
|
|
995
985
|
}
|
|
996
986
|
},
|
|
997
987
|
{
|
|
998
|
-
"name": "
|
|
999
|
-
"docs": [
|
|
1000
|
-
"The caller/relayer who pays for the transaction (including executed_tx account creation)"
|
|
1001
|
-
],
|
|
1002
|
-
"writable": true,
|
|
1003
|
-
"signer": true
|
|
1004
|
-
},
|
|
1005
|
-
{
|
|
1006
|
-
"name": "system_program",
|
|
1007
|
-
"address": "11111111111111111111111111111111"
|
|
1008
|
-
}
|
|
1009
|
-
],
|
|
1010
|
-
"args": [
|
|
1011
|
-
{
|
|
1012
|
-
"name": "tx_id",
|
|
988
|
+
"name": "universal_tx_id",
|
|
1013
989
|
"type": {
|
|
1014
990
|
"array": [
|
|
1015
991
|
"u8",
|
|
@@ -1054,231 +1030,15 @@
|
|
|
1054
1030
|
32
|
|
1055
1031
|
]
|
|
1056
1032
|
}
|
|
1057
|
-
},
|
|
1058
|
-
{
|
|
1059
|
-
"name": "nonce",
|
|
1060
|
-
"type": "u64"
|
|
1061
1033
|
}
|
|
1062
1034
|
]
|
|
1063
1035
|
},
|
|
1064
1036
|
{
|
|
1065
|
-
"name": "
|
|
1037
|
+
"name": "send_universal_tx",
|
|
1066
1038
|
"docs": [
|
|
1067
|
-
"@notice
|
|
1068
|
-
"@
|
|
1069
|
-
|
|
1070
|
-
"discriminator": [
|
|
1071
|
-
139,
|
|
1072
|
-
196,
|
|
1073
|
-
1,
|
|
1074
|
-
242,
|
|
1075
|
-
109,
|
|
1076
|
-
31,
|
|
1077
|
-
98,
|
|
1078
|
-
32
|
|
1079
|
-
],
|
|
1080
|
-
"accounts": [
|
|
1081
|
-
{
|
|
1082
|
-
"name": "config",
|
|
1083
|
-
"pda": {
|
|
1084
|
-
"seeds": [
|
|
1085
|
-
{
|
|
1086
|
-
"kind": "const",
|
|
1087
|
-
"value": [
|
|
1088
|
-
99,
|
|
1089
|
-
111,
|
|
1090
|
-
110,
|
|
1091
|
-
102,
|
|
1092
|
-
105,
|
|
1093
|
-
103
|
|
1094
|
-
]
|
|
1095
|
-
}
|
|
1096
|
-
]
|
|
1097
|
-
}
|
|
1098
|
-
},
|
|
1099
|
-
{
|
|
1100
|
-
"name": "whitelist"
|
|
1101
|
-
},
|
|
1102
|
-
{
|
|
1103
|
-
"name": "vault",
|
|
1104
|
-
"writable": true,
|
|
1105
|
-
"pda": {
|
|
1106
|
-
"seeds": [
|
|
1107
|
-
{
|
|
1108
|
-
"kind": "const",
|
|
1109
|
-
"value": [
|
|
1110
|
-
118,
|
|
1111
|
-
97,
|
|
1112
|
-
117,
|
|
1113
|
-
108,
|
|
1114
|
-
116
|
|
1115
|
-
]
|
|
1116
|
-
}
|
|
1117
|
-
]
|
|
1118
|
-
}
|
|
1119
|
-
},
|
|
1120
|
-
{
|
|
1121
|
-
"name": "token_vault",
|
|
1122
|
-
"writable": true
|
|
1123
|
-
},
|
|
1124
|
-
{
|
|
1125
|
-
"name": "tss_pda",
|
|
1126
|
-
"writable": true,
|
|
1127
|
-
"pda": {
|
|
1128
|
-
"seeds": [
|
|
1129
|
-
{
|
|
1130
|
-
"kind": "const",
|
|
1131
|
-
"value": [
|
|
1132
|
-
116,
|
|
1133
|
-
115,
|
|
1134
|
-
115,
|
|
1135
|
-
112,
|
|
1136
|
-
100,
|
|
1137
|
-
97
|
|
1138
|
-
]
|
|
1139
|
-
}
|
|
1140
|
-
]
|
|
1141
|
-
}
|
|
1142
|
-
},
|
|
1143
|
-
{
|
|
1144
|
-
"name": "recipient_token_account",
|
|
1145
|
-
"docs": [
|
|
1146
|
-
"Recipient token account (ATA for fund_recipient + token_mint)"
|
|
1147
|
-
],
|
|
1148
|
-
"writable": true
|
|
1149
|
-
},
|
|
1150
|
-
{
|
|
1151
|
-
"name": "token_mint"
|
|
1152
|
-
},
|
|
1153
|
-
{
|
|
1154
|
-
"name": "executed_tx",
|
|
1155
|
-
"docs": [
|
|
1156
|
-
"Executed transaction tracker (EVM parity: isExecuted[txID])"
|
|
1157
|
-
],
|
|
1158
|
-
"writable": true,
|
|
1159
|
-
"pda": {
|
|
1160
|
-
"seeds": [
|
|
1161
|
-
{
|
|
1162
|
-
"kind": "const",
|
|
1163
|
-
"value": [
|
|
1164
|
-
101,
|
|
1165
|
-
120,
|
|
1166
|
-
101,
|
|
1167
|
-
99,
|
|
1168
|
-
117,
|
|
1169
|
-
116,
|
|
1170
|
-
101,
|
|
1171
|
-
100,
|
|
1172
|
-
95,
|
|
1173
|
-
116,
|
|
1174
|
-
120
|
|
1175
|
-
]
|
|
1176
|
-
},
|
|
1177
|
-
{
|
|
1178
|
-
"kind": "arg",
|
|
1179
|
-
"path": "tx_id"
|
|
1180
|
-
}
|
|
1181
|
-
]
|
|
1182
|
-
}
|
|
1183
|
-
},
|
|
1184
|
-
{
|
|
1185
|
-
"name": "caller",
|
|
1186
|
-
"docs": [
|
|
1187
|
-
"The caller/relayer who pays for the transaction (including executed_tx account creation)"
|
|
1188
|
-
],
|
|
1189
|
-
"writable": true,
|
|
1190
|
-
"signer": true
|
|
1191
|
-
},
|
|
1192
|
-
{
|
|
1193
|
-
"name": "vault_sol",
|
|
1194
|
-
"docs": [
|
|
1195
|
-
"Vault SOL PDA (needed for gas_fee transfer to caller)"
|
|
1196
|
-
],
|
|
1197
|
-
"writable": true,
|
|
1198
|
-
"pda": {
|
|
1199
|
-
"seeds": [
|
|
1200
|
-
{
|
|
1201
|
-
"kind": "const",
|
|
1202
|
-
"value": [
|
|
1203
|
-
118,
|
|
1204
|
-
97,
|
|
1205
|
-
117,
|
|
1206
|
-
108,
|
|
1207
|
-
116
|
|
1208
|
-
]
|
|
1209
|
-
}
|
|
1210
|
-
]
|
|
1211
|
-
}
|
|
1212
|
-
},
|
|
1213
|
-
{
|
|
1214
|
-
"name": "token_program",
|
|
1215
|
-
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
|
|
1216
|
-
},
|
|
1217
|
-
{
|
|
1218
|
-
"name": "system_program",
|
|
1219
|
-
"address": "11111111111111111111111111111111"
|
|
1220
|
-
}
|
|
1221
|
-
],
|
|
1222
|
-
"args": [
|
|
1223
|
-
{
|
|
1224
|
-
"name": "tx_id",
|
|
1225
|
-
"type": {
|
|
1226
|
-
"array": [
|
|
1227
|
-
"u8",
|
|
1228
|
-
32
|
|
1229
|
-
]
|
|
1230
|
-
}
|
|
1231
|
-
},
|
|
1232
|
-
{
|
|
1233
|
-
"name": "amount",
|
|
1234
|
-
"type": "u64"
|
|
1235
|
-
},
|
|
1236
|
-
{
|
|
1237
|
-
"name": "revert_instruction",
|
|
1238
|
-
"type": {
|
|
1239
|
-
"defined": {
|
|
1240
|
-
"name": "RevertInstructions"
|
|
1241
|
-
}
|
|
1242
|
-
}
|
|
1243
|
-
},
|
|
1244
|
-
{
|
|
1245
|
-
"name": "gas_fee",
|
|
1246
|
-
"type": "u64"
|
|
1247
|
-
},
|
|
1248
|
-
{
|
|
1249
|
-
"name": "signature",
|
|
1250
|
-
"type": {
|
|
1251
|
-
"array": [
|
|
1252
|
-
"u8",
|
|
1253
|
-
64
|
|
1254
|
-
]
|
|
1255
|
-
}
|
|
1256
|
-
},
|
|
1257
|
-
{
|
|
1258
|
-
"name": "recovery_id",
|
|
1259
|
-
"type": "u8"
|
|
1260
|
-
},
|
|
1261
|
-
{
|
|
1262
|
-
"name": "message_hash",
|
|
1263
|
-
"type": {
|
|
1264
|
-
"array": [
|
|
1265
|
-
"u8",
|
|
1266
|
-
32
|
|
1267
|
-
]
|
|
1268
|
-
}
|
|
1269
|
-
},
|
|
1270
|
-
{
|
|
1271
|
-
"name": "nonce",
|
|
1272
|
-
"type": "u64"
|
|
1273
|
-
}
|
|
1274
|
-
]
|
|
1275
|
-
},
|
|
1276
|
-
{
|
|
1277
|
-
"name": "send_universal_tx",
|
|
1278
|
-
"docs": [
|
|
1279
|
-
"@notice Universal transaction entrypoint with internal routing (EVM parity).",
|
|
1280
|
-
"@dev Native amount parameter mirrors `msg.value` on EVM chains.",
|
|
1281
|
-
"All routing (gas / funds / batching) is handled inside the deposit module."
|
|
1039
|
+
"@notice Universal transaction entrypoint with internal routing (EVM parity).",
|
|
1040
|
+
"@dev Native amount parameter mirrors `msg.value` on EVM chains.",
|
|
1041
|
+
"All routing (gas / funds / batching) is handled inside the deposit module."
|
|
1282
1042
|
],
|
|
1283
1043
|
"discriminator": [
|
|
1284
1044
|
145,
|
|
@@ -1286,287 +1046,13 @@
|
|
|
1286
1046
|
164,
|
|
1287
1047
|
55,
|
|
1288
1048
|
165,
|
|
1289
|
-
220,
|
|
1290
|
-
23,
|
|
1291
|
-
97
|
|
1292
|
-
],
|
|
1293
|
-
"accounts": [
|
|
1294
|
-
{
|
|
1295
|
-
"name": "config",
|
|
1296
|
-
"writable": true,
|
|
1297
|
-
"pda": {
|
|
1298
|
-
"seeds": [
|
|
1299
|
-
{
|
|
1300
|
-
"kind": "const",
|
|
1301
|
-
"value": [
|
|
1302
|
-
99,
|
|
1303
|
-
111,
|
|
1304
|
-
110,
|
|
1305
|
-
102,
|
|
1306
|
-
105,
|
|
1307
|
-
103
|
|
1308
|
-
]
|
|
1309
|
-
}
|
|
1310
|
-
]
|
|
1311
|
-
}
|
|
1312
|
-
},
|
|
1313
|
-
{
|
|
1314
|
-
"name": "vault",
|
|
1315
|
-
"writable": true,
|
|
1316
|
-
"pda": {
|
|
1317
|
-
"seeds": [
|
|
1318
|
-
{
|
|
1319
|
-
"kind": "const",
|
|
1320
|
-
"value": [
|
|
1321
|
-
118,
|
|
1322
|
-
97,
|
|
1323
|
-
117,
|
|
1324
|
-
108,
|
|
1325
|
-
116
|
|
1326
|
-
]
|
|
1327
|
-
}
|
|
1328
|
-
]
|
|
1329
|
-
}
|
|
1330
|
-
},
|
|
1331
|
-
{
|
|
1332
|
-
"name": "user_token_account",
|
|
1333
|
-
"docs": [
|
|
1334
|
-
"For native SOL routes, pass vault account as dummy (not used)."
|
|
1335
|
-
],
|
|
1336
|
-
"writable": true
|
|
1337
|
-
},
|
|
1338
|
-
{
|
|
1339
|
-
"name": "gateway_token_account",
|
|
1340
|
-
"docs": [
|
|
1341
|
-
"For native SOL routes, pass vault account as dummy (not used)."
|
|
1342
|
-
],
|
|
1343
|
-
"writable": true
|
|
1344
|
-
},
|
|
1345
|
-
{
|
|
1346
|
-
"name": "user",
|
|
1347
|
-
"writable": true,
|
|
1348
|
-
"signer": true
|
|
1349
|
-
},
|
|
1350
|
-
{
|
|
1351
|
-
"name": "price_update"
|
|
1352
|
-
},
|
|
1353
|
-
{
|
|
1354
|
-
"name": "rate_limit_config",
|
|
1355
|
-
"docs": [
|
|
1356
|
-
"Rate limit config - REQUIRED for universal entrypoint"
|
|
1357
|
-
],
|
|
1358
|
-
"writable": true,
|
|
1359
|
-
"pda": {
|
|
1360
|
-
"seeds": [
|
|
1361
|
-
{
|
|
1362
|
-
"kind": "const",
|
|
1363
|
-
"value": [
|
|
1364
|
-
114,
|
|
1365
|
-
97,
|
|
1366
|
-
116,
|
|
1367
|
-
101,
|
|
1368
|
-
95,
|
|
1369
|
-
108,
|
|
1370
|
-
105,
|
|
1371
|
-
109,
|
|
1372
|
-
105,
|
|
1373
|
-
116,
|
|
1374
|
-
95,
|
|
1375
|
-
99,
|
|
1376
|
-
111,
|
|
1377
|
-
110,
|
|
1378
|
-
102,
|
|
1379
|
-
105,
|
|
1380
|
-
103
|
|
1381
|
-
]
|
|
1382
|
-
}
|
|
1383
|
-
]
|
|
1384
|
-
}
|
|
1385
|
-
},
|
|
1386
|
-
{
|
|
1387
|
-
"name": "token_rate_limit",
|
|
1388
|
-
"docs": [
|
|
1389
|
-
"Token rate limit - REQUIRED for universal entrypoint",
|
|
1390
|
-
"NOTE: For native SOL, use Pubkey::default() as the token_mint when deriving this PDA"
|
|
1391
|
-
],
|
|
1392
|
-
"writable": true
|
|
1393
|
-
},
|
|
1394
|
-
{
|
|
1395
|
-
"name": "token_program",
|
|
1396
|
-
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
|
|
1397
|
-
},
|
|
1398
|
-
{
|
|
1399
|
-
"name": "system_program",
|
|
1400
|
-
"address": "11111111111111111111111111111111"
|
|
1401
|
-
}
|
|
1402
|
-
],
|
|
1403
|
-
"args": [
|
|
1404
|
-
{
|
|
1405
|
-
"name": "req",
|
|
1406
|
-
"type": {
|
|
1407
|
-
"defined": {
|
|
1408
|
-
"name": "UniversalTxRequest"
|
|
1409
|
-
}
|
|
1410
|
-
}
|
|
1411
|
-
},
|
|
1412
|
-
{
|
|
1413
|
-
"name": "native_amount",
|
|
1414
|
-
"type": "u64"
|
|
1415
|
-
}
|
|
1416
|
-
]
|
|
1417
|
-
},
|
|
1418
|
-
{
|
|
1419
|
-
"name": "set_block_usd_cap",
|
|
1420
|
-
"docs": [
|
|
1421
|
-
"@notice Set block-based USD cap for rate limiting"
|
|
1422
|
-
],
|
|
1423
|
-
"discriminator": [
|
|
1424
|
-
205,
|
|
1425
|
-
253,
|
|
1426
|
-
33,
|
|
1427
|
-
164,
|
|
1428
|
-
220,
|
|
1429
|
-
216,
|
|
1430
|
-
42,
|
|
1431
|
-
50
|
|
1432
|
-
],
|
|
1433
|
-
"accounts": [
|
|
1434
|
-
{
|
|
1435
|
-
"name": "config",
|
|
1436
|
-
"writable": true,
|
|
1437
|
-
"pda": {
|
|
1438
|
-
"seeds": [
|
|
1439
|
-
{
|
|
1440
|
-
"kind": "const",
|
|
1441
|
-
"value": [
|
|
1442
|
-
99,
|
|
1443
|
-
111,
|
|
1444
|
-
110,
|
|
1445
|
-
102,
|
|
1446
|
-
105,
|
|
1447
|
-
103
|
|
1448
|
-
]
|
|
1449
|
-
}
|
|
1450
|
-
]
|
|
1451
|
-
}
|
|
1452
|
-
},
|
|
1453
|
-
{
|
|
1454
|
-
"name": "rate_limit_config",
|
|
1455
|
-
"writable": true,
|
|
1456
|
-
"pda": {
|
|
1457
|
-
"seeds": [
|
|
1458
|
-
{
|
|
1459
|
-
"kind": "const",
|
|
1460
|
-
"value": [
|
|
1461
|
-
114,
|
|
1462
|
-
97,
|
|
1463
|
-
116,
|
|
1464
|
-
101,
|
|
1465
|
-
95,
|
|
1466
|
-
108,
|
|
1467
|
-
105,
|
|
1468
|
-
109,
|
|
1469
|
-
105,
|
|
1470
|
-
116,
|
|
1471
|
-
95,
|
|
1472
|
-
99,
|
|
1473
|
-
111,
|
|
1474
|
-
110,
|
|
1475
|
-
102,
|
|
1476
|
-
105,
|
|
1477
|
-
103
|
|
1478
|
-
]
|
|
1479
|
-
}
|
|
1480
|
-
]
|
|
1481
|
-
}
|
|
1482
|
-
},
|
|
1483
|
-
{
|
|
1484
|
-
"name": "admin",
|
|
1485
|
-
"writable": true,
|
|
1486
|
-
"signer": true
|
|
1487
|
-
},
|
|
1488
|
-
{
|
|
1489
|
-
"name": "system_program",
|
|
1490
|
-
"address": "11111111111111111111111111111111"
|
|
1491
|
-
}
|
|
1492
|
-
],
|
|
1493
|
-
"args": [
|
|
1494
|
-
{
|
|
1495
|
-
"name": "block_usd_cap",
|
|
1496
|
-
"type": "u128"
|
|
1497
|
-
}
|
|
1498
|
-
]
|
|
1499
|
-
},
|
|
1500
|
-
{
|
|
1501
|
-
"name": "set_caps_usd",
|
|
1502
|
-
"docs": [
|
|
1503
|
-
"@notice Set USD caps"
|
|
1504
|
-
],
|
|
1505
|
-
"discriminator": [
|
|
1506
|
-
136,
|
|
1507
|
-
160,
|
|
1508
|
-
17,
|
|
1509
|
-
54,
|
|
1510
|
-
239,
|
|
1511
|
-
108,
|
|
1512
|
-
125,
|
|
1513
|
-
129
|
|
1514
|
-
],
|
|
1515
|
-
"accounts": [
|
|
1516
|
-
{
|
|
1517
|
-
"name": "config",
|
|
1518
|
-
"writable": true,
|
|
1519
|
-
"pda": {
|
|
1520
|
-
"seeds": [
|
|
1521
|
-
{
|
|
1522
|
-
"kind": "const",
|
|
1523
|
-
"value": [
|
|
1524
|
-
99,
|
|
1525
|
-
111,
|
|
1526
|
-
110,
|
|
1527
|
-
102,
|
|
1528
|
-
105,
|
|
1529
|
-
103
|
|
1530
|
-
]
|
|
1531
|
-
}
|
|
1532
|
-
]
|
|
1533
|
-
}
|
|
1534
|
-
},
|
|
1535
|
-
{
|
|
1536
|
-
"name": "admin",
|
|
1537
|
-
"signer": true
|
|
1538
|
-
}
|
|
1539
|
-
],
|
|
1540
|
-
"args": [
|
|
1541
|
-
{
|
|
1542
|
-
"name": "min_cap",
|
|
1543
|
-
"type": "u128"
|
|
1544
|
-
},
|
|
1545
|
-
{
|
|
1546
|
-
"name": "max_cap",
|
|
1547
|
-
"type": "u128"
|
|
1548
|
-
}
|
|
1549
|
-
]
|
|
1550
|
-
},
|
|
1551
|
-
{
|
|
1552
|
-
"name": "set_pyth_confidence_threshold",
|
|
1553
|
-
"docs": [
|
|
1554
|
-
"@notice Set Pyth confidence threshold"
|
|
1555
|
-
],
|
|
1556
|
-
"discriminator": [
|
|
1557
|
-
213,
|
|
1558
|
-
69,
|
|
1559
|
-
242,
|
|
1560
|
-
123,
|
|
1561
|
-
122,
|
|
1562
|
-
165,
|
|
1563
|
-
125,
|
|
1564
|
-
21
|
|
1049
|
+
220,
|
|
1050
|
+
23,
|
|
1051
|
+
97
|
|
1565
1052
|
],
|
|
1566
1053
|
"accounts": [
|
|
1567
1054
|
{
|
|
1568
1055
|
"name": "config",
|
|
1569
|
-
"writable": true,
|
|
1570
1056
|
"pda": {
|
|
1571
1057
|
"seeds": [
|
|
1572
1058
|
{
|
|
@@ -1584,103 +1070,78 @@
|
|
|
1584
1070
|
}
|
|
1585
1071
|
},
|
|
1586
1072
|
{
|
|
1587
|
-
"name": "
|
|
1588
|
-
"signer": true
|
|
1589
|
-
}
|
|
1590
|
-
],
|
|
1591
|
-
"args": [
|
|
1592
|
-
{
|
|
1593
|
-
"name": "threshold",
|
|
1594
|
-
"type": "u64"
|
|
1595
|
-
}
|
|
1596
|
-
]
|
|
1597
|
-
},
|
|
1598
|
-
{
|
|
1599
|
-
"name": "set_pyth_price_feed",
|
|
1600
|
-
"docs": [
|
|
1601
|
-
"@notice Set Pyth price feed"
|
|
1602
|
-
],
|
|
1603
|
-
"discriminator": [
|
|
1604
|
-
202,
|
|
1605
|
-
185,
|
|
1606
|
-
109,
|
|
1607
|
-
150,
|
|
1608
|
-
255,
|
|
1609
|
-
130,
|
|
1610
|
-
210,
|
|
1611
|
-
208
|
|
1612
|
-
],
|
|
1613
|
-
"accounts": [
|
|
1614
|
-
{
|
|
1615
|
-
"name": "config",
|
|
1073
|
+
"name": "vault",
|
|
1616
1074
|
"writable": true,
|
|
1617
1075
|
"pda": {
|
|
1618
1076
|
"seeds": [
|
|
1619
1077
|
{
|
|
1620
1078
|
"kind": "const",
|
|
1621
1079
|
"value": [
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
103
|
|
1080
|
+
118,
|
|
1081
|
+
97,
|
|
1082
|
+
117,
|
|
1083
|
+
108,
|
|
1084
|
+
116
|
|
1628
1085
|
]
|
|
1629
1086
|
}
|
|
1630
1087
|
]
|
|
1631
1088
|
}
|
|
1632
1089
|
},
|
|
1633
1090
|
{
|
|
1634
|
-
"name": "
|
|
1635
|
-
"
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
{
|
|
1640
|
-
"name": "price_feed",
|
|
1641
|
-
"type": "pubkey"
|
|
1642
|
-
}
|
|
1643
|
-
]
|
|
1644
|
-
},
|
|
1645
|
-
{
|
|
1646
|
-
"name": "set_token_rate_limit",
|
|
1647
|
-
"docs": [
|
|
1648
|
-
"@notice Set token-specific rate limit threshold",
|
|
1649
|
-
"@dev For batch operations, call this function multiple times in a single transaction.",
|
|
1650
|
-
"This is the Solana-idiomatic approach and provides better type safety than using remaining_accounts."
|
|
1651
|
-
],
|
|
1652
|
-
"discriminator": [
|
|
1653
|
-
67,
|
|
1654
|
-
225,
|
|
1655
|
-
226,
|
|
1656
|
-
248,
|
|
1657
|
-
119,
|
|
1658
|
-
98,
|
|
1659
|
-
18,
|
|
1660
|
-
68
|
|
1661
|
-
],
|
|
1662
|
-
"accounts": [
|
|
1663
|
-
{
|
|
1664
|
-
"name": "config",
|
|
1091
|
+
"name": "fee_vault",
|
|
1092
|
+
"docs": [
|
|
1093
|
+
"Fee vault: receives the flat protocol fee per inbound tx.",
|
|
1094
|
+
"Separate from bridge vault to preserve the 1:1 bridge invariant."
|
|
1095
|
+
],
|
|
1665
1096
|
"writable": true,
|
|
1666
1097
|
"pda": {
|
|
1667
1098
|
"seeds": [
|
|
1668
1099
|
{
|
|
1669
1100
|
"kind": "const",
|
|
1670
1101
|
"value": [
|
|
1671
|
-
99,
|
|
1672
|
-
111,
|
|
1673
|
-
110,
|
|
1674
1102
|
102,
|
|
1675
|
-
|
|
1676
|
-
|
|
1103
|
+
101,
|
|
1104
|
+
101,
|
|
1105
|
+
95,
|
|
1106
|
+
118,
|
|
1107
|
+
97,
|
|
1108
|
+
117,
|
|
1109
|
+
108,
|
|
1110
|
+
116
|
|
1677
1111
|
]
|
|
1678
1112
|
}
|
|
1679
1113
|
]
|
|
1680
1114
|
}
|
|
1681
1115
|
},
|
|
1682
1116
|
{
|
|
1683
|
-
"name": "
|
|
1117
|
+
"name": "user_token_account",
|
|
1118
|
+
"docs": [
|
|
1119
|
+
"Only required for SPL token routes; can be omitted (pass null) on native SOL routes."
|
|
1120
|
+
],
|
|
1121
|
+
"writable": true,
|
|
1122
|
+
"optional": true
|
|
1123
|
+
},
|
|
1124
|
+
{
|
|
1125
|
+
"name": "gateway_token_account",
|
|
1126
|
+
"docs": [
|
|
1127
|
+
"Only required for SPL token routes; can be omitted (pass null) on native SOL routes."
|
|
1128
|
+
],
|
|
1129
|
+
"writable": true,
|
|
1130
|
+
"optional": true
|
|
1131
|
+
},
|
|
1132
|
+
{
|
|
1133
|
+
"name": "user",
|
|
1134
|
+
"writable": true,
|
|
1135
|
+
"signer": true
|
|
1136
|
+
},
|
|
1137
|
+
{
|
|
1138
|
+
"name": "price_update"
|
|
1139
|
+
},
|
|
1140
|
+
{
|
|
1141
|
+
"name": "rate_limit_config",
|
|
1142
|
+
"docs": [
|
|
1143
|
+
"Rate limit config - REQUIRED for universal entrypoint"
|
|
1144
|
+
],
|
|
1684
1145
|
"writable": true,
|
|
1685
1146
|
"pda": {
|
|
1686
1147
|
"seeds": [
|
|
@@ -1696,23 +1157,30 @@
|
|
|
1696
1157
|
105,
|
|
1697
1158
|
109,
|
|
1698
1159
|
105,
|
|
1699
|
-
116
|
|
1160
|
+
116,
|
|
1161
|
+
95,
|
|
1162
|
+
99,
|
|
1163
|
+
111,
|
|
1164
|
+
110,
|
|
1165
|
+
102,
|
|
1166
|
+
105,
|
|
1167
|
+
103
|
|
1700
1168
|
]
|
|
1701
|
-
},
|
|
1702
|
-
{
|
|
1703
|
-
"kind": "account",
|
|
1704
|
-
"path": "token_mint"
|
|
1705
1169
|
}
|
|
1706
1170
|
]
|
|
1707
1171
|
}
|
|
1708
1172
|
},
|
|
1709
1173
|
{
|
|
1710
|
-
"name": "
|
|
1174
|
+
"name": "token_rate_limit",
|
|
1175
|
+
"docs": [
|
|
1176
|
+
"Token rate limit - REQUIRED for universal entrypoint",
|
|
1177
|
+
"NOTE: For native SOL, use Pubkey::default() as the token_mint when deriving this PDA"
|
|
1178
|
+
],
|
|
1179
|
+
"writable": true
|
|
1711
1180
|
},
|
|
1712
1181
|
{
|
|
1713
|
-
"name": "
|
|
1714
|
-
"
|
|
1715
|
-
"signer": true
|
|
1182
|
+
"name": "token_program",
|
|
1183
|
+
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
|
|
1716
1184
|
},
|
|
1717
1185
|
{
|
|
1718
1186
|
"name": "system_program",
|
|
@@ -1721,25 +1189,33 @@
|
|
|
1721
1189
|
],
|
|
1722
1190
|
"args": [
|
|
1723
1191
|
{
|
|
1724
|
-
"name": "
|
|
1725
|
-
"type":
|
|
1192
|
+
"name": "req",
|
|
1193
|
+
"type": {
|
|
1194
|
+
"defined": {
|
|
1195
|
+
"name": "UniversalTxRequest"
|
|
1196
|
+
}
|
|
1197
|
+
}
|
|
1198
|
+
},
|
|
1199
|
+
{
|
|
1200
|
+
"name": "native_amount",
|
|
1201
|
+
"type": "u64"
|
|
1726
1202
|
}
|
|
1727
1203
|
]
|
|
1728
1204
|
},
|
|
1729
1205
|
{
|
|
1730
|
-
"name": "
|
|
1206
|
+
"name": "set_authorities",
|
|
1731
1207
|
"docs": [
|
|
1732
|
-
"@notice
|
|
1208
|
+
"@notice Update admin and/or pauser authority."
|
|
1733
1209
|
],
|
|
1734
1210
|
"discriminator": [
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1211
|
+
124,
|
|
1212
|
+
254,
|
|
1213
|
+
44,
|
|
1214
|
+
240,
|
|
1215
|
+
197,
|
|
1216
|
+
70,
|
|
1217
|
+
190,
|
|
1218
|
+
107
|
|
1743
1219
|
],
|
|
1744
1220
|
"accounts": [
|
|
1745
1221
|
{
|
|
@@ -1762,26 +1238,39 @@
|
|
|
1762
1238
|
}
|
|
1763
1239
|
},
|
|
1764
1240
|
{
|
|
1765
|
-
"name": "
|
|
1241
|
+
"name": "admin",
|
|
1766
1242
|
"signer": true
|
|
1767
1243
|
}
|
|
1768
1244
|
],
|
|
1769
|
-
"args": [
|
|
1245
|
+
"args": [
|
|
1246
|
+
{
|
|
1247
|
+
"name": "new_admin",
|
|
1248
|
+
"type": {
|
|
1249
|
+
"option": "pubkey"
|
|
1250
|
+
}
|
|
1251
|
+
},
|
|
1252
|
+
{
|
|
1253
|
+
"name": "new_pauser",
|
|
1254
|
+
"type": {
|
|
1255
|
+
"option": "pubkey"
|
|
1256
|
+
}
|
|
1257
|
+
}
|
|
1258
|
+
]
|
|
1770
1259
|
},
|
|
1771
1260
|
{
|
|
1772
|
-
"name": "
|
|
1261
|
+
"name": "set_block_usd_cap",
|
|
1773
1262
|
"docs": [
|
|
1774
|
-
"@notice
|
|
1263
|
+
"@notice Set block-based USD cap for rate limiting"
|
|
1775
1264
|
],
|
|
1776
1265
|
"discriminator": [
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1266
|
+
205,
|
|
1267
|
+
253,
|
|
1268
|
+
33,
|
|
1269
|
+
164,
|
|
1270
|
+
220,
|
|
1271
|
+
216,
|
|
1272
|
+
42,
|
|
1273
|
+
50
|
|
1785
1274
|
],
|
|
1786
1275
|
"accounts": [
|
|
1787
1276
|
{
|
|
@@ -1845,83 +1334,81 @@
|
|
|
1845
1334
|
],
|
|
1846
1335
|
"args": [
|
|
1847
1336
|
{
|
|
1848
|
-
"name": "
|
|
1849
|
-
"type": "
|
|
1337
|
+
"name": "block_usd_cap",
|
|
1338
|
+
"type": "u128"
|
|
1850
1339
|
}
|
|
1851
1340
|
]
|
|
1852
1341
|
},
|
|
1853
1342
|
{
|
|
1854
|
-
"name": "
|
|
1343
|
+
"name": "set_caps_usd",
|
|
1344
|
+
"docs": [
|
|
1345
|
+
"@notice Set USD caps"
|
|
1346
|
+
],
|
|
1855
1347
|
"discriminator": [
|
|
1856
|
-
227,
|
|
1857
1348
|
136,
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1349
|
+
160,
|
|
1350
|
+
17,
|
|
1351
|
+
54,
|
|
1352
|
+
239,
|
|
1353
|
+
108,
|
|
1354
|
+
125,
|
|
1355
|
+
129
|
|
1864
1356
|
],
|
|
1865
1357
|
"accounts": [
|
|
1866
1358
|
{
|
|
1867
|
-
"name": "
|
|
1359
|
+
"name": "config",
|
|
1868
1360
|
"writable": true,
|
|
1869
1361
|
"pda": {
|
|
1870
1362
|
"seeds": [
|
|
1871
1363
|
{
|
|
1872
1364
|
"kind": "const",
|
|
1873
1365
|
"value": [
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1366
|
+
99,
|
|
1367
|
+
111,
|
|
1368
|
+
110,
|
|
1369
|
+
102,
|
|
1370
|
+
105,
|
|
1371
|
+
103
|
|
1880
1372
|
]
|
|
1881
1373
|
}
|
|
1882
1374
|
]
|
|
1883
1375
|
}
|
|
1884
1376
|
},
|
|
1885
1377
|
{
|
|
1886
|
-
"name": "
|
|
1378
|
+
"name": "admin",
|
|
1887
1379
|
"signer": true
|
|
1888
1380
|
}
|
|
1889
1381
|
],
|
|
1890
1382
|
"args": [
|
|
1891
1383
|
{
|
|
1892
|
-
"name": "
|
|
1893
|
-
"type":
|
|
1894
|
-
"array": [
|
|
1895
|
-
"u8",
|
|
1896
|
-
20
|
|
1897
|
-
]
|
|
1898
|
-
}
|
|
1384
|
+
"name": "min_cap",
|
|
1385
|
+
"type": "u128"
|
|
1899
1386
|
},
|
|
1900
1387
|
{
|
|
1901
|
-
"name": "
|
|
1902
|
-
"type": "
|
|
1388
|
+
"name": "max_cap",
|
|
1389
|
+
"type": "u128"
|
|
1903
1390
|
}
|
|
1904
1391
|
]
|
|
1905
1392
|
},
|
|
1906
1393
|
{
|
|
1907
|
-
"name": "
|
|
1394
|
+
"name": "set_protocol_fee",
|
|
1908
1395
|
"docs": [
|
|
1909
|
-
"@notice
|
|
1396
|
+
"@notice Set flat protocol fee (lamports) for inbound send_universal_tx.",
|
|
1397
|
+
"Not gated by `!config.paused` so the admin can disable fees during an emergency pause."
|
|
1910
1398
|
],
|
|
1911
1399
|
"discriminator": [
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
83,
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1400
|
+
173,
|
|
1401
|
+
239,
|
|
1402
|
+
83,
|
|
1403
|
+
242,
|
|
1404
|
+
136,
|
|
1405
|
+
43,
|
|
1406
|
+
144,
|
|
1407
|
+
217
|
|
1920
1408
|
],
|
|
1921
1409
|
"accounts": [
|
|
1922
1410
|
{
|
|
1923
1411
|
"name": "config",
|
|
1924
|
-
"writable": true,
|
|
1925
1412
|
"pda": {
|
|
1926
1413
|
"seeds": [
|
|
1927
1414
|
{
|
|
@@ -1939,21 +1426,21 @@
|
|
|
1939
1426
|
}
|
|
1940
1427
|
},
|
|
1941
1428
|
{
|
|
1942
|
-
"name": "
|
|
1429
|
+
"name": "fee_vault",
|
|
1943
1430
|
"writable": true,
|
|
1944
1431
|
"pda": {
|
|
1945
1432
|
"seeds": [
|
|
1946
1433
|
{
|
|
1947
1434
|
"kind": "const",
|
|
1948
1435
|
"value": [
|
|
1949
|
-
|
|
1950
|
-
104,
|
|
1951
|
-
105,
|
|
1952
|
-
116,
|
|
1436
|
+
102,
|
|
1953
1437
|
101,
|
|
1438
|
+
101,
|
|
1439
|
+
95,
|
|
1440
|
+
118,
|
|
1441
|
+
97,
|
|
1442
|
+
117,
|
|
1954
1443
|
108,
|
|
1955
|
-
105,
|
|
1956
|
-
115,
|
|
1957
1444
|
116
|
|
1958
1445
|
]
|
|
1959
1446
|
}
|
|
@@ -1972,31 +1459,30 @@
|
|
|
1972
1459
|
],
|
|
1973
1460
|
"args": [
|
|
1974
1461
|
{
|
|
1975
|
-
"name": "
|
|
1976
|
-
"type": "
|
|
1462
|
+
"name": "fee_lamports",
|
|
1463
|
+
"type": "u64"
|
|
1977
1464
|
}
|
|
1978
1465
|
]
|
|
1979
1466
|
},
|
|
1980
1467
|
{
|
|
1981
|
-
"name": "
|
|
1468
|
+
"name": "set_pyth_confidence_threshold",
|
|
1982
1469
|
"docs": [
|
|
1983
|
-
"@notice
|
|
1984
|
-
"@param tx_id Transaction ID for tracking",
|
|
1985
|
-
"@param origin_caller Original caller on source chain (EVM address, 20 bytes)"
|
|
1470
|
+
"@notice Set Pyth confidence threshold"
|
|
1986
1471
|
],
|
|
1987
1472
|
"discriminator": [
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
|
|
1473
|
+
213,
|
|
1474
|
+
69,
|
|
1475
|
+
242,
|
|
1476
|
+
123,
|
|
1477
|
+
122,
|
|
1478
|
+
165,
|
|
1479
|
+
125,
|
|
1480
|
+
21
|
|
1996
1481
|
],
|
|
1997
1482
|
"accounts": [
|
|
1998
1483
|
{
|
|
1999
1484
|
"name": "config",
|
|
1485
|
+
"writable": true,
|
|
2000
1486
|
"pda": {
|
|
2001
1487
|
"seeds": [
|
|
2002
1488
|
{
|
|
@@ -2014,84 +1500,131 @@
|
|
|
2014
1500
|
}
|
|
2015
1501
|
},
|
|
2016
1502
|
{
|
|
2017
|
-
"name": "
|
|
1503
|
+
"name": "admin",
|
|
1504
|
+
"signer": true
|
|
1505
|
+
}
|
|
1506
|
+
],
|
|
1507
|
+
"args": [
|
|
1508
|
+
{
|
|
1509
|
+
"name": "threshold",
|
|
1510
|
+
"type": "u64"
|
|
1511
|
+
}
|
|
1512
|
+
]
|
|
1513
|
+
},
|
|
1514
|
+
{
|
|
1515
|
+
"name": "set_pyth_price_feed",
|
|
1516
|
+
"docs": [
|
|
1517
|
+
"@notice Set Pyth price feed"
|
|
1518
|
+
],
|
|
1519
|
+
"discriminator": [
|
|
1520
|
+
202,
|
|
1521
|
+
185,
|
|
1522
|
+
109,
|
|
1523
|
+
150,
|
|
1524
|
+
255,
|
|
1525
|
+
130,
|
|
1526
|
+
210,
|
|
1527
|
+
208
|
|
1528
|
+
],
|
|
1529
|
+
"accounts": [
|
|
1530
|
+
{
|
|
1531
|
+
"name": "config",
|
|
2018
1532
|
"writable": true,
|
|
2019
1533
|
"pda": {
|
|
2020
1534
|
"seeds": [
|
|
2021
1535
|
{
|
|
2022
1536
|
"kind": "const",
|
|
2023
1537
|
"value": [
|
|
2024
|
-
|
|
2025
|
-
|
|
2026
|
-
|
|
2027
|
-
|
|
2028
|
-
|
|
1538
|
+
99,
|
|
1539
|
+
111,
|
|
1540
|
+
110,
|
|
1541
|
+
102,
|
|
1542
|
+
105,
|
|
1543
|
+
103
|
|
2029
1544
|
]
|
|
2030
1545
|
}
|
|
2031
1546
|
]
|
|
2032
1547
|
}
|
|
2033
1548
|
},
|
|
2034
1549
|
{
|
|
2035
|
-
"name": "
|
|
1550
|
+
"name": "admin",
|
|
1551
|
+
"signer": true
|
|
1552
|
+
}
|
|
1553
|
+
],
|
|
1554
|
+
"args": [
|
|
1555
|
+
{
|
|
1556
|
+
"name": "price_feed",
|
|
1557
|
+
"type": "pubkey"
|
|
1558
|
+
}
|
|
1559
|
+
]
|
|
1560
|
+
},
|
|
1561
|
+
{
|
|
1562
|
+
"name": "set_token_rate_limit",
|
|
1563
|
+
"docs": [
|
|
1564
|
+
"@notice Set token-specific rate limit threshold"
|
|
1565
|
+
],
|
|
1566
|
+
"discriminator": [
|
|
1567
|
+
67,
|
|
1568
|
+
225,
|
|
1569
|
+
226,
|
|
1570
|
+
248,
|
|
1571
|
+
119,
|
|
1572
|
+
98,
|
|
1573
|
+
18,
|
|
1574
|
+
68
|
|
1575
|
+
],
|
|
1576
|
+
"accounts": [
|
|
1577
|
+
{
|
|
1578
|
+
"name": "config",
|
|
2036
1579
|
"writable": true,
|
|
2037
1580
|
"pda": {
|
|
2038
1581
|
"seeds": [
|
|
2039
1582
|
{
|
|
2040
1583
|
"kind": "const",
|
|
2041
1584
|
"value": [
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
1585
|
+
99,
|
|
1586
|
+
111,
|
|
1587
|
+
110,
|
|
1588
|
+
102,
|
|
1589
|
+
105,
|
|
1590
|
+
103
|
|
2048
1591
|
]
|
|
2049
1592
|
}
|
|
2050
1593
|
]
|
|
2051
1594
|
}
|
|
2052
1595
|
},
|
|
2053
1596
|
{
|
|
2054
|
-
"name": "
|
|
2055
|
-
"writable": true
|
|
2056
|
-
},
|
|
2057
|
-
{
|
|
2058
|
-
"name": "executed_tx",
|
|
2059
|
-
"docs": [
|
|
2060
|
-
"Executed transaction tracker (EVM parity: isExecuted[txID])",
|
|
2061
|
-
"PDA: [b\"executed_tx\", tx_id] - account existence = transaction executed",
|
|
2062
|
-
"Standard Solana pattern (equivalent to Solidity mapping(bytes32 => bool))"
|
|
2063
|
-
],
|
|
1597
|
+
"name": "token_rate_limit",
|
|
2064
1598
|
"writable": true,
|
|
2065
1599
|
"pda": {
|
|
2066
1600
|
"seeds": [
|
|
2067
1601
|
{
|
|
2068
1602
|
"kind": "const",
|
|
2069
1603
|
"value": [
|
|
2070
|
-
|
|
2071
|
-
|
|
2072
|
-
101,
|
|
2073
|
-
99,
|
|
2074
|
-
117,
|
|
1604
|
+
114,
|
|
1605
|
+
97,
|
|
2075
1606
|
116,
|
|
2076
1607
|
101,
|
|
2077
|
-
100,
|
|
2078
1608
|
95,
|
|
2079
|
-
|
|
2080
|
-
|
|
1609
|
+
108,
|
|
1610
|
+
105,
|
|
1611
|
+
109,
|
|
1612
|
+
105,
|
|
1613
|
+
116
|
|
2081
1614
|
]
|
|
2082
1615
|
},
|
|
2083
1616
|
{
|
|
2084
|
-
"kind": "
|
|
2085
|
-
"path": "
|
|
1617
|
+
"kind": "account",
|
|
1618
|
+
"path": "token_mint"
|
|
2086
1619
|
}
|
|
2087
1620
|
]
|
|
2088
1621
|
}
|
|
2089
1622
|
},
|
|
2090
1623
|
{
|
|
2091
|
-
"name": "
|
|
2092
|
-
|
|
2093
|
-
|
|
2094
|
-
|
|
1624
|
+
"name": "token_mint"
|
|
1625
|
+
},
|
|
1626
|
+
{
|
|
1627
|
+
"name": "admin",
|
|
2095
1628
|
"writable": true,
|
|
2096
1629
|
"signer": true
|
|
2097
1630
|
},
|
|
@@ -2102,79 +1635,30 @@
|
|
|
2102
1635
|
],
|
|
2103
1636
|
"args": [
|
|
2104
1637
|
{
|
|
2105
|
-
"name": "
|
|
2106
|
-
"type":
|
|
2107
|
-
"array": [
|
|
2108
|
-
"u8",
|
|
2109
|
-
32
|
|
2110
|
-
]
|
|
2111
|
-
}
|
|
2112
|
-
},
|
|
2113
|
-
{
|
|
2114
|
-
"name": "origin_caller",
|
|
2115
|
-
"type": {
|
|
2116
|
-
"array": [
|
|
2117
|
-
"u8",
|
|
2118
|
-
20
|
|
2119
|
-
]
|
|
2120
|
-
}
|
|
2121
|
-
},
|
|
2122
|
-
{
|
|
2123
|
-
"name": "amount",
|
|
2124
|
-
"type": "u64"
|
|
2125
|
-
},
|
|
2126
|
-
{
|
|
2127
|
-
"name": "gas_fee",
|
|
2128
|
-
"type": "u64"
|
|
2129
|
-
},
|
|
2130
|
-
{
|
|
2131
|
-
"name": "signature",
|
|
2132
|
-
"type": {
|
|
2133
|
-
"array": [
|
|
2134
|
-
"u8",
|
|
2135
|
-
64
|
|
2136
|
-
]
|
|
2137
|
-
}
|
|
2138
|
-
},
|
|
2139
|
-
{
|
|
2140
|
-
"name": "recovery_id",
|
|
2141
|
-
"type": "u8"
|
|
2142
|
-
},
|
|
2143
|
-
{
|
|
2144
|
-
"name": "message_hash",
|
|
2145
|
-
"type": {
|
|
2146
|
-
"array": [
|
|
2147
|
-
"u8",
|
|
2148
|
-
32
|
|
2149
|
-
]
|
|
2150
|
-
}
|
|
2151
|
-
},
|
|
2152
|
-
{
|
|
2153
|
-
"name": "nonce",
|
|
2154
|
-
"type": "u64"
|
|
1638
|
+
"name": "limit_threshold",
|
|
1639
|
+
"type": "u128"
|
|
2155
1640
|
}
|
|
2156
1641
|
]
|
|
2157
1642
|
},
|
|
2158
1643
|
{
|
|
2159
|
-
"name": "
|
|
1644
|
+
"name": "unpause",
|
|
2160
1645
|
"docs": [
|
|
2161
|
-
"@notice
|
|
2162
|
-
"@param tx_id Transaction ID for tracking",
|
|
2163
|
-
"@param origin_caller Original caller on source chain (EVM address, 20 bytes)"
|
|
1646
|
+
"@notice Unpause the gateway"
|
|
2164
1647
|
],
|
|
2165
1648
|
"discriminator": [
|
|
2166
|
-
|
|
2167
|
-
|
|
2168
|
-
|
|
2169
|
-
|
|
2170
|
-
|
|
2171
|
-
|
|
2172
|
-
|
|
2173
|
-
|
|
1649
|
+
169,
|
|
1650
|
+
144,
|
|
1651
|
+
4,
|
|
1652
|
+
38,
|
|
1653
|
+
10,
|
|
1654
|
+
141,
|
|
1655
|
+
188,
|
|
1656
|
+
255
|
|
2174
1657
|
],
|
|
2175
1658
|
"accounts": [
|
|
2176
1659
|
{
|
|
2177
1660
|
"name": "config",
|
|
1661
|
+
"writable": true,
|
|
2178
1662
|
"pda": {
|
|
2179
1663
|
"seeds": [
|
|
2180
1664
|
{
|
|
@@ -2192,137 +1676,155 @@
|
|
|
2192
1676
|
}
|
|
2193
1677
|
},
|
|
2194
1678
|
{
|
|
2195
|
-
"name": "
|
|
2196
|
-
|
|
1679
|
+
"name": "pauser",
|
|
1680
|
+
"signer": true
|
|
1681
|
+
}
|
|
1682
|
+
],
|
|
1683
|
+
"args": []
|
|
1684
|
+
},
|
|
1685
|
+
{
|
|
1686
|
+
"name": "update_epoch_duration",
|
|
1687
|
+
"docs": [
|
|
1688
|
+
"@notice Update epoch duration for rate limiting"
|
|
1689
|
+
],
|
|
1690
|
+
"discriminator": [
|
|
1691
|
+
145,
|
|
1692
|
+
173,
|
|
1693
|
+
2,
|
|
1694
|
+
249,
|
|
1695
|
+
226,
|
|
1696
|
+
157,
|
|
1697
|
+
29,
|
|
1698
|
+
104
|
|
1699
|
+
],
|
|
1700
|
+
"accounts": [
|
|
2197
1701
|
{
|
|
2198
|
-
"name": "
|
|
1702
|
+
"name": "config",
|
|
2199
1703
|
"writable": true,
|
|
2200
1704
|
"pda": {
|
|
2201
1705
|
"seeds": [
|
|
2202
1706
|
{
|
|
2203
1707
|
"kind": "const",
|
|
2204
1708
|
"value": [
|
|
2205
|
-
|
|
2206
|
-
|
|
2207
|
-
|
|
2208
|
-
|
|
2209
|
-
|
|
1709
|
+
99,
|
|
1710
|
+
111,
|
|
1711
|
+
110,
|
|
1712
|
+
102,
|
|
1713
|
+
105,
|
|
1714
|
+
103
|
|
2210
1715
|
]
|
|
2211
1716
|
}
|
|
2212
1717
|
]
|
|
2213
1718
|
}
|
|
2214
1719
|
},
|
|
2215
1720
|
{
|
|
2216
|
-
"name": "
|
|
2217
|
-
"writable": true
|
|
2218
|
-
},
|
|
2219
|
-
{
|
|
2220
|
-
"name": "tss_pda",
|
|
1721
|
+
"name": "rate_limit_config",
|
|
2221
1722
|
"writable": true,
|
|
2222
1723
|
"pda": {
|
|
2223
1724
|
"seeds": [
|
|
2224
1725
|
{
|
|
2225
1726
|
"kind": "const",
|
|
2226
1727
|
"value": [
|
|
1728
|
+
114,
|
|
1729
|
+
97,
|
|
2227
1730
|
116,
|
|
2228
|
-
|
|
2229
|
-
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
|
|
1731
|
+
101,
|
|
1732
|
+
95,
|
|
1733
|
+
108,
|
|
1734
|
+
105,
|
|
1735
|
+
109,
|
|
1736
|
+
105,
|
|
1737
|
+
116,
|
|
1738
|
+
95,
|
|
1739
|
+
99,
|
|
1740
|
+
111,
|
|
1741
|
+
110,
|
|
1742
|
+
102,
|
|
1743
|
+
105,
|
|
1744
|
+
103
|
|
2233
1745
|
]
|
|
2234
1746
|
}
|
|
2235
1747
|
]
|
|
2236
1748
|
}
|
|
2237
1749
|
},
|
|
2238
1750
|
{
|
|
2239
|
-
"name": "
|
|
2240
|
-
"writable": true
|
|
1751
|
+
"name": "admin",
|
|
1752
|
+
"writable": true,
|
|
1753
|
+
"signer": true
|
|
2241
1754
|
},
|
|
2242
1755
|
{
|
|
2243
|
-
"name": "
|
|
2244
|
-
|
|
1756
|
+
"name": "system_program",
|
|
1757
|
+
"address": "11111111111111111111111111111111"
|
|
1758
|
+
}
|
|
1759
|
+
],
|
|
1760
|
+
"args": [
|
|
2245
1761
|
{
|
|
2246
|
-
"name": "
|
|
2247
|
-
"
|
|
2248
|
-
|
|
2249
|
-
|
|
1762
|
+
"name": "epoch_duration_sec",
|
|
1763
|
+
"type": "u64"
|
|
1764
|
+
}
|
|
1765
|
+
]
|
|
1766
|
+
},
|
|
1767
|
+
{
|
|
1768
|
+
"name": "update_tss",
|
|
1769
|
+
"discriminator": [
|
|
1770
|
+
227,
|
|
1771
|
+
136,
|
|
1772
|
+
3,
|
|
1773
|
+
242,
|
|
1774
|
+
177,
|
|
1775
|
+
168,
|
|
1776
|
+
10,
|
|
1777
|
+
160
|
|
1778
|
+
],
|
|
1779
|
+
"accounts": [
|
|
1780
|
+
{
|
|
1781
|
+
"name": "tss_pda",
|
|
2250
1782
|
"writable": true,
|
|
2251
1783
|
"pda": {
|
|
2252
1784
|
"seeds": [
|
|
2253
1785
|
{
|
|
2254
1786
|
"kind": "const",
|
|
2255
1787
|
"value": [
|
|
2256
|
-
101,
|
|
2257
|
-
120,
|
|
2258
|
-
101,
|
|
2259
|
-
99,
|
|
2260
|
-
117,
|
|
2261
1788
|
116,
|
|
2262
|
-
|
|
1789
|
+
115,
|
|
1790
|
+
115,
|
|
1791
|
+
112,
|
|
2263
1792
|
100,
|
|
1793
|
+
97,
|
|
2264
1794
|
95,
|
|
2265
|
-
|
|
2266
|
-
|
|
1795
|
+
118,
|
|
1796
|
+
50
|
|
2267
1797
|
]
|
|
2268
|
-
},
|
|
2269
|
-
{
|
|
2270
|
-
"kind": "arg",
|
|
2271
|
-
"path": "tx_id"
|
|
2272
1798
|
}
|
|
2273
1799
|
]
|
|
2274
1800
|
}
|
|
2275
1801
|
},
|
|
2276
1802
|
{
|
|
2277
|
-
"name": "
|
|
2278
|
-
"docs": [
|
|
2279
|
-
"The caller/relayer who pays for the transaction (including executed_tx account creation)"
|
|
2280
|
-
],
|
|
2281
|
-
"writable": true,
|
|
2282
|
-
"signer": true
|
|
2283
|
-
},
|
|
2284
|
-
{
|
|
2285
|
-
"name": "vault_sol",
|
|
2286
|
-
"docs": [
|
|
2287
|
-
"Vault SOL PDA (needed for gas_fee transfer to caller)"
|
|
2288
|
-
],
|
|
2289
|
-
"writable": true,
|
|
1803
|
+
"name": "config",
|
|
2290
1804
|
"pda": {
|
|
2291
1805
|
"seeds": [
|
|
2292
1806
|
{
|
|
2293
1807
|
"kind": "const",
|
|
2294
1808
|
"value": [
|
|
2295
|
-
|
|
2296
|
-
|
|
2297
|
-
|
|
2298
|
-
|
|
2299
|
-
|
|
1809
|
+
99,
|
|
1810
|
+
111,
|
|
1811
|
+
110,
|
|
1812
|
+
102,
|
|
1813
|
+
105,
|
|
1814
|
+
103
|
|
2300
1815
|
]
|
|
2301
1816
|
}
|
|
2302
1817
|
]
|
|
2303
1818
|
}
|
|
2304
1819
|
},
|
|
2305
1820
|
{
|
|
2306
|
-
"name": "
|
|
2307
|
-
"
|
|
2308
|
-
},
|
|
2309
|
-
{
|
|
2310
|
-
"name": "system_program",
|
|
2311
|
-
"address": "11111111111111111111111111111111"
|
|
1821
|
+
"name": "authority",
|
|
1822
|
+
"signer": true
|
|
2312
1823
|
}
|
|
2313
1824
|
],
|
|
2314
1825
|
"args": [
|
|
2315
1826
|
{
|
|
2316
|
-
"name": "
|
|
2317
|
-
"type": {
|
|
2318
|
-
"array": [
|
|
2319
|
-
"u8",
|
|
2320
|
-
32
|
|
2321
|
-
]
|
|
2322
|
-
}
|
|
2323
|
-
},
|
|
2324
|
-
{
|
|
2325
|
-
"name": "origin_caller",
|
|
1827
|
+
"name": "tss_eth_address",
|
|
2326
1828
|
"type": {
|
|
2327
1829
|
"array": [
|
|
2328
1830
|
"u8",
|
|
@@ -2331,38 +1833,8 @@
|
|
|
2331
1833
|
}
|
|
2332
1834
|
},
|
|
2333
1835
|
{
|
|
2334
|
-
"name": "
|
|
2335
|
-
"type": "
|
|
2336
|
-
},
|
|
2337
|
-
{
|
|
2338
|
-
"name": "gas_fee",
|
|
2339
|
-
"type": "u64"
|
|
2340
|
-
},
|
|
2341
|
-
{
|
|
2342
|
-
"name": "signature",
|
|
2343
|
-
"type": {
|
|
2344
|
-
"array": [
|
|
2345
|
-
"u8",
|
|
2346
|
-
64
|
|
2347
|
-
]
|
|
2348
|
-
}
|
|
2349
|
-
},
|
|
2350
|
-
{
|
|
2351
|
-
"name": "recovery_id",
|
|
2352
|
-
"type": "u8"
|
|
2353
|
-
},
|
|
2354
|
-
{
|
|
2355
|
-
"name": "message_hash",
|
|
2356
|
-
"type": {
|
|
2357
|
-
"array": [
|
|
2358
|
-
"u8",
|
|
2359
|
-
32
|
|
2360
|
-
]
|
|
2361
|
-
}
|
|
2362
|
-
},
|
|
2363
|
-
{
|
|
2364
|
-
"name": "nonce",
|
|
2365
|
-
"type": "u64"
|
|
1836
|
+
"name": "chain_id",
|
|
1837
|
+
"type": "string"
|
|
2366
1838
|
}
|
|
2367
1839
|
]
|
|
2368
1840
|
}
|
|
@@ -2382,16 +1854,29 @@
|
|
|
2382
1854
|
]
|
|
2383
1855
|
},
|
|
2384
1856
|
{
|
|
2385
|
-
"name": "
|
|
1857
|
+
"name": "ExecutedSubTx",
|
|
2386
1858
|
"discriminator": [
|
|
2387
|
-
|
|
1859
|
+
221,
|
|
2388
1860
|
204,
|
|
2389
|
-
|
|
2390
|
-
|
|
2391
|
-
|
|
2392
|
-
|
|
2393
|
-
|
|
2394
|
-
|
|
1861
|
+
118,
|
|
1862
|
+
83,
|
|
1863
|
+
194,
|
|
1864
|
+
194,
|
|
1865
|
+
141,
|
|
1866
|
+
237
|
|
1867
|
+
]
|
|
1868
|
+
},
|
|
1869
|
+
{
|
|
1870
|
+
"name": "FeeVault",
|
|
1871
|
+
"discriminator": [
|
|
1872
|
+
192,
|
|
1873
|
+
178,
|
|
1874
|
+
69,
|
|
1875
|
+
232,
|
|
1876
|
+
58,
|
|
1877
|
+
149,
|
|
1878
|
+
157,
|
|
1879
|
+
132
|
|
2395
1880
|
]
|
|
2396
1881
|
},
|
|
2397
1882
|
{
|
|
@@ -2433,19 +1918,6 @@
|
|
|
2433
1918
|
97
|
|
2434
1919
|
]
|
|
2435
1920
|
},
|
|
2436
|
-
{
|
|
2437
|
-
"name": "TokenWhitelist",
|
|
2438
|
-
"discriminator": [
|
|
2439
|
-
105,
|
|
2440
|
-
240,
|
|
2441
|
-
104,
|
|
2442
|
-
47,
|
|
2443
|
-
95,
|
|
2444
|
-
13,
|
|
2445
|
-
48,
|
|
2446
|
-
78
|
|
2447
|
-
]
|
|
2448
|
-
},
|
|
2449
1921
|
{
|
|
2450
1922
|
"name": "TssPda",
|
|
2451
1923
|
"discriminator": [
|
|
@@ -2500,6 +1972,58 @@
|
|
|
2500
1972
|
129
|
|
2501
1973
|
]
|
|
2502
1974
|
},
|
|
1975
|
+
{
|
|
1976
|
+
"name": "FundsRescued",
|
|
1977
|
+
"discriminator": [
|
|
1978
|
+
159,
|
|
1979
|
+
37,
|
|
1980
|
+
6,
|
|
1981
|
+
93,
|
|
1982
|
+
98,
|
|
1983
|
+
122,
|
|
1984
|
+
176,
|
|
1985
|
+
210
|
|
1986
|
+
]
|
|
1987
|
+
},
|
|
1988
|
+
{
|
|
1989
|
+
"name": "ProtocolFeeCollected",
|
|
1990
|
+
"discriminator": [
|
|
1991
|
+
149,
|
|
1992
|
+
0,
|
|
1993
|
+
167,
|
|
1994
|
+
154,
|
|
1995
|
+
105,
|
|
1996
|
+
146,
|
|
1997
|
+
209,
|
|
1998
|
+
134
|
|
1999
|
+
]
|
|
2000
|
+
},
|
|
2001
|
+
{
|
|
2002
|
+
"name": "ProtocolFeeReimbursed",
|
|
2003
|
+
"discriminator": [
|
|
2004
|
+
109,
|
|
2005
|
+
145,
|
|
2006
|
+
191,
|
|
2007
|
+
216,
|
|
2008
|
+
237,
|
|
2009
|
+
169,
|
|
2010
|
+
121,
|
|
2011
|
+
222
|
|
2012
|
+
]
|
|
2013
|
+
},
|
|
2014
|
+
{
|
|
2015
|
+
"name": "ProtocolFeeUpdated",
|
|
2016
|
+
"discriminator": [
|
|
2017
|
+
172,
|
|
2018
|
+
56,
|
|
2019
|
+
83,
|
|
2020
|
+
113,
|
|
2021
|
+
219,
|
|
2022
|
+
69,
|
|
2023
|
+
69,
|
|
2024
|
+
105
|
|
2025
|
+
]
|
|
2026
|
+
},
|
|
2503
2027
|
{
|
|
2504
2028
|
"name": "RevertUniversalTx",
|
|
2505
2029
|
"discriminator": [
|
|
@@ -2513,19 +2037,6 @@
|
|
|
2513
2037
|
186
|
|
2514
2038
|
]
|
|
2515
2039
|
},
|
|
2516
|
-
{
|
|
2517
|
-
"name": "TSSAddressUpdated",
|
|
2518
|
-
"discriminator": [
|
|
2519
|
-
157,
|
|
2520
|
-
148,
|
|
2521
|
-
149,
|
|
2522
|
-
250,
|
|
2523
|
-
42,
|
|
2524
|
-
118,
|
|
2525
|
-
17,
|
|
2526
|
-
232
|
|
2527
|
-
]
|
|
2528
|
-
},
|
|
2529
2040
|
{
|
|
2530
2041
|
"name": "TokenRateLimitUpdated",
|
|
2531
2042
|
"discriminator": [
|
|
@@ -2553,207 +2064,164 @@
|
|
|
2553
2064
|
]
|
|
2554
2065
|
},
|
|
2555
2066
|
{
|
|
2556
|
-
"name": "
|
|
2067
|
+
"name": "UniversalTxFinalized",
|
|
2557
2068
|
"discriminator": [
|
|
2558
|
-
|
|
2559
|
-
|
|
2560
|
-
|
|
2561
|
-
217,
|
|
2069
|
+
179,
|
|
2070
|
+
64,
|
|
2071
|
+
150,
|
|
2562
2072
|
112,
|
|
2563
|
-
|
|
2564
|
-
|
|
2565
|
-
|
|
2566
|
-
|
|
2567
|
-
},
|
|
2568
|
-
{
|
|
2569
|
-
"name": "WithdrawToken",
|
|
2570
|
-
"discriminator": [
|
|
2571
|
-
65,
|
|
2572
|
-
183,
|
|
2573
|
-
107,
|
|
2574
|
-
32,
|
|
2575
|
-
149,
|
|
2576
|
-
183,
|
|
2577
|
-
215,
|
|
2578
|
-
129
|
|
2073
|
+
117,
|
|
2074
|
+
140,
|
|
2075
|
+
156,
|
|
2076
|
+
37
|
|
2579
2077
|
]
|
|
2580
2078
|
}
|
|
2581
2079
|
],
|
|
2582
2080
|
"errors": [
|
|
2583
2081
|
{
|
|
2584
2082
|
"code": 6000,
|
|
2585
|
-
"name": "PausedError",
|
|
2586
|
-
"msg": "Contract is paused"
|
|
2587
|
-
},
|
|
2588
|
-
{
|
|
2589
|
-
"code": 6001,
|
|
2590
2083
|
"name": "Unauthorized",
|
|
2591
2084
|
"msg": "Unauthorized access"
|
|
2592
2085
|
},
|
|
2593
2086
|
{
|
|
2594
|
-
"code":
|
|
2087
|
+
"code": 6001,
|
|
2595
2088
|
"name": "InvalidAmount",
|
|
2596
2089
|
"msg": "Invalid amount"
|
|
2597
2090
|
},
|
|
2598
2091
|
{
|
|
2599
|
-
"code":
|
|
2092
|
+
"code": 6002,
|
|
2600
2093
|
"name": "InvalidRecipient",
|
|
2601
2094
|
"msg": "Invalid recipient"
|
|
2602
2095
|
},
|
|
2603
2096
|
{
|
|
2604
|
-
"code":
|
|
2097
|
+
"code": 6003,
|
|
2605
2098
|
"name": "BelowMinCap",
|
|
2606
2099
|
"msg": "Amount below minimum cap"
|
|
2607
2100
|
},
|
|
2608
2101
|
{
|
|
2609
|
-
"code":
|
|
2102
|
+
"code": 6004,
|
|
2610
2103
|
"name": "AboveMaxCap",
|
|
2611
2104
|
"msg": "Amount above maximum cap"
|
|
2612
2105
|
},
|
|
2613
2106
|
{
|
|
2614
|
-
"code":
|
|
2107
|
+
"code": 6005,
|
|
2615
2108
|
"name": "ZeroAddress",
|
|
2616
2109
|
"msg": "Zero address not allowed"
|
|
2617
2110
|
},
|
|
2618
2111
|
{
|
|
2619
|
-
"code":
|
|
2620
|
-
"name": "InvalidCapRange",
|
|
2621
|
-
"msg": "Invalid cap range"
|
|
2622
|
-
},
|
|
2623
|
-
{
|
|
2624
|
-
"code": 6008,
|
|
2625
|
-
"name": "InvalidPrice",
|
|
2626
|
-
"msg": "Invalid price data"
|
|
2627
|
-
},
|
|
2628
|
-
{
|
|
2629
|
-
"code": 6009,
|
|
2630
|
-
"name": "TokenAlreadyWhitelisted",
|
|
2631
|
-
"msg": "Token already whitelisted"
|
|
2112
|
+
"code": 6006,
|
|
2113
|
+
"name": "InvalidCapRange",
|
|
2114
|
+
"msg": "Invalid cap range"
|
|
2632
2115
|
},
|
|
2633
2116
|
{
|
|
2634
|
-
"code":
|
|
2635
|
-
"name": "
|
|
2636
|
-
"msg": "
|
|
2117
|
+
"code": 6007,
|
|
2118
|
+
"name": "InvalidPrice",
|
|
2119
|
+
"msg": "Invalid price data"
|
|
2637
2120
|
},
|
|
2638
2121
|
{
|
|
2639
|
-
"code":
|
|
2122
|
+
"code": 6008,
|
|
2640
2123
|
"name": "InvalidOwner",
|
|
2641
2124
|
"msg": "Invalid owner"
|
|
2642
2125
|
},
|
|
2643
2126
|
{
|
|
2644
|
-
"code":
|
|
2127
|
+
"code": 6009,
|
|
2645
2128
|
"name": "Paused",
|
|
2646
2129
|
"msg": "Contract is paused"
|
|
2647
2130
|
},
|
|
2648
2131
|
{
|
|
2649
|
-
"code":
|
|
2132
|
+
"code": 6010,
|
|
2650
2133
|
"name": "InvalidInput",
|
|
2651
2134
|
"msg": "Invalid input"
|
|
2652
2135
|
},
|
|
2653
2136
|
{
|
|
2654
|
-
"code":
|
|
2137
|
+
"code": 6011,
|
|
2655
2138
|
"name": "InvalidTxType",
|
|
2656
2139
|
"msg": "Invalid transaction type"
|
|
2657
2140
|
},
|
|
2658
2141
|
{
|
|
2659
|
-
"code":
|
|
2142
|
+
"code": 6012,
|
|
2660
2143
|
"name": "InvalidMint",
|
|
2661
2144
|
"msg": "Invalid mint"
|
|
2662
2145
|
},
|
|
2663
2146
|
{
|
|
2664
|
-
"code":
|
|
2147
|
+
"code": 6013,
|
|
2665
2148
|
"name": "InsufficientBalance",
|
|
2666
2149
|
"msg": "Insufficient balance"
|
|
2667
2150
|
},
|
|
2668
2151
|
{
|
|
2669
|
-
"code":
|
|
2152
|
+
"code": 6014,
|
|
2670
2153
|
"name": "InvalidToken",
|
|
2671
2154
|
"msg": "Invalid token"
|
|
2672
2155
|
},
|
|
2673
2156
|
{
|
|
2674
|
-
"code":
|
|
2157
|
+
"code": 6015,
|
|
2675
2158
|
"name": "BlockUsdCapExceeded",
|
|
2676
2159
|
"msg": "Block USD cap exceeded"
|
|
2677
2160
|
},
|
|
2678
2161
|
{
|
|
2679
|
-
"code":
|
|
2162
|
+
"code": 6016,
|
|
2680
2163
|
"name": "RateLimitExceeded",
|
|
2681
2164
|
"msg": "Rate limit exceeded"
|
|
2682
2165
|
},
|
|
2683
2166
|
{
|
|
2684
|
-
"code":
|
|
2167
|
+
"code": 6017,
|
|
2685
2168
|
"name": "InvalidAccount",
|
|
2686
2169
|
"msg": "Invalid account"
|
|
2687
2170
|
},
|
|
2688
2171
|
{
|
|
2689
|
-
"code":
|
|
2172
|
+
"code": 6018,
|
|
2690
2173
|
"name": "NotSupported",
|
|
2691
2174
|
"msg": "Token not supported"
|
|
2692
2175
|
},
|
|
2693
2176
|
{
|
|
2694
|
-
"code":
|
|
2177
|
+
"code": 6019,
|
|
2695
2178
|
"name": "MessageHashMismatch",
|
|
2696
2179
|
"msg": "Message hash mismatch"
|
|
2697
2180
|
},
|
|
2698
2181
|
{
|
|
2699
|
-
"code":
|
|
2182
|
+
"code": 6020,
|
|
2700
2183
|
"name": "TssAuthFailed",
|
|
2701
2184
|
"msg": "TSS authentication failed"
|
|
2702
2185
|
},
|
|
2703
2186
|
{
|
|
2704
|
-
"code":
|
|
2705
|
-
"name": "NonceMismatch",
|
|
2706
|
-
"msg": "Nonce mismatch"
|
|
2707
|
-
},
|
|
2708
|
-
{
|
|
2709
|
-
"code": 6025,
|
|
2187
|
+
"code": 6021,
|
|
2710
2188
|
"name": "AccountListLengthMismatch",
|
|
2711
2189
|
"msg": "Account list length mismatch"
|
|
2712
2190
|
},
|
|
2713
2191
|
{
|
|
2714
|
-
"code":
|
|
2192
|
+
"code": 6022,
|
|
2715
2193
|
"name": "AccountPubkeyMismatch",
|
|
2716
2194
|
"msg": "Account pubkey mismatch"
|
|
2717
2195
|
},
|
|
2718
2196
|
{
|
|
2719
|
-
"code":
|
|
2197
|
+
"code": 6023,
|
|
2720
2198
|
"name": "AccountWritableFlagMismatch",
|
|
2721
2199
|
"msg": "Account writable flag mismatch"
|
|
2722
2200
|
},
|
|
2723
2201
|
{
|
|
2724
|
-
"code":
|
|
2202
|
+
"code": 6024,
|
|
2725
2203
|
"name": "UnexpectedOuterSigner",
|
|
2726
2204
|
"msg": "Unexpected outer signer in remaining accounts"
|
|
2727
2205
|
},
|
|
2728
2206
|
{
|
|
2729
|
-
"code":
|
|
2730
|
-
"name": "TargetProgramMismatch",
|
|
2731
|
-
"msg": "Target program mismatch"
|
|
2732
|
-
},
|
|
2733
|
-
{
|
|
2734
|
-
"code": 6030,
|
|
2207
|
+
"code": 6025,
|
|
2735
2208
|
"name": "InvalidProgram",
|
|
2736
2209
|
"msg": "Destination program is not executable"
|
|
2737
2210
|
},
|
|
2738
2211
|
{
|
|
2739
|
-
"code":
|
|
2740
|
-
"name": "
|
|
2741
|
-
"msg": "
|
|
2742
|
-
},
|
|
2743
|
-
{
|
|
2744
|
-
"code": 6032,
|
|
2745
|
-
"name": "SerializationError",
|
|
2746
|
-
"msg": "Serialization error"
|
|
2212
|
+
"code": 6026,
|
|
2213
|
+
"name": "InvalidInstruction",
|
|
2214
|
+
"msg": "Invalid instruction"
|
|
2747
2215
|
},
|
|
2748
2216
|
{
|
|
2749
|
-
"code":
|
|
2750
|
-
"name": "
|
|
2751
|
-
"msg": "
|
|
2217
|
+
"code": 6027,
|
|
2218
|
+
"name": "InsufficientProtocolFee",
|
|
2219
|
+
"msg": "Insufficient protocol fee"
|
|
2752
2220
|
},
|
|
2753
2221
|
{
|
|
2754
|
-
"code":
|
|
2755
|
-
"name": "
|
|
2756
|
-
"msg": "
|
|
2222
|
+
"code": 6028,
|
|
2223
|
+
"name": "InsufficientFeePool",
|
|
2224
|
+
"msg": "Fee vault has insufficient balance to reimburse relayer"
|
|
2757
2225
|
}
|
|
2758
2226
|
],
|
|
2759
2227
|
"types": [
|
|
@@ -2800,6 +2268,10 @@
|
|
|
2800
2268
|
},
|
|
2801
2269
|
{
|
|
2802
2270
|
"name": "tss_address",
|
|
2271
|
+
"docs": [
|
|
2272
|
+
"Legacy field — reserved for account layout compatibility.",
|
|
2273
|
+
"Cannot be removed without a migration because it is part of the deployed on-chain layout."
|
|
2274
|
+
],
|
|
2803
2275
|
"type": "pubkey"
|
|
2804
2276
|
},
|
|
2805
2277
|
{
|
|
@@ -2869,10 +2341,10 @@
|
|
|
2869
2341
|
}
|
|
2870
2342
|
},
|
|
2871
2343
|
{
|
|
2872
|
-
"name": "
|
|
2344
|
+
"name": "ExecutedSubTx",
|
|
2873
2345
|
"docs": [
|
|
2874
|
-
"Executed transaction tracker (parity with EVM `isExecuted[
|
|
2875
|
-
"PDA: `[b\"
|
|
2346
|
+
"Executed transaction tracker (parity with EVM `isExecuted[subTxID]` mapping).",
|
|
2347
|
+
"PDA: `[b\"executed_sub_tx\", sub_tx_id]`.",
|
|
2876
2348
|
"Account existence = transaction executed (replay protection via `init` constraint)."
|
|
2877
2349
|
],
|
|
2878
2350
|
"type": {
|
|
@@ -2881,21 +2353,68 @@
|
|
|
2881
2353
|
}
|
|
2882
2354
|
},
|
|
2883
2355
|
{
|
|
2884
|
-
"name": "
|
|
2356
|
+
"name": "FeeVault",
|
|
2357
|
+
"docs": [
|
|
2358
|
+
"Fee vault: holds protocol fee lamports and the per-tx fee config.",
|
|
2359
|
+
"PDA: `[b\"fee_vault\"]`.",
|
|
2360
|
+
"Lamports above rent-exempt minimum = spendable relayer reimbursement pool.",
|
|
2361
|
+
"Vault (bridge funds) is never touched by fee logic — 1:1 invariant is structurally enforced."
|
|
2362
|
+
],
|
|
2363
|
+
"type": {
|
|
2364
|
+
"kind": "struct",
|
|
2365
|
+
"fields": [
|
|
2366
|
+
{
|
|
2367
|
+
"name": "protocol_fee_lamports",
|
|
2368
|
+
"type": "u64"
|
|
2369
|
+
},
|
|
2370
|
+
{
|
|
2371
|
+
"name": "bump",
|
|
2372
|
+
"type": "u8"
|
|
2373
|
+
}
|
|
2374
|
+
]
|
|
2375
|
+
}
|
|
2376
|
+
},
|
|
2377
|
+
{
|
|
2378
|
+
"name": "FundsRescued",
|
|
2885
2379
|
"docs": [
|
|
2886
|
-
"
|
|
2887
|
-
"Off-chain builds this from target instruction's account list."
|
|
2380
|
+
"Emitted when locked funds are rescued back to recipient via TSS-verified rescue instruction."
|
|
2888
2381
|
],
|
|
2889
2382
|
"type": {
|
|
2890
2383
|
"kind": "struct",
|
|
2891
2384
|
"fields": [
|
|
2892
2385
|
{
|
|
2893
|
-
"name": "
|
|
2386
|
+
"name": "sub_tx_id",
|
|
2387
|
+
"type": {
|
|
2388
|
+
"array": [
|
|
2389
|
+
"u8",
|
|
2390
|
+
32
|
|
2391
|
+
]
|
|
2392
|
+
}
|
|
2393
|
+
},
|
|
2394
|
+
{
|
|
2395
|
+
"name": "universal_tx_id",
|
|
2396
|
+
"type": {
|
|
2397
|
+
"array": [
|
|
2398
|
+
"u8",
|
|
2399
|
+
32
|
|
2400
|
+
]
|
|
2401
|
+
}
|
|
2402
|
+
},
|
|
2403
|
+
{
|
|
2404
|
+
"name": "token",
|
|
2894
2405
|
"type": "pubkey"
|
|
2895
2406
|
},
|
|
2896
2407
|
{
|
|
2897
|
-
"name": "
|
|
2898
|
-
"type": "
|
|
2408
|
+
"name": "amount",
|
|
2409
|
+
"type": "u64"
|
|
2410
|
+
},
|
|
2411
|
+
{
|
|
2412
|
+
"name": "revert_instruction",
|
|
2413
|
+
"type": {
|
|
2414
|
+
"defined": {
|
|
2415
|
+
"name": "RevertInstructions"
|
|
2416
|
+
}
|
|
2417
|
+
}
|
|
2899
2418
|
}
|
|
2900
2419
|
]
|
|
2901
2420
|
}
|
|
@@ -3032,6 +2551,67 @@
|
|
|
3032
2551
|
]
|
|
3033
2552
|
}
|
|
3034
2553
|
},
|
|
2554
|
+
{
|
|
2555
|
+
"name": "ProtocolFeeCollected",
|
|
2556
|
+
"type": {
|
|
2557
|
+
"kind": "struct",
|
|
2558
|
+
"fields": [
|
|
2559
|
+
{
|
|
2560
|
+
"name": "payer",
|
|
2561
|
+
"type": "pubkey"
|
|
2562
|
+
},
|
|
2563
|
+
{
|
|
2564
|
+
"name": "amount_lamports",
|
|
2565
|
+
"type": "u64"
|
|
2566
|
+
},
|
|
2567
|
+
{
|
|
2568
|
+
"name": "native_amount_before",
|
|
2569
|
+
"type": "u64"
|
|
2570
|
+
},
|
|
2571
|
+
{
|
|
2572
|
+
"name": "native_amount_after",
|
|
2573
|
+
"type": "u64"
|
|
2574
|
+
}
|
|
2575
|
+
]
|
|
2576
|
+
}
|
|
2577
|
+
},
|
|
2578
|
+
{
|
|
2579
|
+
"name": "ProtocolFeeReimbursed",
|
|
2580
|
+
"type": {
|
|
2581
|
+
"kind": "struct",
|
|
2582
|
+
"fields": [
|
|
2583
|
+
{
|
|
2584
|
+
"name": "sub_tx_id",
|
|
2585
|
+
"type": {
|
|
2586
|
+
"array": [
|
|
2587
|
+
"u8",
|
|
2588
|
+
32
|
|
2589
|
+
]
|
|
2590
|
+
}
|
|
2591
|
+
},
|
|
2592
|
+
{
|
|
2593
|
+
"name": "relayer",
|
|
2594
|
+
"type": "pubkey"
|
|
2595
|
+
},
|
|
2596
|
+
{
|
|
2597
|
+
"name": "amount_lamports",
|
|
2598
|
+
"type": "u64"
|
|
2599
|
+
}
|
|
2600
|
+
]
|
|
2601
|
+
}
|
|
2602
|
+
},
|
|
2603
|
+
{
|
|
2604
|
+
"name": "ProtocolFeeUpdated",
|
|
2605
|
+
"type": {
|
|
2606
|
+
"kind": "struct",
|
|
2607
|
+
"fields": [
|
|
2608
|
+
{
|
|
2609
|
+
"name": "new_fee_lamports",
|
|
2610
|
+
"type": "u64"
|
|
2611
|
+
}
|
|
2612
|
+
]
|
|
2613
|
+
}
|
|
2614
|
+
},
|
|
3035
2615
|
{
|
|
3036
2616
|
"name": "RateLimitConfig",
|
|
3037
2617
|
"docs": [
|
|
@@ -3073,7 +2653,7 @@
|
|
|
3073
2653
|
"kind": "struct",
|
|
3074
2654
|
"fields": [
|
|
3075
2655
|
{
|
|
3076
|
-
"name": "
|
|
2656
|
+
"name": "revert_recipient",
|
|
3077
2657
|
"type": "pubkey"
|
|
3078
2658
|
},
|
|
3079
2659
|
{
|
|
@@ -3092,7 +2672,16 @@
|
|
|
3092
2672
|
"kind": "struct",
|
|
3093
2673
|
"fields": [
|
|
3094
2674
|
{
|
|
3095
|
-
"name": "
|
|
2675
|
+
"name": "sub_tx_id",
|
|
2676
|
+
"type": {
|
|
2677
|
+
"array": [
|
|
2678
|
+
"u8",
|
|
2679
|
+
32
|
|
2680
|
+
]
|
|
2681
|
+
}
|
|
2682
|
+
},
|
|
2683
|
+
{
|
|
2684
|
+
"name": "universal_tx_id",
|
|
3096
2685
|
"type": {
|
|
3097
2686
|
"array": [
|
|
3098
2687
|
"u8",
|
|
@@ -3101,7 +2690,7 @@
|
|
|
3101
2690
|
}
|
|
3102
2691
|
},
|
|
3103
2692
|
{
|
|
3104
|
-
"name": "
|
|
2693
|
+
"name": "revert_recipient",
|
|
3105
2694
|
"type": "pubkey"
|
|
3106
2695
|
},
|
|
3107
2696
|
{
|
|
@@ -3123,22 +2712,6 @@
|
|
|
3123
2712
|
]
|
|
3124
2713
|
}
|
|
3125
2714
|
},
|
|
3126
|
-
{
|
|
3127
|
-
"name": "TSSAddressUpdated",
|
|
3128
|
-
"type": {
|
|
3129
|
-
"kind": "struct",
|
|
3130
|
-
"fields": [
|
|
3131
|
-
{
|
|
3132
|
-
"name": "old_tss",
|
|
3133
|
-
"type": "pubkey"
|
|
3134
|
-
},
|
|
3135
|
-
{
|
|
3136
|
-
"name": "new_tss",
|
|
3137
|
-
"type": "pubkey"
|
|
3138
|
-
}
|
|
3139
|
-
]
|
|
3140
|
-
}
|
|
3141
|
-
},
|
|
3142
2715
|
{
|
|
3143
2716
|
"name": "TokenRateLimit",
|
|
3144
2717
|
"docs": [
|
|
@@ -3187,33 +2760,11 @@
|
|
|
3187
2760
|
]
|
|
3188
2761
|
}
|
|
3189
2762
|
},
|
|
3190
|
-
{
|
|
3191
|
-
"name": "TokenWhitelist",
|
|
3192
|
-
"docs": [
|
|
3193
|
-
"SPL token whitelist state.",
|
|
3194
|
-
"PDA: `[b\"whitelist\"]`. Simple list of supported SPL mints."
|
|
3195
|
-
],
|
|
3196
|
-
"type": {
|
|
3197
|
-
"kind": "struct",
|
|
3198
|
-
"fields": [
|
|
3199
|
-
{
|
|
3200
|
-
"name": "tokens",
|
|
3201
|
-
"type": {
|
|
3202
|
-
"vec": "pubkey"
|
|
3203
|
-
}
|
|
3204
|
-
},
|
|
3205
|
-
{
|
|
3206
|
-
"name": "bump",
|
|
3207
|
-
"type": "u8"
|
|
3208
|
-
}
|
|
3209
|
-
]
|
|
3210
|
-
}
|
|
3211
|
-
},
|
|
3212
2763
|
{
|
|
3213
2764
|
"name": "TssPda",
|
|
3214
2765
|
"docs": [
|
|
3215
2766
|
"TSS state PDA for ECDSA verification (Ethereum-style secp256k1).",
|
|
3216
|
-
"Stores 20-byte ETH address
|
|
2767
|
+
"Stores 20-byte ETH address and chain id (Solana cluster pubkey as String)."
|
|
3217
2768
|
],
|
|
3218
2769
|
"type": {
|
|
3219
2770
|
"kind": "struct",
|
|
@@ -3231,12 +2782,12 @@
|
|
|
3231
2782
|
"name": "chain_id",
|
|
3232
2783
|
"type": "string"
|
|
3233
2784
|
},
|
|
3234
|
-
{
|
|
3235
|
-
"name": "nonce",
|
|
3236
|
-
"type": "u64"
|
|
3237
|
-
},
|
|
3238
2785
|
{
|
|
3239
2786
|
"name": "authority",
|
|
2787
|
+
"docs": [
|
|
2788
|
+
"Legacy field — set at init_tss but no longer used for authorization.",
|
|
2789
|
+
"update_tss now checks config.admin. Kept for account layout compatibility."
|
|
2790
|
+
],
|
|
3240
2791
|
"type": "pubkey"
|
|
3241
2792
|
},
|
|
3242
2793
|
{
|
|
@@ -3305,12 +2856,8 @@
|
|
|
3305
2856
|
"type": "bytes"
|
|
3306
2857
|
},
|
|
3307
2858
|
{
|
|
3308
|
-
"name": "
|
|
3309
|
-
"type":
|
|
3310
|
-
"defined": {
|
|
3311
|
-
"name": "RevertInstructions"
|
|
3312
|
-
}
|
|
3313
|
-
}
|
|
2859
|
+
"name": "revert_recipient",
|
|
2860
|
+
"type": "pubkey"
|
|
3314
2861
|
},
|
|
3315
2862
|
{
|
|
3316
2863
|
"name": "tx_type",
|
|
@@ -3323,20 +2870,24 @@
|
|
|
3323
2870
|
{
|
|
3324
2871
|
"name": "signature_data",
|
|
3325
2872
|
"type": "bytes"
|
|
2873
|
+
},
|
|
2874
|
+
{
|
|
2875
|
+
"name": "from_cea",
|
|
2876
|
+
"type": "bool"
|
|
3326
2877
|
}
|
|
3327
2878
|
]
|
|
3328
2879
|
}
|
|
3329
2880
|
},
|
|
3330
2881
|
{
|
|
3331
|
-
"name": "
|
|
2882
|
+
"name": "UniversalTxFinalized",
|
|
3332
2883
|
"docs": [
|
|
3333
|
-
"Execute event (parity with EVM `
|
|
2884
|
+
"Execute event (parity with EVM `UniversalTxFinalized`)."
|
|
3334
2885
|
],
|
|
3335
2886
|
"type": {
|
|
3336
2887
|
"kind": "struct",
|
|
3337
2888
|
"fields": [
|
|
3338
2889
|
{
|
|
3339
|
-
"name": "
|
|
2890
|
+
"name": "sub_tx_id",
|
|
3340
2891
|
"type": {
|
|
3341
2892
|
"array": [
|
|
3342
2893
|
"u8",
|
|
@@ -3345,7 +2896,16 @@
|
|
|
3345
2896
|
}
|
|
3346
2897
|
},
|
|
3347
2898
|
{
|
|
3348
|
-
"name": "
|
|
2899
|
+
"name": "universal_tx_id",
|
|
2900
|
+
"type": {
|
|
2901
|
+
"array": [
|
|
2902
|
+
"u8",
|
|
2903
|
+
32
|
|
2904
|
+
]
|
|
2905
|
+
}
|
|
2906
|
+
},
|
|
2907
|
+
{
|
|
2908
|
+
"name": "push_account",
|
|
3349
2909
|
"type": {
|
|
3350
2910
|
"array": [
|
|
3351
2911
|
"u8",
|
|
@@ -3402,12 +2962,8 @@
|
|
|
3402
2962
|
"type": "bytes"
|
|
3403
2963
|
},
|
|
3404
2964
|
{
|
|
3405
|
-
"name": "
|
|
3406
|
-
"type":
|
|
3407
|
-
"defined": {
|
|
3408
|
-
"name": "RevertInstructions"
|
|
3409
|
-
}
|
|
3410
|
-
}
|
|
2965
|
+
"name": "revert_recipient",
|
|
2966
|
+
"type": "pubkey"
|
|
3411
2967
|
},
|
|
3412
2968
|
{
|
|
3413
2969
|
"name": "signature_data",
|
|
@@ -3448,47 +3004,6 @@
|
|
|
3448
3004
|
}
|
|
3449
3005
|
]
|
|
3450
3006
|
}
|
|
3451
|
-
},
|
|
3452
|
-
{
|
|
3453
|
-
"name": "WithdrawToken",
|
|
3454
|
-
"docs": [
|
|
3455
|
-
"Withdraw event (parity with EVM `WithdrawToken`)."
|
|
3456
|
-
],
|
|
3457
|
-
"type": {
|
|
3458
|
-
"kind": "struct",
|
|
3459
|
-
"fields": [
|
|
3460
|
-
{
|
|
3461
|
-
"name": "tx_id",
|
|
3462
|
-
"type": {
|
|
3463
|
-
"array": [
|
|
3464
|
-
"u8",
|
|
3465
|
-
32
|
|
3466
|
-
]
|
|
3467
|
-
}
|
|
3468
|
-
},
|
|
3469
|
-
{
|
|
3470
|
-
"name": "origin_caller",
|
|
3471
|
-
"type": {
|
|
3472
|
-
"array": [
|
|
3473
|
-
"u8",
|
|
3474
|
-
20
|
|
3475
|
-
]
|
|
3476
|
-
}
|
|
3477
|
-
},
|
|
3478
|
-
{
|
|
3479
|
-
"name": "token",
|
|
3480
|
-
"type": "pubkey"
|
|
3481
|
-
},
|
|
3482
|
-
{
|
|
3483
|
-
"name": "to",
|
|
3484
|
-
"type": "pubkey"
|
|
3485
|
-
},
|
|
3486
|
-
{
|
|
3487
|
-
"name": "amount",
|
|
3488
|
-
"type": "u64"
|
|
3489
|
-
}
|
|
3490
|
-
]
|
|
3491
|
-
}
|
|
3492
3007
|
}
|
|
3493
3008
|
]
|
|
3494
3009
|
}
|