@wormhole-labs/cctp-executor-route 1.0.3 → 2.0.0-beta.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.
Files changed (127) hide show
  1. package/dist/esm/layouts/relayInstruction.d.ts +6 -6
  2. package/dist/esm/routes/cctpV2Fast.d.ts +1 -1
  3. package/dist/esm/routes/cctpV2Standard.d.ts +1 -1
  4. package/dist/esm/sui/executor.d.ts +4 -4
  5. package/dist/esm/sui/executor.d.ts.map +1 -1
  6. package/dist/esm/sui/executor.js.map +1 -1
  7. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  8. package/package.json +28 -29
  9. package/dist/cjs/aptos/executor.d.ts +0 -18
  10. package/dist/cjs/aptos/executor.d.ts.map +0 -1
  11. package/dist/cjs/aptos/executor.js +0 -73
  12. package/dist/cjs/aptos/executor.js.map +0 -1
  13. package/dist/cjs/aptos/index.d.ts +0 -4
  14. package/dist/cjs/aptos/index.d.ts.map +0 -1
  15. package/dist/cjs/aptos/index.js +0 -28
  16. package/dist/cjs/aptos/index.js.map +0 -1
  17. package/dist/cjs/consts.d.ts +0 -34
  18. package/dist/cjs/consts.d.ts.map +0 -1
  19. package/dist/cjs/consts.js +0 -347
  20. package/dist/cjs/consts.js.map +0 -1
  21. package/dist/cjs/evm/executor.d.ts +0 -19
  22. package/dist/cjs/evm/executor.d.ts.map +0 -1
  23. package/dist/cjs/evm/executor.js +0 -71
  24. package/dist/cjs/evm/executor.js.map +0 -1
  25. package/dist/cjs/evm/executorV2.d.ts +0 -25
  26. package/dist/cjs/evm/executorV2.d.ts.map +0 -1
  27. package/dist/cjs/evm/executorV2.js +0 -102
  28. package/dist/cjs/evm/executorV2.js.map +0 -1
  29. package/dist/cjs/evm/index.d.ts +0 -5
  30. package/dist/cjs/evm/index.d.ts.map +0 -1
  31. package/dist/cjs/evm/index.js +0 -33
  32. package/dist/cjs/evm/index.js.map +0 -1
  33. package/dist/cjs/index.d.ts +0 -4
  34. package/dist/cjs/index.d.ts.map +0 -1
  35. package/dist/cjs/index.js +0 -31
  36. package/dist/cjs/index.js.map +0 -1
  37. package/dist/cjs/layouts/circle.d.ts +0 -161
  38. package/dist/cjs/layouts/circle.d.ts.map +0 -1
  39. package/dist/cjs/layouts/circle.js +0 -48
  40. package/dist/cjs/layouts/circle.js.map +0 -1
  41. package/dist/cjs/layouts/conversions.d.ts +0 -5
  42. package/dist/cjs/layouts/conversions.d.ts.map +0 -1
  43. package/dist/cjs/layouts/conversions.js +0 -8
  44. package/dist/cjs/layouts/conversions.js.map +0 -1
  45. package/dist/cjs/layouts/index.d.ts +0 -4
  46. package/dist/cjs/layouts/index.d.ts.map +0 -1
  47. package/dist/cjs/layouts/index.js +0 -20
  48. package/dist/cjs/layouts/index.js.map +0 -1
  49. package/dist/cjs/layouts/relayInstruction.d.ts +0 -86
  50. package/dist/cjs/layouts/relayInstruction.d.ts.map +0 -1
  51. package/dist/cjs/layouts/relayInstruction.js +0 -32
  52. package/dist/cjs/layouts/relayInstruction.js.map +0 -1
  53. package/dist/cjs/layouts/signedQuote.d.ts +0 -102
  54. package/dist/cjs/layouts/signedQuote.d.ts.map +0 -1
  55. package/dist/cjs/layouts/signedQuote.js +0 -46
  56. package/dist/cjs/layouts/signedQuote.js.map +0 -1
  57. package/dist/cjs/routes/cctpV1.d.ts +0 -101
  58. package/dist/cjs/routes/cctpV1.d.ts.map +0 -1
  59. package/dist/cjs/routes/cctpV1.js +0 -228
  60. package/dist/cjs/routes/cctpV1.js.map +0 -1
  61. package/dist/cjs/routes/cctpV2Base.d.ts +0 -68
  62. package/dist/cjs/routes/cctpV2Base.d.ts.map +0 -1
  63. package/dist/cjs/routes/cctpV2Base.js +0 -231
  64. package/dist/cjs/routes/cctpV2Base.js.map +0 -1
  65. package/dist/cjs/routes/cctpV2Fast.d.ts +0 -45
  66. package/dist/cjs/routes/cctpV2Fast.d.ts.map +0 -1
  67. package/dist/cjs/routes/cctpV2Fast.js +0 -124
  68. package/dist/cjs/routes/cctpV2Fast.js.map +0 -1
  69. package/dist/cjs/routes/cctpV2Standard.d.ts +0 -45
  70. package/dist/cjs/routes/cctpV2Standard.d.ts.map +0 -1
  71. package/dist/cjs/routes/cctpV2Standard.js +0 -114
  72. package/dist/cjs/routes/cctpV2Standard.js.map +0 -1
  73. package/dist/cjs/routes/helpers.d.ts +0 -29
  74. package/dist/cjs/routes/helpers.d.ts.map +0 -1
  75. package/dist/cjs/routes/helpers.js +0 -232
  76. package/dist/cjs/routes/helpers.js.map +0 -1
  77. package/dist/cjs/routes/index.d.ts +0 -5
  78. package/dist/cjs/routes/index.d.ts.map +0 -1
  79. package/dist/cjs/routes/index.js +0 -21
  80. package/dist/cjs/routes/index.js.map +0 -1
  81. package/dist/cjs/sui/executor.d.ts +0 -24
  82. package/dist/cjs/sui/executor.d.ts.map +0 -1
  83. package/dist/cjs/sui/executor.js +0 -135
  84. package/dist/cjs/sui/executor.js.map +0 -1
  85. package/dist/cjs/sui/index.d.ts +0 -4
  86. package/dist/cjs/sui/index.d.ts.map +0 -1
  87. package/dist/cjs/sui/index.js +0 -28
  88. package/dist/cjs/sui/index.js.map +0 -1
  89. package/dist/cjs/svm/executor.d.ts +0 -21
  90. package/dist/cjs/svm/executor.d.ts.map +0 -1
  91. package/dist/cjs/svm/executor.js +0 -98
  92. package/dist/cjs/svm/executor.js.map +0 -1
  93. package/dist/cjs/svm/executorV2.d.ts +0 -28
  94. package/dist/cjs/svm/executorV2.d.ts.map +0 -1
  95. package/dist/cjs/svm/executorV2.js +0 -351
  96. package/dist/cjs/svm/executorV2.js.map +0 -1
  97. package/dist/cjs/svm/idl/CCTPV2Sm4AdWt5296sk4P66VBZ7bEhcARwFaaS9YPbeC-idl.d.ts +0 -1316
  98. package/dist/cjs/svm/idl/CCTPV2Sm4AdWt5296sk4P66VBZ7bEhcARwFaaS9YPbeC-idl.d.ts.map +0 -1
  99. package/dist/cjs/svm/idl/CCTPV2Sm4AdWt5296sk4P66VBZ7bEhcARwFaaS9YPbeC-idl.js +0 -3
  100. package/dist/cjs/svm/idl/CCTPV2Sm4AdWt5296sk4P66VBZ7bEhcARwFaaS9YPbeC-idl.js.map +0 -1
  101. package/dist/cjs/svm/idl/CCTPV2Sm4AdWt5296sk4P66VBZ7bEhcARwFaaS9YPbeC-idl.json +0 -1315
  102. package/dist/cjs/svm/idl/CCTPV2vPZJS2u2BBsUoscuikbYjnpFmbFsvVuJdgUMQe-id.d.ts +0 -2198
  103. package/dist/cjs/svm/idl/CCTPV2vPZJS2u2BBsUoscuikbYjnpFmbFsvVuJdgUMQe-id.d.ts.map +0 -1
  104. package/dist/cjs/svm/idl/CCTPV2vPZJS2u2BBsUoscuikbYjnpFmbFsvVuJdgUMQe-id.js +0 -3
  105. package/dist/cjs/svm/idl/CCTPV2vPZJS2u2BBsUoscuikbYjnpFmbFsvVuJdgUMQe-id.js.map +0 -1
  106. package/dist/cjs/svm/idl/CCTPV2vPZJS2u2BBsUoscuikbYjnpFmbFsvVuJdgUMQe-id.json +0 -2197
  107. package/dist/cjs/svm/idl/example_cctp_with_executor.d.ts +0 -72
  108. package/dist/cjs/svm/idl/example_cctp_with_executor.d.ts.map +0 -1
  109. package/dist/cjs/svm/idl/example_cctp_with_executor.js +0 -74
  110. package/dist/cjs/svm/idl/example_cctp_with_executor.js.map +0 -1
  111. package/dist/cjs/svm/idl/executor.d.ts +0 -103
  112. package/dist/cjs/svm/idl/executor.d.ts.map +0 -1
  113. package/dist/cjs/svm/idl/executor.js +0 -105
  114. package/dist/cjs/svm/idl/executor.js.map +0 -1
  115. package/dist/cjs/svm/index.d.ts +0 -5
  116. package/dist/cjs/svm/index.d.ts.map +0 -1
  117. package/dist/cjs/svm/index.js +0 -33
  118. package/dist/cjs/svm/index.js.map +0 -1
  119. package/dist/cjs/types.d.ts +0 -13
  120. package/dist/cjs/types.d.ts.map +0 -1
  121. package/dist/cjs/types.js +0 -3
  122. package/dist/cjs/types.js.map +0 -1
  123. package/dist/cjs/utils.d.ts +0 -30
  124. package/dist/cjs/utils.d.ts.map +0 -1
  125. package/dist/cjs/utils.js +0 -166
  126. package/dist/cjs/utils.js.map +0 -1
  127. package/dist/tsconfig.cjs.tsbuildinfo +0 -1
@@ -1,72 +0,0 @@
1
- export type ExampleCctpWithExecutor = {
2
- version: "0.1.0";
3
- name: "example_cctp_with_executor";
4
- instructions: [
5
- {
6
- name: "relayLastMessage";
7
- accounts: [
8
- {
9
- name: "payer";
10
- isMut: true;
11
- isSigner: true;
12
- },
13
- {
14
- name: "payee";
15
- isMut: true;
16
- isSigner: false;
17
- },
18
- {
19
- name: "messageTransmitter";
20
- isMut: false;
21
- isSigner: false;
22
- },
23
- {
24
- name: "executorProgram";
25
- isMut: false;
26
- isSigner: false;
27
- },
28
- {
29
- name: "systemProgram";
30
- isMut: false;
31
- isSigner: false;
32
- }
33
- ];
34
- args: [
35
- {
36
- name: "args";
37
- type: {
38
- defined: "relayLastMessageArgs";
39
- };
40
- }
41
- ];
42
- }
43
- ];
44
- types: [
45
- {
46
- name: "relayLastMessageArgs";
47
- type: {
48
- kind: "struct";
49
- fields: [
50
- {
51
- name: "recipientChain";
52
- type: "u16";
53
- },
54
- {
55
- name: "execAmount";
56
- type: "u64";
57
- },
58
- {
59
- name: "signedQuoteBytes";
60
- type: "bytes";
61
- },
62
- {
63
- name: "relayInstructions";
64
- type: "bytes";
65
- }
66
- ];
67
- };
68
- }
69
- ];
70
- };
71
- export declare const ExampleCctpWithExecutorIdl: ExampleCctpWithExecutor;
72
- //# sourceMappingURL=example_cctp_with_executor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"example_cctp_with_executor.d.ts","sourceRoot":"","sources":["../../../../src/svm/idl/example_cctp_with_executor.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,4BAA4B,CAAC;IACnC,YAAY,EAAE;QACZ;YACE,IAAI,EAAE,kBAAkB,CAAC;YACzB,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,OAAO,CAAC;oBACd,KAAK,EAAE,IAAI,CAAC;oBACZ,QAAQ,EAAE,IAAI,CAAC;iBAChB;gBACD;oBACE,IAAI,EAAE,OAAO,CAAC;oBACd,KAAK,EAAE,IAAI,CAAC;oBACZ,QAAQ,EAAE,KAAK,CAAC;iBACjB;gBACD;oBACE,IAAI,EAAE,oBAAoB,CAAC;oBAC3B,KAAK,EAAE,KAAK,CAAC;oBACb,QAAQ,EAAE,KAAK,CAAC;iBACjB;gBACD;oBACE,IAAI,EAAE,iBAAiB,CAAC;oBACxB,KAAK,EAAE,KAAK,CAAC;oBACb,QAAQ,EAAE,KAAK,CAAC;iBACjB;gBACD;oBACE,IAAI,EAAE,eAAe,CAAC;oBACtB,KAAK,EAAE,KAAK,CAAC;oBACb,QAAQ,EAAE,KAAK,CAAC;iBACjB;aACF,CAAC;YACF,IAAI,EAAE;gBACJ;oBACE,IAAI,EAAE,MAAM,CAAC;oBACb,IAAI,EAAE;wBACJ,OAAO,EAAE,sBAAsB,CAAC;qBACjC,CAAC;iBACH;aACF,CAAC;SACH;KACF,CAAC;IACF,KAAK,EAAE;QACL;YACE,IAAI,EAAE,sBAAsB,CAAC;YAC7B,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ,CAAC;gBACf,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,gBAAgB,CAAC;wBACvB,IAAI,EAAE,KAAK,CAAC;qBACb;oBACD;wBACE,IAAI,EAAE,YAAY,CAAC;wBACnB,IAAI,EAAE,KAAK,CAAC;qBACb;oBACD;wBACE,IAAI,EAAE,kBAAkB,CAAC;wBACzB,IAAI,EAAE,OAAO,CAAC;qBACf;oBACD;wBACE,IAAI,EAAE,mBAAmB,CAAC;wBAC1B,IAAI,EAAE,OAAO,CAAC;qBACf;iBACF,CAAC;aACH,CAAC;SACH;KACF,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,uBAqExC,CAAC"}
@@ -1,74 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ExampleCctpWithExecutorIdl = void 0;
4
- exports.ExampleCctpWithExecutorIdl = {
5
- version: "0.1.0",
6
- name: "example_cctp_with_executor",
7
- instructions: [
8
- {
9
- name: "relayLastMessage",
10
- accounts: [
11
- {
12
- name: "payer",
13
- isMut: true,
14
- isSigner: true,
15
- },
16
- {
17
- name: "payee",
18
- isMut: true,
19
- isSigner: false,
20
- },
21
- {
22
- name: "messageTransmitter",
23
- isMut: false,
24
- isSigner: false,
25
- },
26
- {
27
- name: "executorProgram",
28
- isMut: false,
29
- isSigner: false,
30
- },
31
- {
32
- name: "systemProgram",
33
- isMut: false,
34
- isSigner: false,
35
- },
36
- ],
37
- args: [
38
- {
39
- name: "args",
40
- type: {
41
- defined: "relayLastMessageArgs",
42
- },
43
- },
44
- ],
45
- },
46
- ],
47
- types: [
48
- {
49
- name: "relayLastMessageArgs",
50
- type: {
51
- kind: "struct",
52
- fields: [
53
- {
54
- name: "recipientChain",
55
- type: "u16",
56
- },
57
- {
58
- name: "execAmount",
59
- type: "u64",
60
- },
61
- {
62
- name: "signedQuoteBytes",
63
- type: "bytes",
64
- },
65
- {
66
- name: "relayInstructions",
67
- type: "bytes",
68
- },
69
- ],
70
- },
71
- },
72
- ],
73
- };
74
- //# sourceMappingURL=example_cctp_with_executor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"example_cctp_with_executor.js","sourceRoot":"","sources":["../../../../src/svm/idl/example_cctp_with_executor.ts"],"names":[],"mappings":";;;AAuEa,QAAA,0BAA0B,GAA4B;IACjE,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,4BAA4B;IAClC,YAAY,EAAE;QACZ;YACE,IAAI,EAAE,kBAAkB;YACxB,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,IAAI;oBACX,QAAQ,EAAE,IAAI;iBACf;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,IAAI;oBACX,QAAQ,EAAE,KAAK;iBAChB;gBACD;oBACE,IAAI,EAAE,oBAAoB;oBAC1B,KAAK,EAAE,KAAK;oBACZ,QAAQ,EAAE,KAAK;iBAChB;gBACD;oBACE,IAAI,EAAE,iBAAiB;oBACvB,KAAK,EAAE,KAAK;oBACZ,QAAQ,EAAE,KAAK;iBAChB;gBACD;oBACE,IAAI,EAAE,eAAe;oBACrB,KAAK,EAAE,KAAK;oBACZ,QAAQ,EAAE,KAAK;iBAChB;aACF;YACD,IAAI,EAAE;gBACJ;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;wBACJ,OAAO,EAAE,sBAAsB;qBAChC;iBACF;aACF;SACF;KACF;IACD,KAAK,EAAE;QACL;YACE,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,gBAAgB;wBACtB,IAAI,EAAE,KAAK;qBACZ;oBACD;wBACE,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,KAAK;qBACZ;oBACD;wBACE,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE,OAAO;qBACd;oBACD;wBACE,IAAI,EAAE,mBAAmB;wBACzB,IAAI,EAAE,OAAO;qBACd;iBACF;aACF;SACF;KACF;CACF,CAAC"}
@@ -1,103 +0,0 @@
1
- export type Executor = {
2
- version: "0.1.0";
3
- name: "executor";
4
- instructions: [
5
- {
6
- name: "requestForExecution";
7
- accounts: [
8
- {
9
- name: "payer";
10
- isMut: true;
11
- isSigner: true;
12
- },
13
- {
14
- name: "payee";
15
- isMut: true;
16
- isSigner: false;
17
- },
18
- {
19
- name: "systemProgram";
20
- isMut: false;
21
- isSigner: false;
22
- }
23
- ];
24
- args: [
25
- {
26
- name: "args";
27
- type: {
28
- defined: "RequestForExecutionArgs";
29
- };
30
- }
31
- ];
32
- }
33
- ];
34
- types: [
35
- {
36
- name: "RequestForExecutionArgs";
37
- type: {
38
- kind: "struct";
39
- fields: [
40
- {
41
- name: "amount";
42
- type: "u64";
43
- },
44
- {
45
- name: "dstChain";
46
- type: "u16";
47
- },
48
- {
49
- name: "dstAddr";
50
- type: {
51
- array: ["u8", 32];
52
- };
53
- },
54
- {
55
- name: "refundAddr";
56
- type: "publicKey";
57
- },
58
- {
59
- name: "signedQuoteBytes";
60
- type: "bytes";
61
- },
62
- {
63
- name: "requestBytes";
64
- type: "bytes";
65
- },
66
- {
67
- name: "relayInstructions";
68
- type: "bytes";
69
- }
70
- ];
71
- };
72
- }
73
- ];
74
- errors: [
75
- {
76
- code: 6000;
77
- name: "InvalidArguments";
78
- msg: "InvalidArguments";
79
- },
80
- {
81
- code: 6001;
82
- name: "QuoteSrcChainMismatch";
83
- msg: "QuoteSrcChainMismatch";
84
- },
85
- {
86
- code: 6002;
87
- name: "QuoteDstChainMismatch";
88
- msg: "QuoteDstChainMismatch";
89
- },
90
- {
91
- code: 6003;
92
- name: "QuoteExpired";
93
- msg: "QuoteExpired";
94
- },
95
- {
96
- code: 6004;
97
- name: "QuotePayeeMismatch";
98
- msg: "QuotePayeeMismatch";
99
- }
100
- ];
101
- };
102
- export declare const ExecutorIdl: Executor;
103
- //# sourceMappingURL=executor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../../src/svm/idl/executor.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,YAAY,EAAE;QACZ;YACE,IAAI,EAAE,qBAAqB,CAAC;YAC5B,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,OAAO,CAAC;oBACd,KAAK,EAAE,IAAI,CAAC;oBACZ,QAAQ,EAAE,IAAI,CAAC;iBAChB;gBACD;oBACE,IAAI,EAAE,OAAO,CAAC;oBACd,KAAK,EAAE,IAAI,CAAC;oBACZ,QAAQ,EAAE,KAAK,CAAC;iBACjB;gBACD;oBACE,IAAI,EAAE,eAAe,CAAC;oBACtB,KAAK,EAAE,KAAK,CAAC;oBACb,QAAQ,EAAE,KAAK,CAAC;iBACjB;aACF,CAAC;YACF,IAAI,EAAE;gBACJ;oBACE,IAAI,EAAE,MAAM,CAAC;oBACb,IAAI,EAAE;wBACJ,OAAO,EAAE,yBAAyB,CAAC;qBACpC,CAAC;iBACH;aACF,CAAC;SACH;KACF,CAAC;IACF,KAAK,EAAE;QACL;YACE,IAAI,EAAE,yBAAyB,CAAC;YAChC,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ,CAAC;gBACf,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,QAAQ,CAAC;wBACf,IAAI,EAAE,KAAK,CAAC;qBACb;oBACD;wBACE,IAAI,EAAE,UAAU,CAAC;wBACjB,IAAI,EAAE,KAAK,CAAC;qBACb;oBACD;wBACE,IAAI,EAAE,SAAS,CAAC;wBAChB,IAAI,EAAE;4BACJ,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;yBACnB,CAAC;qBACH;oBACD;wBACE,IAAI,EAAE,YAAY,CAAC;wBACnB,IAAI,EAAE,WAAW,CAAC;qBACnB;oBACD;wBACE,IAAI,EAAE,kBAAkB,CAAC;wBACzB,IAAI,EAAE,OAAO,CAAC;qBACf;oBACD;wBACE,IAAI,EAAE,cAAc,CAAC;wBACrB,IAAI,EAAE,OAAO,CAAC;qBACf;oBACD;wBACE,IAAI,EAAE,mBAAmB,CAAC;wBAC1B,IAAI,EAAE,OAAO,CAAC;qBACf;iBACF,CAAC;aACH,CAAC;SACH;KACF,CAAC;IACF,MAAM,EAAE;QACN;YACE,IAAI,EAAE,IAAI,CAAC;YACX,IAAI,EAAE,kBAAkB,CAAC;YACzB,GAAG,EAAE,kBAAkB,CAAC;SACzB;QACD;YACE,IAAI,EAAE,IAAI,CAAC;YACX,IAAI,EAAE,uBAAuB,CAAC;YAC9B,GAAG,EAAE,uBAAuB,CAAC;SAC9B;QACD;YACE,IAAI,EAAE,IAAI,CAAC;YACX,IAAI,EAAE,uBAAuB,CAAC;YAC9B,GAAG,EAAE,uBAAuB,CAAC;SAC9B;QACD;YACE,IAAI,EAAE,IAAI,CAAC;YACX,IAAI,EAAE,cAAc,CAAC;YACrB,GAAG,EAAE,cAAc,CAAC;SACrB;QACD;YACE,IAAI,EAAE,IAAI,CAAC;YACX,IAAI,EAAE,oBAAoB,CAAC;YAC3B,GAAG,EAAE,oBAAoB,CAAC;SAC3B;KACF,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,QAoGzB,CAAC"}
@@ -1,105 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ExecutorIdl = void 0;
4
- exports.ExecutorIdl = {
5
- version: "0.1.0",
6
- name: "executor",
7
- instructions: [
8
- {
9
- name: "requestForExecution",
10
- accounts: [
11
- {
12
- name: "payer",
13
- isMut: true,
14
- isSigner: true,
15
- },
16
- {
17
- name: "payee",
18
- isMut: true,
19
- isSigner: false,
20
- },
21
- {
22
- name: "systemProgram",
23
- isMut: false,
24
- isSigner: false,
25
- },
26
- ],
27
- args: [
28
- {
29
- name: "args",
30
- type: {
31
- defined: "RequestForExecutionArgs",
32
- },
33
- },
34
- ],
35
- },
36
- ],
37
- types: [
38
- {
39
- name: "RequestForExecutionArgs",
40
- type: {
41
- kind: "struct",
42
- fields: [
43
- {
44
- name: "amount",
45
- type: "u64",
46
- },
47
- {
48
- name: "dstChain",
49
- type: "u16",
50
- },
51
- {
52
- name: "dstAddr",
53
- type: {
54
- array: ["u8", 32],
55
- },
56
- },
57
- {
58
- name: "refundAddr",
59
- type: "publicKey",
60
- },
61
- {
62
- name: "signedQuoteBytes",
63
- type: "bytes",
64
- },
65
- {
66
- name: "requestBytes",
67
- type: "bytes",
68
- },
69
- {
70
- name: "relayInstructions",
71
- type: "bytes",
72
- },
73
- ],
74
- },
75
- },
76
- ],
77
- errors: [
78
- {
79
- code: 6000,
80
- name: "InvalidArguments",
81
- msg: "InvalidArguments",
82
- },
83
- {
84
- code: 6001,
85
- name: "QuoteSrcChainMismatch",
86
- msg: "QuoteSrcChainMismatch",
87
- },
88
- {
89
- code: 6002,
90
- name: "QuoteDstChainMismatch",
91
- msg: "QuoteDstChainMismatch",
92
- },
93
- {
94
- code: 6003,
95
- name: "QuoteExpired",
96
- msg: "QuoteExpired",
97
- },
98
- {
99
- code: 6004,
100
- name: "QuotePayeeMismatch",
101
- msg: "QuotePayeeMismatch",
102
- },
103
- ],
104
- };
105
- //# sourceMappingURL=executor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../src/svm/idl/executor.ts"],"names":[],"mappings":";;;AAsGa,QAAA,WAAW,GAAa;IACnC,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,UAAU;IAChB,YAAY,EAAE;QACZ;YACE,IAAI,EAAE,qBAAqB;YAC3B,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,IAAI;oBACX,QAAQ,EAAE,IAAI;iBACf;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,IAAI;oBACX,QAAQ,EAAE,KAAK;iBAChB;gBACD;oBACE,IAAI,EAAE,eAAe;oBACrB,KAAK,EAAE,KAAK;oBACZ,QAAQ,EAAE,KAAK;iBAChB;aACF;YACD,IAAI,EAAE;gBACJ;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;wBACJ,OAAO,EAAE,yBAAyB;qBACnC;iBACF;aACF;SACF;KACF;IACD,KAAK,EAAE;QACL;YACE,IAAI,EAAE,yBAAyB;YAC/B,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,KAAK;qBACZ;oBACD;wBACE,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,KAAK;qBACZ;oBACD;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE;4BACJ,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;yBAClB;qBACF;oBACD;wBACE,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,WAAW;qBAClB;oBACD;wBACE,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE,OAAO;qBACd;oBACD;wBACE,IAAI,EAAE,cAAc;wBACpB,IAAI,EAAE,OAAO;qBACd;oBACD;wBACE,IAAI,EAAE,mBAAmB;wBACzB,IAAI,EAAE,OAAO;qBACd;iBACF;aACF;SACF;KACF;IACD,MAAM,EAAE;QACN;YACE,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,kBAAkB;YACxB,GAAG,EAAE,kBAAkB;SACxB;QACD;YACE,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,uBAAuB;YAC7B,GAAG,EAAE,uBAAuB;SAC7B;QACD;YACE,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,uBAAuB;YAC7B,GAAG,EAAE,uBAAuB;SAC7B;QACD;YACE,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,cAAc;YACpB,GAAG,EAAE,cAAc;SACpB;QACD;YACE,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,oBAAoB;YAC1B,GAAG,EAAE,oBAAoB;SAC1B;KACF;CACF,CAAC"}
@@ -1,5 +0,0 @@
1
- export * from "./executor";
2
- export * from "./executorV2";
3
- /** Explicitly register SVM CCTP executor protocols. Idempotent. */
4
- export declare function register(): void;
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/svm/index.ts"],"names":[],"mappings":"AAQA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAE7B,mEAAmE;AACnE,wBAAgB,QAAQ,IAAI,IAAI,CAO/B"}
@@ -1,33 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.register = register;
18
- const sdk_definitions_1 = require("@wormhole-foundation/sdk-definitions");
19
- const sdk_solana_1 = require("@wormhole-foundation/sdk-solana");
20
- const executor_1 = require("./executor");
21
- const executorV2_1 = require("./executorV2");
22
- __exportStar(require("./executor"), exports);
23
- __exportStar(require("./executorV2"), exports);
24
- /** Explicitly register SVM CCTP executor protocols. Idempotent. */
25
- function register() {
26
- if (!(0, sdk_definitions_1.protocolIsRegistered)(sdk_solana_1._platform, "CCTPExecutor")) {
27
- (0, sdk_definitions_1.registerProtocol)(sdk_solana_1._platform, "CCTPExecutor", executor_1.SvmCCTPExecutor);
28
- }
29
- if (!(0, sdk_definitions_1.protocolIsRegistered)(sdk_solana_1._platform, "CCTPv2Executor")) {
30
- (0, sdk_definitions_1.registerProtocol)(sdk_solana_1._platform, "CCTPv2Executor", executorV2_1.SvmCCTPv2Executor);
31
- }
32
- }
33
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/svm/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAYA,4BAOC;AAnBD,0EAG8C;AAC9C,gEAA4D;AAC5D,yCAA6C;AAC7C,6CAAiD;AAEjD,6CAA2B;AAC3B,+CAA6B;AAE7B,mEAAmE;AACnE,SAAgB,QAAQ;IACtB,IAAI,CAAC,IAAA,sCAAoB,EAAC,sBAAS,EAAE,cAAc,CAAC,EAAE,CAAC;QACrD,IAAA,kCAAgB,EAAC,sBAAS,EAAE,cAAc,EAAE,0BAAe,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,CAAC,IAAA,sCAAoB,EAAC,sBAAS,EAAE,gBAAgB,CAAC,EAAE,CAAC;QACvD,IAAA,kCAAgB,EAAC,sBAAS,EAAE,gBAAgB,EAAE,8BAAiB,CAAC,CAAC;IACnE,CAAC;AACH,CAAC"}
@@ -1,13 +0,0 @@
1
- import { Chain, AccountAddress, ChainAddress, UnsignedTransaction, Network } from "@wormhole-foundation/sdk-connect";
2
- import { CCTPv2QuoteDetails, QuoteDetails } from ".";
3
- import { CircleV2Message } from "./layouts";
4
- export interface CCTPExecutor<N extends Network = Network, C extends Chain = Chain> {
5
- transfer(sender: AccountAddress<C>, recipient: ChainAddress, details: QuoteDetails): AsyncGenerator<UnsignedTransaction<N, C>>;
6
- }
7
- export interface CCTPv2Executor<N extends Network = Network, C extends Chain = Chain> {
8
- transfer(sender: AccountAddress<C>, recipient: ChainAddress, details: CCTPv2QuoteDetails): AsyncGenerator<UnsignedTransaction<N, C>>;
9
- isTransferCompleted(message: CircleV2Message): Promise<boolean>;
10
- redeem(sender: AccountAddress<C>, message: CircleV2Message, attestation: string): AsyncGenerator<UnsignedTransaction<N, C>>;
11
- getCurrentBlock(): Promise<bigint>;
12
- }
13
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,OAAO,EACR,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,GAAG,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAG5C,MAAM,WAAW,YAAY,CAC3B,CAAC,SAAS,OAAO,GAAG,OAAO,EAC3B,CAAC,SAAS,KAAK,GAAG,KAAK;IAEvB,QAAQ,CACN,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,YAAY,GACpB,cAAc,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CAC9C;AAGD,MAAM,WAAW,cAAc,CAC7B,CAAC,SAAS,OAAO,GAAG,OAAO,EAC3B,CAAC,SAAS,KAAK,GAAG,KAAK;IAEvB,QAAQ,CACN,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,kBAAkB,GAC1B,cAAc,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE7C,mBAAmB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhE,MAAM,CACJ,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,MAAM,GAClB,cAAc,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE7C,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACpC"}
package/dist/cjs/types.js DELETED
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
@@ -1,30 +0,0 @@
1
- import { Chain, Network } from "@wormhole-foundation/sdk-base";
2
- import { CircleV2Message } from "./layouts";
3
- import { ChainContext, TokenId, TransactionId } from "@wormhole-foundation/sdk-connect";
4
- import { type CapabilitiesResponse, type QuoteResponse, type StatusResponse } from "@wormhole-foundation/sdk-definitions";
5
- import { CCTPv2ExecutorRoute } from "./routes";
6
- export declare function fetchCapabilities(network: Network): Promise<CapabilitiesResponse>;
7
- export declare function fetchSignedQuote(network: Network, srcChain: Chain, dstChain: Chain, relayInstructions: string): Promise<QuoteResponse>;
8
- export declare function fetchStatus(network: Network, txHash: string, chain: Chain): Promise<StatusResponse[]>;
9
- /**
10
- * Calculates the fast burn max fee from the remaining amount and fee in basis points.
11
- * The fee can be a decimal (e.g., 1.3 bps), so we scale by 100 to preserve precision.
12
- *
13
- * @param remainingAmount - The amount after other fees have been deducted
14
- * @param feeBps - The fast burn fee in basis points (can be decimal, e.g., 1.3)
15
- * @returns The max fee as a bigint, rounded up
16
- */
17
- export declare function calculateFastBurnMaxFee(remainingAmount: bigint, feeBps: number): bigint;
18
- export declare function sleep(ms: number): Promise<void>;
19
- export declare function getCircleV2Attestation(tx: TransactionId, network: Network, timeout?: number): Promise<{
20
- message: CircleV2Message;
21
- attestation: string;
22
- } | null>;
23
- export declare function getCircleV2FastBurnFee(network: Network, fromChain: Chain, toChain: Chain): Promise<number>;
24
- export declare function reattestCircleV2Message(network: Network, attestation: CCTPv2ExecutorRoute.Attestation): Promise<{
25
- message: CircleV2Message;
26
- attestation: string;
27
- } | null>;
28
- export declare function getCircleV2FastBurnAllowance(network: Network): Promise<bigint>;
29
- export declare function getUsdcDestinationAddress<N extends Network>(sourceToken: TokenId, fromChain: ChainContext<N>, toChain: ChainContext<N>): TokenId[];
30
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,EAGL,OAAO,EAER,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,eAAe,EAEhB,MAAM,WAAW,CAAC;AASnB,OAAO,EACL,YAAY,EAIZ,OAAO,EACP,aAAa,EAEd,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,cAAc,EACpB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAG/C,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,oBAAoB,CAAC,CAS/B;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,KAAK,EACf,QAAQ,EAAE,KAAK,EACf,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,aAAa,CAAC,CAaxB;AAGD,wBAAsB,WAAW,CAC/B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,cAAc,EAAE,CAAC,CAY3B;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,GACb,MAAM,CAOR;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;AAYD,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,aAAa,EACjB,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,MAA6B,GACrC,OAAO,CAAC;IAAE,OAAO,EAAE,eAAe,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CA4CnE;AAOD,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,KAAK,EAChB,OAAO,EAAE,KAAK,GACb,OAAO,CAAC,MAAM,CAAC,CAYjB;AASD,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,mBAAmB,CAAC,WAAW,GAC3C,OAAO,CAAC;IAAE,OAAO,EAAE,eAAe,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAqCnE;AAOD,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,MAAM,CAAC,CAIjB;AAED,wBAAgB,yBAAyB,CAAC,CAAC,SAAS,OAAO,EACzD,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,EAC1B,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GACvB,OAAO,EAAE,CAwBX"}
package/dist/cjs/utils.js DELETED
@@ -1,166 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.fetchCapabilities = fetchCapabilities;
7
- exports.fetchSignedQuote = fetchSignedQuote;
8
- exports.fetchStatus = fetchStatus;
9
- exports.calculateFastBurnMaxFee = calculateFastBurnMaxFee;
10
- exports.sleep = sleep;
11
- exports.getCircleV2Attestation = getCircleV2Attestation;
12
- exports.getCircleV2FastBurnFee = getCircleV2FastBurnFee;
13
- exports.reattestCircleV2Message = reattestCircleV2Message;
14
- exports.getCircleV2FastBurnAllowance = getCircleV2FastBurnAllowance;
15
- exports.getUsdcDestinationAddress = getUsdcDestinationAddress;
16
- const sdk_base_1 = require("@wormhole-foundation/sdk-base");
17
- const layouts_1 = require("./layouts");
18
- const axios_1 = __importDefault(require("axios"));
19
- const consts_1 = require("./consts");
20
- const sdk_connect_1 = require("@wormhole-foundation/sdk-connect");
21
- async function fetchCapabilities(network) {
22
- const url = `${consts_1.apiBaseUrl[network]}/v0/capabilities`;
23
- try {
24
- const response = await axios_1.default.get(url);
25
- return response.data;
26
- }
27
- catch (error) {
28
- throw new Error(`Failed to fetch capabilities for network: ${network}.`);
29
- }
30
- }
31
- async function fetchSignedQuote(network, srcChain, dstChain, relayInstructions // TODO: `0x:${string}`
32
- ) {
33
- const url = `${consts_1.apiBaseUrl[network]}/v0/quote`;
34
- try {
35
- const response = await axios_1.default.post(url, {
36
- srcChain: (0, sdk_base_1.toChainId)(srcChain),
37
- dstChain: (0, sdk_base_1.toChainId)(dstChain),
38
- relayInstructions,
39
- });
40
- return response.data;
41
- }
42
- catch (error) {
43
- throw new Error(`Failed to fetch signed quote.`);
44
- }
45
- }
46
- // Fetch Status
47
- async function fetchStatus(network, txHash, chain) {
48
- const url = `${consts_1.apiBaseUrl[network]}/v0/status/tx`;
49
- try {
50
- const response = await axios_1.default.post(url, {
51
- txHash,
52
- chainId: (0, sdk_base_1.toChainId)(chain),
53
- });
54
- return response.data;
55
- }
56
- catch (error) {
57
- throw new Error(`Failed to fetch status for txHash: ${txHash}.`);
58
- }
59
- }
60
- /**
61
- * Calculates the fast burn max fee from the remaining amount and fee in basis points.
62
- * The fee can be a decimal (e.g., 1.3 bps), so we scale by 100 to preserve precision.
63
- *
64
- * @param remainingAmount - The amount after other fees have been deducted
65
- * @param feeBps - The fast burn fee in basis points (can be decimal, e.g., 1.3)
66
- * @returns The max fee as a bigint, rounded up
67
- */
68
- function calculateFastBurnMaxFee(remainingAmount, feeBps) {
69
- // Scale bps to preserve 2 decimal places (e.g. 1.3 -> 130)
70
- const scaledBps = BigInt(Math.round(feeBps * 100));
71
- // fee = amount * (bps / 100) / 10_000
72
- // => amount * scaledBps / 1_000_000
73
- return (remainingAmount * scaledBps + 1000000n - 1n) / 1000000n;
74
- }
75
- function sleep(ms) {
76
- return new Promise((resolve) => setTimeout(resolve, ms));
77
- }
78
- async function getCircleV2Attestation(tx, network, timeout = sdk_connect_1.DEFAULT_TASK_TIMEOUT) {
79
- const sourceDomain = (0, consts_1.getCircleV2Domain)(network, tx.chain);
80
- return sdk_connect_1.tasks.retry(async () => {
81
- const url = `${consts_1.circleV2Api[network]}/messages/${sourceDomain}?transactionHash=${tx.txid}`;
82
- try {
83
- const response = await axios_1.default.get(url);
84
- // CCTP V2 could be used to send multiple transfers on a single tx
85
- // but we'll assume it's only one
86
- const attestation = response.data.messages[0];
87
- if (!attestation)
88
- return null;
89
- if (attestation.cctpVersion !== 2)
90
- throw new Error("CCTPv1 attestation found");
91
- if (attestation.status === "pending_confirmations")
92
- return null;
93
- const message = (0, layouts_1.deserializeCircleV2Message)(sdk_base_1.encoding.hex.decode(attestation.message));
94
- return {
95
- message,
96
- attestation: attestation.attestation,
97
- };
98
- }
99
- catch (error) {
100
- if (!error)
101
- return null;
102
- if (typeof error === "object") {
103
- // A 404 error means the message is not yet available
104
- // since its not available yet, we return null signaling it can be tried again
105
- if (axios_1.default.isAxiosError(error) && error.response?.status === 404)
106
- return null;
107
- if ("status" in error && error.status === 404)
108
- return null;
109
- }
110
- throw error;
111
- }
112
- }, 2000, timeout, "CCTPv2:GetMessage");
113
- }
114
- async function getCircleV2FastBurnFee(network, fromChain, toChain) {
115
- const sourceDomain = (0, consts_1.getCircleV2Domain)(network, fromChain);
116
- const destinationDomain = (0, consts_1.getCircleV2Domain)(network, toChain);
117
- const url = `${consts_1.circleV2Api[network]}/burn/USDC/fees/${sourceDomain}/${destinationDomain}`;
118
- const response = await axios_1.default.get(url);
119
- const feeTier = response.data.find((tier) => tier.finalityThreshold === consts_1.CircleV2FinalityThreshold.CONFIRMED);
120
- if (!feeTier) {
121
- throw new Error("No fee tier found for CONFIRMED finality threshold");
122
- }
123
- return feeTier.minimumFee;
124
- }
125
- // https://developers.circle.com/api-reference/stablecoins/common/reattest-message
126
- async function reattestCircleV2Message(network, attestation) {
127
- // Re-Attest the message
128
- const nonce = sdk_base_1.encoding.hex.encode(attestation.attestation.message.nonce, true);
129
- const url = `${consts_1.circleV2Api[network]}/reattest/${nonce}`;
130
- const response = await axios_1.default.post(url);
131
- if (response.data.error) {
132
- if (response.data.error.includes("Message is already finalized")) {
133
- return attestation.attestation;
134
- }
135
- throw new Error(`Error re-attesting message: ${response.data.error}`);
136
- }
137
- const fromChain = (0, consts_1.getCircleV2Chain)(network, attestation.attestation.message.sourceDomain);
138
- return sdk_connect_1.tasks.retry(async () => {
139
- const newAttestation = await getCircleV2Attestation({ txid: attestation.id, chain: fromChain }, network);
140
- if (!newAttestation)
141
- return null;
142
- if (newAttestation.message.messageBody.expirationBlock !== 0n)
143
- return null;
144
- return newAttestation;
145
- }, 2000, sdk_connect_1.DEFAULT_TASK_TIMEOUT, "CCTPv2:Reattest");
146
- }
147
- async function getCircleV2FastBurnAllowance(network) {
148
- const url = `${consts_1.circleV2Api[network]}/fastBurn/USDC/allowance`;
149
- const response = await axios_1.default.get(url);
150
- return sdk_base_1.amount.units(sdk_base_1.amount.parse(response.data.allowance, 6));
151
- }
152
- function getUsdcDestinationAddress(sourceToken, fromChain, toChain) {
153
- // Ensure the source token is USDC
154
- const sourceChainUsdcContract = sdk_base_1.circle.usdcContract.get(fromChain.network, fromChain.chain);
155
- if (!(sourceChainUsdcContract &&
156
- (0, sdk_connect_1.isSameToken)(sourceToken, sdk_connect_1.Wormhole.tokenId(fromChain.chain, sourceChainUsdcContract)))) {
157
- return [];
158
- }
159
- // Get the destination chain's USDC contract
160
- const { network, chain } = toChain;
161
- const destChainUsdcContract = sdk_base_1.circle.usdcContract.get(network, chain);
162
- if (!destChainUsdcContract)
163
- return [];
164
- return [sdk_connect_1.Wormhole.chainAddress(chain, destChainUsdcContract)];
165
- }
166
- //# sourceMappingURL=utils.js.map