@wormhole-foundation/wormhole-connect 1.1.5-beta.0-development → 1.1.6-beta.0-development

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 (175) hide show
  1. package/dist/assets/{ccip-msPNgcGk.js → ccip-dKcOvVp7.js} +1 -1
  2. package/dist/assets/{evm-72G9l3EA.js → evm-BgICy_r7.js} +26 -26
  3. package/dist/assets/{index-CiqwdThp.js → index-ByoDPErf.js} +1 -1
  4. package/dist/assets/{index-DxfMwN3f.js → index-CdexX135.js} +2 -2
  5. package/dist/assets/{index-Bij2g0qO.js → index-y9H6TVz4.js} +1 -1
  6. package/dist/assets/{index.es-jvFzSWEn.js → index.es-R2H7gRPq.js} +2 -2
  7. package/dist/assets/{solana-D5RkygmT.js → solana-CnPbpIUb.js} +1 -1
  8. package/dist/main.js +66 -66
  9. package/dist/src/hooks/useAmountValidation.d.ts +2 -1
  10. package/dist/src/hooks/useAmountValidation.d.ts.map +1 -1
  11. package/dist/src/hooks/useFetchSupportedRoutes.d.ts.map +1 -1
  12. package/dist/src/hooks/useGetTokenBalances.d.ts.map +1 -1
  13. package/dist/src/hooks/useRoutesQuotesBulk.d.ts +2 -2
  14. package/dist/src/hooks/useRoutesQuotesBulk.d.ts.map +1 -1
  15. package/dist/src/hooks/useUSDamountGetter.d.ts +2 -1
  16. package/dist/src/hooks/useUSDamountGetter.d.ts.map +1 -1
  17. package/dist/src/routes/operator.d.ts +2 -2
  18. package/dist/src/routes/operator.d.ts.map +1 -1
  19. package/dist/src/routes/sdkv2/route.d.ts +9 -9
  20. package/dist/src/routes/sdkv2/route.d.ts.map +1 -1
  21. package/dist/src/store/transferInput.d.ts +3 -4
  22. package/dist/src/store/transferInput.d.ts.map +1 -1
  23. package/dist/src/telemetry/index.d.ts +3 -3
  24. package/dist/src/telemetry/index.d.ts.map +1 -1
  25. package/dist/src/telemetry/types.d.ts +2 -2
  26. package/dist/src/telemetry/types.d.ts.map +1 -1
  27. package/dist/src/utils/errors.d.ts.map +1 -1
  28. package/dist/src/utils/inProgressTxCache.d.ts.map +1 -1
  29. package/dist/src/utils/index.d.ts +4 -4
  30. package/dist/src/utils/index.d.ts.map +1 -1
  31. package/dist/src/utils/sdkv2.d.ts +4 -4
  32. package/dist/src/utils/sdkv2.d.ts.map +1 -1
  33. package/dist/src/utils/transferValidation.d.ts +2 -2
  34. package/dist/src/utils/transferValidation.d.ts.map +1 -1
  35. package/dist/src/utils/wallet/evm.d.ts.map +1 -1
  36. package/dist/src/views/v2/Bridge/AmountInput/index.d.ts.map +1 -1
  37. package/dist/src/views/v2/Bridge/AssetPicker/TokenItem.d.ts +2 -2
  38. package/dist/src/views/v2/Bridge/AssetPicker/TokenItem.d.ts.map +1 -1
  39. package/dist/src/views/v2/Bridge/AssetPicker/TokenList.d.ts.map +1 -1
  40. package/dist/src/views/v2/Bridge/ReviewTransaction/GasSlider.d.ts +2 -1
  41. package/dist/src/views/v2/Bridge/ReviewTransaction/GasSlider.d.ts.map +1 -1
  42. package/dist/src/views/v2/Bridge/ReviewTransaction/index.d.ts.map +1 -1
  43. package/dist/src/views/v2/Bridge/Routes/SingleRoute.d.ts +2 -2
  44. package/dist/src/views/v2/Bridge/Routes/SingleRoute.d.ts.map +1 -1
  45. package/dist/src/views/v2/Bridge/Routes/index.d.ts.map +1 -1
  46. package/dist/src/views/v2/Bridge/index.d.ts.map +1 -1
  47. package/dist/src/views/v2/Redeem/TransactionDetails/index.d.ts.map +1 -1
  48. package/lib/{algorand-CE3Wqa_v.mjs → algorand-BRhQVW2h.mjs} +7 -7
  49. package/lib/{algorand-CwxndC6c.js → algorand-DwDa415R.js} +1 -1
  50. package/lib/{aptos-DgUzHI6C.mjs → aptos-BZ4F1nu2.mjs} +3 -3
  51. package/lib/{aptos-DRRFJI2u.js → aptos-D7s1XZA3.js} +1 -1
  52. package/lib/{aptos-BayhRBsD.mjs → aptos-R-aMqjQD.mjs} +1 -1
  53. package/lib/{aptos-BxWZdKfj.js → aptos-abkQjoiC.js} +2 -2
  54. package/lib/{ccip-BalJaj_d.js → ccip-Cyj5svd6.js} +1 -1
  55. package/lib/{ccip-ahCNMhXH.mjs → ccip-wOqr-6W8.mjs} +1 -1
  56. package/lib/{cosmwasm-CJYsjb7X.mjs → cosmwasm-BdNWw8fd.mjs} +10 -10
  57. package/lib/{cosmwasm-Dak0Bl9R.js → cosmwasm-QIikZzSm.js} +4 -4
  58. package/lib/{events-BM7mjQax.js → events-C3jO3FET.js} +1 -1
  59. package/lib/{events-C8IHDspS.mjs → events-D07KCWxd.mjs} +1 -1
  60. package/lib/{evm-DRFXybZm.js → evm-BwWddeEh.js} +1 -1
  61. package/lib/{evm-Bhv4lJrj.js → evm-CEzkd0RL.js} +22 -22
  62. package/lib/{evm-DLVwgj_y.mjs → evm-L9KTCHgB.mjs} +14 -14
  63. package/lib/{evm-BeVxNlHE.mjs → evm-_q30RazI.mjs} +1524 -1508
  64. package/lib/{index-D0pSIQ40.mjs → index-70IefDHN.mjs} +21 -21
  65. package/lib/{index-Dyhdug6f.js → index-7UHgjMAA.js} +1 -1
  66. package/lib/{index-CkFc4trZ.mjs → index-ArD7oWud.mjs} +25 -25
  67. package/lib/{index-CesBqtU9.mjs → index-B5SsvhJo.mjs} +8 -8
  68. package/lib/{index-BCTw0zIL.js → index-BCif3NrU.js} +1 -1
  69. package/lib/{index-D16aDSfO.js → index-BE-P1Alb.js} +1 -1
  70. package/lib/{index-DGbFwDGc.mjs → index-BXaZWtD-.mjs} +4 -4
  71. package/lib/{index-Dd0vKqSJ.js → index-BbNdrlPQ.js} +1 -1
  72. package/lib/{index-BR1-b6-B.js → index-BeChRLqf.js} +92 -92
  73. package/lib/{index-5cURqpFP.mjs → index-BgzbIGzv.mjs} +33 -33
  74. package/lib/{index-DH7qNVmK.mjs → index-BvLMmVye.mjs} +2 -2
  75. package/lib/{index-RKJC5-Jg.mjs → index-Bxp1uPZF.mjs} +5 -5
  76. package/lib/{index-Cxf9ExRb.mjs → index-C4xrXfvc.mjs} +2 -2
  77. package/lib/{index-zi6nCGIB.js → index-C7xUB9O8.js} +1 -1
  78. package/lib/{index-CSYyAISp.js → index-CD7zZZUw.js} +1 -1
  79. package/lib/{index-CVgmqSFm.js → index-CHmsJlHf.js} +1 -1
  80. package/lib/{index-DodJ9HFs.mjs → index-CK9tk2gP.mjs} +19338 -19354
  81. package/lib/{index-Cgrq3HC2.mjs → index-CKP-ePdY.mjs} +8 -8
  82. package/lib/{index-cgL89h7X.js → index-CNqznPUd.js} +1 -1
  83. package/lib/{index-CKu4L3aX.js → index-CayoVi0c.js} +1 -1
  84. package/lib/{index-D0aHfd7i.mjs → index-Cb5Micmn.mjs} +14 -14
  85. package/lib/{index-D_hZwGk-.mjs → index-Ceqiphtz.mjs} +5 -5
  86. package/lib/{index-Dy0OKkEW.js → index-Cgaqa03e.js} +1 -1
  87. package/lib/{index-CYYH0ZCt.mjs → index-CjP6pOs2.mjs} +8 -8
  88. package/lib/{index-CDbzQp-x.mjs → index-CnrJvM2F.mjs} +1 -1
  89. package/lib/{index-DzjbVRL9.js → index-CoyEwubj.js} +1 -1
  90. package/lib/{index-k-3kRwjK.mjs → index-CsXqQNvY.mjs} +3 -3
  91. package/lib/{index-CDwqNmxa.js → index-D82y9Mrh.js} +1 -1
  92. package/lib/{index-_ChocT-w.js → index-DF9m4OtS.js} +1 -1
  93. package/lib/{index-BEnE4xGu.mjs → index-DGf8uYwu.mjs} +2 -2
  94. package/lib/{index-DL4TAnOD.mjs → index-DHll3cO5.mjs} +4 -4
  95. package/lib/{index-brvOBNRW.js → index-DMZs8ccR.js} +1 -1
  96. package/lib/{index-Dv0GuxZE.mjs → index-DXTl-VCj.mjs} +2 -2
  97. package/lib/{index-8sApG9Xu.js → index-DZHTGzte.js} +1 -1
  98. package/lib/{index-Cdmmgo80.js → index-Dle7FXD7.js} +1 -1
  99. package/lib/{index-BwW1z5AV.js → index-DqqxAcgT.js} +1 -1
  100. package/lib/{index-DfEIy3Oz.mjs → index-DyAURzXW.mjs} +11 -11
  101. package/lib/{index-Bq3i4Ivt.js → index-EgEgm5G5.js} +1 -1
  102. package/lib/{index-B-5K76hu.js → index-NsVHg3jo.js} +1 -1
  103. package/lib/{index-LQvf4vkt.mjs → index-SZBaJspg.mjs} +2 -2
  104. package/lib/{index-CmNxvATU.js → index-ToRjpgcr.js} +1 -1
  105. package/lib/{index-CXI1g3fT.mjs → index-YI3-io1R.mjs} +2 -2
  106. package/lib/{index-tJkYbezA.mjs → index-oxLQWqO6.mjs} +3 -3
  107. package/lib/{index-CK1NeIpL.js → index-ubicKCgU.js} +1 -1
  108. package/lib/{index.es-32MsEXSY.mjs → index.es-B_ypK_D0.mjs} +5 -5
  109. package/lib/{index.es-Bctvgkq4.js → index.es-Bks3X3BD.js} +2 -2
  110. package/lib/index.js +1 -1
  111. package/lib/index.mjs +1 -1
  112. package/lib/{keccak-BSZcZtbR.js → keccak-8Yppy729.js} +1 -1
  113. package/lib/{keccak-DTowXJgk.mjs → keccak-Bx99aFYa.mjs} +1 -1
  114. package/lib/{pbkdf2-D7xmqxTh.js → pbkdf2-DJumVJx3.js} +1 -1
  115. package/lib/{pbkdf2-DS49cJIr.mjs → pbkdf2-DKCWpiaL.mjs} +3 -3
  116. package/lib/{signer-CfJDqXPw.js → signer-CBLDScSa.js} +1 -1
  117. package/lib/{signer-DkD6PcXT.mjs → signer-h7JgzTDS.mjs} +1 -1
  118. package/lib/solana-B98LvWhX.js +1 -0
  119. package/lib/solana-Cv7tsDGp.mjs +16 -0
  120. package/lib/{solana-ConchIwW.js → solana-ZpOA44km.js} +1 -1
  121. package/lib/{solana-aduynXA7.mjs → solana-fxLyo8CD.mjs} +79 -80
  122. package/lib/{solanaEmbed.esm-D7MJvcyZ.mjs → solanaEmbed.esm-DnhiFgoG.mjs} +3 -3
  123. package/lib/{solanaEmbed.esm-DyNDGOFf.js → solanaEmbed.esm-Dubf_kS1.js} +1 -1
  124. package/lib/src/hooks/useAmountValidation.d.ts +2 -1
  125. package/lib/src/hooks/useAmountValidation.d.ts.map +1 -1
  126. package/lib/src/hooks/useFetchSupportedRoutes.d.ts.map +1 -1
  127. package/lib/src/hooks/useGetTokenBalances.d.ts.map +1 -1
  128. package/lib/src/hooks/useRoutesQuotesBulk.d.ts +2 -2
  129. package/lib/src/hooks/useRoutesQuotesBulk.d.ts.map +1 -1
  130. package/lib/src/hooks/useUSDamountGetter.d.ts +2 -1
  131. package/lib/src/hooks/useUSDamountGetter.d.ts.map +1 -1
  132. package/lib/src/routes/operator.d.ts +2 -2
  133. package/lib/src/routes/operator.d.ts.map +1 -1
  134. package/lib/src/routes/sdkv2/route.d.ts +9 -9
  135. package/lib/src/routes/sdkv2/route.d.ts.map +1 -1
  136. package/lib/src/store/transferInput.d.ts +3 -4
  137. package/lib/src/store/transferInput.d.ts.map +1 -1
  138. package/lib/src/telemetry/index.d.ts +3 -3
  139. package/lib/src/telemetry/index.d.ts.map +1 -1
  140. package/lib/src/telemetry/types.d.ts +2 -2
  141. package/lib/src/telemetry/types.d.ts.map +1 -1
  142. package/lib/src/utils/errors.d.ts.map +1 -1
  143. package/lib/src/utils/inProgressTxCache.d.ts.map +1 -1
  144. package/lib/src/utils/index.d.ts +4 -4
  145. package/lib/src/utils/index.d.ts.map +1 -1
  146. package/lib/src/utils/sdkv2.d.ts +4 -4
  147. package/lib/src/utils/sdkv2.d.ts.map +1 -1
  148. package/lib/src/utils/transferValidation.d.ts +2 -2
  149. package/lib/src/utils/transferValidation.d.ts.map +1 -1
  150. package/lib/src/utils/wallet/evm.d.ts.map +1 -1
  151. package/lib/src/views/v2/Bridge/AmountInput/index.d.ts.map +1 -1
  152. package/lib/src/views/v2/Bridge/AssetPicker/TokenItem.d.ts +2 -2
  153. package/lib/src/views/v2/Bridge/AssetPicker/TokenItem.d.ts.map +1 -1
  154. package/lib/src/views/v2/Bridge/AssetPicker/TokenList.d.ts.map +1 -1
  155. package/lib/src/views/v2/Bridge/ReviewTransaction/GasSlider.d.ts +2 -1
  156. package/lib/src/views/v2/Bridge/ReviewTransaction/GasSlider.d.ts.map +1 -1
  157. package/lib/src/views/v2/Bridge/ReviewTransaction/index.d.ts.map +1 -1
  158. package/lib/src/views/v2/Bridge/Routes/SingleRoute.d.ts +2 -2
  159. package/lib/src/views/v2/Bridge/Routes/SingleRoute.d.ts.map +1 -1
  160. package/lib/src/views/v2/Bridge/Routes/index.d.ts.map +1 -1
  161. package/lib/src/views/v2/Bridge/index.d.ts.map +1 -1
  162. package/lib/src/views/v2/Redeem/TransactionDetails/index.d.ts.map +1 -1
  163. package/lib/{sui-DTGKQHbm.mjs → sui-BIZtKt9f.mjs} +10 -10
  164. package/lib/{sui-CLeFtCvc.js → sui-BmdtztWM.js} +2 -2
  165. package/lib/{sui-0vpOGsYX.js → sui-BnH25i7U.js} +1 -1
  166. package/lib/{sui-DNyGmAmi.mjs → sui-DY9FNYeZ.mjs} +4 -4
  167. package/lib/{unsignedTransaction-DY_mcpg6.js → unsignedTransaction-CtgH6-JM.js} +1 -1
  168. package/lib/{unsignedTransaction-DtgOV3Rk.mjs → unsignedTransaction-zfSJKDvH.mjs} +2 -2
  169. package/package.json +1 -1
  170. package/dist/src/utils/amount.d.ts +0 -4
  171. package/dist/src/utils/amount.d.ts.map +0 -1
  172. package/lib/solana-0S0m-Kst.js +0 -1
  173. package/lib/solana-CCkft4pz.mjs +0 -16
  174. package/lib/src/utils/amount.d.ts +0 -4
  175. package/lib/src/utils/amount.d.ts.map +0 -1
@@ -1,18 +1,18 @@
1
1
  var Z = Object.defineProperty;
2
2
  var j = (t, e, s) => e in t ? Z(t, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : t[e] = s;
3
3
  var y = (t, e, s) => j(t, typeof e != "symbol" ? e + "" : e, s);
4
- import { b0 as u, bl as Y, bm as I, bn as x, bo as ee, bp as ne, bq as se, h as M, ca as O, c2 as ae, cf as E, cg as N, cx as B, cs as _, bS as U, u as te, S as b, e as ie, bT as D, b4 as v, bR as re, bb as me, bU as R, cw as oe, bG as ue, g as le } from "./index-DodJ9HFs.mjs";
4
+ import { b1 as u, bm as Y, bn as I, bo as x, bp as ee, bq as ne, br as se, h as M, cb as O, c3 as ae, cg as E, ch as N, cy as B, ct as _, bT as U, u as te, S as b, e as ie, bU as D, b5 as v, bS as re, bc as me, bV as R, cx as oe, bH as ue, g as le } from "./index-CK9tk2gP.mjs";
5
5
  const h = new u("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");
6
6
  new u("TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb");
7
7
  const A = new u("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");
8
8
  new u("So11111111111111111111111111111111111111112");
9
9
  new u("9pan9bMn5HatX4EJdBwg9VgCa7Uz5HL8N1m5D3NdXejP");
10
- class de extends Error {
10
+ class ce extends Error {
11
11
  constructor(e) {
12
12
  super(e);
13
13
  }
14
14
  }
15
- class ce extends de {
15
+ class de extends ce {
16
16
  constructor() {
17
17
  super(...arguments), this.name = "TokenOwnerOffCurveError";
18
18
  }
@@ -29,7 +29,7 @@ const ge = Y([
29
29
  ge.span;
30
30
  function fe(t, e, s = !1, a = h, i = A) {
31
31
  if (!s && !u.isOnCurve(e.toBuffer()))
32
- throw new ce();
32
+ throw new de();
33
33
  const [n] = u.findProgramAddressSync([e.toBuffer(), a.toBuffer(), t.toBuffer()], i);
34
34
  return n;
35
35
  }
@@ -72,7 +72,7 @@ const o = (t, e, s) => {
72
72
  return { publicKey: i[0], bump: i[1] };
73
73
  };
74
74
  function ke(t, e, s, a, i, n, r, m, l) {
75
- const d = o("message_transmitter", t), c = o("token_messenger", e), f = o("token_minter", e), p = o("local_token", e, [s]), S = o("remote_token_messenger", e, [a.toString()]), k = o("sender_authority", e), P = L(e), T = o("__event_authority", e);
75
+ const c = o("message_transmitter", t), d = o("token_messenger", e), f = o("token_minter", e), p = o("local_token", e, [s]), S = o("remote_token_messenger", e, [a.toString()]), k = o("sender_authority", e), P = L(e), T = o("__event_authority", e);
76
76
  return P.methods.depositForBurn({
77
77
  amount: new _(m.toString()),
78
78
  destinationDomain: a,
@@ -81,8 +81,8 @@ function ke(t, e, s, a, i, n, r, m, l) {
81
81
  owner: i,
82
82
  senderAuthorityPda: k.publicKey,
83
83
  burnTokenAccount: n,
84
- messageTransmitter: d.publicKey,
85
- tokenMessenger: c.publicKey,
84
+ messageTransmitter: c.publicKey,
85
+ tokenMessenger: d.publicKey,
86
86
  remoteTokenMessenger: S.publicKey,
87
87
  tokenMinter: f.publicKey,
88
88
  localToken: p.publicKey,
@@ -104,9 +104,9 @@ function F(t, e, s) {
104
104
  return o("used_nonces", s, [a, z(t).toString()]).publicKey;
105
105
  }
106
106
  async function he(t, e, s, a, i, n) {
107
- const r = M.Buffer.from(U.serialize(a)), m = M.Buffer.from(te.decode(i)), l = new u(s), d = new u(a.payload.burnToken.toUint8Array()), c = new b(a.payload.mintRecipient).unwrap(), f = n ? new u(n) : c, p = a.sourceDomain.toString(), S = o("message_transmitter", t), k = o("token_messenger", e), P = o("token_minter", e), T = o("local_token", e, [l]), G = o("remote_token_messenger", e, [p]), H = o("token_pair", e, [
107
+ const r = M.Buffer.from(U.serialize(a)), m = M.Buffer.from(te.decode(i)), l = new u(s), c = new u(a.payload.burnToken.toUint8Array()), d = new b(a.payload.mintRecipient).unwrap(), f = n ? new u(n) : d, p = a.sourceDomain.toString(), S = o("message_transmitter", t), k = o("token_messenger", e), P = o("token_minter", e), T = o("local_token", e, [l]), H = o("remote_token_messenger", e, [p]), G = o("token_pair", e, [
108
108
  p,
109
- d
109
+ c
110
110
  ]), X = o("custody", e, [l]), q = o("message_transmitter_authority", t, [e]).publicKey, $ = F(a.nonce, a.sourceDomain, t), J = o("__event_authority", t), Q = o("__event_authority", e), g = [];
111
111
  g.push({
112
112
  isSigner: !1,
@@ -115,7 +115,7 @@ async function he(t, e, s, a, i, n) {
115
115
  }), g.push({
116
116
  isSigner: !1,
117
117
  isWritable: !1,
118
- pubkey: G.publicKey
118
+ pubkey: H.publicKey
119
119
  }), g.push({
120
120
  isSigner: !1,
121
121
  isWritable: !0,
@@ -127,11 +127,11 @@ async function he(t, e, s, a, i, n) {
127
127
  }), g.push({
128
128
  isSigner: !1,
129
129
  isWritable: !1,
130
- pubkey: H.publicKey
130
+ pubkey: G.publicKey
131
131
  }), g.push({
132
132
  isSigner: !1,
133
133
  isWritable: !0,
134
- pubkey: c
134
+ pubkey: d
135
135
  }), g.push({
136
136
  isSigner: !1,
137
137
  isWritable: !0,
@@ -194,15 +194,15 @@ class w {
194
194
  async *redeem(e, s, a) {
195
195
  const i = new u(D.get(this.network, this.chain)), n = new b(e).unwrap(), r = new b(s.payload.mintRecipient).unwrap();
196
196
  if (!await this.connection.getAccountInfo(r)) {
197
- const c = new v().add(pe(n, r, n, i));
198
- c.feePayer = n, yield this.createUnsignedTx({ transaction: c }, "CircleBridge.CreateATA");
197
+ const d = new v().add(pe(n, r, n, i));
198
+ d.feePayer = n, yield this.createUnsignedTx({ transaction: d }, "CircleBridge.CreateATA");
199
199
  }
200
- const l = await he(this.messageTransmitter.programId, this.tokenMessenger.programId, i, s, a, n), d = new v();
201
- d.feePayer = n, d.add(l), yield this.createUnsignedTx({ transaction: d }, "CircleBridge.Redeem");
200
+ const l = await he(this.messageTransmitter.programId, this.tokenMessenger.programId, i, s, a, n), c = new v();
201
+ c.feePayer = n, c.add(l), yield this.createUnsignedTx({ transaction: c }, "CircleBridge.Redeem");
202
202
  }
203
203
  async *transfer(e, s, a) {
204
- const i = new u(D.get(this.network, this.chain)), n = new b(e).unwrap(), r = fe(i, n), m = re.get(this.network, s.chain), l = s.address.toUniversalAddress(), d = me.generate(), c = await ke(this.messageTransmitter.programId, this.tokenMessenger.programId, i, m, n, r, l, a, d.publicKey), f = new v();
205
- f.feePayer = n, f.add(c), yield this.createUnsignedTx({ transaction: f, signers: [d] }, "CircleBridge.Transfer");
204
+ const i = new u(D.get(this.network, this.chain)), n = new b(e).unwrap(), r = fe(i, n), m = re.get(this.network, s.chain), l = s.address.toUniversalAddress(), c = me.generate(), d = await ke(this.messageTransmitter.programId, this.tokenMessenger.programId, i, m, n, r, l, a, c.publicKey), f = new v();
205
+ f.feePayer = n, f.add(d), yield this.createUnsignedTx({ transaction: f, signers: [c] }, "CircleBridge.Transfer");
206
206
  }
207
207
  async isTransferCompleted(e) {
208
208
  const s = F(e.nonce, e.sourceDomain, this.messageTransmitter.programId), a = z(e.nonce), { usedNonces: i } = await this.messageTransmitter.account.usedNonces.fetch(s), n = Number(e.nonce - a), r = i[Math.floor(n / 64)];
@@ -222,12 +222,12 @@ class w {
222
222
  const i = a.get(1), n = await this.connection.getAccountInfo(i);
223
223
  if (!n)
224
224
  throw new Error("No account data found");
225
- const r = new Uint8Array(n.data).slice(44), [m, l] = U.deserialize(r), { payload: d } = m, c = d.messageSender, f = d.mintRecipient, p = R(this.network, m.sourceDomain), S = R(this.network, m.destinationDomain), k = { chain: p, address: d.burnToken };
225
+ const r = new Uint8Array(n.data).slice(44), [m, l] = U.deserialize(r), { payload: c } = m, d = c.messageSender, f = c.mintRecipient, p = R(this.network, m.sourceDomain), S = R(this.network, m.destinationDomain), k = { chain: p, address: c.burnToken };
226
226
  return {
227
- from: { chain: p, address: c },
227
+ from: { chain: p, address: d },
228
228
  to: { chain: S, address: f },
229
229
  token: k,
230
- amount: d.amount,
230
+ amount: c.amount,
231
231
  message: m,
232
232
  id: { hash: l }
233
233
  };
@@ -1 +1 @@
1
- "use strict";var U=Object.defineProperty;var L=(i,e,a)=>e in i?U(i,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[e]=a;var y=(i,e,a)=>L(i,typeof e!="symbol"?e+"":e,a);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./index-BR1-b6-B.js"),k=new n.PublicKey("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");new n.PublicKey("TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb");const T=new n.PublicKey("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");new n.PublicKey("So11111111111111111111111111111111111111112");new n.PublicKey("9pan9bMn5HatX4EJdBwg9VgCa7Uz5HL8N1m5D3NdXejP");class W extends Error{constructor(e){super(e)}}class z extends W{constructor(){super(...arguments),this.name="TokenOwnerOffCurveError"}}const F=n.struct([n.u32("mintAuthorityOption"),n.publicKey("mintAuthority"),n.u64("supply"),n.u8("decimals"),n.bool("isInitialized"),n.u32("freezeAuthorityOption"),n.publicKey("freezeAuthority")]);F.span;function V(i,e,a=!1,t=k,r=T){if(!a&&!n.PublicKey.isOnCurve(e.toBuffer()))throw new z;const[s]=n.PublicKey.findProgramAddressSync([e.toBuffer(),t.toBuffer(),i.toBuffer()],r);return s}function H(i,e,a,t,r=k,s=T){return G(i,e,a,t,n.dist.Buffer.alloc(0),r,s)}function G(i,e,a,t,r,s=k,m=T){const o=[{pubkey:i,isSigner:!0,isWritable:!0},{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!1},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:n.SystemProgram.programId,isSigner:!1,isWritable:!1},{pubkey:s,isSigner:!1,isWritable:!1}];return new n.TransactionInstruction({keys:o,programId:m,data:r})}function K(i,e){return new n.Program(v.TokenMessengerIdl,new n.PublicKey(i),e===void 0?{connection:null}:e)}function X(i,e){return K(i,n.createReadOnlyProvider(e))}function I(i,e){return new n.Program(v.MessageTransmitterIdl,new n.PublicKey(i),e===void 0?{connection:null}:e)}function $(i,e){return I(i,n.createReadOnlyProvider(e))}const u=(i,e,a)=>{const t=[n.dist.Buffer.from(n.index.bytes.utf8.encode(i))];if(a)for(const s of a)typeof s=="string"?t.push(n.dist.Buffer.from(n.index.bytes.utf8.encode(s))):Array.isArray(s)?t.push(n.dist.Buffer.from(s)):n.dist.Buffer.isBuffer(s)?t.push(s):t.push(s.toBuffer());const r=n.PublicKey.findProgramAddressSync(t,e);return{publicKey:r[0],bump:r[1]}};function q(i,e,a,t,r,s,m,o,l){const d=u("message_transmitter",i),c=u("token_messenger",e),f=u("token_minter",e),p=u("local_token",e,[a]),M=u("remote_token_messenger",e,[t.toString()]),S=u("sender_authority",e),h=K(e),P=u("__event_authority",e);return h.methods.depositForBurn({amount:new n._BN(o.toString()),destinationDomain:t,mintRecipient:new n.PublicKey(m.toUint8Array())}).accounts({owner:r,senderAuthorityPda:S.publicKey,burnTokenAccount:s,messageTransmitter:d.publicKey,tokenMessenger:c.publicKey,remoteTokenMessenger:M.publicKey,tokenMinter:f.publicKey,localToken:p.publicKey,burnTokenMint:a,messageTransmitterProgram:i,tokenMessengerMinterProgram:e,tokenProgram:k,eventAuthority:P.publicKey,eventRentPayer:r,messageSentEventData:l}).instruction()}const w=6400n;function x(i){return(i-BigInt(1))/w*w+BigInt(1)}function B(i,e,a){const t=e.toString();return u("used_nonces",a,[t,x(i).toString()]).publicKey}async function J(i,e,a,t,r,s){const m=n.dist.Buffer.from(n.CircleBridge.serialize(t)),o=n.dist.Buffer.from(n.hex.decode(r)),l=new n.PublicKey(a),d=new n.PublicKey(t.payload.burnToken.toUint8Array()),c=new n.SolanaAddress(t.payload.mintRecipient).unwrap(),f=s?new n.PublicKey(s):c,p=t.sourceDomain.toString(),M=u("message_transmitter",i),S=u("token_messenger",e),h=u("token_minter",e),P=u("local_token",e,[l]),D=u("remote_token_messenger",e,[p]),C=u("token_pair",e,[p,d]),R=u("custody",e,[l]),O=u("message_transmitter_authority",i,[e]).publicKey,E=B(t.nonce,t.sourceDomain,i),N=u("__event_authority",i),_=u("__event_authority",e),g=[];g.push({isSigner:!1,isWritable:!1,pubkey:S.publicKey}),g.push({isSigner:!1,isWritable:!1,pubkey:D.publicKey}),g.push({isSigner:!1,isWritable:!0,pubkey:h.publicKey}),g.push({isSigner:!1,isWritable:!0,pubkey:P.publicKey}),g.push({isSigner:!1,isWritable:!1,pubkey:C.publicKey}),g.push({isSigner:!1,isWritable:!0,pubkey:c}),g.push({isSigner:!1,isWritable:!0,pubkey:R.publicKey}),g.push({isSigner:!1,isWritable:!1,pubkey:k}),g.push({isSigner:!1,isWritable:!1,pubkey:_.publicKey}),g.push({isSigner:!1,isWritable:!1,pubkey:e});const A=I(i);return A.methods.receiveMessage({message:m,attestation:o}).accounts({payer:f,caller:f,authorityPda:O,messageTransmitter:M.publicKey,usedNonces:E,receiver:e,systemProgram:n.SystemProgram.programId,eventAuthority:N.publicKey,program:A.programId}).remainingAccounts(g).transaction()}class b{constructor(e,a,t,r){y(this,"network");y(this,"chain");y(this,"connection");y(this,"contracts");y(this,"tokenMessenger");y(this,"messageTransmitter");var o,l;if(this.network=e,this.chain=a,this.connection=t,this.contracts=r,e==="Devnet")throw new Error("CircleBridge not supported on Devnet");const s=(o=r.cctp)==null?void 0:o.messageTransmitter;if(!s)throw new Error(`Circle Messenge Transmitter contract for domain ${a} not found`);this.messageTransmitter=$(new n.PublicKey(s),this.connection);const m=(l=r.cctp)==null?void 0:l.tokenMessenger;if(!m)throw new Error(`Circle Token Messenger contract for domain ${a} not found`);this.tokenMessenger=X(new n.PublicKey(m),this.connection)}static async fromRpc(e,a){const[t,r]=await n.SolanaPlatform.chainFromRpc(e),s=a[r];if(s.network!==t)throw new Error(`Network mismatch: ${s.network} != ${t}`);return new b(t,r,e,s.contracts)}async*redeem(e,a,t){const r=new n.PublicKey(n.usdcContract.get(this.network,this.chain)),s=new n.SolanaAddress(e).unwrap(),m=new n.SolanaAddress(a.payload.mintRecipient).unwrap();if(!await this.connection.getAccountInfo(m)){const c=new n.Transaction().add(H(s,m,s,r));c.feePayer=s,yield this.createUnsignedTx({transaction:c},"CircleBridge.CreateATA")}const l=await J(this.messageTransmitter.programId,this.tokenMessenger.programId,r,a,t,s),d=new n.Transaction;d.feePayer=s,d.add(l),yield this.createUnsignedTx({transaction:d},"CircleBridge.Redeem")}async*transfer(e,a,t){const r=new n.PublicKey(n.usdcContract.get(this.network,this.chain)),s=new n.SolanaAddress(e).unwrap(),m=V(r,s),o=n.circleChainId.get(this.network,a.chain),l=a.address.toUniversalAddress(),d=n.Keypair.generate(),c=await q(this.messageTransmitter.programId,this.tokenMessenger.programId,r,o,s,m,l,t,d.publicKey),f=new n.Transaction;f.feePayer=s,f.add(c),yield this.createUnsignedTx({transaction:f,signers:[d]},"CircleBridge.Transfer")}async isTransferCompleted(e){const a=B(e.nonce,e.sourceDomain,this.messageTransmitter.programId),t=x(e.nonce),{usedNonces:r}=await this.messageTransmitter.account.usedNonces.fetch(a),s=Number(e.nonce-t),m=r[Math.floor(s/64)];if(!m)throw new Error("Invalid nonce byte index");const o=s%64,l=new n._BN((BigInt(1)<<BigInt(o)).toString());return!m.and(l).isZero()}async parseTransactionDetails(e){const a=await this.connection.getTransaction(e);if(!a||!a.meta)throw new Error("Transaction not found");const t=a.transaction.message.getAccountKeys();if(t.length<2)throw new Error("No message account found");const r=t.get(1),s=await this.connection.getAccountInfo(r);if(!s)throw new Error("No account data found");const m=new Uint8Array(s.data).slice(44),[o,l]=n.CircleBridge.deserialize(m),{payload:d}=o,c=d.messageSender,f=d.mintRecipient,p=n.toCircleChain(this.network,o.sourceDomain),M=n.toCircleChain(this.network,o.destinationDomain),S={chain:p,address:d.burnToken};return{from:{chain:p,address:c},to:{chain:M,address:f},token:S,amount:d.amount,message:o,id:{hash:l}}}createUnsignedTx(e,a,t=!1){return new n.SolanaUnsignedTransaction(e,this.network,this.chain,a,t)}}const Q={version:"0.1.0",name:"token_messenger_minter",instructions:[{name:"initialize",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"upgradeAuthority",isMut:!1,isSigner:!0},{name:"authorityPda",isMut:!1,isSigner:!1},{name:"tokenMessenger",isMut:!0,isSigner:!1},{name:"tokenMinter",isMut:!0,isSigner:!1},{name:"tokenMessengerMinterProgramData",isMut:!1,isSigner:!1},{name:"tokenMessengerMinterProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"InitializeParams"}}]},{name:"transferOwnership",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"TransferOwnershipParams"}}]},{name:"acceptOwnership",accounts:[{name:"pendingOwner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"AcceptOwnershipParams"}}]},{name:"addRemoteTokenMessenger",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"owner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"remoteTokenMessenger",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"AddRemoteTokenMessengerParams"}}]},{name:"removeRemoteTokenMessenger",accounts:[{name:"payee",isMut:!0,isSigner:!0},{name:"owner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"remoteTokenMessenger",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"RemoveRemoteTokenMessengerParams"}}]},{name:"depositForBurn",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!1},{name:"burnTokenAccount",isMut:!0,isSigner:!1},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"remoteTokenMessenger",isMut:!1,isSigner:!1},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"burnTokenMint",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"messageTransmitterProgram",isMut:!1,isSigner:!1},{name:"tokenMessengerMinterProgram",isMut:!1,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"DepositForBurnParams"}}],returns:"u64"},{name:"depositForBurnWithCaller",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!1},{name:"burnTokenAccount",isMut:!0,isSigner:!1},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"remoteTokenMessenger",isMut:!1,isSigner:!1},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"burnTokenMint",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"messageTransmitterProgram",isMut:!1,isSigner:!1},{name:"tokenMessengerMinterProgram",isMut:!1,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"DepositForBurnWithCallerParams"}}],returns:"u64"},{name:"replaceDepositForBurn",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!1},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"messageTransmitterProgram",isMut:!1,isSigner:!1},{name:"tokenMessengerMinterProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"ReplaceDepositForBurnParams"}}],returns:"u64"},{name:"handleReceiveMessage",accounts:[{name:"authorityPda",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"remoteTokenMessenger",isMut:!1,isSigner:!1},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"tokenPair",isMut:!1,isSigner:!1},{name:"recipientTokenAccount",isMut:!0,isSigner:!1},{name:"custodyTokenAccount",isMut:!0,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"HandleReceiveMessageParams"}}]},{name:"setTokenController",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"tokenMinter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetTokenControllerParams"}}]},{name:"pause",accounts:[{name:"pauser",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"PauseParams"}}]},{name:"unpause",accounts:[{name:"pauser",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UnpauseParams"}}]},{name:"updatePauser",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"tokenMinter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UpdatePauserParams"}}]},{name:"setMaxBurnAmountPerMessage",accounts:[{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetMaxBurnAmountPerMessageParams"}}]},{name:"addLocalToken",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"custodyTokenAccount",isMut:!0,isSigner:!1},{name:"localTokenMint",isMut:!1,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"AddLocalTokenParams"}}]},{name:"removeLocalToken",accounts:[{name:"payee",isMut:!0,isSigner:!0},{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"custodyTokenAccount",isMut:!0,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"RemoveLocalTokenParams"}}]},{name:"linkTokenPair",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"tokenPair",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"LinkTokenPairParams"}}]},{name:"unlinkTokenPair",accounts:[{name:"payee",isMut:!0,isSigner:!0},{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"tokenPair",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UninkTokenPairParams"}}]},{name:"burnTokenCustody",accounts:[{name:"payee",isMut:!0,isSigner:!0},{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!1,isSigner:!1},{name:"custodyTokenAccount",isMut:!0,isSigner:!1},{name:"custodyTokenMint",isMut:!0,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"BurnTokenCustodyParams"}}]}],accounts:[{name:"tokenMessenger",type:{kind:"struct",fields:[{name:"owner",type:"publicKey"},{name:"pendingOwner",type:"publicKey"},{name:"localMessageTransmitter",type:"publicKey"},{name:"messageBodyVersion",type:"u32"},{name:"authorityBump",type:"u8"}]}},{name:"remoteTokenMessenger",type:{kind:"struct",fields:[{name:"domain",type:"u32"},{name:"tokenMessenger",type:"publicKey"}]}},{name:"tokenMinter",type:{kind:"struct",fields:[{name:"tokenController",type:"publicKey"},{name:"pauser",type:"publicKey"},{name:"paused",type:"bool"},{name:"bump",type:"u8"}]}},{name:"tokenPair",type:{kind:"struct",fields:[{name:"remoteDomain",type:"u32"},{name:"remoteToken",type:"publicKey"},{name:"localToken",type:"publicKey"},{name:"bump",type:"u8"}]}},{name:"localToken",type:{kind:"struct",fields:[{name:"custody",type:"publicKey"},{name:"mint",type:"publicKey"},{name:"burnLimitPerMessage",type:"u64"},{name:"messagesSent",type:"u64"},{name:"messagesReceived",type:"u64"},{name:"amountSent",type:"u128"},{name:"amountReceived",type:"u128"},{name:"bump",type:"u8"},{name:"custodyBump",type:"u8"}]}}],types:[{name:"AcceptOwnershipParams",type:{kind:"struct",fields:[]}},{name:"AddRemoteTokenMessengerParams",type:{kind:"struct",fields:[{name:"domain",type:"u32"},{name:"tokenMessenger",type:"publicKey"}]}},{name:"DepositForBurnWithCallerParams",type:{kind:"struct",fields:[{name:"amount",type:"u64"},{name:"destinationDomain",type:"u32"},{name:"mintRecipient",type:"publicKey"},{name:"destinationCaller",type:"publicKey"}]}},{name:"DepositForBurnParams",type:{kind:"struct",fields:[{name:"amount",type:"u64"},{name:"destinationDomain",type:"u32"},{name:"mintRecipient",type:"publicKey"}]}},{name:"HandleReceiveMessageParams",type:{kind:"struct",fields:[{name:"remoteDomain",type:"u32"},{name:"sender",type:"publicKey"},{name:"messageBody",type:"bytes"},{name:"authorityBump",type:"u8"}]}},{name:"InitializeParams",type:{kind:"struct",fields:[{name:"tokenController",type:"publicKey"},{name:"localMessageTransmitter",type:"publicKey"},{name:"messageBodyVersion",type:"u32"}]}},{name:"RemoveRemoteTokenMessengerParams",type:{kind:"struct",fields:[]}},{name:"ReplaceDepositForBurnParams",type:{kind:"struct",fields:[{name:"originalMessage",type:"bytes"},{name:"originalAttestation",type:"bytes"},{name:"newDestinationCaller",type:"publicKey"},{name:"newMintRecipient",type:"publicKey"}]}},{name:"TransferOwnershipParams",type:{kind:"struct",fields:[{name:"newOwner",type:"publicKey"}]}},{name:"AddLocalTokenParams",type:{kind:"struct",fields:[]}},{name:"BurnTokenCustodyParams",type:{kind:"struct",fields:[{name:"amount",type:"u64"}]}},{name:"LinkTokenPairParams",type:{kind:"struct",fields:[{name:"localToken",type:"publicKey"},{name:"remoteDomain",type:"u32"},{name:"remoteToken",type:"publicKey"}]}},{name:"PauseParams",type:{kind:"struct",fields:[]}},{name:"RemoveLocalTokenParams",type:{kind:"struct",fields:[]}},{name:"SetMaxBurnAmountPerMessageParams",type:{kind:"struct",fields:[{name:"burnLimitPerMessage",type:"u64"}]}},{name:"SetTokenControllerParams",type:{kind:"struct",fields:[{name:"tokenController",type:"publicKey"}]}},{name:"UninkTokenPairParams",type:{kind:"struct",fields:[]}},{name:"UnpauseParams",type:{kind:"struct",fields:[]}},{name:"UpdatePauserParams",type:{kind:"struct",fields:[{name:"newPauser",type:"publicKey"}]}},{name:"TokenMinterError",type:{kind:"enum",variants:[{name:"InvalidAuthority"},{name:"InvalidTokenMinterState"},{name:"ProgramPaused"},{name:"InvalidTokenPairState"},{name:"InvalidLocalTokenState"},{name:"InvalidPauser"},{name:"InvalidTokenController"},{name:"BurnAmountExceeded"},{name:"InvalidAmount"}]}}],events:[{name:"OwnershipTransferStarted",fields:[{name:"previousOwner",type:"publicKey",index:!1},{name:"newOwner",type:"publicKey",index:!1}]},{name:"OwnershipTransferred",fields:[{name:"previousOwner",type:"publicKey",index:!1},{name:"newOwner",type:"publicKey",index:!1}]},{name:"DepositForBurn",fields:[{name:"nonce",type:"u64",index:!1},{name:"burnToken",type:"publicKey",index:!1},{name:"amount",type:"u64",index:!1},{name:"depositor",type:"publicKey",index:!1},{name:"mintRecipient",type:"publicKey",index:!1},{name:"destinationDomain",type:"u32",index:!1},{name:"destinationTokenMessenger",type:"publicKey",index:!1},{name:"destinationCaller",type:"publicKey",index:!1}]},{name:"MintAndWithdraw",fields:[{name:"mintRecipient",type:"publicKey",index:!1},{name:"amount",type:"u64",index:!1},{name:"mintToken",type:"publicKey",index:!1}]},{name:"RemoteTokenMessengerAdded",fields:[{name:"domain",type:"u32",index:!1},{name:"tokenMessenger",type:"publicKey",index:!1}]},{name:"RemoteTokenMessengerRemoved",fields:[{name:"domain",type:"u32",index:!1},{name:"tokenMessenger",type:"publicKey",index:!1}]},{name:"SetTokenController",fields:[{name:"tokenController",type:"publicKey",index:!1}]},{name:"PauserChanged",fields:[{name:"newAddress",type:"publicKey",index:!1}]},{name:"SetBurnLimitPerMessage",fields:[{name:"token",type:"publicKey",index:!1},{name:"burnLimitPerMessage",type:"u64",index:!1}]},{name:"LocalTokenAdded",fields:[{name:"custody",type:"publicKey",index:!1},{name:"mint",type:"publicKey",index:!1}]},{name:"LocalTokenRemoved",fields:[{name:"custody",type:"publicKey",index:!1},{name:"mint",type:"publicKey",index:!1}]},{name:"TokenPairLinked",fields:[{name:"localToken",type:"publicKey",index:!1},{name:"remoteDomain",type:"u32",index:!1},{name:"remoteToken",type:"publicKey",index:!1}]},{name:"TokenPairUnlinked",fields:[{name:"localToken",type:"publicKey",index:!1},{name:"remoteDomain",type:"u32",index:!1},{name:"remoteToken",type:"publicKey",index:!1}]},{name:"Pause",fields:[]},{name:"Unpause",fields:[]},{name:"TokenCustodyBurned",fields:[{name:"custodyTokenAccount",type:"publicKey",index:!1},{name:"amount",type:"u64",index:!1}]}],errors:[{code:6e3,name:"InvalidAuthority",msg:"Invalid authority"},{code:6001,name:"InvalidTokenMessengerState",msg:"Invalid token messenger state"},{code:6002,name:"InvalidTokenMessenger",msg:"Invalid token messenger"},{code:6003,name:"InvalidOwner",msg:"Invalid owner"},{code:6004,name:"MalformedMessage",msg:"Malformed message"},{code:6005,name:"InvalidMessageBodyVersion",msg:"Invalid message body version"},{code:6006,name:"InvalidAmount",msg:"Invalid amount"},{code:6007,name:"InvalidDestinationDomain",msg:"Invalid destination domain"},{code:6008,name:"InvalidDestinationCaller",msg:"Invalid destination caller"},{code:6009,name:"InvalidMintRecipient",msg:"Invalid mint recipient"},{code:6010,name:"InvalidSender",msg:"Invalid sender"},{code:6011,name:"InvalidTokenPair",msg:"Invalid token pair"},{code:6012,name:"InvalidTokenMint",msg:"Invalid token mint"}]},Z={version:"0.1.0",name:"message_transmitter",instructions:[{name:"initialize",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"upgradeAuthority",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"messageTransmitterProgramData",isMut:!1,isSigner:!1},{name:"messageTransmitterProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"InitializeParams"}}]},{name:"transferOwnership",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"TransferOwnershipParams"}}]},{name:"acceptOwnership",accounts:[{name:"pendingOwner",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"AcceptOwnershipParams"}}]},{name:"updatePauser",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UpdatePauserParams"}}]},{name:"updateAttesterManager",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UpdateAttesterManagerParams"}}]},{name:"pause",accounts:[{name:"pauser",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"PauseParams"}}]},{name:"unpause",accounts:[{name:"pauser",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UnpauseParams"}}]},{name:"setMaxMessageBodySize",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetMaxMessageBodySizeParams"}}]},{name:"enableAttester",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"attesterManager",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"EnableAttesterParams"}}]},{name:"disableAttester",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"attesterManager",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"DisableAttesterParams"}}]},{name:"setSignatureThreshold",accounts:[{name:"attesterManager",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetSignatureThresholdParams"}}]},{name:"sendMessage",accounts:[{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"senderProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SendMessageParams"}}],returns:"u64"},{name:"sendMessageWithCaller",accounts:[{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"senderProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SendMessageWithCallerParams"}}],returns:"u64"},{name:"replaceMessage",accounts:[{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"senderProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"ReplaceMessageParams"}}],returns:"u64"},{name:"receiveMessage",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"caller",isMut:!1,isSigner:!0},{name:"authorityPda",isMut:!1,isSigner:!1},{name:"messageTransmitter",isMut:!1,isSigner:!1},{name:"usedNonces",isMut:!0,isSigner:!1},{name:"receiver",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"ReceiveMessageParams"}}]},{name:"reclaimEventAccount",accounts:[{name:"payee",isMut:!0,isSigner:!0,docs:["rent SOL receiver, should match original rent payer"]},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!1}],args:[{name:"params",type:{defined:"ReclaimEventAccountParams"}}]},{name:"getNoncePda",accounts:[{name:"messageTransmitter",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"GetNoncePDAParams"}}],returns:"publicKey"},{name:"isNonceUsed",accounts:[{name:"usedNonces",isMut:!1,isSigner:!1,docs:["Account will be explicitly loaded to avoid error when it's not initialized"]}],args:[{name:"params",type:{defined:"IsNonceUsedParams"}}],returns:"bool"}],accounts:[{name:"messageSent",type:{kind:"struct",fields:[{name:"rentPayer",type:"publicKey"},{name:"message",type:"bytes"}]}},{name:"messageTransmitter",docs:["Main state of the MessageTransmitter program"],type:{kind:"struct",fields:[{name:"owner",type:"publicKey"},{name:"pendingOwner",type:"publicKey"},{name:"attesterManager",type:"publicKey"},{name:"pauser",type:"publicKey"},{name:"paused",type:"bool"},{name:"localDomain",type:"u32"},{name:"version",type:"u32"},{name:"signatureThreshold",type:"u32"},{name:"enabledAttesters",type:{vec:"publicKey"}},{name:"maxMessageBodySize",type:"u64"},{name:"nextAvailableNonce",type:"u64"}]}},{name:"usedNonces",docs:["UsedNonces account holds an array of bits that indicate which nonces were already used","so they can't be resused to receive new messages. Array starts with the first_nonce and","holds flags for UsedNonces::MAX_NONCES. Nonces are recorded separately for each remote_domain."],type:{kind:"struct",fields:[{name:"remoteDomain",type:"u32"},{name:"firstNonce",type:"u64"},{name:"usedNonces",type:{array:["u64",100]}}]}}],types:[{name:"AcceptOwnershipParams",type:{kind:"struct",fields:[]}},{name:"DisableAttesterParams",type:{kind:"struct",fields:[{name:"attester",type:"publicKey"}]}},{name:"EnableAttesterParams",type:{kind:"struct",fields:[{name:"newAttester",type:"publicKey"}]}},{name:"GetNoncePDAParams",type:{kind:"struct",fields:[{name:"nonce",type:"u64"},{name:"sourceDomain",type:"u32"}]}},{name:"InitializeParams",type:{kind:"struct",fields:[{name:"localDomain",type:"u32"},{name:"attester",type:"publicKey"},{name:"maxMessageBodySize",type:"u64"},{name:"version",type:"u32"}]}},{name:"IsNonceUsedParams",type:{kind:"struct",fields:[{name:"nonce",type:"u64"}]}},{name:"PauseParams",type:{kind:"struct",fields:[]}},{name:"ReceiveMessageParams",type:{kind:"struct",fields:[{name:"message",type:"bytes"},{name:"attestation",type:"bytes"}]}},{name:"HandleReceiveMessageParams",type:{kind:"struct",fields:[{name:"remoteDomain",type:"u32"},{name:"sender",type:"publicKey"},{name:"messageBody",type:"bytes"},{name:"authorityBump",type:"u8"}]}},{name:"ReclaimEventAccountParams",type:{kind:"struct",fields:[{name:"attestation",type:"bytes"}]}},{name:"ReplaceMessageParams",type:{kind:"struct",fields:[{name:"originalMessage",type:"bytes"},{name:"originalAttestation",type:"bytes"},{name:"newMessageBody",type:"bytes"},{name:"newDestinationCaller",type:"publicKey"}]}},{name:"SendMessageWithCallerParams",type:{kind:"struct",fields:[{name:"destinationDomain",type:"u32"},{name:"recipient",type:"publicKey"},{name:"messageBody",type:"bytes"},{name:"destinationCaller",type:"publicKey"}]}},{name:"SendMessageParams",type:{kind:"struct",fields:[{name:"destinationDomain",type:"u32"},{name:"recipient",type:"publicKey"},{name:"messageBody",type:"bytes"}]}},{name:"SetMaxMessageBodySizeParams",type:{kind:"struct",fields:[{name:"newMaxMessageBodySize",type:"u64"}]}},{name:"SetSignatureThresholdParams",type:{kind:"struct",fields:[{name:"newSignatureThreshold",type:"u32"}]}},{name:"TransferOwnershipParams",type:{kind:"struct",fields:[{name:"newOwner",type:"publicKey"}]}},{name:"UnpauseParams",type:{kind:"struct",fields:[]}},{name:"UpdateAttesterManagerParams",type:{kind:"struct",fields:[{name:"newAttesterManager",type:"publicKey"}]}},{name:"UpdatePauserParams",type:{kind:"struct",fields:[{name:"newPauser",type:"publicKey"}]}},{name:"MathError",type:{kind:"enum",variants:[{name:"MathOverflow"},{name:"MathUnderflow"},{name:"ErrorInDivision"}]}}],events:[{name:"OwnershipTransferStarted",fields:[{name:"previousOwner",type:"publicKey",index:!1},{name:"newOwner",type:"publicKey",index:!1}]},{name:"OwnershipTransferred",fields:[{name:"previousOwner",type:"publicKey",index:!1},{name:"newOwner",type:"publicKey",index:!1}]},{name:"PauserChanged",fields:[{name:"newAddress",type:"publicKey",index:!1}]},{name:"AttesterManagerUpdated",fields:[{name:"previousAttesterManager",type:"publicKey",index:!1},{name:"newAttesterManager",type:"publicKey",index:!1}]},{name:"MessageReceived",fields:[{name:"caller",type:"publicKey",index:!1},{name:"sourceDomain",type:"u32",index:!1},{name:"nonce",type:"u64",index:!1},{name:"sender",type:"publicKey",index:!1},{name:"messageBody",type:"bytes",index:!1}]},{name:"SignatureThresholdUpdated",fields:[{name:"oldSignatureThreshold",type:"u32",index:!1},{name:"newSignatureThreshold",type:"u32",index:!1}]},{name:"AttesterEnabled",fields:[{name:"attester",type:"publicKey",index:!1}]},{name:"AttesterDisabled",fields:[{name:"attester",type:"publicKey",index:!1}]},{name:"MaxMessageBodySizeUpdated",fields:[{name:"newMaxMessageBodySize",type:"u64",index:!1}]},{name:"Pause",fields:[]},{name:"Unpause",fields:[]}],errors:[{code:6e3,name:"InvalidAuthority",msg:"Invalid authority"},{code:6001,name:"ProgramPaused",msg:"Instruction is not allowed at this time"},{code:6002,name:"InvalidMessageTransmitterState",msg:"Invalid message transmitter state"},{code:6003,name:"InvalidSignatureThreshold",msg:"Invalid signature threshold"},{code:6004,name:"SignatureThresholdAlreadySet",msg:"Signature threshold already set"},{code:6005,name:"InvalidOwner",msg:"Invalid owner"},{code:6006,name:"InvalidPauser",msg:"Invalid pauser"},{code:6007,name:"InvalidAttesterManager",msg:"Invalid attester manager"},{code:6008,name:"InvalidAttester",msg:"Invalid attester"},{code:6009,name:"AttesterAlreadyEnabled",msg:"Attester already enabled"},{code:6010,name:"TooFewEnabledAttesters",msg:"Too few enabled attesters"},{code:6011,name:"SignatureThresholdTooLow",msg:"Signature threshold is too low"},{code:6012,name:"AttesterAlreadyDisabled",msg:"Attester already disabled"},{code:6013,name:"MessageBodyLimitExceeded",msg:"Message body exceeds max size"},{code:6014,name:"InvalidDestinationCaller",msg:"Invalid destination caller"},{code:6015,name:"InvalidRecipient",msg:"Invalid message recipient"},{code:6016,name:"SenderNotPermitted",msg:"Sender is not permitted"},{code:6017,name:"InvalidSourceDomain",msg:"Invalid source domain"},{code:6018,name:"InvalidDestinationDomain",msg:"Invalid destination domain"},{code:6019,name:"InvalidMessageVersion",msg:"Invalid message version"},{code:6020,name:"InvalidUsedNoncesAccount",msg:"Invalid used nonces account"},{code:6021,name:"InvalidRecipientProgram",msg:"Invalid recipient program"},{code:6022,name:"InvalidNonce",msg:"Invalid nonce"},{code:6023,name:"NonceAlreadyUsed",msg:"Nonce already used"},{code:6024,name:"MessageTooShort",msg:"Message is too short"},{code:6025,name:"MalformedMessage",msg:"Malformed message"},{code:6026,name:"InvalidSignatureOrderOrDupe",msg:"Invalid signature order or dupe"},{code:6027,name:"InvalidAttesterSignature",msg:"Invalid attester signature"},{code:6028,name:"InvalidAttestationLength",msg:"Invalid attestation length"},{code:6029,name:"InvalidSignatureRecoveryId",msg:"Invalid signature recovery ID"},{code:6030,name:"InvalidSignatureSValue",msg:"Invalid signature S value"},{code:6031,name:"InvalidMessageHash",msg:"Invalid message hash"}]};n.registerProtocol(n._platform$1,"CircleBridge",b);const v={TokenMessengerIdl:Q,MessageTransmitterIdl:Z};exports.SolanaCircleBridge=b;exports.idl=v;
1
+ "use strict";var U=Object.defineProperty;var L=(i,e,a)=>e in i?U(i,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[e]=a;var y=(i,e,a)=>L(i,typeof e!="symbol"?e+"":e,a);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./index-BeChRLqf.js"),k=new n.PublicKey("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");new n.PublicKey("TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb");const T=new n.PublicKey("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");new n.PublicKey("So11111111111111111111111111111111111111112");new n.PublicKey("9pan9bMn5HatX4EJdBwg9VgCa7Uz5HL8N1m5D3NdXejP");class W extends Error{constructor(e){super(e)}}class z extends W{constructor(){super(...arguments),this.name="TokenOwnerOffCurveError"}}const F=n.struct([n.u32("mintAuthorityOption"),n.publicKey("mintAuthority"),n.u64("supply"),n.u8("decimals"),n.bool("isInitialized"),n.u32("freezeAuthorityOption"),n.publicKey("freezeAuthority")]);F.span;function V(i,e,a=!1,t=k,r=T){if(!a&&!n.PublicKey.isOnCurve(e.toBuffer()))throw new z;const[s]=n.PublicKey.findProgramAddressSync([e.toBuffer(),t.toBuffer(),i.toBuffer()],r);return s}function H(i,e,a,t,r=k,s=T){return G(i,e,a,t,n.dist.Buffer.alloc(0),r,s)}function G(i,e,a,t,r,s=k,m=T){const o=[{pubkey:i,isSigner:!0,isWritable:!0},{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!1},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:n.SystemProgram.programId,isSigner:!1,isWritable:!1},{pubkey:s,isSigner:!1,isWritable:!1}];return new n.TransactionInstruction({keys:o,programId:m,data:r})}function K(i,e){return new n.Program(v.TokenMessengerIdl,new n.PublicKey(i),e===void 0?{connection:null}:e)}function X(i,e){return K(i,n.createReadOnlyProvider(e))}function I(i,e){return new n.Program(v.MessageTransmitterIdl,new n.PublicKey(i),e===void 0?{connection:null}:e)}function $(i,e){return I(i,n.createReadOnlyProvider(e))}const u=(i,e,a)=>{const t=[n.dist.Buffer.from(n.index.bytes.utf8.encode(i))];if(a)for(const s of a)typeof s=="string"?t.push(n.dist.Buffer.from(n.index.bytes.utf8.encode(s))):Array.isArray(s)?t.push(n.dist.Buffer.from(s)):n.dist.Buffer.isBuffer(s)?t.push(s):t.push(s.toBuffer());const r=n.PublicKey.findProgramAddressSync(t,e);return{publicKey:r[0],bump:r[1]}};function q(i,e,a,t,r,s,m,o,l){const d=u("message_transmitter",i),c=u("token_messenger",e),f=u("token_minter",e),p=u("local_token",e,[a]),M=u("remote_token_messenger",e,[t.toString()]),S=u("sender_authority",e),h=K(e),P=u("__event_authority",e);return h.methods.depositForBurn({amount:new n._BN(o.toString()),destinationDomain:t,mintRecipient:new n.PublicKey(m.toUint8Array())}).accounts({owner:r,senderAuthorityPda:S.publicKey,burnTokenAccount:s,messageTransmitter:d.publicKey,tokenMessenger:c.publicKey,remoteTokenMessenger:M.publicKey,tokenMinter:f.publicKey,localToken:p.publicKey,burnTokenMint:a,messageTransmitterProgram:i,tokenMessengerMinterProgram:e,tokenProgram:k,eventAuthority:P.publicKey,eventRentPayer:r,messageSentEventData:l}).instruction()}const w=6400n;function x(i){return(i-BigInt(1))/w*w+BigInt(1)}function B(i,e,a){const t=e.toString();return u("used_nonces",a,[t,x(i).toString()]).publicKey}async function J(i,e,a,t,r,s){const m=n.dist.Buffer.from(n.CircleBridge.serialize(t)),o=n.dist.Buffer.from(n.hex.decode(r)),l=new n.PublicKey(a),d=new n.PublicKey(t.payload.burnToken.toUint8Array()),c=new n.SolanaAddress(t.payload.mintRecipient).unwrap(),f=s?new n.PublicKey(s):c,p=t.sourceDomain.toString(),M=u("message_transmitter",i),S=u("token_messenger",e),h=u("token_minter",e),P=u("local_token",e,[l]),D=u("remote_token_messenger",e,[p]),C=u("token_pair",e,[p,d]),R=u("custody",e,[l]),O=u("message_transmitter_authority",i,[e]).publicKey,E=B(t.nonce,t.sourceDomain,i),N=u("__event_authority",i),_=u("__event_authority",e),g=[];g.push({isSigner:!1,isWritable:!1,pubkey:S.publicKey}),g.push({isSigner:!1,isWritable:!1,pubkey:D.publicKey}),g.push({isSigner:!1,isWritable:!0,pubkey:h.publicKey}),g.push({isSigner:!1,isWritable:!0,pubkey:P.publicKey}),g.push({isSigner:!1,isWritable:!1,pubkey:C.publicKey}),g.push({isSigner:!1,isWritable:!0,pubkey:c}),g.push({isSigner:!1,isWritable:!0,pubkey:R.publicKey}),g.push({isSigner:!1,isWritable:!1,pubkey:k}),g.push({isSigner:!1,isWritable:!1,pubkey:_.publicKey}),g.push({isSigner:!1,isWritable:!1,pubkey:e});const A=I(i);return A.methods.receiveMessage({message:m,attestation:o}).accounts({payer:f,caller:f,authorityPda:O,messageTransmitter:M.publicKey,usedNonces:E,receiver:e,systemProgram:n.SystemProgram.programId,eventAuthority:N.publicKey,program:A.programId}).remainingAccounts(g).transaction()}class b{constructor(e,a,t,r){y(this,"network");y(this,"chain");y(this,"connection");y(this,"contracts");y(this,"tokenMessenger");y(this,"messageTransmitter");var o,l;if(this.network=e,this.chain=a,this.connection=t,this.contracts=r,e==="Devnet")throw new Error("CircleBridge not supported on Devnet");const s=(o=r.cctp)==null?void 0:o.messageTransmitter;if(!s)throw new Error(`Circle Messenge Transmitter contract for domain ${a} not found`);this.messageTransmitter=$(new n.PublicKey(s),this.connection);const m=(l=r.cctp)==null?void 0:l.tokenMessenger;if(!m)throw new Error(`Circle Token Messenger contract for domain ${a} not found`);this.tokenMessenger=X(new n.PublicKey(m),this.connection)}static async fromRpc(e,a){const[t,r]=await n.SolanaPlatform.chainFromRpc(e),s=a[r];if(s.network!==t)throw new Error(`Network mismatch: ${s.network} != ${t}`);return new b(t,r,e,s.contracts)}async*redeem(e,a,t){const r=new n.PublicKey(n.usdcContract.get(this.network,this.chain)),s=new n.SolanaAddress(e).unwrap(),m=new n.SolanaAddress(a.payload.mintRecipient).unwrap();if(!await this.connection.getAccountInfo(m)){const c=new n.Transaction().add(H(s,m,s,r));c.feePayer=s,yield this.createUnsignedTx({transaction:c},"CircleBridge.CreateATA")}const l=await J(this.messageTransmitter.programId,this.tokenMessenger.programId,r,a,t,s),d=new n.Transaction;d.feePayer=s,d.add(l),yield this.createUnsignedTx({transaction:d},"CircleBridge.Redeem")}async*transfer(e,a,t){const r=new n.PublicKey(n.usdcContract.get(this.network,this.chain)),s=new n.SolanaAddress(e).unwrap(),m=V(r,s),o=n.circleChainId.get(this.network,a.chain),l=a.address.toUniversalAddress(),d=n.Keypair.generate(),c=await q(this.messageTransmitter.programId,this.tokenMessenger.programId,r,o,s,m,l,t,d.publicKey),f=new n.Transaction;f.feePayer=s,f.add(c),yield this.createUnsignedTx({transaction:f,signers:[d]},"CircleBridge.Transfer")}async isTransferCompleted(e){const a=B(e.nonce,e.sourceDomain,this.messageTransmitter.programId),t=x(e.nonce),{usedNonces:r}=await this.messageTransmitter.account.usedNonces.fetch(a),s=Number(e.nonce-t),m=r[Math.floor(s/64)];if(!m)throw new Error("Invalid nonce byte index");const o=s%64,l=new n._BN((BigInt(1)<<BigInt(o)).toString());return!m.and(l).isZero()}async parseTransactionDetails(e){const a=await this.connection.getTransaction(e);if(!a||!a.meta)throw new Error("Transaction not found");const t=a.transaction.message.getAccountKeys();if(t.length<2)throw new Error("No message account found");const r=t.get(1),s=await this.connection.getAccountInfo(r);if(!s)throw new Error("No account data found");const m=new Uint8Array(s.data).slice(44),[o,l]=n.CircleBridge.deserialize(m),{payload:d}=o,c=d.messageSender,f=d.mintRecipient,p=n.toCircleChain(this.network,o.sourceDomain),M=n.toCircleChain(this.network,o.destinationDomain),S={chain:p,address:d.burnToken};return{from:{chain:p,address:c},to:{chain:M,address:f},token:S,amount:d.amount,message:o,id:{hash:l}}}createUnsignedTx(e,a,t=!1){return new n.SolanaUnsignedTransaction(e,this.network,this.chain,a,t)}}const Q={version:"0.1.0",name:"token_messenger_minter",instructions:[{name:"initialize",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"upgradeAuthority",isMut:!1,isSigner:!0},{name:"authorityPda",isMut:!1,isSigner:!1},{name:"tokenMessenger",isMut:!0,isSigner:!1},{name:"tokenMinter",isMut:!0,isSigner:!1},{name:"tokenMessengerMinterProgramData",isMut:!1,isSigner:!1},{name:"tokenMessengerMinterProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"InitializeParams"}}]},{name:"transferOwnership",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"TransferOwnershipParams"}}]},{name:"acceptOwnership",accounts:[{name:"pendingOwner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"AcceptOwnershipParams"}}]},{name:"addRemoteTokenMessenger",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"owner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"remoteTokenMessenger",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"AddRemoteTokenMessengerParams"}}]},{name:"removeRemoteTokenMessenger",accounts:[{name:"payee",isMut:!0,isSigner:!0},{name:"owner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"remoteTokenMessenger",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"RemoveRemoteTokenMessengerParams"}}]},{name:"depositForBurn",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!1},{name:"burnTokenAccount",isMut:!0,isSigner:!1},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"remoteTokenMessenger",isMut:!1,isSigner:!1},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"burnTokenMint",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"messageTransmitterProgram",isMut:!1,isSigner:!1},{name:"tokenMessengerMinterProgram",isMut:!1,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"DepositForBurnParams"}}],returns:"u64"},{name:"depositForBurnWithCaller",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!1},{name:"burnTokenAccount",isMut:!0,isSigner:!1},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"remoteTokenMessenger",isMut:!1,isSigner:!1},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"burnTokenMint",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"messageTransmitterProgram",isMut:!1,isSigner:!1},{name:"tokenMessengerMinterProgram",isMut:!1,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"DepositForBurnWithCallerParams"}}],returns:"u64"},{name:"replaceDepositForBurn",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!1},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"messageTransmitterProgram",isMut:!1,isSigner:!1},{name:"tokenMessengerMinterProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"ReplaceDepositForBurnParams"}}],returns:"u64"},{name:"handleReceiveMessage",accounts:[{name:"authorityPda",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"remoteTokenMessenger",isMut:!1,isSigner:!1},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"tokenPair",isMut:!1,isSigner:!1},{name:"recipientTokenAccount",isMut:!0,isSigner:!1},{name:"custodyTokenAccount",isMut:!0,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"HandleReceiveMessageParams"}}]},{name:"setTokenController",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"tokenMinter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetTokenControllerParams"}}]},{name:"pause",accounts:[{name:"pauser",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"PauseParams"}}]},{name:"unpause",accounts:[{name:"pauser",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UnpauseParams"}}]},{name:"updatePauser",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"tokenMinter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UpdatePauserParams"}}]},{name:"setMaxBurnAmountPerMessage",accounts:[{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetMaxBurnAmountPerMessageParams"}}]},{name:"addLocalToken",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"custodyTokenAccount",isMut:!0,isSigner:!1},{name:"localTokenMint",isMut:!1,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"AddLocalTokenParams"}}]},{name:"removeLocalToken",accounts:[{name:"payee",isMut:!0,isSigner:!0},{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"custodyTokenAccount",isMut:!0,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"RemoveLocalTokenParams"}}]},{name:"linkTokenPair",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"tokenPair",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"LinkTokenPairParams"}}]},{name:"unlinkTokenPair",accounts:[{name:"payee",isMut:!0,isSigner:!0},{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"tokenPair",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UninkTokenPairParams"}}]},{name:"burnTokenCustody",accounts:[{name:"payee",isMut:!0,isSigner:!0},{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!1,isSigner:!1},{name:"custodyTokenAccount",isMut:!0,isSigner:!1},{name:"custodyTokenMint",isMut:!0,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"BurnTokenCustodyParams"}}]}],accounts:[{name:"tokenMessenger",type:{kind:"struct",fields:[{name:"owner",type:"publicKey"},{name:"pendingOwner",type:"publicKey"},{name:"localMessageTransmitter",type:"publicKey"},{name:"messageBodyVersion",type:"u32"},{name:"authorityBump",type:"u8"}]}},{name:"remoteTokenMessenger",type:{kind:"struct",fields:[{name:"domain",type:"u32"},{name:"tokenMessenger",type:"publicKey"}]}},{name:"tokenMinter",type:{kind:"struct",fields:[{name:"tokenController",type:"publicKey"},{name:"pauser",type:"publicKey"},{name:"paused",type:"bool"},{name:"bump",type:"u8"}]}},{name:"tokenPair",type:{kind:"struct",fields:[{name:"remoteDomain",type:"u32"},{name:"remoteToken",type:"publicKey"},{name:"localToken",type:"publicKey"},{name:"bump",type:"u8"}]}},{name:"localToken",type:{kind:"struct",fields:[{name:"custody",type:"publicKey"},{name:"mint",type:"publicKey"},{name:"burnLimitPerMessage",type:"u64"},{name:"messagesSent",type:"u64"},{name:"messagesReceived",type:"u64"},{name:"amountSent",type:"u128"},{name:"amountReceived",type:"u128"},{name:"bump",type:"u8"},{name:"custodyBump",type:"u8"}]}}],types:[{name:"AcceptOwnershipParams",type:{kind:"struct",fields:[]}},{name:"AddRemoteTokenMessengerParams",type:{kind:"struct",fields:[{name:"domain",type:"u32"},{name:"tokenMessenger",type:"publicKey"}]}},{name:"DepositForBurnWithCallerParams",type:{kind:"struct",fields:[{name:"amount",type:"u64"},{name:"destinationDomain",type:"u32"},{name:"mintRecipient",type:"publicKey"},{name:"destinationCaller",type:"publicKey"}]}},{name:"DepositForBurnParams",type:{kind:"struct",fields:[{name:"amount",type:"u64"},{name:"destinationDomain",type:"u32"},{name:"mintRecipient",type:"publicKey"}]}},{name:"HandleReceiveMessageParams",type:{kind:"struct",fields:[{name:"remoteDomain",type:"u32"},{name:"sender",type:"publicKey"},{name:"messageBody",type:"bytes"},{name:"authorityBump",type:"u8"}]}},{name:"InitializeParams",type:{kind:"struct",fields:[{name:"tokenController",type:"publicKey"},{name:"localMessageTransmitter",type:"publicKey"},{name:"messageBodyVersion",type:"u32"}]}},{name:"RemoveRemoteTokenMessengerParams",type:{kind:"struct",fields:[]}},{name:"ReplaceDepositForBurnParams",type:{kind:"struct",fields:[{name:"originalMessage",type:"bytes"},{name:"originalAttestation",type:"bytes"},{name:"newDestinationCaller",type:"publicKey"},{name:"newMintRecipient",type:"publicKey"}]}},{name:"TransferOwnershipParams",type:{kind:"struct",fields:[{name:"newOwner",type:"publicKey"}]}},{name:"AddLocalTokenParams",type:{kind:"struct",fields:[]}},{name:"BurnTokenCustodyParams",type:{kind:"struct",fields:[{name:"amount",type:"u64"}]}},{name:"LinkTokenPairParams",type:{kind:"struct",fields:[{name:"localToken",type:"publicKey"},{name:"remoteDomain",type:"u32"},{name:"remoteToken",type:"publicKey"}]}},{name:"PauseParams",type:{kind:"struct",fields:[]}},{name:"RemoveLocalTokenParams",type:{kind:"struct",fields:[]}},{name:"SetMaxBurnAmountPerMessageParams",type:{kind:"struct",fields:[{name:"burnLimitPerMessage",type:"u64"}]}},{name:"SetTokenControllerParams",type:{kind:"struct",fields:[{name:"tokenController",type:"publicKey"}]}},{name:"UninkTokenPairParams",type:{kind:"struct",fields:[]}},{name:"UnpauseParams",type:{kind:"struct",fields:[]}},{name:"UpdatePauserParams",type:{kind:"struct",fields:[{name:"newPauser",type:"publicKey"}]}},{name:"TokenMinterError",type:{kind:"enum",variants:[{name:"InvalidAuthority"},{name:"InvalidTokenMinterState"},{name:"ProgramPaused"},{name:"InvalidTokenPairState"},{name:"InvalidLocalTokenState"},{name:"InvalidPauser"},{name:"InvalidTokenController"},{name:"BurnAmountExceeded"},{name:"InvalidAmount"}]}}],events:[{name:"OwnershipTransferStarted",fields:[{name:"previousOwner",type:"publicKey",index:!1},{name:"newOwner",type:"publicKey",index:!1}]},{name:"OwnershipTransferred",fields:[{name:"previousOwner",type:"publicKey",index:!1},{name:"newOwner",type:"publicKey",index:!1}]},{name:"DepositForBurn",fields:[{name:"nonce",type:"u64",index:!1},{name:"burnToken",type:"publicKey",index:!1},{name:"amount",type:"u64",index:!1},{name:"depositor",type:"publicKey",index:!1},{name:"mintRecipient",type:"publicKey",index:!1},{name:"destinationDomain",type:"u32",index:!1},{name:"destinationTokenMessenger",type:"publicKey",index:!1},{name:"destinationCaller",type:"publicKey",index:!1}]},{name:"MintAndWithdraw",fields:[{name:"mintRecipient",type:"publicKey",index:!1},{name:"amount",type:"u64",index:!1},{name:"mintToken",type:"publicKey",index:!1}]},{name:"RemoteTokenMessengerAdded",fields:[{name:"domain",type:"u32",index:!1},{name:"tokenMessenger",type:"publicKey",index:!1}]},{name:"RemoteTokenMessengerRemoved",fields:[{name:"domain",type:"u32",index:!1},{name:"tokenMessenger",type:"publicKey",index:!1}]},{name:"SetTokenController",fields:[{name:"tokenController",type:"publicKey",index:!1}]},{name:"PauserChanged",fields:[{name:"newAddress",type:"publicKey",index:!1}]},{name:"SetBurnLimitPerMessage",fields:[{name:"token",type:"publicKey",index:!1},{name:"burnLimitPerMessage",type:"u64",index:!1}]},{name:"LocalTokenAdded",fields:[{name:"custody",type:"publicKey",index:!1},{name:"mint",type:"publicKey",index:!1}]},{name:"LocalTokenRemoved",fields:[{name:"custody",type:"publicKey",index:!1},{name:"mint",type:"publicKey",index:!1}]},{name:"TokenPairLinked",fields:[{name:"localToken",type:"publicKey",index:!1},{name:"remoteDomain",type:"u32",index:!1},{name:"remoteToken",type:"publicKey",index:!1}]},{name:"TokenPairUnlinked",fields:[{name:"localToken",type:"publicKey",index:!1},{name:"remoteDomain",type:"u32",index:!1},{name:"remoteToken",type:"publicKey",index:!1}]},{name:"Pause",fields:[]},{name:"Unpause",fields:[]},{name:"TokenCustodyBurned",fields:[{name:"custodyTokenAccount",type:"publicKey",index:!1},{name:"amount",type:"u64",index:!1}]}],errors:[{code:6e3,name:"InvalidAuthority",msg:"Invalid authority"},{code:6001,name:"InvalidTokenMessengerState",msg:"Invalid token messenger state"},{code:6002,name:"InvalidTokenMessenger",msg:"Invalid token messenger"},{code:6003,name:"InvalidOwner",msg:"Invalid owner"},{code:6004,name:"MalformedMessage",msg:"Malformed message"},{code:6005,name:"InvalidMessageBodyVersion",msg:"Invalid message body version"},{code:6006,name:"InvalidAmount",msg:"Invalid amount"},{code:6007,name:"InvalidDestinationDomain",msg:"Invalid destination domain"},{code:6008,name:"InvalidDestinationCaller",msg:"Invalid destination caller"},{code:6009,name:"InvalidMintRecipient",msg:"Invalid mint recipient"},{code:6010,name:"InvalidSender",msg:"Invalid sender"},{code:6011,name:"InvalidTokenPair",msg:"Invalid token pair"},{code:6012,name:"InvalidTokenMint",msg:"Invalid token mint"}]},Z={version:"0.1.0",name:"message_transmitter",instructions:[{name:"initialize",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"upgradeAuthority",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"messageTransmitterProgramData",isMut:!1,isSigner:!1},{name:"messageTransmitterProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"InitializeParams"}}]},{name:"transferOwnership",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"TransferOwnershipParams"}}]},{name:"acceptOwnership",accounts:[{name:"pendingOwner",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"AcceptOwnershipParams"}}]},{name:"updatePauser",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UpdatePauserParams"}}]},{name:"updateAttesterManager",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UpdateAttesterManagerParams"}}]},{name:"pause",accounts:[{name:"pauser",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"PauseParams"}}]},{name:"unpause",accounts:[{name:"pauser",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UnpauseParams"}}]},{name:"setMaxMessageBodySize",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetMaxMessageBodySizeParams"}}]},{name:"enableAttester",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"attesterManager",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"EnableAttesterParams"}}]},{name:"disableAttester",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"attesterManager",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"DisableAttesterParams"}}]},{name:"setSignatureThreshold",accounts:[{name:"attesterManager",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetSignatureThresholdParams"}}]},{name:"sendMessage",accounts:[{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"senderProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SendMessageParams"}}],returns:"u64"},{name:"sendMessageWithCaller",accounts:[{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"senderProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SendMessageWithCallerParams"}}],returns:"u64"},{name:"replaceMessage",accounts:[{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"senderProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"ReplaceMessageParams"}}],returns:"u64"},{name:"receiveMessage",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"caller",isMut:!1,isSigner:!0},{name:"authorityPda",isMut:!1,isSigner:!1},{name:"messageTransmitter",isMut:!1,isSigner:!1},{name:"usedNonces",isMut:!0,isSigner:!1},{name:"receiver",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"ReceiveMessageParams"}}]},{name:"reclaimEventAccount",accounts:[{name:"payee",isMut:!0,isSigner:!0,docs:["rent SOL receiver, should match original rent payer"]},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!1}],args:[{name:"params",type:{defined:"ReclaimEventAccountParams"}}]},{name:"getNoncePda",accounts:[{name:"messageTransmitter",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"GetNoncePDAParams"}}],returns:"publicKey"},{name:"isNonceUsed",accounts:[{name:"usedNonces",isMut:!1,isSigner:!1,docs:["Account will be explicitly loaded to avoid error when it's not initialized"]}],args:[{name:"params",type:{defined:"IsNonceUsedParams"}}],returns:"bool"}],accounts:[{name:"messageSent",type:{kind:"struct",fields:[{name:"rentPayer",type:"publicKey"},{name:"message",type:"bytes"}]}},{name:"messageTransmitter",docs:["Main state of the MessageTransmitter program"],type:{kind:"struct",fields:[{name:"owner",type:"publicKey"},{name:"pendingOwner",type:"publicKey"},{name:"attesterManager",type:"publicKey"},{name:"pauser",type:"publicKey"},{name:"paused",type:"bool"},{name:"localDomain",type:"u32"},{name:"version",type:"u32"},{name:"signatureThreshold",type:"u32"},{name:"enabledAttesters",type:{vec:"publicKey"}},{name:"maxMessageBodySize",type:"u64"},{name:"nextAvailableNonce",type:"u64"}]}},{name:"usedNonces",docs:["UsedNonces account holds an array of bits that indicate which nonces were already used","so they can't be resused to receive new messages. Array starts with the first_nonce and","holds flags for UsedNonces::MAX_NONCES. Nonces are recorded separately for each remote_domain."],type:{kind:"struct",fields:[{name:"remoteDomain",type:"u32"},{name:"firstNonce",type:"u64"},{name:"usedNonces",type:{array:["u64",100]}}]}}],types:[{name:"AcceptOwnershipParams",type:{kind:"struct",fields:[]}},{name:"DisableAttesterParams",type:{kind:"struct",fields:[{name:"attester",type:"publicKey"}]}},{name:"EnableAttesterParams",type:{kind:"struct",fields:[{name:"newAttester",type:"publicKey"}]}},{name:"GetNoncePDAParams",type:{kind:"struct",fields:[{name:"nonce",type:"u64"},{name:"sourceDomain",type:"u32"}]}},{name:"InitializeParams",type:{kind:"struct",fields:[{name:"localDomain",type:"u32"},{name:"attester",type:"publicKey"},{name:"maxMessageBodySize",type:"u64"},{name:"version",type:"u32"}]}},{name:"IsNonceUsedParams",type:{kind:"struct",fields:[{name:"nonce",type:"u64"}]}},{name:"PauseParams",type:{kind:"struct",fields:[]}},{name:"ReceiveMessageParams",type:{kind:"struct",fields:[{name:"message",type:"bytes"},{name:"attestation",type:"bytes"}]}},{name:"HandleReceiveMessageParams",type:{kind:"struct",fields:[{name:"remoteDomain",type:"u32"},{name:"sender",type:"publicKey"},{name:"messageBody",type:"bytes"},{name:"authorityBump",type:"u8"}]}},{name:"ReclaimEventAccountParams",type:{kind:"struct",fields:[{name:"attestation",type:"bytes"}]}},{name:"ReplaceMessageParams",type:{kind:"struct",fields:[{name:"originalMessage",type:"bytes"},{name:"originalAttestation",type:"bytes"},{name:"newMessageBody",type:"bytes"},{name:"newDestinationCaller",type:"publicKey"}]}},{name:"SendMessageWithCallerParams",type:{kind:"struct",fields:[{name:"destinationDomain",type:"u32"},{name:"recipient",type:"publicKey"},{name:"messageBody",type:"bytes"},{name:"destinationCaller",type:"publicKey"}]}},{name:"SendMessageParams",type:{kind:"struct",fields:[{name:"destinationDomain",type:"u32"},{name:"recipient",type:"publicKey"},{name:"messageBody",type:"bytes"}]}},{name:"SetMaxMessageBodySizeParams",type:{kind:"struct",fields:[{name:"newMaxMessageBodySize",type:"u64"}]}},{name:"SetSignatureThresholdParams",type:{kind:"struct",fields:[{name:"newSignatureThreshold",type:"u32"}]}},{name:"TransferOwnershipParams",type:{kind:"struct",fields:[{name:"newOwner",type:"publicKey"}]}},{name:"UnpauseParams",type:{kind:"struct",fields:[]}},{name:"UpdateAttesterManagerParams",type:{kind:"struct",fields:[{name:"newAttesterManager",type:"publicKey"}]}},{name:"UpdatePauserParams",type:{kind:"struct",fields:[{name:"newPauser",type:"publicKey"}]}},{name:"MathError",type:{kind:"enum",variants:[{name:"MathOverflow"},{name:"MathUnderflow"},{name:"ErrorInDivision"}]}}],events:[{name:"OwnershipTransferStarted",fields:[{name:"previousOwner",type:"publicKey",index:!1},{name:"newOwner",type:"publicKey",index:!1}]},{name:"OwnershipTransferred",fields:[{name:"previousOwner",type:"publicKey",index:!1},{name:"newOwner",type:"publicKey",index:!1}]},{name:"PauserChanged",fields:[{name:"newAddress",type:"publicKey",index:!1}]},{name:"AttesterManagerUpdated",fields:[{name:"previousAttesterManager",type:"publicKey",index:!1},{name:"newAttesterManager",type:"publicKey",index:!1}]},{name:"MessageReceived",fields:[{name:"caller",type:"publicKey",index:!1},{name:"sourceDomain",type:"u32",index:!1},{name:"nonce",type:"u64",index:!1},{name:"sender",type:"publicKey",index:!1},{name:"messageBody",type:"bytes",index:!1}]},{name:"SignatureThresholdUpdated",fields:[{name:"oldSignatureThreshold",type:"u32",index:!1},{name:"newSignatureThreshold",type:"u32",index:!1}]},{name:"AttesterEnabled",fields:[{name:"attester",type:"publicKey",index:!1}]},{name:"AttesterDisabled",fields:[{name:"attester",type:"publicKey",index:!1}]},{name:"MaxMessageBodySizeUpdated",fields:[{name:"newMaxMessageBodySize",type:"u64",index:!1}]},{name:"Pause",fields:[]},{name:"Unpause",fields:[]}],errors:[{code:6e3,name:"InvalidAuthority",msg:"Invalid authority"},{code:6001,name:"ProgramPaused",msg:"Instruction is not allowed at this time"},{code:6002,name:"InvalidMessageTransmitterState",msg:"Invalid message transmitter state"},{code:6003,name:"InvalidSignatureThreshold",msg:"Invalid signature threshold"},{code:6004,name:"SignatureThresholdAlreadySet",msg:"Signature threshold already set"},{code:6005,name:"InvalidOwner",msg:"Invalid owner"},{code:6006,name:"InvalidPauser",msg:"Invalid pauser"},{code:6007,name:"InvalidAttesterManager",msg:"Invalid attester manager"},{code:6008,name:"InvalidAttester",msg:"Invalid attester"},{code:6009,name:"AttesterAlreadyEnabled",msg:"Attester already enabled"},{code:6010,name:"TooFewEnabledAttesters",msg:"Too few enabled attesters"},{code:6011,name:"SignatureThresholdTooLow",msg:"Signature threshold is too low"},{code:6012,name:"AttesterAlreadyDisabled",msg:"Attester already disabled"},{code:6013,name:"MessageBodyLimitExceeded",msg:"Message body exceeds max size"},{code:6014,name:"InvalidDestinationCaller",msg:"Invalid destination caller"},{code:6015,name:"InvalidRecipient",msg:"Invalid message recipient"},{code:6016,name:"SenderNotPermitted",msg:"Sender is not permitted"},{code:6017,name:"InvalidSourceDomain",msg:"Invalid source domain"},{code:6018,name:"InvalidDestinationDomain",msg:"Invalid destination domain"},{code:6019,name:"InvalidMessageVersion",msg:"Invalid message version"},{code:6020,name:"InvalidUsedNoncesAccount",msg:"Invalid used nonces account"},{code:6021,name:"InvalidRecipientProgram",msg:"Invalid recipient program"},{code:6022,name:"InvalidNonce",msg:"Invalid nonce"},{code:6023,name:"NonceAlreadyUsed",msg:"Nonce already used"},{code:6024,name:"MessageTooShort",msg:"Message is too short"},{code:6025,name:"MalformedMessage",msg:"Malformed message"},{code:6026,name:"InvalidSignatureOrderOrDupe",msg:"Invalid signature order or dupe"},{code:6027,name:"InvalidAttesterSignature",msg:"Invalid attester signature"},{code:6028,name:"InvalidAttestationLength",msg:"Invalid attestation length"},{code:6029,name:"InvalidSignatureRecoveryId",msg:"Invalid signature recovery ID"},{code:6030,name:"InvalidSignatureSValue",msg:"Invalid signature S value"},{code:6031,name:"InvalidMessageHash",msg:"Invalid message hash"}]};n.registerProtocol(n._platform$1,"CircleBridge",b);const v={TokenMessengerIdl:Q,MessageTransmitterIdl:Z};exports.SolanaCircleBridge=b;exports.idl=v;
@@ -1,7 +1,7 @@
1
1
  var Pt = Object.defineProperty;
2
2
  var _t = (e, t, r) => t in e ? Pt(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;
3
3
  var f = (e, t, r) => _t(e, typeof t != "symbol" ? t + "" : t, r);
4
- import { b0 as c, bl as A, bp as z, bo as U, h as l, c2 as le, bq as G, bn as S, bm as V, c3 as Ge, c4 as Ze, c5 as Wt, c6 as It, c7 as Ut, c8 as Nt, c9 as O, ca as E, ah as y, cb as T, cc as Ft, cd as ye, bY as dt, ce as xt, cf as lt, cg as zt, ch as Ot, ci as Q, cj as Lt, ck as Z, cl as H, cm as qt, cn as Dt, co as Kt, cp as Vt, cq as Se, cr as Gt, cs as v, ct as Zt, e as oe, S as k, bX as Ce, bA as Ht, p as j, c1 as Be, cu as Yt, cv as Qt, bb as se, b4 as L, ae as Xt, cw as ft, bG as mt, g as gt } from "./index-DodJ9HFs.mjs";
4
+ import { b1 as c, bm as A, bq as z, bp as U, h as l, c3 as le, br as Z, bo as S, bn as V, c4 as Ze, c5 as Ge, c6 as Wt, c7 as It, c8 as Ut, c9 as Nt, ca as O, cb as E, ah as y, cc as T, cd as Ft, ce as ye, bZ as dt, cf as xt, cg as lt, ch as zt, ci as Ot, cj as Q, ck as Lt, cl as G, cm as H, cn as qt, co as Dt, cp as Kt, cq as Vt, cr as Se, cs as Zt, ct as v, cu as Gt, e as oe, S as k, bY as Ce, bB as Ht, p as j, c2 as Be, cv as Yt, cw as Qt, bc as se, b5 as L, ae as Xt, cx as ft, bH as mt, g as gt } from "./index-CK9tk2gP.mjs";
5
5
  const M = new c("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");
6
6
  new c("TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb");
7
7
  const Ae = new c("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"), q = new c("So11111111111111111111111111111111111111112");
@@ -84,7 +84,7 @@ var ge;
84
84
  const Pe = 1, en = A([
85
85
  z("m"),
86
86
  z("n"),
87
- G("isInitialized"),
87
+ Z("isInitialized"),
88
88
  S("signer1"),
89
89
  S("signer2"),
90
90
  S("signer3"),
@@ -161,7 +161,7 @@ const yt = A([
161
161
  S("mintAuthority"),
162
162
  U("supply"),
163
163
  z("decimals"),
164
- G("isInitialized"),
164
+ Z("isInitialized"),
165
165
  V("freezeAuthorityOption"),
166
166
  S("freezeAuthority")
167
167
  ]), ve = yt.span;
@@ -209,13 +209,13 @@ function We(e, t, r = !1, n = M, i = Ae) {
209
209
  const [s] = c.findProgramAddressSync([t.toBuffer(), n.toBuffer(), e.toBuffer()], i);
210
210
  return s;
211
211
  }
212
- const on = A([G("lockCpi")]), cn = on.span, un = A([z("state")]), dn = un.span, ln = A([]), fn = ln.span, mn = A([
212
+ const on = A([Z("lockCpi")]), cn = on.span, un = A([z("state")]), dn = un.span, ln = A([]), fn = ln.span, mn = A([
213
213
  S("rateAuthority"),
214
- Ge("initializationTimestamp"),
215
- Ze("preUpdateAverageRate"),
216
- Ge("lastUpdateTimestamp"),
217
- Ze("currentRate")
218
- ]), gn = mn.span, hn = A([G("requireIncomingTransferMemos")]), pn = hn.span, wn = A([
214
+ Ze("initializationTimestamp"),
215
+ Ge("preUpdateAverageRate"),
216
+ Ze("lastUpdateTimestamp"),
217
+ Ge("currentRate")
218
+ ]), gn = mn.span, hn = A([Z("requireIncomingTransferMemos")]), pn = hn.span, wn = A([
219
219
  S("authority"),
220
220
  S("metadataAddress")
221
221
  ]), yn = wn.span, Sn = A([S("closeAuthority")]), An = Sn.span, St = A([]), Mn = St.span, kn = St.span, bn = A([S("delegate")]), Tn = bn.span, Cn = 1e4;
@@ -229,11 +229,11 @@ const vn = A([
229
229
  U("withheldAmount"),
230
230
  je("olderTransferFee"),
231
231
  je("newerTransferFee")
232
- ]), Bn = vn.span, Rn = A([U("withheldAmount")]), En = Rn.span, Pn = A([S("authority"), S("programId")]), _n = Pn.span, Wn = A([G("transferring")]), In = Wn.span, $e = A([
232
+ ]), Bn = vn.span, Rn = A([U("withheldAmount")]), En = Rn.span, Pn = A([S("authority"), S("programId")]), _n = Pn.span, Wn = A([Z("transferring")]), In = Wn.span, $e = A([
233
233
  z("discriminator"),
234
234
  It(32, "addressConfig"),
235
- G("isSigner"),
236
- G("isWritable")
235
+ Z("isSigner"),
236
+ Z("isWritable")
237
237
  ]), Un = A([
238
238
  V("count"),
239
239
  Ut($e, Nt($e.span), "extraAccounts")
@@ -504,9 +504,9 @@ class Vn {
504
504
  encode(t, r) {
505
505
  switch (t) {
506
506
  case "initialize":
507
- return Gn(r);
508
- case "attestToken":
509
507
  return Zn(r);
508
+ case "attestToken":
509
+ return Gn(r);
510
510
  case "completeNative":
511
511
  return Hn(r);
512
512
  case "completeWrapped":
@@ -541,11 +541,11 @@ function N(e, t) {
541
541
  const r = t === void 0 ? 0 : t.length, n = l.Buffer.alloc(1 + r);
542
542
  return n.writeUInt8(e, 0), r > 0 && n.write(t.toString("hex"), 1, "hex"), n;
543
543
  }
544
- function Gn({ wormhole: e }) {
544
+ function Zn({ wormhole: e }) {
545
545
  const t = l.Buffer.alloc(32);
546
546
  return t.write(new c(e).toBuffer().toString("hex"), 0, "hex"), N(P.Initialize, t);
547
547
  }
548
- function Zn({ nonce: e }) {
548
+ function Gn({ nonce: e }) {
549
549
  const t = l.Buffer.alloc(4);
550
550
  return t.writeUInt32LE(e, 0), N(P.AttestToken, t);
551
551
  }
@@ -1767,7 +1767,7 @@ function cr(e, t, r, n, i) {
1767
1767
  return {
1768
1768
  payer: new c(r),
1769
1769
  config: B(e),
1770
- vaa: Z(t, l.Buffer.from(n.hash)),
1770
+ vaa: G(t, l.Buffer.from(n.hash)),
1771
1771
  claim: H(e, n.emitterAddress.toUint8Array(), y(n.emitterChain), n.sequence),
1772
1772
  endpoint: te(e, y(n.emitterChain), n.emitterAddress.toUint8Array()),
1773
1773
  to: new c(n.payload.to.address.toUint8Array()),
@@ -1796,7 +1796,7 @@ function dr(e, t, r, n, i) {
1796
1796
  return {
1797
1797
  payer: new c(r),
1798
1798
  config: B(e),
1799
- vaa: Z(t, l.Buffer.from(n.hash)),
1799
+ vaa: G(t, l.Buffer.from(n.hash)),
1800
1800
  claim: H(e, n.emitterAddress.toUint8Array(), y(n.emitterChain), n.sequence),
1801
1801
  endpoint: te(e, y(n.emitterChain), n.emitterAddress.toUint8Array()),
1802
1802
  to: new c(n.payload.to.address.toUint8Array()),
@@ -1826,7 +1826,7 @@ function fr(e, t, r, n) {
1826
1826
  payer: new c(r),
1827
1827
  config: B(e),
1828
1828
  endpoint: te(e, y(n.emitterChain), n.emitterAddress.toUint8Array()),
1829
- vaa: Z(t, l.Buffer.from(n.hash)),
1829
+ vaa: G(t, l.Buffer.from(n.hash)),
1830
1830
  claim: H(e, n.emitterAddress.toUint8Array(), y(n.emitterChain), n.sequence),
1831
1831
  mint: i,
1832
1832
  wrappedMeta: Y(e, i),
@@ -1872,7 +1872,7 @@ function gr(e, t, r, n) {
1872
1872
  payer: new c(r),
1873
1873
  config: B(e),
1874
1874
  endpoint: te(e, y(n.payload.actionArgs.foreignChain), n.payload.actionArgs.foreignAddress.toUint8Array()),
1875
- vaa: Z(t, l.Buffer.from(n.hash)),
1875
+ vaa: G(t, l.Buffer.from(n.hash)),
1876
1876
  claim: H(e, n.emitterAddress.toUint8Array(), y(n.emitterChain), n.sequence),
1877
1877
  rent: O,
1878
1878
  systemProgram: E.programId,
@@ -1892,7 +1892,7 @@ function Ir(e, t, r, n, i) {
1892
1892
  function hr(e, t, r, n, i) {
1893
1893
  return {
1894
1894
  payer: new c(r),
1895
- vaa: Z(t, l.Buffer.from(n.hash)),
1895
+ vaa: G(t, l.Buffer.from(n.hash)),
1896
1896
  claim: H(e, n.emitterAddress.toUint8Array(), y(n.emitterChain), n.sequence),
1897
1897
  upgradeAuthority: qt(e),
1898
1898
  spill: new c(i === void 0 ? r : i),
@@ -2036,7 +2036,7 @@ function Rt(e, t, r, n, i, s, o, a, d) {
2036
2036
  };
2037
2037
  }
2038
2038
  function Ur(e, t, r) {
2039
- const { wormholeEmitter: n, wormholeBridge: i, wormholeFeeCollector: s, wormholeSequence: o } = Gt(t, r);
2039
+ const { wormholeEmitter: n, wormholeBridge: i, wormholeFeeCollector: s, wormholeSequence: o } = Zt(t, r);
2040
2040
  return {
2041
2041
  tokenBridgeConfig: B(t),
2042
2042
  tokenBridgeAuthoritySigner: ne(t),
@@ -2101,7 +2101,7 @@ function Nr(e, t, r, n, i) {
2101
2101
  return {
2102
2102
  payer: new c(r),
2103
2103
  tokenBridgeConfig: B(e),
2104
- vaa: Z(t, l.Buffer.from(n.hash)),
2104
+ vaa: G(t, l.Buffer.from(n.hash)),
2105
2105
  tokenBridgeClaim: H(e, n.emitterAddress.toUint8Array(), y(n.emitterChain), n.sequence),
2106
2106
  tokenBridgeForeignEndpoint: te(e, y(n.emitterChain), n.emitterAddress.toUint8Array()),
2107
2107
  toTokenAccount: new c(i),
@@ -2121,7 +2121,7 @@ function Fr(e, t, r, n, i) {
2121
2121
  return {
2122
2122
  payer: new c(r),
2123
2123
  tokenBridgeConfig: B(e),
2124
- vaa: Z(t, l.Buffer.from(n.hash)),
2124
+ vaa: G(t, l.Buffer.from(n.hash)),
2125
2125
  tokenBridgeClaim: H(e, n.emitterAddress.toUint8Array(), y(n.emitterChain), n.sequence),
2126
2126
  tokenBridgeForeignEndpoint: te(e, y(n.emitterChain), n.emitterAddress.toUint8Array()),
2127
2127
  toTokenAccount: new c(i),
@@ -4171,7 +4171,7 @@ class De {
4171
4171
  const s = i.tokenBridge;
4172
4172
  if (!s)
4173
4173
  throw new Error(`TokenBridge contract Address for chain ${r} not found`);
4174
- this.tokenBridge = W(s, n), this.coreBridge = new Zt(t, r, n, i);
4174
+ this.tokenBridge = W(s, n), this.coreBridge = new Gt(t, r, n, i);
4175
4175
  }
4176
4176
  static async fromRpc(t, r) {
4177
4177
  const [n, i] = await oe.chainFromRpc(t), s = r[i];
@@ -1,8 +1,8 @@
1
1
  var b = Object.defineProperty;
2
2
  var v = (i, e, t) => e in i ? b(i, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : i[e] = t;
3
3
  var a = (i, e, t) => v(i, typeof e != "symbol" ? e + "" : e, t);
4
- import { cz as f, cA as S, ae as I, r as p, cB as x, ah as w, bX as E, bA as U, bY as m, u as o, cC as k, s as c, p as h, cD as C, c1 as _, h as F, b_ as $, m as T, bB as l, cE as W, bG as N } from "./index-DodJ9HFs.mjs";
5
- import { A as O } from "./aptos-DgUzHI6C.mjs";
4
+ import { cA as f, cB as S, ae as I, r as p, cC as x, ah as w, bY as C, bB as E, bZ as m, u as o, cD as k, s as c, p as h, cE as F, c2 as _, h as U, b$ as $, m as T, bC as l, cF as W, bH as N } from "./index-CK9tk2gP.mjs";
5
+ import { A as O } from "./aptos-BZ4F1nu2.mjs";
6
6
  class Q {
7
7
  constructor(e, t, s, r, n = !1) {
8
8
  a(this, "transaction");
@@ -25,7 +25,7 @@ const R = [
25
25
  { name: "tokenId", ...f },
26
26
  // from https://github.com/aptos-labs/aptos-core/blob/25696fd266498d81d346fe86e01c330705a71465/aptos-move/framework/aptos-framework/sources/account.move#L90-L95
27
27
  { name: "domainSeparator", binary: "bytes", custom: new Uint8Array([255]), omit: !0 }
28
- ], z = (i) => x(R, i);
28
+ ], P = (i) => x(R, i);
29
29
  class d {
30
30
  constructor(e, t, s, r) {
31
31
  a(this, "network");
@@ -57,8 +57,8 @@ class d {
57
57
  const t = e.toString().split(p);
58
58
  let s;
59
59
  if (s = (await this.connection.getAccountResource(t[0], `${this.tokenBridgeAddress}::state::OriginInfo`)).data, !s)
60
- throw E;
61
- const r = U(parseInt(s.token_chain.number)), n = new m(s.token_address.external_address);
60
+ throw C;
61
+ const r = E(parseInt(s.token_chain.number)), n = new m(s.token_address.external_address);
62
62
  return { chain: r, address: n };
63
63
  }
64
64
  async getTokenUniversalAddress(e) {
@@ -83,7 +83,7 @@ class d {
83
83
  const t = await this.getAssetFullyQualifiedType(e);
84
84
  if (!t)
85
85
  throw new Error("Invalid asset address.");
86
- return await this.connection.getAccountResource(C(t), `${this.tokenBridgeAddress}::state::OriginInfo`), _(this.chain, t);
86
+ return await this.connection.getAccountResource(F(t), `${this.tokenBridgeAddress}::state::OriginInfo`), _(this.chain, t);
87
87
  }
88
88
  async isTransferCompleted(e) {
89
89
  const s = (await this.connection.getAccountResource(this.tokenBridgeAddress, `${this.tokenBridgeAddress}::state::State`)).data.consumed_vaas.elems.handle;
@@ -91,7 +91,7 @@ class d {
91
91
  return await this.connection.getTableItem(s, {
92
92
  key_type: "vector<u8>",
93
93
  value_type: "u8",
94
- key: `0x${F.Buffer.from($(e.hash)).toString("hex")}`
94
+ key: `0x${U.Buffer.from($(e.hash)).toString("hex")}`
95
95
  }), !0;
96
96
  } catch {
97
97
  return !1;
@@ -181,7 +181,7 @@ class d {
181
181
  static getForeignAssetAddress(e, t, s) {
182
182
  if (h(s.address))
183
183
  throw new Error("Invalid token address");
184
- const r = z({
184
+ const r = P({
185
185
  chain: s.chain,
186
186
  tokenBridgeAddress: new c(t).toUniversalAddress(),
187
187
  tokenId: s.address.toUniversalAddress()
@@ -1 +1 @@
1
- "use strict";var m=Object.defineProperty;var u=(d,e,t)=>e in d?m(d,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):d[e]=t;var i=(d,e,t)=>u(d,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const w=require("./cosmwasm-Dak0Bl9R.js"),c=require("./index-BR1-b6-B.js");class o{constructor(e,t,s,r){i(this,"network");i(this,"chain");i(this,"rpc");i(this,"contracts");i(this,"coreAddress");this.network=e,this.chain=t,this.rpc=s,this.contracts=r;const n=this.contracts.coreBridge;if(!n)throw new Error(`Wormhole Token Bridge contract for domain ${t} not found`);this.coreAddress=n}getGuardianSet(e){throw new Error("Method not implemented.")}getGuardianSetIndex(){throw new Error("Method not implemented.")}getMessageFee(){throw new Error("Method not implemented.")}static async fromRpc(e,t){const[s,r]=await w.CosmwasmPlatform.chainFromRpc(e),n=t[r];if(n.network!==s)throw new Error(`Network mismatch: ${n.network} != ${s}`);return new o(s,r,e,n.contracts)}async*publishMessage(e,t,s,r){throw new Error("Method not implemented.")}async*verifyMessage(e,t){throw new Error("Not implemented.")}async parseTransaction(e){const t=await this.rpc.getTx(e);if(!t)throw new Error("No transaction found for txid: "+e);return[o.parseWormholeMessageId(this.chain,this.coreAddress,t)]}async parseMessages(e){const t=await this.rpc.getTx(e);if(!t)throw new Error("No transaction found for txid: "+e);return[o.parseWormholeMessage(this.chain,this.coreAddress,t)]}static parseWormholeMessage(e,t,s){const r=s.events.filter(a=>a.type==="wasm"&&a.attributes[0].key==="_contract_address"&&a.attributes[0].value===t);if(r.length===0)throw new Error("No wormhole message found in tx");r.length>1&&console.error(`Expected single message, found ${r.length}`);const[n]=r,h=Object.fromEntries(n.attributes.map(a=>[a.key.split(".")[1],a.value]));return c.createVAA("Uint8Array",{emitterChain:e,emitterAddress:new c.UniversalAddress(c.hex.decode(h.sender)),sequence:BigInt(h.sequence),guardianSet:0,timestamp:Number(h.block_time),consistencyLevel:0,nonce:Number(h.nonce),signatures:[],payload:c.hex.decode(h.message)})}static parseWormholeMessageId(e,t,s){const r=o.parseWormholeMessage(e,t,s);return{chain:r.emitterChain,emitter:r.emitterAddress,sequence:r.sequence}}}c.registerProtocol(c._platform$3,"WormholeCore",o);exports.CosmwasmWormholeCore=o;
1
+ "use strict";var m=Object.defineProperty;var u=(d,e,t)=>e in d?m(d,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):d[e]=t;var i=(d,e,t)=>u(d,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const w=require("./cosmwasm-QIikZzSm.js"),c=require("./index-BeChRLqf.js");class o{constructor(e,t,s,r){i(this,"network");i(this,"chain");i(this,"rpc");i(this,"contracts");i(this,"coreAddress");this.network=e,this.chain=t,this.rpc=s,this.contracts=r;const n=this.contracts.coreBridge;if(!n)throw new Error(`Wormhole Token Bridge contract for domain ${t} not found`);this.coreAddress=n}getGuardianSet(e){throw new Error("Method not implemented.")}getGuardianSetIndex(){throw new Error("Method not implemented.")}getMessageFee(){throw new Error("Method not implemented.")}static async fromRpc(e,t){const[s,r]=await w.CosmwasmPlatform.chainFromRpc(e),n=t[r];if(n.network!==s)throw new Error(`Network mismatch: ${n.network} != ${s}`);return new o(s,r,e,n.contracts)}async*publishMessage(e,t,s,r){throw new Error("Method not implemented.")}async*verifyMessage(e,t){throw new Error("Not implemented.")}async parseTransaction(e){const t=await this.rpc.getTx(e);if(!t)throw new Error("No transaction found for txid: "+e);return[o.parseWormholeMessageId(this.chain,this.coreAddress,t)]}async parseMessages(e){const t=await this.rpc.getTx(e);if(!t)throw new Error("No transaction found for txid: "+e);return[o.parseWormholeMessage(this.chain,this.coreAddress,t)]}static parseWormholeMessage(e,t,s){const r=s.events.filter(a=>a.type==="wasm"&&a.attributes[0].key==="_contract_address"&&a.attributes[0].value===t);if(r.length===0)throw new Error("No wormhole message found in tx");r.length>1&&console.error(`Expected single message, found ${r.length}`);const[n]=r,h=Object.fromEntries(n.attributes.map(a=>[a.key.split(".")[1],a.value]));return c.createVAA("Uint8Array",{emitterChain:e,emitterAddress:new c.UniversalAddress(c.hex.decode(h.sender)),sequence:BigInt(h.sequence),guardianSet:0,timestamp:Number(h.block_time),consistencyLevel:0,nonce:Number(h.nonce),signatures:[],payload:c.hex.decode(h.message)})}static parseWormholeMessageId(e,t,s){const r=o.parseWormholeMessage(e,t,s);return{chain:r.emitterChain,emitter:r.emitterAddress,sequence:r.sequence}}}c.registerProtocol(c._platform$3,"WormholeCore",o);exports.CosmwasmWormholeCore=o;