@wormhole-foundation/wormhole-connect 3.0.0-beta.10-development → 3.0.0-beta.12-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 (370) 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-Bgr8Uh8B.mjs} +1 -1
  49. package/lib/{add-BTLwOvOZ.js → add-CgyvYm-l.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-BeYsJiCM.js} +1 -1
  57. package/lib/{all-wallets-n9txrQBL.mjs → all-wallets-DdRIEq-V.mjs} +1 -1
  58. package/lib/{app-store-BNDHv08u.js → app-store-C9yZzH2t.js} +1 -1
  59. package/lib/{app-store-XMImFsCe.mjs → app-store-eKRqPW4N.mjs} +1 -1
  60. package/lib/{apple-BeFuMsnp.js → apple-B3Aps_l8.js} +1 -1
  61. package/lib/{apple-N72l5xzV.mjs → apple-DQcCTOa_.mjs} +1 -1
  62. package/lib/{aptos-CyWepkzo.js → aptos-CxfKcGPe.js} +1 -1
  63. package/lib/{aptos-0L0BHb3H.mjs → aptos-DySrgy5u.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-9ZkDz94Q.js → arrow-bottom-CUgsoqql.js} +1 -1
  67. package/lib/{arrow-bottom-CBSeMq1y.mjs → arrow-bottom-Duiu5Tg_.mjs} +1 -1
  68. package/lib/{arrow-bottom-circle-CwbLgL2F.mjs → arrow-bottom-circle-CvfJ5p_y.mjs} +1 -1
  69. package/lib/{arrow-bottom-circle-DYiWMEvs.js → arrow-bottom-circle-u8tFbHrW.js} +1 -1
  70. package/lib/{arrow-left-C-UJV-mA.js → arrow-left-IZiFrwcP.js} +1 -1
  71. package/lib/{arrow-left-D69MKmnb.mjs → arrow-left-avYXBHF4.mjs} +1 -1
  72. package/lib/{arrow-right-BhLwNQPc.js → arrow-right-CF-NNN4L.js} +1 -1
  73. package/lib/{arrow-right-7G9yNtBl.mjs → arrow-right-Cbunep5L.mjs} +1 -1
  74. package/lib/{arrow-top-CahWAE97.mjs → arrow-top-DBWWW9Oy.mjs} +1 -1
  75. package/lib/{arrow-top-Dg2It593.js → arrow-top-DCGkz6k-.js} +1 -1
  76. package/lib/{bank-DPmi3p8t.js → bank-C-CLDGG9.js} +1 -1
  77. package/lib/{bank-D8KRyeTE.mjs → bank-C2jhIapN.mjs} +1 -1
  78. package/lib/{basic-DfPbK6fQ.mjs → basic-CIBqPAeW.mjs} +2 -2
  79. package/lib/{basic-COPQaPYV.js → basic-DVsxPr6-.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-BQ2hKa4j.js} +1 -1
  83. package/lib/{browser-DuIqgD1X.mjs → browser-DFX8bJKi.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-4-u9SA69.mjs} +1 -1
  87. package/lib/{card-D_R3jF-Z.js → card-CUMXwdG1.js} +1 -1
  88. package/lib/{ccip-CrHO1dC-.js → ccip-BTGJ_kF8.js} +1 -1
  89. package/lib/{ccip-i_XXGSg2.mjs → ccip-FetjJVFw.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-DcyIdeXU.js → checkmark-BaLFRM45.js} +1 -1
  93. package/lib/{checkmark-DOw999Ie.mjs → checkmark-DDLHlQQ9.mjs} +1 -1
  94. package/lib/{checkmark-bold-Cge3RMDQ.js → checkmark-bold-COMu2UxE.js} +1 -1
  95. package/lib/{checkmark-bold-Dd3K5wgK.mjs → checkmark-bold-CuRoxeU8.mjs} +1 -1
  96. package/lib/{chevron-bottom-DQOL6ddO.mjs → chevron-bottom-BWzCLrD5.mjs} +1 -1
  97. package/lib/{chevron-bottom-DpWCBCtN.js → chevron-bottom-C4e9WRar.js} +1 -1
  98. package/lib/{chevron-left-CsfpWwbt.mjs → chevron-left--LyUtyQT.mjs} +1 -1
  99. package/lib/{chevron-left-ijPY6xtL.js → chevron-left-CGVLc133.js} +1 -1
  100. package/lib/{chevron-right-D7f6VXeA.js → chevron-right-BwKWUL52.js} +1 -1
  101. package/lib/{chevron-right-DW2-OAem.mjs → chevron-right-kMciDMkJ.mjs} +1 -1
  102. package/lib/{chevron-top-BKE9MT7D.js → chevron-top-CAHxogoB.js} +1 -1
  103. package/lib/{chevron-top-BFMGjavt.mjs → chevron-top-DwIXDDfD.mjs} +1 -1
  104. package/lib/{chrome-store-CqO7TK0g.mjs → chrome-store-BtgUtu2e.mjs} +1 -1
  105. package/lib/{chrome-store-ChoHQuXc.js → chrome-store-KsYwGQZ1.js} +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-CeP_x_KK.mjs} +1 -1
  109. package/lib/{clock-CPreF9T0.js → clock-DZ0ehwc-.js} +1 -1
  110. package/lib/{close-S0uNyI0k.js → close-DQfNwzpp.js} +1 -1
  111. package/lib/{close-FqyWSE4_.mjs → close-fTN6nBRu.mjs} +1 -1
  112. package/lib/{coinPlaceholder-BZJlLM7Y.mjs → coinPlaceholder-DetWjpMK.mjs} +1 -1
  113. package/lib/{coinPlaceholder-Nsqc5lwS.js → coinPlaceholder-Dg3gZsJM.js} +1 -1
  114. package/lib/{compass-CzWYI8YS.js → compass-BNDqAmOT.js} +1 -1
  115. package/lib/{compass-C15Hbv8k.mjs → compass-Bi1bPHDM.mjs} +1 -1
  116. package/lib/{constants-PdfK5ygX.mjs → constants-CPx3n7t3.mjs} +3 -3
  117. package/lib/{constants-C24HBTfH.js → constants-CoxhiYrX.js} +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-C0ChGAOX.mjs} +1 -1
  121. package/lib/{copy-BcaWwGsu.js → copy-CYLp0MkE.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-C0wqoNp_.mjs} +1 -1
  125. package/lib/{cursor-C8Q0dpzU.js → cursor-DsUEeeMn.js} +1 -1
  126. package/lib/{cursor-transparent-_EEiSXcN.mjs → cursor-transparent-DOFMlNyt.mjs} +1 -1
  127. package/lib/{cursor-transparent-Bk2Pis3h.js → cursor-transparent-Dgi2QAXz.js} +1 -1
  128. package/lib/{desktop-DIsvsF3d.js → desktop-7XDZ1UeO.js} +1 -1
  129. package/lib/{desktop-D-l8jhsv.mjs → desktop-DvAIpuqU.mjs} +1 -1
  130. package/lib/{disconnect-CuuGsNn9.js → disconnect-BPZFeB_X.js} +1 -1
  131. package/lib/{disconnect-C_byJjKB.mjs → disconnect-CVe77kqf.mjs} +1 -1
  132. package/lib/{discord-Dw7t9AOU.js → discord-BQnoDtpm.js} +1 -1
  133. package/lib/{discord-BuyE-1NF.mjs → discord-C8tW30M4.mjs} +1 -1
  134. package/lib/{etherscan-sT9lau-F.mjs → etherscan-BbTgK2kR.mjs} +1 -1
  135. package/lib/{etherscan-BpiPFsqX.js → etherscan-XnmA1DYM.js} +1 -1
  136. package/lib/{evm-rv7ZlROo.mjs → evm-B1mLJPQm.mjs} +9 -9
  137. package/lib/{evm-BtQQ6viH.js → evm-B92-10xg.js} +3 -3
  138. package/lib/{evm-DWT3Nmuq.js → evm-BcBUJ9Y7.js} +2 -2
  139. package/lib/{evm-PlOfGcwB.mjs → evm-DDTF3fsK.mjs} +9 -9
  140. package/lib/{exclamation-triangle-ca7edyAm.js → exclamation-triangle-BSU-BEmm.js} +1 -1
  141. package/lib/{exclamation-triangle-DN4JC4tj.mjs → exclamation-triangle-CDPTA2Zq.mjs} +1 -1
  142. package/lib/executor.js +1 -1
  143. package/lib/executor.mjs +37 -37
  144. package/lib/{extension-B2NwQEJh.mjs → extension-BoRmu23R.mjs} +1 -1
  145. package/lib/{extension-BT42HXRo.js → extension-JoJqEx2q.js} +1 -1
  146. package/lib/{external-link-DPxrE_1B.mjs → external-link-BmVFZxUx.mjs} +1 -1
  147. package/lib/{external-link-DUXVgd3Q.js → external-link-CDpvnIKV.js} +1 -1
  148. package/lib/{facebook-nlQKkoy4.mjs → facebook-BU0IgAsn.mjs} +1 -1
  149. package/lib/{facebook-BwiFRhTy.js → facebook-DVG-Of9i.js} +1 -1
  150. package/lib/{farcaster-DIPlSB57.mjs → farcaster-EqU1YhWT.mjs} +1 -1
  151. package/lib/{farcaster-B3iRAtGH.js → farcaster-HjCoTneu.js} +1 -1
  152. package/lib/{filters-BqX98gdQ.mjs → filters-9uiEFQFc.mjs} +1 -1
  153. package/lib/{filters-CADY0oT7.js → filters-Dj4vA-oO.js} +1 -1
  154. package/lib/{github-i2fLJDcn.mjs → github-Bv36prmZ.mjs} +1 -1
  155. package/lib/{github-DCpNepXY.js → github-CHTQ7Hhb.js} +1 -1
  156. package/lib/{google-RwvuhA_N.mjs → google-CIdoM_ZL.mjs} +1 -1
  157. package/lib/{google-CjlC1jg5.js → google-D4be9Rni.js} +1 -1
  158. package/lib/{help-circle-DbBRCuEk.js → help-circle-Cp-RWM01.js} +1 -1
  159. package/lib/{help-circle-CAJ7Vj6j.mjs → help-circle-Di6XLLqm.mjs} +1 -1
  160. package/lib/hosted.js +1 -1
  161. package/lib/hosted.mjs +1 -1
  162. package/lib/{id-BGx-wQhp.mjs → id-BKRrmUYA.mjs} +1 -1
  163. package/lib/{id-D37VTwOD.js → id-zzAVAbpV.js} +1 -1
  164. package/lib/{image-CwP7FRuU.mjs → image-CHXv-pfQ.mjs} +1 -1
  165. package/lib/{image-B6onBOl9.js → image-D0lV7yfg.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-CGQJxGGA.mjs → index-B4yQb6w1.mjs} +78 -78
  170. package/lib/{index-CaWaUq6Q.mjs → index-B6QoC8kC.mjs} +1 -1
  171. package/lib/{index-DFnrdKHz.mjs → index-B8CSnOaL.mjs} +4 -4
  172. package/lib/{index-CXxeK1L6.mjs → index-BBXzsMzy.mjs} +18061 -18376
  173. package/lib/{index-Cxk2R-Am.mjs → index-BBwY_mLw.mjs} +9 -9
  174. package/lib/{index-D0EnJJ6x.js → index-BDN9fAFf.js} +1 -1
  175. package/lib/{index-Dkk8hroQ.js → index-BJjgo7T5.js} +1 -1
  176. package/lib/{index-DfErM9FS.mjs → index-BOmzGtQH.mjs} +10 -10
  177. package/lib/{index-hJ9bKuCY.js → index-Bn829hfx.js} +1 -1
  178. package/lib/{index-Du5REEg_.mjs → index-BsqWniHZ.mjs} +2 -2
  179. package/lib/{index-DkYpMDuW.mjs → index-BuMERF6V.mjs} +3 -3
  180. package/lib/{index-BLh5aG8-.mjs → index-BxR9BQdY.mjs} +5 -5
  181. package/lib/{index-Cf3S05FK.js → index-C9CCEaud.js} +1 -1
  182. package/lib/{index-C1_cSaXr.js → index-CAZoTTeF.js} +1 -1
  183. package/lib/{index-CYr_YvMH.js → index-CFikcYS0.js} +1 -1
  184. package/lib/{index-CS9iBnXX.mjs → index-CJXywlFV.mjs} +5 -5
  185. package/lib/{index-Sice5Hou.js → index-CMRsE6Rx.js} +2 -2
  186. package/lib/{index-BEJqMcqT.mjs → index-CSf9Xnts.mjs} +5 -5
  187. package/lib/{index-CmW6KmMC.js → index-C_DPPfkk.js} +1 -1
  188. package/lib/index-CbF5x2NI.js +1 -0
  189. package/lib/{index-DS3hzy1U.js → index-Cj6R9JbK.js} +1 -1
  190. package/lib/{index-Bu-zI45T.js → index-CjojdPoR.js} +1 -1
  191. package/lib/{index-CNTjCcyR.mjs → index-Co1W4Raf.mjs} +16 -14
  192. package/lib/{index-5DMnZ3K9.mjs → index-CpYW6xKB.mjs} +5 -5
  193. package/lib/{index-M9Ba07as.mjs → index-CreVTM0z.mjs} +7 -7
  194. package/lib/{index-BrGsuxgs.js → index-Csb-_vqa.js} +1 -1
  195. package/lib/{index-DfLfvzB0.js → index-Cv26ujGL.js} +1 -1
  196. package/lib/{index-CYYDe2bl.mjs → index-Cvt-EnSZ.mjs} +1 -1
  197. package/lib/{index-lIhQvgZM.mjs → index-D0eLvswO.mjs} +1 -1
  198. package/lib/{index-1Jby0-yj.js → index-D4dCJIWy.js} +1 -1
  199. package/lib/{index-C1JhFb5_.mjs → index-D5Wl9ZPE.mjs} +4 -4
  200. package/lib/{index-DzS1Ll_Q.js → index-DLyteqgH.js} +1 -1
  201. package/lib/{index-6TUUk7Kw.mjs → index-DUoona4h.mjs} +4 -4
  202. package/lib/{index-D6bm6RN3.js → index-DZ0LaYyC.js} +1 -1
  203. package/lib/{index-CmpBCyPP.js → index-Dg_iItNp.js} +1 -1
  204. package/lib/{index-D2mvEBkB.mjs → index-Dy8-WjNf.mjs} +8 -8
  205. package/lib/{index-mQV1DqpZ.mjs → index-FyK0K3it.mjs} +14 -14
  206. package/lib/{index-uPUSKdDo.js → index-T00Tc9JN.js} +1 -1
  207. package/lib/{index-BRH2VboQ.mjs → index-WR7oDg9u.mjs} +6 -6
  208. package/lib/{index-jhd52i9j.js → index-aoDDl5Bh.js} +1 -1
  209. package/lib/{index-DxGwdrFn.js → index-iIndJffV.js} +1 -1
  210. package/lib/{index-DlCZRxQL.js → index-uqZQu-qU.js} +1 -1
  211. package/lib/index-w1W7oltR.js +304 -0
  212. package/lib/{index.es-B7jCb8zH.js → index.es-B-gAV41L.js} +2 -2
  213. package/lib/{index.es-Dw6cvzlo.mjs → index.es-BjmsZFfK.mjs} +4 -4
  214. package/lib/{index.es-BhVEumjV.mjs → index.es-Buu5D0rZ.mjs} +6 -6
  215. package/lib/{index.es-Ck4NJOYT.js → index.es-SeoKSGri.js} +1 -1
  216. package/lib/index.js +1 -1
  217. package/lib/index.mjs +1 -1
  218. package/lib/{info-BhMx7Zq6.js → info-Bro13JOm.js} +1 -1
  219. package/lib/{info-CTA_ADWS.mjs → info-DI_ShZXM.mjs} +1 -1
  220. package/lib/{info-circle-nzb9zoU8.js → info-circle-B1XYC5VH.js} +1 -1
  221. package/lib/{info-circle-DN9B0Yi6.mjs → info-circle-Ysma0RJy.mjs} +1 -1
  222. package/lib/{lightbulb-BYt8eexq.js → lightbulb-BWSob509.js} +1 -1
  223. package/lib/{lightbulb-CeL9clew.mjs → lightbulb-llAiUdyo.mjs} +1 -1
  224. package/lib/{mail-BfIAmg2q.mjs → mail-DoQE8IHx.mjs} +1 -1
  225. package/lib/{mail-ouAgiQdL.js → mail-rZToesAW.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-D7zXpqST.js → mobile-BbcVkbmr.js} +1 -1
  231. package/lib/{mobile-B210vkRD.mjs → mobile-EtRDQH27.mjs} +1 -1
  232. package/lib/{more-DCu8fdsU.js → more-BK6O3COI.js} +1 -1
  233. package/lib/{more-V7n1plpv.mjs → more-DVrhZdB3.mjs} +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-DfGVbCNl.mjs → network-placeholder-BbB6hX07.mjs} +1 -1
  237. package/lib/{network-placeholder-DTJGzSV6.js → network-placeholder-K8zio41s.js} +1 -1
  238. package/lib/{nftPlaceholder-DF43BHqh.mjs → nftPlaceholder-BMuE_429.mjs} +1 -1
  239. package/lib/{nftPlaceholder-DVPyjtCX.js → nftPlaceholder-L3ThVWUO.js} +1 -1
  240. package/lib/ntt.js +1 -1
  241. package/lib/ntt.mjs +10 -10
  242. package/lib/{off-DVadjOgd.js → off-CHM9QBcy.js} +1 -1
  243. package/lib/{off-BKTude1x.mjs → off-CUzDZ7SQ.mjs} +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-yeOJdtps.mjs → play-store-B_TfUWJP.mjs} +1 -1
  251. package/lib/{play-store-BCGoGVyc.js → play-store-DodlKRO8.js} +1 -1
  252. package/lib/{plus-usr0h0Sg.mjs → plus-BY6E-gA7.mjs} +1 -1
  253. package/lib/{plus-Db3legXY.js → plus-DVGYUzNZ.js} +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-BHrMFAeD.mjs → qr-code-DkdB4YWU.mjs} +1 -1
  257. package/lib/{qr-code-TxdsKI2-.js → qr-code-MKK1K7_f.js} +1 -1
  258. package/lib/{recycle-horizontal-C029OirL.mjs → recycle-horizontal-Bg37UVPn.mjs} +1 -1
  259. package/lib/{recycle-horizontal-CV-Z-xr2.js → recycle-horizontal-Bjn-ZLNs.js} +1 -1
  260. package/lib/{refresh-BOyC5R7s.mjs → refresh-D6TcjIU1.mjs} +1 -1
  261. package/lib/{refresh-gknrXeiN.js → refresh-dRlw97C1.js} +1 -1
  262. package/lib/{reown-logo-E4Y6lFRH.mjs → reown-logo-Dk82Zy5_.mjs} +1 -1
  263. package/lib/{reown-logo-EEGXueyS.js → reown-logo-Kc70GqDZ.js} +1 -1
  264. package/lib/{search-CS8TeAhL.mjs → search-D83RKxoH.mjs} +1 -1
  265. package/lib/{search-BgffY2-W.js → search-Dv-LI1Vx.js} +1 -1
  266. package/lib/{secp256k1-B4pP7t0Q.mjs → secp256k1-BrfK8uV1.mjs} +1 -1
  267. package/lib/{secp256k1-C5vdKPJ_.mjs → secp256k1-DV6Qne0v.mjs} +1 -1
  268. package/lib/{secp256k1-B8yo9NK3.js → secp256k1-DXHZqO4S.js} +1 -1
  269. package/lib/{secp256k1-vuensNa0.js → secp256k1-sf_P35Lc.js} +1 -1
  270. package/lib/{send-DPZWMS7g.js → send-BSMIYys9.js} +1 -1
  271. package/lib/{send-DAp63gAc.mjs → send-Cyopk79y.mjs} +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-BHr-TCKL.js +1 -0
  275. package/lib/{solana-B-yJpfRk.mjs → solana-CrMvdvfl.mjs} +11 -11
  276. package/lib/{solana-Cv5Nbmh4.js → solana-DS2ZcUpG.js} +4 -4
  277. package/lib/solana-Dhrl0nvx.mjs +18 -0
  278. package/lib/{solanaEmbed.esm-Nb0f5Bcf.js → solanaEmbed.esm-1oBtzdki.js} +1 -1
  279. package/lib/{solanaEmbed.esm-DyoMhGln.mjs → solanaEmbed.esm-Dj8UZAI5.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-C6UUvjyd.mjs} +3 -3
  319. package/lib/{sui-C4QOXfn4.mjs → sui-jsmS--zo.mjs} +8 -8
  320. package/lib/{sui-CViWN23E.js → sui-mpRuHBm9.js} +1 -1
  321. package/lib/{sui-Do3J5v2h.js → sui-wX1yJDdB.js} +1 -1
  322. package/lib/{swapHorizontal-BXabxyWk.js → swapHorizontal-Bg8dDuE0.js} +1 -1
  323. package/lib/{swapHorizontal-BAl7yPCe.mjs → swapHorizontal-BiNrGmxY.mjs} +1 -1
  324. package/lib/{swapHorizontalBold-CNpE1U1o.mjs → swapHorizontalBold-CNvg6Zjx.mjs} +1 -1
  325. package/lib/{swapHorizontalBold-2NjnySxd.js → swapHorizontalBold-DeCMOo5R.js} +1 -1
  326. package/lib/{swapHorizontalMedium-BwSIk8q4.js → swapHorizontalMedium-DClbbhUH.js} +1 -1
  327. package/lib/{swapHorizontalMedium-D6igpWxG.mjs → swapHorizontalMedium-TUPMHawi.mjs} +1 -1
  328. package/lib/{swapHorizontalRoundedBold-B6qi_uT4.mjs → swapHorizontalRoundedBold-BAlHBaC3.mjs} +1 -1
  329. package/lib/{swapHorizontalRoundedBold-DP63dC-o.js → swapHorizontalRoundedBold-Cwu5ydTm.js} +1 -1
  330. package/lib/{swapVertical-DosujBg8.mjs → swapVertical-DDYEDCbu.mjs} +1 -1
  331. package/lib/{swapVertical-CkN9z1k4.js → swapVertical-cn4noOLO.js} +1 -1
  332. package/lib/{telegram-D3tmdhc2.mjs → telegram-BGnemuS8.mjs} +1 -1
  333. package/lib/{telegram-CCqTguAZ.js → telegram-sBtcJjCa.js} +1 -1
  334. package/lib/{three-dots-DIorrO14.mjs → three-dots-BS-tA53X.mjs} +1 -1
  335. package/lib/{three-dots-CES7HN37.js → three-dots-Ci3M242Y.js} +1 -1
  336. package/lib/{tokens-D3bLTygd.js → tokens-DprimVrG.js} +1 -1
  337. package/lib/{tokens-CU3HMDM6.mjs → tokens-ZJvnv3ye.mjs} +3 -3
  338. package/lib/{twitch-CTYgEk87.mjs → twitch-DwEOOcQc.mjs} +1 -1
  339. package/lib/{twitch-D34MsrHU.js → twitch-kde2nyWc.js} +1 -1
  340. package/lib/{twitterIcon-DGIe51hs.mjs → twitterIcon-D-aL497o.mjs} +1 -1
  341. package/lib/{twitterIcon-DtgydUL9.js → twitterIcon-EX3YrhMm.js} +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-JdOdGlJW.js → verify-BuD5oE0Y.js} +1 -1
  347. package/lib/{verify-DeO-Hik_.mjs → verify-DPJd26j0.mjs} +1 -1
  348. package/lib/{verify-filled-D3-Qs_-y.mjs → verify-filled-BSJMiVyN.mjs} +1 -1
  349. package/lib/{verify-filled-DDjscBOi.js → verify-filled-DgfMnLnW.js} +1 -1
  350. package/lib/{w3m-modal-aad-Io6d.js → w3m-modal-jDCMhVYM.js} +1 -1
  351. package/lib/{w3m-modal-B0yhKMwq.mjs → w3m-modal-vqqsLuJC.mjs} +2 -2
  352. package/lib/{wallet-yCXA67Qu.mjs → wallet-CiaeeygI.mjs} +1 -1
  353. package/lib/{wallet-BX_HNOiI.js → wallet-DlsCAJmu.js} +1 -1
  354. package/lib/{wallet-placeholder-CP7SPblM.js → wallet-placeholder-CWeGWgUL.js} +1 -1
  355. package/lib/{wallet-placeholder-B3Z8IdVs.mjs → wallet-placeholder-DhQ6l48d.mjs} +1 -1
  356. package/lib/{walletconnect-DIjBEyTX.mjs → walletconnect-CHFqRNg_.mjs} +1 -1
  357. package/lib/{walletconnect-DyRNFsK0.js → walletconnect-YkYiOGcA.js} +1 -1
  358. package/lib/{warning-circle-D8DVppzp.js → warning-circle-BKWEaDK7.js} +1 -1
  359. package/lib/{warning-circle-CXFKWypw.mjs → warning-circle-z__jbYAZ.mjs} +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-DXPEHEVV.mjs} +1 -1
  363. package/lib/{x-B8n79hg8.js → x-De5ksSKs.js} +1 -1
  364. package/package.json +26 -26
  365. package/dist/assets/index-C36A04gA.js +0 -1
  366. package/lib/index-CcYWzKmx.js +0 -1
  367. package/lib/index-DR9PpmKV.js +0 -304
  368. package/lib/solana-BduBLBMs.mjs +0 -18
  369. package/lib/solana-BsxuzgAi.js +0 -1
  370. package/lib/web3-B2F9atsZ.mjs +0 -34
@@ -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) {
@@ -1 +1 @@
1
- "use strict";var Me=Object.defineProperty;var Ie=(r,e,t)=>e in r?Me(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var c=(r,e,t)=>Ie(r,typeof e!="symbol"?e+"":e,t);const i=require("./address-CCed-aPr.js"),m=require("./index-BrGsuxgs.js"),p=require("./account-BNwyiy8l.js"),X=require("./unsignedTransaction-CQnHvnm6.js"),Ee=require("./create-DFS178qc.js"),Pe=require("./chain-BYKgc1Rl.js"),O=new i.PublicKey("BPFLoaderUpgradeab1e11111111111111111111111");function te(r){return p.deriveAddress([new i.PublicKey(r).toBuffer()],O)}class Be extends Error{constructor(e){super(e),this.name="IdlError"}}function Y(r,e){switch(e.type.kind){case"struct":return e.type.fields.map(t=>M(r,t.type)).reduce((t,n)=>t+n,0);case"enum":{const t=e.type.variants.map(n=>n.fields?n.fields.map(s=>typeof s=="object"&&"name"in s?M(r,s.type):M(r,s)).reduce((s,a)=>s+a,0):0);return Math.max(...t)+1}case"alias":return M(r,e.type.value)}}function M(r,e){var t;switch(e){case"bool":return 1;case"u8":return 1;case"i8":return 1;case"i16":return 2;case"u16":return 2;case"u32":return 4;case"i32":return 4;case"f32":return 4;case"u64":return 8;case"i64":return 8;case"f64":return 8;case"u128":return 16;case"i128":return 16;case"u256":return 32;case"i256":return 32;case"bytes":return 1;case"string":return 1;case"publicKey":return 32;default:if("vec"in e)return 1;if("option"in e)return 1+M(r,e.option);if("coption"in e)return 4+M(r,e.coption);if("defined"in e){const n=((t=r.types)==null?void 0:t.filter(a=>a.name===e.defined))??[];if(n.length!==1)throw new Be(`Type not found: ${JSON.stringify(e)}`);let s=n[0];return Y(r,s)}if("array"in e){let n=e.array[0],s=e.array[1];return M(r,n)*s}throw new Error(`Invalid type ${JSON.stringify(e)}`)}}function L(r){return r.replace(/(?:^\w|[A-Z]|\b\w)/g,function(e,t){return t===0?e.toLowerCase():e.toUpperCase()}).replace(/[\s\-_]+/g,"")}function xe(r){return r.charAt(0).toUpperCase()+r.slice(1)}const ne=[{name:"discriminator",binary:"bytes",size:4},{name:"consistencyLevel",binary:"uint",size:1,endianness:"little"},{name:"emitterAuthority",...i.universalAddressItem},{name:"messageStatus",binary:"uint",size:1,endianness:"little"},{name:"gap",binary:"uint",size:3},{name:"timestamp",binary:"uint",size:4,endianness:"little"},{name:"nonce",binary:"uint",size:4,endianness:"little"},{name:"sequence",binary:"uint",size:8,endianness:"little"},{name:"emitterChain",binary:"uint",size:2,endianness:"little"},{name:"emitterAddress",...i.universalAddressItem},{name:"payloadLength",binary:"uint",size:4,endianness:"little"},{name:"payload",binary:"bytes"}];function re(r){return i.deserialize$1(ne,r)}function E(r,e,t,n){const s=typeof e=="string"?i.dist.Buffer.from(e,"hex"):i.dist.Buffer.from(e);if(s.length!=32)throw Error("address.length != 32");const a=i.dist.Buffer.alloc(8);return a.writeBigUInt64BE(typeof n=="number"?BigInt(n):n),p.deriveAddress([s,(()=>{const o=i.dist.Buffer.alloc(2);return o.writeUInt16BE(t),o})(),a],r)}async function se(r,e,t,n,s,a){return r.getAccountInfo(E(e,t,n,s),a).then(o=>!!p.getAccountData(o)[0])}function h(r){return p.deriveAddress([i.dist.Buffer.from("Bridge")],r)}async function ie(r,e,t){return r.getAccountInfo(h(e),t).then(n=>k.deserialize(p.getAccountData(n)))}class v{constructor(e,t){c(this,"guardianSetExpirationTime");c(this,"fee");this.guardianSetExpirationTime=e,this.fee=t}static deserialize(e){if(e.length!=12)throw new Error("data.length != 12");const t=e.readUInt32LE(0),n=e.readBigUInt64LE(4);return new v(t,n)}}class k{constructor(e,t,n){c(this,"guardianSetIndex");c(this,"lastLamports");c(this,"config");this.guardianSetIndex=e,this.lastLamports=t,this.config=n}static deserialize(e){if(e.length!=24)throw new Error("data.length != 24");const t=e.readUInt32LE(0),n=e.readBigUInt64LE(4),s=v.deserialize(e.subarray(12));return new k(t,n,s)}}function C(r,e){return p.deriveAddress([i.dist.Buffer.from("Sequence"),new i.PublicKey(r).toBytes()],e)}async function ae(r,e,t,n){return r.getAccountInfo(C(e,t),n).then(s=>z.deserialize(p.getAccountData(s)))}class z{constructor(e,t,n){c(this,"sequence");c(this,"bump");c(this,"emitterType");this.sequence=e,this.bump=t,this.emitterType=n}static deserialize(e){if(e.length!==8&&e.length!==10)throw new Error("data.length != 8 or data.length != 10");let t,n;const s=e.readBigUInt64LE(0);return e.length===10&&(t=e[8],n=e[9]),new z(s,t,n)}value(){return this.sequence}}function q(r){return p.deriveAddress([i.dist.Buffer.from("emitter")],r)}function N(r,e){const t=q(r);return{emitter:t,sequence:C(t,e)}}async function oe(r,e,t,n){return ae(r,q(e),t,n)}function P(r){return p.deriveAddress([i.dist.Buffer.from("fee_collector")],r)}const Z=65,U=20;function Ke(r,e,t){return new i.TransactionInstruction({keys:[],programId:i.Secp256k1Program.programId,data:Le.serialize(r,e,t)})}class Le{static serialize(e,t,n){if(e.length==0)throw Error("signatures.length == 0");if(e.length!=t.length)throw Error("signatures.length != keys.length");if(n.length!=32)throw Error("message.length != 32");const s=e.length,a=11,o=1+s*a,u=Z+U,d=o+s*u,f=32,g=i.dist.Buffer.alloc(d+f);g.writeUInt8(s,0),g.write(n.toString("hex"),d,"hex");for(let l=0;l<s;++l){const y=e.at(l);if((y==null?void 0:y.length)!=Z)throw Error(`signatures[${l}].length != 65`);const S=t.at(l);if((S==null?void 0:S.length)!=U)throw Error(`keys[${l}].length != 20`);const A=o+u*l,K=A+65;g.writeUInt16LE(A,1+l*a),g.writeUInt8(0,3+l*a),g.writeUInt16LE(K,4+l*a),g.writeUInt8(0,6+l*a),g.writeUInt16LE(d,7+l*a),g.writeUInt16LE(f,9+l*a),g.writeUInt8(0,10+l*a),g.write(y.toString("hex"),A,"hex"),g.write(S.toString("hex"),K,"hex")}return g}}function I(r,e){return p.deriveAddress([i.dist.Buffer.from("GuardianSet"),(()=>{const t=i.dist.Buffer.alloc(4);return t.writeUInt32BE(e),t})()],r)}async function G(r,e,t,n){return r.getAccountInfo(I(e,t),n).then(s=>V.deserialize(p.getAccountData(s)))}class V{constructor(e,t,n,s){c(this,"index");c(this,"keys");c(this,"creationTime");c(this,"expirationTime");this.index=e,this.keys=t,this.creationTime=n,this.expirationTime=s}static deserialize(e){const t=e.readUInt32LE(0),n=e.readUInt32LE(4),s=8+n*U,a=e.readUInt32LE(s),o=e.readUInt32LE(4+s),u=[];for(let d=0;d<n;++d){const f=8+d*U;u.push(e.subarray(f,f+U))}return new V(t,u,a,o)}}function b(r,e){return p.deriveAddress([i.dist.Buffer.from("PostedVAA"),e],r)}async function Ue(r,e,t){return r.getAccountInfo(new i.PublicKey(e),t).then(n=>D.deserialize(p.getAccountData(n)))}class D{constructor(e,t,n){c(this,"signatures");c(this,"hash");c(this,"guardianSetIndex");this.signatures=e,this.hash=t,this.guardianSetIndex=n}static deserialize(e){const t=e.readUInt32LE(0),n=[...e.subarray(4,4+t)].map(u=>u!=0),s=4+t,a=e.subarray(s,s+32),o=e.readUInt32LE(s+32);return new D(n,a,o)}}function $(r){return p.deriveAddress([i.dist.Buffer.from("upgrade")],r)}function W(r,e,t){return i.SystemProgram.transfer({fromPubkey:new i.PublicKey(e),toPubkey:P(r),lamports:t})}class Ce{constructor(e){c(this,"idl");this.idl=e}async encode(e,t){switch(e){default:throw new Error(`Invalid account name: ${e}`)}}decode(e,t){return this.decodeUnchecked(e,t)}decodeUnchecked(e,t){switch(e){default:throw new Error(`Invalid account name: ${e}`)}}memcmp(e,t){switch(e){case"postVaa":return{dataSize:56};default:throw new Error(`Invalid account name: ${e}`)}}size(e){return Y(this.idl,e)??0}}class _e{constructor(e){}decode(e){throw new Error("Wormhole program does not have events")}}class B{static fieldLayout(e,t){const n=e.name!==void 0?L(e.name):void 0;switch(e.type){case"bool":return m.dist.bool(n);case"u8":return m.dist.u8(n);case"i8":return m.dist.i8(n);case"u16":return m.dist.u16(n);case"i16":return m.dist.i16(n);case"u32":return m.dist.u32(n);case"i32":return m.dist.i32(n);case"f32":return m.dist.f32(n);case"u64":return m.dist.u64(n);case"i64":return m.dist.i64(n);case"f64":return m.dist.f64(n);case"u128":return m.dist.u128(n);case"i128":return m.dist.i128(n);case"u256":return m.dist.u256(n);case"i256":return m.dist.i256(n);case"bytes":return m.dist.vecU8(n);case"string":return m.dist.str(n);case"publicKey":return m.dist.publicKey(n);default:{if("vec"in e.type)return m.dist.vec(B.fieldLayout({name:void 0,type:e.type.vec},t),n);if("option"in e.type)return m.dist.option(B.fieldLayout({name:void 0,type:e.type.option},t),n);if("array"in e.type){let s=e.type.array[0],a=e.type.array[1],o=B.fieldLayout({name:void 0,type:s},t);return m.dist.array(o,a,n)}else throw new Error(`Not yet implemented: ${e}`)}}}}class j{constructor(e){c(this,"ixLayout");this.ixLayout=j.parseIxLayout(e)}static parseIxLayout(e){const n=(e.instructions?e.instructions:[]).map(s=>{let a=s.args.map(u=>B.fieldLayout(u,Array.from([...e.accounts??[],...e.types??[]])));const o=L(s.name);return[o,m.dist.struct(a,o)]}).concat(e.instructions.map(s=>{let a=s.args.map(u=>B.fieldLayout(u,Array.from([...e.accounts??[],...e.types??[]])));const o=L(s.name);return[o,m.dist.struct(a,o)]}));return new Map(n)}encode(e,t){const n=i.dist.Buffer.alloc(1e3),s=L(e),a=this.ixLayout.get(s);if(!a)throw new Error(`Unknown method: ${s}`);const o=a.encode(t,n),u=n.slice(0,o);return Te(T[xe(s)],u)}encodeState(e,t){throw new Error("Wormhole program does not have state")}decode(e,t="hex"){var u;typeof e=="string"&&(e=t==="hex"?i.dist.Buffer.from(e,"hex"):i.b58.decode(e));let n=i.dist.Buffer.from(e.slice(0,1)).readInt8(),s=i.dist.Buffer.from(e.slice(1)),a=L(T[n]??"");return this.ixLayout.get(a)?{data:(u=this.ixLayout.get(a))==null?void 0:u.decode(s),name:a}:null}}var T;(function(r){r[r.Initialize=0]="Initialize",r[r.PostMessage=1]="PostMessage",r[r.PostVaa=2]="PostVaa",r[r.SetFees=3]="SetFees",r[r.TransferFees=4]="TransferFees",r[r.UpgradeContract=5]="UpgradeContract",r[r.UpgradeGuardianSet=6]="UpgradeGuardianSet",r[r.VerifySignatures=7]="VerifySignatures",r[r.PostMessageUnreliable=8]="PostMessageUnreliable"})(T||(T={}));function Te(r,e){const t=i.dist.Buffer.alloc(1+(e===void 0?0:e.length));return t.writeUInt8(r,0),e!==void 0&&t.write(e.toString("hex"),1,"hex"),t}class ve{constructor(e){}encode(e,t){throw new Error("Wormhole program does not have state")}decode(e){throw new Error("Wormhole program does not have state")}}class ke{constructor(e){}encode(e,t){throw new Error("Wormhole program does not have user-defined types")}decode(e,t){throw new Error("Wormhole program does not have user-defined types")}}class ze{constructor(e){c(this,"instruction");c(this,"accounts");c(this,"state");c(this,"events");c(this,"types");this.instruction=new j(e),this.accounts=new Ce(e),this.state=new ve(e),this.events=new _e(e),this.types=new ke(e)}}const H={version:"0.1.0",name:"wormhole",instructions:[{name:"initialize",accounts:[{name:"bridge",isMut:!0,isSigner:!1},{name:"guardianSet",isMut:!0,isSigner:!1},{name:"feeCollector",isMut:!0,isSigner:!1},{name:"payer",isMut:!0,isSigner:!0},{name:"clock",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"guardianSetExpirationTime",type:"u32"},{name:"fee",type:"u64"},{name:"initialGuardians",type:{vec:{array:["u8",20]}}}]},{name:"postMessage",accounts:[{name:"bridge",isMut:!0,isSigner:!1},{name:"message",isMut:!0,isSigner:!0},{name:"emitter",isMut:!1,isSigner:!0},{name:"sequence",isMut:!0,isSigner:!1},{name:"payer",isMut:!0,isSigner:!0},{name:"feeCollector",isMut:!0,isSigner:!1},{name:"clock",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"nonce",type:"u32"},{name:"payload",type:"bytes"},{name:"consistencyLevel",type:"u8"}]},{name:"postVaa",accounts:[{name:"guardianSet",isMut:!1,isSigner:!1},{name:"bridge",isMut:!1,isSigner:!1},{name:"signatureSet",isMut:!1,isSigner:!1},{name:"vaa",isMut:!0,isSigner:!1},{name:"payer",isMut:!0,isSigner:!0},{name:"clock",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"version",type:"u8"},{name:"guardianSetIndex",type:"u32"},{name:"timestamp",type:"u32"},{name:"nonce",type:"u32"},{name:"emitterChain",type:"u16"},{name:"emitterAddress",type:{array:["u8",32]}},{name:"sequence",type:"u64"},{name:"consistencyLevel",type:"u8"},{name:"payload",type:"bytes"}]},{name:"setFees",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"bridge",isMut:!0,isSigner:!1},{name:"vaa",isMut:!1,isSigner:!1},{name:"claim",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[]},{name:"transferFees",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"bridge",isMut:!0,isSigner:!1},{name:"vaa",isMut:!1,isSigner:!1},{name:"claim",isMut:!0,isSigner:!1},{name:"feeCollector",isMut:!0,isSigner:!1},{name:"recipient",isMut:!0,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[]},{name:"upgradeContract",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"bridge",isMut:!0,isSigner:!1},{name:"vaa",isMut:!1,isSigner:!1},{name:"claim",isMut:!0,isSigner:!1},{name:"upgradeAuthority",isMut:!1,isSigner:!1},{name:"spill",isMut:!0,isSigner:!1},{name:"implementation",isMut:!0,isSigner:!1},{name:"programData",isMut:!0,isSigner:!1},{name:"wormholeProgram",isMut:!0,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"clock",isMut:!1,isSigner:!1},{name:"bpfLoaderUpgradeable",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[]},{name:"upgradeGuardianSet",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"bridge",isMut:!0,isSigner:!1},{name:"vaa",isMut:!1,isSigner:!1},{name:"claim",isMut:!0,isSigner:!1},{name:"guardianSetOld",isMut:!0,isSigner:!1},{name:"guardianSetNew",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[]},{name:"verifySignatures",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"guardianSet",isMut:!1,isSigner:!1},{name:"signatureSet",isMut:!0,isSigner:!0},{name:"instructions",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"signatureStatus",type:{array:["i8",19]}}]},{name:"postMessageUnreliable",accounts:[{name:"bridge",isMut:!0,isSigner:!1},{name:"message",isMut:!0,isSigner:!0},{name:"emitter",isMut:!1,isSigner:!0},{name:"sequence",isMut:!0,isSigner:!1},{name:"payer",isMut:!0,isSigner:!0},{name:"feeCollector",isMut:!0,isSigner:!1},{name:"clock",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"nonce",type:"u32"},{name:"payload",type:"bytes"},{name:"consistencyLevel",type:"u8"}]}],accounts:[{name:"PostedMessage",type:{kind:"struct",fields:[{name:"vaaVersion",type:"u8"},{name:"consistencyLevel",type:"u8"},{name:"vaaTime",type:"u32"},{name:"vaaSignatureAccount",type:"publicKey"},{name:"submissionTime",type:"u32"},{name:"nonce",type:"u32"},{name:"sequence",type:"u64"},{name:"emitterChain",type:"u16"},{name:"emitterAddress",type:{array:["u8",32]}},{name:"payload",type:"bytes"}]}},{name:"PostedVAA",type:{kind:"struct",fields:[{name:"vaaVersion",type:"u8"},{name:"consistencyLevel",type:"u8"},{name:"vaaTime",type:"u32"},{name:"vaaSignatureAccount",type:"publicKey"},{name:"submissionTime",type:"u32"},{name:"nonce",type:"u32"},{name:"sequence",type:"u64"},{name:"emitterChain",type:"u16"},{name:"emitterAddress",type:{array:["u8",32]}},{name:"payload",type:"bytes"}]}}]};function ue(r,e){return new m.Program(H,new i.PublicKey(r),e===void 0?{connection:null}:e,ce())}function w(r,e){return ue(r,m.createReadOnlyProvider(e))}function ce(){return new ze(H)}function qe(r,e,t,n){const s=w(e,r).methods.setFees();return s._ixFn(...s._args,{accounts:de(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function de(r,e,t){return{payer:new i.PublicKey(e),bridge:h(r),vaa:b(r,i.dist.Buffer.from(t.hash)),claim:E(r,t.emitterAddress.toString(),i.toChainId(t.emitterChain),t.sequence),systemProgram:i.SystemProgram.programId}}function Ve(r,e,t,n,s){const a=w(e,r).methods.transferFees();return a._ixFn(...a._args,{accounts:ge(e,t,n,s),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function ge(r,e,t,n){return{payer:new i.PublicKey(e),bridge:h(r),vaa:b(r,i.dist.Buffer.from(n.hash)),claim:E(r,n.emitterAddress.toString(),i.toChainId(n.emitterChain),n.sequence),feeCollector:P(r),recipient:new i.PublicKey(t),rent:i.SYSVAR_RENT_PUBKEY,systemProgram:i.SystemProgram.programId}}function De(r,e,t,n){const s=w(e,r).methods.upgradeGuardianSet();return s._ixFn(...s._args,{accounts:fe(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function fe(r,e,t){return{payer:new i.PublicKey(e),bridge:h(r),vaa:b(r,i.dist.Buffer.from(t.hash)),claim:E(r,t.emitterAddress.toString(),i.toChainId(t.emitterChain),t.sequence),guardianSetOld:I(r,t.guardianSet),guardianSetNew:I(r,t.guardianSet+1),systemProgram:i.SystemProgram.programId}}function Fe(r,e,t,n){const s=w(e,r).methods.upgradeContract();return s._ixFn(...s._args,{accounts:me(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function me(r,e,t,n){const{newContract:s}=t.payload.actionArgs;return{payer:new i.PublicKey(e),bridge:h(r),vaa:b(r,i.dist.Buffer.from(t.hash)),claim:E(r,t.emitterAddress.toString(),i.toChainId(t.emitterChain),t.sequence),upgradeAuthority:$(r),spill:new i.PublicKey(n===void 0?e:n),implementation:new i.SolanaAddress(s).unwrap(),programData:te(r),wormholeProgram:new i.PublicKey(r),rent:i.SYSVAR_RENT_PUBKEY,clock:i.SYSVAR_CLOCK_PUBKEY,bpfLoaderUpgradeable:O,systemProgram:i.SystemProgram.programId}}function Re(r,e,t,n,s,a){const o=w(e,r).methods.initialize(n,new i.BN(s.toString()),[...a.map(u=>[...new Uint8Array(u)])]);return o._ixFn(...o._args,{accounts:le(e,t),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function le(r,e){return{bridge:h(r),guardianSet:I(r,0),feeCollector:P(r),payer:new i.PublicKey(e),clock:i.SYSVAR_CLOCK_PUBKEY,rent:i.SYSVAR_RENT_PUBKEY,systemProgram:i.SystemProgram.programId}}function ye(r,e,t,n,s,a,o){const u=w(e,r).methods.postMessage(a,i.dist.Buffer.from(s),o);return u._ixFn(...u._args,{accounts:F(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function F(r,e,t,n){let s;return n?{emitter:n,sequence:s}=N(n,r):(n=e,s=C(n,r)),{bridge:h(r),message:new i.PublicKey(t),emitter:new i.PublicKey(n),sequence:s,payer:new i.PublicKey(e),feeCollector:P(r),clock:i.SYSVAR_CLOCK_PUBKEY,rent:i.SYSVAR_RENT_PUBKEY,systemProgram:i.SystemProgram.programId}}function pe(r,e,t,n,s){const a=w(e,r).methods.postVaa(1,n.guardianSet,n.timestamp,n.nonce,i.toChainId(n.emitterChain),[...n.emitterAddress.toUint8Array()],new i.BN(n.sequence.toString()),n.consistencyLevel,i.dist.Buffer.from(i.serializePayload(n.payloadLiteral,n.payload)));return a._ixFn(...a._args,{accounts:he(e,t,s,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function he(r,e,t,n){return{guardianSet:I(r,n.guardianSet),bridge:h(r),signatureSet:new i.PublicKey(t),vaa:b(r,i.dist.Buffer.from(n.hash)),payer:new i.PublicKey(e),clock:i.SYSVAR_CLOCK_PUBKEY,rent:i.SYSVAR_RENT_PUBKEY,systemProgram:i.SystemProgram.programId}}const Oe=19;async function Se(r,e,t,n,s,a){const o=n.guardianSet,u=await G(r,e,o,a),d=n.signatures,f=u.keys,g=7,l=[];for(let y=0;y<Math.ceil(d.length/g);++y){const S=y*g,A=Math.min(d.length,(y+1)*g),K=new Array(Oe).fill(-1),J=[],Q=[];for(let _=0;_<A-S;++_){const R=d.at(_+S);J.push(i.dist.Buffer.from(R.signature.encode())),Q.push(f.at(R.guardianIndex)),K[R.guardianIndex]=_}l.push(Ke(J,Q,i.dist.Buffer.from(n.hash))),l.push(Ye(r,e,t,n,s,K))}return l}function Ye(r,e,t,n,s,a){const o=w(e,r).methods.verifySignatures(a);return o._ixFn(...o._args,{accounts:we(e,t,s,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function we(r,e,t,n){return{payer:new i.PublicKey(e),guardianSet:I(r,n.guardianSet),signatureSet:new i.PublicKey(t),instructions:i.SYSVAR_INSTRUCTIONS_PUBKEY,rent:i.SYSVAR_RENT_PUBKEY,systemProgram:i.SystemProgram.programId}}function Ae(r,e){const{emitter:t,sequence:n}=N(r,e);return{wormholeBridge:h(e),wormholeEmitter:t,wormholeSequence:n,wormholeFeeCollector:P(e)}}function be(r,e,t,n){const s=F(e,t,n,r);return{payer:s.payer,wormholeBridge:s.bridge,wormholeMessage:s.message,wormholeEmitter:s.emitter,wormholeSequence:s.sequence,wormholeFeeCollector:s.feeCollector,clock:s.clock,rent:s.rent,systemProgram:s.systemProgram}}const Ne=Object.freeze(Object.defineProperty({__proto__:null,BridgeConfig:v,BridgeData:k,GuardianSetData:V,SequenceTracker:z,SignatureSetData:D,coder:ce,createBridgeFeeTransferInstruction:W,createInitializeInstruction:Re,createPostMessageInstruction:ye,createPostVaaInstruction:pe,createReadOnlyWormholeProgramInterface:w,createSetFeesInstruction:qe,createTransferFeesInstruction:Ve,createUpgradeContractInstruction:Fe,createUpgradeGuardianSetInstruction:De,createVerifySignaturesInstructions:Se,createWormholeProgramInterface:ue,deriveClaimKey:E,deriveEmitterSequenceKey:C,deriveFeeCollectorKey:P,deriveGuardianSetKey:I,derivePostedVaaKey:b,deriveUpgradeAuthorityKey:$,deriveWormholeBridgeDataKey:h,deriveWormholeEmitterKey:q,getClaim:se,getEmitterKeys:N,getGuardianSet:G,getInitializeAccounts:le,getPostMessageAccounts:F,getPostMessageCpiAccounts:be,getPostVaaAccounts:he,getProgramSequenceTracker:oe,getSequenceTracker:ae,getSetFeesAccounts:de,getSignatureSetData:Ue,getTransferFeesAccounts:ge,getUpgradeContractAccounts:me,getUpgradeGuardianSetAccounts:fe,getVerifySignatureAccounts:we,getWormholeBridgeData:ie,getWormholeDerivedAccounts:Ae},Symbol.toStringTag,{value:"Module"})),ee="Program log: Sequence: ";class x{constructor(e,t,n,s){c(this,"network");c(this,"chain");c(this,"connection");c(this,"contracts");c(this,"chainId");c(this,"coreBridge");c(this,"address");c(this,"bridgeData");this.network=e,this.chain=t,this.connection=n,this.contracts=s,this.chainId=i.toChainId(t);const a=s.coreBridge;if(!a)throw new Error(`CoreBridge contract Address for chain ${t} not found`);this.address=a,this.coreBridge=w(a,n)}async getGuardianSet(e){const t=await G(this.connection,this.coreBridge.programId,e);return{index:t.index,keys:t.keys.map(n=>n.toString("hex")),expiry:BigInt(t.expirationTime)}}static async fromRpc(e,t){const[n,s]=await X.SolanaPlatform.chainFromRpc(e),a=t[s];if(a.network!==n)throw new Error(`Network mismatch for chain ${s}: ${a.network} != ${n}`);return new x(n,s,e,t[s].contracts)}async ensureBridgeConfig(){this.bridgeData||(this.bridgeData=await ie(this.connection,this.coreBridge.programId))}async getMessageFee(){return await this.ensureBridgeConfig(),this.bridgeData.config.fee}async getGuardianSetIndex(){return await this.ensureBridgeConfig(),this.bridgeData.guardianSetIndex}async*publishMessage(e,t,n,s){const a=i.Keypair.generate(),o=new i.SolanaAddress(e).unwrap(),u=ye(this.connection,this.coreBridge.programId,o,a.publicKey,t,n,s),d=await this.getMessageFee(),f=W(this.coreBridge.programId,o,d),g=new i.Transaction;g.feePayer=o,g.add(f,u),yield this.createUnsignedTx({transaction:g,signers:[a]},"Core.PublishMessage")}async*verifyMessage(e,t){yield*this.postVaa(e,t)}async*postVaa(e,t){const n=b(this.coreBridge.programId,i.dist.Buffer.from(t.hash));if(await this.connection.getAccountInfo(n))return;const a=new i.SolanaAddress(e).unwrap(),o=i.Keypair.generate(),u=await Se(this.connection,this.coreBridge.programId,a,t,o.publicKey);for(let f=0;f<u.length;f+=2){const g=new i.Transaction().add(...u.slice(f,f+2));g.feePayer=a,yield this.createUnsignedTx({transaction:g,signers:[o]},"Core.VerifySignature",!0)}const d=new i.Transaction().add(pe(this.connection,this.coreBridge.programId,a,t,o.publicKey));d.feePayer=a,yield this.createUnsignedTx({transaction:d},"Core.PostVAA")}static parseSequenceFromLog(e,t){var d,f,g,l;const{meta:n,transaction:{message:s}}=t;if(!((d=n==null?void 0:n.innerInstructions)!=null&&d.length))return[];const a=s.staticAccountKeys;if(a.filter(y=>y.toString()===e).length===0)return[];const o=(l=(g=(f=n==null?void 0:n.logMessages)==null?void 0:f.filter(y=>y.startsWith(ee)))==null?void 0:g[0])==null?void 0:l.replace(ee,"");if(!o)return[];const u=[];for(const y of n==null?void 0:n.innerInstructions){const S=y.instructions;u.push(...S.filter(A=>A.programIdIndex in a&&a[A.programIdIndex].toString()===e))}return u.length<1?[]:a.length<3?[]:u.map(y=>[new i.SolanaAddress(a[y.accounts[2]]).toUniversalAddress(),BigInt(o)]).filter(y=>y!==null)}async getMessageAccountKeys(e){let t;if(typeof e.transaction.message.version!="string")if(e.meta.loadedAddresses)t=e.transaction.message.getAccountKeys({accountKeysFromLookups:e.meta.loadedAddresses});else{const n=await Promise.all(e.transaction.message.addressTableLookups.map(async s=>{const a=await this.connection.getAddressLookupTable(s.accountKey);if(!a||!a.value)throw new Error("Could not resolve lookup table: "+s.accountKey.toBase58());return a.value}));t=e.transaction.message.getAccountKeys({addressLookupTableAccounts:n})}else t=e.transaction.message.getAccountKeys();return t}async findInstructions(e,t){var d;const{meta:n,transaction:{message:s}}=t,a=this.coreBridge.programId,o=(d=n.innerInstructions)==null?void 0:d.flatMap(f=>f.instructions.filter(g=>a.toString()===e.get(g.programIdIndex).toString())).map(f=>({programIdIndex:f.programIdIndex,accountKeyIndexes:f.accounts})),u=s.compiledInstructions.filter(f=>a.toString()===e.get(f.programIdIndex).toString());return[...o,...u]}async parsePostMessageAccount(e){const t=await this.connection.getAccountInfo(e);if(!(t!=null&&t.data))throw new Error("No data found in message account");const{timestamp:n,emitterAddress:s,emitterChain:a,consistencyLevel:o,sequence:u,nonce:d,payload:f}=re(new Uint8Array(t==null?void 0:t.data));return Ee.createVAA("Uint8Array",{guardianSet:await this.getGuardianSetIndex(),emitterChain:i.toChain(a),timestamp:n,emitterAddress:s,consistencyLevel:o,sequence:u,nonce:d,payload:f,signatures:[]})}async parseTransaction(e){const t=await this.connection.getTransaction(e,{maxSupportedTransactionVersion:0});if(!t||!t.meta||!t.meta.innerInstructions)throw new Error("transaction not found");try{const o=x.parseSequenceFromLog(this.coreBridge.programId.toBase58(),t);if(o.length>0){const[u,d]=o[0];return[{chain:this.chain,emitter:u,sequence:d}]}}catch{}const n=await this.getMessageAccountKeys(t),s=await this.findInstructions(n,t);if(!s||s.length===0)throw new Error("no bridge messages found");const a=s.map(async o=>{const u=n.get(o.accountKeyIndexes[1]),d=await this.parsePostMessageAccount(u);return{chain:d.emitterChain,emitter:d.emitterAddress,sequence:d.sequence}});return await Promise.all(a)}async parseMessages(e){const t=await this.connection.getTransaction(e,{maxSupportedTransactionVersion:0});if(!t||!t.meta||!t.meta.innerInstructions)throw new Error("transaction not found");const n=await this.getMessageAccountKeys(t),s=await this.findInstructions(n,t);if(!s||s.length===0)throw new Error("no bridge messages found");const a=s.map(async o=>{const u=n.get(o.accountKeyIndexes[1]);return await this.parsePostMessageAccount(u)});return await Promise.all(a)}createUnsignedTx(e,t,n=!1){return new X.SolanaUnsignedTransaction(e,this.network,this.chain,t,n)}}Pe.registerProtocol(i._platform$1,"WormholeCore",x);const Ge=Object.freeze(Object.defineProperty({__proto__:null,IDL:H,SolanaWormholeCore:x,deserializePostMessage:re,postMessageLayout:ne,utils:Ne},Symbol.toStringTag,{value:"Module"}));exports.BPF_LOADER_UPGRADEABLE_PROGRAM_ID=O;exports.SolanaWormholeCore=x;exports.accountSize=Y;exports.createBridgeFeeTransferInstruction=W;exports.deriveClaimKey=E;exports.deriveEmitterSequenceKey=C;exports.deriveFeeCollectorKey=P;exports.derivePostedVaaKey=b;exports.deriveProgramDataAddress=te;exports.deriveUpgradeAuthorityKey=$;exports.deriveWormholeBridgeDataKey=h;exports.deriveWormholeEmitterKey=q;exports.getClaim=se;exports.getPostMessageAccounts=F;exports.getPostMessageCpiAccounts=be;exports.getProgramSequenceTracker=oe;exports.getWormholeDerivedAccounts=Ae;exports.index=Ge;
1
+ "use strict";var Me=Object.defineProperty;var Ie=(r,e,t)=>e in r?Me(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var c=(r,e,t)=>Ie(r,typeof e!="symbol"?e+"":e,t);const i=require("./address-CSWlEusF.js"),m=require("./index-Csb-_vqa.js"),p=require("./account-gVjkECaX.js"),X=require("./unsignedTransaction-3gDumn1W.js"),Ee=require("./create-BRB2U1qV.js"),Pe=require("./chain-DTh9H2Cq.js"),O=new i.PublicKey("BPFLoaderUpgradeab1e11111111111111111111111");function te(r){return p.deriveAddress([new i.PublicKey(r).toBuffer()],O)}class Be extends Error{constructor(e){super(e),this.name="IdlError"}}function Y(r,e){switch(e.type.kind){case"struct":return e.type.fields.map(t=>M(r,t.type)).reduce((t,n)=>t+n,0);case"enum":{const t=e.type.variants.map(n=>n.fields?n.fields.map(s=>typeof s=="object"&&"name"in s?M(r,s.type):M(r,s)).reduce((s,a)=>s+a,0):0);return Math.max(...t)+1}case"alias":return M(r,e.type.value)}}function M(r,e){var t;switch(e){case"bool":return 1;case"u8":return 1;case"i8":return 1;case"i16":return 2;case"u16":return 2;case"u32":return 4;case"i32":return 4;case"f32":return 4;case"u64":return 8;case"i64":return 8;case"f64":return 8;case"u128":return 16;case"i128":return 16;case"u256":return 32;case"i256":return 32;case"bytes":return 1;case"string":return 1;case"publicKey":return 32;default:if("vec"in e)return 1;if("option"in e)return 1+M(r,e.option);if("coption"in e)return 4+M(r,e.coption);if("defined"in e){const n=((t=r.types)==null?void 0:t.filter(a=>a.name===e.defined))??[];if(n.length!==1)throw new Be(`Type not found: ${JSON.stringify(e)}`);let s=n[0];return Y(r,s)}if("array"in e){let n=e.array[0],s=e.array[1];return M(r,n)*s}throw new Error(`Invalid type ${JSON.stringify(e)}`)}}function L(r){return r.replace(/(?:^\w|[A-Z]|\b\w)/g,function(e,t){return t===0?e.toLowerCase():e.toUpperCase()}).replace(/[\s\-_]+/g,"")}function xe(r){return r.charAt(0).toUpperCase()+r.slice(1)}const ne=[{name:"discriminator",binary:"bytes",size:4},{name:"consistencyLevel",binary:"uint",size:1,endianness:"little"},{name:"emitterAuthority",...i.universalAddressItem},{name:"messageStatus",binary:"uint",size:1,endianness:"little"},{name:"gap",binary:"uint",size:3},{name:"timestamp",binary:"uint",size:4,endianness:"little"},{name:"nonce",binary:"uint",size:4,endianness:"little"},{name:"sequence",binary:"uint",size:8,endianness:"little"},{name:"emitterChain",binary:"uint",size:2,endianness:"little"},{name:"emitterAddress",...i.universalAddressItem},{name:"payloadLength",binary:"uint",size:4,endianness:"little"},{name:"payload",binary:"bytes"}];function re(r){return i.deserialize$1(ne,r)}function E(r,e,t,n){const s=typeof e=="string"?i.dist.Buffer.from(e,"hex"):i.dist.Buffer.from(e);if(s.length!=32)throw Error("address.length != 32");const a=i.dist.Buffer.alloc(8);return a.writeBigUInt64BE(typeof n=="number"?BigInt(n):n),p.deriveAddress([s,(()=>{const o=i.dist.Buffer.alloc(2);return o.writeUInt16BE(t),o})(),a],r)}async function se(r,e,t,n,s,a){return r.getAccountInfo(E(e,t,n,s),a).then(o=>!!p.getAccountData(o)[0])}function h(r){return p.deriveAddress([i.dist.Buffer.from("Bridge")],r)}async function ie(r,e,t){return r.getAccountInfo(h(e),t).then(n=>k.deserialize(p.getAccountData(n)))}class v{constructor(e,t){c(this,"guardianSetExpirationTime");c(this,"fee");this.guardianSetExpirationTime=e,this.fee=t}static deserialize(e){if(e.length!=12)throw new Error("data.length != 12");const t=e.readUInt32LE(0),n=e.readBigUInt64LE(4);return new v(t,n)}}class k{constructor(e,t,n){c(this,"guardianSetIndex");c(this,"lastLamports");c(this,"config");this.guardianSetIndex=e,this.lastLamports=t,this.config=n}static deserialize(e){if(e.length!=24)throw new Error("data.length != 24");const t=e.readUInt32LE(0),n=e.readBigUInt64LE(4),s=v.deserialize(e.subarray(12));return new k(t,n,s)}}function C(r,e){return p.deriveAddress([i.dist.Buffer.from("Sequence"),new i.PublicKey(r).toBytes()],e)}async function ae(r,e,t,n){return r.getAccountInfo(C(e,t),n).then(s=>z.deserialize(p.getAccountData(s)))}class z{constructor(e,t,n){c(this,"sequence");c(this,"bump");c(this,"emitterType");this.sequence=e,this.bump=t,this.emitterType=n}static deserialize(e){if(e.length!==8&&e.length!==10)throw new Error("data.length != 8 or data.length != 10");let t,n;const s=e.readBigUInt64LE(0);return e.length===10&&(t=e[8],n=e[9]),new z(s,t,n)}value(){return this.sequence}}function q(r){return p.deriveAddress([i.dist.Buffer.from("emitter")],r)}function N(r,e){const t=q(r);return{emitter:t,sequence:C(t,e)}}async function oe(r,e,t,n){return ae(r,q(e),t,n)}function P(r){return p.deriveAddress([i.dist.Buffer.from("fee_collector")],r)}const Z=65,U=20;function Ke(r,e,t){return new i.TransactionInstruction({keys:[],programId:i.Secp256k1Program.programId,data:Le.serialize(r,e,t)})}class Le{static serialize(e,t,n){if(e.length==0)throw Error("signatures.length == 0");if(e.length!=t.length)throw Error("signatures.length != keys.length");if(n.length!=32)throw Error("message.length != 32");const s=e.length,a=11,o=1+s*a,u=Z+U,d=o+s*u,f=32,g=i.dist.Buffer.alloc(d+f);g.writeUInt8(s,0),g.write(n.toString("hex"),d,"hex");for(let l=0;l<s;++l){const y=e.at(l);if((y==null?void 0:y.length)!=Z)throw Error(`signatures[${l}].length != 65`);const S=t.at(l);if((S==null?void 0:S.length)!=U)throw Error(`keys[${l}].length != 20`);const A=o+u*l,K=A+65;g.writeUInt16LE(A,1+l*a),g.writeUInt8(0,3+l*a),g.writeUInt16LE(K,4+l*a),g.writeUInt8(0,6+l*a),g.writeUInt16LE(d,7+l*a),g.writeUInt16LE(f,9+l*a),g.writeUInt8(0,10+l*a),g.write(y.toString("hex"),A,"hex"),g.write(S.toString("hex"),K,"hex")}return g}}function I(r,e){return p.deriveAddress([i.dist.Buffer.from("GuardianSet"),(()=>{const t=i.dist.Buffer.alloc(4);return t.writeUInt32BE(e),t})()],r)}async function G(r,e,t,n){return r.getAccountInfo(I(e,t),n).then(s=>V.deserialize(p.getAccountData(s)))}class V{constructor(e,t,n,s){c(this,"index");c(this,"keys");c(this,"creationTime");c(this,"expirationTime");this.index=e,this.keys=t,this.creationTime=n,this.expirationTime=s}static deserialize(e){const t=e.readUInt32LE(0),n=e.readUInt32LE(4),s=8+n*U,a=e.readUInt32LE(s),o=e.readUInt32LE(4+s),u=[];for(let d=0;d<n;++d){const f=8+d*U;u.push(e.subarray(f,f+U))}return new V(t,u,a,o)}}function b(r,e){return p.deriveAddress([i.dist.Buffer.from("PostedVAA"),e],r)}async function Ue(r,e,t){return r.getAccountInfo(new i.PublicKey(e),t).then(n=>D.deserialize(p.getAccountData(n)))}class D{constructor(e,t,n){c(this,"signatures");c(this,"hash");c(this,"guardianSetIndex");this.signatures=e,this.hash=t,this.guardianSetIndex=n}static deserialize(e){const t=e.readUInt32LE(0),n=[...e.subarray(4,4+t)].map(u=>u!=0),s=4+t,a=e.subarray(s,s+32),o=e.readUInt32LE(s+32);return new D(n,a,o)}}function $(r){return p.deriveAddress([i.dist.Buffer.from("upgrade")],r)}function W(r,e,t){return i.SystemProgram.transfer({fromPubkey:new i.PublicKey(e),toPubkey:P(r),lamports:t})}class Ce{constructor(e){c(this,"idl");this.idl=e}async encode(e,t){switch(e){default:throw new Error(`Invalid account name: ${e}`)}}decode(e,t){return this.decodeUnchecked(e,t)}decodeUnchecked(e,t){switch(e){default:throw new Error(`Invalid account name: ${e}`)}}memcmp(e,t){switch(e){case"postVaa":return{dataSize:56};default:throw new Error(`Invalid account name: ${e}`)}}size(e){return Y(this.idl,e)??0}}class _e{constructor(e){}decode(e){throw new Error("Wormhole program does not have events")}}class B{static fieldLayout(e,t){const n=e.name!==void 0?L(e.name):void 0;switch(e.type){case"bool":return m.dist.bool(n);case"u8":return m.dist.u8(n);case"i8":return m.dist.i8(n);case"u16":return m.dist.u16(n);case"i16":return m.dist.i16(n);case"u32":return m.dist.u32(n);case"i32":return m.dist.i32(n);case"f32":return m.dist.f32(n);case"u64":return m.dist.u64(n);case"i64":return m.dist.i64(n);case"f64":return m.dist.f64(n);case"u128":return m.dist.u128(n);case"i128":return m.dist.i128(n);case"u256":return m.dist.u256(n);case"i256":return m.dist.i256(n);case"bytes":return m.dist.vecU8(n);case"string":return m.dist.str(n);case"publicKey":return m.dist.publicKey(n);default:{if("vec"in e.type)return m.dist.vec(B.fieldLayout({name:void 0,type:e.type.vec},t),n);if("option"in e.type)return m.dist.option(B.fieldLayout({name:void 0,type:e.type.option},t),n);if("array"in e.type){let s=e.type.array[0],a=e.type.array[1],o=B.fieldLayout({name:void 0,type:s},t);return m.dist.array(o,a,n)}else throw new Error(`Not yet implemented: ${e}`)}}}}class j{constructor(e){c(this,"ixLayout");this.ixLayout=j.parseIxLayout(e)}static parseIxLayout(e){const n=(e.instructions?e.instructions:[]).map(s=>{let a=s.args.map(u=>B.fieldLayout(u,Array.from([...e.accounts??[],...e.types??[]])));const o=L(s.name);return[o,m.dist.struct(a,o)]}).concat(e.instructions.map(s=>{let a=s.args.map(u=>B.fieldLayout(u,Array.from([...e.accounts??[],...e.types??[]])));const o=L(s.name);return[o,m.dist.struct(a,o)]}));return new Map(n)}encode(e,t){const n=i.dist.Buffer.alloc(1e3),s=L(e),a=this.ixLayout.get(s);if(!a)throw new Error(`Unknown method: ${s}`);const o=a.encode(t,n),u=n.slice(0,o);return Te(T[xe(s)],u)}encodeState(e,t){throw new Error("Wormhole program does not have state")}decode(e,t="hex"){var u;typeof e=="string"&&(e=t==="hex"?i.dist.Buffer.from(e,"hex"):i.b58.decode(e));let n=i.dist.Buffer.from(e.slice(0,1)).readInt8(),s=i.dist.Buffer.from(e.slice(1)),a=L(T[n]??"");return this.ixLayout.get(a)?{data:(u=this.ixLayout.get(a))==null?void 0:u.decode(s),name:a}:null}}var T;(function(r){r[r.Initialize=0]="Initialize",r[r.PostMessage=1]="PostMessage",r[r.PostVaa=2]="PostVaa",r[r.SetFees=3]="SetFees",r[r.TransferFees=4]="TransferFees",r[r.UpgradeContract=5]="UpgradeContract",r[r.UpgradeGuardianSet=6]="UpgradeGuardianSet",r[r.VerifySignatures=7]="VerifySignatures",r[r.PostMessageUnreliable=8]="PostMessageUnreliable"})(T||(T={}));function Te(r,e){const t=i.dist.Buffer.alloc(1+(e===void 0?0:e.length));return t.writeUInt8(r,0),e!==void 0&&t.write(e.toString("hex"),1,"hex"),t}class ve{constructor(e){}encode(e,t){throw new Error("Wormhole program does not have state")}decode(e){throw new Error("Wormhole program does not have state")}}class ke{constructor(e){}encode(e,t){throw new Error("Wormhole program does not have user-defined types")}decode(e,t){throw new Error("Wormhole program does not have user-defined types")}}class ze{constructor(e){c(this,"instruction");c(this,"accounts");c(this,"state");c(this,"events");c(this,"types");this.instruction=new j(e),this.accounts=new Ce(e),this.state=new ve(e),this.events=new _e(e),this.types=new ke(e)}}const H={version:"0.1.0",name:"wormhole",instructions:[{name:"initialize",accounts:[{name:"bridge",isMut:!0,isSigner:!1},{name:"guardianSet",isMut:!0,isSigner:!1},{name:"feeCollector",isMut:!0,isSigner:!1},{name:"payer",isMut:!0,isSigner:!0},{name:"clock",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"guardianSetExpirationTime",type:"u32"},{name:"fee",type:"u64"},{name:"initialGuardians",type:{vec:{array:["u8",20]}}}]},{name:"postMessage",accounts:[{name:"bridge",isMut:!0,isSigner:!1},{name:"message",isMut:!0,isSigner:!0},{name:"emitter",isMut:!1,isSigner:!0},{name:"sequence",isMut:!0,isSigner:!1},{name:"payer",isMut:!0,isSigner:!0},{name:"feeCollector",isMut:!0,isSigner:!1},{name:"clock",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"nonce",type:"u32"},{name:"payload",type:"bytes"},{name:"consistencyLevel",type:"u8"}]},{name:"postVaa",accounts:[{name:"guardianSet",isMut:!1,isSigner:!1},{name:"bridge",isMut:!1,isSigner:!1},{name:"signatureSet",isMut:!1,isSigner:!1},{name:"vaa",isMut:!0,isSigner:!1},{name:"payer",isMut:!0,isSigner:!0},{name:"clock",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"version",type:"u8"},{name:"guardianSetIndex",type:"u32"},{name:"timestamp",type:"u32"},{name:"nonce",type:"u32"},{name:"emitterChain",type:"u16"},{name:"emitterAddress",type:{array:["u8",32]}},{name:"sequence",type:"u64"},{name:"consistencyLevel",type:"u8"},{name:"payload",type:"bytes"}]},{name:"setFees",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"bridge",isMut:!0,isSigner:!1},{name:"vaa",isMut:!1,isSigner:!1},{name:"claim",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[]},{name:"transferFees",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"bridge",isMut:!0,isSigner:!1},{name:"vaa",isMut:!1,isSigner:!1},{name:"claim",isMut:!0,isSigner:!1},{name:"feeCollector",isMut:!0,isSigner:!1},{name:"recipient",isMut:!0,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[]},{name:"upgradeContract",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"bridge",isMut:!0,isSigner:!1},{name:"vaa",isMut:!1,isSigner:!1},{name:"claim",isMut:!0,isSigner:!1},{name:"upgradeAuthority",isMut:!1,isSigner:!1},{name:"spill",isMut:!0,isSigner:!1},{name:"implementation",isMut:!0,isSigner:!1},{name:"programData",isMut:!0,isSigner:!1},{name:"wormholeProgram",isMut:!0,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"clock",isMut:!1,isSigner:!1},{name:"bpfLoaderUpgradeable",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[]},{name:"upgradeGuardianSet",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"bridge",isMut:!0,isSigner:!1},{name:"vaa",isMut:!1,isSigner:!1},{name:"claim",isMut:!0,isSigner:!1},{name:"guardianSetOld",isMut:!0,isSigner:!1},{name:"guardianSetNew",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[]},{name:"verifySignatures",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"guardianSet",isMut:!1,isSigner:!1},{name:"signatureSet",isMut:!0,isSigner:!0},{name:"instructions",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"signatureStatus",type:{array:["i8",19]}}]},{name:"postMessageUnreliable",accounts:[{name:"bridge",isMut:!0,isSigner:!1},{name:"message",isMut:!0,isSigner:!0},{name:"emitter",isMut:!1,isSigner:!0},{name:"sequence",isMut:!0,isSigner:!1},{name:"payer",isMut:!0,isSigner:!0},{name:"feeCollector",isMut:!0,isSigner:!1},{name:"clock",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"nonce",type:"u32"},{name:"payload",type:"bytes"},{name:"consistencyLevel",type:"u8"}]}],accounts:[{name:"PostedMessage",type:{kind:"struct",fields:[{name:"vaaVersion",type:"u8"},{name:"consistencyLevel",type:"u8"},{name:"vaaTime",type:"u32"},{name:"vaaSignatureAccount",type:"publicKey"},{name:"submissionTime",type:"u32"},{name:"nonce",type:"u32"},{name:"sequence",type:"u64"},{name:"emitterChain",type:"u16"},{name:"emitterAddress",type:{array:["u8",32]}},{name:"payload",type:"bytes"}]}},{name:"PostedVAA",type:{kind:"struct",fields:[{name:"vaaVersion",type:"u8"},{name:"consistencyLevel",type:"u8"},{name:"vaaTime",type:"u32"},{name:"vaaSignatureAccount",type:"publicKey"},{name:"submissionTime",type:"u32"},{name:"nonce",type:"u32"},{name:"sequence",type:"u64"},{name:"emitterChain",type:"u16"},{name:"emitterAddress",type:{array:["u8",32]}},{name:"payload",type:"bytes"}]}}]};function ue(r,e){return new m.Program(H,new i.PublicKey(r),e===void 0?{connection:null}:e,ce())}function w(r,e){return ue(r,m.createReadOnlyProvider(e))}function ce(){return new ze(H)}function qe(r,e,t,n){const s=w(e,r).methods.setFees();return s._ixFn(...s._args,{accounts:de(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function de(r,e,t){return{payer:new i.PublicKey(e),bridge:h(r),vaa:b(r,i.dist.Buffer.from(t.hash)),claim:E(r,t.emitterAddress.toString(),i.toChainId(t.emitterChain),t.sequence),systemProgram:i.SystemProgram.programId}}function Ve(r,e,t,n,s){const a=w(e,r).methods.transferFees();return a._ixFn(...a._args,{accounts:ge(e,t,n,s),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function ge(r,e,t,n){return{payer:new i.PublicKey(e),bridge:h(r),vaa:b(r,i.dist.Buffer.from(n.hash)),claim:E(r,n.emitterAddress.toString(),i.toChainId(n.emitterChain),n.sequence),feeCollector:P(r),recipient:new i.PublicKey(t),rent:i.SYSVAR_RENT_PUBKEY,systemProgram:i.SystemProgram.programId}}function De(r,e,t,n){const s=w(e,r).methods.upgradeGuardianSet();return s._ixFn(...s._args,{accounts:fe(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function fe(r,e,t){return{payer:new i.PublicKey(e),bridge:h(r),vaa:b(r,i.dist.Buffer.from(t.hash)),claim:E(r,t.emitterAddress.toString(),i.toChainId(t.emitterChain),t.sequence),guardianSetOld:I(r,t.guardianSet),guardianSetNew:I(r,t.guardianSet+1),systemProgram:i.SystemProgram.programId}}function Fe(r,e,t,n){const s=w(e,r).methods.upgradeContract();return s._ixFn(...s._args,{accounts:me(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function me(r,e,t,n){const{newContract:s}=t.payload.actionArgs;return{payer:new i.PublicKey(e),bridge:h(r),vaa:b(r,i.dist.Buffer.from(t.hash)),claim:E(r,t.emitterAddress.toString(),i.toChainId(t.emitterChain),t.sequence),upgradeAuthority:$(r),spill:new i.PublicKey(n===void 0?e:n),implementation:new i.SolanaAddress(s).unwrap(),programData:te(r),wormholeProgram:new i.PublicKey(r),rent:i.SYSVAR_RENT_PUBKEY,clock:i.SYSVAR_CLOCK_PUBKEY,bpfLoaderUpgradeable:O,systemProgram:i.SystemProgram.programId}}function Re(r,e,t,n,s,a){const o=w(e,r).methods.initialize(n,new i.BN(s.toString()),[...a.map(u=>[...new Uint8Array(u)])]);return o._ixFn(...o._args,{accounts:le(e,t),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function le(r,e){return{bridge:h(r),guardianSet:I(r,0),feeCollector:P(r),payer:new i.PublicKey(e),clock:i.SYSVAR_CLOCK_PUBKEY,rent:i.SYSVAR_RENT_PUBKEY,systemProgram:i.SystemProgram.programId}}function ye(r,e,t,n,s,a,o){const u=w(e,r).methods.postMessage(a,i.dist.Buffer.from(s),o);return u._ixFn(...u._args,{accounts:F(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function F(r,e,t,n){let s;return n?{emitter:n,sequence:s}=N(n,r):(n=e,s=C(n,r)),{bridge:h(r),message:new i.PublicKey(t),emitter:new i.PublicKey(n),sequence:s,payer:new i.PublicKey(e),feeCollector:P(r),clock:i.SYSVAR_CLOCK_PUBKEY,rent:i.SYSVAR_RENT_PUBKEY,systemProgram:i.SystemProgram.programId}}function pe(r,e,t,n,s){const a=w(e,r).methods.postVaa(1,n.guardianSet,n.timestamp,n.nonce,i.toChainId(n.emitterChain),[...n.emitterAddress.toUint8Array()],new i.BN(n.sequence.toString()),n.consistencyLevel,i.dist.Buffer.from(i.serializePayload(n.payloadLiteral,n.payload)));return a._ixFn(...a._args,{accounts:he(e,t,s,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function he(r,e,t,n){return{guardianSet:I(r,n.guardianSet),bridge:h(r),signatureSet:new i.PublicKey(t),vaa:b(r,i.dist.Buffer.from(n.hash)),payer:new i.PublicKey(e),clock:i.SYSVAR_CLOCK_PUBKEY,rent:i.SYSVAR_RENT_PUBKEY,systemProgram:i.SystemProgram.programId}}const Oe=19;async function Se(r,e,t,n,s,a){const o=n.guardianSet,u=await G(r,e,o,a),d=n.signatures,f=u.keys,g=7,l=[];for(let y=0;y<Math.ceil(d.length/g);++y){const S=y*g,A=Math.min(d.length,(y+1)*g),K=new Array(Oe).fill(-1),J=[],Q=[];for(let _=0;_<A-S;++_){const R=d.at(_+S);J.push(i.dist.Buffer.from(R.signature.encode())),Q.push(f.at(R.guardianIndex)),K[R.guardianIndex]=_}l.push(Ke(J,Q,i.dist.Buffer.from(n.hash))),l.push(Ye(r,e,t,n,s,K))}return l}function Ye(r,e,t,n,s,a){const o=w(e,r).methods.verifySignatures(a);return o._ixFn(...o._args,{accounts:we(e,t,s,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function we(r,e,t,n){return{payer:new i.PublicKey(e),guardianSet:I(r,n.guardianSet),signatureSet:new i.PublicKey(t),instructions:i.SYSVAR_INSTRUCTIONS_PUBKEY,rent:i.SYSVAR_RENT_PUBKEY,systemProgram:i.SystemProgram.programId}}function Ae(r,e){const{emitter:t,sequence:n}=N(r,e);return{wormholeBridge:h(e),wormholeEmitter:t,wormholeSequence:n,wormholeFeeCollector:P(e)}}function be(r,e,t,n){const s=F(e,t,n,r);return{payer:s.payer,wormholeBridge:s.bridge,wormholeMessage:s.message,wormholeEmitter:s.emitter,wormholeSequence:s.sequence,wormholeFeeCollector:s.feeCollector,clock:s.clock,rent:s.rent,systemProgram:s.systemProgram}}const Ne=Object.freeze(Object.defineProperty({__proto__:null,BridgeConfig:v,BridgeData:k,GuardianSetData:V,SequenceTracker:z,SignatureSetData:D,coder:ce,createBridgeFeeTransferInstruction:W,createInitializeInstruction:Re,createPostMessageInstruction:ye,createPostVaaInstruction:pe,createReadOnlyWormholeProgramInterface:w,createSetFeesInstruction:qe,createTransferFeesInstruction:Ve,createUpgradeContractInstruction:Fe,createUpgradeGuardianSetInstruction:De,createVerifySignaturesInstructions:Se,createWormholeProgramInterface:ue,deriveClaimKey:E,deriveEmitterSequenceKey:C,deriveFeeCollectorKey:P,deriveGuardianSetKey:I,derivePostedVaaKey:b,deriveUpgradeAuthorityKey:$,deriveWormholeBridgeDataKey:h,deriveWormholeEmitterKey:q,getClaim:se,getEmitterKeys:N,getGuardianSet:G,getInitializeAccounts:le,getPostMessageAccounts:F,getPostMessageCpiAccounts:be,getPostVaaAccounts:he,getProgramSequenceTracker:oe,getSequenceTracker:ae,getSetFeesAccounts:de,getSignatureSetData:Ue,getTransferFeesAccounts:ge,getUpgradeContractAccounts:me,getUpgradeGuardianSetAccounts:fe,getVerifySignatureAccounts:we,getWormholeBridgeData:ie,getWormholeDerivedAccounts:Ae},Symbol.toStringTag,{value:"Module"})),ee="Program log: Sequence: ";class x{constructor(e,t,n,s){c(this,"network");c(this,"chain");c(this,"connection");c(this,"contracts");c(this,"chainId");c(this,"coreBridge");c(this,"address");c(this,"bridgeData");this.network=e,this.chain=t,this.connection=n,this.contracts=s,this.chainId=i.toChainId(t);const a=s.coreBridge;if(!a)throw new Error(`CoreBridge contract Address for chain ${t} not found`);this.address=a,this.coreBridge=w(a,n)}async getGuardianSet(e){const t=await G(this.connection,this.coreBridge.programId,e);return{index:t.index,keys:t.keys.map(n=>n.toString("hex")),expiry:BigInt(t.expirationTime)}}static async fromRpc(e,t){const[n,s]=await X.SolanaPlatform.chainFromRpc(e),a=t[s];if(a.network!==n)throw new Error(`Network mismatch for chain ${s}: ${a.network} != ${n}`);return new x(n,s,e,t[s].contracts)}async ensureBridgeConfig(){this.bridgeData||(this.bridgeData=await ie(this.connection,this.coreBridge.programId))}async getMessageFee(){return await this.ensureBridgeConfig(),this.bridgeData.config.fee}async getGuardianSetIndex(){return await this.ensureBridgeConfig(),this.bridgeData.guardianSetIndex}async*publishMessage(e,t,n,s){const a=i.Keypair.generate(),o=new i.SolanaAddress(e).unwrap(),u=ye(this.connection,this.coreBridge.programId,o,a.publicKey,t,n,s),d=await this.getMessageFee(),f=W(this.coreBridge.programId,o,d),g=new i.Transaction;g.feePayer=o,g.add(f,u),yield this.createUnsignedTx({transaction:g,signers:[a]},"Core.PublishMessage")}async*verifyMessage(e,t){yield*this.postVaa(e,t)}async*postVaa(e,t){const n=b(this.coreBridge.programId,i.dist.Buffer.from(t.hash));if(await this.connection.getAccountInfo(n))return;const a=new i.SolanaAddress(e).unwrap(),o=i.Keypair.generate(),u=await Se(this.connection,this.coreBridge.programId,a,t,o.publicKey);for(let f=0;f<u.length;f+=2){const g=new i.Transaction().add(...u.slice(f,f+2));g.feePayer=a,yield this.createUnsignedTx({transaction:g,signers:[o]},"Core.VerifySignature",!0)}const d=new i.Transaction().add(pe(this.connection,this.coreBridge.programId,a,t,o.publicKey));d.feePayer=a,yield this.createUnsignedTx({transaction:d},"Core.PostVAA")}static parseSequenceFromLog(e,t){var d,f,g,l;const{meta:n,transaction:{message:s}}=t;if(!((d=n==null?void 0:n.innerInstructions)!=null&&d.length))return[];const a=s.staticAccountKeys;if(a.filter(y=>y.toString()===e).length===0)return[];const o=(l=(g=(f=n==null?void 0:n.logMessages)==null?void 0:f.filter(y=>y.startsWith(ee)))==null?void 0:g[0])==null?void 0:l.replace(ee,"");if(!o)return[];const u=[];for(const y of n==null?void 0:n.innerInstructions){const S=y.instructions;u.push(...S.filter(A=>A.programIdIndex in a&&a[A.programIdIndex].toString()===e))}return u.length<1?[]:a.length<3?[]:u.map(y=>[new i.SolanaAddress(a[y.accounts[2]]).toUniversalAddress(),BigInt(o)]).filter(y=>y!==null)}async getMessageAccountKeys(e){let t;if(typeof e.transaction.message.version!="string")if(e.meta.loadedAddresses)t=e.transaction.message.getAccountKeys({accountKeysFromLookups:e.meta.loadedAddresses});else{const n=await Promise.all(e.transaction.message.addressTableLookups.map(async s=>{const a=await this.connection.getAddressLookupTable(s.accountKey);if(!a||!a.value)throw new Error("Could not resolve lookup table: "+s.accountKey.toBase58());return a.value}));t=e.transaction.message.getAccountKeys({addressLookupTableAccounts:n})}else t=e.transaction.message.getAccountKeys();return t}async findInstructions(e,t){var d;const{meta:n,transaction:{message:s}}=t,a=this.coreBridge.programId,o=(d=n.innerInstructions)==null?void 0:d.flatMap(f=>f.instructions.filter(g=>a.toString()===e.get(g.programIdIndex).toString())).map(f=>({programIdIndex:f.programIdIndex,accountKeyIndexes:f.accounts})),u=s.compiledInstructions.filter(f=>a.toString()===e.get(f.programIdIndex).toString());return[...o,...u]}async parsePostMessageAccount(e){const t=await this.connection.getAccountInfo(e);if(!(t!=null&&t.data))throw new Error("No data found in message account");const{timestamp:n,emitterAddress:s,emitterChain:a,consistencyLevel:o,sequence:u,nonce:d,payload:f}=re(new Uint8Array(t==null?void 0:t.data));return Ee.createVAA("Uint8Array",{guardianSet:await this.getGuardianSetIndex(),emitterChain:i.toChain(a),timestamp:n,emitterAddress:s,consistencyLevel:o,sequence:u,nonce:d,payload:f,signatures:[]})}async parseTransaction(e){const t=await this.connection.getTransaction(e,{maxSupportedTransactionVersion:0});if(!t||!t.meta||!t.meta.innerInstructions)throw new Error("transaction not found");try{const o=x.parseSequenceFromLog(this.coreBridge.programId.toBase58(),t);if(o.length>0){const[u,d]=o[0];return[{chain:this.chain,emitter:u,sequence:d}]}}catch{}const n=await this.getMessageAccountKeys(t),s=await this.findInstructions(n,t);if(!s||s.length===0)throw new Error("no bridge messages found");const a=s.map(async o=>{const u=n.get(o.accountKeyIndexes[1]),d=await this.parsePostMessageAccount(u);return{chain:d.emitterChain,emitter:d.emitterAddress,sequence:d.sequence}});return await Promise.all(a)}async parseMessages(e){const t=await this.connection.getTransaction(e,{maxSupportedTransactionVersion:0});if(!t||!t.meta||!t.meta.innerInstructions)throw new Error("transaction not found");const n=await this.getMessageAccountKeys(t),s=await this.findInstructions(n,t);if(!s||s.length===0)throw new Error("no bridge messages found");const a=s.map(async o=>{const u=n.get(o.accountKeyIndexes[1]);return await this.parsePostMessageAccount(u)});return await Promise.all(a)}createUnsignedTx(e,t,n=!1){return new X.SolanaUnsignedTransaction(e,this.network,this.chain,t,n)}}Pe.registerProtocol(i._platform$1,"WormholeCore",x);const Ge=Object.freeze(Object.defineProperty({__proto__:null,IDL:H,SolanaWormholeCore:x,deserializePostMessage:re,postMessageLayout:ne,utils:Ne},Symbol.toStringTag,{value:"Module"}));exports.BPF_LOADER_UPGRADEABLE_PROGRAM_ID=O;exports.SolanaWormholeCore=x;exports.accountSize=Y;exports.createBridgeFeeTransferInstruction=W;exports.deriveClaimKey=E;exports.deriveEmitterSequenceKey=C;exports.deriveFeeCollectorKey=P;exports.derivePostedVaaKey=b;exports.deriveProgramDataAddress=te;exports.deriveUpgradeAuthorityKey=$;exports.deriveWormholeBridgeDataKey=h;exports.deriveWormholeEmitterKey=q;exports.getClaim=se;exports.getPostMessageAccounts=F;exports.getPostMessageCpiAccounts=be;exports.getProgramSequenceTracker=oe;exports.getWormholeDerivedAccounts=Ae;exports.index=Ge;
@@ -1,6 +1,6 @@
1
- import { M as He, R as E, T as F, a as pe, E as Ur, b as D, C as oe, c as h, O as j } from "./index-lIqGH3dA.mjs";
1
+ import { M as He, R as E, T as F, a as pe, E as Ur, b as D, C as oe, c as h, O as j } from "./index-0V2bg9Sg.mjs";
2
2
  import { b as jr } from "./browser-BSAOEeIM.mjs";
3
- import { d as Hr } from "./address-XILx3C42.mjs";
3
+ import { d as Hr } from "./address-CrYNZ_Nj.mjs";
4
4
  /**
5
5
  * @license
6
6
  * Copyright 2019 Google LLC
@@ -1,10 +1,10 @@
1
1
  var k = Object.defineProperty;
2
2
  var v = (u, s, t) => s in u ? k(u, s, { enumerable: !0, configurable: !0, writable: !0, value: t }) : u[s] = t;
3
3
  var i = (u, s, t) => v(u, typeof s != "symbol" ? s + "" : s, t);
4
- import { T as f, b as w } from "./platform-jTR8zNGC.mjs";
5
- import { a1 as C, D as S, b4 as _, G as b, a3 as y, cY as T } from "./address-XILx3C42.mjs";
4
+ import { T as f, b as w } from "./platform-Ck9W87gm.mjs";
5
+ import { a1 as C, D as S, b4 as _, G as b, a3 as y, cY as T } from "./address-CrYNZ_Nj.mjs";
6
6
  import { S as M } from "./unsignedTransaction-BD81leu1.mjs";
7
- import { r as x } from "./chain-Yvw9MtzH.mjs";
7
+ import { r as x } from "./chain-Dq8acwHq.mjs";
8
8
  const j = [
9
9
  [
10
10
  "Testnet",
@@ -1,11 +1,11 @@
1
1
  var m = Object.defineProperty;
2
2
  var T = (c, e, t) => e in c ? m(c, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : c[e] = t;
3
3
  var a = (c, e, t) => T(c, typeof e != "symbol" ? e + "" : e, t);
4
- import { E as g, C as h } from "./platform-BnY9AR2a.mjs";
5
- import { I as v, C as M } from "./contract-9GZtHjlK.mjs";
6
- import { r as S } from "./chain-Yvw9MtzH.mjs";
7
- import { aF as w, aR as r, aU as u, L as x, d0 as I, a3 as C, aV as A, aW as G } from "./address-XILx3C42.mjs";
8
- import { c as F } from "./create-BTamQq_m.mjs";
4
+ import { E as g, C as h } from "./platform-DkmFvjoG.mjs";
5
+ import { I as v, C as M } from "./contract-D8VzaUQJ.mjs";
6
+ import { r as S } from "./chain-Dq8acwHq.mjs";
7
+ import { ac as w, aR as r, aU as u, L as x, d0 as I, a3 as C, aV as A, aW as G } from "./address-CrYNZ_Nj.mjs";
8
+ import { c as F } from "./create-CRa9FZnZ.mjs";
9
9
  import { E as U } from "./unsignedTransaction-C0V0UbsS.mjs";
10
10
  class y {
11
11
  constructor(e, t, b, f) {
@@ -1 +1 @@
1
- "use strict";var d=Object.defineProperty;var h=(i,e,r)=>e in i?d(i,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):i[e]=r;var o=(i,e,r)=>h(i,typeof e!="symbol"?e+"":e,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("./address-CCed-aPr.js"),u=require("./platform-DRiO8Lpy.js"),w=require("./create-DFS178qc.js"),g=require("./address-Dj55KIoo.js"),l=require("./chain-BYKgc1Rl.js");class c{constructor(e,r,t,n){o(this,"network");o(this,"chain");o(this,"provider");o(this,"contracts");o(this,"chainId");o(this,"coreBridgePackageId");this.network=e,this.chain=r,this.provider=t,this.contracts=n,this.chainId=m.toChainId(r);const s=n.coreBridge;if(!s)throw new Error(`CoreBridge contract Address for chain ${r} not found`);this.coreBridgePackageId=s}getGuardianSet(e){throw new Error("Method not implemented.")}getMessageFee(){throw new Error("Method not implemented.")}static async fromRpc(e,r){const[t,n]=await u.SuiPlatform.chainFromRpc(e),s=r[n];if(s.network!==t)throw new Error(`Network mismatch: ${s.network} !== ${t}`);return new c(t,n,e,s.contracts)}async*verifyMessage(e,r){throw new Error("Method not implemented.")}async*publishMessage(e,r){throw new Error("Method not implemented.")}async parseTransaction(e){return(await this.parseMessages(e)).map(t=>({emitter:t.emitterAddress,sequence:t.sequence,chain:this.chain}))}async getGuardianSetIndex(){throw new Error("Method not implemented.")}async parseMessages(e){var n;const t=(n=(await this.provider.getTransactionBlock({digest:e,options:{showEvents:!0,showEffects:!0,showInput:!0}})).events)==null?void 0:n.filter(s=>s.type.endsWith("WormholeMessage"));if(!t||t.length==0)throw new Error("WormholeMessage not found");return t.map(s=>{const a=s.parsedJson;return w.createVAA("Uint8Array",{emitterChain:this.chain,emitterAddress:new g.SuiAddress(a.sender).toUniversalAddress(),sequence:BigInt(a.sequence),guardianSet:0,timestamp:Number(a.timestamp),consistencyLevel:a.consistency_level,nonce:a.nonce,signatures:[],payload:new Uint8Array(a.payload)})})}}l.registerProtocol("Sui","WormholeCore",c);exports.SuiWormholeCore=c;
1
+ "use strict";var d=Object.defineProperty;var h=(i,e,r)=>e in i?d(i,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):i[e]=r;var o=(i,e,r)=>h(i,typeof e!="symbol"?e+"":e,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("./address-CSWlEusF.js"),u=require("./platform-CgqczEeE.js"),w=require("./create-BRB2U1qV.js"),g=require("./address-DfgK_jn7.js"),l=require("./chain-DTh9H2Cq.js");class c{constructor(e,r,t,n){o(this,"network");o(this,"chain");o(this,"provider");o(this,"contracts");o(this,"chainId");o(this,"coreBridgePackageId");this.network=e,this.chain=r,this.provider=t,this.contracts=n,this.chainId=m.toChainId(r);const s=n.coreBridge;if(!s)throw new Error(`CoreBridge contract Address for chain ${r} not found`);this.coreBridgePackageId=s}getGuardianSet(e){throw new Error("Method not implemented.")}getMessageFee(){throw new Error("Method not implemented.")}static async fromRpc(e,r){const[t,n]=await u.SuiPlatform.chainFromRpc(e),s=r[n];if(s.network!==t)throw new Error(`Network mismatch: ${s.network} !== ${t}`);return new c(t,n,e,s.contracts)}async*verifyMessage(e,r){throw new Error("Method not implemented.")}async*publishMessage(e,r){throw new Error("Method not implemented.")}async parseTransaction(e){return(await this.parseMessages(e)).map(t=>({emitter:t.emitterAddress,sequence:t.sequence,chain:this.chain}))}async getGuardianSetIndex(){throw new Error("Method not implemented.")}async parseMessages(e){var n;const t=(n=(await this.provider.getTransactionBlock({digest:e,options:{showEvents:!0,showEffects:!0,showInput:!0}})).events)==null?void 0:n.filter(s=>s.type.endsWith("WormholeMessage"));if(!t||t.length==0)throw new Error("WormholeMessage not found");return t.map(s=>{const a=s.parsedJson;return w.createVAA("Uint8Array",{emitterChain:this.chain,emitterAddress:new g.SuiAddress(a.sender).toUniversalAddress(),sequence:BigInt(a.sequence),guardianSet:0,timestamp:Number(a.timestamp),consistencyLevel:a.consistency_level,nonce:a.nonce,signatures:[],payload:new Uint8Array(a.payload)})})}}l.registerProtocol("Sui","WormholeCore",c);exports.SuiWormholeCore=c;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./unsignedTransaction-CQnHvnm6.js"),e=require("./address-CCed-aPr.js"),o=require("./web3-B9XPIqI6.js");class n extends Error{constructor(t){super(t)}}class u extends n{constructor(){super(...arguments),this.name="TokenOwnerOffCurveError"}}const i=e.struct([e.u32("mintAuthorityOption"),o.publicKey("mintAuthority"),o.u64("supply"),e.u8("decimals"),o.bool("isInitialized"),e.u32("freezeAuthorityOption"),o.publicKey("freezeAuthority")]);i.span;async function f(s,t,O=!1,c=r.TOKEN_PROGRAM_ID,A=r.ASSOCIATED_TOKEN_PROGRAM_ID){if(!O&&!e.PublicKey.isOnCurve(t.toBuffer()))throw new u;const[a]=await e.PublicKey.findProgramAddress([t.toBuffer(),c.toBuffer(),s.toBuffer()],A);return a}exports.ASSOCIATED_TOKEN_PROGRAM_ID=r.ASSOCIATED_TOKEN_PROGRAM_ID;exports.TOKEN_2022_PROGRAM_ID=r.TOKEN_2022_PROGRAM_ID;exports.TOKEN_PROGRAM_ID=r.TOKEN_PROGRAM_ID;exports.MintLayout=i;exports.TokenError=n;exports.TokenOwnerOffCurveError=u;exports.getAssociatedTokenAddress=f;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./unsignedTransaction-3gDumn1W.js"),e=require("./address-CSWlEusF.js"),o=require("./web3-IDpqtkwB.js");class n extends Error{constructor(t){super(t)}}class u extends n{constructor(){super(...arguments),this.name="TokenOwnerOffCurveError"}}const i=e.struct([e.u32("mintAuthorityOption"),o.publicKey("mintAuthority"),o.u64("supply"),e.u8("decimals"),o.bool("isInitialized"),e.u32("freezeAuthorityOption"),o.publicKey("freezeAuthority")]);i.span;async function f(s,t,O=!1,c=r.TOKEN_PROGRAM_ID,A=r.ASSOCIATED_TOKEN_PROGRAM_ID){if(!O&&!e.PublicKey.isOnCurve(t.toBuffer()))throw new u;const[a]=await e.PublicKey.findProgramAddress([t.toBuffer(),c.toBuffer(),s.toBuffer()],A);return a}exports.ASSOCIATED_TOKEN_PROGRAM_ID=r.ASSOCIATED_TOKEN_PROGRAM_ID;exports.TOKEN_2022_PROGRAM_ID=r.TOKEN_2022_PROGRAM_ID;exports.TOKEN_PROGRAM_ID=r.TOKEN_PROGRAM_ID;exports.MintLayout=i;exports.TokenError=n;exports.TokenOwnerOffCurveError=u;exports.getAssociatedTokenAddress=f;
@@ -1 +1 @@
1
- "use strict";var k=Object.defineProperty;var C=(g,s,t)=>s in g?k(g,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):g[s]=t;var i=(g,s,t)=>C(g,typeof s!="symbol"?s+"":s,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("./platform-DRiO8Lpy.js"),d=require("./address-CCed-aPr.js"),v=require("./unsignedTransaction-DzSLsK-p.js"),S=require("./chain-BYKgc1Rl.js"),b=[["Testnet",{tokenMessengerState:"0x5252abd1137094ed1db3e0d75bc36abcd287aee4bc310f8e047727ef5682e7c2",messageTransmitterState:"0x98234bd0fa9ac12cc0a20a144a22e36d6a32f7e0a97baaeaf9c76cdc6d122d2e",usdcTreasury:"0x7170137d4a6431bf83351ac025baf462909bffe2877d87716374fb42b9629ebe"}],["Mainnet",{tokenMessengerState:"0x45993eecc0382f37419864992c12faee2238f5cfe22b98ad3bf455baf65c8a2f",messageTransmitterState:"0xf68268c3d9b1df3215f2439400c1c4ea08ac4ef4bb7d6f3ca6a2a239e17510af",usdcTreasury:"0x57d6725e7a8b49a7b2a612f6bd66ab5f39fc95332ca48be421c3229d514a6de7"}]],T=d.constMap(b,[0,1]);class p{constructor(s,t,r,e){i(this,"network");i(this,"chain");i(this,"provider");i(this,"contracts");i(this,"usdcId");i(this,"usdcTreasuryId");i(this,"tokenMessengerId");i(this,"tokenMessengerStateId");i(this,"messageTransmitterId");i(this,"messageTransmitterStateId");var u,m,f,l;if(this.network=s,this.chain=t,this.provider=r,this.contracts=e,s==="Devnet")throw new Error("CircleBridge not supported on Devnet");const n=d.usdcContract.get(this.network,this.chain);if(!n)throw new Error(`No USDC contract configured for network=${this.network} chain=${this.chain}`);const{tokenMessengerState:o,messageTransmitterState:a,usdcTreasury:c}=T(s);if(!((u=e.cctp)!=null&&u.tokenMessenger))throw new Error(`Circle Token Messenger contract for domain ${t} not found`);if(!((m=e.cctp)!=null&&m.messageTransmitter))throw new Error(`Circle Message Transmitter contract for domain ${t} not found`);this.usdcId=n,this.usdcTreasuryId=c,this.tokenMessengerId=(f=e.cctp)==null?void 0:f.tokenMessenger,this.messageTransmitterId=(l=e.cctp)==null?void 0:l.messageTransmitter,this.tokenMessengerStateId=o,this.messageTransmitterStateId=a}async*transfer(s,t,r){const e=new h.Transaction,n=d.circleChainId.get(this.network,t.chain),[o,...a]=await h.SuiPlatform.getCoins(this.provider,s,this.usdcId);if(o===void 0)throw new Error("No USDC in wallet");const c=e.object(o.coinObjectId);a.length>0&&e.mergeCoins(c,a.map(m=>e.object(m.coinObjectId)));const[u]=e.splitCoins(c,[r]);e.moveCall({target:`${this.tokenMessengerId}::deposit_for_burn::deposit_for_burn`,arguments:[u,e.pure.u32(n),e.pure.address(t.address.toUniversalAddress().toString()),e.object(this.tokenMessengerStateId),e.object(this.messageTransmitterStateId),e.object("0x403"),e.object(this.usdcTreasuryId)],typeArguments:[this.usdcId]}),yield this.createUnsignedTx(e,"Sui.CircleBridge.Transfer")}async isTransferCompleted(s){const t=new h.Transaction;t.moveCall({target:`${this.messageTransmitterId}::state::is_nonce_used`,arguments:[t.object(this.messageTransmitterStateId),t.pure.u32(s.sourceDomain),t.pure.u64(s.nonce)]});const r=await this.provider.devInspectTransactionBlock({sender:"0x0000000000000000000000000000000000000000000000000000000000000000",transactionBlock:t});try{return!!r.results[0].returnValues[0][0][0]}catch(e){return console.error(`Error reading if nonce was used: ${e}`),!1}}async*redeem(s,t,r){const e=new h.Transaction,[n]=e.moveCall({target:`${this.messageTransmitterId}::receive_message::receive_message`,arguments:[e.pure.vector("u8",d.CircleBridge.serialize(t)),e.pure.vector("u8",d.hex.decode(r)),e.object(this.messageTransmitterStateId)]});if(!n)throw new Error("Failed to produce receipt");const[o]=e.moveCall({target:`${this.tokenMessengerId}::handle_receive_message::handle_receive_message`,arguments:[n,e.object(this.tokenMessengerStateId),e.object("0x403"),e.object(this.usdcTreasuryId)],typeArguments:[this.usdcId]});if(!o)throw new Error("Failed to produce stamp receipt ticket with burn message");const[a]=e.moveCall({target:`${this.tokenMessengerId}::handle_receive_message::deconstruct_stamp_receipt_ticket_with_burn_message`,arguments:[o]});if(!a)throw new Error("Failed to produce stamp receipt ticket");const[c]=e.moveCall({target:`${this.messageTransmitterId}::receive_message::stamp_receipt`,arguments:[a,e.object(this.messageTransmitterStateId)],typeArguments:[`${this.tokenMessengerId}::message_transmitter_authenticator::MessageTransmitterAuthenticator`]});if(!c)throw new Error("Failed to produce stamped receipt");e.moveCall({target:`${this.messageTransmitterId}::receive_message::complete_receive_message`,arguments:[c,e.object(this.messageTransmitterStateId)]}),yield this.createUnsignedTx(e,"Sui.CircleBridge.Redeem")}async parseTransactionDetails(s){var w;const t=await this.provider.waitForTransaction({digest:s,options:{showEvents:!0,showEffects:!0,showInput:!0}});if(!t)throw new Error("Transaction not found");if(!t.events)throw new Error("Transaction events not found");const r=(w=t.events)==null?void 0:w.find(I=>I.type.includes("send_message::MessageSent"));if(!r)throw new Error("No MessageSent event found");const e=new Uint8Array((r==null?void 0:r.parsedJson).message),[n,o]=d.CircleBridge.deserialize(e),{payload:a}=n,c=a.messageSender,u=a.mintRecipient,m=d.toCircleChain(this.network,n.sourceDomain),f=d.toCircleChain(this.network,n.destinationDomain),l={chain:m,address:a.burnToken};return{from:{chain:m,address:c},to:{chain:f,address:u},token:l,amount:a.amount,message:n,id:{hash:o}}}static async fromRpc(s,t){const[r,e]=await h.SuiPlatform.chainFromRpc(s),n=t[e];if(n.network!==r)throw new Error(`Network mismatch: ${n.network} != ${r}`);return new p(r,e,s,n.contracts)}createUnsignedTx(s,t,r=!1){return new v.SuiUnsignedTransaction(s,this.network,this.chain,t,r)}}S.registerProtocol("Sui","CircleBridge",p);exports.SuiCircleBridge=p;exports._suiCircleObjects=b;exports.suiCircleObjects=T;
1
+ "use strict";var k=Object.defineProperty;var C=(g,s,t)=>s in g?k(g,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):g[s]=t;var i=(g,s,t)=>C(g,typeof s!="symbol"?s+"":s,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("./platform-CgqczEeE.js"),d=require("./address-CSWlEusF.js"),v=require("./unsignedTransaction-DzSLsK-p.js"),S=require("./chain-DTh9H2Cq.js"),b=[["Testnet",{tokenMessengerState:"0x5252abd1137094ed1db3e0d75bc36abcd287aee4bc310f8e047727ef5682e7c2",messageTransmitterState:"0x98234bd0fa9ac12cc0a20a144a22e36d6a32f7e0a97baaeaf9c76cdc6d122d2e",usdcTreasury:"0x7170137d4a6431bf83351ac025baf462909bffe2877d87716374fb42b9629ebe"}],["Mainnet",{tokenMessengerState:"0x45993eecc0382f37419864992c12faee2238f5cfe22b98ad3bf455baf65c8a2f",messageTransmitterState:"0xf68268c3d9b1df3215f2439400c1c4ea08ac4ef4bb7d6f3ca6a2a239e17510af",usdcTreasury:"0x57d6725e7a8b49a7b2a612f6bd66ab5f39fc95332ca48be421c3229d514a6de7"}]],T=d.constMap(b,[0,1]);class p{constructor(s,t,r,e){i(this,"network");i(this,"chain");i(this,"provider");i(this,"contracts");i(this,"usdcId");i(this,"usdcTreasuryId");i(this,"tokenMessengerId");i(this,"tokenMessengerStateId");i(this,"messageTransmitterId");i(this,"messageTransmitterStateId");var u,m,f,l;if(this.network=s,this.chain=t,this.provider=r,this.contracts=e,s==="Devnet")throw new Error("CircleBridge not supported on Devnet");const n=d.usdcContract.get(this.network,this.chain);if(!n)throw new Error(`No USDC contract configured for network=${this.network} chain=${this.chain}`);const{tokenMessengerState:o,messageTransmitterState:a,usdcTreasury:c}=T(s);if(!((u=e.cctp)!=null&&u.tokenMessenger))throw new Error(`Circle Token Messenger contract for domain ${t} not found`);if(!((m=e.cctp)!=null&&m.messageTransmitter))throw new Error(`Circle Message Transmitter contract for domain ${t} not found`);this.usdcId=n,this.usdcTreasuryId=c,this.tokenMessengerId=(f=e.cctp)==null?void 0:f.tokenMessenger,this.messageTransmitterId=(l=e.cctp)==null?void 0:l.messageTransmitter,this.tokenMessengerStateId=o,this.messageTransmitterStateId=a}async*transfer(s,t,r){const e=new h.Transaction,n=d.circleChainId.get(this.network,t.chain),[o,...a]=await h.SuiPlatform.getCoins(this.provider,s,this.usdcId);if(o===void 0)throw new Error("No USDC in wallet");const c=e.object(o.coinObjectId);a.length>0&&e.mergeCoins(c,a.map(m=>e.object(m.coinObjectId)));const[u]=e.splitCoins(c,[r]);e.moveCall({target:`${this.tokenMessengerId}::deposit_for_burn::deposit_for_burn`,arguments:[u,e.pure.u32(n),e.pure.address(t.address.toUniversalAddress().toString()),e.object(this.tokenMessengerStateId),e.object(this.messageTransmitterStateId),e.object("0x403"),e.object(this.usdcTreasuryId)],typeArguments:[this.usdcId]}),yield this.createUnsignedTx(e,"Sui.CircleBridge.Transfer")}async isTransferCompleted(s){const t=new h.Transaction;t.moveCall({target:`${this.messageTransmitterId}::state::is_nonce_used`,arguments:[t.object(this.messageTransmitterStateId),t.pure.u32(s.sourceDomain),t.pure.u64(s.nonce)]});const r=await this.provider.devInspectTransactionBlock({sender:"0x0000000000000000000000000000000000000000000000000000000000000000",transactionBlock:t});try{return!!r.results[0].returnValues[0][0][0]}catch(e){return console.error(`Error reading if nonce was used: ${e}`),!1}}async*redeem(s,t,r){const e=new h.Transaction,[n]=e.moveCall({target:`${this.messageTransmitterId}::receive_message::receive_message`,arguments:[e.pure.vector("u8",d.CircleBridge.serialize(t)),e.pure.vector("u8",d.hex.decode(r)),e.object(this.messageTransmitterStateId)]});if(!n)throw new Error("Failed to produce receipt");const[o]=e.moveCall({target:`${this.tokenMessengerId}::handle_receive_message::handle_receive_message`,arguments:[n,e.object(this.tokenMessengerStateId),e.object("0x403"),e.object(this.usdcTreasuryId)],typeArguments:[this.usdcId]});if(!o)throw new Error("Failed to produce stamp receipt ticket with burn message");const[a]=e.moveCall({target:`${this.tokenMessengerId}::handle_receive_message::deconstruct_stamp_receipt_ticket_with_burn_message`,arguments:[o]});if(!a)throw new Error("Failed to produce stamp receipt ticket");const[c]=e.moveCall({target:`${this.messageTransmitterId}::receive_message::stamp_receipt`,arguments:[a,e.object(this.messageTransmitterStateId)],typeArguments:[`${this.tokenMessengerId}::message_transmitter_authenticator::MessageTransmitterAuthenticator`]});if(!c)throw new Error("Failed to produce stamped receipt");e.moveCall({target:`${this.messageTransmitterId}::receive_message::complete_receive_message`,arguments:[c,e.object(this.messageTransmitterStateId)]}),yield this.createUnsignedTx(e,"Sui.CircleBridge.Redeem")}async parseTransactionDetails(s){var w;const t=await this.provider.waitForTransaction({digest:s,options:{showEvents:!0,showEffects:!0,showInput:!0}});if(!t)throw new Error("Transaction not found");if(!t.events)throw new Error("Transaction events not found");const r=(w=t.events)==null?void 0:w.find(I=>I.type.includes("send_message::MessageSent"));if(!r)throw new Error("No MessageSent event found");const e=new Uint8Array((r==null?void 0:r.parsedJson).message),[n,o]=d.CircleBridge.deserialize(e),{payload:a}=n,c=a.messageSender,u=a.mintRecipient,m=d.toCircleChain(this.network,n.sourceDomain),f=d.toCircleChain(this.network,n.destinationDomain),l={chain:m,address:a.burnToken};return{from:{chain:m,address:c},to:{chain:f,address:u},token:l,amount:a.amount,message:n,id:{hash:o}}}static async fromRpc(s,t){const[r,e]=await h.SuiPlatform.chainFromRpc(s),n=t[e];if(n.network!==r)throw new Error(`Network mismatch: ${n.network} != ${r}`);return new p(r,e,s,n.contracts)}createUnsignedTx(s,t,r=!1){return new v.SuiUnsignedTransaction(s,this.network,this.chain,t,r)}}S.registerProtocol("Sui","CircleBridge",p);exports.SuiCircleBridge=p;exports._suiCircleObjects=b;exports.suiCircleObjects=T;
@@ -1,11 +1,11 @@
1
1
  var d = Object.defineProperty;
2
2
  var h = (i, e, r) => e in i ? d(i, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : i[e] = r;
3
3
  var n = (i, e, r) => h(i, typeof e != "symbol" ? e + "" : e, r);
4
- import { aP as m } from "./address-XILx3C42.mjs";
5
- import { b as w } from "./platform-jTR8zNGC.mjs";
6
- import { c as p } from "./create-BTamQq_m.mjs";
7
- import { S as g } from "./address-DboettO4.mjs";
8
- import { r as u } from "./chain-Yvw9MtzH.mjs";
4
+ import { aP as m } from "./address-CrYNZ_Nj.mjs";
5
+ import { b as w } from "./platform-Ck9W87gm.mjs";
6
+ import { c as p } from "./create-CRa9FZnZ.mjs";
7
+ import { S as g } from "./address-ByLIzxVb.mjs";
8
+ import { r as u } from "./chain-Dq8acwHq.mjs";
9
9
  class c {
10
10
  constructor(e, r, t, o) {
11
11
  n(this, "network");