@wormhole-foundation/wormhole-connect 3.0.0-beta.10-development → 3.0.0-beta.11-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 (371) hide show
  1. package/dist/assets/{evm-Cz5gfo6J.js → evm-DwqzhXfk.js} +2 -2
  2. package/dist/assets/{index-BE0gG6Qf.js → index-CKPf-3Vo.js} +1 -1
  3. package/dist/assets/{index-D_PDN2kF.js → index-CYFq9U58.js} +1 -1
  4. package/dist/assets/{index-BD24Wfvc.js → index-C_YTupmk.js} +1 -1
  5. package/dist/assets/index-DA4wR-ie.js +1 -0
  6. package/dist/assets/{index-GZ5zavqs.js → index-GmuqTVr0.js} +1 -1
  7. package/dist/main.js +74 -74
  8. package/dist/src/WormholeConnect.d.ts.map +1 -1
  9. package/dist/src/components/Header.d.ts.map +1 -1
  10. package/dist/src/config/devnet/chains.d.ts.map +1 -1
  11. package/dist/src/config/mainnet/chains.d.ts.map +1 -1
  12. package/dist/src/config/testnet/chains.d.ts.map +1 -1
  13. package/dist/src/config/tokens.d.ts +1 -1
  14. package/dist/src/config/tokens.d.ts.map +1 -1
  15. package/dist/src/config/types.d.ts +2 -4
  16. package/dist/src/config/types.d.ts.map +1 -1
  17. package/dist/src/hooks/useAvailableWallets.d.ts +2 -3
  18. package/dist/src/hooks/useAvailableWallets.d.ts.map +1 -1
  19. package/dist/src/hooks/useFetchQuotes.d.ts.map +1 -1
  20. package/dist/src/hooks/useGasSlider.d.ts +2 -3
  21. package/dist/src/hooks/useGasSlider.d.ts.map +1 -1
  22. package/dist/src/sdklegacy/config/DEVNET.d.ts.map +1 -1
  23. package/dist/src/sdklegacy/config/MAINNET.d.ts.map +1 -1
  24. package/dist/src/sdklegacy/config/TESTNET.d.ts.map +1 -1
  25. package/dist/src/sdklegacy/types.d.ts +1 -22
  26. package/dist/src/sdklegacy/types.d.ts.map +1 -1
  27. package/dist/src/sdklegacy/utils.d.ts +0 -2
  28. package/dist/src/sdklegacy/utils.d.ts.map +1 -1
  29. package/dist/src/store/transferInput.d.ts +1 -1
  30. package/dist/src/store/transferInput.d.ts.map +1 -1
  31. package/dist/src/store/wallet.d.ts +3 -3
  32. package/dist/src/store/wallet.d.ts.map +1 -1
  33. package/dist/src/utils/index.d.ts +2 -6
  34. package/dist/src/utils/index.d.ts.map +1 -1
  35. package/dist/src/utils/wallet/index.d.ts +5 -5
  36. package/dist/src/utils/wallet/index.d.ts.map +1 -1
  37. package/dist/src/views/v2/Bridge/AssetPicker/SearchableList/SearchInput.d.ts +1 -0
  38. package/dist/src/views/v2/Bridge/AssetPicker/SearchableList/SearchInput.d.ts.map +1 -1
  39. package/dist/src/views/v2/Bridge/AssetPicker/SearchableList/index.d.ts.map +1 -1
  40. package/dist/src/views/v2/Bridge/AssetPicker/TokenList.d.ts.map +1 -1
  41. package/dist/src/views/v2/Bridge/Routes/SingleRoute.d.ts.map +1 -1
  42. package/dist/src/views/v2/Bridge/SwapInputs/index.d.ts.map +1 -1
  43. package/dist/src/views/v2/Bridge/WalletConnector/Sidebar.d.ts.map +1 -1
  44. package/dist/src/views/v2/Bridge/index.d.ts.map +1 -1
  45. package/dist/src/views/v2/Redeem/index.d.ts.map +1 -1
  46. package/lib/{account-BNwyiy8l.js → account-gVjkECaX.js} +1 -1
  47. package/lib/{account-DwyagzkO.mjs → account-k-CXVcvA.mjs} +3 -3
  48. package/lib/{add-CaAYnJ3P.mjs → add-5JNYtbn0.mjs} +1 -1
  49. package/lib/{add-BTLwOvOZ.js → add-l7uMi5Qp.js} +1 -1
  50. package/lib/{address-fP2co-yA.mjs → address-BJNAPSnr.mjs} +1 -1
  51. package/lib/{address-DboettO4.mjs → address-ByLIzxVb.mjs} +1 -1
  52. package/lib/{address-CCed-aPr.js → address-CSWlEusF.js} +1 -1
  53. package/lib/{address-XILx3C42.mjs → address-CrYNZ_Nj.mjs} +44 -36
  54. package/lib/{address-DQaI4gj3.js → address-DGYJWkFz.js} +1 -1
  55. package/lib/{address-Dj55KIoo.js → address-DfgK_jn7.js} +1 -1
  56. package/lib/{all-wallets-g1PHj0ct.js → all-wallets-Ci5Fl1c7.js} +1 -1
  57. package/lib/{all-wallets-n9txrQBL.mjs → all-wallets-DFuKxB4Z.mjs} +1 -1
  58. package/lib/{app-store-XMImFsCe.mjs → app-store-B0IRo5Ld.mjs} +1 -1
  59. package/lib/{app-store-BNDHv08u.js → app-store-oBe0hgJk.js} +1 -1
  60. package/lib/{apple-BeFuMsnp.js → apple-BeItYmiV.js} +1 -1
  61. package/lib/{apple-N72l5xzV.mjs → apple-C1253BqB.mjs} +1 -1
  62. package/lib/{aptos-CyWepkzo.js → aptos-CDC4GSyx.js} +1 -1
  63. package/lib/{aptos-0L0BHb3H.mjs → aptos-CiSMOF3v.mjs} +3 -3
  64. package/lib/{aptos-BqMeyqxb.js → aptos-IciOSw-S.js} +2 -2
  65. package/lib/{aptos-BS2IaWwv.mjs → aptos-M18090BQ.mjs} +7 -7
  66. package/lib/{arrow-bottom-CBSeMq1y.mjs → arrow-bottom-B5idrRLg.mjs} +1 -1
  67. package/lib/{arrow-bottom-9ZkDz94Q.js → arrow-bottom-DoPQ9bym.js} +1 -1
  68. package/lib/{arrow-bottom-circle-CwbLgL2F.mjs → arrow-bottom-circle-CUNc1d0l.mjs} +1 -1
  69. package/lib/{arrow-bottom-circle-DYiWMEvs.js → arrow-bottom-circle-_HzqlrgT.js} +1 -1
  70. package/lib/{arrow-left-C-UJV-mA.js → arrow-left-DKZtNEET.js} +1 -1
  71. package/lib/{arrow-left-D69MKmnb.mjs → arrow-left-D_6pmgeW.mjs} +1 -1
  72. package/lib/{arrow-right-BhLwNQPc.js → arrow-right-BETNsgrF.js} +1 -1
  73. package/lib/{arrow-right-7G9yNtBl.mjs → arrow-right-CfF4JKUl.mjs} +1 -1
  74. package/lib/{arrow-top-CahWAE97.mjs → arrow-top-ByBQSpF9.mjs} +1 -1
  75. package/lib/{arrow-top-Dg2It593.js → arrow-top-_t4PlGZq.js} +1 -1
  76. package/lib/{bank-DPmi3p8t.js → bank-CGWjW2wg.js} +1 -1
  77. package/lib/{bank-D8KRyeTE.mjs → bank-D-ByWKrE.mjs} +1 -1
  78. package/lib/{basic-DfPbK6fQ.mjs → basic-Bg1hSrRy.mjs} +2 -2
  79. package/lib/{basic-COPQaPYV.js → basic-CkPI-DHw.js} +1 -1
  80. package/lib/{blake2b-B3WiClFL.js → blake2b-CCJ4LnEi.js} +1 -1
  81. package/lib/{blake2b-aE1Y9SPf.mjs → blake2b-GH2Zzt65.mjs} +1 -1
  82. package/lib/{browser-CVFlPbA0.js → browser-C13v_3nT.js} +1 -1
  83. package/lib/{browser-DuIqgD1X.mjs → browser-D3rK1zZD.mjs} +1 -1
  84. package/lib/{browser-ponyfill-C02z10qo.js → browser-ponyfill-DqqaJGv_.js} +1 -1
  85. package/lib/{browser-ponyfill-DpeYhHUN.mjs → browser-ponyfill-JlME40Yz.mjs} +1 -1
  86. package/lib/{card-DjqoMS8I.mjs → card-C103Zr_s.mjs} +1 -1
  87. package/lib/{card-D_R3jF-Z.js → card-Cpnj4Pjv.js} +1 -1
  88. package/lib/{ccip-CrHO1dC-.js → ccip-CEnidIEN.js} +1 -1
  89. package/lib/{ccip-i_XXGSg2.mjs → ccip-DLDyY4LZ.mjs} +2 -2
  90. package/lib/{chain-BYKgc1Rl.js → chain-DTh9H2Cq.js} +1 -1
  91. package/lib/{chain-Yvw9MtzH.mjs → chain-Dq8acwHq.mjs} +1 -1
  92. package/lib/{checkmark-DOw999Ie.mjs → checkmark-CftBiE_o.mjs} +1 -1
  93. package/lib/{checkmark-bold-Dd3K5wgK.mjs → checkmark-bold-BiuLRYaw.mjs} +1 -1
  94. package/lib/{checkmark-bold-Cge3RMDQ.js → checkmark-bold-hTRkqdFs.js} +1 -1
  95. package/lib/{checkmark-DcyIdeXU.js → checkmark-zYR427D1.js} +1 -1
  96. package/lib/{chevron-bottom-DQOL6ddO.mjs → chevron-bottom-BbQ_m7D8.mjs} +1 -1
  97. package/lib/{chevron-bottom-DpWCBCtN.js → chevron-bottom-Dcr8Aaqj.js} +1 -1
  98. package/lib/{chevron-left-ijPY6xtL.js → chevron-left-B9PTmHIG.js} +1 -1
  99. package/lib/{chevron-left-CsfpWwbt.mjs → chevron-left-BRcODtkl.mjs} +1 -1
  100. package/lib/{chevron-right-DW2-OAem.mjs → chevron-right-C8T3XHHk.mjs} +1 -1
  101. package/lib/{chevron-right-D7f6VXeA.js → chevron-right-NjcF5i-l.js} +1 -1
  102. package/lib/{chevron-top-BFMGjavt.mjs → chevron-top-DDRuRQDi.mjs} +1 -1
  103. package/lib/{chevron-top-BKE9MT7D.js → chevron-top-qG-Co151.js} +1 -1
  104. package/lib/{chrome-store-ChoHQuXc.js → chrome-store-CMfQIa4X.js} +1 -1
  105. package/lib/{chrome-store-CqO7TK0g.mjs → chrome-store-y7e1zu4m.mjs} +1 -1
  106. package/lib/{chunk-KJH4KKG6-BK2qMrl4.js → chunk-KJH4KKG6-DOESg_ru.js} +1 -1
  107. package/lib/{chunk-KJH4KKG6-DS_5OXPM.mjs → chunk-KJH4KKG6-cfe1Zo7n.mjs} +2 -2
  108. package/lib/{clock-B5FRsuvL.mjs → clock-Ch4B9lTj.mjs} +1 -1
  109. package/lib/{clock-CPreF9T0.js → clock-D_HlSE4l.js} +1 -1
  110. package/lib/{close-S0uNyI0k.js → close-CqVBfuUL.js} +1 -1
  111. package/lib/{close-FqyWSE4_.mjs → close-DV97wtTx.mjs} +1 -1
  112. package/lib/{coinPlaceholder-Nsqc5lwS.js → coinPlaceholder-Ckw9njof.js} +1 -1
  113. package/lib/{coinPlaceholder-BZJlLM7Y.mjs → coinPlaceholder-DBEIEMLH.mjs} +1 -1
  114. package/lib/{compass-CzWYI8YS.js → compass-BRH1TNEt.js} +1 -1
  115. package/lib/{compass-C15Hbv8k.mjs → compass-DoE_r14r.mjs} +1 -1
  116. package/lib/constants-CBdrF4sv.js +1 -0
  117. package/lib/{constants-PdfK5ygX.mjs → constants-DX7-soSQ.mjs} +1 -1
  118. package/lib/{contract-9GZtHjlK.mjs → contract-D8VzaUQJ.mjs} +1 -1
  119. package/lib/{contract-B8rZnG63.js → contract-DYtnmT6F.js} +1 -1
  120. package/lib/{copy-DbrWU_Sn.mjs → copy-BUnH9Rmh.mjs} +1 -1
  121. package/lib/{copy-BcaWwGsu.js → copy-tsMwqd3u.js} +1 -1
  122. package/lib/{create-DFS178qc.js → create-BRB2U1qV.js} +1 -1
  123. package/lib/{create-BTamQq_m.mjs → create-CRa9FZnZ.mjs} +1 -1
  124. package/lib/{cursor-DPV4BhZQ.mjs → cursor-3mj3Pq0z.mjs} +1 -1
  125. package/lib/{cursor-C8Q0dpzU.js → cursor-5JnUhK1u.js} +1 -1
  126. package/lib/{cursor-transparent-_EEiSXcN.mjs → cursor-transparent-BTemyRTO.mjs} +1 -1
  127. package/lib/{cursor-transparent-Bk2Pis3h.js → cursor-transparent-Cxt6oRht.js} +1 -1
  128. package/lib/{desktop-DIsvsF3d.js → desktop-BSL1tdXi.js} +1 -1
  129. package/lib/{desktop-D-l8jhsv.mjs → desktop-DvfmWO_R.mjs} +1 -1
  130. package/lib/{disconnect-CuuGsNn9.js → disconnect-C1bWgwV-.js} +1 -1
  131. package/lib/{disconnect-C_byJjKB.mjs → disconnect-Cxkdq6ir.mjs} +1 -1
  132. package/lib/{discord-BuyE-1NF.mjs → discord-CHx5Xb-9.mjs} +1 -1
  133. package/lib/{discord-Dw7t9AOU.js → discord-eKk83DRx.js} +1 -1
  134. package/lib/{etherscan-BpiPFsqX.js → etherscan-DunhJn-2.js} +1 -1
  135. package/lib/{etherscan-sT9lau-F.mjs → etherscan-YaFa04eY.mjs} +1 -1
  136. package/lib/{evm-rv7ZlROo.mjs → evm-B1mLJPQm.mjs} +9 -9
  137. package/lib/{evm-DWT3Nmuq.js → evm-BcBUJ9Y7.js} +2 -2
  138. package/lib/{evm-BtQQ6viH.js → evm-C_kkwF2N.js} +3 -3
  139. package/lib/{evm-PlOfGcwB.mjs → evm-Dzv24HTi.mjs} +9 -9
  140. package/lib/{exclamation-triangle-ca7edyAm.js → exclamation-triangle-Cb8oHsFl.js} +1 -1
  141. package/lib/{exclamation-triangle-DN4JC4tj.mjs → exclamation-triangle-DfZ9Dte5.mjs} +1 -1
  142. package/lib/executor.js +1 -1
  143. package/lib/executor.mjs +36 -36
  144. package/lib/{extension-B2NwQEJh.mjs → extension-DP-dDsSn.mjs} +1 -1
  145. package/lib/{extension-BT42HXRo.js → extension-DoOMA86h.js} +1 -1
  146. package/lib/{external-link-DUXVgd3Q.js → external-link-BqzHACi1.js} +1 -1
  147. package/lib/{external-link-DPxrE_1B.mjs → external-link-DyHJnsK8.mjs} +1 -1
  148. package/lib/{facebook-BwiFRhTy.js → facebook-9-sYpqWJ.js} +1 -1
  149. package/lib/{facebook-nlQKkoy4.mjs → facebook-fuN149kb.mjs} +1 -1
  150. package/lib/{farcaster-DIPlSB57.mjs → farcaster-CthcgW1p.mjs} +1 -1
  151. package/lib/{farcaster-B3iRAtGH.js → farcaster-DidNhku_.js} +1 -1
  152. package/lib/{filters-CADY0oT7.js → filters-ByT7XcVR.js} +1 -1
  153. package/lib/{filters-BqX98gdQ.mjs → filters-_l_bTNZK.mjs} +1 -1
  154. package/lib/{github-DCpNepXY.js → github-4qFP3ebJ.js} +1 -1
  155. package/lib/{github-i2fLJDcn.mjs → github-DLIZSSpT.mjs} +1 -1
  156. package/lib/{google-CjlC1jg5.js → google-CLB363tb.js} +1 -1
  157. package/lib/{google-RwvuhA_N.mjs → google-DsUwkwU7.mjs} +1 -1
  158. package/lib/{help-circle-CAJ7Vj6j.mjs → help-circle-DNIlqXM4.mjs} +1 -1
  159. package/lib/{help-circle-DbBRCuEk.js → help-circle-MHAS2jcg.js} +1 -1
  160. package/lib/hosted.js +1 -1
  161. package/lib/hosted.mjs +1 -1
  162. package/lib/{id-BGx-wQhp.mjs → id-Dcpxx5Sg.mjs} +1 -1
  163. package/lib/{id-D37VTwOD.js → id-DgC4wzlk.js} +1 -1
  164. package/lib/{image-CwP7FRuU.mjs → image-D0i9nEJa.mjs} +1 -1
  165. package/lib/{image-B6onBOl9.js → image-cNJf0UKs.js} +1 -1
  166. package/lib/{index-l-WipGzT.js → index--rEdlHs9.js} +1 -1
  167. package/lib/{index-lIqGH3dA.mjs → index-0V2bg9Sg.mjs} +2 -2
  168. package/lib/{index-C_onUkEJ.mjs → index-6NFOdkn_.mjs} +5 -5
  169. package/lib/{index-CaWaUq6Q.mjs → index-B6QoC8kC.mjs} +1 -1
  170. package/lib/{index-DFnrdKHz.mjs → index-B8CSnOaL.mjs} +4 -4
  171. package/lib/{index-Cxk2R-Am.mjs → index-BBwY_mLw.mjs} +9 -9
  172. package/lib/{index-D0EnJJ6x.js → index-BDN9fAFf.js} +1 -1
  173. package/lib/{index-Dkk8hroQ.js → index-BJjgo7T5.js} +1 -1
  174. package/lib/{index-DfErM9FS.mjs → index-BOmzGtQH.mjs} +10 -10
  175. package/lib/{index-hJ9bKuCY.js → index-Bn829hfx.js} +1 -1
  176. package/lib/{index-Du5REEg_.mjs → index-BsqWniHZ.mjs} +2 -2
  177. package/lib/{index-DkYpMDuW.mjs → index-BuMERF6V.mjs} +3 -3
  178. package/lib/{index-BLh5aG8-.mjs → index-BxR9BQdY.mjs} +5 -5
  179. package/lib/{index-Cf3S05FK.js → index-C9CCEaud.js} +1 -1
  180. package/lib/{index-C1_cSaXr.js → index-CAZoTTeF.js} +1 -1
  181. package/lib/{index-CYr_YvMH.js → index-CFikcYS0.js} +1 -1
  182. package/lib/{index-CS9iBnXX.mjs → index-CJXywlFV.mjs} +5 -5
  183. package/lib/{index-BEJqMcqT.mjs → index-CSf9Xnts.mjs} +5 -5
  184. package/lib/{index-Sice5Hou.js → index-CVY5OsmN.js} +2 -2
  185. package/lib/{index-CmW6KmMC.js → index-C_DPPfkk.js} +1 -1
  186. package/lib/index-CbF5x2NI.js +1 -0
  187. package/lib/{index-DS3hzy1U.js → index-Cj6R9JbK.js} +1 -1
  188. package/lib/{index-Bu-zI45T.js → index-CjojdPoR.js} +1 -1
  189. package/lib/{index-CNTjCcyR.mjs → index-Co1W4Raf.mjs} +16 -14
  190. package/lib/{index-5DMnZ3K9.mjs → index-CpYW6xKB.mjs} +5 -5
  191. package/lib/{index-M9Ba07as.mjs → index-CreVTM0z.mjs} +7 -7
  192. package/lib/{index-BrGsuxgs.js → index-Csb-_vqa.js} +1 -1
  193. package/lib/{index-DfLfvzB0.js → index-Cv26ujGL.js} +1 -1
  194. package/lib/{index-CYYDe2bl.mjs → index-Cvt-EnSZ.mjs} +1 -1
  195. package/lib/{index-lIhQvgZM.mjs → index-D0eLvswO.mjs} +1 -1
  196. package/lib/{index-1Jby0-yj.js → index-D4dCJIWy.js} +1 -1
  197. package/lib/{index-C1JhFb5_.mjs → index-D5Wl9ZPE.mjs} +4 -4
  198. package/lib/{index-CGQJxGGA.mjs → index-D8pyO0Ut.mjs} +78 -78
  199. package/lib/{index-DzS1Ll_Q.js → index-DLyteqgH.js} +1 -1
  200. package/lib/{index-6TUUk7Kw.mjs → index-DUoona4h.mjs} +4 -4
  201. package/lib/index-DVJDNZXX.js +304 -0
  202. package/lib/{index-D6bm6RN3.js → index-DZ0LaYyC.js} +1 -1
  203. package/lib/{index-CXxeK1L6.mjs → index-Dc_4R0qr.mjs} +18061 -18376
  204. package/lib/{index-CmpBCyPP.js → index-Dg_iItNp.js} +1 -1
  205. package/lib/{index-D2mvEBkB.mjs → index-Dy8-WjNf.mjs} +8 -8
  206. package/lib/{index-mQV1DqpZ.mjs → index-FyK0K3it.mjs} +14 -14
  207. package/lib/{index-uPUSKdDo.js → index-T00Tc9JN.js} +1 -1
  208. package/lib/{index-BRH2VboQ.mjs → index-WR7oDg9u.mjs} +6 -6
  209. package/lib/{index-jhd52i9j.js → index-aoDDl5Bh.js} +1 -1
  210. package/lib/{index-DxGwdrFn.js → index-iIndJffV.js} +1 -1
  211. package/lib/{index-DlCZRxQL.js → index-uqZQu-qU.js} +1 -1
  212. package/lib/{index.es-Dw6cvzlo.mjs → index.es-BodjtdqB.mjs} +4 -4
  213. package/lib/{index.es-BhVEumjV.mjs → index.es-CStVufqy.mjs} +6 -6
  214. package/lib/{index.es-Ck4NJOYT.js → index.es-DNfg_W4n.js} +1 -1
  215. package/lib/{index.es-B7jCb8zH.js → index.es-wGYpE9RX.js} +2 -2
  216. package/lib/index.js +1 -1
  217. package/lib/index.mjs +1 -1
  218. package/lib/{info-CTA_ADWS.mjs → info-Ccop_bq-.mjs} +1 -1
  219. package/lib/{info-BhMx7Zq6.js → info-DhtgwfZc.js} +1 -1
  220. package/lib/{info-circle-DN9B0Yi6.mjs → info-circle-CZvq1Bbl.mjs} +1 -1
  221. package/lib/{info-circle-nzb9zoU8.js → info-circle-DzGmwt4i.js} +1 -1
  222. package/lib/{lightbulb-BYt8eexq.js → lightbulb-C0-qKwLI.js} +1 -1
  223. package/lib/{lightbulb-CeL9clew.mjs → lightbulb-WpoJQkeo.mjs} +1 -1
  224. package/lib/{mail-BfIAmg2q.mjs → mail-D1rYl-hP.mjs} +1 -1
  225. package/lib/{mail-ouAgiQdL.js → mail-D2CE1lj4.js} +1 -1
  226. package/lib/mayan.js +1 -1
  227. package/lib/mayan.mjs +9 -9
  228. package/lib/{mint-DAd13kKg.mjs → mint-CDUlLJB4.mjs} +2 -2
  229. package/lib/{mint-CDSktsSe.js → mint-CyFSbOaj.js} +1 -1
  230. package/lib/{mobile-B210vkRD.mjs → mobile-D8slK1-I.mjs} +1 -1
  231. package/lib/{mobile-D7zXpqST.js → mobile-uBIPQ_3j.js} +1 -1
  232. package/lib/{more-V7n1plpv.mjs → more-DsX_s58K.mjs} +1 -1
  233. package/lib/{more-DCu8fdsU.js → more-Dy11lM4m.js} +1 -1
  234. package/lib/{native-B-Mq6Gpc.js → native-Bdd5l9MQ.js} +1 -1
  235. package/lib/{native-DciEZuil.mjs → native-D6oc9ERK.mjs} +1 -1
  236. package/lib/{network-placeholder-DTJGzSV6.js → network-placeholder-4XSy76qO.js} +1 -1
  237. package/lib/{network-placeholder-DfGVbCNl.mjs → network-placeholder-ClLYl9gN.mjs} +1 -1
  238. package/lib/{nftPlaceholder-DVPyjtCX.js → nftPlaceholder-Dtm_zH4E.js} +1 -1
  239. package/lib/{nftPlaceholder-DF43BHqh.mjs → nftPlaceholder-ilscJrWL.mjs} +1 -1
  240. package/lib/ntt.js +1 -1
  241. package/lib/ntt.mjs +10 -10
  242. package/lib/{off-BKTude1x.mjs → off-D3IDpfZg.mjs} +1 -1
  243. package/lib/{off-DVadjOgd.js → off-N7Q-H26y.js} +1 -1
  244. package/lib/{platform-BIdtdn6B.js → platform-C7YwgvxU.js} +1 -1
  245. package/lib/{platform-DRiO8Lpy.js → platform-CgqczEeE.js} +1 -1
  246. package/lib/{platform-jTR8zNGC.mjs → platform-Ck9W87gm.mjs} +4 -4
  247. package/lib/{platform-7iep_MVG.mjs → platform-CyoDzIPB.mjs} +4 -4
  248. package/lib/{platform-DBNuoVoL.js → platform-DbvllBcy.js} +1 -1
  249. package/lib/{platform-BnY9AR2a.mjs → platform-DkmFvjoG.mjs} +6 -6
  250. package/lib/{play-store-BCGoGVyc.js → play-store-2p9CBKz9.js} +1 -1
  251. package/lib/{play-store-yeOJdtps.mjs → play-store-Dnx6-DfM.mjs} +1 -1
  252. package/lib/{plus-Db3legXY.js → plus-CVTA7O2z.js} +1 -1
  253. package/lib/{plus-usr0h0Sg.mjs → plus-CngR-jD-.mjs} +1 -1
  254. package/lib/{provider-jsonrpc-1XU1LSFl.mjs → provider-jsonrpc-BVvalXMV.mjs} +2 -2
  255. package/lib/{provider-jsonrpc-Ftos7WiF.js → provider-jsonrpc-D033z3Mz.js} +1 -1
  256. package/lib/{qr-code-TxdsKI2-.js → qr-code-CJEqBG09.js} +1 -1
  257. package/lib/{qr-code-BHrMFAeD.mjs → qr-code-Ckqp2jcM.mjs} +1 -1
  258. package/lib/{recycle-horizontal-C029OirL.mjs → recycle-horizontal-BWbxp077.mjs} +1 -1
  259. package/lib/{recycle-horizontal-CV-Z-xr2.js → recycle-horizontal-CUMI_Frp.js} +1 -1
  260. package/lib/{refresh-BOyC5R7s.mjs → refresh-BA3qzC0t.mjs} +1 -1
  261. package/lib/{refresh-gknrXeiN.js → refresh-nBHl-Ex7.js} +1 -1
  262. package/lib/{reown-logo-E4Y6lFRH.mjs → reown-logo-BIs62gAK.mjs} +1 -1
  263. package/lib/{reown-logo-EEGXueyS.js → reown-logo-C0OFiwcD.js} +1 -1
  264. package/lib/{search-BgffY2-W.js → search-C4yW_e7h.js} +1 -1
  265. package/lib/{search-CS8TeAhL.mjs → search-DWkxod1G.mjs} +1 -1
  266. package/lib/{secp256k1-C5vdKPJ_.mjs → secp256k1-CzzYFHL9.mjs} +1 -1
  267. package/lib/{secp256k1-B4pP7t0Q.mjs → secp256k1-D5xGRPak.mjs} +1 -1
  268. package/lib/{secp256k1-vuensNa0.js → secp256k1-DJxiSxEG.js} +1 -1
  269. package/lib/{secp256k1-B8yo9NK3.js → secp256k1-DPyD-aqu.js} +1 -1
  270. package/lib/{send-DAp63gAc.mjs → send-B_-c6x6P.mjs} +1 -1
  271. package/lib/{send-DPZWMS7g.js → send-CgneLJ89.js} +1 -1
  272. package/lib/{signer-CjAhJiqS.js → signer-BZ3rTVnM.js} +1 -1
  273. package/lib/{signer-DJy6KKkU.mjs → signer-DIpGs_9B.mjs} +2 -2
  274. package/lib/{solana-B-yJpfRk.mjs → solana-AefmV-EX.mjs} +11 -11
  275. package/lib/solana-BHr-TCKL.js +1 -0
  276. package/lib/{solana-Cv5Nbmh4.js → solana-Cqhc10CM.js} +4 -4
  277. package/lib/solana-Dhrl0nvx.mjs +18 -0
  278. package/lib/{solanaEmbed.esm-Nb0f5Bcf.js → solanaEmbed.esm-CB_O5YXF.js} +1 -1
  279. package/lib/{solanaEmbed.esm-DyoMhGln.mjs → solanaEmbed.esm-DvSyh3Tl.mjs} +2 -2
  280. package/lib/src/WormholeConnect.d.ts.map +1 -1
  281. package/lib/src/components/Header.d.ts.map +1 -1
  282. package/lib/src/config/devnet/chains.d.ts.map +1 -1
  283. package/lib/src/config/mainnet/chains.d.ts.map +1 -1
  284. package/lib/src/config/testnet/chains.d.ts.map +1 -1
  285. package/lib/src/config/tokens.d.ts +1 -1
  286. package/lib/src/config/tokens.d.ts.map +1 -1
  287. package/lib/src/config/types.d.ts +2 -4
  288. package/lib/src/config/types.d.ts.map +1 -1
  289. package/lib/src/hooks/useAvailableWallets.d.ts +2 -3
  290. package/lib/src/hooks/useAvailableWallets.d.ts.map +1 -1
  291. package/lib/src/hooks/useFetchQuotes.d.ts.map +1 -1
  292. package/lib/src/hooks/useGasSlider.d.ts +2 -3
  293. package/lib/src/hooks/useGasSlider.d.ts.map +1 -1
  294. package/lib/src/sdklegacy/config/DEVNET.d.ts.map +1 -1
  295. package/lib/src/sdklegacy/config/MAINNET.d.ts.map +1 -1
  296. package/lib/src/sdklegacy/config/TESTNET.d.ts.map +1 -1
  297. package/lib/src/sdklegacy/types.d.ts +1 -22
  298. package/lib/src/sdklegacy/types.d.ts.map +1 -1
  299. package/lib/src/sdklegacy/utils.d.ts +0 -2
  300. package/lib/src/sdklegacy/utils.d.ts.map +1 -1
  301. package/lib/src/store/transferInput.d.ts +1 -1
  302. package/lib/src/store/transferInput.d.ts.map +1 -1
  303. package/lib/src/store/wallet.d.ts +3 -3
  304. package/lib/src/store/wallet.d.ts.map +1 -1
  305. package/lib/src/utils/index.d.ts +2 -6
  306. package/lib/src/utils/index.d.ts.map +1 -1
  307. package/lib/src/utils/wallet/index.d.ts +5 -5
  308. package/lib/src/utils/wallet/index.d.ts.map +1 -1
  309. package/lib/src/views/v2/Bridge/AssetPicker/SearchableList/SearchInput.d.ts +1 -0
  310. package/lib/src/views/v2/Bridge/AssetPicker/SearchableList/SearchInput.d.ts.map +1 -1
  311. package/lib/src/views/v2/Bridge/AssetPicker/SearchableList/index.d.ts.map +1 -1
  312. package/lib/src/views/v2/Bridge/AssetPicker/TokenList.d.ts.map +1 -1
  313. package/lib/src/views/v2/Bridge/Routes/SingleRoute.d.ts.map +1 -1
  314. package/lib/src/views/v2/Bridge/SwapInputs/index.d.ts.map +1 -1
  315. package/lib/src/views/v2/Bridge/WalletConnector/Sidebar.d.ts.map +1 -1
  316. package/lib/src/views/v2/Bridge/index.d.ts.map +1 -1
  317. package/lib/src/views/v2/Redeem/index.d.ts.map +1 -1
  318. package/lib/{sui-C4YuLBNP.mjs → sui-D17vikGB.mjs} +3 -3
  319. package/lib/{sui-CViWN23E.js → sui-OtX0-aiw.js} +1 -1
  320. package/lib/{sui-C4QOXfn4.mjs → sui-jsmS--zo.mjs} +8 -8
  321. package/lib/{sui-Do3J5v2h.js → sui-wX1yJDdB.js} +1 -1
  322. package/lib/{swapHorizontal-BXabxyWk.js → swapHorizontal-CaiPRfjP.js} +1 -1
  323. package/lib/{swapHorizontal-BAl7yPCe.mjs → swapHorizontal-I9IHNlcX.mjs} +1 -1
  324. package/lib/{swapHorizontalBold-2NjnySxd.js → swapHorizontalBold-COXm4Eoq.js} +1 -1
  325. package/lib/{swapHorizontalBold-CNpE1U1o.mjs → swapHorizontalBold-DjCg3Gvp.mjs} +1 -1
  326. package/lib/{swapHorizontalMedium-BwSIk8q4.js → swapHorizontalMedium-BufndsqW.js} +1 -1
  327. package/lib/{swapHorizontalMedium-D6igpWxG.mjs → swapHorizontalMedium-D5Op20PE.mjs} +1 -1
  328. package/lib/{swapHorizontalRoundedBold-DP63dC-o.js → swapHorizontalRoundedBold-DOhWyq65.js} +1 -1
  329. package/lib/{swapHorizontalRoundedBold-B6qi_uT4.mjs → swapHorizontalRoundedBold-DT-dVJCx.mjs} +1 -1
  330. package/lib/{swapVertical-DosujBg8.mjs → swapVertical--HMMmuaw.mjs} +1 -1
  331. package/lib/{swapVertical-CkN9z1k4.js → swapVertical-BC9LFE7N.js} +1 -1
  332. package/lib/{telegram-D3tmdhc2.mjs → telegram-CxCcJyxh.mjs} +1 -1
  333. package/lib/{telegram-CCqTguAZ.js → telegram-FZjehBdN.js} +1 -1
  334. package/lib/{three-dots-DIorrO14.mjs → three-dots-CuFQnzau.mjs} +1 -1
  335. package/lib/{three-dots-CES7HN37.js → three-dots-zFnxhtH1.js} +1 -1
  336. package/lib/{tokens-D3bLTygd.js → tokens-BBDYlW5N.js} +1 -1
  337. package/lib/{tokens-CU3HMDM6.mjs → tokens-Ro6NgarI.mjs} +3 -3
  338. package/lib/{twitch-CTYgEk87.mjs → twitch-Cn9a4jgU.mjs} +1 -1
  339. package/lib/{twitch-D34MsrHU.js → twitch-pwuV-z6u.js} +1 -1
  340. package/lib/{twitterIcon-DtgydUL9.js → twitterIcon-C5XFX-OQ.js} +1 -1
  341. package/lib/{twitterIcon-DGIe51hs.mjs → twitterIcon-D98sKvbq.mjs} +1 -1
  342. package/lib/{units-DGe2F5PR.js → units-BVg9f9bp.js} +1 -1
  343. package/lib/{units-Cik_7j3E.mjs → units-De4Es9C-.mjs} +2 -2
  344. package/lib/{unsignedTransaction-CQnHvnm6.js → unsignedTransaction-3gDumn1W.js} +1 -1
  345. package/lib/{unsignedTransaction-w2zI4bHP.mjs → unsignedTransaction-DmrfJNQf.mjs} +11 -11
  346. package/lib/{verify-DeO-Hik_.mjs → verify-BxlOfP9w.mjs} +1 -1
  347. package/lib/{verify-JdOdGlJW.js → verify-D1TEwpVN.js} +1 -1
  348. package/lib/{verify-filled-DDjscBOi.js → verify-filled-BrR7ST9b.js} +1 -1
  349. package/lib/{verify-filled-D3-Qs_-y.mjs → verify-filled-yMiXBbCQ.mjs} +1 -1
  350. package/lib/{w3m-modal-aad-Io6d.js → w3m-modal-BGlhUPJA.js} +1 -1
  351. package/lib/{w3m-modal-B0yhKMwq.mjs → w3m-modal-luSHEfx4.mjs} +2 -2
  352. package/lib/{wallet-yCXA67Qu.mjs → wallet-CEtYecn_.mjs} +1 -1
  353. package/lib/{wallet-BX_HNOiI.js → wallet-CvHL82h-.js} +1 -1
  354. package/lib/{wallet-placeholder-CP7SPblM.js → wallet-placeholder-C4f_-N7F.js} +1 -1
  355. package/lib/{wallet-placeholder-B3Z8IdVs.mjs → wallet-placeholder-Deq6znRH.mjs} +1 -1
  356. package/lib/{walletconnect-DIjBEyTX.mjs → walletconnect-BBY1yZEn.mjs} +1 -1
  357. package/lib/{walletconnect-DyRNFsK0.js → walletconnect-CbujsbqX.js} +1 -1
  358. package/lib/{warning-circle-CXFKWypw.mjs → warning-circle-cokTC_ks.mjs} +1 -1
  359. package/lib/{warning-circle-D8DVppzp.js → warning-circle-iBEa0DFJ.js} +1 -1
  360. package/lib/web3-CevzYKNd.mjs +34 -0
  361. package/lib/{web3-B9XPIqI6.js → web3-IDpqtkwB.js} +1 -1
  362. package/lib/{x-Xk8iBbmJ.mjs → x-CNsQuYZX.mjs} +1 -1
  363. package/lib/{x-B8n79hg8.js → x-FvnYgr2g.js} +1 -1
  364. package/package.json +25 -25
  365. package/dist/assets/index-C36A04gA.js +0 -1
  366. package/lib/constants-C24HBTfH.js +0 -1
  367. package/lib/index-CcYWzKmx.js +0 -1
  368. package/lib/index-DR9PpmKV.js +0 -304
  369. package/lib/solana-BduBLBMs.mjs +0 -18
  370. package/lib/solana-BsxuzgAi.js +0 -1
  371. package/lib/web3-B2F9atsZ.mjs +0 -34
@@ -1 +1 @@
1
- "use strict";var U=Object.defineProperty;var L=(n,i,t)=>i in n?U(n,i,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[i]=t;var c=(n,i,t)=>L(n,typeof i!="symbol"?i+"":i,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./address-CCed-aPr.js"),d=require("./index-hJ9bKuCY.js"),u=require("./index-1Jby0-yj.js"),D=require("./index-BrGsuxgs.js"),p=require("./web3-B9XPIqI6.js"),E=require("./unsignedTransaction-CQnHvnm6.js"),_=require("./chain-BYKgc1Rl.js"),F={version:"0.1.0",name:"wormhole_gateway",instructions:[{name:"initialize",accounts:[{name:"authority",isMut:!0,isSigner:!0},{name:"custodian",isMut:!0,isSigner:!1},{name:"tbtcMint",isMut:!1,isSigner:!1,docs:["TBTC Program's mint PDA address bump is saved in this program's config. Ordinarily, we would","not have to deserialize this account. But we do in this case to make sure the TBTC program","has been initialized before this program."]},{name:"wrappedTbtcMint",isMut:!1,isSigner:!1},{name:"wrappedTbtcToken",isMut:!0,isSigner:!1},{name:"tokenBridgeSender",isMut:!1,isSigner:!1,docs:["sign for transferring via Token Bridge program with a message."]},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1}],args:[{name:"mintingLimit",type:"u64"}]},{name:"changeAuthority",accounts:[{name:"custodian",isMut:!0,isSigner:!1},{name:"authority",isMut:!1,isSigner:!0},{name:"newAuthority",isMut:!1,isSigner:!1}],args:[]},{name:"cancelAuthorityChange",accounts:[{name:"custodian",isMut:!0,isSigner:!1},{name:"authority",isMut:!1,isSigner:!0}],args:[]},{name:"takeAuthority",accounts:[{name:"custodian",isMut:!0,isSigner:!1},{name:"pendingAuthority",isMut:!1,isSigner:!0}],args:[]},{name:"updateGatewayAddress",accounts:[{name:"custodian",isMut:!1,isSigner:!1},{name:"gatewayInfo",isMut:!0,isSigner:!1},{name:"authority",isMut:!0,isSigner:!0},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"args",type:{defined:"UpdateGatewayAddressArgs"}}]},{name:"updateMintingLimit",accounts:[{name:"custodian",isMut:!0,isSigner:!1},{name:"authority",isMut:!1,isSigner:!0}],args:[{name:"newLimit",type:"u64"}]},{name:"receiveTbtc",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"custodian",isMut:!0,isSigner:!1},{name:"postedVaa",isMut:!1,isSigner:!1},{name:"tokenBridgeClaim",isMut:!0,isSigner:!1,docs:["transfer. By checking whether this account exists is a short-circuit way of bailing out","early if this transfer has already been redeemed (as opposed to letting the Token Bridge","instruction fail)."]},{name:"wrappedTbtcToken",isMut:!0,isSigner:!1,docs:["Custody account."]},{name:"wrappedTbtcMint",isMut:!0,isSigner:!1,docs:["This mint is owned by the Wormhole Token Bridge program. This PDA address is stored in the","custodian account."]},{name:"tbtcMint",isMut:!0,isSigner:!1},{name:"recipientToken",isMut:!0,isSigner:!1,docs:["Token account for minted tBTC.","","NOTE: Because the recipient is encoded in the transfer message payload, we can check the","authority from the deserialized VAA. But we should still check whether the authority is the","zero address in access control."]},{name:"recipient",isMut:!1,isSigner:!1,docs:["be created for him."]},{name:"recipientWrappedToken",isMut:!0,isSigner:!1,docs:["The gateway will create an associated token account for the recipient if it doesn't exist.","","NOTE: When the minting limit increases, the recipient can use this token account to mint","tBTC using the deposit_wormhole_tbtc instruction."]},{name:"tbtcConfig",isMut:!1,isSigner:!1},{name:"tbtcMinterInfo",isMut:!1,isSigner:!1},{name:"tokenBridgeConfig",isMut:!1,isSigner:!1},{name:"tokenBridgeRegisteredEmitter",isMut:!1,isSigner:!1},{name:"tokenBridgeWrappedAsset",isMut:!1,isSigner:!1},{name:"tokenBridgeMintAuthority",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"tbtcProgram",isMut:!1,isSigner:!1},{name:"tokenBridgeProgram",isMut:!1,isSigner:!1},{name:"coreBridgeProgram",isMut:!1,isSigner:!1},{name:"associatedTokenProgram",isMut:!1,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"messageHash",type:{array:["u8",32]}}]},{name:"sendTbtcGateway",accounts:[{name:"custodian",isMut:!0,isSigner:!1},{name:"gatewayInfo",isMut:!1,isSigner:!1},{name:"wrappedTbtcToken",isMut:!0,isSigner:!1,docs:["Custody account."]},{name:"wrappedTbtcMint",isMut:!0,isSigner:!1},{name:"tbtcMint",isMut:!0,isSigner:!1},{name:"senderToken",isMut:!0,isSigner:!1},{name:"sender",isMut:!0,isSigner:!0},{name:"tokenBridgeConfig",isMut:!1,isSigner:!1},{name:"tokenBridgeWrappedAsset",isMut:!1,isSigner:!1},{name:"tokenBridgeTransferAuthority",isMut:!1,isSigner:!1},{name:"coreBridgeData",isMut:!0,isSigner:!1},{name:"coreMessage",isMut:!0,isSigner:!1},{name:"tokenBridgeCoreEmitter",isMut:!1,isSigner:!1},{name:"coreEmitterSequence",isMut:!0,isSigner:!1},{name:"coreFeeCollector",isMut:!0,isSigner:!1},{name:"clock",isMut:!1,isSigner:!1},{name:"tokenBridgeSender",isMut:!1,isSigner:!1,docs:["sign for transferring via Token Bridge program with a message."]},{name:"rent",isMut:!1,isSigner:!1},{name:"tokenBridgeProgram",isMut:!1,isSigner:!1},{name:"coreBridgeProgram",isMut:!1,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"args",type:{defined:"SendTbtcGatewayArgs"}}]},{name:"sendTbtcWrapped",accounts:[{name:"custodian",isMut:!0,isSigner:!1},{name:"wrappedTbtcToken",isMut:!0,isSigner:!1,docs:["Custody account."]},{name:"wrappedTbtcMint",isMut:!0,isSigner:!1},{name:"tbtcMint",isMut:!0,isSigner:!1},{name:"senderToken",isMut:!0,isSigner:!1},{name:"sender",isMut:!0,isSigner:!0},{name:"tokenBridgeConfig",isMut:!1,isSigner:!1},{name:"tokenBridgeWrappedAsset",isMut:!1,isSigner:!1},{name:"tokenBridgeTransferAuthority",isMut:!1,isSigner:!1},{name:"coreBridgeData",isMut:!0,isSigner:!1},{name:"coreMessage",isMut:!0,isSigner:!1},{name:"tokenBridgeCoreEmitter",isMut:!1,isSigner:!1},{name:"coreEmitterSequence",isMut:!0,isSigner:!1},{name:"coreFeeCollector",isMut:!0,isSigner:!1},{name:"clock",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"tokenBridgeProgram",isMut:!1,isSigner:!1},{name:"coreBridgeProgram",isMut:!1,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"args",type:{defined:"SendTbtcWrappedArgs"}}]},{name:"depositWormholeTbtc",accounts:[{name:"custodian",isMut:!0,isSigner:!1,docs:["NOTE: This account also acts as a minter for the TBTC program."]},{name:"wrappedTbtcToken",isMut:!0,isSigner:!1,docs:["This token account is owned by this program, whose mint is the wrapped TBTC mint. This PDA","address is stored in the custodian account."]},{name:"wrappedTbtcMint",isMut:!1,isSigner:!1,docs:["This mint is owned by the Wormhole Token Bridge program. This PDA address is stored in the","custodian account."]},{name:"tbtcMint",isMut:!0,isSigner:!1,docs:["This mint is owned by the TBTC program. This PDA address is stored in the custodian account."]},{name:"recipientWrappedToken",isMut:!0,isSigner:!1},{name:"recipientToken",isMut:!0,isSigner:!1},{name:"recipient",isMut:!1,isSigner:!0,docs:["This program requires that the owner of the TBTC token account sign for TBTC being minted","into his account."]},{name:"tbtcConfig",isMut:!1,isSigner:!1},{name:"tbtcMinterInfo",isMut:!1,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"tbtcProgram",isMut:!1,isSigner:!1}],args:[{name:"amount",type:"u64"}]}],accounts:[{name:"custodian",type:{kind:"struct",fields:[{name:"bump",type:"u8"},{name:"authority",type:"publicKey"},{name:"pendingAuthority",type:{option:"publicKey"}},{name:"tbtcMint",type:"publicKey"},{name:"wrappedTbtcMint",type:"publicKey"},{name:"wrappedTbtcToken",type:"publicKey"},{name:"tokenBridgeSender",type:"publicKey"},{name:"tokenBridgeSenderBump",type:"u8"},{name:"mintingLimit",type:"u64"},{name:"mintedAmount",type:"u64"}]}},{name:"GatewayInfo",type:{kind:"struct",fields:[{name:"bump",type:"u8"},{name:"address",type:{array:["u8",32]}}]}}],types:[{name:"UpdateGatewayAddressArgs",type:{kind:"struct",fields:[{name:"chain",type:"u16"},{name:"address",type:{array:["u8",32]}}]}},{name:"SendTbtcGatewayArgs",type:{kind:"struct",fields:[{name:"amount",type:"u64"},{name:"recipientChain",type:"u16"},{name:"recipient",type:{array:["u8",32]}},{name:"nonce",type:"u32"}]}},{name:"SendTbtcWrappedArgs",type:{kind:"struct",fields:[{name:"amount",type:"u64"},{name:"recipientChain",type:"u16"},{name:"recipient",type:{array:["u8",32]}},{name:"arbiterFee",type:"u64"},{name:"nonce",type:"u32"}]}}],events:[{name:"WormholeTbtcReceived",fields:[{name:"receiver",type:"publicKey",index:!1},{name:"amount",type:"u64",index:!1}]},{name:"WormholeTbtcSent",fields:[{name:"amount",type:"u64",index:!1},{name:"recipientChain",type:"u16",index:!1},{name:"gateway",type:{array:["u8",32]},index:!1},{name:"recipient",type:{array:["u8",32]},index:!1},{name:"arbiterFee",type:"u64",index:!1},{name:"nonce",type:"u32",index:!1}]},{name:"WormholeTbtcDeposited",fields:[{name:"depositor",type:"publicKey",index:!1},{name:"amount",type:"u64",index:!1}]},{name:"GatewayAddressUpdated",fields:[{name:"chain",type:"u16",index:!1},{name:"gateway",type:{array:["u8",32]},index:!1}]},{name:"MintingLimitUpdated",fields:[{name:"mintingLimit",type:"u64",index:!1}]}],errors:[{code:6016,name:"MintingLimitExceeded",msg:"Cannot mint more than the minting limit"},{code:6032,name:"IsNotAuthority",msg:"Only custodian authority is permitted for this action"},{code:6034,name:"IsNotPendingAuthority",msg:"Not valid pending authority to take authority"},{code:6036,name:"NoPendingAuthorityChange",msg:"No pending authority"},{code:6048,name:"ZeroRecipient",msg:"0x0 recipient not allowed"},{code:6064,name:"NotEnoughWrappedTbtc",msg:"Not enough wormhole tBTC in the gateway to bridge"},{code:6080,name:"ZeroAmount",msg:"Amount must not be 0"},{code:6112,name:"TransferAlreadyRedeemed",msg:"Token Bridge transfer already redeemed"},{code:6128,name:"InvalidEthereumTbtc",msg:"Token chain and address do not match Ethereum's tBTC"},{code:6144,name:"NoTbtcTransferred",msg:"No tBTC transferred"},{code:6160,name:"RecipientZeroAddress",msg:"0x0 receiver not allowed"},{code:6176,name:"MintedAmountUnderflow",msg:"Not enough minted by the gateway to satisfy sending tBTC"},{code:6178,name:"MintedAmountOverflow",msg:"Minted amount after deposit exceeds u64"}]};function W(n){return e.PublicKey.findProgramAddressSync([e.dist.Buffer.from("redeemer")],new e.PublicKey(n))[0]}function z(n,i){const t=e.dist.Buffer.alloc(8);return t.writeBigUInt64LE(i),e.PublicKey.findProgramAddressSync([e.dist.Buffer.from("msg"),t],new e.PublicKey(n))[0]}function Y(n,i){const t=e.dist.Buffer.alloc(2);return t.writeUInt16LE(e.toChainId(i)),e.PublicKey.findProgramAddressSync([e.dist.Buffer.from("gateway-info"),t],new e.PublicKey(n))[0]}const b=new e.PublicKey("Gj93RRt6QB7FjmyokAD5rcMAku7pq3Fk2Aa8y6nNbwsV");function $(){return e.PublicKey.findProgramAddressSync([e.dist.Buffer.from("config")],b)[0]}function H(n){return e.PublicKey.findProgramAddressSync([e.dist.Buffer.from("minter-info"),n.toBuffer()],b)[0]}const A=new e.PublicKey("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");new e.PublicKey("TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb");const P=new e.PublicKey("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");new e.PublicKey("So11111111111111111111111111111111111111112");new e.PublicKey("9pan9bMn5HatX4EJdBwg9VgCa7Uz5HL8N1m5D3NdXejP");class Z extends Error{constructor(i){super(i)}}class j extends Z{constructor(){super(...arguments),this.name="TokenOwnerOffCurveError"}}const Q=e.struct([e.u32("mintAuthorityOption"),p.publicKey("mintAuthority"),p.u64("supply"),e.u8("decimals"),p.bool("isInitialized"),e.u32("freezeAuthorityOption"),p.publicKey("freezeAuthority")]);Q.span;async function B(n,i,t=!1,a=A,s=P){if(!t&&!e.PublicKey.isOnCurve(i.toBuffer()))throw new j;const[r]=await e.PublicKey.findProgramAddress([i.toBuffer(),a.toBuffer(),n.toBuffer()],s);return r}function X(n,i,t,a,s=A,r=P){return J(n,i,t,a,e.dist.Buffer.alloc(0),s,r)}function J(n,i,t,a,s,r=A,o=P){const g=[{pubkey:n,isSigner:!0,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:a,isSigner:!1,isWritable:!1},{pubkey:e.SystemProgram.programId,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!1}];return new e.TransactionInstruction({keys:g,programId:o,data:s})}class y{constructor(i,t,a,s){c(this,"network");c(this,"chain");c(this,"connection");c(this,"contracts");c(this,"gateway");c(this,"tokenBridgeId");c(this,"coreBridgeId");if(this.network=i,this.chain=t,this.connection=a,this.contracts=s,this.network!=="Mainnet")throw new Error("TBTC is only supported on Mainnet");if(!this.contracts.tbtc)throw new Error("TBTC contract address is required");if(!this.contracts.tokenBridge)throw new Error("TokenBridge contract address is required");if(!this.contracts.coreBridge)throw new Error("CoreBridge contract address is required");this.gateway=new D.Program(F,this.contracts.tbtc,{connection:a}),this.tokenBridgeId=new e.PublicKey(this.contracts.tokenBridge),this.coreBridgeId=new e.PublicKey(this.contracts.coreBridge)}static async fromRpc(i,t){const[a,s]=await E.SolanaPlatform.chainFromRpc(i),r=t[s];if(r.network!==a)throw new Error(`Network mismatch: ${r.network} != ${a}`);return new y(a,s,i,r.contracts)}async*transfer(i,t,a){const s=new e.SolanaAddress(i).unwrap(),r=W(this.gateway.programId),{tbtcMint:o,wrappedTbtcToken:g,wrappedTbtcMint:m}=await this.gateway.account.custodian.fetch(r),w=u.deriveWrappedMetaKey(this.tokenBridgeId,m),l=u.deriveTokenBridgeConfigKey(this.tokenBridgeId),f=u.deriveAuthoritySignerKey(this.tokenBridgeId),C=d.deriveFeeCollectorKey(this.coreBridgeId),{sequence:S}=await d.getProgramSequenceTracker(this.connection,this.tokenBridgeId,this.coreBridgeId),k=z(this.gateway.programId,S),M=d.deriveWormholeBridgeDataKey(this.coreBridgeId),h=d.deriveWormholeEmitterKey(this.tokenBridgeId),T=d.deriveEmitterSequenceKey(h,this.coreBridgeId),x=Y(this.gateway.programId,t.chain),v=u.deriveSenderAccountKey(this.gateway.programId),I={amount:new e.bnExports.BN(a.toString()),recipientChain:e.toChainId(t.chain),recipient:[...t.address.toUniversalAddress().toUint8Array()],nonce:0},N=await B(o,s),q=e.tbtc.get(this.network,t.chain),K={custodian:r,wrappedTbtcToken:g,wrappedTbtcMint:m,tbtcMint:o,senderToken:N,sender:s,tokenBridgeConfig:l,tokenBridgeWrappedAsset:w,tokenBridgeTransferAuthority:f,coreBridgeData:M,coreMessage:k,tokenBridgeCoreEmitter:h,coreEmitterSequence:T,coreFeeCollector:C,clock:e.SYSVAR_CLOCK_PUBKEY,rent:e.SYSVAR_RENT_PUBKEY,tokenBridgeProgram:this.tokenBridgeId,coreBridgeProgram:this.coreBridgeId},O=q?await this.gateway.methods.sendTbtcGateway({...I}).accounts({...K,gatewayInfo:x,tokenBridgeSender:v}).instruction():await this.gateway.methods.sendTbtcWrapped({...I,arbiterFee:new e.bnExports.BN(0)}).accounts(K).instruction(),{blockhash:R}=await this.connection.getLatestBlockhash(),G=e.MessageV0.compile({instructions:[O],payerKey:s,recentBlockhash:R}),V=new e.VersionedTransaction(G);yield this.createUnsignedTransaction({transaction:V},"TBTCBridge.Send")}async*redeem(i,t){if(t.payloadName!=="GatewayTransfer")throw new Error("Invalid VAA payload");yield*new d.SolanaWormholeCore(this.network,this.chain,this.connection,this.contracts).postVaa(i,t);const s=[],r=new e.SolanaAddress(i).unwrap(),o=t.payload.payload.recipient.toNative(this.chain).unwrap(),g=W(this.gateway.programId),{tbtcMint:m,wrappedTbtcToken:w,wrappedTbtcMint:l}=await this.gateway.account.custodian.fetch(g),f=await B(m,o);await this.connection.getAccountInfo(f)||s.push(X(r,f,o,m));const S=u.deriveWrappedMetaKey(this.tokenBridgeId,l),k=await B(l,o);s.push(await this.gateway.methods.receiveTbtc([...t.hash]).accounts({payer:r,custodian:g,postedVaa:d.derivePostedVaaKey(this.coreBridgeId,e.dist.Buffer.from(t.hash)),tokenBridgeClaim:d.deriveClaimKey(this.tokenBridgeId,t.emitterAddress.toUint8Array(),e.toChainId(t.emitterChain),t.sequence),wrappedTbtcToken:w,wrappedTbtcMint:l,tbtcMint:m,recipientToken:f,recipient:o,recipientWrappedToken:k,tbtcConfig:$(),tbtcMinterInfo:H(g),tokenBridgeConfig:u.deriveTokenBridgeConfigKey(this.tokenBridgeId),tokenBridgeRegisteredEmitter:u.deriveEndpointKey(this.tokenBridgeId,e.toChainId(t.emitterChain),t.emitterAddress.toUint8Array()),tokenBridgeWrappedAsset:S,tokenBridgeMintAuthority:u.deriveMintAuthorityKey(this.tokenBridgeId),rent:e.SYSVAR_RENT_PUBKEY,tbtcProgram:b,tokenBridgeProgram:this.tokenBridgeId,coreBridgeProgram:this.coreBridgeId}).instruction());const{blockhash:M}=await this.connection.getLatestBlockhash(),h=e.MessageV0.compile({instructions:s,payerKey:r,recentBlockhash:M}),T=new e.VersionedTransaction(h);yield this.createUnsignedTransaction({transaction:T},"TBTCBridge.Send")}createUnsignedTransaction(i,t){return new E.SolanaUnsignedTransaction(i,this.network,this.chain,t,!1)}}_.registerProtocol(e._platform$1,"TBTCBridge",y);exports.SolanaTBTCBridge=y;
1
+ "use strict";var U=Object.defineProperty;var L=(n,i,t)=>i in n?U(n,i,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[i]=t;var c=(n,i,t)=>L(n,typeof i!="symbol"?i+"":i,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./address-CSWlEusF.js"),d=require("./index-Bn829hfx.js"),u=require("./index-D4dCJIWy.js"),D=require("./index-Csb-_vqa.js"),p=require("./web3-IDpqtkwB.js"),E=require("./unsignedTransaction-3gDumn1W.js"),_=require("./chain-DTh9H2Cq.js"),F={version:"0.1.0",name:"wormhole_gateway",instructions:[{name:"initialize",accounts:[{name:"authority",isMut:!0,isSigner:!0},{name:"custodian",isMut:!0,isSigner:!1},{name:"tbtcMint",isMut:!1,isSigner:!1,docs:["TBTC Program's mint PDA address bump is saved in this program's config. Ordinarily, we would","not have to deserialize this account. But we do in this case to make sure the TBTC program","has been initialized before this program."]},{name:"wrappedTbtcMint",isMut:!1,isSigner:!1},{name:"wrappedTbtcToken",isMut:!0,isSigner:!1},{name:"tokenBridgeSender",isMut:!1,isSigner:!1,docs:["sign for transferring via Token Bridge program with a message."]},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1}],args:[{name:"mintingLimit",type:"u64"}]},{name:"changeAuthority",accounts:[{name:"custodian",isMut:!0,isSigner:!1},{name:"authority",isMut:!1,isSigner:!0},{name:"newAuthority",isMut:!1,isSigner:!1}],args:[]},{name:"cancelAuthorityChange",accounts:[{name:"custodian",isMut:!0,isSigner:!1},{name:"authority",isMut:!1,isSigner:!0}],args:[]},{name:"takeAuthority",accounts:[{name:"custodian",isMut:!0,isSigner:!1},{name:"pendingAuthority",isMut:!1,isSigner:!0}],args:[]},{name:"updateGatewayAddress",accounts:[{name:"custodian",isMut:!1,isSigner:!1},{name:"gatewayInfo",isMut:!0,isSigner:!1},{name:"authority",isMut:!0,isSigner:!0},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"args",type:{defined:"UpdateGatewayAddressArgs"}}]},{name:"updateMintingLimit",accounts:[{name:"custodian",isMut:!0,isSigner:!1},{name:"authority",isMut:!1,isSigner:!0}],args:[{name:"newLimit",type:"u64"}]},{name:"receiveTbtc",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"custodian",isMut:!0,isSigner:!1},{name:"postedVaa",isMut:!1,isSigner:!1},{name:"tokenBridgeClaim",isMut:!0,isSigner:!1,docs:["transfer. By checking whether this account exists is a short-circuit way of bailing out","early if this transfer has already been redeemed (as opposed to letting the Token Bridge","instruction fail)."]},{name:"wrappedTbtcToken",isMut:!0,isSigner:!1,docs:["Custody account."]},{name:"wrappedTbtcMint",isMut:!0,isSigner:!1,docs:["This mint is owned by the Wormhole Token Bridge program. This PDA address is stored in the","custodian account."]},{name:"tbtcMint",isMut:!0,isSigner:!1},{name:"recipientToken",isMut:!0,isSigner:!1,docs:["Token account for minted tBTC.","","NOTE: Because the recipient is encoded in the transfer message payload, we can check the","authority from the deserialized VAA. But we should still check whether the authority is the","zero address in access control."]},{name:"recipient",isMut:!1,isSigner:!1,docs:["be created for him."]},{name:"recipientWrappedToken",isMut:!0,isSigner:!1,docs:["The gateway will create an associated token account for the recipient if it doesn't exist.","","NOTE: When the minting limit increases, the recipient can use this token account to mint","tBTC using the deposit_wormhole_tbtc instruction."]},{name:"tbtcConfig",isMut:!1,isSigner:!1},{name:"tbtcMinterInfo",isMut:!1,isSigner:!1},{name:"tokenBridgeConfig",isMut:!1,isSigner:!1},{name:"tokenBridgeRegisteredEmitter",isMut:!1,isSigner:!1},{name:"tokenBridgeWrappedAsset",isMut:!1,isSigner:!1},{name:"tokenBridgeMintAuthority",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"tbtcProgram",isMut:!1,isSigner:!1},{name:"tokenBridgeProgram",isMut:!1,isSigner:!1},{name:"coreBridgeProgram",isMut:!1,isSigner:!1},{name:"associatedTokenProgram",isMut:!1,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"messageHash",type:{array:["u8",32]}}]},{name:"sendTbtcGateway",accounts:[{name:"custodian",isMut:!0,isSigner:!1},{name:"gatewayInfo",isMut:!1,isSigner:!1},{name:"wrappedTbtcToken",isMut:!0,isSigner:!1,docs:["Custody account."]},{name:"wrappedTbtcMint",isMut:!0,isSigner:!1},{name:"tbtcMint",isMut:!0,isSigner:!1},{name:"senderToken",isMut:!0,isSigner:!1},{name:"sender",isMut:!0,isSigner:!0},{name:"tokenBridgeConfig",isMut:!1,isSigner:!1},{name:"tokenBridgeWrappedAsset",isMut:!1,isSigner:!1},{name:"tokenBridgeTransferAuthority",isMut:!1,isSigner:!1},{name:"coreBridgeData",isMut:!0,isSigner:!1},{name:"coreMessage",isMut:!0,isSigner:!1},{name:"tokenBridgeCoreEmitter",isMut:!1,isSigner:!1},{name:"coreEmitterSequence",isMut:!0,isSigner:!1},{name:"coreFeeCollector",isMut:!0,isSigner:!1},{name:"clock",isMut:!1,isSigner:!1},{name:"tokenBridgeSender",isMut:!1,isSigner:!1,docs:["sign for transferring via Token Bridge program with a message."]},{name:"rent",isMut:!1,isSigner:!1},{name:"tokenBridgeProgram",isMut:!1,isSigner:!1},{name:"coreBridgeProgram",isMut:!1,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"args",type:{defined:"SendTbtcGatewayArgs"}}]},{name:"sendTbtcWrapped",accounts:[{name:"custodian",isMut:!0,isSigner:!1},{name:"wrappedTbtcToken",isMut:!0,isSigner:!1,docs:["Custody account."]},{name:"wrappedTbtcMint",isMut:!0,isSigner:!1},{name:"tbtcMint",isMut:!0,isSigner:!1},{name:"senderToken",isMut:!0,isSigner:!1},{name:"sender",isMut:!0,isSigner:!0},{name:"tokenBridgeConfig",isMut:!1,isSigner:!1},{name:"tokenBridgeWrappedAsset",isMut:!1,isSigner:!1},{name:"tokenBridgeTransferAuthority",isMut:!1,isSigner:!1},{name:"coreBridgeData",isMut:!0,isSigner:!1},{name:"coreMessage",isMut:!0,isSigner:!1},{name:"tokenBridgeCoreEmitter",isMut:!1,isSigner:!1},{name:"coreEmitterSequence",isMut:!0,isSigner:!1},{name:"coreFeeCollector",isMut:!0,isSigner:!1},{name:"clock",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"tokenBridgeProgram",isMut:!1,isSigner:!1},{name:"coreBridgeProgram",isMut:!1,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"args",type:{defined:"SendTbtcWrappedArgs"}}]},{name:"depositWormholeTbtc",accounts:[{name:"custodian",isMut:!0,isSigner:!1,docs:["NOTE: This account also acts as a minter for the TBTC program."]},{name:"wrappedTbtcToken",isMut:!0,isSigner:!1,docs:["This token account is owned by this program, whose mint is the wrapped TBTC mint. This PDA","address is stored in the custodian account."]},{name:"wrappedTbtcMint",isMut:!1,isSigner:!1,docs:["This mint is owned by the Wormhole Token Bridge program. This PDA address is stored in the","custodian account."]},{name:"tbtcMint",isMut:!0,isSigner:!1,docs:["This mint is owned by the TBTC program. This PDA address is stored in the custodian account."]},{name:"recipientWrappedToken",isMut:!0,isSigner:!1},{name:"recipientToken",isMut:!0,isSigner:!1},{name:"recipient",isMut:!1,isSigner:!0,docs:["This program requires that the owner of the TBTC token account sign for TBTC being minted","into his account."]},{name:"tbtcConfig",isMut:!1,isSigner:!1},{name:"tbtcMinterInfo",isMut:!1,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"tbtcProgram",isMut:!1,isSigner:!1}],args:[{name:"amount",type:"u64"}]}],accounts:[{name:"custodian",type:{kind:"struct",fields:[{name:"bump",type:"u8"},{name:"authority",type:"publicKey"},{name:"pendingAuthority",type:{option:"publicKey"}},{name:"tbtcMint",type:"publicKey"},{name:"wrappedTbtcMint",type:"publicKey"},{name:"wrappedTbtcToken",type:"publicKey"},{name:"tokenBridgeSender",type:"publicKey"},{name:"tokenBridgeSenderBump",type:"u8"},{name:"mintingLimit",type:"u64"},{name:"mintedAmount",type:"u64"}]}},{name:"GatewayInfo",type:{kind:"struct",fields:[{name:"bump",type:"u8"},{name:"address",type:{array:["u8",32]}}]}}],types:[{name:"UpdateGatewayAddressArgs",type:{kind:"struct",fields:[{name:"chain",type:"u16"},{name:"address",type:{array:["u8",32]}}]}},{name:"SendTbtcGatewayArgs",type:{kind:"struct",fields:[{name:"amount",type:"u64"},{name:"recipientChain",type:"u16"},{name:"recipient",type:{array:["u8",32]}},{name:"nonce",type:"u32"}]}},{name:"SendTbtcWrappedArgs",type:{kind:"struct",fields:[{name:"amount",type:"u64"},{name:"recipientChain",type:"u16"},{name:"recipient",type:{array:["u8",32]}},{name:"arbiterFee",type:"u64"},{name:"nonce",type:"u32"}]}}],events:[{name:"WormholeTbtcReceived",fields:[{name:"receiver",type:"publicKey",index:!1},{name:"amount",type:"u64",index:!1}]},{name:"WormholeTbtcSent",fields:[{name:"amount",type:"u64",index:!1},{name:"recipientChain",type:"u16",index:!1},{name:"gateway",type:{array:["u8",32]},index:!1},{name:"recipient",type:{array:["u8",32]},index:!1},{name:"arbiterFee",type:"u64",index:!1},{name:"nonce",type:"u32",index:!1}]},{name:"WormholeTbtcDeposited",fields:[{name:"depositor",type:"publicKey",index:!1},{name:"amount",type:"u64",index:!1}]},{name:"GatewayAddressUpdated",fields:[{name:"chain",type:"u16",index:!1},{name:"gateway",type:{array:["u8",32]},index:!1}]},{name:"MintingLimitUpdated",fields:[{name:"mintingLimit",type:"u64",index:!1}]}],errors:[{code:6016,name:"MintingLimitExceeded",msg:"Cannot mint more than the minting limit"},{code:6032,name:"IsNotAuthority",msg:"Only custodian authority is permitted for this action"},{code:6034,name:"IsNotPendingAuthority",msg:"Not valid pending authority to take authority"},{code:6036,name:"NoPendingAuthorityChange",msg:"No pending authority"},{code:6048,name:"ZeroRecipient",msg:"0x0 recipient not allowed"},{code:6064,name:"NotEnoughWrappedTbtc",msg:"Not enough wormhole tBTC in the gateway to bridge"},{code:6080,name:"ZeroAmount",msg:"Amount must not be 0"},{code:6112,name:"TransferAlreadyRedeemed",msg:"Token Bridge transfer already redeemed"},{code:6128,name:"InvalidEthereumTbtc",msg:"Token chain and address do not match Ethereum's tBTC"},{code:6144,name:"NoTbtcTransferred",msg:"No tBTC transferred"},{code:6160,name:"RecipientZeroAddress",msg:"0x0 receiver not allowed"},{code:6176,name:"MintedAmountUnderflow",msg:"Not enough minted by the gateway to satisfy sending tBTC"},{code:6178,name:"MintedAmountOverflow",msg:"Minted amount after deposit exceeds u64"}]};function W(n){return e.PublicKey.findProgramAddressSync([e.dist.Buffer.from("redeemer")],new e.PublicKey(n))[0]}function z(n,i){const t=e.dist.Buffer.alloc(8);return t.writeBigUInt64LE(i),e.PublicKey.findProgramAddressSync([e.dist.Buffer.from("msg"),t],new e.PublicKey(n))[0]}function Y(n,i){const t=e.dist.Buffer.alloc(2);return t.writeUInt16LE(e.toChainId(i)),e.PublicKey.findProgramAddressSync([e.dist.Buffer.from("gateway-info"),t],new e.PublicKey(n))[0]}const b=new e.PublicKey("Gj93RRt6QB7FjmyokAD5rcMAku7pq3Fk2Aa8y6nNbwsV");function $(){return e.PublicKey.findProgramAddressSync([e.dist.Buffer.from("config")],b)[0]}function H(n){return e.PublicKey.findProgramAddressSync([e.dist.Buffer.from("minter-info"),n.toBuffer()],b)[0]}const A=new e.PublicKey("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");new e.PublicKey("TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb");const P=new e.PublicKey("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");new e.PublicKey("So11111111111111111111111111111111111111112");new e.PublicKey("9pan9bMn5HatX4EJdBwg9VgCa7Uz5HL8N1m5D3NdXejP");class Z extends Error{constructor(i){super(i)}}class j extends Z{constructor(){super(...arguments),this.name="TokenOwnerOffCurveError"}}const Q=e.struct([e.u32("mintAuthorityOption"),p.publicKey("mintAuthority"),p.u64("supply"),e.u8("decimals"),p.bool("isInitialized"),e.u32("freezeAuthorityOption"),p.publicKey("freezeAuthority")]);Q.span;async function B(n,i,t=!1,a=A,s=P){if(!t&&!e.PublicKey.isOnCurve(i.toBuffer()))throw new j;const[r]=await e.PublicKey.findProgramAddress([i.toBuffer(),a.toBuffer(),n.toBuffer()],s);return r}function X(n,i,t,a,s=A,r=P){return J(n,i,t,a,e.dist.Buffer.alloc(0),s,r)}function J(n,i,t,a,s,r=A,o=P){const g=[{pubkey:n,isSigner:!0,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:a,isSigner:!1,isWritable:!1},{pubkey:e.SystemProgram.programId,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!1}];return new e.TransactionInstruction({keys:g,programId:o,data:s})}class y{constructor(i,t,a,s){c(this,"network");c(this,"chain");c(this,"connection");c(this,"contracts");c(this,"gateway");c(this,"tokenBridgeId");c(this,"coreBridgeId");if(this.network=i,this.chain=t,this.connection=a,this.contracts=s,this.network!=="Mainnet")throw new Error("TBTC is only supported on Mainnet");if(!this.contracts.tbtc)throw new Error("TBTC contract address is required");if(!this.contracts.tokenBridge)throw new Error("TokenBridge contract address is required");if(!this.contracts.coreBridge)throw new Error("CoreBridge contract address is required");this.gateway=new D.Program(F,this.contracts.tbtc,{connection:a}),this.tokenBridgeId=new e.PublicKey(this.contracts.tokenBridge),this.coreBridgeId=new e.PublicKey(this.contracts.coreBridge)}static async fromRpc(i,t){const[a,s]=await E.SolanaPlatform.chainFromRpc(i),r=t[s];if(r.network!==a)throw new Error(`Network mismatch: ${r.network} != ${a}`);return new y(a,s,i,r.contracts)}async*transfer(i,t,a){const s=new e.SolanaAddress(i).unwrap(),r=W(this.gateway.programId),{tbtcMint:o,wrappedTbtcToken:g,wrappedTbtcMint:m}=await this.gateway.account.custodian.fetch(r),w=u.deriveWrappedMetaKey(this.tokenBridgeId,m),l=u.deriveTokenBridgeConfigKey(this.tokenBridgeId),f=u.deriveAuthoritySignerKey(this.tokenBridgeId),C=d.deriveFeeCollectorKey(this.coreBridgeId),{sequence:S}=await d.getProgramSequenceTracker(this.connection,this.tokenBridgeId,this.coreBridgeId),k=z(this.gateway.programId,S),M=d.deriveWormholeBridgeDataKey(this.coreBridgeId),h=d.deriveWormholeEmitterKey(this.tokenBridgeId),T=d.deriveEmitterSequenceKey(h,this.coreBridgeId),x=Y(this.gateway.programId,t.chain),v=u.deriveSenderAccountKey(this.gateway.programId),I={amount:new e.bnExports.BN(a.toString()),recipientChain:e.toChainId(t.chain),recipient:[...t.address.toUniversalAddress().toUint8Array()],nonce:0},N=await B(o,s),q=e.tbtc.get(this.network,t.chain),K={custodian:r,wrappedTbtcToken:g,wrappedTbtcMint:m,tbtcMint:o,senderToken:N,sender:s,tokenBridgeConfig:l,tokenBridgeWrappedAsset:w,tokenBridgeTransferAuthority:f,coreBridgeData:M,coreMessage:k,tokenBridgeCoreEmitter:h,coreEmitterSequence:T,coreFeeCollector:C,clock:e.SYSVAR_CLOCK_PUBKEY,rent:e.SYSVAR_RENT_PUBKEY,tokenBridgeProgram:this.tokenBridgeId,coreBridgeProgram:this.coreBridgeId},O=q?await this.gateway.methods.sendTbtcGateway({...I}).accounts({...K,gatewayInfo:x,tokenBridgeSender:v}).instruction():await this.gateway.methods.sendTbtcWrapped({...I,arbiterFee:new e.bnExports.BN(0)}).accounts(K).instruction(),{blockhash:R}=await this.connection.getLatestBlockhash(),G=e.MessageV0.compile({instructions:[O],payerKey:s,recentBlockhash:R}),V=new e.VersionedTransaction(G);yield this.createUnsignedTransaction({transaction:V},"TBTCBridge.Send")}async*redeem(i,t){if(t.payloadName!=="GatewayTransfer")throw new Error("Invalid VAA payload");yield*new d.SolanaWormholeCore(this.network,this.chain,this.connection,this.contracts).postVaa(i,t);const s=[],r=new e.SolanaAddress(i).unwrap(),o=t.payload.payload.recipient.toNative(this.chain).unwrap(),g=W(this.gateway.programId),{tbtcMint:m,wrappedTbtcToken:w,wrappedTbtcMint:l}=await this.gateway.account.custodian.fetch(g),f=await B(m,o);await this.connection.getAccountInfo(f)||s.push(X(r,f,o,m));const S=u.deriveWrappedMetaKey(this.tokenBridgeId,l),k=await B(l,o);s.push(await this.gateway.methods.receiveTbtc([...t.hash]).accounts({payer:r,custodian:g,postedVaa:d.derivePostedVaaKey(this.coreBridgeId,e.dist.Buffer.from(t.hash)),tokenBridgeClaim:d.deriveClaimKey(this.tokenBridgeId,t.emitterAddress.toUint8Array(),e.toChainId(t.emitterChain),t.sequence),wrappedTbtcToken:w,wrappedTbtcMint:l,tbtcMint:m,recipientToken:f,recipient:o,recipientWrappedToken:k,tbtcConfig:$(),tbtcMinterInfo:H(g),tokenBridgeConfig:u.deriveTokenBridgeConfigKey(this.tokenBridgeId),tokenBridgeRegisteredEmitter:u.deriveEndpointKey(this.tokenBridgeId,e.toChainId(t.emitterChain),t.emitterAddress.toUint8Array()),tokenBridgeWrappedAsset:S,tokenBridgeMintAuthority:u.deriveMintAuthorityKey(this.tokenBridgeId),rent:e.SYSVAR_RENT_PUBKEY,tbtcProgram:b,tokenBridgeProgram:this.tokenBridgeId,coreBridgeProgram:this.coreBridgeId}).instruction());const{blockhash:M}=await this.connection.getLatestBlockhash(),h=e.MessageV0.compile({instructions:s,payerKey:r,recentBlockhash:M}),T=new e.VersionedTransaction(h);yield this.createUnsignedTransaction({transaction:T},"TBTCBridge.Send")}createUnsignedTransaction(i,t){return new E.SolanaUnsignedTransaction(i,this.network,this.chain,t,!1)}}_.registerProtocol(e._platform$1,"TBTCBridge",y);exports.SolanaTBTCBridge=y;
@@ -1,4 +1,4 @@
1
- import { d as pe } from "./address-XILx3C42.mjs";
1
+ import { d as pe } from "./address-CrYNZ_Nj.mjs";
2
2
  const me = Symbol(), ee = Object.getPrototypeOf, Y = /* @__PURE__ */ new WeakMap(), he = (e) => e && (Y.has(e) ? Y.get(e) : ee(e) === Object.prototype || ee(e) === Array.prototype), ge = (e) => he(e) && e[me] || null, te = (e, t = !0) => {
3
3
  Y.set(e, t);
4
4
  }, z = {}, F = (e) => typeof e == "object" && e !== null, L = /* @__PURE__ */ new WeakMap(), V = /* @__PURE__ */ new WeakSet(), ye = (e = Object.is, t = (o, g) => new Proxy(o, g), s = (o) => F(o) && !V.has(o) && (Array.isArray(o) || !(Symbol.iterator in o)) && !(o instanceof WeakMap) && !(o instanceof WeakSet) && !(o instanceof Error) && !(o instanceof Number) && !(o instanceof Date) && !(o instanceof String) && !(o instanceof RegExp) && !(o instanceof ArrayBuffer), n = (o) => {
@@ -553,7 +553,7 @@ class $e {
553
553
  }
554
554
  async initUi() {
555
555
  if (typeof window < "u") {
556
- await import("./index-Du5REEg_.mjs");
556
+ await import("./index-BsqWniHZ.mjs");
557
557
  const t = document.createElement("wcm-modal");
558
558
  document.body.insertAdjacentElement("beforeend", t), b.setIsUiLoaded(!0);
559
559
  }
@@ -1,11 +1,11 @@
1
1
  var Z = Object.defineProperty;
2
2
  var j = (t, e, s) => e in t ? Z(t, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : t[e] = s;
3
3
  var y = (t, e, s) => j(t, typeof e != "symbol" ? e + "" : e, s);
4
- import { ae as u, ar as Y, aG as I, au as ee, d as M, an as O, as as ne, aX as E, G as N, a3 as se, b1 as b, D as x, b2 as T, b4 as ae, ao as te, cY as B, b3 as ie } from "./address-XILx3C42.mjs";
5
- import { P as _, c as U, i as D } from "./index-CaWaUq6Q.mjs";
6
- import { r as re } from "./chain-Yvw9MtzH.mjs";
7
- import { p as R, u as me, b as oe } from "./web3-B2F9atsZ.mjs";
8
- import { a as ue, S as le } from "./unsignedTransaction-w2zI4bHP.mjs";
4
+ import { af as u, as as Y, aG as I, av as ee, d as M, ao as O, at as ne, aX as E, G as N, a3 as se, b1 as b, D as x, b2 as T, b4 as ae, ap as te, cY as B, b3 as ie } from "./address-CrYNZ_Nj.mjs";
5
+ import { P as _, c as U, i as D } from "./index-B6QoC8kC.mjs";
6
+ import { r as re } from "./chain-Dq8acwHq.mjs";
7
+ import { p as R, u as me, b as oe } from "./web3-CevzYKNd.mjs";
8
+ import { a as ue, S as le } from "./unsignedTransaction-DmrfJNQf.mjs";
9
9
  const h = new u("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");
10
10
  new u("TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb");
11
11
  const A = new u("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");
@@ -1,4 +1,4 @@
1
- import { d as V, V as Jr, d6 as Qr, U as Xt, Y as ei, g as Vn, ae as q, ap as ti, an as Fn, aq as ni, aX as zn, bW as vt, d7 as ve, X as G, d8 as Je, as as qn, b2 as Gn } from "./address-XILx3C42.mjs";
1
+ import { d as V, V as Jr, d6 as Qr, U as Xt, Y as ei, g as Vn, af as q, aq as ti, ao as Fn, ar as ni, aX as zn, bW as vt, d7 as ve, X as G, d8 as Je, at as qn, b2 as Gn } from "./address-CrYNZ_Nj.mjs";
2
2
  function ya(r) {
3
3
  if (r !== void 0)
4
4
  return { connection: r };
@@ -1,11 +1,11 @@
1
1
  var A = Object.defineProperty;
2
2
  var B = (d, e, s) => e in d ? A(d, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : d[e] = s;
3
3
  var o = (d, e, s) => B(d, typeof e != "symbol" ? e + "" : e, s);
4
- import { y as g, l as p, w, x as u } from "./chunk-KJH4KKG6-DS_5OXPM.mjs";
5
- import { a1 as S, D as I, b4 as U, aO as D, a3 as f, G as l, cY as T } from "./address-XILx3C42.mjs";
6
- import { A as R } from "./platform-7iep_MVG.mjs";
4
+ import { y as g, l as p, w, x as u } from "./chunk-KJH4KKG6-cfe1Zo7n.mjs";
5
+ import { a1 as S, D as I, b4 as U, aO as D, a3 as f, G as l, cY as T } from "./address-CrYNZ_Nj.mjs";
6
+ import { A as R } from "./platform-CyoDzIPB.mjs";
7
7
  import { A as E } from "./unsignedTransaction-BDOQhqcZ.mjs";
8
- import { r as $ } from "./chain-Yvw9MtzH.mjs";
8
+ import { r as $ } from "./chain-Dq8acwHq.mjs";
9
9
  const N = [
10
10
  [
11
11
  "Mainnet",
@@ -1,7 +1,7 @@
1
- import { T as f, A as c } from "./unsignedTransaction-w2zI4bHP.mjs";
2
- import { c as K } from "./unsignedTransaction-w2zI4bHP.mjs";
3
- import { ae as e, ar as p, aG as s, au as O } from "./address-XILx3C42.mjs";
4
- import { p as o, u as m, b as A } from "./web3-B2F9atsZ.mjs";
1
+ import { T as f, A as c } from "./unsignedTransaction-DmrfJNQf.mjs";
2
+ import { c as K } from "./unsignedTransaction-DmrfJNQf.mjs";
3
+ import { af as s, as as p, aG as e, av as O } from "./address-CrYNZ_Nj.mjs";
4
+ import { p as o, u as m, b as A } from "./web3-CevzYKNd.mjs";
5
5
  class d extends Error {
6
6
  constructor(r) {
7
7
  super(r);
@@ -13,19 +13,19 @@ class l extends d {
13
13
  }
14
14
  }
15
15
  const y = p([
16
- s("mintAuthorityOption"),
16
+ e("mintAuthorityOption"),
17
17
  o("mintAuthority"),
18
18
  m("supply"),
19
19
  O("decimals"),
20
20
  A("isInitialized"),
21
- s("freezeAuthorityOption"),
21
+ e("freezeAuthorityOption"),
22
22
  o("freezeAuthority")
23
23
  ]);
24
24
  y.span;
25
- async function h(t, r, a = !1, u = f, n = c) {
26
- if (!a && !e.isOnCurve(r.toBuffer()))
25
+ async function h(t, r, a = !1, n = f, u = c) {
26
+ if (!a && !s.isOnCurve(r.toBuffer()))
27
27
  throw new l();
28
- const [i] = await e.findProgramAddress([r.toBuffer(), u.toBuffer(), t.toBuffer()], n);
28
+ const [i] = await s.findProgramAddress([r.toBuffer(), n.toBuffer(), t.toBuffer()], u);
29
29
  return i;
30
30
  }
31
31
  export {
@@ -1 +1 @@
1
- "use strict";var T=Object.defineProperty;var g=(s,e,t)=>e in s?T(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var i=(s,e,t)=>g(s,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./platform-DBNuoVoL.js"),u=require("./contract-B8rZnG63.js"),h=require("./chain-BYKgc1Rl.js"),a=require("./address-CCed-aPr.js"),v=require("./create-DFS178qc.js"),M=require("./unsignedTransaction-B7AZXsTD.js");class y{constructor(e,t,b,n){i(this,"network");i(this,"chain");i(this,"provider");i(this,"contracts");i(this,"chainId");i(this,"coreAddress");i(this,"core");i(this,"coreIface");this.network=e,this.chain=t,this.provider=b,this.contracts=n,this.chainId=a.networkChainToNativeChainId.get(e,t),this.coreIface=r.createInterface();const f=this.contracts.coreBridge;if(!f)throw new Error("Core bridge address not found");this.coreAddress=f,this.core=r.connect(f,b)}async getMessageFee(){return await this.core.messageFee.staticCall()}async getGuardianSetIndex(){return Number(await this.core.getCurrentGuardianSetIndex.staticCall())}async getGuardianSet(e){const t=await this.core.getGuardianSet(e);return{index:e,keys:t[0],expiry:t[1]}}static async fromRpc(e,t){const[b,n]=await l.EvmPlatform.chainFromRpc(e),f=t[n];if(f.network!==b)throw new Error(`Network mismatch: ${f.network} != ${b}`);return new y(b,n,e,f.contracts)}async*publishMessage(e,t,b,n){const f=new a.EvmAddress(e).toString(),d=await this.getMessageFee(),c=await this.core.publishMessage.populateTransaction(b,t,n,{value:d});yield this.createUnsignedTx(a.addFrom(c,f),"WormholeCore.publishMessage")}async*verifyMessage(e,t){const b=new a.EvmAddress(e).toString(),n=await this.core.parseAndVerifyVM.populateTransaction(a.serialize(t));yield this.createUnsignedTx(a.addFrom(n,b),"WormholeCore.verifyMessage")}async parseTransaction(e){const t=await this.provider.getTransactionReceipt(e);return t===null?[]:t.logs.filter(b=>b.address===this.coreAddress).map(b=>{const{topics:n,data:f}=b,d=this.coreIface.parseLog({topics:n.slice(),data:f});if(d===null)return;const c=new a.EvmAddress(d.args.sender);return{chain:this.chain,emitter:c.toUniversalAddress(),sequence:d.args.sequence}}).filter(a.isWormholeMessageId)}async parseMessages(e){const t=await this.provider.getTransactionReceipt(e);if(t===null)throw new Error("Could not get transaction receipt");const b=await this.getGuardianSetIndex();return t.logs.filter(n=>n.address===this.coreAddress).map(n=>{const{topics:f,data:d}=n,c=this.coreIface.parseLog({topics:f.slice(),data:d});if(c===null)return null;const m=new a.EvmAddress(c.args.sender);return v.createVAA("Uint8Array",{guardianSet:b,timestamp:0,emitterChain:this.chain,emitterAddress:m.toUniversalAddress(),consistencyLevel:Number(c.args.consistencyLevel),sequence:BigInt(c.args.sequence),nonce:Number(c.args.nonce),signatures:[],payload:a.hex.decode(c.args.payload)})}).filter(n=>!!n)}createUnsignedTx(e,t,b=!1){return new M.EvmUnsignedTransaction(a.addChainId(e,this.chainId),this.network,this.chain,t,b)}}const p=[{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"previousAdmin",type:"address"},{indexed:!1,internalType:"address",name:"newAdmin",type:"address"}],name:"AdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"beacon",type:"address"}],name:"BeaconUpgraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldContract",type:"address"},{indexed:!0,internalType:"address",name:"newContract",type:"address"}],name:"ContractUpgraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint32",name:"index",type:"uint32"}],name:"GuardianSetAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint64",name:"sequence",type:"uint64"},{indexed:!1,internalType:"uint32",name:"nonce",type:"uint32"},{indexed:!1,internalType:"bytes",name:"payload",type:"bytes"},{indexed:!1,internalType:"uint8",name:"consistencyLevel",type:"uint8"}],name:"LogMessagePublished",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"implementation",type:"address"}],name:"Upgraded",type:"event"},{stateMutability:"payable",type:"fallback"},{inputs:[],name:"chainId",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[],name:"evmChainId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentGuardianSetIndex",outputs:[{internalType:"uint32",name:"",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"index",type:"uint32"}],name:"getGuardianSet",outputs:[{components:[{internalType:"address[]",name:"keys",type:"address[]"},{internalType:"uint32",name:"expirationTime",type:"uint32"}],internalType:"struct Structs.GuardianSet",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[],name:"getGuardianSetExpiry",outputs:[{internalType:"uint32",name:"",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"hash",type:"bytes32"}],name:"governanceActionIsConsumed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"governanceChainId",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[],name:"governanceContract",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"isFork",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"impl",type:"address"}],name:"isInitialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"messageFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"emitter",type:"address"}],name:"nextSequence",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVM",type:"bytes"}],name:"parseAndVerifyVM",outputs:[{components:[{internalType:"uint8",name:"version",type:"uint8"},{internalType:"uint32",name:"timestamp",type:"uint32"},{internalType:"uint32",name:"nonce",type:"uint32"},{internalType:"uint16",name:"emitterChainId",type:"uint16"},{internalType:"bytes32",name:"emitterAddress",type:"bytes32"},{internalType:"uint64",name:"sequence",type:"uint64"},{internalType:"uint8",name:"consistencyLevel",type:"uint8"},{internalType:"bytes",name:"payload",type:"bytes"},{internalType:"uint32",name:"guardianSetIndex",type:"uint32"},{components:[{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"uint8",name:"guardianIndex",type:"uint8"}],internalType:"struct Structs.Signature[]",name:"signatures",type:"tuple[]"},{internalType:"bytes32",name:"hash",type:"bytes32"}],internalType:"struct Structs.VM",name:"vm",type:"tuple"},{internalType:"bool",name:"valid",type:"bool"},{internalType:"string",name:"reason",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"encodedUpgrade",type:"bytes"}],name:"parseContractUpgrade",outputs:[{components:[{internalType:"bytes32",name:"module",type:"bytes32"},{internalType:"uint8",name:"action",type:"uint8"},{internalType:"uint16",name:"chain",type:"uint16"},{internalType:"address",name:"newContract",type:"address"}],internalType:"struct GovernanceStructs.ContractUpgrade",name:"cu",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"encodedUpgrade",type:"bytes"}],name:"parseGuardianSetUpgrade",outputs:[{components:[{internalType:"bytes32",name:"module",type:"bytes32"},{internalType:"uint8",name:"action",type:"uint8"},{internalType:"uint16",name:"chain",type:"uint16"},{components:[{internalType:"address[]",name:"keys",type:"address[]"},{internalType:"uint32",name:"expirationTime",type:"uint32"}],internalType:"struct Structs.GuardianSet",name:"newGuardianSet",type:"tuple"},{internalType:"uint32",name:"newGuardianSetIndex",type:"uint32"}],internalType:"struct GovernanceStructs.GuardianSetUpgrade",name:"gsu",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"encodedRecoverChainId",type:"bytes"}],name:"parseRecoverChainId",outputs:[{components:[{internalType:"bytes32",name:"module",type:"bytes32"},{internalType:"uint8",name:"action",type:"uint8"},{internalType:"uint256",name:"evmChainId",type:"uint256"},{internalType:"uint16",name:"newChainId",type:"uint16"}],internalType:"struct GovernanceStructs.RecoverChainId",name:"rci",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"encodedSetMessageFee",type:"bytes"}],name:"parseSetMessageFee",outputs:[{components:[{internalType:"bytes32",name:"module",type:"bytes32"},{internalType:"uint8",name:"action",type:"uint8"},{internalType:"uint16",name:"chain",type:"uint16"},{internalType:"uint256",name:"messageFee",type:"uint256"}],internalType:"struct GovernanceStructs.SetMessageFee",name:"smf",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"encodedTransferFees",type:"bytes"}],name:"parseTransferFees",outputs:[{components:[{internalType:"bytes32",name:"module",type:"bytes32"},{internalType:"uint8",name:"action",type:"uint8"},{internalType:"uint16",name:"chain",type:"uint16"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes32",name:"recipient",type:"bytes32"}],internalType:"struct GovernanceStructs.TransferFees",name:"tf",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVM",type:"bytes"}],name:"parseVM",outputs:[{components:[{internalType:"uint8",name:"version",type:"uint8"},{internalType:"uint32",name:"timestamp",type:"uint32"},{internalType:"uint32",name:"nonce",type:"uint32"},{internalType:"uint16",name:"emitterChainId",type:"uint16"},{internalType:"bytes32",name:"emitterAddress",type:"bytes32"},{internalType:"uint64",name:"sequence",type:"uint64"},{internalType:"uint8",name:"consistencyLevel",type:"uint8"},{internalType:"bytes",name:"payload",type:"bytes"},{internalType:"uint32",name:"guardianSetIndex",type:"uint32"},{components:[{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"uint8",name:"guardianIndex",type:"uint8"}],internalType:"struct Structs.Signature[]",name:"signatures",type:"tuple[]"},{internalType:"bytes32",name:"hash",type:"bytes32"}],internalType:"struct Structs.VM",name:"vm",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint32",name:"nonce",type:"uint32"},{internalType:"bytes",name:"payload",type:"bytes"},{internalType:"uint8",name:"consistencyLevel",type:"uint8"}],name:"publishMessage",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"numGuardians",type:"uint256"}],name:"quorum",outputs:[{internalType:"uint256",name:"numSignaturesRequiredForQuorum",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"_vm",type:"bytes"}],name:"submitContractUpgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"_vm",type:"bytes"}],name:"submitNewGuardianSet",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"_vm",type:"bytes"}],name:"submitRecoverChainId",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"_vm",type:"bytes"}],name:"submitSetMessageFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"_vm",type:"bytes"}],name:"submitTransferFees",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"hash",type:"bytes32"},{components:[{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"uint8",name:"guardianIndex",type:"uint8"}],internalType:"struct Structs.Signature[]",name:"signatures",type:"tuple[]"},{components:[{internalType:"address[]",name:"keys",type:"address[]"},{internalType:"uint32",name:"expirationTime",type:"uint32"}],internalType:"struct Structs.GuardianSet",name:"guardianSet",type:"tuple"}],name:"verifySignatures",outputs:[{internalType:"bool",name:"valid",type:"bool"},{internalType:"string",name:"reason",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[{components:[{internalType:"uint8",name:"version",type:"uint8"},{internalType:"uint32",name:"timestamp",type:"uint32"},{internalType:"uint32",name:"nonce",type:"uint32"},{internalType:"uint16",name:"emitterChainId",type:"uint16"},{internalType:"bytes32",name:"emitterAddress",type:"bytes32"},{internalType:"uint64",name:"sequence",type:"uint64"},{internalType:"uint8",name:"consistencyLevel",type:"uint8"},{internalType:"bytes",name:"payload",type:"bytes"},{internalType:"uint32",name:"guardianSetIndex",type:"uint32"},{components:[{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"uint8",name:"guardianIndex",type:"uint8"}],internalType:"struct Structs.Signature[]",name:"signatures",type:"tuple[]"},{internalType:"bytes32",name:"hash",type:"bytes32"}],internalType:"struct Structs.VM",name:"vm",type:"tuple"}],name:"verifyVM",outputs:[{internalType:"bool",name:"valid",type:"bool"},{internalType:"string",name:"reason",type:"string"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],o="0x60808060405234610016576130a2908161001c8239f35b600080fdfe60806040526004361015610018575b366120d257612105565b60003560e01c80630319e59c146101e857806304ca84cf146101e3578063178149e7146101de5780631a90a219146101d95780631cfe7951146101d45780632c3c02a4146101cf5780634cf842b5146101ca5780634fdc60fa146101c5578063515f3247146101c05780635cb8cae2146101bb57806364d42b17146101b65780636606b4e0146101b15780638129fc1c146101ac578063875be02a146101a757806393df337e146101a25780639a8a05921461019d578063a0cce1b314610198578063a9e1189314610193578063b172b2221461018e578063b19a437e14610189578063c0fd8bde14610184578063cb4cfea81461017f578063d60b347f1461017a578063e039f22414610175578063eb8d3f1214610170578063f42bc6411461016b578063f8ce560a14610166578063f951975a146101615763fbe3c2cd0361000e576112d5565b61129d565b611277565b611203565b6111dd565b6111bc565b61117d565b611137565b6110d2565b610f96565b610f78565b610f50565b610d51565b610d2f565b610c78565b610b50565b610913565b6107c5565b6107a7565b6106d4565b61068e565b61063f565b6105fc565b61059b565b610577565b610559565b610476565b610409565b610363565b634e487b7160e01b600052604160045260246000fd5b608081019081106001600160401b0382111761021e57604052565b6101ed565b604081019081106001600160401b0382111761021e57604052565b60a081019081106001600160401b0382111761021e57604052565b606081019081106001600160401b0382111761021e57604052565b90601f801991011681019081106001600160401b0382111761021e57604052565b6040519061016082018281106001600160401b0382111761021e57604052565b604051906102c282610223565b565b6001600160401b03811161021e57601f01601f191660200190565b9291926102eb826102c4565b916102f96040519384610274565b829481845281830111610316578281602093846000960137010152565b600080fd5b9080601f8301121561031657816020610336933591016102df565b90565b602060031982011261031657600435906001600160401b038211610316576103369160040161031b565b346103165760a061037b61037636610339565b611dc4565b6080604051918051835260ff602082015116602084015261ffff60408201511660408401526060810151606084015201516080820152f35b906040810191805190604083528151809452606083019360208093019060005b8181106103ec5750505081015163ffffffff1691015290565b82516001600160a01b0316875295840195918401916001016103d3565b346103165761041f61041a36610339565b611b9f565b6040518091602082528051602083015260ff602082015116604083015261ffff604082015116606083015263ffffffff6080610469606084015160a08387015260c08601906103b3565b9201511660a08301520390f35b346103165761048436610339565b600854461461052757610513606061049e6105259361287e565b6104b06104aa8261185b565b906113b0565b61050a6104c060e0830151611e9d565b916104d163436f7265845114611459565b61050461014060408501926104e8468551146115ab565b015160005260056020526040600020600160ff19825416179055565b51612ca6565b015161ffff1690565b61ffff1661ffff196000541617600055565b005b60405162461bcd60e51b815260206004820152600a6024820152696e6f74206120666f726b60b01b6044820152606490fd5b34610316576000366003190112610316576020600754604051908152f35b3461031657600036600319011261031657602063ffffffff60035416604051908152f35b346103165760203660031901126103165760206105c8600435600052600560205260ff6040600020541690565b6040519015158152f35b600435906001600160a01b038216820361031657565b35906001600160a01b038216820361031657565b34610316576020366003190112610316576001600160a01b0361061d6105d2565b16600052600460205260206001600160401b0360406000205416604051908152f35b3461031657608061065761065236610339565b611a0c565b604051908051825260ff602082015116602083015261ffff6040820151166040830152606060018060a01b03910151166060820152f35b346103165760806106a66106a136610339565b611ce1565b6060604051918051835260ff602082015116602084015261ffff604082015116604084015201516060820152f35b34610316576106e236610339565b60085446036107735761076e60606106fc6105259361287e565b6107086104aa8261185b565b61076061014061071b60e0840151611a0c565b9261072c63436f72658551146113e0565b6104e861073e604086015161ffff1690565b61ffff61075861075160005461ffff1690565b61ffff1690565b91161461141d565b01516001600160a01b031690565b61163e565b60405162461bcd60e51b815260206004820152600c60248201526b696e76616c696420666f726b60a01b6044820152606490fd5b34610316576000366003190112610316576020600854604051908152f35b34610316576105256108d96107e16107dc36610339565b61287e565b6107ed6104aa8261185b565b6108cf6107fd60e0830151611b9f565b61080d63436f7265825114611459565b61084b61081f604083015161ffff1690565b61ffff61083261075160005461ffff1690565b911690811490816108f8575b81156108ef575b50611496565b6108a9610140608060608401936108668551515115156114d2565b01946104e8610879875163ffffffff1690565b63ffffffff6108a161089861089360035463ffffffff1690565b611534565b63ffffffff1690565b911614611549565b6108c06108bb60035463ffffffff1690565b612b24565b51825163ffffffff1690612c1b565b5163ffffffff1690565b63ffffffff1663ffffffff196003541617600355565b90501538610845565b905061090d61090960085446141590565b1590565b9061083e565b34610316576000806003193601126109cc577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b03168082526006602052604082205460ff16610991576001600160a01b03166000908152600660205260409020805460ff1916600117905561098e611f42565b80f35b60405162461bcd60e51b8152602060048201526013602482015272185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606490fd5b80fd5b6044359060ff8216820361031657565b359060ff8216820361031657565b6004359063ffffffff8216820361031657565b359063ffffffff8216820361031657565b359061ffff8216820361031657565b35906001600160401b038216820361031657565b6001600160401b03811161021e5760051b60200190565b81601f8201121561031657803590610a6282610a34565b92604092610a7284519586610274565b808552602091828087019260071b85010193818511610316578301915b848310610a9f5750505050505090565b60808383031261031657836080918751610ab881610203565b853581528286013583820152610acf8987016109df565b898201526060610ae08188016109df565b90820152815201920191610a8f565b60005b838110610b025750506000910152565b8181015183820152602001610af2565b90602091610b2b81518092818552858086019101610aef565b601f01601f1916010190565b6040906103369392151581528160208201520190610b12565b346103165760031960203682011261031657600435906001600160401b03908183116103165761016090833603011261031657610b8b610295565b90610b98836004016109df565b8252610ba660248401610a00565b6020830152610bb760448401610a00565b6040830152610bc860648401610a11565b606083015260848301356080830152610be360a48401610a20565b60a0830152610bf460c484016109df565b60c083015260e483013581811161031657610c15906004369186010161031b565b60e0830152610c276101048401610a00565b61010083015261012483013590811161031657610c6492610c516101449260043691840101610a4b565b61012084015201356101408201526123f9565b90610c7460405192839283610b37565b0390f35b3461031657610ce2610140610c8f6107dc36610339565b610c9b6104aa8261185b565b6104e8610cab60e0830151611dc4565b610cbb63436f7265825114611459565b604081015161ffff1690600095869586958695869561ffff610832610751895461ffff1690565b6080810151606090610d0c90610d009081906001600160a01b031681565b6001600160a01b031690565b91015190828215610d26575bf115610d215780f35b61159f565b506108fc610d18565b3461031657600036600319011261031657602061ffff60005416604051908152f35b3461031657600319606036820112610316576001600160401b0360243581811161031657610d83903690600401610a4b565b604435928284116103165760409084360301126103165760405191610da783610223565b8360040135908111610316578301923660238501121561031657600484013593610dd085610a34565b90610dde6040519283610274565b85825260209560248784019160051b8301019136831161031657602401905b828210610e26575050506024610c649592610e1a92865201610a00565b9083015260043561268d565b878091610e32846105e8565b815201910190610dfd565b90815180825260208080930193019160005b828110610e5d575050505090565b835180518652808301518684015260408082015160ff90811691880191909152606091820151169086015260809094019392810192600101610e4f565b805160ff1682529060208281015163ffffffff169082015260408281015163ffffffff169082015260608281015161ffff169082015260808201516080820152610ef460a083015160a08301906001600160401b03169052565b60c08281015160ff1690820152610f42610f1d60e08401516101608060e0860152840190610b12565b6101008481015163ffffffff1690840152610120808501519084830390850152610e3d565b916101408091015191015290565b3461031657610c74610f646107dc36610339565b604051918291602083526020830190610e9a565b34610316576000366003190112610316576020600154604051908152f35b606036600319011261031657610faa6109ed565b6001600160401b0360243581811161031657610fca90369060040161031b565b91610fd36109cf565b91600754340361107457336000526004602052806040600020541692600184019482861161106f57610c74957f6eb224fb001ed210e379b335e35efe88672a8ce935d981a6896b27ffdf52a3b293336000526004602052604060002091166001600160401b031982541617905561105260405192839233968885611f06565b0390a26040516001600160401b0390911681529081906020820190565b61151e565b60405162461bcd60e51b815260206004820152600b60248201526a696e76616c69642066656560a81b6044820152606490fd5b6110bd6103369492606083526060830190610e9a565b92151560208201526040818403910152610b12565b34610316576020366003190112610316576001600160401b03600435818111610316573660238201121561031657806004013591821161031657366024838301011161031657610c7491602461112892016121c5565b604093919351938493846110a7565b3461031657608061114f61114a36610339565b611e9d565b61ffff6060604051928051845260ff6020820151166020850152604081015160408501520151166060820152f35b34610316576020366003190112610316576001600160a01b0361119e6105d2565b166000526006602052602060ff604060002054166040519015158152f35b34610316576000366003190112610316576020600854604051904614158152f35b3461031657600036600319011261031657602060035463ffffffff60405191831c168152f35b346103165760606112166107dc36610339565b6112226104aa8261185b565b61126561014061123560e0840151611ce1565b9261124663436f72658551146113e0565b61ffff806040860151169060005416148061126c575b6104e89061141d565b0151600755005b50600854461461125c565b34610316576020366003190112610316576020611295600435612ac1565b604051908152f35b3461031657602036600319011261031657610c746112c16112bc6109ed565b611314565b6040519182916020835260208301906103b3565b3461031657600036600319011261031657602061ffff60005460101c16604051908152f35b6040519061130782610223565b6000602083606081520152565b63ffffffff906113226112fa565b50166000526020600281526040600020906040519161134083610223565b6040518083835491828152019083600052846000209060005b8181106113935750505061033693928261137a611387946001940382610274565b8652015463ffffffff1690565b63ffffffff1690830152565b82546001600160a01b031684529286019260019283019201611359565b156113b85750565b60405162461bcd60e51b8152602060048201529081906113dc906024830190610b12565b0390fd5b156113e757565b60405162461bcd60e51b815260206004820152600e60248201526d496e76616c6964204d6f64756c6560901b6044820152606490fd5b1561142457565b60405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b21021b430b4b760991b6044820152606490fd5b1561146057565b60405162461bcd60e51b815260206004820152600e60248201526d696e76616c6964204d6f64756c6560901b6044820152606490fd5b1561149d57565b60405162461bcd60e51b815260206004820152600d60248201526c34b73b30b634b21021b430b4b760991b6044820152606490fd5b156114d957565b60405162461bcd60e51b815260206004820152601960248201527f6e657720677561726469616e2073657420697320656d707479000000000000006044820152606490fd5b634e487b7160e01b600052601160045260246000fd5b90600163ffffffff8093160191821161106f57565b1561155057565b60405162461bcd60e51b815260206004820152602160248201527f696e646578206d75737420696e63726561736520696e207374657073206f66206044820152603160f81b6064820152608490fd5b6040513d6000823e3d90fd5b156115b257565b60405162461bcd60e51b815260206004820152601160248201527034b73b30b634b21022ab269021b430b4b760791b6044820152606490fd5b60405190602082018281106001600160401b0382111761021e5760405260008252565b3d15611639573d9061161f826102c4565b9161162d6040519384610274565b82523d6000602084013e565b606090565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc908154813b1561170d577f2e4cc16c100f0b55e2df82ab0b1a7e294aa9cbd01b48fbaf622683fbc0507a499060018060a01b039081841694856bffffffffffffffffffffffff60a01b8316179055611707604051600080968192897fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a263204a7f0760e21b6020820190815260048252906116fb81610223565b51915af46104aa61160e565b169180a3565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b6040519061177582610259565b6022825261195d60f21b6040837f6e6f74207369676e65642062792063757272656e7420677561726469616e207360208201520152565b604051906117b982610223565b60168252753bb937b7339033b7bb32b93730b731b29031b430b4b760511b6020830152565b604051906117eb82610223565b601982527f77726f6e6720676f7665726e616e636520636f6e7472616374000000000000006020830152565b6040519061182482610259565b6022825261195960f21b6040837f676f7665726e616e636520616374696f6e20616c726561647920636f6e73756d60208201520152565b611864816123f9565b9015611924575061010081015163ffffffff1663ffffffff61188e61089860035463ffffffff1690565b91160361191857606081015161ffff1661ffff6118b561075160005461ffff9060101c1690565b91160361190c57608081015160015403611900576101406118e6910151600052600560205260ff6040600020541690565b6118f5576001906103366115eb565b600090610336611817565b506000906103366117de565b506000906103366117ac565b50600090610336611768565b600092909150565b6040519061193982610203565b60006060838281528260208201528260408201520152565b906020820180921161106f57565b906001820180921161106f57565b906002820180921161106f57565b906004820180921161106f57565b906014820180921161106f57565b906008820180921161106f57565b90601f820180921161106f57565b9190820180921161106f57565b156119c757565b60405162461bcd60e51b815260206004820152601760248201527f696e76616c696420436f6e7472616374557067726164650000000000000000006044820152606490fd5b90611a1561192c565b91611a1f81613030565b8352611a3e600160ff611a3184612e51565b16806020870152146119c0565b61ffff611a4a82612ee8565b1660408401526043815110611a79576043818101516001600160a01b0316606085015290516102c291146119c0565b60405162461bcd60e51b8152602060048201526015602482015274746f427974657333325f6f75744f66426f756e647360581b6044820152606490fd5b60405190611ac38261023e565b6000608083828152826020820152826040820152611adf6112fa565b60608201520152565b15611aef57565b60405162461bcd60e51b815260206004820152601a60248201527f696e76616c696420477561726469616e536574557067726164650000000000006044820152606490fd5b90611b3e82610a34565b611b4b6040519182610274565b8281528092611b5c601f1991610a34565b0190602036910137565b600019811461106f5760010190565b8051821015611b895760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b90611ba8611ab6565b91611bb281613030565b8352611bdb600260ff611bd4611bc785612e51565b60ff166020880181905290565b1614611ae8565b611bf2611be782612ee8565b61ffff166040850152565b611c0b611bfe82612fac565b63ffffffff166080850152565b611c1481612ebc565b60ff6028911691611c2483611b34565b92611c2d6102b5565b93845260006020850152606086019384526000935b818510611c575750506102c292505114611ae8565b909192611c8e81611c89611c6e611c949488612df5565b611c7a89875151611b75565b6001600160a01b039091169052565b611989565b94611b66565b93929190611c42565b15611ca457565b60405162461bcd60e51b8152602060048201526015602482015274696e76616c6964205365744d65737361676546656560581b6044820152606490fd5b90611cea61192c565b91611cf481613030565b8352611d13600360ff611d0684612e51565b1680602087015214611c9d565b61ffff611d1f82612ee8565b1660408401526043815110611d4457604381816102c293015160608601525114611c9d565b60405162461bcd60e51b8152602060048201526015602482015274746f55696e743235365f6f75744f66426f756e647360581b6044820152606490fd5b15611d8857565b60405162461bcd60e51b8152602060048201526014602482015273696e76616c6964205472616e736665724665657360601b6044820152606490fd5b9060405191611dd28361023e565b60008352602083019060008252604084019060008252606085019160008352611e20600460808801956000875288611e0986613030565b905260ff611e1686612e51565b1680915214611d81565b61ffff611e2c83612ee8565b1690526043815110611d44576102c29260639260438301519052611e4f82613040565b90525114611d81565b15611e5f57565b60405162461bcd60e51b81526020600482015260166024820152751a5b9d985b1a5908149958dbdd995c90da185a5b925960521b6044820152606490fd5b90611ea661192c565b91611eb081613030565b8352611ecf600560ff611ec284612e51565b1680602087015214611e58565b6041815110611d445760438160416102c29301516040860152611eff611ef482612f34565b61ffff166060870152565b5114611e58565b92611f3b9063ffffffff6060946001600160401b0360ff95999899168752166020860152608060408601526080850190610b12565b9416910152565b60085415611f4c57565b61ffff611f5c60005461ffff1690565b1660028103611f7057506102c26001612ca6565b60048103611f8357506102c26038612ca6565b60058103611f9657506102c26089612ca6565b60068103611faa57506102c261a86a612ca6565b60078103611fbe57506102c261a516612ca6565b60098103611fd457506102c2634e454152612ca6565b600a8103611fe757506102c260fa612ca6565b600b8103611ffb57506102c26102ae612ca6565b600c810361200f57506102c2610313612ca6565b600d810361202357506102c2612019612ca6565b600e810361203757506102c261a4ec612ca6565b6010810361204b57506102c2610504612ca6565b6011810361206157506102c2630e9ac0d6612ca6565b6017810361207557506102c261a4b1612ca6565b6018810361208857506102c2600a612ca6565b601903612099576102c26064612ca6565b60405162461bcd60e51b81526020600482015260116024820152702ab735b737bbb71031b430b4b71034b21760791b6044820152606490fd5b60405162461bcd60e51b815260206004820152600b60248201526a1d5b9cdd5c1c1bdc9d195960aa1b6044820152606490fd5b60405162461bcd60e51b815260206004820152602c60248201527f74686520576f726d686f6c6520636f6e747261637420646f6573206e6f74206160448201526b63636570742061737365747360a01b6064820152608490fd5b6040519061016082018281106001600160401b0382111761021e57604052816101406000918281528260208201528260408201528260608201528260808201528260a08201528260c0820152606060e08201528261010082015260606101208201520152565b6107dc906121dd926121d561215f565b5036916102df565b906121e782612325565b9091565b94929060339796949263ffffffff60e01b809260e01b16875260e01b16600486015261ffff60f01b9060f01b166008850152600a8401526001600160401b0360c01b9060c01b16602a83015260ff60f81b9060f81b1660328201526122598251809360208685019101610aef565b010190565b6040519061226b82610223565b601a82527f766d2e6861736820646f65736e2774206d6174636820626f64790000000000006020830152565b604051906122a482610223565b60148252731a5b9d985b1a590819dd585c991a585b881cd95d60621b6020830152565b604051906122d482610223565b601882527f677561726469616e2073657420686173206578706972656400000000000000006020830152565b6040519061230d82610223565b60098252686e6f2071756f72756d60b81b6020830152565b610100810161233b6112bc825163ffffffff1690565b90815151156123eb575163ffffffff1661235d61089860035463ffffffff1690565b63ffffffff809216141590816123ce575b506123c1576101208201805151612386835151612ac1565b116123b35761014061239c93015190519061268d565b90156123ae57506001906103366115eb565b600091565b505050600090610336612300565b50506000906103366122c7565b90506123e1602083015163ffffffff1690565b429116103861236e565b505050600090610336612297565b6101008101906124106112bc835163ffffffff1690565b90612422602082015163ffffffff1690565b604082015163ffffffff169061243d606084015161ffff1690565b9161247a608085015161245a60a08701516001600160401b031690565b60c087015160ff169060e0880151926040519788966020880198896121eb565b039161248e601f1993848101835282610274565b519020906124b860405191826124ac60208201958660209181520190565b03908101835282610274565b5190209261014082019384510361255e578251511561254f575163ffffffff166124ea61089860035463ffffffff1690565b63ffffffff80921614159081612532575b506125245761012001805151612512835151612ac1565b116123b35761239c925190519061268d565b5050506000906103366122c7565b9050612545602084015163ffffffff1690565b42911610386124fb565b50505050600090610336612297565b5050505060009061033661225e565b1561257457565b60405162461bcd60e51b815260206004820152601f60248201527f65637265636f766572206661696c65642077697468207369676e6174757265006044820152606490fd5b156125c057565b60405162461bcd60e51b815260206004820152602360248201527f7369676e617475726520696e6469636573206d75737420626520617363656e64604482015262696e6760e81b6064820152608490fd5b1561261857565b60405162461bcd60e51b815260206004820152601c60248201527f677561726469616e20696e646578206f7574206f6620626f756e6473000000006044820152606490fd5b6040519061266a82610223565b60148252731593481cda59db985d1d5c99481a5b9d985b1a5960621b6020830152565b825151919260009291835b85518110156127b2576126ab8187611b75565b51604060006126bd8284015160ff1690565b8351602080860151945188815260ff93909316838201526040830191909152606082019390935281805260809060015afa15610d215760005160609190612723906001600160a01b03169761271389151561256d565b8415908115612795575b506125b9565b0194612771610d00612764612739895160ff1690565b986127488960ff8c1610612611565b61275e6127588951925160ff1690565b60ff1690565b90611b75565b516001600160a01b031690565b036127845761277f90611b66565b612698565b50505050505060009061033661265d565b90506127a48484015160ff1690565b60ff9182169116113861271d565b5050505050506001906103366115eb565b156127ca57565b60405162461bcd60e51b815260206004820152601760248201527f564d2076657273696f6e20696e636f6d70617469626c650000000000000000006044820152606490fd5b9061281982610a34565b6128266040519182610274565b8281528092612837601f1991610a34565b019060005b82811061284857505050565b60209061285361192c565b8282850101520161283c565b60ff601b9116019060ff821161106f57565b9190820391821161106f57565b9061288761215f565b9161289b61289482612e9c565b60ff168452565b6128b4600160ff6128ad865160ff1690565b16146127c3565b6128ce6128c082612f60565b63ffffffff16610100850152565b6128da61275882612eac565b6006906128e68161280f565b9061012086019182526000915b818310612a205750505090612a086129ec6129ca6129b661299961297f87612929612922612a199a8a51612871565b828a612d69565b602081519101206040516129578161294960208201948560209181520190565b03601f198101835282610274565b5190206101408c015261297a61296d828a612fbc565b63ffffffff1660208d0152565b61197b565b61297a61298c8289612fbc565b63ffffffff1660408c0152565b6129b16129a68288612f44565b61ffff1660608b0152565b61196d565b6129c08186613050565b6080890152611951565b6129e76129d78286612fd8565b6001600160401b031660a0890152565b611997565b612a036129f98285612ecc565b60ff1660c0880152565b61195f565b612a13818351612871565b91612d69565b60e0830152565b909192612ab4612a92612a73612a5784612a03612a40612aba978c612ecc565b6060612a4d8c8b51611b75565b51019060ff169052565b612a61818a613050565b612a6c898851611b75565b5152611951565b612a7d8189613050565b6020612a8a898851611b75565b510152611951565b612a03612aa7612aa2838a612ecc565b61285f565b6040612a4d898851611b75565b93611b66565b91906128f3565b610100811015612aea578060011b908082046002149015171561106f576003610336910461195f565b60405162461bcd60e51b8152602060048201526012602482015271746f6f206d616e7920677561726469616e7360701b6044820152606490fd5b63ffffffff62015180814216019080821161106f576102c29216600052600260205260016040600020019063ffffffff1663ffffffff19825416179055565b9080519081516001600160401b03811161021e5768010000000000000000811161021e578354818555808210612bf2575b506020809301612ba985600052602060002090565b60005b838110612bd7575050505001516001909101805463ffffffff191663ffffffff909216919091179055565b82516001600160a01b03168282015591850191600101612bac565b6000858152826020822092830192015b828110612c10575050612b94565b818155600101612c02565b9081515160005b818110612c485750509063ffffffff6102c2921660005260026020526040600020612b63565b83516001600160a01b0390612c5e908390611b75565b511615612c7357612c6e90611b66565b612c22565b60405162461bcd60e51b815260206004820152600b60248201526a496e76616c6964206b657960a81b6044820152606490fd5b468103612cb257600855565b60405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a5908195d9b50da185a5b925960721b6044820152606490fd5b15612cf357565b60405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606490fd5b15612d3057565b60405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606490fd5b91612d7e81612d77816119a5565b1015612cec565b612d948351612d8d83856119b3565b1115612d29565b80612dad57505050604051600081526020810160405290565b60405192601f821692831560051b80858701019484860193010101905b808410612de25750508252601f01601f191660405290565b9092835181526020809101930190612dca565b908151601482019081831161106f5710612e1457016020015160601c90565b60405162461bcd60e51b8152602060048201526015602482015274746f416464726573735f6f75744f66426f756e647360581b6044820152606490fd5b6021815110612e61576021015190565b60405162461bcd60e51b8152602060048201526013602482015272746f55696e74385f6f75744f66426f756e647360681b6044820152606490fd5b6001815110612e61576001015190565b6006815110612e61576006015190565b6028815110612e61576028015190565b908151600182019081831161106f5710612e6157016001015190565b6023815110612ef8576023015190565b60405162461bcd60e51b8152602060048201526014602482015273746f55696e7431365f6f75744f66426f756e647360601b6044820152606490fd5b6043815110612ef8576043015190565b908151600282019081831161106f5710612ef857016002015190565b6005815110612f70576005015190565b60405162461bcd60e51b8152602060048201526014602482015273746f55696e7433325f6f75744f66426f756e647360601b6044820152606490fd5b6027815110612f70576027015190565b908151600482019081831161106f5710612f7057016004015190565b908151600882019081831161106f5710612ff457016008015190565b60405162461bcd60e51b8152602060048201526014602482015273746f55696e7436345f6f75744f66426f756e647360601b6044820152606490fd5b6020815110611a79576020015190565b6063815110611a79576063015190565b908151602082019081831161106f5710611a795701602001519056fea2646970667358221220e01f3fc19a7b6f650a08aafb55409b8aa16f0ebf4a5804ec4ce7df76358d349364736f6c63430008130033",S=s=>s.length>1;class r extends l.ContractFactory{constructor(...e){S(e)?super(...e):super(p,o,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new u.Interface(p)}static connect(e,t){return new u.Contract(e,p,t)}}i(r,"bytecode",o),i(r,"abi",p);const w=Object.freeze(Object.defineProperty({__proto__:null,Implementation__factory:r},Symbol.toStringTag,{value:"Module"}));h.registerProtocol(a._platform,"WormholeCore",y);exports.EvmWormholeCore=y;exports.ethers_contracts=w;
1
+ "use strict";var T=Object.defineProperty;var g=(s,e,t)=>e in s?T(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var i=(s,e,t)=>g(s,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./platform-DbvllBcy.js"),u=require("./contract-DYtnmT6F.js"),h=require("./chain-DTh9H2Cq.js"),a=require("./address-CSWlEusF.js"),v=require("./create-BRB2U1qV.js"),M=require("./unsignedTransaction-B7AZXsTD.js");class y{constructor(e,t,b,n){i(this,"network");i(this,"chain");i(this,"provider");i(this,"contracts");i(this,"chainId");i(this,"coreAddress");i(this,"core");i(this,"coreIface");this.network=e,this.chain=t,this.provider=b,this.contracts=n,this.chainId=a.networkChainToNativeChainId.get(e,t),this.coreIface=r.createInterface();const f=this.contracts.coreBridge;if(!f)throw new Error("Core bridge address not found");this.coreAddress=f,this.core=r.connect(f,b)}async getMessageFee(){return await this.core.messageFee.staticCall()}async getGuardianSetIndex(){return Number(await this.core.getCurrentGuardianSetIndex.staticCall())}async getGuardianSet(e){const t=await this.core.getGuardianSet(e);return{index:e,keys:t[0],expiry:t[1]}}static async fromRpc(e,t){const[b,n]=await l.EvmPlatform.chainFromRpc(e),f=t[n];if(f.network!==b)throw new Error(`Network mismatch: ${f.network} != ${b}`);return new y(b,n,e,f.contracts)}async*publishMessage(e,t,b,n){const f=new a.EvmAddress(e).toString(),d=await this.getMessageFee(),c=await this.core.publishMessage.populateTransaction(b,t,n,{value:d});yield this.createUnsignedTx(a.addFrom(c,f),"WormholeCore.publishMessage")}async*verifyMessage(e,t){const b=new a.EvmAddress(e).toString(),n=await this.core.parseAndVerifyVM.populateTransaction(a.serialize(t));yield this.createUnsignedTx(a.addFrom(n,b),"WormholeCore.verifyMessage")}async parseTransaction(e){const t=await this.provider.getTransactionReceipt(e);return t===null?[]:t.logs.filter(b=>b.address===this.coreAddress).map(b=>{const{topics:n,data:f}=b,d=this.coreIface.parseLog({topics:n.slice(),data:f});if(d===null)return;const c=new a.EvmAddress(d.args.sender);return{chain:this.chain,emitter:c.toUniversalAddress(),sequence:d.args.sequence}}).filter(a.isWormholeMessageId)}async parseMessages(e){const t=await this.provider.getTransactionReceipt(e);if(t===null)throw new Error("Could not get transaction receipt");const b=await this.getGuardianSetIndex();return t.logs.filter(n=>n.address===this.coreAddress).map(n=>{const{topics:f,data:d}=n,c=this.coreIface.parseLog({topics:f.slice(),data:d});if(c===null)return null;const m=new a.EvmAddress(c.args.sender);return v.createVAA("Uint8Array",{guardianSet:b,timestamp:0,emitterChain:this.chain,emitterAddress:m.toUniversalAddress(),consistencyLevel:Number(c.args.consistencyLevel),sequence:BigInt(c.args.sequence),nonce:Number(c.args.nonce),signatures:[],payload:a.hex.decode(c.args.payload)})}).filter(n=>!!n)}createUnsignedTx(e,t,b=!1){return new M.EvmUnsignedTransaction(a.addChainId(e,this.chainId),this.network,this.chain,t,b)}}const p=[{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"previousAdmin",type:"address"},{indexed:!1,internalType:"address",name:"newAdmin",type:"address"}],name:"AdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"beacon",type:"address"}],name:"BeaconUpgraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldContract",type:"address"},{indexed:!0,internalType:"address",name:"newContract",type:"address"}],name:"ContractUpgraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint32",name:"index",type:"uint32"}],name:"GuardianSetAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint64",name:"sequence",type:"uint64"},{indexed:!1,internalType:"uint32",name:"nonce",type:"uint32"},{indexed:!1,internalType:"bytes",name:"payload",type:"bytes"},{indexed:!1,internalType:"uint8",name:"consistencyLevel",type:"uint8"}],name:"LogMessagePublished",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"implementation",type:"address"}],name:"Upgraded",type:"event"},{stateMutability:"payable",type:"fallback"},{inputs:[],name:"chainId",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[],name:"evmChainId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentGuardianSetIndex",outputs:[{internalType:"uint32",name:"",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"index",type:"uint32"}],name:"getGuardianSet",outputs:[{components:[{internalType:"address[]",name:"keys",type:"address[]"},{internalType:"uint32",name:"expirationTime",type:"uint32"}],internalType:"struct Structs.GuardianSet",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[],name:"getGuardianSetExpiry",outputs:[{internalType:"uint32",name:"",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"hash",type:"bytes32"}],name:"governanceActionIsConsumed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"governanceChainId",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[],name:"governanceContract",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"isFork",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"impl",type:"address"}],name:"isInitialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"messageFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"emitter",type:"address"}],name:"nextSequence",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVM",type:"bytes"}],name:"parseAndVerifyVM",outputs:[{components:[{internalType:"uint8",name:"version",type:"uint8"},{internalType:"uint32",name:"timestamp",type:"uint32"},{internalType:"uint32",name:"nonce",type:"uint32"},{internalType:"uint16",name:"emitterChainId",type:"uint16"},{internalType:"bytes32",name:"emitterAddress",type:"bytes32"},{internalType:"uint64",name:"sequence",type:"uint64"},{internalType:"uint8",name:"consistencyLevel",type:"uint8"},{internalType:"bytes",name:"payload",type:"bytes"},{internalType:"uint32",name:"guardianSetIndex",type:"uint32"},{components:[{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"uint8",name:"guardianIndex",type:"uint8"}],internalType:"struct Structs.Signature[]",name:"signatures",type:"tuple[]"},{internalType:"bytes32",name:"hash",type:"bytes32"}],internalType:"struct Structs.VM",name:"vm",type:"tuple"},{internalType:"bool",name:"valid",type:"bool"},{internalType:"string",name:"reason",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"encodedUpgrade",type:"bytes"}],name:"parseContractUpgrade",outputs:[{components:[{internalType:"bytes32",name:"module",type:"bytes32"},{internalType:"uint8",name:"action",type:"uint8"},{internalType:"uint16",name:"chain",type:"uint16"},{internalType:"address",name:"newContract",type:"address"}],internalType:"struct GovernanceStructs.ContractUpgrade",name:"cu",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"encodedUpgrade",type:"bytes"}],name:"parseGuardianSetUpgrade",outputs:[{components:[{internalType:"bytes32",name:"module",type:"bytes32"},{internalType:"uint8",name:"action",type:"uint8"},{internalType:"uint16",name:"chain",type:"uint16"},{components:[{internalType:"address[]",name:"keys",type:"address[]"},{internalType:"uint32",name:"expirationTime",type:"uint32"}],internalType:"struct Structs.GuardianSet",name:"newGuardianSet",type:"tuple"},{internalType:"uint32",name:"newGuardianSetIndex",type:"uint32"}],internalType:"struct GovernanceStructs.GuardianSetUpgrade",name:"gsu",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"encodedRecoverChainId",type:"bytes"}],name:"parseRecoverChainId",outputs:[{components:[{internalType:"bytes32",name:"module",type:"bytes32"},{internalType:"uint8",name:"action",type:"uint8"},{internalType:"uint256",name:"evmChainId",type:"uint256"},{internalType:"uint16",name:"newChainId",type:"uint16"}],internalType:"struct GovernanceStructs.RecoverChainId",name:"rci",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"encodedSetMessageFee",type:"bytes"}],name:"parseSetMessageFee",outputs:[{components:[{internalType:"bytes32",name:"module",type:"bytes32"},{internalType:"uint8",name:"action",type:"uint8"},{internalType:"uint16",name:"chain",type:"uint16"},{internalType:"uint256",name:"messageFee",type:"uint256"}],internalType:"struct GovernanceStructs.SetMessageFee",name:"smf",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"encodedTransferFees",type:"bytes"}],name:"parseTransferFees",outputs:[{components:[{internalType:"bytes32",name:"module",type:"bytes32"},{internalType:"uint8",name:"action",type:"uint8"},{internalType:"uint16",name:"chain",type:"uint16"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes32",name:"recipient",type:"bytes32"}],internalType:"struct GovernanceStructs.TransferFees",name:"tf",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVM",type:"bytes"}],name:"parseVM",outputs:[{components:[{internalType:"uint8",name:"version",type:"uint8"},{internalType:"uint32",name:"timestamp",type:"uint32"},{internalType:"uint32",name:"nonce",type:"uint32"},{internalType:"uint16",name:"emitterChainId",type:"uint16"},{internalType:"bytes32",name:"emitterAddress",type:"bytes32"},{internalType:"uint64",name:"sequence",type:"uint64"},{internalType:"uint8",name:"consistencyLevel",type:"uint8"},{internalType:"bytes",name:"payload",type:"bytes"},{internalType:"uint32",name:"guardianSetIndex",type:"uint32"},{components:[{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"uint8",name:"guardianIndex",type:"uint8"}],internalType:"struct Structs.Signature[]",name:"signatures",type:"tuple[]"},{internalType:"bytes32",name:"hash",type:"bytes32"}],internalType:"struct Structs.VM",name:"vm",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint32",name:"nonce",type:"uint32"},{internalType:"bytes",name:"payload",type:"bytes"},{internalType:"uint8",name:"consistencyLevel",type:"uint8"}],name:"publishMessage",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"numGuardians",type:"uint256"}],name:"quorum",outputs:[{internalType:"uint256",name:"numSignaturesRequiredForQuorum",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"_vm",type:"bytes"}],name:"submitContractUpgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"_vm",type:"bytes"}],name:"submitNewGuardianSet",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"_vm",type:"bytes"}],name:"submitRecoverChainId",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"_vm",type:"bytes"}],name:"submitSetMessageFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"_vm",type:"bytes"}],name:"submitTransferFees",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"hash",type:"bytes32"},{components:[{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"uint8",name:"guardianIndex",type:"uint8"}],internalType:"struct Structs.Signature[]",name:"signatures",type:"tuple[]"},{components:[{internalType:"address[]",name:"keys",type:"address[]"},{internalType:"uint32",name:"expirationTime",type:"uint32"}],internalType:"struct Structs.GuardianSet",name:"guardianSet",type:"tuple"}],name:"verifySignatures",outputs:[{internalType:"bool",name:"valid",type:"bool"},{internalType:"string",name:"reason",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[{components:[{internalType:"uint8",name:"version",type:"uint8"},{internalType:"uint32",name:"timestamp",type:"uint32"},{internalType:"uint32",name:"nonce",type:"uint32"},{internalType:"uint16",name:"emitterChainId",type:"uint16"},{internalType:"bytes32",name:"emitterAddress",type:"bytes32"},{internalType:"uint64",name:"sequence",type:"uint64"},{internalType:"uint8",name:"consistencyLevel",type:"uint8"},{internalType:"bytes",name:"payload",type:"bytes"},{internalType:"uint32",name:"guardianSetIndex",type:"uint32"},{components:[{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"uint8",name:"guardianIndex",type:"uint8"}],internalType:"struct Structs.Signature[]",name:"signatures",type:"tuple[]"},{internalType:"bytes32",name:"hash",type:"bytes32"}],internalType:"struct Structs.VM",name:"vm",type:"tuple"}],name:"verifyVM",outputs:[{internalType:"bool",name:"valid",type:"bool"},{internalType:"string",name:"reason",type:"string"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],o="0x60808060405234610016576130a2908161001c8239f35b600080fdfe60806040526004361015610018575b366120d257612105565b60003560e01c80630319e59c146101e857806304ca84cf146101e3578063178149e7146101de5780631a90a219146101d95780631cfe7951146101d45780632c3c02a4146101cf5780634cf842b5146101ca5780634fdc60fa146101c5578063515f3247146101c05780635cb8cae2146101bb57806364d42b17146101b65780636606b4e0146101b15780638129fc1c146101ac578063875be02a146101a757806393df337e146101a25780639a8a05921461019d578063a0cce1b314610198578063a9e1189314610193578063b172b2221461018e578063b19a437e14610189578063c0fd8bde14610184578063cb4cfea81461017f578063d60b347f1461017a578063e039f22414610175578063eb8d3f1214610170578063f42bc6411461016b578063f8ce560a14610166578063f951975a146101615763fbe3c2cd0361000e576112d5565b61129d565b611277565b611203565b6111dd565b6111bc565b61117d565b611137565b6110d2565b610f96565b610f78565b610f50565b610d51565b610d2f565b610c78565b610b50565b610913565b6107c5565b6107a7565b6106d4565b61068e565b61063f565b6105fc565b61059b565b610577565b610559565b610476565b610409565b610363565b634e487b7160e01b600052604160045260246000fd5b608081019081106001600160401b0382111761021e57604052565b6101ed565b604081019081106001600160401b0382111761021e57604052565b60a081019081106001600160401b0382111761021e57604052565b606081019081106001600160401b0382111761021e57604052565b90601f801991011681019081106001600160401b0382111761021e57604052565b6040519061016082018281106001600160401b0382111761021e57604052565b604051906102c282610223565b565b6001600160401b03811161021e57601f01601f191660200190565b9291926102eb826102c4565b916102f96040519384610274565b829481845281830111610316578281602093846000960137010152565b600080fd5b9080601f8301121561031657816020610336933591016102df565b90565b602060031982011261031657600435906001600160401b038211610316576103369160040161031b565b346103165760a061037b61037636610339565b611dc4565b6080604051918051835260ff602082015116602084015261ffff60408201511660408401526060810151606084015201516080820152f35b906040810191805190604083528151809452606083019360208093019060005b8181106103ec5750505081015163ffffffff1691015290565b82516001600160a01b0316875295840195918401916001016103d3565b346103165761041f61041a36610339565b611b9f565b6040518091602082528051602083015260ff602082015116604083015261ffff604082015116606083015263ffffffff6080610469606084015160a08387015260c08601906103b3565b9201511660a08301520390f35b346103165761048436610339565b600854461461052757610513606061049e6105259361287e565b6104b06104aa8261185b565b906113b0565b61050a6104c060e0830151611e9d565b916104d163436f7265845114611459565b61050461014060408501926104e8468551146115ab565b015160005260056020526040600020600160ff19825416179055565b51612ca6565b015161ffff1690565b61ffff1661ffff196000541617600055565b005b60405162461bcd60e51b815260206004820152600a6024820152696e6f74206120666f726b60b01b6044820152606490fd5b34610316576000366003190112610316576020600754604051908152f35b3461031657600036600319011261031657602063ffffffff60035416604051908152f35b346103165760203660031901126103165760206105c8600435600052600560205260ff6040600020541690565b6040519015158152f35b600435906001600160a01b038216820361031657565b35906001600160a01b038216820361031657565b34610316576020366003190112610316576001600160a01b0361061d6105d2565b16600052600460205260206001600160401b0360406000205416604051908152f35b3461031657608061065761065236610339565b611a0c565b604051908051825260ff602082015116602083015261ffff6040820151166040830152606060018060a01b03910151166060820152f35b346103165760806106a66106a136610339565b611ce1565b6060604051918051835260ff602082015116602084015261ffff604082015116604084015201516060820152f35b34610316576106e236610339565b60085446036107735761076e60606106fc6105259361287e565b6107086104aa8261185b565b61076061014061071b60e0840151611a0c565b9261072c63436f72658551146113e0565b6104e861073e604086015161ffff1690565b61ffff61075861075160005461ffff1690565b61ffff1690565b91161461141d565b01516001600160a01b031690565b61163e565b60405162461bcd60e51b815260206004820152600c60248201526b696e76616c696420666f726b60a01b6044820152606490fd5b34610316576000366003190112610316576020600854604051908152f35b34610316576105256108d96107e16107dc36610339565b61287e565b6107ed6104aa8261185b565b6108cf6107fd60e0830151611b9f565b61080d63436f7265825114611459565b61084b61081f604083015161ffff1690565b61ffff61083261075160005461ffff1690565b911690811490816108f8575b81156108ef575b50611496565b6108a9610140608060608401936108668551515115156114d2565b01946104e8610879875163ffffffff1690565b63ffffffff6108a161089861089360035463ffffffff1690565b611534565b63ffffffff1690565b911614611549565b6108c06108bb60035463ffffffff1690565b612b24565b51825163ffffffff1690612c1b565b5163ffffffff1690565b63ffffffff1663ffffffff196003541617600355565b90501538610845565b905061090d61090960085446141590565b1590565b9061083e565b34610316576000806003193601126109cc577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b03168082526006602052604082205460ff16610991576001600160a01b03166000908152600660205260409020805460ff1916600117905561098e611f42565b80f35b60405162461bcd60e51b8152602060048201526013602482015272185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606490fd5b80fd5b6044359060ff8216820361031657565b359060ff8216820361031657565b6004359063ffffffff8216820361031657565b359063ffffffff8216820361031657565b359061ffff8216820361031657565b35906001600160401b038216820361031657565b6001600160401b03811161021e5760051b60200190565b81601f8201121561031657803590610a6282610a34565b92604092610a7284519586610274565b808552602091828087019260071b85010193818511610316578301915b848310610a9f5750505050505090565b60808383031261031657836080918751610ab881610203565b853581528286013583820152610acf8987016109df565b898201526060610ae08188016109df565b90820152815201920191610a8f565b60005b838110610b025750506000910152565b8181015183820152602001610af2565b90602091610b2b81518092818552858086019101610aef565b601f01601f1916010190565b6040906103369392151581528160208201520190610b12565b346103165760031960203682011261031657600435906001600160401b03908183116103165761016090833603011261031657610b8b610295565b90610b98836004016109df565b8252610ba660248401610a00565b6020830152610bb760448401610a00565b6040830152610bc860648401610a11565b606083015260848301356080830152610be360a48401610a20565b60a0830152610bf460c484016109df565b60c083015260e483013581811161031657610c15906004369186010161031b565b60e0830152610c276101048401610a00565b61010083015261012483013590811161031657610c6492610c516101449260043691840101610a4b565b61012084015201356101408201526123f9565b90610c7460405192839283610b37565b0390f35b3461031657610ce2610140610c8f6107dc36610339565b610c9b6104aa8261185b565b6104e8610cab60e0830151611dc4565b610cbb63436f7265825114611459565b604081015161ffff1690600095869586958695869561ffff610832610751895461ffff1690565b6080810151606090610d0c90610d009081906001600160a01b031681565b6001600160a01b031690565b91015190828215610d26575bf115610d215780f35b61159f565b506108fc610d18565b3461031657600036600319011261031657602061ffff60005416604051908152f35b3461031657600319606036820112610316576001600160401b0360243581811161031657610d83903690600401610a4b565b604435928284116103165760409084360301126103165760405191610da783610223565b8360040135908111610316578301923660238501121561031657600484013593610dd085610a34565b90610dde6040519283610274565b85825260209560248784019160051b8301019136831161031657602401905b828210610e26575050506024610c649592610e1a92865201610a00565b9083015260043561268d565b878091610e32846105e8565b815201910190610dfd565b90815180825260208080930193019160005b828110610e5d575050505090565b835180518652808301518684015260408082015160ff90811691880191909152606091820151169086015260809094019392810192600101610e4f565b805160ff1682529060208281015163ffffffff169082015260408281015163ffffffff169082015260608281015161ffff169082015260808201516080820152610ef460a083015160a08301906001600160401b03169052565b60c08281015160ff1690820152610f42610f1d60e08401516101608060e0860152840190610b12565b6101008481015163ffffffff1690840152610120808501519084830390850152610e3d565b916101408091015191015290565b3461031657610c74610f646107dc36610339565b604051918291602083526020830190610e9a565b34610316576000366003190112610316576020600154604051908152f35b606036600319011261031657610faa6109ed565b6001600160401b0360243581811161031657610fca90369060040161031b565b91610fd36109cf565b91600754340361107457336000526004602052806040600020541692600184019482861161106f57610c74957f6eb224fb001ed210e379b335e35efe88672a8ce935d981a6896b27ffdf52a3b293336000526004602052604060002091166001600160401b031982541617905561105260405192839233968885611f06565b0390a26040516001600160401b0390911681529081906020820190565b61151e565b60405162461bcd60e51b815260206004820152600b60248201526a696e76616c69642066656560a81b6044820152606490fd5b6110bd6103369492606083526060830190610e9a565b92151560208201526040818403910152610b12565b34610316576020366003190112610316576001600160401b03600435818111610316573660238201121561031657806004013591821161031657366024838301011161031657610c7491602461112892016121c5565b604093919351938493846110a7565b3461031657608061114f61114a36610339565b611e9d565b61ffff6060604051928051845260ff6020820151166020850152604081015160408501520151166060820152f35b34610316576020366003190112610316576001600160a01b0361119e6105d2565b166000526006602052602060ff604060002054166040519015158152f35b34610316576000366003190112610316576020600854604051904614158152f35b3461031657600036600319011261031657602060035463ffffffff60405191831c168152f35b346103165760606112166107dc36610339565b6112226104aa8261185b565b61126561014061123560e0840151611ce1565b9261124663436f72658551146113e0565b61ffff806040860151169060005416148061126c575b6104e89061141d565b0151600755005b50600854461461125c565b34610316576020366003190112610316576020611295600435612ac1565b604051908152f35b3461031657602036600319011261031657610c746112c16112bc6109ed565b611314565b6040519182916020835260208301906103b3565b3461031657600036600319011261031657602061ffff60005460101c16604051908152f35b6040519061130782610223565b6000602083606081520152565b63ffffffff906113226112fa565b50166000526020600281526040600020906040519161134083610223565b6040518083835491828152019083600052846000209060005b8181106113935750505061033693928261137a611387946001940382610274565b8652015463ffffffff1690565b63ffffffff1690830152565b82546001600160a01b031684529286019260019283019201611359565b156113b85750565b60405162461bcd60e51b8152602060048201529081906113dc906024830190610b12565b0390fd5b156113e757565b60405162461bcd60e51b815260206004820152600e60248201526d496e76616c6964204d6f64756c6560901b6044820152606490fd5b1561142457565b60405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b21021b430b4b760991b6044820152606490fd5b1561146057565b60405162461bcd60e51b815260206004820152600e60248201526d696e76616c6964204d6f64756c6560901b6044820152606490fd5b1561149d57565b60405162461bcd60e51b815260206004820152600d60248201526c34b73b30b634b21021b430b4b760991b6044820152606490fd5b156114d957565b60405162461bcd60e51b815260206004820152601960248201527f6e657720677561726469616e2073657420697320656d707479000000000000006044820152606490fd5b634e487b7160e01b600052601160045260246000fd5b90600163ffffffff8093160191821161106f57565b1561155057565b60405162461bcd60e51b815260206004820152602160248201527f696e646578206d75737420696e63726561736520696e207374657073206f66206044820152603160f81b6064820152608490fd5b6040513d6000823e3d90fd5b156115b257565b60405162461bcd60e51b815260206004820152601160248201527034b73b30b634b21022ab269021b430b4b760791b6044820152606490fd5b60405190602082018281106001600160401b0382111761021e5760405260008252565b3d15611639573d9061161f826102c4565b9161162d6040519384610274565b82523d6000602084013e565b606090565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc908154813b1561170d577f2e4cc16c100f0b55e2df82ab0b1a7e294aa9cbd01b48fbaf622683fbc0507a499060018060a01b039081841694856bffffffffffffffffffffffff60a01b8316179055611707604051600080968192897fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a263204a7f0760e21b6020820190815260048252906116fb81610223565b51915af46104aa61160e565b169180a3565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b6040519061177582610259565b6022825261195d60f21b6040837f6e6f74207369676e65642062792063757272656e7420677561726469616e207360208201520152565b604051906117b982610223565b60168252753bb937b7339033b7bb32b93730b731b29031b430b4b760511b6020830152565b604051906117eb82610223565b601982527f77726f6e6720676f7665726e616e636520636f6e7472616374000000000000006020830152565b6040519061182482610259565b6022825261195960f21b6040837f676f7665726e616e636520616374696f6e20616c726561647920636f6e73756d60208201520152565b611864816123f9565b9015611924575061010081015163ffffffff1663ffffffff61188e61089860035463ffffffff1690565b91160361191857606081015161ffff1661ffff6118b561075160005461ffff9060101c1690565b91160361190c57608081015160015403611900576101406118e6910151600052600560205260ff6040600020541690565b6118f5576001906103366115eb565b600090610336611817565b506000906103366117de565b506000906103366117ac565b50600090610336611768565b600092909150565b6040519061193982610203565b60006060838281528260208201528260408201520152565b906020820180921161106f57565b906001820180921161106f57565b906002820180921161106f57565b906004820180921161106f57565b906014820180921161106f57565b906008820180921161106f57565b90601f820180921161106f57565b9190820180921161106f57565b156119c757565b60405162461bcd60e51b815260206004820152601760248201527f696e76616c696420436f6e7472616374557067726164650000000000000000006044820152606490fd5b90611a1561192c565b91611a1f81613030565b8352611a3e600160ff611a3184612e51565b16806020870152146119c0565b61ffff611a4a82612ee8565b1660408401526043815110611a79576043818101516001600160a01b0316606085015290516102c291146119c0565b60405162461bcd60e51b8152602060048201526015602482015274746f427974657333325f6f75744f66426f756e647360581b6044820152606490fd5b60405190611ac38261023e565b6000608083828152826020820152826040820152611adf6112fa565b60608201520152565b15611aef57565b60405162461bcd60e51b815260206004820152601a60248201527f696e76616c696420477561726469616e536574557067726164650000000000006044820152606490fd5b90611b3e82610a34565b611b4b6040519182610274565b8281528092611b5c601f1991610a34565b0190602036910137565b600019811461106f5760010190565b8051821015611b895760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b90611ba8611ab6565b91611bb281613030565b8352611bdb600260ff611bd4611bc785612e51565b60ff166020880181905290565b1614611ae8565b611bf2611be782612ee8565b61ffff166040850152565b611c0b611bfe82612fac565b63ffffffff166080850152565b611c1481612ebc565b60ff6028911691611c2483611b34565b92611c2d6102b5565b93845260006020850152606086019384526000935b818510611c575750506102c292505114611ae8565b909192611c8e81611c89611c6e611c949488612df5565b611c7a89875151611b75565b6001600160a01b039091169052565b611989565b94611b66565b93929190611c42565b15611ca457565b60405162461bcd60e51b8152602060048201526015602482015274696e76616c6964205365744d65737361676546656560581b6044820152606490fd5b90611cea61192c565b91611cf481613030565b8352611d13600360ff611d0684612e51565b1680602087015214611c9d565b61ffff611d1f82612ee8565b1660408401526043815110611d4457604381816102c293015160608601525114611c9d565b60405162461bcd60e51b8152602060048201526015602482015274746f55696e743235365f6f75744f66426f756e647360581b6044820152606490fd5b15611d8857565b60405162461bcd60e51b8152602060048201526014602482015273696e76616c6964205472616e736665724665657360601b6044820152606490fd5b9060405191611dd28361023e565b60008352602083019060008252604084019060008252606085019160008352611e20600460808801956000875288611e0986613030565b905260ff611e1686612e51565b1680915214611d81565b61ffff611e2c83612ee8565b1690526043815110611d44576102c29260639260438301519052611e4f82613040565b90525114611d81565b15611e5f57565b60405162461bcd60e51b81526020600482015260166024820152751a5b9d985b1a5908149958dbdd995c90da185a5b925960521b6044820152606490fd5b90611ea661192c565b91611eb081613030565b8352611ecf600560ff611ec284612e51565b1680602087015214611e58565b6041815110611d445760438160416102c29301516040860152611eff611ef482612f34565b61ffff166060870152565b5114611e58565b92611f3b9063ffffffff6060946001600160401b0360ff95999899168752166020860152608060408601526080850190610b12565b9416910152565b60085415611f4c57565b61ffff611f5c60005461ffff1690565b1660028103611f7057506102c26001612ca6565b60048103611f8357506102c26038612ca6565b60058103611f9657506102c26089612ca6565b60068103611faa57506102c261a86a612ca6565b60078103611fbe57506102c261a516612ca6565b60098103611fd457506102c2634e454152612ca6565b600a8103611fe757506102c260fa612ca6565b600b8103611ffb57506102c26102ae612ca6565b600c810361200f57506102c2610313612ca6565b600d810361202357506102c2612019612ca6565b600e810361203757506102c261a4ec612ca6565b6010810361204b57506102c2610504612ca6565b6011810361206157506102c2630e9ac0d6612ca6565b6017810361207557506102c261a4b1612ca6565b6018810361208857506102c2600a612ca6565b601903612099576102c26064612ca6565b60405162461bcd60e51b81526020600482015260116024820152702ab735b737bbb71031b430b4b71034b21760791b6044820152606490fd5b60405162461bcd60e51b815260206004820152600b60248201526a1d5b9cdd5c1c1bdc9d195960aa1b6044820152606490fd5b60405162461bcd60e51b815260206004820152602c60248201527f74686520576f726d686f6c6520636f6e747261637420646f6573206e6f74206160448201526b63636570742061737365747360a01b6064820152608490fd5b6040519061016082018281106001600160401b0382111761021e57604052816101406000918281528260208201528260408201528260608201528260808201528260a08201528260c0820152606060e08201528261010082015260606101208201520152565b6107dc906121dd926121d561215f565b5036916102df565b906121e782612325565b9091565b94929060339796949263ffffffff60e01b809260e01b16875260e01b16600486015261ffff60f01b9060f01b166008850152600a8401526001600160401b0360c01b9060c01b16602a83015260ff60f81b9060f81b1660328201526122598251809360208685019101610aef565b010190565b6040519061226b82610223565b601a82527f766d2e6861736820646f65736e2774206d6174636820626f64790000000000006020830152565b604051906122a482610223565b60148252731a5b9d985b1a590819dd585c991a585b881cd95d60621b6020830152565b604051906122d482610223565b601882527f677561726469616e2073657420686173206578706972656400000000000000006020830152565b6040519061230d82610223565b60098252686e6f2071756f72756d60b81b6020830152565b610100810161233b6112bc825163ffffffff1690565b90815151156123eb575163ffffffff1661235d61089860035463ffffffff1690565b63ffffffff809216141590816123ce575b506123c1576101208201805151612386835151612ac1565b116123b35761014061239c93015190519061268d565b90156123ae57506001906103366115eb565b600091565b505050600090610336612300565b50506000906103366122c7565b90506123e1602083015163ffffffff1690565b429116103861236e565b505050600090610336612297565b6101008101906124106112bc835163ffffffff1690565b90612422602082015163ffffffff1690565b604082015163ffffffff169061243d606084015161ffff1690565b9161247a608085015161245a60a08701516001600160401b031690565b60c087015160ff169060e0880151926040519788966020880198896121eb565b039161248e601f1993848101835282610274565b519020906124b860405191826124ac60208201958660209181520190565b03908101835282610274565b5190209261014082019384510361255e578251511561254f575163ffffffff166124ea61089860035463ffffffff1690565b63ffffffff80921614159081612532575b506125245761012001805151612512835151612ac1565b116123b35761239c925190519061268d565b5050506000906103366122c7565b9050612545602084015163ffffffff1690565b42911610386124fb565b50505050600090610336612297565b5050505060009061033661225e565b1561257457565b60405162461bcd60e51b815260206004820152601f60248201527f65637265636f766572206661696c65642077697468207369676e6174757265006044820152606490fd5b156125c057565b60405162461bcd60e51b815260206004820152602360248201527f7369676e617475726520696e6469636573206d75737420626520617363656e64604482015262696e6760e81b6064820152608490fd5b1561261857565b60405162461bcd60e51b815260206004820152601c60248201527f677561726469616e20696e646578206f7574206f6620626f756e6473000000006044820152606490fd5b6040519061266a82610223565b60148252731593481cda59db985d1d5c99481a5b9d985b1a5960621b6020830152565b825151919260009291835b85518110156127b2576126ab8187611b75565b51604060006126bd8284015160ff1690565b8351602080860151945188815260ff93909316838201526040830191909152606082019390935281805260809060015afa15610d215760005160609190612723906001600160a01b03169761271389151561256d565b8415908115612795575b506125b9565b0194612771610d00612764612739895160ff1690565b986127488960ff8c1610612611565b61275e6127588951925160ff1690565b60ff1690565b90611b75565b516001600160a01b031690565b036127845761277f90611b66565b612698565b50505050505060009061033661265d565b90506127a48484015160ff1690565b60ff9182169116113861271d565b5050505050506001906103366115eb565b156127ca57565b60405162461bcd60e51b815260206004820152601760248201527f564d2076657273696f6e20696e636f6d70617469626c650000000000000000006044820152606490fd5b9061281982610a34565b6128266040519182610274565b8281528092612837601f1991610a34565b019060005b82811061284857505050565b60209061285361192c565b8282850101520161283c565b60ff601b9116019060ff821161106f57565b9190820391821161106f57565b9061288761215f565b9161289b61289482612e9c565b60ff168452565b6128b4600160ff6128ad865160ff1690565b16146127c3565b6128ce6128c082612f60565b63ffffffff16610100850152565b6128da61275882612eac565b6006906128e68161280f565b9061012086019182526000915b818310612a205750505090612a086129ec6129ca6129b661299961297f87612929612922612a199a8a51612871565b828a612d69565b602081519101206040516129578161294960208201948560209181520190565b03601f198101835282610274565b5190206101408c015261297a61296d828a612fbc565b63ffffffff1660208d0152565b61197b565b61297a61298c8289612fbc565b63ffffffff1660408c0152565b6129b16129a68288612f44565b61ffff1660608b0152565b61196d565b6129c08186613050565b6080890152611951565b6129e76129d78286612fd8565b6001600160401b031660a0890152565b611997565b612a036129f98285612ecc565b60ff1660c0880152565b61195f565b612a13818351612871565b91612d69565b60e0830152565b909192612ab4612a92612a73612a5784612a03612a40612aba978c612ecc565b6060612a4d8c8b51611b75565b51019060ff169052565b612a61818a613050565b612a6c898851611b75565b5152611951565b612a7d8189613050565b6020612a8a898851611b75565b510152611951565b612a03612aa7612aa2838a612ecc565b61285f565b6040612a4d898851611b75565b93611b66565b91906128f3565b610100811015612aea578060011b908082046002149015171561106f576003610336910461195f565b60405162461bcd60e51b8152602060048201526012602482015271746f6f206d616e7920677561726469616e7360701b6044820152606490fd5b63ffffffff62015180814216019080821161106f576102c29216600052600260205260016040600020019063ffffffff1663ffffffff19825416179055565b9080519081516001600160401b03811161021e5768010000000000000000811161021e578354818555808210612bf2575b506020809301612ba985600052602060002090565b60005b838110612bd7575050505001516001909101805463ffffffff191663ffffffff909216919091179055565b82516001600160a01b03168282015591850191600101612bac565b6000858152826020822092830192015b828110612c10575050612b94565b818155600101612c02565b9081515160005b818110612c485750509063ffffffff6102c2921660005260026020526040600020612b63565b83516001600160a01b0390612c5e908390611b75565b511615612c7357612c6e90611b66565b612c22565b60405162461bcd60e51b815260206004820152600b60248201526a496e76616c6964206b657960a81b6044820152606490fd5b468103612cb257600855565b60405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a5908195d9b50da185a5b925960721b6044820152606490fd5b15612cf357565b60405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606490fd5b15612d3057565b60405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606490fd5b91612d7e81612d77816119a5565b1015612cec565b612d948351612d8d83856119b3565b1115612d29565b80612dad57505050604051600081526020810160405290565b60405192601f821692831560051b80858701019484860193010101905b808410612de25750508252601f01601f191660405290565b9092835181526020809101930190612dca565b908151601482019081831161106f5710612e1457016020015160601c90565b60405162461bcd60e51b8152602060048201526015602482015274746f416464726573735f6f75744f66426f756e647360581b6044820152606490fd5b6021815110612e61576021015190565b60405162461bcd60e51b8152602060048201526013602482015272746f55696e74385f6f75744f66426f756e647360681b6044820152606490fd5b6001815110612e61576001015190565b6006815110612e61576006015190565b6028815110612e61576028015190565b908151600182019081831161106f5710612e6157016001015190565b6023815110612ef8576023015190565b60405162461bcd60e51b8152602060048201526014602482015273746f55696e7431365f6f75744f66426f756e647360601b6044820152606490fd5b6043815110612ef8576043015190565b908151600282019081831161106f5710612ef857016002015190565b6005815110612f70576005015190565b60405162461bcd60e51b8152602060048201526014602482015273746f55696e7433325f6f75744f66426f756e647360601b6044820152606490fd5b6027815110612f70576027015190565b908151600482019081831161106f5710612f7057016004015190565b908151600882019081831161106f5710612ff457016008015190565b60405162461bcd60e51b8152602060048201526014602482015273746f55696e7436345f6f75744f66426f756e647360601b6044820152606490fd5b6020815110611a79576020015190565b6063815110611a79576063015190565b908151602082019081831161106f5710611a795701602001519056fea2646970667358221220e01f3fc19a7b6f650a08aafb55409b8aa16f0ebf4a5804ec4ce7df76358d349364736f6c63430008130033",S=s=>s.length>1;class r extends l.ContractFactory{constructor(...e){S(e)?super(...e):super(p,o,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new u.Interface(p)}static connect(e,t){return new u.Contract(e,p,t)}}i(r,"bytecode",o),i(r,"abi",p);const w=Object.freeze(Object.defineProperty({__proto__:null,Implementation__factory:r},Symbol.toStringTag,{value:"Module"}));h.registerProtocol(a._platform,"WormholeCore",y);exports.EvmWormholeCore=y;exports.ethers_contracts=w;
@@ -1 +1 @@
1
- "use strict";var h=Object.defineProperty;var m=(a,e,t)=>e in a?h(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var s=(a,e,t)=>m(a,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./address-CCed-aPr.js"),w=require("./platform-BIdtdn6B.js"),g=require("./create-DFS178qc.js"),u=require("./chain-BYKgc1Rl.js");class i{constructor(e,t,r,o){s(this,"network");s(this,"chain");s(this,"connection");s(this,"contracts");s(this,"chainId");s(this,"coreBridge");this.network=e,this.chain=t,this.connection=r,this.contracts=o,this.chainId=c.toChainId(t);const n=o.coreBridge;if(!n)throw new Error(`CoreBridge contract Address for chain ${t} not found`);this.coreBridge=n}getGuardianSet(e){throw new Error("Method not implemented.")}getGuardianSetIndex(){throw new Error("Method not implemented.")}getMessageFee(){throw new Error("Method not implemented.")}static async fromRpc(e,t){const[r,o]=await w.AptosPlatform.chainFromRpc(e),n=t[o];if(n.network!==r)throw new Error(`Network mismatch: ${n.network} !== ${r}`);return new i(r,o,e,n.contracts)}async*publishMessage(e,t){throw new Error("Method not implemented.")}async*verifyMessage(e,t){throw new Error("Not implemented.")}async parseTransaction(e){return(await this.parseMessages(e)).map(r=>({chain:r.emitterChain,emitter:r.emitterAddress,sequence:r.sequence}))}async parseMessages(e){const t=await this.connection.getTransactionByHash({transactionHash:e});if(t.type!=="user_transaction")throw new Error(`${e} is not a user_transaction`);const r=t.events.filter(o=>o.type.endsWith("WormholeMessage"));if(!r||r.length===0)throw new Error(`WormholeMessage not found for ${e}`);return r.map(o=>{const n=o.data,d=new c.UniversalAddress(BigInt(n.sender).toString(16).padStart(64,"0"));return g.createVAA("Uint8Array",{guardianSet:0,emitterChain:this.chain,emitterAddress:d,sequence:BigInt(n.sequence),timestamp:Number(n.timestamp),consistencyLevel:n.consistency_level,nonce:Number(n.nonce),signatures:[],payload:c.hex.decode(n.payload)})})}}u.registerProtocol("Aptos","WormholeCore",i);exports.AptosWormholeCore=i;
1
+ "use strict";var h=Object.defineProperty;var m=(a,e,t)=>e in a?h(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var s=(a,e,t)=>m(a,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./address-CSWlEusF.js"),w=require("./platform-C7YwgvxU.js"),g=require("./create-BRB2U1qV.js"),u=require("./chain-DTh9H2Cq.js");class i{constructor(e,t,r,o){s(this,"network");s(this,"chain");s(this,"connection");s(this,"contracts");s(this,"chainId");s(this,"coreBridge");this.network=e,this.chain=t,this.connection=r,this.contracts=o,this.chainId=c.toChainId(t);const n=o.coreBridge;if(!n)throw new Error(`CoreBridge contract Address for chain ${t} not found`);this.coreBridge=n}getGuardianSet(e){throw new Error("Method not implemented.")}getGuardianSetIndex(){throw new Error("Method not implemented.")}getMessageFee(){throw new Error("Method not implemented.")}static async fromRpc(e,t){const[r,o]=await w.AptosPlatform.chainFromRpc(e),n=t[o];if(n.network!==r)throw new Error(`Network mismatch: ${n.network} !== ${r}`);return new i(r,o,e,n.contracts)}async*publishMessage(e,t){throw new Error("Method not implemented.")}async*verifyMessage(e,t){throw new Error("Not implemented.")}async parseTransaction(e){return(await this.parseMessages(e)).map(r=>({chain:r.emitterChain,emitter:r.emitterAddress,sequence:r.sequence}))}async parseMessages(e){const t=await this.connection.getTransactionByHash({transactionHash:e});if(t.type!=="user_transaction")throw new Error(`${e} is not a user_transaction`);const r=t.events.filter(o=>o.type.endsWith("WormholeMessage"));if(!r||r.length===0)throw new Error(`WormholeMessage not found for ${e}`);return r.map(o=>{const n=o.data,d=new c.UniversalAddress(BigInt(n.sender).toString(16).padStart(64,"0"));return g.createVAA("Uint8Array",{guardianSet:0,emitterChain:this.chain,emitterAddress:d,sequence:BigInt(n.sequence),timestamp:Number(n.timestamp),consistencyLevel:n.consistency_level,nonce:Number(n.nonce),signatures:[],payload:c.hex.decode(n.payload)})})}}u.registerProtocol("Aptos","WormholeCore",i);exports.AptosWormholeCore=i;
@@ -1,13 +1,13 @@
1
1
  var z = Object.defineProperty;
2
2
  var _ = (p, e, t) => e in p ? z(p, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : p[e] = t;
3
3
  var u = (p, e, t) => _(p, typeof e != "symbol" ? e + "" : e, t);
4
- import { I as D, C as T } from "./contract-9GZtHjlK.mjs";
5
- import { j as I, a3 as b, aP as S, az as F, W as r, aF as j, aR as B, r as f, q as h, cW as G, aU as g, aA as H, L as M, ay as X, cX as Y, aV as J, aW as K } from "./address-XILx3C42.mjs";
6
- import { EvmWormholeCore as Z } from "./index-BLh5aG8-.mjs";
7
- import { EvmTokenBridge as tt } from "./index-CNTjCcyR.mjs";
8
- import { E as y } from "./platform-BnY9AR2a.mjs";
4
+ import { I as D, C as T } from "./contract-D8VzaUQJ.mjs";
5
+ import { j as I, a3 as b, aP as S, aA as B, W as r, ac as j, aR as F, r as f, q as h, cW as G, aU as g, aB as H, L as M, az as X, cX as Y, aV as J, aW as K } from "./address-CrYNZ_Nj.mjs";
6
+ import { EvmWormholeCore as Z } from "./index-BxR9BQdY.mjs";
7
+ import { EvmTokenBridge as tt } from "./index-Co1W4Raf.mjs";
8
+ import { E as y } from "./platform-DkmFvjoG.mjs";
9
9
  import { E as et } from "./unsignedTransaction-C0V0UbsS.mjs";
10
- import { r as nt } from "./chain-Yvw9MtzH.mjs";
10
+ import { r as nt } from "./chain-Dq8acwHq.mjs";
11
11
  const v = new D([
12
12
  "function start((bytes32,address,address,address,address,address,uint256,uint256,uint256,uint256)) returns (address,uint16,uint64)",
13
13
  "function receiveMessageAndSwap(bytes)"
@@ -21,10 +21,10 @@ class st {
21
21
  throw new Error("how did you get here tho?");
22
22
  const n = b.encode(t.toUniversalAddress().toUint8Array(), !1), s = b.encode(o.toUniversalAddress().toUint8Array(), !1), a = { targetChain: S(e), sourceToken: n, targetToken: s };
23
23
  try {
24
- const c = await F.post(rt, a);
24
+ const c = await B.post(rt, a);
25
25
  return BigInt(c.data.fee);
26
26
  } catch (c) {
27
- throw F.isAxiosError(c) ? new Error(`Error getting relayer fee: ${(i = c.response) == null ? void 0 : i.statusText}`) : c;
27
+ throw B.isAxiosError(c) ? new Error(`Error getting relayer fee: ${(i = c.response) == null ? void 0 : i.statusText}`) : c;
28
28
  }
29
29
  }
30
30
  }
@@ -87,7 +87,7 @@ class A {
87
87
  throw new Error("Invalid min swap amount");
88
88
  if (c === 0n)
89
89
  throw new Error("Invalid min swap amount");
90
- const w = new B(e).toString(), [k, E] = f(this.network, this.chain, o), [U, P] = f(this.network, t.chain, s), l = h(E), q = h(await this.getTransferrableToken(l)), R = h(t), N = h(P), W = (/* @__PURE__ */ new Date()).valueOf() % 2 ** 4, O = G.serializeFlagSet({
90
+ const w = new F(e).toString(), [k, E] = f(this.network, this.chain, o), [U, P] = f(this.network, t.chain, s), l = h(E), q = h(await this.getTransferrableToken(l)), R = h(t), N = h(P), W = (/* @__PURE__ */ new Date()).valueOf() % 2 ** 4, O = G.serializeFlagSet({
91
91
  flags: {
92
92
  shouldWrapNative: k,
93
93
  shouldUnwrapNative: U
@@ -120,7 +120,7 @@ class A {
120
120
  yield this.createUnsignedTransaction(g(V, w), "PorticoBridge.Transfer");
121
121
  }
122
122
  async *redeem(e, t) {
123
- const o = H(t.payload.payload.flagSet.recipientChain), n = t.payload.payload.finalTokenAddress.toNative(o).toString(), s = this.getTokenGroup(n), d = this.getPorticoAddress(s), i = await new T(d, v.fragments, this.provider).getFunction("receiveMessageAndSwap").populateTransaction(M(t)), c = new B(e).toString();
123
+ const o = H(t.payload.payload.flagSet.recipientChain), n = t.payload.payload.finalTokenAddress.toNative(o).toString(), s = this.getTokenGroup(n), d = this.getPorticoAddress(s), i = await new T(d, v.fragments, this.provider).getFunction("receiveMessageAndSwap").populateTransaction(M(t)), c = new F(e).toString();
124
124
  yield this.createUnsignedTransaction(g(i, c), "PorticoBridge.Redeem");
125
125
  }
126
126
  async isTransferCompleted(e) {