@pushchain/core 5.1.5-alpha.1 → 5.1.5

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 (86) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/package.json +1 -1
  3. package/src/lib/constants/abi/index.d.ts +2 -0
  4. package/src/lib/constants/abi/index.js +6 -1
  5. package/src/lib/constants/abi/uniswap-v3-router.evm.d.ts +58 -0
  6. package/src/lib/constants/abi/uniswap-v3-router.evm.js +41 -0
  7. package/src/lib/constants/abi/wpc.evm.d.ts +24 -0
  8. package/src/lib/constants/abi/wpc.evm.js +27 -0
  9. package/src/lib/constants/chain.d.ts +1 -0
  10. package/src/lib/constants/chain.js +8 -6
  11. package/src/lib/constants/tokens.js +3 -3
  12. package/src/lib/generated/uexecutor/v2/types.d.ts +14 -0
  13. package/src/lib/generated/uexecutor/v2/types.js +96 -3
  14. package/src/lib/orchestrator/internals/cascade.d.ts +1 -1
  15. package/src/lib/orchestrator/internals/cascade.js +521 -239
  16. package/src/lib/orchestrator/internals/confirmation.js +60 -15
  17. package/src/lib/orchestrator/internals/context.d.ts +23 -0
  18. package/src/lib/orchestrator/internals/context.js +54 -0
  19. package/src/lib/orchestrator/internals/execute-funds-only.js +47 -21
  20. package/src/lib/orchestrator/internals/execute-funds-payload.js +53 -31
  21. package/src/lib/orchestrator/internals/execute-standard.js +137 -26
  22. package/src/lib/orchestrator/internals/gas-calculator.d.ts +5 -2
  23. package/src/lib/orchestrator/internals/gas-calculator.js +59 -11
  24. package/src/lib/orchestrator/internals/gas-usd-sizer.d.ts +53 -0
  25. package/src/lib/orchestrator/internals/gas-usd-sizer.js +165 -0
  26. package/src/lib/orchestrator/internals/helpers.js +2 -0
  27. package/src/lib/orchestrator/internals/inbound-tracker.d.ts +83 -0
  28. package/src/lib/orchestrator/internals/inbound-tracker.js +322 -0
  29. package/src/lib/orchestrator/internals/index.d.ts +3 -1
  30. package/src/lib/orchestrator/internals/index.js +8 -2
  31. package/src/lib/orchestrator/internals/outbound-sync.d.ts +32 -1
  32. package/src/lib/orchestrator/internals/outbound-sync.js +154 -17
  33. package/src/lib/orchestrator/internals/pc-usd-oracle.d.ts +28 -0
  34. package/src/lib/orchestrator/internals/pc-usd-oracle.js +285 -0
  35. package/src/lib/orchestrator/internals/progress-route-hooks.d.ts +23 -0
  36. package/src/lib/orchestrator/internals/progress-route-hooks.js +72 -0
  37. package/src/lib/orchestrator/internals/push-chain-tx.d.ts +27 -1
  38. package/src/lib/orchestrator/internals/push-chain-tx.js +111 -15
  39. package/src/lib/orchestrator/internals/rescue.js +1 -1
  40. package/src/lib/orchestrator/internals/response-builder.d.ts +5 -0
  41. package/src/lib/orchestrator/internals/response-builder.js +242 -66
  42. package/src/lib/orchestrator/internals/route-handlers.js +480 -206
  43. package/src/lib/orchestrator/internals/tx-transformer.js +293 -35
  44. package/src/lib/orchestrator/orchestrator.d.ts +7 -1
  45. package/src/lib/orchestrator/orchestrator.js +108 -56
  46. package/src/lib/orchestrator/orchestrator.types.d.ts +111 -5
  47. package/src/lib/orchestrator/payload-builders.d.ts +16 -0
  48. package/src/lib/orchestrator/payload-builders.js +6 -5
  49. package/src/lib/orchestrator/route-detector.js +20 -8
  50. package/src/lib/orchestrator/svm-idl/normalize-address.d.ts +19 -0
  51. package/src/lib/orchestrator/svm-idl/normalize-address.js +56 -0
  52. package/src/lib/orchestrator/svm-idl/registry.d.ts +13 -4
  53. package/src/lib/orchestrator/svm-idl/registry.js +15 -14
  54. package/src/lib/orchestrator/svm-idl/resolve.js +5 -2
  55. package/src/lib/progress-hook/progress-hook.d.ts +28 -0
  56. package/src/lib/progress-hook/progress-hook.js +545 -131
  57. package/src/lib/progress-hook/progress-hook.types.d.ts +76 -29
  58. package/src/lib/progress-hook/progress-hook.types.js +74 -35
  59. package/src/lib/push-client/push-client.d.ts +7 -0
  60. package/src/lib/push-client/push-client.js +18 -1
  61. package/src/lib/universal-tx-detector/__tests__/fixtures/builders.d.ts +32 -0
  62. package/src/lib/universal-tx-detector/__tests__/fixtures/builders.js +65 -0
  63. package/src/lib/universal-tx-detector/__tests__/fixtures/scenarios.d.ts +72 -0
  64. package/src/lib/universal-tx-detector/__tests__/fixtures/scenarios.js +669 -0
  65. package/src/lib/universal-tx-detector/auto-detect.d.ts +37 -0
  66. package/src/lib/universal-tx-detector/auto-detect.js +112 -0
  67. package/src/lib/universal-tx-detector/cascade.d.ts +64 -0
  68. package/src/lib/universal-tx-detector/cascade.js +254 -0
  69. package/src/lib/universal-tx-detector/child-inbounds.d.ts +58 -0
  70. package/src/lib/universal-tx-detector/child-inbounds.js +145 -0
  71. package/src/lib/universal-tx-detector/classify.d.ts +33 -0
  72. package/src/lib/universal-tx-detector/classify.js +228 -0
  73. package/src/lib/universal-tx-detector/detector-svm.d.ts +46 -0
  74. package/src/lib/universal-tx-detector/detector-svm.js +324 -0
  75. package/src/lib/universal-tx-detector/detector.d.ts +13 -0
  76. package/src/lib/universal-tx-detector/detector.js +233 -0
  77. package/src/lib/universal-tx-detector/events.d.ts +765 -0
  78. package/src/lib/universal-tx-detector/events.js +241 -0
  79. package/src/lib/universal-tx-detector/index.d.ts +18 -0
  80. package/src/lib/universal-tx-detector/index.js +36 -0
  81. package/src/lib/universal-tx-detector/svm-events.d.ts +41 -0
  82. package/src/lib/universal-tx-detector/svm-events.js +68 -0
  83. package/src/lib/universal-tx-detector/types.d.ts +100 -0
  84. package/src/lib/universal-tx-detector/types.js +3 -0
  85. package/src/lib/utils.d.ts +30 -13
  86. package/src/lib/utils.js +47 -21
@@ -0,0 +1,765 @@
1
+ /**
2
+ * Event ABI fragments used by the universal-tx detector.
3
+ *
4
+ * Sourced from push-chain-gateway-contracts and push-chain-core-contracts:
5
+ * - UniversalTx, UniversalTxExecuted, RevertUniversalTx, FundsRescued
6
+ * → contracts/evm-gateway/src/interfaces/IUniversalGateway.sol
7
+ * - UniversalTxFinalized, UniversalTxReverted, FundsRescued (vault)
8
+ * → contracts/evm-gateway/src/interfaces/IVault.sol
9
+ * - UniversalTxOutbound
10
+ * → contracts/evm-gateway/src/interfaces/IUniversalGatewayPC.sol
11
+ *
12
+ * RevertInstructions is a struct `(address revertRecipient, bytes revertMsg)`
13
+ * per contracts/evm-gateway/src/libraries/Types.sol.
14
+ */
15
+ /**
16
+ * UniversalTx(
17
+ * address indexed sender,
18
+ * address indexed recipient,
19
+ * address token,
20
+ * uint256 amount,
21
+ * bytes payload,
22
+ * address revertRecipient,
23
+ * TX_TYPE txType,
24
+ * bytes signatureData,
25
+ * bool fromCEA
26
+ * )
27
+ *
28
+ * Note: this event does NOT carry subTxId/universalTxId. The detector
29
+ * derives universalTxId deterministically from (sourceChainId, txHash).
30
+ */
31
+ export declare const EVENT_UNIVERSAL_TX: {
32
+ readonly anonymous: false;
33
+ readonly type: "event";
34
+ readonly name: "UniversalTx";
35
+ readonly inputs: readonly [{
36
+ readonly indexed: true;
37
+ readonly internalType: "address";
38
+ readonly name: "sender";
39
+ readonly type: "address";
40
+ }, {
41
+ readonly indexed: true;
42
+ readonly internalType: "address";
43
+ readonly name: "recipient";
44
+ readonly type: "address";
45
+ }, {
46
+ readonly indexed: false;
47
+ readonly internalType: "address";
48
+ readonly name: "token";
49
+ readonly type: "address";
50
+ }, {
51
+ readonly indexed: false;
52
+ readonly internalType: "uint256";
53
+ readonly name: "amount";
54
+ readonly type: "uint256";
55
+ }, {
56
+ readonly indexed: false;
57
+ readonly internalType: "bytes";
58
+ readonly name: "payload";
59
+ readonly type: "bytes";
60
+ }, {
61
+ readonly indexed: false;
62
+ readonly internalType: "address";
63
+ readonly name: "revertRecipient";
64
+ readonly type: "address";
65
+ }, {
66
+ readonly indexed: false;
67
+ readonly internalType: "uint8";
68
+ readonly name: "txType";
69
+ readonly type: "uint8";
70
+ }, {
71
+ readonly indexed: false;
72
+ readonly internalType: "bytes";
73
+ readonly name: "signatureData";
74
+ readonly type: "bytes";
75
+ }, {
76
+ readonly indexed: false;
77
+ readonly internalType: "bool";
78
+ readonly name: "fromCEA";
79
+ readonly type: "bool";
80
+ }];
81
+ };
82
+ /**
83
+ * UniversalTxExecuted(
84
+ * bytes32 indexed subTxId,
85
+ * bytes32 indexed universalTxId,
86
+ * address indexed pushAccount,
87
+ * address target,
88
+ * address token,
89
+ * uint256 amount,
90
+ * bytes data
91
+ * )
92
+ */
93
+ export declare const EVENT_UNIVERSAL_TX_EXECUTED: {
94
+ readonly anonymous: false;
95
+ readonly type: "event";
96
+ readonly name: "UniversalTxExecuted";
97
+ readonly inputs: readonly [{
98
+ readonly indexed: true;
99
+ readonly internalType: "bytes32";
100
+ readonly name: "subTxId";
101
+ readonly type: "bytes32";
102
+ }, {
103
+ readonly indexed: true;
104
+ readonly internalType: "bytes32";
105
+ readonly name: "universalTxId";
106
+ readonly type: "bytes32";
107
+ }, {
108
+ readonly indexed: true;
109
+ readonly internalType: "address";
110
+ readonly name: "pushAccount";
111
+ readonly type: "address";
112
+ }, {
113
+ readonly indexed: false;
114
+ readonly internalType: "address";
115
+ readonly name: "target";
116
+ readonly type: "address";
117
+ }, {
118
+ readonly indexed: false;
119
+ readonly internalType: "address";
120
+ readonly name: "token";
121
+ readonly type: "address";
122
+ }, {
123
+ readonly indexed: false;
124
+ readonly internalType: "uint256";
125
+ readonly name: "amount";
126
+ readonly type: "uint256";
127
+ }, {
128
+ readonly indexed: false;
129
+ readonly internalType: "bytes";
130
+ readonly name: "data";
131
+ readonly type: "bytes";
132
+ }];
133
+ };
134
+ /**
135
+ * RevertUniversalTx(
136
+ * bytes32 indexed subTxId,
137
+ * bytes32 indexed universalTxId,
138
+ * address indexed to,
139
+ * address token,
140
+ * uint256 amount,
141
+ * RevertInstructions revertInstruction
142
+ * )
143
+ */
144
+ export declare const EVENT_REVERT_UNIVERSAL_TX: {
145
+ readonly anonymous: false;
146
+ readonly type: "event";
147
+ readonly name: "RevertUniversalTx";
148
+ readonly inputs: readonly [{
149
+ readonly indexed: true;
150
+ readonly internalType: "bytes32";
151
+ readonly name: "subTxId";
152
+ readonly type: "bytes32";
153
+ }, {
154
+ readonly indexed: true;
155
+ readonly internalType: "bytes32";
156
+ readonly name: "universalTxId";
157
+ readonly type: "bytes32";
158
+ }, {
159
+ readonly indexed: true;
160
+ readonly internalType: "address";
161
+ readonly name: "to";
162
+ readonly type: "address";
163
+ }, {
164
+ readonly indexed: false;
165
+ readonly internalType: "address";
166
+ readonly name: "token";
167
+ readonly type: "address";
168
+ }, {
169
+ readonly indexed: false;
170
+ readonly internalType: "uint256";
171
+ readonly name: "amount";
172
+ readonly type: "uint256";
173
+ }, {
174
+ readonly indexed: false;
175
+ readonly internalType: "struct RevertInstructions";
176
+ readonly name: "revertInstruction";
177
+ readonly type: "tuple";
178
+ readonly components: readonly [{
179
+ readonly internalType: "address";
180
+ readonly name: "revertRecipient";
181
+ readonly type: "address";
182
+ }, {
183
+ readonly internalType: "bytes";
184
+ readonly name: "revertMsg";
185
+ readonly type: "bytes";
186
+ }];
187
+ }];
188
+ };
189
+ /**
190
+ * FundsRescued(
191
+ * bytes32 indexed subTxId,
192
+ * bytes32 indexed universalTxId,
193
+ * address indexed token,
194
+ * uint256 amount,
195
+ * RevertInstructions revertInstruction
196
+ * )
197
+ *
198
+ * Emitted by both UniversalGateway and Vault.
199
+ */
200
+ export declare const EVENT_FUNDS_RESCUED: {
201
+ readonly anonymous: false;
202
+ readonly type: "event";
203
+ readonly name: "FundsRescued";
204
+ readonly inputs: readonly [{
205
+ readonly indexed: true;
206
+ readonly internalType: "bytes32";
207
+ readonly name: "subTxId";
208
+ readonly type: "bytes32";
209
+ }, {
210
+ readonly indexed: true;
211
+ readonly internalType: "bytes32";
212
+ readonly name: "universalTxId";
213
+ readonly type: "bytes32";
214
+ }, {
215
+ readonly indexed: true;
216
+ readonly internalType: "address";
217
+ readonly name: "token";
218
+ readonly type: "address";
219
+ }, {
220
+ readonly indexed: false;
221
+ readonly internalType: "uint256";
222
+ readonly name: "amount";
223
+ readonly type: "uint256";
224
+ }, {
225
+ readonly indexed: false;
226
+ readonly internalType: "struct RevertInstructions";
227
+ readonly name: "revertInstruction";
228
+ readonly type: "tuple";
229
+ readonly components: readonly [{
230
+ readonly internalType: "address";
231
+ readonly name: "revertRecipient";
232
+ readonly type: "address";
233
+ }, {
234
+ readonly internalType: "bytes";
235
+ readonly name: "revertMsg";
236
+ readonly type: "bytes";
237
+ }];
238
+ }];
239
+ };
240
+ /**
241
+ * UniversalTxFinalized(
242
+ * bytes32 indexed subTxId,
243
+ * bytes32 indexed universalTxId,
244
+ * address indexed pushAccount,
245
+ * address recipient,
246
+ * address token,
247
+ * uint256 amount,
248
+ * bytes data
249
+ * )
250
+ */
251
+ export declare const EVENT_UNIVERSAL_TX_FINALIZED: {
252
+ readonly anonymous: false;
253
+ readonly type: "event";
254
+ readonly name: "UniversalTxFinalized";
255
+ readonly inputs: readonly [{
256
+ readonly indexed: true;
257
+ readonly internalType: "bytes32";
258
+ readonly name: "subTxId";
259
+ readonly type: "bytes32";
260
+ }, {
261
+ readonly indexed: true;
262
+ readonly internalType: "bytes32";
263
+ readonly name: "universalTxId";
264
+ readonly type: "bytes32";
265
+ }, {
266
+ readonly indexed: true;
267
+ readonly internalType: "address";
268
+ readonly name: "pushAccount";
269
+ readonly type: "address";
270
+ }, {
271
+ readonly indexed: false;
272
+ readonly internalType: "address";
273
+ readonly name: "recipient";
274
+ readonly type: "address";
275
+ }, {
276
+ readonly indexed: false;
277
+ readonly internalType: "address";
278
+ readonly name: "token";
279
+ readonly type: "address";
280
+ }, {
281
+ readonly indexed: false;
282
+ readonly internalType: "uint256";
283
+ readonly name: "amount";
284
+ readonly type: "uint256";
285
+ }, {
286
+ readonly indexed: false;
287
+ readonly internalType: "bytes";
288
+ readonly name: "data";
289
+ readonly type: "bytes";
290
+ }];
291
+ };
292
+ /**
293
+ * UniversalTxReverted(
294
+ * bytes32 indexed subTxId,
295
+ * bytes32 indexed universalTxId,
296
+ * address indexed token,
297
+ * uint256 amount,
298
+ * RevertInstructions revertInstruction
299
+ * )
300
+ */
301
+ export declare const EVENT_UNIVERSAL_TX_REVERTED: {
302
+ readonly anonymous: false;
303
+ readonly type: "event";
304
+ readonly name: "UniversalTxReverted";
305
+ readonly inputs: readonly [{
306
+ readonly indexed: true;
307
+ readonly internalType: "bytes32";
308
+ readonly name: "subTxId";
309
+ readonly type: "bytes32";
310
+ }, {
311
+ readonly indexed: true;
312
+ readonly internalType: "bytes32";
313
+ readonly name: "universalTxId";
314
+ readonly type: "bytes32";
315
+ }, {
316
+ readonly indexed: true;
317
+ readonly internalType: "address";
318
+ readonly name: "token";
319
+ readonly type: "address";
320
+ }, {
321
+ readonly indexed: false;
322
+ readonly internalType: "uint256";
323
+ readonly name: "amount";
324
+ readonly type: "uint256";
325
+ }, {
326
+ readonly indexed: false;
327
+ readonly internalType: "struct RevertInstructions";
328
+ readonly name: "revertInstruction";
329
+ readonly type: "tuple";
330
+ readonly components: readonly [{
331
+ readonly internalType: "address";
332
+ readonly name: "revertRecipient";
333
+ readonly type: "address";
334
+ }, {
335
+ readonly internalType: "bytes";
336
+ readonly name: "revertMsg";
337
+ readonly type: "bytes";
338
+ }];
339
+ }];
340
+ };
341
+ /**
342
+ * UniversalTxOutbound(
343
+ * bytes32 indexed subTxId,
344
+ * address indexed sender,
345
+ * string chainNamespace,
346
+ * address indexed token,
347
+ * bytes recipient,
348
+ * uint256 amount,
349
+ * address gasToken,
350
+ * uint256 gasFee,
351
+ * uint256 gasLimit,
352
+ * bytes payload,
353
+ * uint256 protocolFee,
354
+ * address revertRecipient,
355
+ * TX_TYPE txType,
356
+ * uint256 gasPrice
357
+ * )
358
+ */
359
+ export declare const EVENT_UNIVERSAL_TX_OUTBOUND: {
360
+ readonly anonymous: false;
361
+ readonly type: "event";
362
+ readonly name: "UniversalTxOutbound";
363
+ readonly inputs: readonly [{
364
+ readonly indexed: true;
365
+ readonly internalType: "bytes32";
366
+ readonly name: "subTxId";
367
+ readonly type: "bytes32";
368
+ }, {
369
+ readonly indexed: true;
370
+ readonly internalType: "address";
371
+ readonly name: "sender";
372
+ readonly type: "address";
373
+ }, {
374
+ readonly indexed: false;
375
+ readonly internalType: "string";
376
+ readonly name: "chainNamespace";
377
+ readonly type: "string";
378
+ }, {
379
+ readonly indexed: true;
380
+ readonly internalType: "address";
381
+ readonly name: "token";
382
+ readonly type: "address";
383
+ }, {
384
+ readonly indexed: false;
385
+ readonly internalType: "bytes";
386
+ readonly name: "recipient";
387
+ readonly type: "bytes";
388
+ }, {
389
+ readonly indexed: false;
390
+ readonly internalType: "uint256";
391
+ readonly name: "amount";
392
+ readonly type: "uint256";
393
+ }, {
394
+ readonly indexed: false;
395
+ readonly internalType: "address";
396
+ readonly name: "gasToken";
397
+ readonly type: "address";
398
+ }, {
399
+ readonly indexed: false;
400
+ readonly internalType: "uint256";
401
+ readonly name: "gasFee";
402
+ readonly type: "uint256";
403
+ }, {
404
+ readonly indexed: false;
405
+ readonly internalType: "uint256";
406
+ readonly name: "gasLimit";
407
+ readonly type: "uint256";
408
+ }, {
409
+ readonly indexed: false;
410
+ readonly internalType: "bytes";
411
+ readonly name: "payload";
412
+ readonly type: "bytes";
413
+ }, {
414
+ readonly indexed: false;
415
+ readonly internalType: "uint256";
416
+ readonly name: "protocolFee";
417
+ readonly type: "uint256";
418
+ }, {
419
+ readonly indexed: false;
420
+ readonly internalType: "address";
421
+ readonly name: "revertRecipient";
422
+ readonly type: "address";
423
+ }, {
424
+ readonly indexed: false;
425
+ readonly internalType: "uint8";
426
+ readonly name: "txType";
427
+ readonly type: "uint8";
428
+ }, {
429
+ readonly indexed: false;
430
+ readonly internalType: "uint256";
431
+ readonly name: "gasPrice";
432
+ readonly type: "uint256";
433
+ }];
434
+ };
435
+ /** Aggregated ABI handed to viem's parseEventLogs. */
436
+ export declare const UNIVERSAL_TX_EVENT_ABI: readonly [{
437
+ readonly anonymous: false;
438
+ readonly type: "event";
439
+ readonly name: "UniversalTx";
440
+ readonly inputs: readonly [{
441
+ readonly indexed: true;
442
+ readonly internalType: "address";
443
+ readonly name: "sender";
444
+ readonly type: "address";
445
+ }, {
446
+ readonly indexed: true;
447
+ readonly internalType: "address";
448
+ readonly name: "recipient";
449
+ readonly type: "address";
450
+ }, {
451
+ readonly indexed: false;
452
+ readonly internalType: "address";
453
+ readonly name: "token";
454
+ readonly type: "address";
455
+ }, {
456
+ readonly indexed: false;
457
+ readonly internalType: "uint256";
458
+ readonly name: "amount";
459
+ readonly type: "uint256";
460
+ }, {
461
+ readonly indexed: false;
462
+ readonly internalType: "bytes";
463
+ readonly name: "payload";
464
+ readonly type: "bytes";
465
+ }, {
466
+ readonly indexed: false;
467
+ readonly internalType: "address";
468
+ readonly name: "revertRecipient";
469
+ readonly type: "address";
470
+ }, {
471
+ readonly indexed: false;
472
+ readonly internalType: "uint8";
473
+ readonly name: "txType";
474
+ readonly type: "uint8";
475
+ }, {
476
+ readonly indexed: false;
477
+ readonly internalType: "bytes";
478
+ readonly name: "signatureData";
479
+ readonly type: "bytes";
480
+ }, {
481
+ readonly indexed: false;
482
+ readonly internalType: "bool";
483
+ readonly name: "fromCEA";
484
+ readonly type: "bool";
485
+ }];
486
+ }, {
487
+ readonly anonymous: false;
488
+ readonly type: "event";
489
+ readonly name: "UniversalTxExecuted";
490
+ readonly inputs: readonly [{
491
+ readonly indexed: true;
492
+ readonly internalType: "bytes32";
493
+ readonly name: "subTxId";
494
+ readonly type: "bytes32";
495
+ }, {
496
+ readonly indexed: true;
497
+ readonly internalType: "bytes32";
498
+ readonly name: "universalTxId";
499
+ readonly type: "bytes32";
500
+ }, {
501
+ readonly indexed: true;
502
+ readonly internalType: "address";
503
+ readonly name: "pushAccount";
504
+ readonly type: "address";
505
+ }, {
506
+ readonly indexed: false;
507
+ readonly internalType: "address";
508
+ readonly name: "target";
509
+ readonly type: "address";
510
+ }, {
511
+ readonly indexed: false;
512
+ readonly internalType: "address";
513
+ readonly name: "token";
514
+ readonly type: "address";
515
+ }, {
516
+ readonly indexed: false;
517
+ readonly internalType: "uint256";
518
+ readonly name: "amount";
519
+ readonly type: "uint256";
520
+ }, {
521
+ readonly indexed: false;
522
+ readonly internalType: "bytes";
523
+ readonly name: "data";
524
+ readonly type: "bytes";
525
+ }];
526
+ }, {
527
+ readonly anonymous: false;
528
+ readonly type: "event";
529
+ readonly name: "RevertUniversalTx";
530
+ readonly inputs: readonly [{
531
+ readonly indexed: true;
532
+ readonly internalType: "bytes32";
533
+ readonly name: "subTxId";
534
+ readonly type: "bytes32";
535
+ }, {
536
+ readonly indexed: true;
537
+ readonly internalType: "bytes32";
538
+ readonly name: "universalTxId";
539
+ readonly type: "bytes32";
540
+ }, {
541
+ readonly indexed: true;
542
+ readonly internalType: "address";
543
+ readonly name: "to";
544
+ readonly type: "address";
545
+ }, {
546
+ readonly indexed: false;
547
+ readonly internalType: "address";
548
+ readonly name: "token";
549
+ readonly type: "address";
550
+ }, {
551
+ readonly indexed: false;
552
+ readonly internalType: "uint256";
553
+ readonly name: "amount";
554
+ readonly type: "uint256";
555
+ }, {
556
+ readonly indexed: false;
557
+ readonly internalType: "struct RevertInstructions";
558
+ readonly name: "revertInstruction";
559
+ readonly type: "tuple";
560
+ readonly components: readonly [{
561
+ readonly internalType: "address";
562
+ readonly name: "revertRecipient";
563
+ readonly type: "address";
564
+ }, {
565
+ readonly internalType: "bytes";
566
+ readonly name: "revertMsg";
567
+ readonly type: "bytes";
568
+ }];
569
+ }];
570
+ }, {
571
+ readonly anonymous: false;
572
+ readonly type: "event";
573
+ readonly name: "FundsRescued";
574
+ readonly inputs: readonly [{
575
+ readonly indexed: true;
576
+ readonly internalType: "bytes32";
577
+ readonly name: "subTxId";
578
+ readonly type: "bytes32";
579
+ }, {
580
+ readonly indexed: true;
581
+ readonly internalType: "bytes32";
582
+ readonly name: "universalTxId";
583
+ readonly type: "bytes32";
584
+ }, {
585
+ readonly indexed: true;
586
+ readonly internalType: "address";
587
+ readonly name: "token";
588
+ readonly type: "address";
589
+ }, {
590
+ readonly indexed: false;
591
+ readonly internalType: "uint256";
592
+ readonly name: "amount";
593
+ readonly type: "uint256";
594
+ }, {
595
+ readonly indexed: false;
596
+ readonly internalType: "struct RevertInstructions";
597
+ readonly name: "revertInstruction";
598
+ readonly type: "tuple";
599
+ readonly components: readonly [{
600
+ readonly internalType: "address";
601
+ readonly name: "revertRecipient";
602
+ readonly type: "address";
603
+ }, {
604
+ readonly internalType: "bytes";
605
+ readonly name: "revertMsg";
606
+ readonly type: "bytes";
607
+ }];
608
+ }];
609
+ }, {
610
+ readonly anonymous: false;
611
+ readonly type: "event";
612
+ readonly name: "UniversalTxFinalized";
613
+ readonly inputs: readonly [{
614
+ readonly indexed: true;
615
+ readonly internalType: "bytes32";
616
+ readonly name: "subTxId";
617
+ readonly type: "bytes32";
618
+ }, {
619
+ readonly indexed: true;
620
+ readonly internalType: "bytes32";
621
+ readonly name: "universalTxId";
622
+ readonly type: "bytes32";
623
+ }, {
624
+ readonly indexed: true;
625
+ readonly internalType: "address";
626
+ readonly name: "pushAccount";
627
+ readonly type: "address";
628
+ }, {
629
+ readonly indexed: false;
630
+ readonly internalType: "address";
631
+ readonly name: "recipient";
632
+ readonly type: "address";
633
+ }, {
634
+ readonly indexed: false;
635
+ readonly internalType: "address";
636
+ readonly name: "token";
637
+ readonly type: "address";
638
+ }, {
639
+ readonly indexed: false;
640
+ readonly internalType: "uint256";
641
+ readonly name: "amount";
642
+ readonly type: "uint256";
643
+ }, {
644
+ readonly indexed: false;
645
+ readonly internalType: "bytes";
646
+ readonly name: "data";
647
+ readonly type: "bytes";
648
+ }];
649
+ }, {
650
+ readonly anonymous: false;
651
+ readonly type: "event";
652
+ readonly name: "UniversalTxReverted";
653
+ readonly inputs: readonly [{
654
+ readonly indexed: true;
655
+ readonly internalType: "bytes32";
656
+ readonly name: "subTxId";
657
+ readonly type: "bytes32";
658
+ }, {
659
+ readonly indexed: true;
660
+ readonly internalType: "bytes32";
661
+ readonly name: "universalTxId";
662
+ readonly type: "bytes32";
663
+ }, {
664
+ readonly indexed: true;
665
+ readonly internalType: "address";
666
+ readonly name: "token";
667
+ readonly type: "address";
668
+ }, {
669
+ readonly indexed: false;
670
+ readonly internalType: "uint256";
671
+ readonly name: "amount";
672
+ readonly type: "uint256";
673
+ }, {
674
+ readonly indexed: false;
675
+ readonly internalType: "struct RevertInstructions";
676
+ readonly name: "revertInstruction";
677
+ readonly type: "tuple";
678
+ readonly components: readonly [{
679
+ readonly internalType: "address";
680
+ readonly name: "revertRecipient";
681
+ readonly type: "address";
682
+ }, {
683
+ readonly internalType: "bytes";
684
+ readonly name: "revertMsg";
685
+ readonly type: "bytes";
686
+ }];
687
+ }];
688
+ }, {
689
+ readonly anonymous: false;
690
+ readonly type: "event";
691
+ readonly name: "UniversalTxOutbound";
692
+ readonly inputs: readonly [{
693
+ readonly indexed: true;
694
+ readonly internalType: "bytes32";
695
+ readonly name: "subTxId";
696
+ readonly type: "bytes32";
697
+ }, {
698
+ readonly indexed: true;
699
+ readonly internalType: "address";
700
+ readonly name: "sender";
701
+ readonly type: "address";
702
+ }, {
703
+ readonly indexed: false;
704
+ readonly internalType: "string";
705
+ readonly name: "chainNamespace";
706
+ readonly type: "string";
707
+ }, {
708
+ readonly indexed: true;
709
+ readonly internalType: "address";
710
+ readonly name: "token";
711
+ readonly type: "address";
712
+ }, {
713
+ readonly indexed: false;
714
+ readonly internalType: "bytes";
715
+ readonly name: "recipient";
716
+ readonly type: "bytes";
717
+ }, {
718
+ readonly indexed: false;
719
+ readonly internalType: "uint256";
720
+ readonly name: "amount";
721
+ readonly type: "uint256";
722
+ }, {
723
+ readonly indexed: false;
724
+ readonly internalType: "address";
725
+ readonly name: "gasToken";
726
+ readonly type: "address";
727
+ }, {
728
+ readonly indexed: false;
729
+ readonly internalType: "uint256";
730
+ readonly name: "gasFee";
731
+ readonly type: "uint256";
732
+ }, {
733
+ readonly indexed: false;
734
+ readonly internalType: "uint256";
735
+ readonly name: "gasLimit";
736
+ readonly type: "uint256";
737
+ }, {
738
+ readonly indexed: false;
739
+ readonly internalType: "bytes";
740
+ readonly name: "payload";
741
+ readonly type: "bytes";
742
+ }, {
743
+ readonly indexed: false;
744
+ readonly internalType: "uint256";
745
+ readonly name: "protocolFee";
746
+ readonly type: "uint256";
747
+ }, {
748
+ readonly indexed: false;
749
+ readonly internalType: "address";
750
+ readonly name: "revertRecipient";
751
+ readonly type: "address";
752
+ }, {
753
+ readonly indexed: false;
754
+ readonly internalType: "uint8";
755
+ readonly name: "txType";
756
+ readonly type: "uint8";
757
+ }, {
758
+ readonly indexed: false;
759
+ readonly internalType: "uint256";
760
+ readonly name: "gasPrice";
761
+ readonly type: "uint256";
762
+ }];
763
+ }];
764
+ /** Event names the detector knows about (for classify.ts). */
765
+ export type KnownEventName = 'UniversalTx' | 'UniversalTxExecuted' | 'RevertUniversalTx' | 'FundsRescued' | 'UniversalTxFinalized' | 'UniversalTxReverted' | 'UniversalTxOutbound';