@wormhole-foundation/wormhole-connect 4.1.0-beta.0-development → 4.2.0-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 (359) hide show
  1. package/README.md +1 -1
  2. package/dist/assets/{aptos-C9pj8h2Q.js → aptos-DgUCX7ng.js} +3 -3
  3. package/dist/assets/{evm-DCydYqBI.js → evm-B6bqAPTR.js} +4 -4
  4. package/dist/assets/{evm-CJXv6IQV.js → evm-Ve5nG8Fs.js} +1 -1
  5. package/dist/assets/{index-LvDsy6wR.js → index-BJokXZAc.js} +1 -1
  6. package/dist/assets/{index-BqxX-Ey7.js → index-BJv9sngo.js} +1 -1
  7. package/dist/assets/{index-C9cy4cDs.js → index-BjZMFLjq.js} +1 -1
  8. package/dist/assets/{index-FJ-n91Op.js → index-BwbPlAQZ.js} +1 -1
  9. package/dist/assets/{index-Clu5I99l.js → index-Bzg4DNh9.js} +1 -1
  10. package/dist/assets/{index-ezhfpCvx.js → index-CKXa657f.js} +1 -1
  11. package/dist/assets/index-CXiuP738.js +1 -0
  12. package/dist/assets/{index-CNExx9Zb.js → index-CvTvoHH-.js} +1 -1
  13. package/dist/assets/{index-C25bHdOM.js → index-D1ULRVbZ.js} +1 -1
  14. package/dist/assets/{index-DpabQJOX.js → index-DlH9IMQl.js} +1 -1
  15. package/dist/assets/{index-C8u74RER.js → index-Dsb-5apv.js} +1 -1
  16. package/dist/assets/{index-D9ApKauA.js → index-_YFUWLUM.js} +1 -1
  17. package/dist/assets/{index-CoIvdDsX.js → index-jg26xdEi.js} +1 -1
  18. package/dist/assets/{provider-jsonrpc-DuMpLBV0.js → provider-jsonrpc-DNgUKjG6.js} +1 -1
  19. package/dist/assets/{solana-DWuIx6gK.js → solana-D4RepnSA.js} +2 -2
  20. package/dist/assets/{sui-BcTGBE_4.js → sui-Du5h-f8S.js} +3 -3
  21. package/dist/main.mjs +185 -140
  22. package/dist/src/components/ConfigurablePageHeader.d.ts +1 -1
  23. package/dist/src/components/ConfigurablePageHeader.d.ts.map +1 -1
  24. package/dist/src/components/Header.d.ts +1 -0
  25. package/dist/src/components/Header.d.ts.map +1 -1
  26. package/dist/src/components/PageHeader.d.ts +1 -3
  27. package/dist/src/components/PageHeader.d.ts.map +1 -1
  28. package/dist/src/components/SampleApp/index.d.ts.map +1 -1
  29. package/dist/src/components/v3/BackButton.d.ts +6 -0
  30. package/dist/src/components/v3/BackButton.d.ts.map +1 -0
  31. package/dist/src/components/v3/FormContent.d.ts +5 -0
  32. package/dist/src/components/v3/FormContent.d.ts.map +1 -0
  33. package/dist/src/config/constants.d.ts.map +1 -1
  34. package/dist/src/config/events.d.ts +2 -1
  35. package/dist/src/config/events.d.ts.map +1 -1
  36. package/dist/src/config/mainnet/chains.d.ts.map +1 -1
  37. package/dist/src/config/mainnet/rpcs.d.ts.map +1 -1
  38. package/dist/src/config/mainnet/tokens.d.ts.map +1 -1
  39. package/dist/src/config/mainnet/wrappedTokens.d.ts +6 -0
  40. package/dist/src/config/mainnet/wrappedTokens.d.ts.map +1 -1
  41. package/dist/src/config/testnet/chains.d.ts.map +1 -1
  42. package/dist/src/config/testnet/rpcs.d.ts.map +1 -1
  43. package/dist/src/config/testnet/tokens.d.ts.map +1 -1
  44. package/dist/src/config/types.d.ts +6 -11
  45. package/dist/src/config/types.d.ts.map +1 -1
  46. package/dist/src/config/ui.d.ts +9 -0
  47. package/dist/src/config/ui.d.ts.map +1 -1
  48. package/dist/src/consts/wallet.d.ts.map +1 -1
  49. package/dist/src/hooks/useAutoEnableGasDropoff.d.ts +3 -1
  50. package/dist/src/hooks/useAutoEnableGasDropoff.d.ts.map +1 -1
  51. package/dist/src/hooks/useConnectToLastUsedWallet.d.ts.map +1 -1
  52. package/dist/src/hooks/useSortedRoutesWithQuotes.d.ts.map +1 -1
  53. package/dist/src/hooks/useTransactionHistory.d.ts.map +1 -1
  54. package/dist/src/hooks/useTransactionHistoryLiFi.d.ts +2 -0
  55. package/dist/src/hooks/useTransactionHistoryLiFi.d.ts.map +1 -1
  56. package/dist/src/hooks/useTransactionHistoryMayan.d.ts +2 -0
  57. package/dist/src/hooks/useTransactionHistoryMayan.d.ts.map +1 -1
  58. package/dist/src/hooks/useTransactionHistoryWHScan.d.ts +2 -1
  59. package/dist/src/hooks/useTransactionHistoryWHScan.d.ts.map +1 -1
  60. package/dist/src/icons/PoweredBy.d.ts.map +1 -1
  61. package/dist/src/icons/TokenIcons.d.ts.map +1 -1
  62. package/dist/src/icons/Tokens/AUSD.d.ts +4 -0
  63. package/dist/src/icons/Tokens/AUSD.d.ts.map +1 -0
  64. package/dist/src/routes/lifi/LiFiRoute.d.ts.map +1 -1
  65. package/dist/src/routes/mayan/utils.d.ts.map +1 -1
  66. package/dist/src/routes/monad/consts.d.ts +1 -0
  67. package/dist/src/routes/monad/consts.d.ts.map +1 -1
  68. package/dist/src/routes/monad/monad.test.d.ts +1 -0
  69. package/dist/src/routes/monad/monad.test.d.ts.map +1 -0
  70. package/dist/src/routes/monad/utils.d.ts.map +1 -1
  71. package/dist/src/sdklegacy/config/MAINNET.d.ts.map +1 -1
  72. package/dist/src/sdklegacy/config/TESTNET.d.ts.map +1 -1
  73. package/dist/src/telemetry/types.d.ts +4 -2
  74. package/dist/src/telemetry/types.d.ts.map +1 -1
  75. package/dist/src/theme.d.ts +4 -3
  76. package/dist/src/theme.d.ts.map +1 -1
  77. package/dist/src/utils/errors.d.ts.map +1 -1
  78. package/dist/src/utils/fees.d.ts.map +1 -1
  79. package/dist/src/utils/index.d.ts.map +1 -1
  80. package/dist/src/utils/sdkv2.d.ts.map +1 -1
  81. package/dist/src/utils/wallet/index.d.ts +1 -0
  82. package/dist/src/utils/wallet/index.d.ts.map +1 -1
  83. package/dist/src/views/Terms.d.ts.map +1 -1
  84. package/dist/src/views/TxSearch.d.ts.map +1 -1
  85. package/dist/src/views/v3/Bridge/AssetPicker/PickerModal.d.ts.map +1 -1
  86. package/dist/src/views/v3/Bridge/AssetPicker/TokenPickerButton.d.ts +17 -0
  87. package/dist/src/views/v3/Bridge/AssetPicker/TokenPickerButton.d.ts.map +1 -0
  88. package/dist/src/views/v3/Bridge/AssetPicker/TokenPickerButtonContent.d.ts +8 -0
  89. package/dist/src/views/v3/Bridge/AssetPicker/TokenPickerButtonContent.d.ts.map +1 -0
  90. package/dist/src/views/v3/Bridge/AssetPicker/__tests__/TokenPickerButton.test.d.ts +2 -0
  91. package/dist/src/views/v3/Bridge/AssetPicker/__tests__/TokenPickerButton.test.d.ts.map +1 -0
  92. package/dist/src/views/v3/Bridge/AssetPicker/__tests__/TokenPickerButtonContent.test.d.ts +2 -0
  93. package/dist/src/views/v3/Bridge/AssetPicker/__tests__/TokenPickerButtonContent.test.d.ts.map +1 -0
  94. package/dist/src/views/v3/Bridge/AssetPicker/index.d.ts.map +1 -1
  95. package/dist/src/views/v3/Bridge/GasSlider/index.d.ts.map +1 -1
  96. package/dist/src/views/v3/Bridge/Routes/SingleRoute.d.ts.map +1 -1
  97. package/dist/src/views/v3/Bridge/Routes/index.d.ts +2 -1
  98. package/dist/src/views/v3/Bridge/Routes/index.d.ts.map +1 -1
  99. package/dist/src/views/v3/Bridge/WalletConnector/Controller.d.ts.map +1 -1
  100. package/dist/src/views/v3/Bridge/WalletConnector/ExplorerLink.d.ts.map +1 -1
  101. package/dist/src/views/v3/Bridge/WalletConnector/WalletAddress.d.ts +9 -0
  102. package/dist/src/views/v3/Bridge/WalletConnector/WalletAddress.d.ts.map +1 -0
  103. package/dist/src/views/v3/Bridge/WalletConnector/WalletPickerContent.d.ts.map +1 -1
  104. package/dist/src/views/v3/Bridge/WalletConnector/__tests__/WalletAddress.test.d.ts +2 -0
  105. package/dist/src/views/v3/Bridge/WalletConnector/__tests__/WalletAddress.test.d.ts.map +1 -0
  106. package/dist/src/views/v3/Bridge/index.d.ts.map +1 -1
  107. package/dist/src/views/v3/Redeem/TransactionDetails/index.d.ts.map +1 -1
  108. package/dist/src/views/v3/Redeem/index.d.ts.map +1 -1
  109. package/dist/src/views/v3/TxHistory/Item/index.d.ts.map +1 -1
  110. package/dist/src/views/v3/TxHistory/Widget/Item.d.ts.map +1 -1
  111. package/lib/{account-cIQhxn1E.js → account-K005OXgL.js} +1 -1
  112. package/lib/{account-BVl6Reot.mjs → account-TXlxMyv4.mjs} +2 -2
  113. package/lib/{address-rVHWlcKQ.mjs → address-CX0E32ut.mjs} +1 -1
  114. package/lib/{address-W9jn6Qdk.js → address-DqbIfKOu.js} +1 -1
  115. package/lib/{aptos-BRApiL_4.mjs → aptos-B1Gf2eCD.mjs} +5 -5
  116. package/lib/{aptos-CNHYHK9c.js → aptos-CnswqE-C.js} +2 -2
  117. package/lib/{aptos-D1WFzBMy.mjs → aptos-DRfXJ8Ba.mjs} +7 -7
  118. package/lib/{aptos-d56Mw8DO.js → aptos-DcdKyekw.js} +1 -1
  119. package/lib/{associatedTokenAccount-C4vEEbG5.js → associatedTokenAccount-CeqdaO2m.js} +1 -1
  120. package/lib/{associatedTokenAccount-DF6phO3l.mjs → associatedTokenAccount-Dsm4Hq32.mjs} +3 -3
  121. package/lib/{basic-BxzNlZH2.js → basic-BS7Z1PMG.js} +1 -1
  122. package/lib/{basic-Bj1RjRlj.js → basic-C6VXQ7m-.js} +1 -1
  123. package/lib/{basic-DR75AlQZ.mjs → basic-CFbslwLM.mjs} +3 -3
  124. package/lib/{basic-DjAbnFVK.mjs → basic-DnhL0oWa.mjs} +3 -3
  125. package/lib/{chunk-KJH4KKG6-Brt4fyqz.mjs → chunk-KJH4KKG6-BfVMUPsB.mjs} +3 -3
  126. package/lib/{chunk-KJH4KKG6-BbF5W1_N.js → chunk-KJH4KKG6-CJx-rDa6.js} +1 -1
  127. package/lib/constants-BCFTvlgh.js +1 -0
  128. package/lib/{constants-PWEvTwIh.mjs → constants-CTJ_-E0d.mjs} +5 -4
  129. package/lib/{core-CkIseV8K.mjs → core-DT6TBPQP.mjs} +6 -6
  130. package/lib/{core-CCO0WKg_.js → core-RRp0K__1.js} +3 -3
  131. package/lib/{create-CChLkbGc.mjs → create-C5dhTMHL.mjs} +1 -1
  132. package/lib/{create-4w0DrcRO.js → create-bA3Gyivs.js} +1 -1
  133. package/lib/{evm-BAU31wxF.js → evm-BwCfQIyJ.js} +2 -2
  134. package/lib/{evm-CMxUV_bG.mjs → evm-BxF9XPn4.mjs} +7 -7
  135. package/lib/{evm-9NnChBii.js → evm-C3B8jHD7.js} +1 -1
  136. package/lib/{evm-2dSclZz6.mjs → evm-DlOCiplA.mjs} +5 -5
  137. package/lib/executor.js +1 -1
  138. package/lib/executor.mjs +13 -15
  139. package/lib/hosted.js +1 -1
  140. package/lib/hosted.mjs +1 -1
  141. package/lib/hypercore-DbqOAqKF.js +4 -0
  142. package/lib/{hypercore-Bmlyd4uI.mjs → hypercore-H7pw_pN4.mjs} +4858 -3107
  143. package/lib/{index-qL4D-cpk.js → index-1T4sIL8n.js} +1 -1
  144. package/lib/{index-Ap7250Gf.mjs → index-39tU5Y5t.mjs} +6 -6
  145. package/lib/{index-D7gCsil9.js → index-6m7yero0.js} +1 -1
  146. package/lib/{index-C5I7QiZ7.mjs → index-B6Ppg6EZ.mjs} +3 -3
  147. package/lib/{index-xvG6cxNx.js → index-BEIFBxtP.js} +1 -1
  148. package/lib/{index-zIzzPp6D.mjs → index-BHpJUZne.mjs} +3 -3
  149. package/lib/{index-CS6YnwIH.js → index-BJ0xVutl.js} +1 -1
  150. package/lib/{index-DUyGY36L.js → index-BNpkgexR.js} +1 -1
  151. package/lib/{index-C61IKE_V.mjs → index-BSIPYyeZ.mjs} +2 -2
  152. package/lib/{index-EbSw7SbC.js → index-BTjUHY0e.js} +1 -1
  153. package/lib/{index-BuHdMHLz.mjs → index-Ba1zbu3Q.mjs} +2 -2
  154. package/lib/{index-CPGWCfWD.js → index-BbE02hdW.js} +8 -8
  155. package/lib/{index-BU35GfG0.mjs → index-Bdtj4LUz.mjs} +2 -2
  156. package/lib/{index-BCKX-m7h.mjs → index-BmP0jPVN.mjs} +12 -11
  157. package/lib/{index-hyk_rzOj.mjs → index-BnKf2rOm.mjs} +3246 -3039
  158. package/lib/{index-Ds7-hb1n.mjs → index-BtU67kjy.mjs} +1 -1
  159. package/lib/{index-Cl9Df47-.mjs → index-BuEKhdrW.mjs} +3 -3
  160. package/lib/{index-CN7M4gwf.mjs → index-BviSNDV7.mjs} +5 -5
  161. package/lib/{index-Cys9e11O.js → index-C-SMuVS3.js} +1 -1
  162. package/lib/{index-Cg1Xo1eZ.js → index-C85u3Gj5.js} +1 -1
  163. package/lib/{index-arjwwpj2.mjs → index-CGqJokTg.mjs} +1 -1
  164. package/lib/{index-Da9rvmCc.js → index-Cb0UWLGI.js} +1 -1
  165. package/lib/{index-DHnmtpvA.mjs → index-CcbY14s5.mjs} +4 -4
  166. package/lib/{index-BKgliEPZ.mjs → index-CrWTw0Se.mjs} +2 -2
  167. package/lib/{index-B16yfCYF.mjs → index-CsLyPoC6.mjs} +4 -4
  168. package/lib/{index-B_JJ50Y-.mjs → index-D-HUNEka.mjs} +4 -4
  169. package/lib/index-DAJZN12d.js +1 -0
  170. package/lib/{index-BhMcIAHt.js → index-DJ2w1fz1.js} +1 -1
  171. package/lib/{index-C5j1HoFr.js → index-DVm_f5E1.js} +1 -1
  172. package/lib/{index-CO4ZoIAU.mjs → index-DjmVBSGQ.mjs} +4 -4
  173. package/lib/{index-Co3mm7UN.mjs → index-DrJE8udd.mjs} +1 -1
  174. package/lib/{index-fTUcaKb4.js → index-DuhYwr0t.js} +1 -1
  175. package/lib/{index-BQ0lWQfT.mjs → index-DwEx1Hn-.mjs} +2 -2
  176. package/lib/{index-DBofyYkS.js → index-DziujHu1.js} +1 -1
  177. package/lib/{index-Dou5sFku.js → index-JWbF-m3e.js} +1 -1
  178. package/lib/{index-_IZO0QRl.mjs → index-NAUBlFLG.mjs} +4 -4
  179. package/lib/{index-D1odbjeH.mjs → index-VnJcNK62.mjs} +3 -3
  180. package/lib/{index-DVxmRy4C.js → index-WrXSs0ic.js} +1 -1
  181. package/lib/{index-CsdD1TNi.js → index-aMKUba1k.js} +1 -1
  182. package/lib/{index-BXsTZ9x_.mjs → index-dufPAW5T.mjs} +298 -267
  183. package/lib/{index-lZY5fTXF.js → index-lAqXlt-a.js} +1 -1
  184. package/lib/{index-cRi8si5A.js → index-mikg85u5.js} +1 -1
  185. package/lib/{index-BScgBddV.mjs → index-o1SAPXm_.mjs} +3 -3
  186. package/lib/{index-CZHdN9pg.js → index-pn6NZmOS.js} +1 -1
  187. package/lib/{index-DNZ-Pkpm.mjs → index-rxQSA9t0.mjs} +6 -6
  188. package/lib/{index-CHvWl09c.js → index-t_koRpGi.js} +1 -1
  189. package/lib/{index-DALvn9lg.js → index-v7w8krM0.js} +1 -1
  190. package/lib/{index-japympio.js → index-wadjmD_G.js} +1 -1
  191. package/lib/{index.es-BC9c-IV7.mjs → index.es-3KAM8l3G.mjs} +4 -4
  192. package/lib/{index.es-DxdcaWwJ.js → index.es-B3FwsRfN.js} +3 -3
  193. package/lib/{index.es-ByyzusUN.mjs → index.es-CYyuSfPG.mjs} +4 -4
  194. package/lib/{index.es-BmZ1Eaml.js → index.es-ClIr5Gv-.js} +1 -1
  195. package/lib/index.js +78 -33
  196. package/lib/index.mjs +9157 -8833
  197. package/lib/{keypair-DWucLGoA.js → keypair-DCgXFOw5.js} +1 -1
  198. package/lib/{keypair-CP7syX9B.mjs → keypair-vpG2fl-q.mjs} +3 -3
  199. package/lib/lifi.js +1 -1
  200. package/lib/lifi.mjs +75 -76
  201. package/lib/mayan.js +2 -2
  202. package/lib/mayan.mjs +11 -10
  203. package/lib/{mint-CoNdQTGM.mjs → mint-BPrKG-Zc.mjs} +3 -3
  204. package/lib/{mint-CxQ6P5lT.js → mint-DW-XgF68.js} +1 -1
  205. package/lib/monad.js +1 -1
  206. package/lib/monad.mjs +91 -58
  207. package/lib/multiToken-B9BoSxdr.js +1 -0
  208. package/lib/{multiToken-Bm-K5dRJ.mjs → multiToken-DMllgxzT.mjs} +4 -3
  209. package/lib/ntt.js +2 -2
  210. package/lib/ntt.mjs +77 -86
  211. package/lib/{platform-Cil_UtAQ.mjs → platform-CSpAb386.mjs} +2788 -2748
  212. package/lib/{platform-BMKYxqvv.js → platform-Csj1Outc.js} +1 -1
  213. package/lib/platform-DCcL7jHP.js +11 -0
  214. package/lib/{platform-vRQufc6j.mjs → platform-YzJZdSCf.mjs} +3 -3
  215. package/lib/{secp256k1-D24BZJAq.js → secp256k1-B2G0zB-5.js} +1 -1
  216. package/lib/{secp256k1-CXRI4XfW.mjs → secp256k1-BZFiBDHQ.mjs} +1 -1
  217. package/lib/{secp256k1-r0ke-jeG.js → secp256k1-Bz-QjKBU.js} +1 -1
  218. package/lib/{secp256k1-rufcCDcw.mjs → secp256k1-Cteng3v9.mjs} +1 -1
  219. package/lib/{secp256k1-BLiUzGcX.js → secp256k1-CxjctkO3.js} +1 -1
  220. package/lib/{secp256k1-ZQ8UIhmk.mjs → secp256k1-D3i7kc2M.mjs} +1 -1
  221. package/lib/{signer-0hWrZ5BZ.mjs → signer-D2GRgRrw.mjs} +2 -2
  222. package/lib/{signer-DyqulDUM.js → signer-gjSiV5v3.js} +1 -1
  223. package/lib/{solana-CXtk3UX1.js → solana-BE2DAanS.js} +4 -4
  224. package/lib/{solana-lhrSUH_P.mjs → solana-Df231Yni.mjs} +10 -10
  225. package/lib/solana-DfW5T_64.mjs +18 -0
  226. package/lib/solana-Edd9tIkX.js +1 -0
  227. package/lib/{solanaEmbed.esm-CFu0h50b.mjs → solanaEmbed.esm-B9WG-Afi.mjs} +4 -4
  228. package/lib/{solanaEmbed.esm-BMynjubZ.js → solanaEmbed.esm-BqcrHrhl.js} +1 -1
  229. package/lib/{solidity-CbDkqHjE.js → solidity-BW7c8rFv.js} +1 -1
  230. package/lib/{solidity-Dk_mvceo.mjs → solidity-D9gSgFcp.mjs} +1 -1
  231. package/lib/src/components/ConfigurablePageHeader.d.ts +1 -1
  232. package/lib/src/components/ConfigurablePageHeader.d.ts.map +1 -1
  233. package/lib/src/components/Header.d.ts +1 -0
  234. package/lib/src/components/Header.d.ts.map +1 -1
  235. package/lib/src/components/PageHeader.d.ts +1 -3
  236. package/lib/src/components/PageHeader.d.ts.map +1 -1
  237. package/lib/src/components/SampleApp/index.d.ts.map +1 -1
  238. package/lib/src/components/v3/BackButton.d.ts +6 -0
  239. package/lib/src/components/v3/BackButton.d.ts.map +1 -0
  240. package/lib/src/components/v3/FormContent.d.ts +5 -0
  241. package/lib/src/components/v3/FormContent.d.ts.map +1 -0
  242. package/lib/src/config/constants.d.ts.map +1 -1
  243. package/lib/src/config/events.d.ts +2 -1
  244. package/lib/src/config/events.d.ts.map +1 -1
  245. package/lib/src/config/mainnet/chains.d.ts.map +1 -1
  246. package/lib/src/config/mainnet/rpcs.d.ts.map +1 -1
  247. package/lib/src/config/mainnet/tokens.d.ts.map +1 -1
  248. package/lib/src/config/mainnet/wrappedTokens.d.ts +6 -0
  249. package/lib/src/config/mainnet/wrappedTokens.d.ts.map +1 -1
  250. package/lib/src/config/testnet/chains.d.ts.map +1 -1
  251. package/lib/src/config/testnet/rpcs.d.ts.map +1 -1
  252. package/lib/src/config/testnet/tokens.d.ts.map +1 -1
  253. package/lib/src/config/types.d.ts +6 -11
  254. package/lib/src/config/types.d.ts.map +1 -1
  255. package/lib/src/config/ui.d.ts +9 -0
  256. package/lib/src/config/ui.d.ts.map +1 -1
  257. package/lib/src/consts/wallet.d.ts.map +1 -1
  258. package/lib/src/hooks/useAutoEnableGasDropoff.d.ts +3 -1
  259. package/lib/src/hooks/useAutoEnableGasDropoff.d.ts.map +1 -1
  260. package/lib/src/hooks/useConnectToLastUsedWallet.d.ts.map +1 -1
  261. package/lib/src/hooks/useSortedRoutesWithQuotes.d.ts.map +1 -1
  262. package/lib/src/hooks/useTransactionHistory.d.ts.map +1 -1
  263. package/lib/src/hooks/useTransactionHistoryLiFi.d.ts +2 -0
  264. package/lib/src/hooks/useTransactionHistoryLiFi.d.ts.map +1 -1
  265. package/lib/src/hooks/useTransactionHistoryMayan.d.ts +2 -0
  266. package/lib/src/hooks/useTransactionHistoryMayan.d.ts.map +1 -1
  267. package/lib/src/hooks/useTransactionHistoryWHScan.d.ts +2 -1
  268. package/lib/src/hooks/useTransactionHistoryWHScan.d.ts.map +1 -1
  269. package/lib/src/icons/PoweredBy.d.ts.map +1 -1
  270. package/lib/src/icons/TokenIcons.d.ts.map +1 -1
  271. package/lib/src/icons/Tokens/AUSD.d.ts +4 -0
  272. package/lib/src/icons/Tokens/AUSD.d.ts.map +1 -0
  273. package/lib/src/routes/lifi/LiFiRoute.d.ts.map +1 -1
  274. package/lib/src/routes/mayan/utils.d.ts.map +1 -1
  275. package/lib/src/routes/monad/consts.d.ts +1 -0
  276. package/lib/src/routes/monad/consts.d.ts.map +1 -1
  277. package/lib/src/routes/monad/monad.test.d.ts +1 -0
  278. package/lib/src/routes/monad/monad.test.d.ts.map +1 -0
  279. package/lib/src/routes/monad/utils.d.ts.map +1 -1
  280. package/lib/src/sdklegacy/config/MAINNET.d.ts.map +1 -1
  281. package/lib/src/sdklegacy/config/TESTNET.d.ts.map +1 -1
  282. package/lib/src/telemetry/types.d.ts +4 -2
  283. package/lib/src/telemetry/types.d.ts.map +1 -1
  284. package/lib/src/theme.d.ts +4 -3
  285. package/lib/src/theme.d.ts.map +1 -1
  286. package/lib/src/utils/errors.d.ts.map +1 -1
  287. package/lib/src/utils/fees.d.ts.map +1 -1
  288. package/lib/src/utils/index.d.ts.map +1 -1
  289. package/lib/src/utils/sdkv2.d.ts.map +1 -1
  290. package/lib/src/utils/wallet/index.d.ts +1 -0
  291. package/lib/src/utils/wallet/index.d.ts.map +1 -1
  292. package/lib/src/views/Terms.d.ts.map +1 -1
  293. package/lib/src/views/TxSearch.d.ts.map +1 -1
  294. package/lib/src/views/v3/Bridge/AssetPicker/PickerModal.d.ts.map +1 -1
  295. package/lib/src/views/v3/Bridge/AssetPicker/TokenPickerButton.d.ts +17 -0
  296. package/lib/src/views/v3/Bridge/AssetPicker/TokenPickerButton.d.ts.map +1 -0
  297. package/lib/src/views/v3/Bridge/AssetPicker/TokenPickerButtonContent.d.ts +8 -0
  298. package/lib/src/views/v3/Bridge/AssetPicker/TokenPickerButtonContent.d.ts.map +1 -0
  299. package/lib/src/views/v3/Bridge/AssetPicker/__tests__/TokenPickerButton.test.d.ts +2 -0
  300. package/lib/src/views/v3/Bridge/AssetPicker/__tests__/TokenPickerButton.test.d.ts.map +1 -0
  301. package/lib/src/views/v3/Bridge/AssetPicker/__tests__/TokenPickerButtonContent.test.d.ts +2 -0
  302. package/lib/src/views/v3/Bridge/AssetPicker/__tests__/TokenPickerButtonContent.test.d.ts.map +1 -0
  303. package/lib/src/views/v3/Bridge/AssetPicker/index.d.ts.map +1 -1
  304. package/lib/src/views/v3/Bridge/GasSlider/index.d.ts.map +1 -1
  305. package/lib/src/views/v3/Bridge/Routes/SingleRoute.d.ts.map +1 -1
  306. package/lib/src/views/v3/Bridge/Routes/index.d.ts +2 -1
  307. package/lib/src/views/v3/Bridge/Routes/index.d.ts.map +1 -1
  308. package/lib/src/views/v3/Bridge/WalletConnector/Controller.d.ts.map +1 -1
  309. package/lib/src/views/v3/Bridge/WalletConnector/ExplorerLink.d.ts.map +1 -1
  310. package/lib/src/views/v3/Bridge/WalletConnector/WalletAddress.d.ts +9 -0
  311. package/lib/src/views/v3/Bridge/WalletConnector/WalletAddress.d.ts.map +1 -0
  312. package/lib/src/views/v3/Bridge/WalletConnector/WalletPickerContent.d.ts.map +1 -1
  313. package/lib/src/views/v3/Bridge/WalletConnector/__tests__/WalletAddress.test.d.ts +2 -0
  314. package/lib/src/views/v3/Bridge/WalletConnector/__tests__/WalletAddress.test.d.ts.map +1 -0
  315. package/lib/src/views/v3/Bridge/index.d.ts.map +1 -1
  316. package/lib/src/views/v3/Redeem/TransactionDetails/index.d.ts.map +1 -1
  317. package/lib/src/views/v3/Redeem/index.d.ts.map +1 -1
  318. package/lib/src/views/v3/TxHistory/Item/index.d.ts.map +1 -1
  319. package/lib/src/views/v3/TxHistory/Widget/Item.d.ts.map +1 -1
  320. package/lib/{sui-CZNJPZ5q.mjs → sui-B9tYcgyb.mjs} +4 -4
  321. package/lib/{sui-CBxh7zmc.js → sui-BVwNcgQT.js} +1 -1
  322. package/lib/{sui-LiXjD27c.js → sui-BtyZE8YC.js} +1 -1
  323. package/lib/{sui-cpCvd7RC.mjs → sui-QP4AZGNc.mjs} +6 -6
  324. package/lib/{tokenHelpers-DT6mPtNP.mjs → tokenHelpers-C53sepsl.mjs} +1 -1
  325. package/lib/{tokenHelpers-DZRdlDO-.js → tokenHelpers-DITWDel1.js} +1 -1
  326. package/lib/{tokens-FIs8YBYj.mjs → tokens-CO0YQ3R2.mjs} +3 -3
  327. package/lib/{tokens--uOMY2-j.js → tokens-CiSHS7oi.js} +1 -1
  328. package/lib/types-CgveSjsw.js +1 -0
  329. package/lib/{types-iFgwQ7vG.mjs → types-Dxx2g1wS.mjs} +170 -168
  330. package/lib/{unsignedTransaction-DCDxTFq8.mjs → unsignedTransaction-D2Ja0SuN.mjs} +2 -2
  331. package/lib/{unsignedTransaction-DA4tlY5u.js → unsignedTransaction-qRBv5Cnd.js} +2 -2
  332. package/lib/{utils-DMf7wRGI.js → utils-BEljbqMf.js} +1 -1
  333. package/lib/{utils-BSxsyW2c.mjs → utils-mBHX3Jpu.mjs} +4 -4
  334. package/lib/{w3m-modal-CBYJj-sR.mjs → w3m-modal-5v-rsnN8.mjs} +2 -2
  335. package/lib/{w3m-modal-B3FfPDki.js → w3m-modal-B0Lu-6W8.js} +1 -1
  336. package/lib/{w3m-modal-B5PtkowQ.js → w3m-modal-B2xHxAWg.js} +1 -1
  337. package/lib/{w3m-modal-h85Jyy9l.mjs → w3m-modal-SlcSCSnx.mjs} +2 -2
  338. package/lib/{wallet-CMTEE6Oa.mjs → wallet-Cyosy4Hc.mjs} +1 -1
  339. package/lib/{wallet-BMli0fbu.js → wallet-a0_jwP8j.js} +1 -1
  340. package/lib/{web3-CUwFm9Lx.mjs → web3-CdErAVj5.mjs} +2 -2
  341. package/lib/{web3-DdUeM7iQ.js → web3-x1WCGDiy.js} +1 -1
  342. package/package.json +49 -47
  343. package/dist/assets/index-_UMHESh0.js +0 -1
  344. package/dist/src/components/Button.d.ts +0 -13
  345. package/dist/src/components/Button.d.ts.map +0 -1
  346. package/dist/src/icons/Down.d.ts +0 -5
  347. package/dist/src/icons/Down.d.ts.map +0 -1
  348. package/lib/constants-Bkyn6tLV.js +0 -1
  349. package/lib/hypercore-DJV-pPts.js +0 -4
  350. package/lib/index-BYuhx88C.js +0 -1
  351. package/lib/multiToken-YoNvxjur.js +0 -1
  352. package/lib/platform-CCG_jgOO.js +0 -11
  353. package/lib/solana-DKFJvqX8.mjs +0 -18
  354. package/lib/solana-Dmje_Si8.js +0 -1
  355. package/lib/src/components/Button.d.ts +0 -13
  356. package/lib/src/components/Button.d.ts.map +0 -1
  357. package/lib/src/icons/Down.d.ts +0 -5
  358. package/lib/src/icons/Down.d.ts.map +0 -1
  359. package/lib/types-CjNs2oB0.js +0 -1
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./platform-CCG_jgOO.js"),W=require("./index-EbSw7SbC.js"),D=require("./index-BYuhx88C.js"),g=new e.Interface(["function start((bytes32,address,address,address,address,address,uint256,uint256,uint256,uint256)) returns (address,uint16,uint64)","function receiveMessageAndSwap(bytes)"]),S=new e.Interface(["function quoteExactInputSingle((address,address,uint256,uint24,uint160)) public view returns (uint256,uint160,uint32,uint256)"]),P="https://gfx.relayers.xlabs.xyz/api/v1/swap/quote";class U{static async quoteRelayer(o,t,r){if(e.isNative(t)||e.isNative(r))throw new Error("how did you get here tho?");const n=e.hex.encode(t.toUniversalAddress().toUint8Array(),!1),s=e.hex.encode(r.toUniversalAddress().toUint8Array(),!1),a={targetChain:e.toChainId(o),sourceToken:n,targetToken:s};try{const i=await e.axios.post(P,a);return BigInt(i.data.fee)}catch(i){throw e.axios.isAxiosError(i)?new Error(`Error getting relayer fee: ${i.response?.statusText}`):i}}}const f=100,w={ETH:[e.Wormhole.tokenId("Arbitrum","native"),e.Wormhole.tokenId("Base","native"),e.Wormhole.tokenId("Ethereum","native"),e.Wormhole.tokenId("Optimism","native")],WETH:[e.Wormhole.tokenId("Arbitrum","0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"),e.Wormhole.tokenId("Avalanche","0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB"),e.Wormhole.tokenId("Base","0x4200000000000000000000000000000000000006"),e.Wormhole.tokenId("Bsc","0x2170Ed0880ac9A755fd29B2688956BD959F933F8"),e.Wormhole.tokenId("Ethereum","0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"),e.Wormhole.tokenId("Optimism","0x4200000000000000000000000000000000000006"),e.Wormhole.tokenId("Polygon","0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619")],wstETH:[e.Wormhole.tokenId("Arbitrum","0x5979D7b546E38E414F7E9822514be443A4800529"),e.Wormhole.tokenId("Base","0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452"),e.Wormhole.tokenId("Ethereum","0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"),e.Wormhole.tokenId("Optimism","0x1F32b1c2345538c0c6f582fCB022739c4A194Ebb"),e.Wormhole.tokenId("Polygon","0x03b54A6e9a984069379fae1a4fC4dBAE93B3bCCD")],USDT:[e.Wormhole.tokenId("Arbitrum","0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9"),e.Wormhole.tokenId("Avalanche","0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7"),e.Wormhole.tokenId("Base","0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2"),e.Wormhole.tokenId("Bsc","0x55d398326f99059fF775485246999027B3197955"),e.Wormhole.tokenId("Ethereum","0xdAC17F958D2ee523a2206206994597C13D831ec7"),e.Wormhole.tokenId("Optimism","0x94b008aA00579c1307B0EF2c499aD98a8ce58e58"),e.Wormhole.tokenId("Polygon","0xc2132D05D31c914a87C6611C10748AEb04B58e8F"),e.Wormhole.tokenId("Celo","0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e")]};class l{network;chain;provider;contracts;chainId;core;tokenBridge;constructor(o,t,r,n){if(this.network=o,this.chain=t,this.provider=r,this.contracts=n,!n.portico)throw new Error("Unsupported chain, no contract addresses for: "+t);this.core=new W.EvmWormholeCore(o,t,r,n),this.tokenBridge=new D.EvmTokenBridge(o,t,r,n),this.chainId=e.networkChainToNativeChainId.get(o,t)}static async fromRpc(o,t){const[r,n]=await e.EvmPlatform.chainFromRpc(o),s=t[n];if(s.network!==r)throw new Error(`Network mismatch: ${s.network} != ${r}`);return new l(r,n,o,s.contracts)}async*transfer(o,t,r,n,s,c,a){const{minAmountStart:i,minAmountFinish:d}=a.swapAmounts;if(i===0n)throw new Error("Invalid min swap amount");if(d===0n)throw new Error("Invalid min swap amount");const u=new e.EvmAddress(o).toString(),[h,k]=e.resolveWrappedToken(this.network,this.chain,r),[A,E]=e.resolveWrappedToken(this.network,t.chain,s),p=e.canonicalAddress(k),T=e.canonicalAddress(await this.getTransferrableToken(p)),C=e.canonicalAddress(t),I=e.canonicalAddress(E),b=new Date().valueOf()%2**4,v=e.PorticoBridge.serializeFlagSet({flags:{shouldWrapNative:h,shouldUnwrapNative:A},recipientChain:e.toChainId(t.chain),bridgeNonce:b,feeTierStart:f,feeTierFinish:f,padding:new Uint8Array(19)}),F=g.encodeFunctionData("start",[[v,p.toLowerCase(),T,I.toLowerCase(),C,c,n.toString(),i.toString(),d.toString(),a.relayerFee.toString()]]),B=this.getTokenGroup(k.address.toString()),m=this.getPorticoAddress(B);h||(yield*this.approve(p,u,n,m));const y=await this.core.getMessageFee(),x={to:m,data:F,value:y+(h?n:0n)};yield this.createUnsignedTransaction(e.addFrom(x,u),"PorticoBridge.Transfer")}async*redeem(o,t){const r=e.toChain(t.payload.payload.flagSet.recipientChain),n=t.payload.payload.finalTokenAddress.toNative(r).toString(),s=this.getTokenGroup(n),c=this.getPorticoAddress(s),i=await new e.Contract(c,g.fragments,this.provider).getFunction("receiveMessageAndSwap").populateTransaction(e.serialize$1(t)),d=new e.EvmAddress(o).toString();yield this.createUnsignedTransaction(e.addFrom(i,d),"PorticoBridge.Redeem")}async isTransferCompleted(o){return await this.tokenBridge.tokenBridge.isTransferCompleted(e.keccak256(o.hash))}async quoteSwap(o,t,r,n){const[,s]=e.resolveWrappedToken(this.network,this.chain,o),[,c]=e.resolveWrappedToken(this.network,this.chain,t),a=e.canonicalAddress(s),i=e.canonicalAddress(c);if(e.isEqualCaseInsensitive(a,i))return n;const d=this.getQuoterAddress(r);return(await new e.Contract(d,S.fragments,this.provider).getFunction("quoteExactInputSingle").staticCall([a,i,n,f,0]))[0]}async quoteRelay(o,t){return await U.quoteRelayer(this.chain,o,t)}async getTransferrableToken(o){const t=e.Wormhole.tokenId(this.chain,o),[,r]=e.resolveWrappedToken(this.network,this.chain,t);if(this.chain==="Ethereum")return r;const n=Object.values(w).find(a=>a.find(i=>i.chain===this.chain&&e.canonicalAddress(i)===e.canonicalAddress(r)));if(!n)throw new Error(`No token group found for ${o} on ${this.chain}`);const s=n.find(a=>a.chain==="Ethereum");if(!s)throw new Error(`No Ethereum origin token found for ${o} on ${this.chain}`);const c=await this.tokenBridge.getWrappedAsset(s);return e.Wormhole.tokenId(this.chain,c.toString())}supportedTokens(){const o=[];for(const[t,r]of Object.entries(w))for(const n of r)n.chain===this.chain&&o.push({group:t,token:n});return o}getTokenGroup(o){const r=this.supportedTokens().find(n=>e.canonicalAddress(n.token)===o);if(!r)throw new Error("Token not found");return r.group}async*approve(o,t,r,n){const s=e.EvmPlatform.getTokenImplementation(this.provider,o);if(await s.allowance(t,n)<r){const a=await s.approve.populateTransaction(n,r);yield this.createUnsignedTransaction(e.addFrom(a,t),"PorticoBridge.Approve")}}createUnsignedTransaction(o,t){return new e.EvmUnsignedTransaction(e.addChainId(o,this.chainId),this.network,this.chain,t,!1)}getPorticoAddress(o){const t=this.contracts.portico;return o==="USDT"&&t.porticoPancakeSwap||t.porticoUniswap}getQuoterAddress(o){const t=this.contracts.portico;return o==="USDT"&&t.pancakeSwapQuoterV2||t.uniswapQuoterV2}}e.registerProtocol(e._platform,"PorticoBridge",l);exports.EvmPorticoBridge=l;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./platform-DCcL7jHP.js"),W=require("./index-BTjUHY0e.js"),D=require("./index-DAJZN12d.js"),g=new e.Interface(["function start((bytes32,address,address,address,address,address,uint256,uint256,uint256,uint256)) returns (address,uint16,uint64)","function receiveMessageAndSwap(bytes)"]),S=new e.Interface(["function quoteExactInputSingle((address,address,uint256,uint24,uint160)) public view returns (uint256,uint160,uint32,uint256)"]),P="https://gfx.relayers.xlabs.xyz/api/v1/swap/quote";class U{static async quoteRelayer(o,t,r){if(e.isNative(t)||e.isNative(r))throw new Error("how did you get here tho?");const n=e.hex.encode(t.toUniversalAddress().toUint8Array(),!1),s=e.hex.encode(r.toUniversalAddress().toUint8Array(),!1),a={targetChain:e.toChainId(o),sourceToken:n,targetToken:s};try{const i=await e.axios.post(P,a);return BigInt(i.data.fee)}catch(i){throw e.axios.isAxiosError(i)?new Error(`Error getting relayer fee: ${i.response?.statusText}`):i}}}const f=100,w={ETH:[e.Wormhole.tokenId("Arbitrum","native"),e.Wormhole.tokenId("Base","native"),e.Wormhole.tokenId("Ethereum","native"),e.Wormhole.tokenId("Optimism","native")],WETH:[e.Wormhole.tokenId("Arbitrum","0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"),e.Wormhole.tokenId("Avalanche","0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB"),e.Wormhole.tokenId("Base","0x4200000000000000000000000000000000000006"),e.Wormhole.tokenId("Bsc","0x2170Ed0880ac9A755fd29B2688956BD959F933F8"),e.Wormhole.tokenId("Ethereum","0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"),e.Wormhole.tokenId("Optimism","0x4200000000000000000000000000000000000006"),e.Wormhole.tokenId("Polygon","0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619")],wstETH:[e.Wormhole.tokenId("Arbitrum","0x5979D7b546E38E414F7E9822514be443A4800529"),e.Wormhole.tokenId("Base","0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452"),e.Wormhole.tokenId("Ethereum","0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"),e.Wormhole.tokenId("Optimism","0x1F32b1c2345538c0c6f582fCB022739c4A194Ebb"),e.Wormhole.tokenId("Polygon","0x03b54A6e9a984069379fae1a4fC4dBAE93B3bCCD")],USDT:[e.Wormhole.tokenId("Arbitrum","0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9"),e.Wormhole.tokenId("Avalanche","0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7"),e.Wormhole.tokenId("Base","0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2"),e.Wormhole.tokenId("Bsc","0x55d398326f99059fF775485246999027B3197955"),e.Wormhole.tokenId("Ethereum","0xdAC17F958D2ee523a2206206994597C13D831ec7"),e.Wormhole.tokenId("Optimism","0x94b008aA00579c1307B0EF2c499aD98a8ce58e58"),e.Wormhole.tokenId("Polygon","0xc2132D05D31c914a87C6611C10748AEb04B58e8F"),e.Wormhole.tokenId("Celo","0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e")]};class l{network;chain;provider;contracts;chainId;core;tokenBridge;constructor(o,t,r,n){if(this.network=o,this.chain=t,this.provider=r,this.contracts=n,!n.portico)throw new Error("Unsupported chain, no contract addresses for: "+t);this.core=new W.EvmWormholeCore(o,t,r,n),this.tokenBridge=new D.EvmTokenBridge(o,t,r,n),this.chainId=e.networkChainToNativeChainId.get(o,t)}static async fromRpc(o,t){const[r,n]=await e.EvmPlatform.chainFromRpc(o),s=t[n];if(s.network!==r)throw new Error(`Network mismatch: ${s.network} != ${r}`);return new l(r,n,o,s.contracts)}async*transfer(o,t,r,n,s,c,a){const{minAmountStart:i,minAmountFinish:d}=a.swapAmounts;if(i===0n)throw new Error("Invalid min swap amount");if(d===0n)throw new Error("Invalid min swap amount");const u=new e.EvmAddress(o).toString(),[h,k]=e.resolveWrappedToken(this.network,this.chain,r),[A,E]=e.resolveWrappedToken(this.network,t.chain,s),p=e.canonicalAddress(k),T=e.canonicalAddress(await this.getTransferrableToken(p)),C=e.canonicalAddress(t),I=e.canonicalAddress(E),b=new Date().valueOf()%2**4,v=e.PorticoBridge.serializeFlagSet({flags:{shouldWrapNative:h,shouldUnwrapNative:A},recipientChain:e.toChainId(t.chain),bridgeNonce:b,feeTierStart:f,feeTierFinish:f,padding:new Uint8Array(19)}),F=g.encodeFunctionData("start",[[v,p.toLowerCase(),T,I.toLowerCase(),C,c,n.toString(),i.toString(),d.toString(),a.relayerFee.toString()]]),B=this.getTokenGroup(k.address.toString()),m=this.getPorticoAddress(B);h||(yield*this.approve(p,u,n,m));const y=await this.core.getMessageFee(),x={to:m,data:F,value:y+(h?n:0n)};yield this.createUnsignedTransaction(e.addFrom(x,u),"PorticoBridge.Transfer")}async*redeem(o,t){const r=e.toChain(t.payload.payload.flagSet.recipientChain),n=t.payload.payload.finalTokenAddress.toNative(r).toString(),s=this.getTokenGroup(n),c=this.getPorticoAddress(s),i=await new e.Contract(c,g.fragments,this.provider).getFunction("receiveMessageAndSwap").populateTransaction(e.serialize$1(t)),d=new e.EvmAddress(o).toString();yield this.createUnsignedTransaction(e.addFrom(i,d),"PorticoBridge.Redeem")}async isTransferCompleted(o){return await this.tokenBridge.tokenBridge.isTransferCompleted(e.keccak256(o.hash))}async quoteSwap(o,t,r,n){const[,s]=e.resolveWrappedToken(this.network,this.chain,o),[,c]=e.resolveWrappedToken(this.network,this.chain,t),a=e.canonicalAddress(s),i=e.canonicalAddress(c);if(e.isEqualCaseInsensitive(a,i))return n;const d=this.getQuoterAddress(r);return(await new e.Contract(d,S.fragments,this.provider).getFunction("quoteExactInputSingle").staticCall([a,i,n,f,0]))[0]}async quoteRelay(o,t){return await U.quoteRelayer(this.chain,o,t)}async getTransferrableToken(o){const t=e.Wormhole.tokenId(this.chain,o),[,r]=e.resolveWrappedToken(this.network,this.chain,t);if(this.chain==="Ethereum")return r;const n=Object.values(w).find(a=>a.find(i=>i.chain===this.chain&&e.canonicalAddress(i)===e.canonicalAddress(r)));if(!n)throw new Error(`No token group found for ${o} on ${this.chain}`);const s=n.find(a=>a.chain==="Ethereum");if(!s)throw new Error(`No Ethereum origin token found for ${o} on ${this.chain}`);const c=await this.tokenBridge.getWrappedAsset(s);return e.Wormhole.tokenId(this.chain,c.toString())}supportedTokens(){const o=[];for(const[t,r]of Object.entries(w))for(const n of r)n.chain===this.chain&&o.push({group:t,token:n});return o}getTokenGroup(o){const r=this.supportedTokens().find(n=>e.canonicalAddress(n.token)===o);if(!r)throw new Error("Token not found");return r.group}async*approve(o,t,r,n){const s=e.EvmPlatform.getTokenImplementation(this.provider,o);if(await s.allowance(t,n)<r){const a=await s.approve.populateTransaction(n,r);yield this.createUnsignedTransaction(e.addFrom(a,t),"PorticoBridge.Approve")}}createUnsignedTransaction(o,t){return new e.EvmUnsignedTransaction(e.addChainId(o,this.chainId),this.network,this.chain,t,!1)}getPorticoAddress(o){const t=this.contracts.portico;return o==="USDT"&&t.porticoPancakeSwap||t.porticoUniswap}getQuoterAddress(o){const t=this.contracts.portico;return o==="USDT"&&t.pancakeSwapQuoterV2||t.uniswapQuoterV2}}e.registerProtocol(e._platform,"PorticoBridge",l);exports.EvmPorticoBridge=l;
@@ -1,9 +1,9 @@
1
- import { C as c, ah as p, bf as H, au as Z } from "./platform-Cil_UtAQ.mjs";
2
- import { k as j, l as Q, m as X, n as Y, o as J, S as $, c as ee, d as te } from "./index-CN7M4gwf.mjs";
3
- import { deriveWrappedMetaKey as E, deriveTokenBridgeConfigKey as W, deriveAuthoritySignerKey as ne, deriveSenderAccountKey as ie, deriveMintAuthorityKey as se, deriveEndpointKey as ae } from "./index-Ap7250Gf.mjs";
4
- import { P as i, L as l, S as re, T as oe, j as ce, B as x, aC as K, d as N, b as de, M as v, V as G, l as ue, _ as me } from "./unsignedTransaction-DCDxTFq8.mjs";
5
- import { P as ge } from "./index-BU35GfG0.mjs";
6
- import { p as L, u as fe, b as le } from "./web3-CUwFm9Lx.mjs";
1
+ import { C as c, ah as p, bf as H, au as Z } from "./platform-CSpAb386.mjs";
2
+ import { k as j, l as Q, m as X, n as Y, o as J, S as $, c as ee, d as te } from "./index-BviSNDV7.mjs";
3
+ import { deriveWrappedMetaKey as E, deriveTokenBridgeConfigKey as W, deriveAuthoritySignerKey as ne, deriveSenderAccountKey as ie, deriveMintAuthorityKey as se, deriveEndpointKey as ae } from "./index-39tU5Y5t.mjs";
4
+ import { P as i, L as l, S as re, T as oe, j as ce, B as x, aC as K, d as N, b as de, M as v, V as G, l as ue, _ as me } from "./unsignedTransaction-D2Ja0SuN.mjs";
5
+ import { P as ge } from "./index-Bdtj4LUz.mjs";
6
+ import { p as L, u as fe, b as le } from "./web3-CdErAVj5.mjs";
7
7
  const pe = {
8
8
  version: "0.1.0",
9
9
  name: "wormhole_gateway",
@@ -1,4 +1,4 @@
1
- "use strict";const a=require("./unsignedTransaction-DA4tlY5u.js"),m=require("./index-CPGWCfWD.js"),C=require("./signer-DyqulDUM.js"),N=require("./platform-CCG_jgOO.js");function E(e){return e.includes("rpcpool.com")?"triton":e.includes("helius-rpc.com")?"helius":e.includes("rpc.ankr.com")?"ankr":"unknown"}async function B(e,t,l,u){const n=u.transaction.transaction,d=i=>i.programId.toString()!=="ComputeBudget111111111111111111111111111111";if(a.isVersionedTransaction(n)){const i=(await Promise.all(n.message.addressTableLookups.map(c=>e.getAddressLookupTable(c.accountKey)))).map(c=>c.value).filter(c=>c!==null),r=a.TransactionMessage.decompile(n.message,{addressLookupTableAccounts:i});r.recentBlockhash=t,n.message.recentBlockhash=t,r.instructions=r.instructions.filter(d),n.message=r.compileToV0Message(i),r.instructions.push(...await L(e,n)),n.message=r.compileToV0Message(i),n.sign(u.transaction.signers??[])}else n.recentBlockhash=t,n.lastValidBlockHeight=l,n.instructions=n.instructions.filter(d),n.add(...await L(e,n)),u.transaction.signers&&n.partialSign(...u.transaction.signers);return n}async function L(e,t,l="confirmed"){let u=2e5,n=0;const d=a.ComputeBudgetProgram.setComputeUnitLimit({units:3e5});let i;if(a.isVersionedTransaction(t)){const s=(await Promise.all(t.message.addressTableLookups.map(g=>e.getAddressLookupTable(g.accountKey)))).map(g=>g.value).filter(g=>g!==null),o=a.TransactionMessage.decompile(t.message,{addressLookupTableAccounts:s});o.instructions=[...o.instructions,d],i=new a.VersionedTransaction(o.compileToV0Message(s)),i.signatures=[...t.signatures]}else{const s=new a.Transaction$1;s.recentBlockhash=t.recentBlockhash,s.feePayer=t.feePayer,s.instructions=[...t.instructions,d],s.signatures=[...t.signatures],i=s}e:for(;;){if(a.isVersionedTransaction(i)&&!i.message.recentBlockhash){const{blockhash:o}=await e.getLatestBlockhash(l);i.message.recentBlockhash=o}const s=await(a.isVersionedTransaction(i)?e.simulateTransaction(i,{commitment:l,replaceRecentBlockhash:!0}):e.simulateTransaction(i));if(s.value.err){if(I(s.value)){if(n<5){n++,await m.sleep(1e3);continue e}}else if(n<3){n++,await m.sleep(1e3);continue e}throw new Error(`Simulation failed: ${JSON.stringify(s.value.err)}
1
+ "use strict";const a=require("./unsignedTransaction-qRBv5Cnd.js"),m=require("./index-BbE02hdW.js"),C=require("./signer-gjSiV5v3.js"),N=require("./platform-DCcL7jHP.js");function E(e){return e.includes("rpcpool.com")?"triton":e.includes("helius-rpc.com")?"helius":e.includes("rpc.ankr.com")?"ankr":"unknown"}async function B(e,t,l,u){const n=u.transaction.transaction,d=i=>i.programId.toString()!=="ComputeBudget111111111111111111111111111111";if(a.isVersionedTransaction(n)){const i=(await Promise.all(n.message.addressTableLookups.map(c=>e.getAddressLookupTable(c.accountKey)))).map(c=>c.value).filter(c=>c!==null),r=a.TransactionMessage.decompile(n.message,{addressLookupTableAccounts:i});r.recentBlockhash=t,n.message.recentBlockhash=t,r.instructions=r.instructions.filter(d),n.message=r.compileToV0Message(i),r.instructions.push(...await L(e,n)),n.message=r.compileToV0Message(i),n.sign(u.transaction.signers??[])}else n.recentBlockhash=t,n.lastValidBlockHeight=l,n.instructions=n.instructions.filter(d),n.add(...await L(e,n)),u.transaction.signers&&n.partialSign(...u.transaction.signers);return n}async function L(e,t,l="confirmed"){let u=2e5,n=0;const d=a.ComputeBudgetProgram.setComputeUnitLimit({units:3e5});let i;if(a.isVersionedTransaction(t)){const s=(await Promise.all(t.message.addressTableLookups.map(g=>e.getAddressLookupTable(g.accountKey)))).map(g=>g.value).filter(g=>g!==null),o=a.TransactionMessage.decompile(t.message,{addressLookupTableAccounts:s});o.instructions=[...o.instructions,d],i=new a.VersionedTransaction(o.compileToV0Message(s)),i.signatures=[...t.signatures]}else{const s=new a.Transaction$1;s.recentBlockhash=t.recentBlockhash,s.feePayer=t.feePayer,s.instructions=[...t.instructions,d],s.signatures=[...t.signatures],i=s}e:for(;;){if(a.isVersionedTransaction(i)&&!i.message.recentBlockhash){const{blockhash:o}=await e.getLatestBlockhash(l);i.message.recentBlockhash=o}const s=await(a.isVersionedTransaction(i)?e.simulateTransaction(i,{commitment:l,replaceRecentBlockhash:!0}):e.simulateTransaction(i));if(s.value.err){if(I(s.value)){if(n<5){n++,await m.sleep(1e3);continue e}}else if(n<3){n++,await m.sleep(1e3);continue e}throw new Error(`Simulation failed: ${JSON.stringify(s.value.err)}
2
2
  Logs:
3
3
  ${(s.value.logs||[]).join(`
4
4
  `)}`)}else{s.value.unitsConsumed&&(u=s.value.unitsConsumed);break}}const r=Math.floor(u*1.2),c=[];c.push(a.ComputeBudgetProgram.setComputeUnitLimit({units:r}));const y=m.config.transactionSettings?.Solana?.priorityFee||{},{percentile:p=.9,percentileMultiple:f=1,min:S=1e5,max:h=1e8}=y,P=async s=>{if(s==="triton")try{return{fee:await C.determinePriorityFeeTritonOne(e,t,p,f,S,h),methodUsed:"triton"}}catch(o){console.warn("Failed to determine priority fee using Triton RPC:",o)}try{return{fee:await C.determinePriorityFee(e,t,p,f,S,h),methodUsed:"default"}}catch(o){return console.warn("Failed to determine priority fee using Triton RPC:",o),{fee:S,methodUsed:"minimum"}}},A=E(e.rpcEndpoint),{fee:T,methodUsed:k}=await P(A),w=T/1e6/a.LAMPORTS_PER_SOL*r;return console.table({"RPC Provider":A,"Method used":k,"Percentile used":p,"Multiple used":f,"Compute budget":r,"Priority fee":T,"Max fee in SOL":w}),c.push(a.ComputeBudgetProgram.setComputeUnitPrice({microLamports:T})),c}function I(e){const t={};if(e.err==="BlockhashNotFound"&&(t.BlockhashNotFound="Blockhash not found during simulation. Trying again."),e.logs)for(const l of e.logs)l.includes("SlippageToleranceExceeded")&&(t.SlippageToleranceExceeded="Slippage failure during simulation. Trying again."),l.includes("RequireGteViolated")&&(t.RequireGteViolated="Swap instruction failure during simulation. Trying again.");return m.isEmptyObject(t)?!1:(console.table(t),!0)}function _(e){return N.chainToPlatform.has(e)&&N.chainToPlatform.get(e)==="Solana"}const v="solana:signAndSendTransaction",M="solana:signIn",O="solana:signMessage",F="solana:signTransaction",V="standard:connect",x="standard:disconnect",b="standard:events",H="solana:mainnet",R="solana:devnet",U="solana:testnet",D="solana:localnet";exports.SOLANA_DEVNET_CHAIN=R;exports.SOLANA_LOCALNET_CHAIN=D;exports.SOLANA_MAINNET_CHAIN=H;exports.SOLANA_TESTNET_CHAIN=U;exports.SolanaSignAndSendTransaction=v;exports.SolanaSignIn=M;exports.SolanaSignMessage=O;exports.SolanaSignTransaction=F;exports.StandardConnect=V;exports.StandardDisconnect=x;exports.StandardEvents=b;exports.isSvmChain=_;exports.setPriorityFeeInstructions=B;
@@ -1 +1 @@
1
- "use strict";const c=require("./platform-CCG_jgOO.js"),a=require("./unsignedTransaction-DA4tlY5u.js"),f=require("./index-lZY5fTXF.js"),y=require("./account-cIQhxn1E.js"),Ee=require("./create-4w0DrcRO.js"),O=new a.PublicKey("BPFLoaderUpgradeab1e11111111111111111111111");function ee(r){return y.deriveAddress([new a.PublicKey(r).toBuffer()],O)}class be extends Error{constructor(e){super(e),this.name="IdlError"}}function Y(r,e){switch(e.type.kind){case"struct":return e.type.fields.map(t=>A(r,t.type)).reduce((t,n)=>t+n,0);case"enum":{const t=e.type.variants.map(n=>n.fields?n.fields.map(s=>typeof s=="object"&&"name"in s?A(r,s.type):A(r,s)).reduce((s,i)=>s+i,0):0);return Math.max(...t)+1}case"alias":return A(r,e.type.value)}}function A(r,e){switch(e){case"bool":return 1;case"u8":return 1;case"i8":return 1;case"i16":return 2;case"u16":return 2;case"u32":return 4;case"i32":return 4;case"f32":return 4;case"u64":return 8;case"i64":return 8;case"f64":return 8;case"u128":return 16;case"i128":return 16;case"u256":return 32;case"i256":return 32;case"bytes":return 1;case"string":return 1;case"publicKey":return 32;default:if("vec"in e)return 1;if("option"in e)return 1+A(r,e.option);if("coption"in e)return 4+A(r,e.coption);if("defined"in e){const t=r.types?.filter(s=>s.name===e.defined)??[];if(t.length!==1)throw new be(`Type not found: ${JSON.stringify(e)}`);let n=t[0];return Y(r,n)}if("array"in e){let t=e.array[0],n=e.array[1];return A(r,t)*n}throw new Error(`Invalid type ${JSON.stringify(e)}`)}}function L(r){return r.replace(/(?:^\w|[A-Z]|\b\w)/g,function(e,t){return t===0?e.toLowerCase():e.toUpperCase()}).replace(/[\s\-_]+/g,"")}function Me(r){return r.charAt(0).toUpperCase()+r.slice(1)}const te=[{name:"discriminator",binary:"bytes",size:4},{name:"consistencyLevel",binary:"uint",size:1,endianness:"little"},{name:"emitterAuthority",...c.universalAddressItem},{name:"messageStatus",binary:"uint",size:1,endianness:"little"},{name:"gap",binary:"uint",size:3},{name:"timestamp",binary:"uint",size:4,endianness:"little"},{name:"nonce",binary:"uint",size:4,endianness:"little"},{name:"sequence",binary:"uint",size:8,endianness:"little"},{name:"emitterChain",binary:"uint",size:2,endianness:"little"},{name:"emitterAddress",...c.universalAddressItem},{name:"payloadLength",binary:"uint",size:4,endianness:"little"},{name:"payload",binary:"bytes"}];function ne(r){return c.deserialize$1(te,r)}function b(r,e,t,n){const s=typeof e=="string"?c.Buffer.from(e,"hex"):c.Buffer.from(e);if(s.length!=32)throw Error("address.length != 32");const i=c.Buffer.alloc(8);return i.writeBigUInt64BE(typeof n=="number"?BigInt(n):n),y.deriveAddress([s,(()=>{const o=c.Buffer.alloc(2);return o.writeUInt16BE(t),o})(),i],r)}async function re(r,e,t,n,s,i){return r.getAccountInfo(b(e,t,n,s),i).then(o=>!!y.getAccountData(o)[0])}function p(r){return y.deriveAddress([c.Buffer.from("Bridge")],r)}async function se(r,e,t){return r.getAccountInfo(p(e),t).then(n=>k.deserialize(y.getAccountData(n)))}class v{guardianSetExpirationTime;fee;constructor(e,t){this.guardianSetExpirationTime=e,this.fee=t}static deserialize(e){if(e.length!=12)throw new Error("data.length != 12");const t=e.readUInt32LE(0),n=e.readBigUInt64LE(4);return new v(t,n)}}class k{guardianSetIndex;lastLamports;config;constructor(e,t,n){this.guardianSetIndex=e,this.lastLamports=t,this.config=n}static deserialize(e){if(e.length!=24)throw new Error("data.length != 24");const t=e.readUInt32LE(0),n=e.readBigUInt64LE(4),s=v.deserialize(e.subarray(12));return new k(t,n,s)}}function C(r,e){return y.deriveAddress([c.Buffer.from("Sequence"),new a.PublicKey(r).toBytes()],e)}async function ie(r,e,t,n){return r.getAccountInfo(C(e,t),n).then(s=>z.deserialize(y.getAccountData(s)))}class z{sequence;bump;emitterType;constructor(e,t,n){this.sequence=e,this.bump=t,this.emitterType=n}static deserialize(e){if(e.length!==8&&e.length!==10)throw new Error("data.length != 8 or data.length != 10");let t,n;const s=e.readBigUInt64LE(0);return e.length===10&&(t=e[8],n=e[9]),new z(s,t,n)}value(){return this.sequence}}function q(r){return y.deriveAddress([c.Buffer.from("emitter")],r)}function N(r,e){const t=q(r);return{emitter:t,sequence:C(t,e)}}async function ae(r,e,t,n){return ie(r,q(e),t,n)}function M(r){return y.deriveAddress([c.Buffer.from("fee_collector")],r)}const X=65,U=20;function Ie(r,e,t){return new a.TransactionInstruction({keys:[],programId:a.Secp256k1Program.programId,data:xe.serialize(r,e,t)})}class xe{static serialize(e,t,n){if(e.length==0)throw Error("signatures.length == 0");if(e.length!=t.length)throw Error("signatures.length != keys.length");if(n.length!=32)throw Error("message.length != 32");const s=e.length,i=11,o=1+s*i,d=X+U,u=o+s*d,m=32,g=c.Buffer.alloc(u+m);g.writeUInt8(s,0),g.write(n.toString("hex"),u,"hex");for(let l=0;l<s;++l){const w=e.at(l);if(w?.length!=X)throw Error(`signatures[${l}].length != 65`);const P=t.at(l);if(P?.length!=U)throw Error(`keys[${l}].length != 20`);const B=o+d*l,K=B+65;g.writeUInt16LE(B,1+l*i),g.writeUInt8(0,3+l*i),g.writeUInt16LE(K,4+l*i),g.writeUInt8(0,6+l*i),g.writeUInt16LE(u,7+l*i),g.writeUInt16LE(m,9+l*i),g.writeUInt8(0,10+l*i),g.write(w.toString("hex"),B,"hex"),g.write(P.toString("hex"),K,"hex")}return g}}function E(r,e){return y.deriveAddress([c.Buffer.from("GuardianSet"),(()=>{const t=c.Buffer.alloc(4);return t.writeUInt32BE(e),t})()],r)}async function G(r,e,t,n){return r.getAccountInfo(E(e,t),n).then(s=>V.deserialize(y.getAccountData(s)))}class V{index;keys;creationTime;expirationTime;constructor(e,t,n,s){this.index=e,this.keys=t,this.creationTime=n,this.expirationTime=s}static deserialize(e){const t=e.readUInt32LE(0),n=e.readUInt32LE(4),s=8+n*U,i=e.readUInt32LE(s),o=e.readUInt32LE(4+s),d=[];for(let u=0;u<n;++u){const m=8+u*U;d.push(e.subarray(m,m+U))}return new V(t,d,i,o)}}function S(r,e){return y.deriveAddress([c.Buffer.from("PostedVAA"),e],r)}async function Pe(r,e,t){return r.getAccountInfo(new a.PublicKey(e),t).then(n=>D.deserialize(y.getAccountData(n)))}class D{signatures;hash;guardianSetIndex;constructor(e,t,n){this.signatures=e,this.hash=t,this.guardianSetIndex=n}static deserialize(e){const t=e.readUInt32LE(0),n=[...e.subarray(4,4+t)].map(d=>d!=0),s=4+t,i=e.subarray(s,s+32),o=e.readUInt32LE(s+32);return new D(n,i,o)}}function $(r){return y.deriveAddress([c.Buffer.from("upgrade")],r)}function W(r,e,t){return a.SystemProgram.transfer({fromPubkey:new a.PublicKey(e),toPubkey:M(r),lamports:t})}class Be{idl;constructor(e){this.idl=e}async encode(e,t){throw new Error(`Invalid account name: ${e}`)}decode(e,t){return this.decodeUnchecked(e,t)}decodeUnchecked(e,t){throw new Error(`Invalid account name: ${e}`)}memcmp(e,t){switch(e){case"postVaa":return{dataSize:56};default:throw new Error(`Invalid account name: ${e}`)}}size(e){return Y(this.idl,e)??0}}class Ke{constructor(e){}decode(e){throw new Error("Wormhole program does not have events")}}class I{static fieldLayout(e,t){const n=e.name!==void 0?L(e.name):void 0;switch(e.type){case"bool":return f.distExports.bool(n);case"u8":return f.distExports.u8(n);case"i8":return f.distExports.i8(n);case"u16":return f.distExports.u16(n);case"i16":return f.distExports.i16(n);case"u32":return f.distExports.u32(n);case"i32":return f.distExports.i32(n);case"f32":return f.distExports.f32(n);case"u64":return f.distExports.u64(n);case"i64":return f.distExports.i64(n);case"f64":return f.distExports.f64(n);case"u128":return f.distExports.u128(n);case"i128":return f.distExports.i128(n);case"u256":return f.distExports.u256(n);case"i256":return f.distExports.i256(n);case"bytes":return f.distExports.vecU8(n);case"string":return f.distExports.str(n);case"publicKey":return f.distExports.publicKey(n);default:{if("vec"in e.type)return f.distExports.vec(I.fieldLayout({name:void 0,type:e.type.vec},t),n);if("option"in e.type)return f.distExports.option(I.fieldLayout({name:void 0,type:e.type.option},t),n);if("array"in e.type){let s=e.type.array[0],i=e.type.array[1],o=I.fieldLayout({name:void 0,type:s},t);return f.distExports.array(o,i,n)}else throw new Error(`Not yet implemented: ${e}`)}}}}class j{ixLayout;constructor(e){this.ixLayout=j.parseIxLayout(e)}static parseIxLayout(e){const n=(e.instructions?e.instructions:[]).map(s=>{let i=s.args.map(d=>I.fieldLayout(d,Array.from([...e.accounts??[],...e.types??[]])));const o=L(s.name);return[o,f.distExports.struct(i,o)]}).concat(e.instructions.map(s=>{let i=s.args.map(d=>I.fieldLayout(d,Array.from([...e.accounts??[],...e.types??[]])));const o=L(s.name);return[o,f.distExports.struct(i,o)]}));return new Map(n)}encode(e,t){const n=c.Buffer.alloc(1e3),s=L(e),i=this.ixLayout.get(s);if(!i)throw new Error(`Unknown method: ${s}`);const o=i.encode(t,n),d=n.slice(0,o);return Le(T[Me(s)],d)}encodeState(e,t){throw new Error("Wormhole program does not have state")}decode(e,t="hex"){typeof e=="string"&&(e=t==="hex"?c.Buffer.from(e,"hex"):c.b58.decode(e));let n=c.Buffer.from(e.slice(0,1)).readInt8(),s=c.Buffer.from(e.slice(1)),i=L(T[n]??"");return this.ixLayout.get(i)?{data:this.ixLayout.get(i)?.decode(s),name:i}:null}}var T;(function(r){r[r.Initialize=0]="Initialize",r[r.PostMessage=1]="PostMessage",r[r.PostVaa=2]="PostVaa",r[r.SetFees=3]="SetFees",r[r.TransferFees=4]="TransferFees",r[r.UpgradeContract=5]="UpgradeContract",r[r.UpgradeGuardianSet=6]="UpgradeGuardianSet",r[r.VerifySignatures=7]="VerifySignatures",r[r.PostMessageUnreliable=8]="PostMessageUnreliable"})(T||(T={}));function Le(r,e){const t=c.Buffer.alloc(1+(e===void 0?0:e.length));return t.writeUInt8(r,0),e!==void 0&&t.write(e.toString("hex"),1,"hex"),t}class Ue{constructor(e){}encode(e,t){throw new Error("Wormhole program does not have state")}decode(e){throw new Error("Wormhole program does not have state")}}class Ce{constructor(e){}encode(e,t){throw new Error("Wormhole program does not have user-defined types")}decode(e,t){throw new Error("Wormhole program does not have user-defined types")}}class _e{instruction;accounts;state;events;types;constructor(e){this.instruction=new j(e),this.accounts=new Be(e),this.state=new Ue(e),this.events=new Ke(e),this.types=new Ce(e)}}const H={version:"0.1.0",name:"wormhole",instructions:[{name:"initialize",accounts:[{name:"bridge",isMut:!0,isSigner:!1},{name:"guardianSet",isMut:!0,isSigner:!1},{name:"feeCollector",isMut:!0,isSigner:!1},{name:"payer",isMut:!0,isSigner:!0},{name:"clock",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"guardianSetExpirationTime",type:"u32"},{name:"fee",type:"u64"},{name:"initialGuardians",type:{vec:{array:["u8",20]}}}]},{name:"postMessage",accounts:[{name:"bridge",isMut:!0,isSigner:!1},{name:"message",isMut:!0,isSigner:!0},{name:"emitter",isMut:!1,isSigner:!0},{name:"sequence",isMut:!0,isSigner:!1},{name:"payer",isMut:!0,isSigner:!0},{name:"feeCollector",isMut:!0,isSigner:!1},{name:"clock",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"nonce",type:"u32"},{name:"payload",type:"bytes"},{name:"consistencyLevel",type:"u8"}]},{name:"postVaa",accounts:[{name:"guardianSet",isMut:!1,isSigner:!1},{name:"bridge",isMut:!1,isSigner:!1},{name:"signatureSet",isMut:!1,isSigner:!1},{name:"vaa",isMut:!0,isSigner:!1},{name:"payer",isMut:!0,isSigner:!0},{name:"clock",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"version",type:"u8"},{name:"guardianSetIndex",type:"u32"},{name:"timestamp",type:"u32"},{name:"nonce",type:"u32"},{name:"emitterChain",type:"u16"},{name:"emitterAddress",type:{array:["u8",32]}},{name:"sequence",type:"u64"},{name:"consistencyLevel",type:"u8"},{name:"payload",type:"bytes"}]},{name:"setFees",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"bridge",isMut:!0,isSigner:!1},{name:"vaa",isMut:!1,isSigner:!1},{name:"claim",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[]},{name:"transferFees",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"bridge",isMut:!0,isSigner:!1},{name:"vaa",isMut:!1,isSigner:!1},{name:"claim",isMut:!0,isSigner:!1},{name:"feeCollector",isMut:!0,isSigner:!1},{name:"recipient",isMut:!0,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[]},{name:"upgradeContract",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"bridge",isMut:!0,isSigner:!1},{name:"vaa",isMut:!1,isSigner:!1},{name:"claim",isMut:!0,isSigner:!1},{name:"upgradeAuthority",isMut:!1,isSigner:!1},{name:"spill",isMut:!0,isSigner:!1},{name:"implementation",isMut:!0,isSigner:!1},{name:"programData",isMut:!0,isSigner:!1},{name:"wormholeProgram",isMut:!0,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"clock",isMut:!1,isSigner:!1},{name:"bpfLoaderUpgradeable",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[]},{name:"upgradeGuardianSet",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"bridge",isMut:!0,isSigner:!1},{name:"vaa",isMut:!1,isSigner:!1},{name:"claim",isMut:!0,isSigner:!1},{name:"guardianSetOld",isMut:!0,isSigner:!1},{name:"guardianSetNew",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[]},{name:"verifySignatures",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"guardianSet",isMut:!1,isSigner:!1},{name:"signatureSet",isMut:!0,isSigner:!0},{name:"instructions",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"signatureStatus",type:{array:["i8",19]}}]},{name:"postMessageUnreliable",accounts:[{name:"bridge",isMut:!0,isSigner:!1},{name:"message",isMut:!0,isSigner:!0},{name:"emitter",isMut:!1,isSigner:!0},{name:"sequence",isMut:!0,isSigner:!1},{name:"payer",isMut:!0,isSigner:!0},{name:"feeCollector",isMut:!0,isSigner:!1},{name:"clock",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"nonce",type:"u32"},{name:"payload",type:"bytes"},{name:"consistencyLevel",type:"u8"}]}],accounts:[{name:"PostedMessage",type:{kind:"struct",fields:[{name:"vaaVersion",type:"u8"},{name:"consistencyLevel",type:"u8"},{name:"vaaTime",type:"u32"},{name:"vaaSignatureAccount",type:"publicKey"},{name:"submissionTime",type:"u32"},{name:"nonce",type:"u32"},{name:"sequence",type:"u64"},{name:"emitterChain",type:"u16"},{name:"emitterAddress",type:{array:["u8",32]}},{name:"payload",type:"bytes"}]}},{name:"PostedVAA",type:{kind:"struct",fields:[{name:"vaaVersion",type:"u8"},{name:"consistencyLevel",type:"u8"},{name:"vaaTime",type:"u32"},{name:"vaaSignatureAccount",type:"publicKey"},{name:"submissionTime",type:"u32"},{name:"nonce",type:"u32"},{name:"sequence",type:"u64"},{name:"emitterChain",type:"u16"},{name:"emitterAddress",type:{array:["u8",32]}},{name:"payload",type:"bytes"}]}}]};function oe(r,e){return new f.Program(H,new a.PublicKey(r),e===void 0?{connection:null}:e,ue())}function h(r,e){return oe(r,f.createReadOnlyProvider(e))}function ue(){return new _e(H)}function Te(r,e,t,n){const s=h(e,r).methods.setFees();return s._ixFn(...s._args,{accounts:ce(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function ce(r,e,t){return{payer:new a.PublicKey(e),bridge:p(r),vaa:S(r,c.Buffer.from(t.hash)),claim:b(r,t.emitterAddress.toString(),c.toChainId(t.emitterChain),t.sequence),systemProgram:a.SystemProgram.programId}}function ve(r,e,t,n,s){const i=h(e,r).methods.transferFees();return i._ixFn(...i._args,{accounts:de(e,t,n,s),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function de(r,e,t,n){return{payer:new a.PublicKey(e),bridge:p(r),vaa:S(r,c.Buffer.from(n.hash)),claim:b(r,n.emitterAddress.toString(),c.toChainId(n.emitterChain),n.sequence),feeCollector:M(r),recipient:new a.PublicKey(t),rent:a.SYSVAR_RENT_PUBKEY,systemProgram:a.SystemProgram.programId}}function ke(r,e,t,n){const s=h(e,r).methods.upgradeGuardianSet();return s._ixFn(...s._args,{accounts:ge(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function ge(r,e,t){return{payer:new a.PublicKey(e),bridge:p(r),vaa:S(r,c.Buffer.from(t.hash)),claim:b(r,t.emitterAddress.toString(),c.toChainId(t.emitterChain),t.sequence),guardianSetOld:E(r,t.guardianSet),guardianSetNew:E(r,t.guardianSet+1),systemProgram:a.SystemProgram.programId}}function ze(r,e,t,n){const s=h(e,r).methods.upgradeContract();return s._ixFn(...s._args,{accounts:fe(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function fe(r,e,t,n){const{newContract:s}=t.payload.actionArgs;return{payer:new a.PublicKey(e),bridge:p(r),vaa:S(r,c.Buffer.from(t.hash)),claim:b(r,t.emitterAddress.toString(),c.toChainId(t.emitterChain),t.sequence),upgradeAuthority:$(r),spill:new a.PublicKey(n===void 0?e:n),implementation:new a.SolanaAddress(s).unwrap(),programData:ee(r),wormholeProgram:new a.PublicKey(r),rent:a.SYSVAR_RENT_PUBKEY,clock:a.SYSVAR_CLOCK_PUBKEY,bpfLoaderUpgradeable:O,systemProgram:a.SystemProgram.programId}}function qe(r,e,t,n,s,i){const o=h(e,r).methods.initialize(n,new a.BN(s.toString()),[...i.map(d=>[...new Uint8Array(d)])]);return o._ixFn(...o._args,{accounts:me(e,t),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function me(r,e){return{bridge:p(r),guardianSet:E(r,0),feeCollector:M(r),payer:new a.PublicKey(e),clock:a.SYSVAR_CLOCK_PUBKEY,rent:a.SYSVAR_RENT_PUBKEY,systemProgram:a.SystemProgram.programId}}function le(r,e,t,n,s,i,o){const d=h(e,r).methods.postMessage(i,c.Buffer.from(s),o);return d._ixFn(...d._args,{accounts:F(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function F(r,e,t,n){let s;return n?{emitter:n,sequence:s}=N(n,r):(n=e,s=C(n,r)),{bridge:p(r),message:new a.PublicKey(t),emitter:new a.PublicKey(n),sequence:s,payer:new a.PublicKey(e),feeCollector:M(r),clock:a.SYSVAR_CLOCK_PUBKEY,rent:a.SYSVAR_RENT_PUBKEY,systemProgram:a.SystemProgram.programId}}function ye(r,e,t,n,s){const i=h(e,r).methods.postVaa(1,n.guardianSet,n.timestamp,n.nonce,c.toChainId(n.emitterChain),[...n.emitterAddress.toUint8Array()],new a.BN(n.sequence.toString()),n.consistencyLevel,c.Buffer.from(c.serializePayload(n.payloadLiteral,n.payload)));return i._ixFn(...i._args,{accounts:pe(e,t,s,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function pe(r,e,t,n){return{guardianSet:E(r,n.guardianSet),bridge:p(r),signatureSet:new a.PublicKey(t),vaa:S(r,c.Buffer.from(n.hash)),payer:new a.PublicKey(e),clock:a.SYSVAR_CLOCK_PUBKEY,rent:a.SYSVAR_RENT_PUBKEY,systemProgram:a.SystemProgram.programId}}const Ve=19;async function he(r,e,t,n,s,i){const o=n.guardianSet,d=await G(r,e,o,i),u=n.signatures,m=d.keys,g=7,l=[];for(let w=0;w<Math.ceil(u.length/g);++w){const P=w*g,B=Math.min(u.length,(w+1)*g),K=new Array(Ve).fill(-1),J=[],Q=[];for(let _=0;_<B-P;++_){const R=u.at(_+P);J.push(c.Buffer.from(R.signature.encode())),Q.push(m.at(R.guardianIndex)),K[R.guardianIndex]=_}l.push(Ie(J,Q,c.Buffer.from(n.hash))),l.push(De(r,e,t,n,s,K))}return l}function De(r,e,t,n,s,i){const o=h(e,r).methods.verifySignatures(i);return o._ixFn(...o._args,{accounts:Se(e,t,s,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function Se(r,e,t,n){return{payer:new a.PublicKey(e),guardianSet:E(r,n.guardianSet),signatureSet:new a.PublicKey(t),instructions:a.SYSVAR_INSTRUCTIONS_PUBKEY,rent:a.SYSVAR_RENT_PUBKEY,systemProgram:a.SystemProgram.programId}}function we(r,e){const{emitter:t,sequence:n}=N(r,e);return{wormholeBridge:p(e),wormholeEmitter:t,wormholeSequence:n,wormholeFeeCollector:M(e)}}function Ae(r,e,t,n){const s=F(e,t,n,r);return{payer:s.payer,wormholeBridge:s.bridge,wormholeMessage:s.message,wormholeEmitter:s.emitter,wormholeSequence:s.sequence,wormholeFeeCollector:s.feeCollector,clock:s.clock,rent:s.rent,systemProgram:s.systemProgram}}const Fe=Object.freeze(Object.defineProperty({__proto__:null,BridgeConfig:v,BridgeData:k,GuardianSetData:V,SequenceTracker:z,SignatureSetData:D,coder:ue,createBridgeFeeTransferInstruction:W,createInitializeInstruction:qe,createPostMessageInstruction:le,createPostVaaInstruction:ye,createReadOnlyWormholeProgramInterface:h,createSetFeesInstruction:Te,createTransferFeesInstruction:ve,createUpgradeContractInstruction:ze,createUpgradeGuardianSetInstruction:ke,createVerifySignaturesInstructions:he,createWormholeProgramInterface:oe,deriveClaimKey:b,deriveEmitterSequenceKey:C,deriveFeeCollectorKey:M,deriveGuardianSetKey:E,derivePostedVaaKey:S,deriveUpgradeAuthorityKey:$,deriveWormholeBridgeDataKey:p,deriveWormholeEmitterKey:q,getClaim:re,getEmitterKeys:N,getGuardianSet:G,getInitializeAccounts:me,getPostMessageAccounts:F,getPostMessageCpiAccounts:Ae,getPostVaaAccounts:pe,getProgramSequenceTracker:ae,getSequenceTracker:ie,getSetFeesAccounts:ce,getSignatureSetData:Pe,getTransferFeesAccounts:de,getUpgradeContractAccounts:fe,getUpgradeGuardianSetAccounts:ge,getVerifySignatureAccounts:Se,getWormholeBridgeData:se,getWormholeDerivedAccounts:we},Symbol.toStringTag,{value:"Module"})),Z="Program log: Sequence: ";class x{network;chain;connection;contracts;chainId;coreBridge;address;bridgeData;constructor(e,t,n,s){this.network=e,this.chain=t,this.connection=n,this.contracts=s,this.chainId=c.toChainId(t);const i=s.coreBridge;if(!i)throw new Error(`CoreBridge contract Address for chain ${t} not found`);this.address=i,this.coreBridge=h(i,n)}async getGuardianSet(e){const t=await G(this.connection,this.coreBridge.programId,e);return{index:t.index,keys:t.keys.map(n=>n.toString("hex")),expiry:BigInt(t.expirationTime)}}static async fromRpc(e,t){const[n,s]=await a.SolanaPlatform.chainFromRpc(e),i=t[s];if(i.network!==n)throw new Error(`Network mismatch for chain ${s}: ${i.network} != ${n}`);return new x(n,s,e,t[s].contracts)}async ensureBridgeConfig(){this.bridgeData||(this.bridgeData=await se(this.connection,this.coreBridge.programId))}async getMessageFee(){return await this.ensureBridgeConfig(),this.bridgeData.config.fee}async getGuardianSetIndex(){return await this.ensureBridgeConfig(),this.bridgeData.guardianSetIndex}async*publishMessage(e,t,n,s){const i=a.Keypair.generate(),o=new a.SolanaAddress(e).unwrap(),d=le(this.connection,this.coreBridge.programId,o,i.publicKey,t,n,s),u=await this.getMessageFee(),m=W(this.coreBridge.programId,o,u),g=new a.Transaction$1;g.feePayer=o,g.add(m,d),yield this.createUnsignedTx({transaction:g,signers:[i]},"Core.PublishMessage")}async*verifyMessage(e,t){yield*this.postVaa(e,t)}async*postVaa(e,t){const n=S(this.coreBridge.programId,c.Buffer.from(t.hash));if(await this.connection.getAccountInfo(n))return;const i=new a.SolanaAddress(e).unwrap(),o=a.Keypair.generate(),d=await he(this.connection,this.coreBridge.programId,i,t,o.publicKey);for(let m=0;m<d.length;m+=2){const g=new a.Transaction$1().add(...d.slice(m,m+2));g.feePayer=i,yield this.createUnsignedTx({transaction:g,signers:[o]},"Core.VerifySignature",!0)}const u=new a.Transaction$1().add(ye(this.connection,this.coreBridge.programId,i,t,o.publicKey));u.feePayer=i,yield this.createUnsignedTx({transaction:u},"Core.PostVAA")}static parseSequenceFromLog(e,t){const{meta:n,transaction:{message:s}}=t;if(!n?.innerInstructions?.length)return[];const i=s.staticAccountKeys;if(i.filter(u=>u.toString()===e).length===0)return[];const o=n?.logMessages?.filter(u=>u.startsWith(Z))?.[0]?.replace(Z,"");if(!o)return[];const d=[];for(const u of n?.innerInstructions){const m=u.instructions;d.push(...m.filter(g=>g.programIdIndex in i&&i[g.programIdIndex].toString()===e))}return d.length<1?[]:i.length<3?[]:d.map(u=>[new a.SolanaAddress(i[u.accounts[2]]).toUniversalAddress(),BigInt(o)]).filter(u=>u!==null)}async getMessageAccountKeys(e){let t;if(typeof e.transaction.message.version!="string")if(e.meta.loadedAddresses)t=e.transaction.message.getAccountKeys({accountKeysFromLookups:e.meta.loadedAddresses});else{const n=await Promise.all(e.transaction.message.addressTableLookups.map(async s=>{const i=await this.connection.getAddressLookupTable(s.accountKey);if(!i||!i.value)throw new Error("Could not resolve lookup table: "+s.accountKey.toBase58());return i.value}));t=e.transaction.message.getAccountKeys({addressLookupTableAccounts:n})}else t=e.transaction.message.getAccountKeys();return t}async findInstructions(e,t){const{meta:n,transaction:{message:s}}=t,i=this.coreBridge.programId,o=n.innerInstructions?.flatMap(u=>u.instructions.filter(m=>i.toString()===e.get(m.programIdIndex).toString())).map(u=>({programIdIndex:u.programIdIndex,accountKeyIndexes:u.accounts})),d=s.compiledInstructions.filter(u=>i.toString()===e.get(u.programIdIndex).toString());return[...o,...d]}async parsePostMessageAccount(e){const t=await this.connection.getAccountInfo(e);if(!t?.data)throw new Error("No data found in message account");const{timestamp:n,emitterAddress:s,emitterChain:i,consistencyLevel:o,sequence:d,nonce:u,payload:m}=ne(new Uint8Array(t?.data));return Ee.createVAA("Uint8Array",{guardianSet:await this.getGuardianSetIndex(),emitterChain:c.toChain(i),timestamp:n,emitterAddress:s,consistencyLevel:o,sequence:d,nonce:u,payload:m,signatures:[]})}async parseTransaction(e){const t=await this.connection.getTransaction(e,{maxSupportedTransactionVersion:0});if(!t||!t.meta||!t.meta.innerInstructions)throw new Error("transaction not found");try{const o=x.parseSequenceFromLog(this.coreBridge.programId.toBase58(),t);if(o.length>0){const[d,u]=o[0];return[{chain:this.chain,emitter:d,sequence:u}]}}catch{}const n=await this.getMessageAccountKeys(t),s=await this.findInstructions(n,t);if(!s||s.length===0)throw new Error("no bridge messages found");const i=s.map(async o=>{const d=n.get(o.accountKeyIndexes[1]),u=await this.parsePostMessageAccount(d);return{chain:u.emitterChain,emitter:u.emitterAddress,sequence:u.sequence}});return await Promise.all(i)}async parseMessages(e){const t=await this.connection.getTransaction(e,{maxSupportedTransactionVersion:0});if(!t||!t.meta||!t.meta.innerInstructions)throw new Error("transaction not found");const n=await this.getMessageAccountKeys(t),s=await this.findInstructions(n,t);if(!s||s.length===0)throw new Error("no bridge messages found");const i=s.map(async o=>{const d=n.get(o.accountKeyIndexes[1]);return await this.parsePostMessageAccount(d)});return await Promise.all(i)}createUnsignedTx(e,t,n=!1){return new a.SolanaUnsignedTransaction(e,this.network,this.chain,t,n)}}c.registerProtocol(a._platform,"WormholeCore",x);const Re=Object.freeze(Object.defineProperty({__proto__:null,IDL:H,SolanaWormholeCore:x,deserializePostMessage:ne,postMessageLayout:te,utils:Fe},Symbol.toStringTag,{value:"Module"}));exports.BPF_LOADER_UPGRADEABLE_PROGRAM_ID=O;exports.SolanaWormholeCore=x;exports.accountSize=Y;exports.createBridgeFeeTransferInstruction=W;exports.deriveClaimKey=b;exports.deriveEmitterSequenceKey=C;exports.deriveFeeCollectorKey=M;exports.derivePostedVaaKey=S;exports.deriveProgramDataAddress=ee;exports.deriveUpgradeAuthorityKey=$;exports.deriveWormholeBridgeDataKey=p;exports.deriveWormholeEmitterKey=q;exports.getClaim=re;exports.getPostMessageAccounts=F;exports.getPostMessageCpiAccounts=Ae;exports.getProgramSequenceTracker=ae;exports.getWormholeDerivedAccounts=we;exports.index=Re;
1
+ "use strict";const c=require("./platform-DCcL7jHP.js"),a=require("./unsignedTransaction-qRBv5Cnd.js"),f=require("./index-lAqXlt-a.js"),y=require("./account-K005OXgL.js"),Ee=require("./create-bA3Gyivs.js"),O=new a.PublicKey("BPFLoaderUpgradeab1e11111111111111111111111");function ee(r){return y.deriveAddress([new a.PublicKey(r).toBuffer()],O)}class be extends Error{constructor(e){super(e),this.name="IdlError"}}function Y(r,e){switch(e.type.kind){case"struct":return e.type.fields.map(t=>A(r,t.type)).reduce((t,n)=>t+n,0);case"enum":{const t=e.type.variants.map(n=>n.fields?n.fields.map(s=>typeof s=="object"&&"name"in s?A(r,s.type):A(r,s)).reduce((s,i)=>s+i,0):0);return Math.max(...t)+1}case"alias":return A(r,e.type.value)}}function A(r,e){switch(e){case"bool":return 1;case"u8":return 1;case"i8":return 1;case"i16":return 2;case"u16":return 2;case"u32":return 4;case"i32":return 4;case"f32":return 4;case"u64":return 8;case"i64":return 8;case"f64":return 8;case"u128":return 16;case"i128":return 16;case"u256":return 32;case"i256":return 32;case"bytes":return 1;case"string":return 1;case"publicKey":return 32;default:if("vec"in e)return 1;if("option"in e)return 1+A(r,e.option);if("coption"in e)return 4+A(r,e.coption);if("defined"in e){const t=r.types?.filter(s=>s.name===e.defined)??[];if(t.length!==1)throw new be(`Type not found: ${JSON.stringify(e)}`);let n=t[0];return Y(r,n)}if("array"in e){let t=e.array[0],n=e.array[1];return A(r,t)*n}throw new Error(`Invalid type ${JSON.stringify(e)}`)}}function L(r){return r.replace(/(?:^\w|[A-Z]|\b\w)/g,function(e,t){return t===0?e.toLowerCase():e.toUpperCase()}).replace(/[\s\-_]+/g,"")}function Me(r){return r.charAt(0).toUpperCase()+r.slice(1)}const te=[{name:"discriminator",binary:"bytes",size:4},{name:"consistencyLevel",binary:"uint",size:1,endianness:"little"},{name:"emitterAuthority",...c.universalAddressItem},{name:"messageStatus",binary:"uint",size:1,endianness:"little"},{name:"gap",binary:"uint",size:3},{name:"timestamp",binary:"uint",size:4,endianness:"little"},{name:"nonce",binary:"uint",size:4,endianness:"little"},{name:"sequence",binary:"uint",size:8,endianness:"little"},{name:"emitterChain",binary:"uint",size:2,endianness:"little"},{name:"emitterAddress",...c.universalAddressItem},{name:"payloadLength",binary:"uint",size:4,endianness:"little"},{name:"payload",binary:"bytes"}];function ne(r){return c.deserialize$1(te,r)}function b(r,e,t,n){const s=typeof e=="string"?c.Buffer.from(e,"hex"):c.Buffer.from(e);if(s.length!=32)throw Error("address.length != 32");const i=c.Buffer.alloc(8);return i.writeBigUInt64BE(typeof n=="number"?BigInt(n):n),y.deriveAddress([s,(()=>{const o=c.Buffer.alloc(2);return o.writeUInt16BE(t),o})(),i],r)}async function re(r,e,t,n,s,i){return r.getAccountInfo(b(e,t,n,s),i).then(o=>!!y.getAccountData(o)[0])}function p(r){return y.deriveAddress([c.Buffer.from("Bridge")],r)}async function se(r,e,t){return r.getAccountInfo(p(e),t).then(n=>k.deserialize(y.getAccountData(n)))}class v{guardianSetExpirationTime;fee;constructor(e,t){this.guardianSetExpirationTime=e,this.fee=t}static deserialize(e){if(e.length!=12)throw new Error("data.length != 12");const t=e.readUInt32LE(0),n=e.readBigUInt64LE(4);return new v(t,n)}}class k{guardianSetIndex;lastLamports;config;constructor(e,t,n){this.guardianSetIndex=e,this.lastLamports=t,this.config=n}static deserialize(e){if(e.length!=24)throw new Error("data.length != 24");const t=e.readUInt32LE(0),n=e.readBigUInt64LE(4),s=v.deserialize(e.subarray(12));return new k(t,n,s)}}function C(r,e){return y.deriveAddress([c.Buffer.from("Sequence"),new a.PublicKey(r).toBytes()],e)}async function ie(r,e,t,n){return r.getAccountInfo(C(e,t),n).then(s=>z.deserialize(y.getAccountData(s)))}class z{sequence;bump;emitterType;constructor(e,t,n){this.sequence=e,this.bump=t,this.emitterType=n}static deserialize(e){if(e.length!==8&&e.length!==10)throw new Error("data.length != 8 or data.length != 10");let t,n;const s=e.readBigUInt64LE(0);return e.length===10&&(t=e[8],n=e[9]),new z(s,t,n)}value(){return this.sequence}}function q(r){return y.deriveAddress([c.Buffer.from("emitter")],r)}function N(r,e){const t=q(r);return{emitter:t,sequence:C(t,e)}}async function ae(r,e,t,n){return ie(r,q(e),t,n)}function M(r){return y.deriveAddress([c.Buffer.from("fee_collector")],r)}const X=65,U=20;function Ie(r,e,t){return new a.TransactionInstruction({keys:[],programId:a.Secp256k1Program.programId,data:xe.serialize(r,e,t)})}class xe{static serialize(e,t,n){if(e.length==0)throw Error("signatures.length == 0");if(e.length!=t.length)throw Error("signatures.length != keys.length");if(n.length!=32)throw Error("message.length != 32");const s=e.length,i=11,o=1+s*i,d=X+U,u=o+s*d,m=32,g=c.Buffer.alloc(u+m);g.writeUInt8(s,0),g.write(n.toString("hex"),u,"hex");for(let l=0;l<s;++l){const w=e.at(l);if(w?.length!=X)throw Error(`signatures[${l}].length != 65`);const P=t.at(l);if(P?.length!=U)throw Error(`keys[${l}].length != 20`);const B=o+d*l,K=B+65;g.writeUInt16LE(B,1+l*i),g.writeUInt8(0,3+l*i),g.writeUInt16LE(K,4+l*i),g.writeUInt8(0,6+l*i),g.writeUInt16LE(u,7+l*i),g.writeUInt16LE(m,9+l*i),g.writeUInt8(0,10+l*i),g.write(w.toString("hex"),B,"hex"),g.write(P.toString("hex"),K,"hex")}return g}}function E(r,e){return y.deriveAddress([c.Buffer.from("GuardianSet"),(()=>{const t=c.Buffer.alloc(4);return t.writeUInt32BE(e),t})()],r)}async function G(r,e,t,n){return r.getAccountInfo(E(e,t),n).then(s=>V.deserialize(y.getAccountData(s)))}class V{index;keys;creationTime;expirationTime;constructor(e,t,n,s){this.index=e,this.keys=t,this.creationTime=n,this.expirationTime=s}static deserialize(e){const t=e.readUInt32LE(0),n=e.readUInt32LE(4),s=8+n*U,i=e.readUInt32LE(s),o=e.readUInt32LE(4+s),d=[];for(let u=0;u<n;++u){const m=8+u*U;d.push(e.subarray(m,m+U))}return new V(t,d,i,o)}}function S(r,e){return y.deriveAddress([c.Buffer.from("PostedVAA"),e],r)}async function Pe(r,e,t){return r.getAccountInfo(new a.PublicKey(e),t).then(n=>D.deserialize(y.getAccountData(n)))}class D{signatures;hash;guardianSetIndex;constructor(e,t,n){this.signatures=e,this.hash=t,this.guardianSetIndex=n}static deserialize(e){const t=e.readUInt32LE(0),n=[...e.subarray(4,4+t)].map(d=>d!=0),s=4+t,i=e.subarray(s,s+32),o=e.readUInt32LE(s+32);return new D(n,i,o)}}function $(r){return y.deriveAddress([c.Buffer.from("upgrade")],r)}function W(r,e,t){return a.SystemProgram.transfer({fromPubkey:new a.PublicKey(e),toPubkey:M(r),lamports:t})}class Be{idl;constructor(e){this.idl=e}async encode(e,t){throw new Error(`Invalid account name: ${e}`)}decode(e,t){return this.decodeUnchecked(e,t)}decodeUnchecked(e,t){throw new Error(`Invalid account name: ${e}`)}memcmp(e,t){switch(e){case"postVaa":return{dataSize:56};default:throw new Error(`Invalid account name: ${e}`)}}size(e){return Y(this.idl,e)??0}}class Ke{constructor(e){}decode(e){throw new Error("Wormhole program does not have events")}}class I{static fieldLayout(e,t){const n=e.name!==void 0?L(e.name):void 0;switch(e.type){case"bool":return f.distExports.bool(n);case"u8":return f.distExports.u8(n);case"i8":return f.distExports.i8(n);case"u16":return f.distExports.u16(n);case"i16":return f.distExports.i16(n);case"u32":return f.distExports.u32(n);case"i32":return f.distExports.i32(n);case"f32":return f.distExports.f32(n);case"u64":return f.distExports.u64(n);case"i64":return f.distExports.i64(n);case"f64":return f.distExports.f64(n);case"u128":return f.distExports.u128(n);case"i128":return f.distExports.i128(n);case"u256":return f.distExports.u256(n);case"i256":return f.distExports.i256(n);case"bytes":return f.distExports.vecU8(n);case"string":return f.distExports.str(n);case"publicKey":return f.distExports.publicKey(n);default:{if("vec"in e.type)return f.distExports.vec(I.fieldLayout({name:void 0,type:e.type.vec},t),n);if("option"in e.type)return f.distExports.option(I.fieldLayout({name:void 0,type:e.type.option},t),n);if("array"in e.type){let s=e.type.array[0],i=e.type.array[1],o=I.fieldLayout({name:void 0,type:s},t);return f.distExports.array(o,i,n)}else throw new Error(`Not yet implemented: ${e}`)}}}}class j{ixLayout;constructor(e){this.ixLayout=j.parseIxLayout(e)}static parseIxLayout(e){const n=(e.instructions?e.instructions:[]).map(s=>{let i=s.args.map(d=>I.fieldLayout(d,Array.from([...e.accounts??[],...e.types??[]])));const o=L(s.name);return[o,f.distExports.struct(i,o)]}).concat(e.instructions.map(s=>{let i=s.args.map(d=>I.fieldLayout(d,Array.from([...e.accounts??[],...e.types??[]])));const o=L(s.name);return[o,f.distExports.struct(i,o)]}));return new Map(n)}encode(e,t){const n=c.Buffer.alloc(1e3),s=L(e),i=this.ixLayout.get(s);if(!i)throw new Error(`Unknown method: ${s}`);const o=i.encode(t,n),d=n.slice(0,o);return Le(T[Me(s)],d)}encodeState(e,t){throw new Error("Wormhole program does not have state")}decode(e,t="hex"){typeof e=="string"&&(e=t==="hex"?c.Buffer.from(e,"hex"):c.b58.decode(e));let n=c.Buffer.from(e.slice(0,1)).readInt8(),s=c.Buffer.from(e.slice(1)),i=L(T[n]??"");return this.ixLayout.get(i)?{data:this.ixLayout.get(i)?.decode(s),name:i}:null}}var T;(function(r){r[r.Initialize=0]="Initialize",r[r.PostMessage=1]="PostMessage",r[r.PostVaa=2]="PostVaa",r[r.SetFees=3]="SetFees",r[r.TransferFees=4]="TransferFees",r[r.UpgradeContract=5]="UpgradeContract",r[r.UpgradeGuardianSet=6]="UpgradeGuardianSet",r[r.VerifySignatures=7]="VerifySignatures",r[r.PostMessageUnreliable=8]="PostMessageUnreliable"})(T||(T={}));function Le(r,e){const t=c.Buffer.alloc(1+(e===void 0?0:e.length));return t.writeUInt8(r,0),e!==void 0&&t.write(e.toString("hex"),1,"hex"),t}class Ue{constructor(e){}encode(e,t){throw new Error("Wormhole program does not have state")}decode(e){throw new Error("Wormhole program does not have state")}}class Ce{constructor(e){}encode(e,t){throw new Error("Wormhole program does not have user-defined types")}decode(e,t){throw new Error("Wormhole program does not have user-defined types")}}class _e{instruction;accounts;state;events;types;constructor(e){this.instruction=new j(e),this.accounts=new Be(e),this.state=new Ue(e),this.events=new Ke(e),this.types=new Ce(e)}}const H={version:"0.1.0",name:"wormhole",instructions:[{name:"initialize",accounts:[{name:"bridge",isMut:!0,isSigner:!1},{name:"guardianSet",isMut:!0,isSigner:!1},{name:"feeCollector",isMut:!0,isSigner:!1},{name:"payer",isMut:!0,isSigner:!0},{name:"clock",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"guardianSetExpirationTime",type:"u32"},{name:"fee",type:"u64"},{name:"initialGuardians",type:{vec:{array:["u8",20]}}}]},{name:"postMessage",accounts:[{name:"bridge",isMut:!0,isSigner:!1},{name:"message",isMut:!0,isSigner:!0},{name:"emitter",isMut:!1,isSigner:!0},{name:"sequence",isMut:!0,isSigner:!1},{name:"payer",isMut:!0,isSigner:!0},{name:"feeCollector",isMut:!0,isSigner:!1},{name:"clock",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"nonce",type:"u32"},{name:"payload",type:"bytes"},{name:"consistencyLevel",type:"u8"}]},{name:"postVaa",accounts:[{name:"guardianSet",isMut:!1,isSigner:!1},{name:"bridge",isMut:!1,isSigner:!1},{name:"signatureSet",isMut:!1,isSigner:!1},{name:"vaa",isMut:!0,isSigner:!1},{name:"payer",isMut:!0,isSigner:!0},{name:"clock",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"version",type:"u8"},{name:"guardianSetIndex",type:"u32"},{name:"timestamp",type:"u32"},{name:"nonce",type:"u32"},{name:"emitterChain",type:"u16"},{name:"emitterAddress",type:{array:["u8",32]}},{name:"sequence",type:"u64"},{name:"consistencyLevel",type:"u8"},{name:"payload",type:"bytes"}]},{name:"setFees",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"bridge",isMut:!0,isSigner:!1},{name:"vaa",isMut:!1,isSigner:!1},{name:"claim",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[]},{name:"transferFees",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"bridge",isMut:!0,isSigner:!1},{name:"vaa",isMut:!1,isSigner:!1},{name:"claim",isMut:!0,isSigner:!1},{name:"feeCollector",isMut:!0,isSigner:!1},{name:"recipient",isMut:!0,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[]},{name:"upgradeContract",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"bridge",isMut:!0,isSigner:!1},{name:"vaa",isMut:!1,isSigner:!1},{name:"claim",isMut:!0,isSigner:!1},{name:"upgradeAuthority",isMut:!1,isSigner:!1},{name:"spill",isMut:!0,isSigner:!1},{name:"implementation",isMut:!0,isSigner:!1},{name:"programData",isMut:!0,isSigner:!1},{name:"wormholeProgram",isMut:!0,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"clock",isMut:!1,isSigner:!1},{name:"bpfLoaderUpgradeable",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[]},{name:"upgradeGuardianSet",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"bridge",isMut:!0,isSigner:!1},{name:"vaa",isMut:!1,isSigner:!1},{name:"claim",isMut:!0,isSigner:!1},{name:"guardianSetOld",isMut:!0,isSigner:!1},{name:"guardianSetNew",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[]},{name:"verifySignatures",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"guardianSet",isMut:!1,isSigner:!1},{name:"signatureSet",isMut:!0,isSigner:!0},{name:"instructions",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"signatureStatus",type:{array:["i8",19]}}]},{name:"postMessageUnreliable",accounts:[{name:"bridge",isMut:!0,isSigner:!1},{name:"message",isMut:!0,isSigner:!0},{name:"emitter",isMut:!1,isSigner:!0},{name:"sequence",isMut:!0,isSigner:!1},{name:"payer",isMut:!0,isSigner:!0},{name:"feeCollector",isMut:!0,isSigner:!1},{name:"clock",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"nonce",type:"u32"},{name:"payload",type:"bytes"},{name:"consistencyLevel",type:"u8"}]}],accounts:[{name:"PostedMessage",type:{kind:"struct",fields:[{name:"vaaVersion",type:"u8"},{name:"consistencyLevel",type:"u8"},{name:"vaaTime",type:"u32"},{name:"vaaSignatureAccount",type:"publicKey"},{name:"submissionTime",type:"u32"},{name:"nonce",type:"u32"},{name:"sequence",type:"u64"},{name:"emitterChain",type:"u16"},{name:"emitterAddress",type:{array:["u8",32]}},{name:"payload",type:"bytes"}]}},{name:"PostedVAA",type:{kind:"struct",fields:[{name:"vaaVersion",type:"u8"},{name:"consistencyLevel",type:"u8"},{name:"vaaTime",type:"u32"},{name:"vaaSignatureAccount",type:"publicKey"},{name:"submissionTime",type:"u32"},{name:"nonce",type:"u32"},{name:"sequence",type:"u64"},{name:"emitterChain",type:"u16"},{name:"emitterAddress",type:{array:["u8",32]}},{name:"payload",type:"bytes"}]}}]};function oe(r,e){return new f.Program(H,new a.PublicKey(r),e===void 0?{connection:null}:e,ue())}function h(r,e){return oe(r,f.createReadOnlyProvider(e))}function ue(){return new _e(H)}function Te(r,e,t,n){const s=h(e,r).methods.setFees();return s._ixFn(...s._args,{accounts:ce(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function ce(r,e,t){return{payer:new a.PublicKey(e),bridge:p(r),vaa:S(r,c.Buffer.from(t.hash)),claim:b(r,t.emitterAddress.toString(),c.toChainId(t.emitterChain),t.sequence),systemProgram:a.SystemProgram.programId}}function ve(r,e,t,n,s){const i=h(e,r).methods.transferFees();return i._ixFn(...i._args,{accounts:de(e,t,n,s),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function de(r,e,t,n){return{payer:new a.PublicKey(e),bridge:p(r),vaa:S(r,c.Buffer.from(n.hash)),claim:b(r,n.emitterAddress.toString(),c.toChainId(n.emitterChain),n.sequence),feeCollector:M(r),recipient:new a.PublicKey(t),rent:a.SYSVAR_RENT_PUBKEY,systemProgram:a.SystemProgram.programId}}function ke(r,e,t,n){const s=h(e,r).methods.upgradeGuardianSet();return s._ixFn(...s._args,{accounts:ge(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function ge(r,e,t){return{payer:new a.PublicKey(e),bridge:p(r),vaa:S(r,c.Buffer.from(t.hash)),claim:b(r,t.emitterAddress.toString(),c.toChainId(t.emitterChain),t.sequence),guardianSetOld:E(r,t.guardianSet),guardianSetNew:E(r,t.guardianSet+1),systemProgram:a.SystemProgram.programId}}function ze(r,e,t,n){const s=h(e,r).methods.upgradeContract();return s._ixFn(...s._args,{accounts:fe(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function fe(r,e,t,n){const{newContract:s}=t.payload.actionArgs;return{payer:new a.PublicKey(e),bridge:p(r),vaa:S(r,c.Buffer.from(t.hash)),claim:b(r,t.emitterAddress.toString(),c.toChainId(t.emitterChain),t.sequence),upgradeAuthority:$(r),spill:new a.PublicKey(n===void 0?e:n),implementation:new a.SolanaAddress(s).unwrap(),programData:ee(r),wormholeProgram:new a.PublicKey(r),rent:a.SYSVAR_RENT_PUBKEY,clock:a.SYSVAR_CLOCK_PUBKEY,bpfLoaderUpgradeable:O,systemProgram:a.SystemProgram.programId}}function qe(r,e,t,n,s,i){const o=h(e,r).methods.initialize(n,new a.BN(s.toString()),[...i.map(d=>[...new Uint8Array(d)])]);return o._ixFn(...o._args,{accounts:me(e,t),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function me(r,e){return{bridge:p(r),guardianSet:E(r,0),feeCollector:M(r),payer:new a.PublicKey(e),clock:a.SYSVAR_CLOCK_PUBKEY,rent:a.SYSVAR_RENT_PUBKEY,systemProgram:a.SystemProgram.programId}}function le(r,e,t,n,s,i,o){const d=h(e,r).methods.postMessage(i,c.Buffer.from(s),o);return d._ixFn(...d._args,{accounts:F(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function F(r,e,t,n){let s;return n?{emitter:n,sequence:s}=N(n,r):(n=e,s=C(n,r)),{bridge:p(r),message:new a.PublicKey(t),emitter:new a.PublicKey(n),sequence:s,payer:new a.PublicKey(e),feeCollector:M(r),clock:a.SYSVAR_CLOCK_PUBKEY,rent:a.SYSVAR_RENT_PUBKEY,systemProgram:a.SystemProgram.programId}}function ye(r,e,t,n,s){const i=h(e,r).methods.postVaa(1,n.guardianSet,n.timestamp,n.nonce,c.toChainId(n.emitterChain),[...n.emitterAddress.toUint8Array()],new a.BN(n.sequence.toString()),n.consistencyLevel,c.Buffer.from(c.serializePayload(n.payloadLiteral,n.payload)));return i._ixFn(...i._args,{accounts:pe(e,t,s,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function pe(r,e,t,n){return{guardianSet:E(r,n.guardianSet),bridge:p(r),signatureSet:new a.PublicKey(t),vaa:S(r,c.Buffer.from(n.hash)),payer:new a.PublicKey(e),clock:a.SYSVAR_CLOCK_PUBKEY,rent:a.SYSVAR_RENT_PUBKEY,systemProgram:a.SystemProgram.programId}}const Ve=19;async function he(r,e,t,n,s,i){const o=n.guardianSet,d=await G(r,e,o,i),u=n.signatures,m=d.keys,g=7,l=[];for(let w=0;w<Math.ceil(u.length/g);++w){const P=w*g,B=Math.min(u.length,(w+1)*g),K=new Array(Ve).fill(-1),J=[],Q=[];for(let _=0;_<B-P;++_){const R=u.at(_+P);J.push(c.Buffer.from(R.signature.encode())),Q.push(m.at(R.guardianIndex)),K[R.guardianIndex]=_}l.push(Ie(J,Q,c.Buffer.from(n.hash))),l.push(De(r,e,t,n,s,K))}return l}function De(r,e,t,n,s,i){const o=h(e,r).methods.verifySignatures(i);return o._ixFn(...o._args,{accounts:Se(e,t,s,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function Se(r,e,t,n){return{payer:new a.PublicKey(e),guardianSet:E(r,n.guardianSet),signatureSet:new a.PublicKey(t),instructions:a.SYSVAR_INSTRUCTIONS_PUBKEY,rent:a.SYSVAR_RENT_PUBKEY,systemProgram:a.SystemProgram.programId}}function we(r,e){const{emitter:t,sequence:n}=N(r,e);return{wormholeBridge:p(e),wormholeEmitter:t,wormholeSequence:n,wormholeFeeCollector:M(e)}}function Ae(r,e,t,n){const s=F(e,t,n,r);return{payer:s.payer,wormholeBridge:s.bridge,wormholeMessage:s.message,wormholeEmitter:s.emitter,wormholeSequence:s.sequence,wormholeFeeCollector:s.feeCollector,clock:s.clock,rent:s.rent,systemProgram:s.systemProgram}}const Fe=Object.freeze(Object.defineProperty({__proto__:null,BridgeConfig:v,BridgeData:k,GuardianSetData:V,SequenceTracker:z,SignatureSetData:D,coder:ue,createBridgeFeeTransferInstruction:W,createInitializeInstruction:qe,createPostMessageInstruction:le,createPostVaaInstruction:ye,createReadOnlyWormholeProgramInterface:h,createSetFeesInstruction:Te,createTransferFeesInstruction:ve,createUpgradeContractInstruction:ze,createUpgradeGuardianSetInstruction:ke,createVerifySignaturesInstructions:he,createWormholeProgramInterface:oe,deriveClaimKey:b,deriveEmitterSequenceKey:C,deriveFeeCollectorKey:M,deriveGuardianSetKey:E,derivePostedVaaKey:S,deriveUpgradeAuthorityKey:$,deriveWormholeBridgeDataKey:p,deriveWormholeEmitterKey:q,getClaim:re,getEmitterKeys:N,getGuardianSet:G,getInitializeAccounts:me,getPostMessageAccounts:F,getPostMessageCpiAccounts:Ae,getPostVaaAccounts:pe,getProgramSequenceTracker:ae,getSequenceTracker:ie,getSetFeesAccounts:ce,getSignatureSetData:Pe,getTransferFeesAccounts:de,getUpgradeContractAccounts:fe,getUpgradeGuardianSetAccounts:ge,getVerifySignatureAccounts:Se,getWormholeBridgeData:se,getWormholeDerivedAccounts:we},Symbol.toStringTag,{value:"Module"})),Z="Program log: Sequence: ";class x{network;chain;connection;contracts;chainId;coreBridge;address;bridgeData;constructor(e,t,n,s){this.network=e,this.chain=t,this.connection=n,this.contracts=s,this.chainId=c.toChainId(t);const i=s.coreBridge;if(!i)throw new Error(`CoreBridge contract Address for chain ${t} not found`);this.address=i,this.coreBridge=h(i,n)}async getGuardianSet(e){const t=await G(this.connection,this.coreBridge.programId,e);return{index:t.index,keys:t.keys.map(n=>n.toString("hex")),expiry:BigInt(t.expirationTime)}}static async fromRpc(e,t){const[n,s]=await a.SolanaPlatform.chainFromRpc(e),i=t[s];if(i.network!==n)throw new Error(`Network mismatch for chain ${s}: ${i.network} != ${n}`);return new x(n,s,e,t[s].contracts)}async ensureBridgeConfig(){this.bridgeData||(this.bridgeData=await se(this.connection,this.coreBridge.programId))}async getMessageFee(){return await this.ensureBridgeConfig(),this.bridgeData.config.fee}async getGuardianSetIndex(){return await this.ensureBridgeConfig(),this.bridgeData.guardianSetIndex}async*publishMessage(e,t,n,s){const i=a.Keypair.generate(),o=new a.SolanaAddress(e).unwrap(),d=le(this.connection,this.coreBridge.programId,o,i.publicKey,t,n,s),u=await this.getMessageFee(),m=W(this.coreBridge.programId,o,u),g=new a.Transaction$1;g.feePayer=o,g.add(m,d),yield this.createUnsignedTx({transaction:g,signers:[i]},"Core.PublishMessage")}async*verifyMessage(e,t){yield*this.postVaa(e,t)}async*postVaa(e,t){const n=S(this.coreBridge.programId,c.Buffer.from(t.hash));if(await this.connection.getAccountInfo(n))return;const i=new a.SolanaAddress(e).unwrap(),o=a.Keypair.generate(),d=await he(this.connection,this.coreBridge.programId,i,t,o.publicKey);for(let m=0;m<d.length;m+=2){const g=new a.Transaction$1().add(...d.slice(m,m+2));g.feePayer=i,yield this.createUnsignedTx({transaction:g,signers:[o]},"Core.VerifySignature",!0)}const u=new a.Transaction$1().add(ye(this.connection,this.coreBridge.programId,i,t,o.publicKey));u.feePayer=i,yield this.createUnsignedTx({transaction:u},"Core.PostVAA")}static parseSequenceFromLog(e,t){const{meta:n,transaction:{message:s}}=t;if(!n?.innerInstructions?.length)return[];const i=s.staticAccountKeys;if(i.filter(u=>u.toString()===e).length===0)return[];const o=n?.logMessages?.filter(u=>u.startsWith(Z))?.[0]?.replace(Z,"");if(!o)return[];const d=[];for(const u of n?.innerInstructions){const m=u.instructions;d.push(...m.filter(g=>g.programIdIndex in i&&i[g.programIdIndex].toString()===e))}return d.length<1?[]:i.length<3?[]:d.map(u=>[new a.SolanaAddress(i[u.accounts[2]]).toUniversalAddress(),BigInt(o)]).filter(u=>u!==null)}async getMessageAccountKeys(e){let t;if(typeof e.transaction.message.version!="string")if(e.meta.loadedAddresses)t=e.transaction.message.getAccountKeys({accountKeysFromLookups:e.meta.loadedAddresses});else{const n=await Promise.all(e.transaction.message.addressTableLookups.map(async s=>{const i=await this.connection.getAddressLookupTable(s.accountKey);if(!i||!i.value)throw new Error("Could not resolve lookup table: "+s.accountKey.toBase58());return i.value}));t=e.transaction.message.getAccountKeys({addressLookupTableAccounts:n})}else t=e.transaction.message.getAccountKeys();return t}async findInstructions(e,t){const{meta:n,transaction:{message:s}}=t,i=this.coreBridge.programId,o=n.innerInstructions?.flatMap(u=>u.instructions.filter(m=>i.toString()===e.get(m.programIdIndex).toString())).map(u=>({programIdIndex:u.programIdIndex,accountKeyIndexes:u.accounts})),d=s.compiledInstructions.filter(u=>i.toString()===e.get(u.programIdIndex).toString());return[...o,...d]}async parsePostMessageAccount(e){const t=await this.connection.getAccountInfo(e);if(!t?.data)throw new Error("No data found in message account");const{timestamp:n,emitterAddress:s,emitterChain:i,consistencyLevel:o,sequence:d,nonce:u,payload:m}=ne(new Uint8Array(t?.data));return Ee.createVAA("Uint8Array",{guardianSet:await this.getGuardianSetIndex(),emitterChain:c.toChain(i),timestamp:n,emitterAddress:s,consistencyLevel:o,sequence:d,nonce:u,payload:m,signatures:[]})}async parseTransaction(e){const t=await this.connection.getTransaction(e,{maxSupportedTransactionVersion:0});if(!t||!t.meta||!t.meta.innerInstructions)throw new Error("transaction not found");try{const o=x.parseSequenceFromLog(this.coreBridge.programId.toBase58(),t);if(o.length>0){const[d,u]=o[0];return[{chain:this.chain,emitter:d,sequence:u}]}}catch{}const n=await this.getMessageAccountKeys(t),s=await this.findInstructions(n,t);if(!s||s.length===0)throw new Error("no bridge messages found");const i=s.map(async o=>{const d=n.get(o.accountKeyIndexes[1]),u=await this.parsePostMessageAccount(d);return{chain:u.emitterChain,emitter:u.emitterAddress,sequence:u.sequence}});return await Promise.all(i)}async parseMessages(e){const t=await this.connection.getTransaction(e,{maxSupportedTransactionVersion:0});if(!t||!t.meta||!t.meta.innerInstructions)throw new Error("transaction not found");const n=await this.getMessageAccountKeys(t),s=await this.findInstructions(n,t);if(!s||s.length===0)throw new Error("no bridge messages found");const i=s.map(async o=>{const d=n.get(o.accountKeyIndexes[1]);return await this.parsePostMessageAccount(d)});return await Promise.all(i)}createUnsignedTx(e,t,n=!1){return new a.SolanaUnsignedTransaction(e,this.network,this.chain,t,n)}}c.registerProtocol(a._platform,"WormholeCore",x);const Re=Object.freeze(Object.defineProperty({__proto__:null,IDL:H,SolanaWormholeCore:x,deserializePostMessage:ne,postMessageLayout:te,utils:Fe},Symbol.toStringTag,{value:"Module"}));exports.BPF_LOADER_UPGRADEABLE_PROGRAM_ID=O;exports.SolanaWormholeCore=x;exports.accountSize=Y;exports.createBridgeFeeTransferInstruction=W;exports.deriveClaimKey=b;exports.deriveEmitterSequenceKey=C;exports.deriveFeeCollectorKey=M;exports.derivePostedVaaKey=S;exports.deriveProgramDataAddress=ee;exports.deriveUpgradeAuthorityKey=$;exports.deriveWormholeBridgeDataKey=p;exports.deriveWormholeEmitterKey=q;exports.getClaim=re;exports.getPostMessageAccounts=F;exports.getPostMessageCpiAccounts=Ae;exports.getProgramSequenceTracker=ae;exports.getWormholeDerivedAccounts=we;exports.index=Re;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./unsignedTransaction-DA4tlY5u.js"),M=require("./index-lZY5fTXF.js"),u=require("./platform-CCG_jgOO.js"),h=require("./web3-DdUeM7iQ.js"),b=new a.PublicKey("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");new a.PublicKey("TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb");const A=new a.PublicKey("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");new a.PublicKey("So11111111111111111111111111111111111111112");new a.PublicKey("9pan9bMn5HatX4EJdBwg9VgCa7Uz5HL8N1m5D3NdXejP");class H extends Error{constructor(e){super(e)}}class q extends H{constructor(){super(...arguments),this.name="TokenOwnerOffCurveError"}}const G=a.LayoutExports.struct([a.LayoutExports.u32("mintAuthorityOption"),h.publicKey("mintAuthority"),h.u64("supply"),a.LayoutExports.u8("decimals"),h.bool("isInitialized"),a.LayoutExports.u32("freezeAuthorityOption"),h.publicKey("freezeAuthority")]);G.span;function $(r,e,t=!1,s=b,i=A){if(!t&&!a.PublicKey.isOnCurve(e.toBuffer()))throw new q;const[n]=a.PublicKey.findProgramAddressSync([e.toBuffer(),s.toBuffer(),r.toBuffer()],i);return n}function X(r,e,t,s,i=b,n=A){return J(r,e,t,s,u.Buffer.alloc(0),i,n)}function J(r,e,t,s,i,n=b,o=A){const l=[{pubkey:r,isSigner:!0,isWritable:!0},{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:s,isSigner:!1,isWritable:!1},{pubkey:a.SystemProgram.programId,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1}];return new a.TransactionInstruction({keys:l,programId:o,data:i})}function w(r,e){return new M.Program(B.TokenMessengerIdl,new a.PublicKey(r),e===void 0?{connection:null}:e)}function R(r,e){return w(r,M.createReadOnlyProvider(e))}function K(r,e){return new M.Program(B.MessageTransmitterIdl,new a.PublicKey(r),e===void 0?{connection:null}:e)}function O(r,e){return K(r,M.createReadOnlyProvider(e))}const m=(r,e,t)=>{const s=[u.Buffer.from(M.index.bytes.utf8.encode(r))];if(t)for(const n of t)typeof n=="string"?s.push(u.Buffer.from(M.index.bytes.utf8.encode(n))):Array.isArray(n)?s.push(u.Buffer.from(n)):u.Buffer.isBuffer(n)?s.push(n):s.push(n.toBuffer());const i=a.PublicKey.findProgramAddressSync(s,e);return{publicKey:i[0],bump:i[1]}};function E(r,e,t,s,i,n,o,l,d){const c=m("message_transmitter",r),g=m("token_messenger",e),p=m("token_minter",e),y=m("local_token",e,[t]),S=m("remote_token_messenger",e,[s.toString()]),k=m("sender_authority",e),T=w(e),v=m("__event_authority",e);return T.methods.depositForBurn({amount:new a.BN(l.toString()),destinationDomain:s,mintRecipient:new a.PublicKey(o.toUint8Array())}).accounts({owner:i,senderAuthorityPda:k.publicKey,burnTokenAccount:n,messageTransmitter:c.publicKey,tokenMessenger:g.publicKey,remoteTokenMessenger:S.publicKey,tokenMinter:p.publicKey,localToken:y.publicKey,burnTokenMint:t,messageTransmitterProgram:r,tokenMessengerMinterProgram:e,tokenProgram:b,eventAuthority:v.publicKey,eventRentPayer:i,messageSentEventData:d}).instruction()}const C=6400n;function I(r){return(r-BigInt(1))/C*C+BigInt(1)}function x(r,e,t){const s=e.toString();return m("used_nonces",t,[s,I(r).toString()]).publicKey}async function N(r,e,t,s,i,n){const o=u.Buffer.from(u.CircleBridge.serialize(s)),l=u.Buffer.from(u.hex.decode(i)),d=new a.PublicKey(t),c=new a.PublicKey(s.payload.burnToken.toUint8Array()),g=new a.SolanaAddress(s.payload.mintRecipient).unwrap(),p=n?new a.PublicKey(n):g,y=s.sourceDomain.toString(),S=m("message_transmitter",r),k=m("token_messenger",e),T=m("token_minter",e),v=m("local_token",e,[d]),_=m("remote_token_messenger",e,[y]),U=m("token_pair",e,[y,c]),L=m("custody",e,[d]),W=m("message_transmitter_authority",r,[e]).publicKey,z=x(s.nonce,s.sourceDomain,r),F=m("__event_authority",r),V=m("__event_authority",e),f=[];f.push({isSigner:!1,isWritable:!1,pubkey:k.publicKey}),f.push({isSigner:!1,isWritable:!1,pubkey:_.publicKey}),f.push({isSigner:!1,isWritable:!0,pubkey:T.publicKey}),f.push({isSigner:!1,isWritable:!0,pubkey:v.publicKey}),f.push({isSigner:!1,isWritable:!1,pubkey:U.publicKey}),f.push({isSigner:!1,isWritable:!0,pubkey:g}),f.push({isSigner:!1,isWritable:!0,pubkey:L.publicKey}),f.push({isSigner:!1,isWritable:!1,pubkey:b}),f.push({isSigner:!1,isWritable:!1,pubkey:V.publicKey}),f.push({isSigner:!1,isWritable:!1,pubkey:e});const D=K(r);return D.methods.receiveMessage({message:o,attestation:l}).accounts({payer:p,caller:p,authorityPda:W,messageTransmitter:S.publicKey,usedNonces:z,receiver:e,systemProgram:a.SystemProgram.programId,eventAuthority:F.publicKey,program:D.programId}).remainingAccounts(f).transaction()}class P{network;chain;connection;contracts;tokenMessenger;messageTransmitter;constructor(e,t,s,i){if(this.network=e,this.chain=t,this.connection=s,this.contracts=i,e==="Devnet")throw new Error("CircleBridge not supported on Devnet");const n=i.cctp?.messageTransmitter;if(!n)throw new Error(`Circle Messenger Transmitter contract for domain ${t} not found`);this.messageTransmitter=O(new a.PublicKey(n),this.connection);const o=i.cctp?.tokenMessenger;if(!o)throw new Error(`Circle Token Messenger contract for domain ${t} not found`);this.tokenMessenger=R(new a.PublicKey(o),this.connection)}static async fromRpc(e,t){const[s,i]=await a.SolanaPlatform.chainFromRpc(e),n=t[i];if(n.network!==s)throw new Error(`Network mismatch: ${n.network} != ${s}`);return new P(s,i,e,n.contracts)}async*redeem(e,t,s){const i=new a.PublicKey(u.usdcContract.get(this.network,this.chain)),n=new a.SolanaAddress(e).unwrap(),o=new a.SolanaAddress(t.payload.mintRecipient).unwrap();if(!await this.connection.getAccountInfo(o)){const g=new a.Transaction$1().add(X(n,o,n,i));g.feePayer=n,yield this.createUnsignedTx({transaction:g},"CircleBridge.CreateATA")}const d=await N(this.messageTransmitter.programId,this.tokenMessenger.programId,i,t,s,n),c=new a.Transaction$1;c.feePayer=n,c.add(d),yield this.createUnsignedTx({transaction:c},"CircleBridge.Redeem")}async*transfer(e,t,s){const i=new a.PublicKey(u.usdcContract.get(this.network,this.chain)),n=new a.SolanaAddress(e).unwrap(),o=$(i,n),l=u.circleChainId.get(this.network,t.chain),d=t.address.toUniversalAddress(),c=a.Keypair.generate(),g=await E(this.messageTransmitter.programId,this.tokenMessenger.programId,i,l,n,o,d,s,c.publicKey),p=new a.Transaction$1;p.feePayer=n,p.add(g),yield this.createUnsignedTx({transaction:p,signers:[c]},"CircleBridge.Transfer")}async isTransferCompleted(e){const t=x(e.nonce,e.sourceDomain,this.messageTransmitter.programId),s=I(e.nonce),{usedNonces:i}=await this.messageTransmitter.account.usedNonces.fetch(t),n=Number(e.nonce-s),o=i[Math.floor(n/64)];if(!o)throw new Error("Invalid nonce byte index");const l=n%64,d=new a.BN((BigInt(1)<<BigInt(l)).toString());return!o.and(d).isZero()}async parseTransactionDetails(e){const t=await this.connection.getTransaction(e);if(!t||!t.meta)throw new Error("Transaction not found");const s=t.transaction.message.getAccountKeys();if(s.length<2)throw new Error("No message account found");const i=s.get(1),n=await this.connection.getAccountInfo(i);if(!n)throw new Error("No account data found");const o=new Uint8Array(n.data).slice(44),[l,d]=u.CircleBridge.deserialize(o),{payload:c}=l,g=c.messageSender,p=c.mintRecipient,y=u.toCircleChain(this.network,l.sourceDomain),S=u.toCircleChain(this.network,l.destinationDomain),k={chain:y,address:c.burnToken};return{from:{chain:y,address:g},to:{chain:S,address:p},token:k,amount:c.amount,message:l,id:{hash:d}}}createUnsignedTx(e,t,s=!1){return new a.SolanaUnsignedTransaction(e,this.network,this.chain,t,s)}}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 reused 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"}]};u.registerProtocol(a._platform,"CircleBridge",P);const B={TokenMessengerIdl:Q,MessageTransmitterIdl:Z};exports.SolanaCircleBridge=P;exports.calculateFirstNonce=I;exports.createDepositForBurnInstruction=E;exports.createMessageTransmitterProgramInterface=K;exports.createReadOnlyMessageTransmitterProgramInterface=O;exports.createReadOnlyTokenMessengerProgramInterface=R;exports.createReceiveMessageInstruction=N;exports.createTokenMessengerProgramInterface=w;exports.findProgramAddress=m;exports.idl=B;exports.nonceAccount=x;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./unsignedTransaction-qRBv5Cnd.js"),M=require("./index-lAqXlt-a.js"),u=require("./platform-DCcL7jHP.js"),h=require("./web3-x1WCGDiy.js"),b=new a.PublicKey("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");new a.PublicKey("TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb");const A=new a.PublicKey("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");new a.PublicKey("So11111111111111111111111111111111111111112");new a.PublicKey("9pan9bMn5HatX4EJdBwg9VgCa7Uz5HL8N1m5D3NdXejP");class H extends Error{constructor(e){super(e)}}class q extends H{constructor(){super(...arguments),this.name="TokenOwnerOffCurveError"}}const G=a.LayoutExports.struct([a.LayoutExports.u32("mintAuthorityOption"),h.publicKey("mintAuthority"),h.u64("supply"),a.LayoutExports.u8("decimals"),h.bool("isInitialized"),a.LayoutExports.u32("freezeAuthorityOption"),h.publicKey("freezeAuthority")]);G.span;function $(r,e,t=!1,s=b,i=A){if(!t&&!a.PublicKey.isOnCurve(e.toBuffer()))throw new q;const[n]=a.PublicKey.findProgramAddressSync([e.toBuffer(),s.toBuffer(),r.toBuffer()],i);return n}function X(r,e,t,s,i=b,n=A){return J(r,e,t,s,u.Buffer.alloc(0),i,n)}function J(r,e,t,s,i,n=b,o=A){const l=[{pubkey:r,isSigner:!0,isWritable:!0},{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:s,isSigner:!1,isWritable:!1},{pubkey:a.SystemProgram.programId,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1}];return new a.TransactionInstruction({keys:l,programId:o,data:i})}function w(r,e){return new M.Program(B.TokenMessengerIdl,new a.PublicKey(r),e===void 0?{connection:null}:e)}function R(r,e){return w(r,M.createReadOnlyProvider(e))}function K(r,e){return new M.Program(B.MessageTransmitterIdl,new a.PublicKey(r),e===void 0?{connection:null}:e)}function O(r,e){return K(r,M.createReadOnlyProvider(e))}const m=(r,e,t)=>{const s=[u.Buffer.from(M.index.bytes.utf8.encode(r))];if(t)for(const n of t)typeof n=="string"?s.push(u.Buffer.from(M.index.bytes.utf8.encode(n))):Array.isArray(n)?s.push(u.Buffer.from(n)):u.Buffer.isBuffer(n)?s.push(n):s.push(n.toBuffer());const i=a.PublicKey.findProgramAddressSync(s,e);return{publicKey:i[0],bump:i[1]}};function E(r,e,t,s,i,n,o,l,d){const c=m("message_transmitter",r),g=m("token_messenger",e),p=m("token_minter",e),y=m("local_token",e,[t]),S=m("remote_token_messenger",e,[s.toString()]),k=m("sender_authority",e),T=w(e),v=m("__event_authority",e);return T.methods.depositForBurn({amount:new a.BN(l.toString()),destinationDomain:s,mintRecipient:new a.PublicKey(o.toUint8Array())}).accounts({owner:i,senderAuthorityPda:k.publicKey,burnTokenAccount:n,messageTransmitter:c.publicKey,tokenMessenger:g.publicKey,remoteTokenMessenger:S.publicKey,tokenMinter:p.publicKey,localToken:y.publicKey,burnTokenMint:t,messageTransmitterProgram:r,tokenMessengerMinterProgram:e,tokenProgram:b,eventAuthority:v.publicKey,eventRentPayer:i,messageSentEventData:d}).instruction()}const C=6400n;function I(r){return(r-BigInt(1))/C*C+BigInt(1)}function x(r,e,t){const s=e.toString();return m("used_nonces",t,[s,I(r).toString()]).publicKey}async function N(r,e,t,s,i,n){const o=u.Buffer.from(u.CircleBridge.serialize(s)),l=u.Buffer.from(u.hex.decode(i)),d=new a.PublicKey(t),c=new a.PublicKey(s.payload.burnToken.toUint8Array()),g=new a.SolanaAddress(s.payload.mintRecipient).unwrap(),p=n?new a.PublicKey(n):g,y=s.sourceDomain.toString(),S=m("message_transmitter",r),k=m("token_messenger",e),T=m("token_minter",e),v=m("local_token",e,[d]),_=m("remote_token_messenger",e,[y]),U=m("token_pair",e,[y,c]),L=m("custody",e,[d]),W=m("message_transmitter_authority",r,[e]).publicKey,z=x(s.nonce,s.sourceDomain,r),F=m("__event_authority",r),V=m("__event_authority",e),f=[];f.push({isSigner:!1,isWritable:!1,pubkey:k.publicKey}),f.push({isSigner:!1,isWritable:!1,pubkey:_.publicKey}),f.push({isSigner:!1,isWritable:!0,pubkey:T.publicKey}),f.push({isSigner:!1,isWritable:!0,pubkey:v.publicKey}),f.push({isSigner:!1,isWritable:!1,pubkey:U.publicKey}),f.push({isSigner:!1,isWritable:!0,pubkey:g}),f.push({isSigner:!1,isWritable:!0,pubkey:L.publicKey}),f.push({isSigner:!1,isWritable:!1,pubkey:b}),f.push({isSigner:!1,isWritable:!1,pubkey:V.publicKey}),f.push({isSigner:!1,isWritable:!1,pubkey:e});const D=K(r);return D.methods.receiveMessage({message:o,attestation:l}).accounts({payer:p,caller:p,authorityPda:W,messageTransmitter:S.publicKey,usedNonces:z,receiver:e,systemProgram:a.SystemProgram.programId,eventAuthority:F.publicKey,program:D.programId}).remainingAccounts(f).transaction()}class P{network;chain;connection;contracts;tokenMessenger;messageTransmitter;constructor(e,t,s,i){if(this.network=e,this.chain=t,this.connection=s,this.contracts=i,e==="Devnet")throw new Error("CircleBridge not supported on Devnet");const n=i.cctp?.messageTransmitter;if(!n)throw new Error(`Circle Messenger Transmitter contract for domain ${t} not found`);this.messageTransmitter=O(new a.PublicKey(n),this.connection);const o=i.cctp?.tokenMessenger;if(!o)throw new Error(`Circle Token Messenger contract for domain ${t} not found`);this.tokenMessenger=R(new a.PublicKey(o),this.connection)}static async fromRpc(e,t){const[s,i]=await a.SolanaPlatform.chainFromRpc(e),n=t[i];if(n.network!==s)throw new Error(`Network mismatch: ${n.network} != ${s}`);return new P(s,i,e,n.contracts)}async*redeem(e,t,s){const i=new a.PublicKey(u.usdcContract.get(this.network,this.chain)),n=new a.SolanaAddress(e).unwrap(),o=new a.SolanaAddress(t.payload.mintRecipient).unwrap();if(!await this.connection.getAccountInfo(o)){const g=new a.Transaction$1().add(X(n,o,n,i));g.feePayer=n,yield this.createUnsignedTx({transaction:g},"CircleBridge.CreateATA")}const d=await N(this.messageTransmitter.programId,this.tokenMessenger.programId,i,t,s,n),c=new a.Transaction$1;c.feePayer=n,c.add(d),yield this.createUnsignedTx({transaction:c},"CircleBridge.Redeem")}async*transfer(e,t,s){const i=new a.PublicKey(u.usdcContract.get(this.network,this.chain)),n=new a.SolanaAddress(e).unwrap(),o=$(i,n),l=u.circleChainId.get(this.network,t.chain),d=t.address.toUniversalAddress(),c=a.Keypair.generate(),g=await E(this.messageTransmitter.programId,this.tokenMessenger.programId,i,l,n,o,d,s,c.publicKey),p=new a.Transaction$1;p.feePayer=n,p.add(g),yield this.createUnsignedTx({transaction:p,signers:[c]},"CircleBridge.Transfer")}async isTransferCompleted(e){const t=x(e.nonce,e.sourceDomain,this.messageTransmitter.programId),s=I(e.nonce),{usedNonces:i}=await this.messageTransmitter.account.usedNonces.fetch(t),n=Number(e.nonce-s),o=i[Math.floor(n/64)];if(!o)throw new Error("Invalid nonce byte index");const l=n%64,d=new a.BN((BigInt(1)<<BigInt(l)).toString());return!o.and(d).isZero()}async parseTransactionDetails(e){const t=await this.connection.getTransaction(e);if(!t||!t.meta)throw new Error("Transaction not found");const s=t.transaction.message.getAccountKeys();if(s.length<2)throw new Error("No message account found");const i=s.get(1),n=await this.connection.getAccountInfo(i);if(!n)throw new Error("No account data found");const o=new Uint8Array(n.data).slice(44),[l,d]=u.CircleBridge.deserialize(o),{payload:c}=l,g=c.messageSender,p=c.mintRecipient,y=u.toCircleChain(this.network,l.sourceDomain),S=u.toCircleChain(this.network,l.destinationDomain),k={chain:y,address:c.burnToken};return{from:{chain:y,address:g},to:{chain:S,address:p},token:k,amount:c.amount,message:l,id:{hash:d}}}createUnsignedTx(e,t,s=!1){return new a.SolanaUnsignedTransaction(e,this.network,this.chain,t,s)}}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 reused 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"}]};u.registerProtocol(a._platform,"CircleBridge",P);const B={TokenMessengerIdl:Q,MessageTransmitterIdl:Z};exports.SolanaCircleBridge=P;exports.calculateFirstNonce=I;exports.createDepositForBurnInstruction=E;exports.createMessageTransmitterProgramInterface=K;exports.createReadOnlyMessageTransmitterProgramInterface=O;exports.createReadOnlyTokenMessengerProgramInterface=R;exports.createReceiveMessageInstruction=N;exports.createTokenMessengerProgramInterface=w;exports.findProgramAddress=m;exports.idl=B;exports.nonceAccount=x;
@@ -1,7 +1,7 @@
1
- import { C as on, ca as ge, p as we } from "./platform-Cil_UtAQ.mjs";
2
- import { g as sn, ae as an, c as ye } from "./unsignedTransaction-DCDxTFq8.mjs";
3
- import { a9 as fo } from "./index-hyk_rzOj.mjs";
4
- import { o as Zt } from "./hypercore-Bmlyd4uI.mjs";
1
+ import { C as on, ca as ge, p as we } from "./platform-CSpAb386.mjs";
2
+ import { g as sn, ae as an, c as ye } from "./unsignedTransaction-D2Ja0SuN.mjs";
3
+ import { aa as fo } from "./index-BnKf2rOm.mjs";
4
+ import { o as Zt } from "./hypercore-H7pw_pN4.mjs";
5
5
  var Ie = fo();
6
6
  const Kl = /* @__PURE__ */ sn(Ie);
7
7
  var rt = {};