@wormhole-foundation/wormhole-connect 4.1.0-beta.1-development → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (352) hide show
  1. package/dist/assets/{aptos-C9pj8h2Q.js → aptos-DgUCX7ng.js} +3 -3
  2. package/dist/assets/{evm-DCydYqBI.js → evm-B6bqAPTR.js} +4 -4
  3. package/dist/assets/{evm-CJXv6IQV.js → evm-Ve5nG8Fs.js} +1 -1
  4. package/dist/assets/{index-LvDsy6wR.js → index-BJokXZAc.js} +1 -1
  5. package/dist/assets/{index-BqxX-Ey7.js → index-BJv9sngo.js} +1 -1
  6. package/dist/assets/{index-C9cy4cDs.js → index-BjZMFLjq.js} +1 -1
  7. package/dist/assets/{index-FJ-n91Op.js → index-BwbPlAQZ.js} +1 -1
  8. package/dist/assets/{index-Clu5I99l.js → index-Bzg4DNh9.js} +1 -1
  9. package/dist/assets/{index-ezhfpCvx.js → index-CKXa657f.js} +1 -1
  10. package/dist/assets/index-CXiuP738.js +1 -0
  11. package/dist/assets/{index-CNExx9Zb.js → index-CvTvoHH-.js} +1 -1
  12. package/dist/assets/{index-C25bHdOM.js → index-D1ULRVbZ.js} +1 -1
  13. package/dist/assets/{index-DpabQJOX.js → index-DlH9IMQl.js} +1 -1
  14. package/dist/assets/{index-C8u74RER.js → index-Dsb-5apv.js} +1 -1
  15. package/dist/assets/{index-D9ApKauA.js → index-_YFUWLUM.js} +1 -1
  16. package/dist/assets/{index-CoIvdDsX.js → index-jg26xdEi.js} +1 -1
  17. package/dist/assets/{provider-jsonrpc-DuMpLBV0.js → provider-jsonrpc-DNgUKjG6.js} +1 -1
  18. package/dist/assets/{solana-DWuIx6gK.js → solana-D4RepnSA.js} +2 -2
  19. package/dist/assets/{sui-BcTGBE_4.js → sui-Du5h-f8S.js} +3 -3
  20. package/dist/main.mjs +185 -140
  21. package/dist/src/components/ConfigurablePageHeader.d.ts +1 -1
  22. package/dist/src/components/ConfigurablePageHeader.d.ts.map +1 -1
  23. package/dist/src/components/Header.d.ts +1 -0
  24. package/dist/src/components/Header.d.ts.map +1 -1
  25. package/dist/src/components/PageHeader.d.ts +1 -3
  26. package/dist/src/components/PageHeader.d.ts.map +1 -1
  27. package/dist/src/components/SampleApp/index.d.ts.map +1 -1
  28. package/dist/src/components/v3/BackButton.d.ts +6 -0
  29. package/dist/src/components/v3/BackButton.d.ts.map +1 -0
  30. package/dist/src/components/v3/FormContent.d.ts +5 -0
  31. package/dist/src/components/v3/FormContent.d.ts.map +1 -0
  32. package/dist/src/config/constants.d.ts.map +1 -1
  33. package/dist/src/config/events.d.ts +2 -1
  34. package/dist/src/config/events.d.ts.map +1 -1
  35. package/dist/src/config/mainnet/chains.d.ts.map +1 -1
  36. package/dist/src/config/mainnet/rpcs.d.ts.map +1 -1
  37. package/dist/src/config/mainnet/tokens.d.ts.map +1 -1
  38. package/dist/src/config/mainnet/wrappedTokens.d.ts +6 -0
  39. package/dist/src/config/mainnet/wrappedTokens.d.ts.map +1 -1
  40. package/dist/src/config/types.d.ts +6 -11
  41. package/dist/src/config/types.d.ts.map +1 -1
  42. package/dist/src/config/ui.d.ts +9 -0
  43. package/dist/src/config/ui.d.ts.map +1 -1
  44. package/dist/src/consts/wallet.d.ts.map +1 -1
  45. package/dist/src/hooks/useAutoEnableGasDropoff.d.ts +3 -1
  46. package/dist/src/hooks/useAutoEnableGasDropoff.d.ts.map +1 -1
  47. package/dist/src/hooks/useConnectToLastUsedWallet.d.ts.map +1 -1
  48. package/dist/src/hooks/useSortedRoutesWithQuotes.d.ts.map +1 -1
  49. package/dist/src/hooks/useTransactionHistory.d.ts.map +1 -1
  50. package/dist/src/hooks/useTransactionHistoryLiFi.d.ts +2 -0
  51. package/dist/src/hooks/useTransactionHistoryLiFi.d.ts.map +1 -1
  52. package/dist/src/hooks/useTransactionHistoryMayan.d.ts +2 -0
  53. package/dist/src/hooks/useTransactionHistoryMayan.d.ts.map +1 -1
  54. package/dist/src/hooks/useTransactionHistoryWHScan.d.ts +2 -1
  55. package/dist/src/hooks/useTransactionHistoryWHScan.d.ts.map +1 -1
  56. package/dist/src/icons/PoweredBy.d.ts.map +1 -1
  57. package/dist/src/icons/TokenIcons.d.ts.map +1 -1
  58. package/dist/src/icons/Tokens/AUSD.d.ts +4 -0
  59. package/dist/src/icons/Tokens/AUSD.d.ts.map +1 -0
  60. package/dist/src/routes/lifi/LiFiRoute.d.ts.map +1 -1
  61. package/dist/src/routes/mayan/utils.d.ts.map +1 -1
  62. package/dist/src/routes/monad/consts.d.ts +1 -0
  63. package/dist/src/routes/monad/consts.d.ts.map +1 -1
  64. package/dist/src/routes/monad/monad.test.d.ts +1 -0
  65. package/dist/src/routes/monad/monad.test.d.ts.map +1 -0
  66. package/dist/src/routes/monad/utils.d.ts.map +1 -1
  67. package/dist/src/sdklegacy/config/MAINNET.d.ts.map +1 -1
  68. package/dist/src/telemetry/types.d.ts +5 -2
  69. package/dist/src/telemetry/types.d.ts.map +1 -1
  70. package/dist/src/theme.d.ts +4 -3
  71. package/dist/src/theme.d.ts.map +1 -1
  72. package/dist/src/utils/errors.d.ts +1 -0
  73. package/dist/src/utils/errors.d.ts.map +1 -1
  74. package/dist/src/utils/fees.d.ts.map +1 -1
  75. package/dist/src/utils/index.d.ts.map +1 -1
  76. package/dist/src/utils/sdkv2.d.ts.map +1 -1
  77. package/dist/src/utils/wallet/index.d.ts +1 -0
  78. package/dist/src/utils/wallet/index.d.ts.map +1 -1
  79. package/dist/src/views/Terms.d.ts.map +1 -1
  80. package/dist/src/views/TxSearch.d.ts.map +1 -1
  81. package/dist/src/views/v3/Bridge/AssetPicker/PickerModal.d.ts.map +1 -1
  82. package/dist/src/views/v3/Bridge/AssetPicker/TokenPickerButton.d.ts +17 -0
  83. package/dist/src/views/v3/Bridge/AssetPicker/TokenPickerButton.d.ts.map +1 -0
  84. package/dist/src/views/v3/Bridge/AssetPicker/TokenPickerButtonContent.d.ts +8 -0
  85. package/dist/src/views/v3/Bridge/AssetPicker/TokenPickerButtonContent.d.ts.map +1 -0
  86. package/dist/src/views/v3/Bridge/AssetPicker/__tests__/TokenPickerButton.test.d.ts +2 -0
  87. package/dist/src/views/v3/Bridge/AssetPicker/__tests__/TokenPickerButton.test.d.ts.map +1 -0
  88. package/dist/src/views/v3/Bridge/AssetPicker/__tests__/TokenPickerButtonContent.test.d.ts +2 -0
  89. package/dist/src/views/v3/Bridge/AssetPicker/__tests__/TokenPickerButtonContent.test.d.ts.map +1 -0
  90. package/dist/src/views/v3/Bridge/AssetPicker/index.d.ts.map +1 -1
  91. package/dist/src/views/v3/Bridge/GasSlider/index.d.ts.map +1 -1
  92. package/dist/src/views/v3/Bridge/Routes/SingleRoute.d.ts.map +1 -1
  93. package/dist/src/views/v3/Bridge/Routes/index.d.ts +2 -1
  94. package/dist/src/views/v3/Bridge/Routes/index.d.ts.map +1 -1
  95. package/dist/src/views/v3/Bridge/WalletConnector/Controller.d.ts.map +1 -1
  96. package/dist/src/views/v3/Bridge/WalletConnector/ExplorerLink.d.ts.map +1 -1
  97. package/dist/src/views/v3/Bridge/WalletConnector/WalletAddress.d.ts +9 -0
  98. package/dist/src/views/v3/Bridge/WalletConnector/WalletAddress.d.ts.map +1 -0
  99. package/dist/src/views/v3/Bridge/WalletConnector/WalletPickerContent.d.ts.map +1 -1
  100. package/dist/src/views/v3/Bridge/WalletConnector/__tests__/WalletAddress.test.d.ts +2 -0
  101. package/dist/src/views/v3/Bridge/WalletConnector/__tests__/WalletAddress.test.d.ts.map +1 -0
  102. package/dist/src/views/v3/Bridge/index.d.ts.map +1 -1
  103. package/dist/src/views/v3/Redeem/TransactionDetails/index.d.ts.map +1 -1
  104. package/dist/src/views/v3/Redeem/index.d.ts.map +1 -1
  105. package/dist/src/views/v3/TxHistory/Item/index.d.ts.map +1 -1
  106. package/dist/src/views/v3/TxHistory/Widget/Item.d.ts.map +1 -1
  107. package/lib/{account-cIQhxn1E.js → account-K005OXgL.js} +1 -1
  108. package/lib/{account-BVl6Reot.mjs → account-TXlxMyv4.mjs} +2 -2
  109. package/lib/{address-rVHWlcKQ.mjs → address-CX0E32ut.mjs} +1 -1
  110. package/lib/{address-W9jn6Qdk.js → address-DqbIfKOu.js} +1 -1
  111. package/lib/{aptos-DWDR5o78.js → aptos-BnjZOhUE.js} +1 -1
  112. package/lib/{aptos-CNHYHK9c.js → aptos-CnswqE-C.js} +2 -2
  113. package/lib/{aptos-D1WFzBMy.mjs → aptos-DRfXJ8Ba.mjs} +7 -7
  114. package/lib/{aptos-B84P9rJZ.mjs → aptos-fTiHvXXE.mjs} +5 -5
  115. package/lib/{associatedTokenAccount-C4vEEbG5.js → associatedTokenAccount-CeqdaO2m.js} +1 -1
  116. package/lib/{associatedTokenAccount-DF6phO3l.mjs → associatedTokenAccount-Dsm4Hq32.mjs} +3 -3
  117. package/lib/{basic-BERCwt2M.mjs → basic-BqusrmRE.mjs} +3 -3
  118. package/lib/{basic-NhXxxbR1.js → basic-BrW22Cj9.js} +1 -1
  119. package/lib/{basic-CukRIaOD.mjs → basic-CK5Bsf0B.mjs} +3 -3
  120. package/lib/{basic-DJXXfABO.js → basic-ChOmeQQk.js} +1 -1
  121. package/lib/{chunk-KJH4KKG6-Brt4fyqz.mjs → chunk-KJH4KKG6-BfVMUPsB.mjs} +3 -3
  122. package/lib/{chunk-KJH4KKG6-BbF5W1_N.js → chunk-KJH4KKG6-CJx-rDa6.js} +1 -1
  123. package/lib/constants-C1w_RyOP.js +1 -0
  124. package/lib/{constants-VaoVbllu.mjs → constants-DcDpDarO.mjs} +6 -5
  125. package/lib/{core-BCZrVb_s.mjs → core-DQ-6Q1F1.mjs} +6 -6
  126. package/lib/{core-BE6SS7Ye.js → core-FA2gBc-s.js} +3 -3
  127. package/lib/{create-CChLkbGc.mjs → create-C5dhTMHL.mjs} +1 -1
  128. package/lib/{create-4w0DrcRO.js → create-bA3Gyivs.js} +1 -1
  129. package/lib/{evm-CmmnpcFD.mjs → evm-BJ4Lx-r9.mjs} +5 -5
  130. package/lib/{evm--K7mr7Kr.js → evm-BTgO_HRP.js} +2 -2
  131. package/lib/{evm-DKaWm7eC.mjs → evm-C-vXMfGr.mjs} +7 -7
  132. package/lib/{evm-C5BixKBn.js → evm-qxndAh3z.js} +1 -1
  133. package/lib/executor.js +1 -1
  134. package/lib/executor.mjs +13 -15
  135. package/lib/hosted.js +1 -1
  136. package/lib/hosted.mjs +1 -1
  137. package/lib/hypercore-D7kZiwbe.js +4 -0
  138. package/lib/{hypercore-birmbh9T.mjs → hypercore-DKqayfki.mjs} +4858 -3107
  139. package/lib/{index-qL4D-cpk.js → index-1T4sIL8n.js} +1 -1
  140. package/lib/{index-Ap7250Gf.mjs → index-39tU5Y5t.mjs} +6 -6
  141. package/lib/{index-BUbUhbMe.js → index-3Zg1AdoI.js} +1 -1
  142. package/lib/{index-D7gCsil9.js → index-6m7yero0.js} +1 -1
  143. package/lib/{index-CH0iw38J.mjs → index-B1URQBlH.mjs} +3 -3
  144. package/lib/{index-C5I7QiZ7.mjs → index-B6Ppg6EZ.mjs} +3 -3
  145. package/lib/{index-CED5jdrg.js → index-B7b8sctd.js} +1 -1
  146. package/lib/{index-xvG6cxNx.js → index-BEIFBxtP.js} +1 -1
  147. package/lib/{index-zIzzPp6D.mjs → index-BHpJUZne.mjs} +3 -3
  148. package/lib/{index-BTcij9Np.js → index-BJ0xVutl.js} +1 -1
  149. package/lib/{index-C61IKE_V.mjs → index-BSIPYyeZ.mjs} +2 -2
  150. package/lib/{index-EbSw7SbC.js → index-BTjUHY0e.js} +1 -1
  151. package/lib/{index-C8YhpD9T.mjs → index-BVciucyT.mjs} +4 -4
  152. package/lib/{index-BuHdMHLz.mjs → index-Ba1zbu3Q.mjs} +2 -2
  153. package/lib/{index-BU35GfG0.mjs → index-Bdtj4LUz.mjs} +2 -2
  154. package/lib/{index-Bs28m4ya.js → index-BfzaCmg7.js} +1 -1
  155. package/lib/{index-CN7M4gwf.mjs → index-BviSNDV7.mjs} +5 -5
  156. package/lib/{index-BRFbmsc_.js → index-C-F8_8dY.js} +1 -1
  157. package/lib/{index-Cys9e11O.js → index-C-SMuVS3.js} +1 -1
  158. package/lib/{index-pYTU7pQK.mjs → index-C6MalNd5.mjs} +4 -3
  159. package/lib/{index-Cg1Xo1eZ.js → index-C85u3Gj5.js} +1 -1
  160. package/lib/{index-Da9rvmCc.js → index-Cb0UWLGI.js} +1 -1
  161. package/lib/{index-HrZv1SyT.js → index-Cb_8WAm1.js} +8 -8
  162. package/lib/{index-DHnmtpvA.mjs → index-CcbY14s5.mjs} +4 -4
  163. package/lib/{index-CR1itkLl.mjs → index-CgqBQ88K.mjs} +3248 -3055
  164. package/lib/{index-Txz5xwr6.mjs → index-CowAVUcg.mjs} +1 -1
  165. package/lib/{index-BKgliEPZ.mjs → index-CrWTw0Se.mjs} +2 -2
  166. package/lib/{index-B_JJ50Y-.mjs → index-D-HUNEka.mjs} +4 -4
  167. package/lib/{index-BhMcIAHt.js → index-DJ2w1fz1.js} +1 -1
  168. package/lib/{index-BN_2mA2n.mjs → index-DcFL403C.mjs} +1 -1
  169. package/lib/{index-CO4ZoIAU.mjs → index-DjmVBSGQ.mjs} +4 -4
  170. package/lib/{index-Co3mm7UN.mjs → index-DrJE8udd.mjs} +1 -1
  171. package/lib/{index-fTUcaKb4.js → index-DuhYwr0t.js} +1 -1
  172. package/lib/{index-BQ0lWQfT.mjs → index-DwEx1Hn-.mjs} +2 -2
  173. package/lib/{index-DBofyYkS.js → index-DziujHu1.js} +1 -1
  174. package/lib/{index-Dou5sFku.js → index-JWbF-m3e.js} +1 -1
  175. package/lib/index-Oxm0y6-t.js +1 -0
  176. package/lib/{index-D1odbjeH.mjs → index-VnJcNK62.mjs} +3 -3
  177. package/lib/{index-DVxmRy4C.js → index-WrXSs0ic.js} +1 -1
  178. package/lib/{index-Cw0jWBks.js → index-XjDX4fWv.js} +1 -1
  179. package/lib/{index-CsdD1TNi.js → index-aMKUba1k.js} +1 -1
  180. package/lib/{index-DSnylejH.mjs → index-dufPAW5T.mjs} +292 -269
  181. package/lib/{index-lZY5fTXF.js → index-lAqXlt-a.js} +1 -1
  182. package/lib/{index-N4FkpEh9.mjs → index-mNO1mk2F.mjs} +4 -4
  183. package/lib/{index-BScgBddV.mjs → index-o1SAPXm_.mjs} +3 -3
  184. package/lib/{index-DNZ-Pkpm.mjs → index-rxQSA9t0.mjs} +6 -6
  185. package/lib/{index-DALvn9lg.js → index-v7w8krM0.js} +1 -1
  186. package/lib/{index-japympio.js → index-wadjmD_G.js} +1 -1
  187. package/lib/{index.es-DmmqAOLD.js → index.es-B9kBDkCQ.js} +3 -3
  188. package/lib/{index.es-Dg6IFrL4.js → index.es-BZRO-bNH.js} +1 -1
  189. package/lib/{index.es-B0fk_42a.mjs → index.es-CF3YY88z.mjs} +4 -4
  190. package/lib/{index.es-CDqFguL5.mjs → index.es-CaAL5X4E.mjs} +4 -4
  191. package/lib/index.js +78 -33
  192. package/lib/index.mjs +9158 -8833
  193. package/lib/{keypair-DWucLGoA.js → keypair-DCgXFOw5.js} +1 -1
  194. package/lib/{keypair-CP7syX9B.mjs → keypair-vpG2fl-q.mjs} +3 -3
  195. package/lib/lifi.js +1 -1
  196. package/lib/lifi.mjs +75 -76
  197. package/lib/mayan.js +2 -2
  198. package/lib/mayan.mjs +11 -10
  199. package/lib/{mint-CoNdQTGM.mjs → mint-BPrKG-Zc.mjs} +3 -3
  200. package/lib/{mint-CxQ6P5lT.js → mint-DW-XgF68.js} +1 -1
  201. package/lib/monad.js +1 -1
  202. package/lib/monad.mjs +91 -58
  203. package/lib/multiToken-B9BoSxdr.js +1 -0
  204. package/lib/{multiToken-Bm-K5dRJ.mjs → multiToken-DMllgxzT.mjs} +4 -3
  205. package/lib/ntt.js +2 -2
  206. package/lib/ntt.mjs +77 -86
  207. package/lib/{platform-Cil_UtAQ.mjs → platform-CSpAb386.mjs} +2788 -2748
  208. package/lib/{platform-BMKYxqvv.js → platform-Csj1Outc.js} +1 -1
  209. package/lib/platform-DCcL7jHP.js +11 -0
  210. package/lib/{platform-vRQufc6j.mjs → platform-YzJZdSCf.mjs} +3 -3
  211. package/lib/{secp256k1-LTcmQEQ5.mjs → secp256k1-1o6o1kFy.mjs} +1 -1
  212. package/lib/{secp256k1-DzRCmd6a.mjs → secp256k1-BjlnTj1_.mjs} +1 -1
  213. package/lib/{secp256k1-CglUNI04.js → secp256k1-CeYT4ndf.js} +1 -1
  214. package/lib/{secp256k1-DROP2Lhv.mjs → secp256k1-Cw_BiEuN.mjs} +1 -1
  215. package/lib/{secp256k1-BkoM1Jum.js → secp256k1-D5cKS6q_.js} +1 -1
  216. package/lib/{secp256k1-CcVQkYNr.js → secp256k1-_QlJc7sK.js} +1 -1
  217. package/lib/{signer-0hWrZ5BZ.mjs → signer-D2GRgRrw.mjs} +2 -2
  218. package/lib/{signer-DyqulDUM.js → signer-gjSiV5v3.js} +1 -1
  219. package/lib/solana-DfW5T_64.mjs +18 -0
  220. package/lib/{solana-C4k_Yg7w.js → solana-DvHFhri3.js} +4 -4
  221. package/lib/solana-Edd9tIkX.js +1 -0
  222. package/lib/{solana-D1LVIhGd.mjs → solana-TgPr9kpk.mjs} +10 -10
  223. package/lib/{solanaEmbed.esm-AvWQUA9e.mjs → solanaEmbed.esm-Bh1-aAL4.mjs} +4 -4
  224. package/lib/{solanaEmbed.esm--Ac-IlRA.js → solanaEmbed.esm-C8TjRcIV.js} +1 -1
  225. package/lib/{solidity-CbDkqHjE.js → solidity-BW7c8rFv.js} +1 -1
  226. package/lib/{solidity-Dk_mvceo.mjs → solidity-D9gSgFcp.mjs} +1 -1
  227. package/lib/src/components/ConfigurablePageHeader.d.ts +1 -1
  228. package/lib/src/components/ConfigurablePageHeader.d.ts.map +1 -1
  229. package/lib/src/components/Header.d.ts +1 -0
  230. package/lib/src/components/Header.d.ts.map +1 -1
  231. package/lib/src/components/PageHeader.d.ts +1 -3
  232. package/lib/src/components/PageHeader.d.ts.map +1 -1
  233. package/lib/src/components/SampleApp/index.d.ts.map +1 -1
  234. package/lib/src/components/v3/BackButton.d.ts +6 -0
  235. package/lib/src/components/v3/BackButton.d.ts.map +1 -0
  236. package/lib/src/components/v3/FormContent.d.ts +5 -0
  237. package/lib/src/components/v3/FormContent.d.ts.map +1 -0
  238. package/lib/src/config/constants.d.ts.map +1 -1
  239. package/lib/src/config/events.d.ts +2 -1
  240. package/lib/src/config/events.d.ts.map +1 -1
  241. package/lib/src/config/mainnet/chains.d.ts.map +1 -1
  242. package/lib/src/config/mainnet/rpcs.d.ts.map +1 -1
  243. package/lib/src/config/mainnet/tokens.d.ts.map +1 -1
  244. package/lib/src/config/mainnet/wrappedTokens.d.ts +6 -0
  245. package/lib/src/config/mainnet/wrappedTokens.d.ts.map +1 -1
  246. package/lib/src/config/types.d.ts +6 -11
  247. package/lib/src/config/types.d.ts.map +1 -1
  248. package/lib/src/config/ui.d.ts +9 -0
  249. package/lib/src/config/ui.d.ts.map +1 -1
  250. package/lib/src/consts/wallet.d.ts.map +1 -1
  251. package/lib/src/hooks/useAutoEnableGasDropoff.d.ts +3 -1
  252. package/lib/src/hooks/useAutoEnableGasDropoff.d.ts.map +1 -1
  253. package/lib/src/hooks/useConnectToLastUsedWallet.d.ts.map +1 -1
  254. package/lib/src/hooks/useSortedRoutesWithQuotes.d.ts.map +1 -1
  255. package/lib/src/hooks/useTransactionHistory.d.ts.map +1 -1
  256. package/lib/src/hooks/useTransactionHistoryLiFi.d.ts +2 -0
  257. package/lib/src/hooks/useTransactionHistoryLiFi.d.ts.map +1 -1
  258. package/lib/src/hooks/useTransactionHistoryMayan.d.ts +2 -0
  259. package/lib/src/hooks/useTransactionHistoryMayan.d.ts.map +1 -1
  260. package/lib/src/hooks/useTransactionHistoryWHScan.d.ts +2 -1
  261. package/lib/src/hooks/useTransactionHistoryWHScan.d.ts.map +1 -1
  262. package/lib/src/icons/PoweredBy.d.ts.map +1 -1
  263. package/lib/src/icons/TokenIcons.d.ts.map +1 -1
  264. package/lib/src/icons/Tokens/AUSD.d.ts +4 -0
  265. package/lib/src/icons/Tokens/AUSD.d.ts.map +1 -0
  266. package/lib/src/routes/lifi/LiFiRoute.d.ts.map +1 -1
  267. package/lib/src/routes/mayan/utils.d.ts.map +1 -1
  268. package/lib/src/routes/monad/consts.d.ts +1 -0
  269. package/lib/src/routes/monad/consts.d.ts.map +1 -1
  270. package/lib/src/routes/monad/monad.test.d.ts +1 -0
  271. package/lib/src/routes/monad/monad.test.d.ts.map +1 -0
  272. package/lib/src/routes/monad/utils.d.ts.map +1 -1
  273. package/lib/src/sdklegacy/config/MAINNET.d.ts.map +1 -1
  274. package/lib/src/telemetry/types.d.ts +5 -2
  275. package/lib/src/telemetry/types.d.ts.map +1 -1
  276. package/lib/src/theme.d.ts +4 -3
  277. package/lib/src/theme.d.ts.map +1 -1
  278. package/lib/src/utils/errors.d.ts +1 -0
  279. package/lib/src/utils/errors.d.ts.map +1 -1
  280. package/lib/src/utils/fees.d.ts.map +1 -1
  281. package/lib/src/utils/index.d.ts.map +1 -1
  282. package/lib/src/utils/sdkv2.d.ts.map +1 -1
  283. package/lib/src/utils/wallet/index.d.ts +1 -0
  284. package/lib/src/utils/wallet/index.d.ts.map +1 -1
  285. package/lib/src/views/Terms.d.ts.map +1 -1
  286. package/lib/src/views/TxSearch.d.ts.map +1 -1
  287. package/lib/src/views/v3/Bridge/AssetPicker/PickerModal.d.ts.map +1 -1
  288. package/lib/src/views/v3/Bridge/AssetPicker/TokenPickerButton.d.ts +17 -0
  289. package/lib/src/views/v3/Bridge/AssetPicker/TokenPickerButton.d.ts.map +1 -0
  290. package/lib/src/views/v3/Bridge/AssetPicker/TokenPickerButtonContent.d.ts +8 -0
  291. package/lib/src/views/v3/Bridge/AssetPicker/TokenPickerButtonContent.d.ts.map +1 -0
  292. package/lib/src/views/v3/Bridge/AssetPicker/__tests__/TokenPickerButton.test.d.ts +2 -0
  293. package/lib/src/views/v3/Bridge/AssetPicker/__tests__/TokenPickerButton.test.d.ts.map +1 -0
  294. package/lib/src/views/v3/Bridge/AssetPicker/__tests__/TokenPickerButtonContent.test.d.ts +2 -0
  295. package/lib/src/views/v3/Bridge/AssetPicker/__tests__/TokenPickerButtonContent.test.d.ts.map +1 -0
  296. package/lib/src/views/v3/Bridge/AssetPicker/index.d.ts.map +1 -1
  297. package/lib/src/views/v3/Bridge/GasSlider/index.d.ts.map +1 -1
  298. package/lib/src/views/v3/Bridge/Routes/SingleRoute.d.ts.map +1 -1
  299. package/lib/src/views/v3/Bridge/Routes/index.d.ts +2 -1
  300. package/lib/src/views/v3/Bridge/Routes/index.d.ts.map +1 -1
  301. package/lib/src/views/v3/Bridge/WalletConnector/Controller.d.ts.map +1 -1
  302. package/lib/src/views/v3/Bridge/WalletConnector/ExplorerLink.d.ts.map +1 -1
  303. package/lib/src/views/v3/Bridge/WalletConnector/WalletAddress.d.ts +9 -0
  304. package/lib/src/views/v3/Bridge/WalletConnector/WalletAddress.d.ts.map +1 -0
  305. package/lib/src/views/v3/Bridge/WalletConnector/WalletPickerContent.d.ts.map +1 -1
  306. package/lib/src/views/v3/Bridge/WalletConnector/__tests__/WalletAddress.test.d.ts +2 -0
  307. package/lib/src/views/v3/Bridge/WalletConnector/__tests__/WalletAddress.test.d.ts.map +1 -0
  308. package/lib/src/views/v3/Bridge/index.d.ts.map +1 -1
  309. package/lib/src/views/v3/Redeem/TransactionDetails/index.d.ts.map +1 -1
  310. package/lib/src/views/v3/Redeem/index.d.ts.map +1 -1
  311. package/lib/src/views/v3/TxHistory/Item/index.d.ts.map +1 -1
  312. package/lib/src/views/v3/TxHistory/Widget/Item.d.ts.map +1 -1
  313. package/lib/{sui-LiXjD27c.js → sui-BtyZE8YC.js} +1 -1
  314. package/lib/{sui-BPAb7kcs.mjs → sui-CoWRa3vr.mjs} +4 -4
  315. package/lib/{sui-CgmDTkXK.js → sui-DwFrGd2Y.js} +1 -1
  316. package/lib/{sui-cpCvd7RC.mjs → sui-QP4AZGNc.mjs} +6 -6
  317. package/lib/{tokenHelpers-CbE0g9BP.js → tokenHelpers-CeTyb4rG.js} +1 -1
  318. package/lib/{tokenHelpers-DvWQs1tu.mjs → tokenHelpers-VYjmKUxj.mjs} +1 -1
  319. package/lib/{tokens-BJDttoCp.mjs → tokens-D6uJqrsR.mjs} +3 -3
  320. package/lib/{tokens-CvZuVW-g.js → tokens-mXZqt-qL.js} +1 -1
  321. package/lib/types-CgveSjsw.js +1 -0
  322. package/lib/{types-iFgwQ7vG.mjs → types-Dxx2g1wS.mjs} +170 -168
  323. package/lib/{unsignedTransaction-DCDxTFq8.mjs → unsignedTransaction-D2Ja0SuN.mjs} +2 -2
  324. package/lib/{unsignedTransaction-DA4tlY5u.js → unsignedTransaction-qRBv5Cnd.js} +2 -2
  325. package/lib/{utils-DMf7wRGI.js → utils-BEljbqMf.js} +1 -1
  326. package/lib/{utils-BSxsyW2c.mjs → utils-mBHX3Jpu.mjs} +4 -4
  327. package/lib/{w3m-modal-DM5Pf8SH.mjs → w3m-modal-BEe8ji9_.mjs} +2 -2
  328. package/lib/{w3m-modal-CtQ0TPA4.mjs → w3m-modal-D3eqrCT1.mjs} +2 -2
  329. package/lib/{w3m-modal-k23UDiov.js → w3m-modal-Duc13ei7.js} +1 -1
  330. package/lib/{w3m-modal-ByamyZny.js → w3m-modal-f_sUVzPx.js} +1 -1
  331. package/lib/{wallet-CMTEE6Oa.mjs → wallet-Cyosy4Hc.mjs} +1 -1
  332. package/lib/{wallet-BMli0fbu.js → wallet-a0_jwP8j.js} +1 -1
  333. package/lib/{web3-CUwFm9Lx.mjs → web3-CdErAVj5.mjs} +2 -2
  334. package/lib/{web3-DdUeM7iQ.js → web3-x1WCGDiy.js} +1 -1
  335. package/package.json +49 -47
  336. package/dist/assets/index-_UMHESh0.js +0 -1
  337. package/dist/src/components/Button.d.ts +0 -13
  338. package/dist/src/components/Button.d.ts.map +0 -1
  339. package/dist/src/icons/Down.d.ts +0 -5
  340. package/dist/src/icons/Down.d.ts.map +0 -1
  341. package/lib/constants-B9TBfA4z.js +0 -1
  342. package/lib/hypercore-4R7JGmbr.js +0 -4
  343. package/lib/index-C8eqQ_7p.js +0 -1
  344. package/lib/multiToken-YoNvxjur.js +0 -1
  345. package/lib/platform-CCG_jgOO.js +0 -11
  346. package/lib/solana-DKFJvqX8.mjs +0 -18
  347. package/lib/solana-Dmje_Si8.js +0 -1
  348. package/lib/src/components/Button.d.ts +0 -13
  349. package/lib/src/components/Button.d.ts.map +0 -1
  350. package/lib/src/icons/Down.d.ts +0 -5
  351. package/lib/src/icons/Down.d.ts.map +0 -1
  352. package/lib/types-CjNs2oB0.js +0 -1
@@ -1,6 +1,6 @@
1
1
  import { i as y, e as b, x as w } from "./lit-element-BEjnSApQ.mjs";
2
2
  import { n as l, m as I, e as L } from "./class-map-CaVO0ioB.mjs";
3
- import { r as S, k as W, e as D } from "./solana-D1LVIhGd.mjs";
3
+ import { r as S, k as W, e as D } from "./solana-TgPr9kpk.mjs";
4
4
  const h = {
5
5
  getSpacingStyles(i, t) {
6
6
  if (Array.isArray(i))
@@ -1,5 +1,5 @@
1
- import { l, V as m, aK as c, aL as y, at as T, dn as g, m as h, X as v, aM as M, c1 as S, I as w, E as x, au as I, aN as C } from "./platform-Cil_UtAQ.mjs";
2
- import { c as A } from "./create-CChLkbGc.mjs";
1
+ import { l, V as m, aK as c, aL as y, at as T, dn as g, m as h, X as v, aM as M, c1 as S, I as w, E as x, au as I, aN as C } from "./platform-CSpAb386.mjs";
2
+ import { c as A } from "./create-C5dhTMHL.mjs";
3
3
  class r {
4
4
  network;
5
5
  chain;
@@ -1,7 +1,7 @@
1
- import { P as o, L as h, S as R, T as Q, ac as O, B as b, j as Z, D as v, K as j, l as Y, _ as ee } from "./unsignedTransaction-DCDxTFq8.mjs";
2
- import { P as E, c as N, i as I } from "./index-BU35GfG0.mjs";
3
- import { C as y, bd as _, m as ne, b as x, aJ as se, de as D, au as ae } from "./platform-Cil_UtAQ.mjs";
4
- import { p as B, u as te, b as ie } from "./web3-CUwFm9Lx.mjs";
1
+ import { P as o, L as h, S as R, T as Q, ac as O, B as b, j as Z, D as v, K as j, l as Y, _ as ee } from "./unsignedTransaction-D2Ja0SuN.mjs";
2
+ import { P as E, c as N, i as I } from "./index-Bdtj4LUz.mjs";
3
+ import { C as y, bd as _, m as ne, b as x, aJ as se, de as D, au as ae } from "./platform-CSpAb386.mjs";
4
+ import { p as B, u as te, b as ie } from "./web3-CdErAVj5.mjs";
5
5
  const k = new o("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");
6
6
  new o("TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb");
7
7
  const A = new o("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");
@@ -1 +1 @@
1
- "use strict";const n=require("./platform-CCG_jgOO.js"),T=require("./address-W9jn6Qdk.js");async function p(m,t,e,a=120*1e3,o=console.log){const i=Date.now();o("Checking transfer state...");for await(t of m.track(t,120*1e3))o("Current Transfer State: ",n.TransferState[t.state]);if(n.isCompleted(t))return t;if(n.isManual(m)&&n.isAttested(t)&&e){o("Completing transfer...");const c=await m.complete(e,t);o("Completed transfer with txids: ",c)}if(n.isFinalizable(m)&&n.isRedeemed(t)&&e){o("Finalizing transfer...");const c=await m.finalize(e,t);o("Finalized transfer with txids: ",c)}const r=a-(Date.now()-i);return r>0?(o("Transfer not complete, trying again in a 2000ms..."),await new Promise(s=>setTimeout(s,2e3)),p(m,t,e,r)):t}function E(m={}){class t extends k{static config=m}return t}class k extends n.AutomaticRoute{static IS_EXECUTOR_ROUTE=!0;static NATIVE_GAS_DROPOFF_SUPPORTED=!0;staticConfig=this.constructor.config;static config={};static meta={name:"TokenBridgeExecutorRoute"};static supportedNetworks(){return["Mainnet","Testnet"]}static supportedChains(t){return t==="Devnet"?[]:n.executorTokenBridgeChains(t)}static async supportedDestinationTokens(t,e,a){try{return[await n.TokenTransfer.lookupDestinationToken(e,a,t)]}catch{return[]}}getDefaultOptions(){return{nativeGas:0}}async validate(t,e){if(t.fromChain.chain===t.toChain.chain)return{valid:!1,params:e,error:new Error("Source and destination chains cannot be the same")};const a=n.parse(e.amount,t.source.decimals),o=e.options??this.getDefaultOptions();if(o.nativeGas&&(o.nativeGas>1||o.nativeGas<0))throw new Error("Native gas must be between 0.0 and 1.0 (0% and 100%)");return{valid:!0,params:{amount:e.amount,normalizedParams:{amount:a},options:o}}}async quote(t,e){const a=k.supportedChains(t.fromChain.network);if(!a.includes(t.fromChain.chain)||!a.includes(t.toChain.chain))return{success:!1,error:new Error(`Executor Token Bridge does not support transfers from ${t.fromChain.chain} to ${t.toChain.chain}`)};try{let o;const i=await t.toChain.getExecutorTokenBridge();let{gasLimit:r,msgValue:c}=await i.estimateMsgValueAndGasLimit(t.destination.id,t.recipient);if(this.staticConfig.referrerFee?.referrerFeeDbps!==void 0&&(o=this.staticConfig.referrerFee.referrerFeeDbps),this.staticConfig.referrerFee?.tokenFeeOverrides){const l=n.canonicalAddress(t.source.id),h=this.staticConfig.referrerFee.tokenFeeOverrides[this.wh.network]?.[t.fromChain.chain]?.[l];h!==void 0&&(o=h)}if(this.staticConfig.tokenOverrides){const l=n.canonicalAddress(t.destination.id),h=this.staticConfig.tokenOverrides[this.wh.network]?.[t.destination.id.chain]?.[l];h?.gasLimit!==void 0&&(r=h.gasLimit)}let s;if(o!==void 0&&o>0n){const l=this.staticConfig.referrerFee?.referrerAddresses?.[this.wh.network]?.[t.fromChain.chain];if(!l)throw new Error(`No referrer address configured for network ${this.wh.network} and chain ${t.fromChain.chain}`);s=n.Wormhole.chainAddress(t.fromChain.chain,l)}const d=o!==void 0&&s!==void 0?{feeDbps:o,referrer:s}:void 0;let u;if(e.options.nativeGas!==void 0){const l=await n.TokenTransfer.getExecutorGasDropOffLimit(this.wh,t.toChain);u=l>0n?BigInt(Math.round(e.options.nativeGas*100))*l/100n:0n}const f=await n.TokenTransfer.quoteTransfer(this.wh,t.fromChain,t.toChain,{token:t.source.id,amount:n.units(e.normalizedParams.amount),protocol:"ExecutorTokenBridge",nativeGas:u,msgValue:c,gasLimit:r,referrerFee:d});return t.displayQuote(f,e,f.details)}catch(o){return{success:!1,error:o}}}async initiate(t,e,a,o){const{fromChain:i,toChain:r}=t,{params:c}=a,s=await n.TokenTransfer.destinationOverrides(i,r,this.toTransferDetails(t,c,n.Wormhole.chainAddress(e.chain(),e.address()),o,a)),d=await n.TokenTransfer.transfer(i,s,e);let u=0;return(async()=>{for(;u<20;){try{const[l]=await this.wh.getExecutorTxStatus(d.at(-1).txid,i.chain);if(l)break}catch{}u++,await new Promise(l=>setTimeout(l,2e3))}})(),{from:s.from.chain,to:s.to.chain,state:n.TransferState.SourceInitiated,originTxs:d}}async complete(t,e){if(!n.isAttested(e)&&!n.isFailed(e))throw new Error("The source must be finalized in order to complete the transfer");if(!e.attestation)throw new Error("The receipt must have an attestation to complete the transfer");const a=this.wh.getChain(e.to),o=await a.getExecutorTokenBridge(),i=n.toNative(t.chain(),t.address()),r=o.redeem(i,e.attestation.attestation),c=await n.signSendWait(a,r,t);return{...e,state:n.TransferState.DestinationInitiated,attestation:e.attestation,destinationTxs:c}}async resume(t){const e=await n.TokenTransfer.from(this.wh,t,1e4);if(e.transfer.protocol!=="ExecutorTokenBridge")throw new Error("Can only resume ExecutorTokenBridge transfers");return n.TokenTransfer.getReceipt(e)}async*track(t,e){for await(const a of n.TokenTransfer.track(this.wh,t,e))yield a}toTransferDetails(t,e,a,o,i){if(!i.details)throw new Error("Missing quote details");return{from:a,to:o,token:t.source.id,amount:n.units(e.normalizedParams.amount),protocol:"ExecutorTokenBridge",executorQuote:i.details.executorQuote,referrerFee:i.details.referrerFee}}}const C=15n,P=100n,w=10000n;class g extends n.AutomaticRoute{static NATIVE_GAS_DROPOFF_SUPPORTED=!1;static meta={name:"AutomaticPortico"};static supportedNetworks(){return["Mainnet"]}static supportedChains(t){return n.porticoContractChains.has(t)?n.porticoContractChains.get(t):[]}static async supportedDestinationTokens(t,e,a){const[,o]=n.resolveWrappedToken(e.network,e.chain,t),i=n.canonicalAddress(o),r=await e.getPorticoBridge();if(!r.supportedTokens().some(f=>n.canonicalAddress(f.token)===i))return[];try{const f=await r.getTransferrableToken(i);await n.TokenTransfer.lookupDestinationToken(e,a,f)}catch{return[]}const s=(await a.getPorticoBridge()).supportedTokens(),{tokenMap:d}=a.config,u=r.getTokenGroup(i);return s.filter(f=>(f.group===u||f.group==="ETH"&&u==="WETH"||f.group==="WETH"&&u==="ETH")&&(!d||n.filters.byAddress(d,n.canonicalAddress(f.token)))).map(f=>f.token)}getDefaultOptions(){return{}}async validate(t,e){try{if(t.fromChain.chain===t.toChain.chain)return{valid:!1,params:e,error:new Error("Source and destination chains cannot be the same")};if(!g.supportedChains(t.fromChain.network).includes(t.fromChain.chain)||!g.supportedChains(t.toChain.network).includes(t.toChain.chain))throw new Error("Protocol not supported");const{fromChain:a,toChain:o,source:i,destination:r}=t,{network:c}=a,[,s]=n.resolveWrappedToken(c,a.chain,i.id),[,d]=n.resolveWrappedToken(c,o.chain,r.id),u=await a.getPorticoBridge(),f=await o.getPorticoBridge(),l=await u.getTransferrableToken(n.canonicalAddress(s)),h=await f.getTransferrableToken(n.canonicalAddress(d));return{valid:!0,params:{amount:e.amount,options:e.options??this.getDefaultOptions(),normalizedParams:{amount:t.parseAmount(e.amount),canonicalSourceToken:l,canonicalDestinationToken:h,sourceToken:s,destinationToken:d}}}}catch(a){return{valid:!1,error:a,params:e}}}async quote(t,e){try{const a=await this.fetchSwapQuote(t,e),o=Math.max(t.source.decimals,t.destination.decimals),i=n.units(n.scale(e.normalizedParams.amount,o));if(n.units(n.scale(n.fromBaseUnits(a.minAmountFinish,t.destination.decimals),o))<i-i*P/w)throw new Error("Slippage too high");const s=await(await t.toChain.getPorticoBridge()).quoteRelay(e.normalizedParams.canonicalDestinationToken.address,e.normalizedParams.destinationToken.address),d={swapAmounts:a,relayerFee:s},u=d.swapAmounts.minAmountFinish-s;return u<0n?{success:!1,error:new Error(`Amount too low for slippage and fee, would result in negative destination amount (${u})`)}:await t.displayQuote({sourceToken:{token:e.normalizedParams.sourceToken,amount:n.units(e.normalizedParams.amount)},destinationToken:{token:e.normalizedParams.destinationToken,amount:d.swapAmounts.minAmountFinish-s},relayFee:{token:e.normalizedParams.destinationToken,amount:s},eta:n.estimateFinalityTime(t.fromChain.chain),expires:n.expiration(0,5,0)},e,d)}catch(a){return{success:!1,error:a}}}async initiate(t,e,a,o){const{params:i,details:r}=a,c=t.source.id.address,s=t.destination.id,d=await t.fromChain.getPorticoBridge(),u=d.getTokenGroup(c.toString()),l=(await t.toChain.getPorticoBridge()).getPorticoAddress(u),h=d.transfer(n.Wormhole.parseAddress(e.chain(),e.address()),o,c,n.units(i.normalizedParams.amount),s,l,r);return{originTxs:await n.signSendWait(t.fromChain,h,e),state:n.TransferState.SourceInitiated,from:t.fromChain.chain,to:t.toChain.chain}}async*track(t,e){if(n.isSourceInitiated(t)||n.isSourceFinalized(t)){const{txid:a}=t.originTxs[t.originTxs.length-1],o=await this.wh.getVaa(a,"PorticoBridge:Transfer",e);if(!o)throw new Error("No VAA found for transaction: "+a);const i={chain:o.emitterChain,emitter:o.emitterAddress,sequence:o.sequence};t={...t,state:n.TransferState.Attested,attestation:{id:i,attestation:o}},yield t}n.isAttested(t)&&await(await this.wh.getChain(t.to).getPorticoBridge()).isTransferCompleted(t.attestation.attestation)&&(t={...t,state:n.TransferState.DestinationFinalized},yield t),yield t}async complete(t,e){if(!n.isAttested(e))throw new Error("Source must be attested");const a=await this.wh.getChain(e.to),o=await a.getPorticoBridge(),i=n.Wormhole.chainAddress(t.chain(),t.address()),r=o.redeem(i.address,e.attestation.attestation);return await n.signSendWait(a,r,t)}async fetchSwapQuote(t,e){const a=await t.fromChain.getPorticoBridge(),o=n.units(e.normalizedParams.amount),i=a.getTokenGroup(n.canonicalAddress(e.normalizedParams.sourceToken)),r=await a.quoteSwap(e.normalizedParams.sourceToken.address,e.normalizedParams.canonicalSourceToken.address,i,o),c=r*C/w;if(c>=r)throw new Error("Start slippage too high");const s=await t.toChain.getPorticoBridge(),d=r-c,u=await s.quoteSwap(e.normalizedParams.canonicalDestinationToken.address,e.normalizedParams.destinationToken.address,i,d),f=u*C/w;if(f>=u)throw new Error("Finish slippage too high");const l=u-f;return{minAmountStart:d,minAmountFinish:l}}}const x=Object.freeze(Object.defineProperty({__proto__:null,AutomaticCCTPRoute:T.AutomaticCCTPRoute,AutomaticPorticoRoute:g,AutomaticRoute:n.AutomaticRoute,AutomaticTokenBridgeRoute:T.AutomaticTokenBridgeRoute,BPS_PER_HUNDRED_PERCENT:w,CCTPRoute:T.CCTPRoute,ExecutorTokenBridgeRoute:k,FinalizableRoute:n.FinalizableRoute,MAX_SLIPPAGE_BPS:P,ManualRoute:n.ManualRoute,MinAmountError:n.MinAmountError,RelayFailedError:n.RelayFailedError,Route:n.Route,RouteResolver:n.RouteResolver,RouteTransferRequest:T.RouteTransferRequest,SLIPPAGE_BPS:C,TBTCRoute:T.TBTCRoute,TokenBridgeRoute:T.TokenBridgeRoute,UnavailableError:n.UnavailableError,checkAndCompleteTransfer:p,executorTokenBridgeRoute:E,isAutomatic:n.isAutomatic,isFinalizable:n.isFinalizable,isManual:n.isManual},Symbol.toStringTag,{value:"Module"}));exports.routes=x;
1
+ "use strict";const n=require("./platform-DCcL7jHP.js"),T=require("./address-DqbIfKOu.js");async function p(m,t,e,a=120*1e3,o=console.log){const i=Date.now();o("Checking transfer state...");for await(t of m.track(t,120*1e3))o("Current Transfer State: ",n.TransferState[t.state]);if(n.isCompleted(t))return t;if(n.isManual(m)&&n.isAttested(t)&&e){o("Completing transfer...");const c=await m.complete(e,t);o("Completed transfer with txids: ",c)}if(n.isFinalizable(m)&&n.isRedeemed(t)&&e){o("Finalizing transfer...");const c=await m.finalize(e,t);o("Finalized transfer with txids: ",c)}const r=a-(Date.now()-i);return r>0?(o("Transfer not complete, trying again in a 2000ms..."),await new Promise(s=>setTimeout(s,2e3)),p(m,t,e,r)):t}function E(m={}){class t extends k{static config=m}return t}class k extends n.AutomaticRoute{static IS_EXECUTOR_ROUTE=!0;static NATIVE_GAS_DROPOFF_SUPPORTED=!0;staticConfig=this.constructor.config;static config={};static meta={name:"TokenBridgeExecutorRoute"};static supportedNetworks(){return["Mainnet","Testnet"]}static supportedChains(t){return t==="Devnet"?[]:n.executorTokenBridgeChains(t)}static async supportedDestinationTokens(t,e,a){try{return[await n.TokenTransfer.lookupDestinationToken(e,a,t)]}catch{return[]}}getDefaultOptions(){return{nativeGas:0}}async validate(t,e){if(t.fromChain.chain===t.toChain.chain)return{valid:!1,params:e,error:new Error("Source and destination chains cannot be the same")};const a=n.parse(e.amount,t.source.decimals),o=e.options??this.getDefaultOptions();if(o.nativeGas&&(o.nativeGas>1||o.nativeGas<0))throw new Error("Native gas must be between 0.0 and 1.0 (0% and 100%)");return{valid:!0,params:{amount:e.amount,normalizedParams:{amount:a},options:o}}}async quote(t,e){const a=k.supportedChains(t.fromChain.network);if(!a.includes(t.fromChain.chain)||!a.includes(t.toChain.chain))return{success:!1,error:new Error(`Executor Token Bridge does not support transfers from ${t.fromChain.chain} to ${t.toChain.chain}`)};try{let o;const i=await t.toChain.getExecutorTokenBridge();let{gasLimit:r,msgValue:c}=await i.estimateMsgValueAndGasLimit(t.destination.id,t.recipient);if(this.staticConfig.referrerFee?.referrerFeeDbps!==void 0&&(o=this.staticConfig.referrerFee.referrerFeeDbps),this.staticConfig.referrerFee?.tokenFeeOverrides){const l=n.canonicalAddress(t.source.id),h=this.staticConfig.referrerFee.tokenFeeOverrides[this.wh.network]?.[t.fromChain.chain]?.[l];h!==void 0&&(o=h)}if(this.staticConfig.tokenOverrides){const l=n.canonicalAddress(t.destination.id),h=this.staticConfig.tokenOverrides[this.wh.network]?.[t.destination.id.chain]?.[l];h?.gasLimit!==void 0&&(r=h.gasLimit)}let s;if(o!==void 0&&o>0n){const l=this.staticConfig.referrerFee?.referrerAddresses?.[this.wh.network]?.[t.fromChain.chain];if(!l)throw new Error(`No referrer address configured for network ${this.wh.network} and chain ${t.fromChain.chain}`);s=n.Wormhole.chainAddress(t.fromChain.chain,l)}const d=o!==void 0&&s!==void 0?{feeDbps:o,referrer:s}:void 0;let u;if(e.options.nativeGas!==void 0){const l=await n.TokenTransfer.getExecutorGasDropOffLimit(this.wh,t.toChain);u=l>0n?BigInt(Math.round(e.options.nativeGas*100))*l/100n:0n}const f=await n.TokenTransfer.quoteTransfer(this.wh,t.fromChain,t.toChain,{token:t.source.id,amount:n.units(e.normalizedParams.amount),protocol:"ExecutorTokenBridge",nativeGas:u,msgValue:c,gasLimit:r,referrerFee:d});return t.displayQuote(f,e,f.details)}catch(o){return{success:!1,error:o}}}async initiate(t,e,a,o){const{fromChain:i,toChain:r}=t,{params:c}=a,s=await n.TokenTransfer.destinationOverrides(i,r,this.toTransferDetails(t,c,n.Wormhole.chainAddress(e.chain(),e.address()),o,a)),d=await n.TokenTransfer.transfer(i,s,e);let u=0;return(async()=>{for(;u<20;){try{const[l]=await this.wh.getExecutorTxStatus(d.at(-1).txid,i.chain);if(l)break}catch{}u++,await new Promise(l=>setTimeout(l,2e3))}})(),{from:s.from.chain,to:s.to.chain,state:n.TransferState.SourceInitiated,originTxs:d}}async complete(t,e){if(!n.isAttested(e)&&!n.isFailed(e))throw new Error("The source must be finalized in order to complete the transfer");if(!e.attestation)throw new Error("The receipt must have an attestation to complete the transfer");const a=this.wh.getChain(e.to),o=await a.getExecutorTokenBridge(),i=n.toNative(t.chain(),t.address()),r=o.redeem(i,e.attestation.attestation),c=await n.signSendWait(a,r,t);return{...e,state:n.TransferState.DestinationInitiated,attestation:e.attestation,destinationTxs:c}}async resume(t){const e=await n.TokenTransfer.from(this.wh,t,1e4);if(e.transfer.protocol!=="ExecutorTokenBridge")throw new Error("Can only resume ExecutorTokenBridge transfers");return n.TokenTransfer.getReceipt(e)}async*track(t,e){for await(const a of n.TokenTransfer.track(this.wh,t,e))yield a}toTransferDetails(t,e,a,o,i){if(!i.details)throw new Error("Missing quote details");return{from:a,to:o,token:t.source.id,amount:n.units(e.normalizedParams.amount),protocol:"ExecutorTokenBridge",executorQuote:i.details.executorQuote,referrerFee:i.details.referrerFee}}}const C=15n,P=100n,w=10000n;class g extends n.AutomaticRoute{static NATIVE_GAS_DROPOFF_SUPPORTED=!1;static meta={name:"AutomaticPortico"};static supportedNetworks(){return["Mainnet"]}static supportedChains(t){return n.porticoContractChains.has(t)?n.porticoContractChains.get(t):[]}static async supportedDestinationTokens(t,e,a){const[,o]=n.resolveWrappedToken(e.network,e.chain,t),i=n.canonicalAddress(o),r=await e.getPorticoBridge();if(!r.supportedTokens().some(f=>n.canonicalAddress(f.token)===i))return[];try{const f=await r.getTransferrableToken(i);await n.TokenTransfer.lookupDestinationToken(e,a,f)}catch{return[]}const s=(await a.getPorticoBridge()).supportedTokens(),{tokenMap:d}=a.config,u=r.getTokenGroup(i);return s.filter(f=>(f.group===u||f.group==="ETH"&&u==="WETH"||f.group==="WETH"&&u==="ETH")&&(!d||n.filters.byAddress(d,n.canonicalAddress(f.token)))).map(f=>f.token)}getDefaultOptions(){return{}}async validate(t,e){try{if(t.fromChain.chain===t.toChain.chain)return{valid:!1,params:e,error:new Error("Source and destination chains cannot be the same")};if(!g.supportedChains(t.fromChain.network).includes(t.fromChain.chain)||!g.supportedChains(t.toChain.network).includes(t.toChain.chain))throw new Error("Protocol not supported");const{fromChain:a,toChain:o,source:i,destination:r}=t,{network:c}=a,[,s]=n.resolveWrappedToken(c,a.chain,i.id),[,d]=n.resolveWrappedToken(c,o.chain,r.id),u=await a.getPorticoBridge(),f=await o.getPorticoBridge(),l=await u.getTransferrableToken(n.canonicalAddress(s)),h=await f.getTransferrableToken(n.canonicalAddress(d));return{valid:!0,params:{amount:e.amount,options:e.options??this.getDefaultOptions(),normalizedParams:{amount:t.parseAmount(e.amount),canonicalSourceToken:l,canonicalDestinationToken:h,sourceToken:s,destinationToken:d}}}}catch(a){return{valid:!1,error:a,params:e}}}async quote(t,e){try{const a=await this.fetchSwapQuote(t,e),o=Math.max(t.source.decimals,t.destination.decimals),i=n.units(n.scale(e.normalizedParams.amount,o));if(n.units(n.scale(n.fromBaseUnits(a.minAmountFinish,t.destination.decimals),o))<i-i*P/w)throw new Error("Slippage too high");const s=await(await t.toChain.getPorticoBridge()).quoteRelay(e.normalizedParams.canonicalDestinationToken.address,e.normalizedParams.destinationToken.address),d={swapAmounts:a,relayerFee:s},u=d.swapAmounts.minAmountFinish-s;return u<0n?{success:!1,error:new Error(`Amount too low for slippage and fee, would result in negative destination amount (${u})`)}:await t.displayQuote({sourceToken:{token:e.normalizedParams.sourceToken,amount:n.units(e.normalizedParams.amount)},destinationToken:{token:e.normalizedParams.destinationToken,amount:d.swapAmounts.minAmountFinish-s},relayFee:{token:e.normalizedParams.destinationToken,amount:s},eta:n.estimateFinalityTime(t.fromChain.chain),expires:n.expiration(0,5,0)},e,d)}catch(a){return{success:!1,error:a}}}async initiate(t,e,a,o){const{params:i,details:r}=a,c=t.source.id.address,s=t.destination.id,d=await t.fromChain.getPorticoBridge(),u=d.getTokenGroup(c.toString()),l=(await t.toChain.getPorticoBridge()).getPorticoAddress(u),h=d.transfer(n.Wormhole.parseAddress(e.chain(),e.address()),o,c,n.units(i.normalizedParams.amount),s,l,r);return{originTxs:await n.signSendWait(t.fromChain,h,e),state:n.TransferState.SourceInitiated,from:t.fromChain.chain,to:t.toChain.chain}}async*track(t,e){if(n.isSourceInitiated(t)||n.isSourceFinalized(t)){const{txid:a}=t.originTxs[t.originTxs.length-1],o=await this.wh.getVaa(a,"PorticoBridge:Transfer",e);if(!o)throw new Error("No VAA found for transaction: "+a);const i={chain:o.emitterChain,emitter:o.emitterAddress,sequence:o.sequence};t={...t,state:n.TransferState.Attested,attestation:{id:i,attestation:o}},yield t}n.isAttested(t)&&await(await this.wh.getChain(t.to).getPorticoBridge()).isTransferCompleted(t.attestation.attestation)&&(t={...t,state:n.TransferState.DestinationFinalized},yield t),yield t}async complete(t,e){if(!n.isAttested(e))throw new Error("Source must be attested");const a=await this.wh.getChain(e.to),o=await a.getPorticoBridge(),i=n.Wormhole.chainAddress(t.chain(),t.address()),r=o.redeem(i.address,e.attestation.attestation);return await n.signSendWait(a,r,t)}async fetchSwapQuote(t,e){const a=await t.fromChain.getPorticoBridge(),o=n.units(e.normalizedParams.amount),i=a.getTokenGroup(n.canonicalAddress(e.normalizedParams.sourceToken)),r=await a.quoteSwap(e.normalizedParams.sourceToken.address,e.normalizedParams.canonicalSourceToken.address,i,o),c=r*C/w;if(c>=r)throw new Error("Start slippage too high");const s=await t.toChain.getPorticoBridge(),d=r-c,u=await s.quoteSwap(e.normalizedParams.canonicalDestinationToken.address,e.normalizedParams.destinationToken.address,i,d),f=u*C/w;if(f>=u)throw new Error("Finish slippage too high");const l=u-f;return{minAmountStart:d,minAmountFinish:l}}}const x=Object.freeze(Object.defineProperty({__proto__:null,AutomaticCCTPRoute:T.AutomaticCCTPRoute,AutomaticPorticoRoute:g,AutomaticRoute:n.AutomaticRoute,AutomaticTokenBridgeRoute:T.AutomaticTokenBridgeRoute,BPS_PER_HUNDRED_PERCENT:w,CCTPRoute:T.CCTPRoute,ExecutorTokenBridgeRoute:k,FinalizableRoute:n.FinalizableRoute,MAX_SLIPPAGE_BPS:P,ManualRoute:n.ManualRoute,MinAmountError:n.MinAmountError,RelayFailedError:n.RelayFailedError,Route:n.Route,RouteResolver:n.RouteResolver,RouteTransferRequest:T.RouteTransferRequest,SLIPPAGE_BPS:C,TBTCRoute:T.TBTCRoute,TokenBridgeRoute:T.TokenBridgeRoute,UnavailableError:n.UnavailableError,checkAndCompleteTransfer:p,executorTokenBridgeRoute:E,isAutomatic:n.isAutomatic,isFinalizable:n.isFinalizable,isManual:n.isManual},Symbol.toStringTag,{value:"Module"}));exports.routes=x;
@@ -1,6 +1,6 @@
1
1
  import { i as y, e as b, x as w } from "./lit-element-BEjnSApQ.mjs";
2
2
  import { n as l, m as I, e as L } from "./class-map-CaVO0ioB.mjs";
3
- import { r as S, k as W, e as D } from "./core-BCZrVb_s.mjs";
3
+ import { r as S, k as W, e as D } from "./core-DQ-6Q1F1.mjs";
4
4
  const h = {
5
5
  getSpacingStyles(i, t) {
6
6
  if (Array.isArray(i))
@@ -1,7 +1,7 @@
1
- import { av as f, aw as c, P as o, L as t } from "./unsignedTransaction-DCDxTFq8.mjs";
2
- import { ax as x } from "./unsignedTransaction-DCDxTFq8.mjs";
3
- import "./platform-Cil_UtAQ.mjs";
4
- import { p as s, u as p, b as O } from "./web3-CUwFm9Lx.mjs";
1
+ import { av as f, aw as c, P as o, L as t } from "./unsignedTransaction-D2Ja0SuN.mjs";
2
+ import { ax as x } from "./unsignedTransaction-D2Ja0SuN.mjs";
3
+ import "./platform-CSpAb386.mjs";
4
+ import { p as s, u as p, b as O } from "./web3-CdErAVj5.mjs";
5
5
  class d extends Error {
6
6
  constructor(r) {
7
7
  super(r);
@@ -1,4 +1,4 @@
1
- import { cV as L, d9 as g, da as T, bK as k, db as h, cX as F, bI as K, bx as P } from "./platform-Cil_UtAQ.mjs";
1
+ import { cV as L, d9 as g, da as T, bK as k, db as h, cX as F, bI as K, bx as P } from "./platform-CSpAb386.mjs";
2
2
  function R(n, t, e, s) {
3
3
  g(n);
4
4
  const i = T({ dkLen: 32, asyncTick: 10 }, s), { c: u, dkLen: c, asyncTick: o } = i;
@@ -1 +1 @@
1
- "use strict";const t=require("./platform-CCG_jgOO.js");function b(n,e,o,s){t.ahash(n);const a=t.checkOpts$1({dkLen:32,asyncTick:10},s),{c:d,dkLen:i,asyncTick:r}=a;if(t.anumber(d),t.anumber(i),t.anumber(r),d<1)throw new Error("iterations (c) should be >= 1");const f=t.kdfInputToBytes(e),u=t.kdfInputToBytes(o),l=new Uint8Array(i),p=t.hmac.create(n,f),c=p._cloneInto().update(u);return{c:d,dkLen:i,asyncTick:r,DK:l,PRF:p,PRFSalt:c}}function T(n,e,o,s,a){return n.destroy(),e.destroy(),s&&s.destroy(),t.clean(a),o}function L(n,e,o,s){const{c:a,dkLen:d,DK:i,PRF:r,PRFSalt:f}=b(n,e,o,s);let u;const l=new Uint8Array(4),p=t.createView(l),c=new Uint8Array(r.outputLen);for(let w=1,m=0;m<d;w++,m+=r.outputLen){const y=i.subarray(m,m+r.outputLen);p.setInt32(0,w,!1),(u=f._cloneInto(u)).update(l).digestInto(c),y.set(c.subarray(0,y.length));for(let h=1;h<a;h++){r._cloneInto(u).update(c).digestInto(c);for(let k=0;k<y.length;k++)y[k]^=c[k]}}return T(r,f,i,u,c)}/*! scure-bip39 - MIT License (c) 2022 Patricio Palladino, Paul Miller (paulmillr.com) */function I(n){if(typeof n!="string")throw new TypeError("invalid mnemonic type: "+typeof n);return n.normalize("NFKD")}function g(n){const e=I(n),o=e.split(" ");if(![12,15,18,21,24].includes(o.length))throw new Error("Invalid mnemonic");return{nfkd:e,words:o}}const S=n=>I("mnemonic"+n);function F(n,e=""){return L(t.sha512,g(n).nfkd,S(e),{c:2048,dkLen:64})}exports.mnemonicToSeedSync=F;
1
+ "use strict";const t=require("./platform-DCcL7jHP.js");function b(n,e,o,s){t.ahash(n);const a=t.checkOpts$1({dkLen:32,asyncTick:10},s),{c:d,dkLen:i,asyncTick:r}=a;if(t.anumber(d),t.anumber(i),t.anumber(r),d<1)throw new Error("iterations (c) should be >= 1");const f=t.kdfInputToBytes(e),u=t.kdfInputToBytes(o),l=new Uint8Array(i),p=t.hmac.create(n,f),c=p._cloneInto().update(u);return{c:d,dkLen:i,asyncTick:r,DK:l,PRF:p,PRFSalt:c}}function T(n,e,o,s,a){return n.destroy(),e.destroy(),s&&s.destroy(),t.clean(a),o}function L(n,e,o,s){const{c:a,dkLen:d,DK:i,PRF:r,PRFSalt:f}=b(n,e,o,s);let u;const l=new Uint8Array(4),p=t.createView(l),c=new Uint8Array(r.outputLen);for(let w=1,m=0;m<d;w++,m+=r.outputLen){const y=i.subarray(m,m+r.outputLen);p.setInt32(0,w,!1),(u=f._cloneInto(u)).update(l).digestInto(c),y.set(c.subarray(0,y.length));for(let h=1;h<a;h++){r._cloneInto(u).update(c).digestInto(c);for(let k=0;k<y.length;k++)y[k]^=c[k]}}return T(r,f,i,u,c)}/*! scure-bip39 - MIT License (c) 2022 Patricio Palladino, Paul Miller (paulmillr.com) */function I(n){if(typeof n!="string")throw new TypeError("invalid mnemonic type: "+typeof n);return n.normalize("NFKD")}function g(n){const e=I(n),o=e.split(" ");if(![12,15,18,21,24].includes(o.length))throw new Error("Invalid mnemonic");return{nfkd:e,words:o}}const S=n=>I("mnemonic"+n);function F(n,e=""){return L(t.sha512,g(n).nfkd,S(e),{c:2048,dkLen:64})}exports.mnemonicToSeedSync=F;
@@ -1,5 +1,5 @@
1
- import { e as T, q as O, A as b, v as C, B as S, Y as G, M as B, aS as _, aT as m, a as I, N as w, W as p, u as g, y as M, t as N, ag as x, aU as v, aV as E, aW as U, ad as F, f as L, aX as Q, ae as $, _ as V, $ as W, ac as H, aY as X, P as j, R as Y, aZ as Z, a_ as J, U as K, a$ as q } from "./platform-Cil_UtAQ.mjs";
2
- import { a as tt, b as et, C as nt, R as at, T as ot, c as it } from "./address-rVHWlcKQ.mjs";
1
+ import { e as T, q as O, A as b, v as C, B as S, Y as G, M as B, aS as _, aT as m, a as I, N as w, W as p, u as g, y as M, t as N, ag as x, aU as v, aV as E, aW as U, ad as F, f as L, aX as Q, ae as $, _ as V, $ as W, ac as H, aY as X, P as j, R as Y, aZ as Z, a_ as J, U as K, a$ as q } from "./platform-CSpAb386.mjs";
2
+ import { a as tt, b as et, C as nt, R as at, T as ot, c as it } from "./address-CX0E32ut.mjs";
3
3
  async function D(l, t, e, a = 120 * 1e3, n = console.log) {
4
4
  const o = Date.now();
5
5
  n("Checking transfer state...");
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./chunk-KJH4KKG6-BbF5W1_N.js"),a=require("./platform-CCG_jgOO.js"),v=require("./platform-BMKYxqvv.js"),k=require("./unsignedTransaction-BXJ9Cpni.js"),M=[["Mainnet",{depositForBurn:"0xa11ceb0b0700000a0701000802080e031614042a04052e30075e870108e5014000000001000201030004000001050701000100060b0001070304010801020805060108010309080900010002010205060c030e05050208000b010108020108020105010b0101090003060c0b01010900030108000004060c08000e0501030e66756e6769626c655f6173736574066f626a656374167072696d6172795f66756e6769626c655f73746f72650f746f6b656e5f6d657373656e6765720d46756e6769626c654173736574064f626a656374084d6574616461746111616464726573735f746f5f6f626a656374087769746864726177106465706f7369745f666f725f6275726e00000000000000000000000000000000000000000000000000000000000000019bce6734f7b63e835108e3bd8c36743d4709fe435f44791918801d0989640a9d0000010f0b0438000c060a000b060b0138010c050b000b050b020b0311020102",handleReceiveMessage:"0xa11ceb0b0700000a0601000402040403080c051416072a53087d40000001010002000000030203000101040304000103060c0a020a020003060c060a02060a020108000101136d6573736167655f7472616e736d69747465720f746f6b656e5f6d657373656e67657207526563656970740f726563656976655f6d6573736167651668616e646c655f726563656976655f6d657373616765177e17751820e4b4371873ca8c30279be63bdea63b88ed0f2239c2eea10f17729bce6734f7b63e835108e3bd8c36743d4709fe435f44791918801d0989640a9d000001070b000e010e02110011010102"}],["Testnet",{depositForBurn:"0xa11ceb0b0700000a0701000802080e031614042a04052e30075e870108e5014000000001000201030004000001050701000100060b0001070304010801020805060108010309080900010002010205060c030e05050208000b010108020108020105010b0101090003060c0b01010900030108000004060c08000e0501030e66756e6769626c655f6173736574066f626a656374167072696d6172795f66756e6769626c655f73746f72650f746f6b656e5f6d657373656e6765720d46756e6769626c654173736574064f626a656374084d6574616461746111616464726573735f746f5f6f626a656374087769746864726177106465706f7369745f666f725f6275726e00000000000000000000000000000000000000000000000000000000000000015f9b937419dda90aa06c1836b7847f65bbbe3f1217567758dc2488be31a477b90000010f0b0438000c060a000b060b0138010c050b000b050b020b0311020102",handleReceiveMessage:"0xa11ceb0b0700000a0601000402040403080c051416072a53087d40000001010002000000030203000101040304000103060c0a020a020003060c060a02060a020108000101136d6573736167655f7472616e736d69747465720f746f6b656e5f6d657373656e67657207526563656970740f726563656976655f6d6573736167651668616e646c655f726563656976655f6d657373616765081e86cebf457a0c6004f35bd648a2794698f52e0dde09a48619dcd3d4cc23d95f9b937419dda90aa06c1836b7847f65bbbe3f1217567758dc2488be31a477b9000001070b000e010e02110011010102"}]],p=a.constMap(M,[0,1]);class b{network;chain;provider;contracts;usdcId;tokenMessengerId;messageTransmitterId;moveScripts;constructor(t,n,r,e){if(this.network=t,this.chain=n,this.provider=r,this.contracts=e,t==="Devnet")throw new Error("CircleBridge not supported on Devnet");const s=a.usdcContract.get(this.network,this.chain);if(!s)throw new Error(`No USDC contract configured for network=${this.network} chain=${this.chain}`);if(!e.cctp?.tokenMessenger)throw new Error(`Circle Token Messenger contract for domain ${n} not found`);if(!e.cctp?.messageTransmitter)throw new Error(`Circle Message Transmitter contract for domain ${n} not found`);if(!p.has(t))throw new Error("No Aptos CCTP move scripts found");this.usdcId=s,this.tokenMessengerId=e.cctp?.tokenMessenger,this.messageTransmitterId=e.cctp.messageTransmitter,this.moveScripts=p.get(t)}async*transfer(t,n,r){const e=new c.y(a.circleChainId.get(this.network,n.chain)),s=c.l.from(this.usdcId),i=c.l.from(n.address.toUniversalAddress().toUint8Array()),o=[new c.m$1(r),e,i,s],h={bytecode:this.moveScripts.depositForBurn,functionArguments:o};yield this.createUnsignedTx(h,"Aptos.CircleBridge.Transfer")}async isTransferCompleted(t){const n=new c.y(t.sourceDomain).bcsToBytes(),r=new c.m$1(t.nonce).bcsToBytes(),e=a.keccak_256(new Uint8Array([...n,45,...r])),s=a.hex.encode(e);return(await this.provider.view({payload:{function:`${this.messageTransmitterId}::message_transmitter::is_nonce_used`,functionArguments:[s]}}))[0]}async*redeem(t,n,r){const e=[c.t$1.U8(a.CircleBridge.serialize(n)),c.t$1.U8(a.hex.decode(r))],s={bytecode:this.moveScripts.handleReceiveMessage,functionArguments:e};yield this.createUnsignedTx(s,"Aptos.CircleBridge.Redeem")}async parseTransactionDetails(t){let e,s;for(let f=0;f<5;f++)try{const m=await this.provider.getTransactionByHash({transactionHash:t}),g=this.messageTransmitterId.replace(/^0x0+/,"0x");if(s=m.events?.find(u=>u.type===`${g}::message_transmitter::MessageSent`),s)break;e=new Error(`MessageSent event not found in transaction ${t}`),f<4&&await new Promise(u=>setTimeout(u,1e3))}catch(m){e=m,f<4&&await new Promise(g=>setTimeout(g,1e3))}if(!s)throw e||new Error("No MessageSent event found after 5 attempts");const i=a.hex.decode(s.data.message),[o,h]=a.CircleBridge.deserialize(i),{payload:d}=o,w=d.messageSender,T=d.mintRecipient,l=a.toCircleChain(this.network,o.sourceDomain),y=a.toCircleChain(this.network,o.destinationDomain),C={chain:l,address:d.burnToken};return{from:{chain:l,address:w},to:{chain:y,address:T},token:C,amount:d.amount,message:o,id:{hash:h}}}static async fromRpc(t,n){const[r,e]=await v.AptosPlatform.chainFromRpc(t),s=n[e];if(s.network!==r)throw new Error(`Network mismatch: ${s.network} != ${r}`);return new b(r,e,t,s.contracts)}createUnsignedTx(t,n,r=!1){return new k.AptosUnsignedTransaction(t,this.network,this.chain,n,r)}}a.registerProtocol("Aptos","CircleBridge",b);exports.AptosCircleBridge=b;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./chunk-KJH4KKG6-CJx-rDa6.js"),a=require("./platform-DCcL7jHP.js"),v=require("./platform-Csj1Outc.js"),k=require("./unsignedTransaction-BXJ9Cpni.js"),M=[["Mainnet",{depositForBurn:"0xa11ceb0b0700000a0701000802080e031614042a04052e30075e870108e5014000000001000201030004000001050701000100060b0001070304010801020805060108010309080900010002010205060c030e05050208000b010108020108020105010b0101090003060c0b01010900030108000004060c08000e0501030e66756e6769626c655f6173736574066f626a656374167072696d6172795f66756e6769626c655f73746f72650f746f6b656e5f6d657373656e6765720d46756e6769626c654173736574064f626a656374084d6574616461746111616464726573735f746f5f6f626a656374087769746864726177106465706f7369745f666f725f6275726e00000000000000000000000000000000000000000000000000000000000000019bce6734f7b63e835108e3bd8c36743d4709fe435f44791918801d0989640a9d0000010f0b0438000c060a000b060b0138010c050b000b050b020b0311020102",handleReceiveMessage:"0xa11ceb0b0700000a0601000402040403080c051416072a53087d40000001010002000000030203000101040304000103060c0a020a020003060c060a02060a020108000101136d6573736167655f7472616e736d69747465720f746f6b656e5f6d657373656e67657207526563656970740f726563656976655f6d6573736167651668616e646c655f726563656976655f6d657373616765177e17751820e4b4371873ca8c30279be63bdea63b88ed0f2239c2eea10f17729bce6734f7b63e835108e3bd8c36743d4709fe435f44791918801d0989640a9d000001070b000e010e02110011010102"}],["Testnet",{depositForBurn:"0xa11ceb0b0700000a0701000802080e031614042a04052e30075e870108e5014000000001000201030004000001050701000100060b0001070304010801020805060108010309080900010002010205060c030e05050208000b010108020108020105010b0101090003060c0b01010900030108000004060c08000e0501030e66756e6769626c655f6173736574066f626a656374167072696d6172795f66756e6769626c655f73746f72650f746f6b656e5f6d657373656e6765720d46756e6769626c654173736574064f626a656374084d6574616461746111616464726573735f746f5f6f626a656374087769746864726177106465706f7369745f666f725f6275726e00000000000000000000000000000000000000000000000000000000000000015f9b937419dda90aa06c1836b7847f65bbbe3f1217567758dc2488be31a477b90000010f0b0438000c060a000b060b0138010c050b000b050b020b0311020102",handleReceiveMessage:"0xa11ceb0b0700000a0601000402040403080c051416072a53087d40000001010002000000030203000101040304000103060c0a020a020003060c060a02060a020108000101136d6573736167655f7472616e736d69747465720f746f6b656e5f6d657373656e67657207526563656970740f726563656976655f6d6573736167651668616e646c655f726563656976655f6d657373616765081e86cebf457a0c6004f35bd648a2794698f52e0dde09a48619dcd3d4cc23d95f9b937419dda90aa06c1836b7847f65bbbe3f1217567758dc2488be31a477b9000001070b000e010e02110011010102"}]],p=a.constMap(M,[0,1]);class b{network;chain;provider;contracts;usdcId;tokenMessengerId;messageTransmitterId;moveScripts;constructor(t,n,r,e){if(this.network=t,this.chain=n,this.provider=r,this.contracts=e,t==="Devnet")throw new Error("CircleBridge not supported on Devnet");const s=a.usdcContract.get(this.network,this.chain);if(!s)throw new Error(`No USDC contract configured for network=${this.network} chain=${this.chain}`);if(!e.cctp?.tokenMessenger)throw new Error(`Circle Token Messenger contract for domain ${n} not found`);if(!e.cctp?.messageTransmitter)throw new Error(`Circle Message Transmitter contract for domain ${n} not found`);if(!p.has(t))throw new Error("No Aptos CCTP move scripts found");this.usdcId=s,this.tokenMessengerId=e.cctp?.tokenMessenger,this.messageTransmitterId=e.cctp.messageTransmitter,this.moveScripts=p.get(t)}async*transfer(t,n,r){const e=new c.y(a.circleChainId.get(this.network,n.chain)),s=c.l.from(this.usdcId),i=c.l.from(n.address.toUniversalAddress().toUint8Array()),o=[new c.m$1(r),e,i,s],h={bytecode:this.moveScripts.depositForBurn,functionArguments:o};yield this.createUnsignedTx(h,"Aptos.CircleBridge.Transfer")}async isTransferCompleted(t){const n=new c.y(t.sourceDomain).bcsToBytes(),r=new c.m$1(t.nonce).bcsToBytes(),e=a.keccak_256(new Uint8Array([...n,45,...r])),s=a.hex.encode(e);return(await this.provider.view({payload:{function:`${this.messageTransmitterId}::message_transmitter::is_nonce_used`,functionArguments:[s]}}))[0]}async*redeem(t,n,r){const e=[c.t$1.U8(a.CircleBridge.serialize(n)),c.t$1.U8(a.hex.decode(r))],s={bytecode:this.moveScripts.handleReceiveMessage,functionArguments:e};yield this.createUnsignedTx(s,"Aptos.CircleBridge.Redeem")}async parseTransactionDetails(t){let e,s;for(let f=0;f<5;f++)try{const m=await this.provider.getTransactionByHash({transactionHash:t}),g=this.messageTransmitterId.replace(/^0x0+/,"0x");if(s=m.events?.find(u=>u.type===`${g}::message_transmitter::MessageSent`),s)break;e=new Error(`MessageSent event not found in transaction ${t}`),f<4&&await new Promise(u=>setTimeout(u,1e3))}catch(m){e=m,f<4&&await new Promise(g=>setTimeout(g,1e3))}if(!s)throw e||new Error("No MessageSent event found after 5 attempts");const i=a.hex.decode(s.data.message),[o,h]=a.CircleBridge.deserialize(i),{payload:d}=o,w=d.messageSender,T=d.mintRecipient,l=a.toCircleChain(this.network,o.sourceDomain),y=a.toCircleChain(this.network,o.destinationDomain),C={chain:l,address:d.burnToken};return{from:{chain:l,address:w},to:{chain:y,address:T},token:C,amount:d.amount,message:o,id:{hash:h}}}static async fromRpc(t,n){const[r,e]=await v.AptosPlatform.chainFromRpc(t),s=n[e];if(s.network!==r)throw new Error(`Network mismatch: ${s.network} != ${r}`);return new b(r,e,t,s.contracts)}createUnsignedTx(t,n,r=!1){return new k.AptosUnsignedTransaction(t,this.network,this.chain,n,r)}}a.registerProtocol("Aptos","CircleBridge",b);exports.AptosCircleBridge=b;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./platform-CCG_jgOO.js"),i=require("./address-W9jn6Qdk.js"),p=require("./chunk-KJH4KKG6-BbF5W1_N.js"),y=require("./platform-BMKYxqvv.js"),g=require("./unsignedTransaction-BXJ9Cpni.js"),f=[{name:"tokenBridgeAddress",...r.universalAddressItem},{name:"chain",...r.chainItem()},{name:"domainSeparator",binary:"bytes",custom:r.bytes.encode(i.APTOS_SEPARATOR),omit:!0},{name:"tokenId",...r.universalAddressItem},{name:"domainSeparator",binary:"bytes",custom:new Uint8Array([255]),omit:!0}],w=l=>r.serialize(f,l);class d{network;chain;connection;contracts;chainId;tokenBridgeAddress;constructor(e,t,s,n){this.network=e,this.chain=t,this.connection=s,this.contracts=n,this.chainId=r.toChainId(t);const a=n.tokenBridge;if(!a)throw new Error(`TokenBridge contract Address for chain ${t} not found`);this.tokenBridgeAddress=a}static async fromRpc(e,t){const[s,n]=await y.AptosPlatform.chainFromRpc(e),a=t[n];if(a.network!==s)throw new Error("Network mismatch "+a.network+" !== "+s);return new d(s,n,e,a.contracts)}async isWrappedAsset(e){try{return await this.getOriginalAsset(e),!0}catch{return!1}}async getOriginalAsset(e){const t=e.toString().split(i.APTOS_SEPARATOR);let s=null;try{s=await this.connection.getAccountResource({accountAddress:t[0],resourceType:`${this.tokenBridgeAddress}::state::OriginInfo`})}catch(o){throw o instanceof p.T&&o.data?.error_code==="resource_not_found"?r.ErrNotWrapped(e.toString()):o}if(!s)throw r.ErrNotWrapped(e.toString());const n=r.toChain(parseInt(s.token_chain.number)),a=new r.UniversalAddress(s.token_address.external_address);return{chain:n,address:a}}async getTokenUniversalAddress(e){return new r.UniversalAddress(r.hex.encode(r.sha3_256(e.toString()),!0))}async getTokenNativeAddress(e,t){const s=e===this.chain?await this.getTypeFromExternalAddress(t.toString()):await this.getAssetFullyQualifiedType({chain:e,address:t});if(!s)throw new Error("Invalid asset address.");return new i.AptosAddress(s)}async hasWrappedAsset(e){try{return await this.getWrappedAsset(e),!0}catch{}return!1}async getWrappedAsset(e){if(r.isNative(e.address))throw new Error("native asset cannot be a wrapped asset");const t=await this.getAssetFullyQualifiedType(e);if(!t)throw new Error("Invalid asset address.");return await this.connection.getAccountResource({accountAddress:i.coalesceModuleAddress(t),resourceType:`${this.tokenBridgeAddress}::state::OriginInfo`}),r.toNative(this.chain,t)}async isTransferCompleted(e){const s=(await this.connection.getAccountResource({accountAddress:this.tokenBridgeAddress,resourceType:`${this.tokenBridgeAddress}::state::State`})).consumed_vaas.elems.handle;try{return await this.connection.getTableItem({handle:s,data:{key_type:"vector<u8>",value_type:"u8",key:`0x${r.Buffer.from(r.keccak_256(e.hash)).toString("hex")}`}}),!0}catch{return!1}}async getWrappedNative(){return r.toNative(this.chain,i.APTOS_COIN)}async*createAttestation(e,t){const s={chain:this.chain,address:new i.AptosAddress(e)},n=await this.getAssetFullyQualifiedType(s);if(!n)throw new Error("Invalid asset address.");yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::attest_token::attest_token_entry`,typeArguments:[n],functionArguments:[]},"Aptos.AttestToken")}async*submitAttestation(e,t){yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::wrapped::create_wrapped_coin_type`,typeArguments:[],functionArguments:[r.serialize$1(e)]},"Aptos.CreateWrappedCoinType");const s=await this.getAssetFullyQualifiedType(e.payload.token);if(!s)throw new Error("Invalid asset address.");yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::wrapped::create_wrapped_coin`,typeArguments:[s],functionArguments:[r.serialize$1(e)]},"Aptos.CreateWrappedCoin")}async*transfer(e,t,s,n,a){const o=0n,c=0n,h=r.isNative(s)?i.APTOS_COIN:s.toString(),u=t.address.toUniversalAddress().toUint8Array(),A=r.toChainId(t.chain);a?yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::transfer_tokens::transfer_tokens_with_payload_entry`,typeArguments:[h],functionArguments:[n,A,u,c,a]},"Aptos.TransferTokensWithPayload"):yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::transfer_tokens::transfer_tokens_entry`,typeArguments:[h],functionArguments:[n,A,u,o,c]},"Aptos.TransferTokens")}async*redeem(e,t,s=!0){const n=t.payload.token.chain===this.chain?await this.getTypeFromExternalAddress(t.payload.token.address.toString()):await this.getAssetFullyQualifiedType(t.payload.token);if(!n)throw new Error("Invalid asset address.");yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::complete_transfer::submit_vaa_and_register_entry`,typeArguments:[n],functionArguments:[r.serialize$1(t)]},"Aptos.CompleteTransfer")}async getAssetFullyQualifiedType(e){return e.chain===this.chain?i.isValidAptosType(e.address.toString())?e.address.toString():null:`${d.getForeignAssetAddress(this.chain,this.tokenBridgeAddress,e)}::coin::T`}async getTypeFromExternalAddress(e){try{const t=await this.connection.getAccountResource({accountAddress:this.tokenBridgeAddress,resourceType:`${this.tokenBridgeAddress}::state::State`}),{handle:s}=t.native_infos,n=await this.connection.getTableItem({handle:s,data:{key_type:`${this.tokenBridgeAddress}::token_hash::TokenHash`,value_type:"0x1::type_info::TypeInfo",key:{hash:e}}});return n?[n.account_address,String.fromCharCode(...r.hex.decode(n.module_name)),String.fromCharCode(...r.hex.decode(n.struct_name))].join(i.APTOS_SEPARATOR):null}catch{return null}}static getForeignAssetAddress(e,t,s){if(r.isNative(s.address))throw new Error("Invalid token address");const n=w({chain:s.chain,tokenBridgeAddress:new i.AptosAddress(t).toUniversalAddress(),tokenId:s.address.toUniversalAddress()});return r.hex.encode(r.sha3_256(n),!0)}createUnsignedTx(e,t,s=!1){return new g.AptosUnsignedTransaction(e,this.network,this.chain,t,s)}}r.registerProtocol("Aptos","TokenBridge",d);exports.AptosTokenBridge=d;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./platform-DCcL7jHP.js"),i=require("./address-DqbIfKOu.js"),p=require("./chunk-KJH4KKG6-CJx-rDa6.js"),y=require("./platform-Csj1Outc.js"),g=require("./unsignedTransaction-BXJ9Cpni.js"),f=[{name:"tokenBridgeAddress",...r.universalAddressItem},{name:"chain",...r.chainItem()},{name:"domainSeparator",binary:"bytes",custom:r.bytes.encode(i.APTOS_SEPARATOR),omit:!0},{name:"tokenId",...r.universalAddressItem},{name:"domainSeparator",binary:"bytes",custom:new Uint8Array([255]),omit:!0}],w=l=>r.serialize(f,l);class d{network;chain;connection;contracts;chainId;tokenBridgeAddress;constructor(e,t,s,n){this.network=e,this.chain=t,this.connection=s,this.contracts=n,this.chainId=r.toChainId(t);const a=n.tokenBridge;if(!a)throw new Error(`TokenBridge contract Address for chain ${t} not found`);this.tokenBridgeAddress=a}static async fromRpc(e,t){const[s,n]=await y.AptosPlatform.chainFromRpc(e),a=t[n];if(a.network!==s)throw new Error("Network mismatch "+a.network+" !== "+s);return new d(s,n,e,a.contracts)}async isWrappedAsset(e){try{return await this.getOriginalAsset(e),!0}catch{return!1}}async getOriginalAsset(e){const t=e.toString().split(i.APTOS_SEPARATOR);let s=null;try{s=await this.connection.getAccountResource({accountAddress:t[0],resourceType:`${this.tokenBridgeAddress}::state::OriginInfo`})}catch(o){throw o instanceof p.T&&o.data?.error_code==="resource_not_found"?r.ErrNotWrapped(e.toString()):o}if(!s)throw r.ErrNotWrapped(e.toString());const n=r.toChain(parseInt(s.token_chain.number)),a=new r.UniversalAddress(s.token_address.external_address);return{chain:n,address:a}}async getTokenUniversalAddress(e){return new r.UniversalAddress(r.hex.encode(r.sha3_256(e.toString()),!0))}async getTokenNativeAddress(e,t){const s=e===this.chain?await this.getTypeFromExternalAddress(t.toString()):await this.getAssetFullyQualifiedType({chain:e,address:t});if(!s)throw new Error("Invalid asset address.");return new i.AptosAddress(s)}async hasWrappedAsset(e){try{return await this.getWrappedAsset(e),!0}catch{}return!1}async getWrappedAsset(e){if(r.isNative(e.address))throw new Error("native asset cannot be a wrapped asset");const t=await this.getAssetFullyQualifiedType(e);if(!t)throw new Error("Invalid asset address.");return await this.connection.getAccountResource({accountAddress:i.coalesceModuleAddress(t),resourceType:`${this.tokenBridgeAddress}::state::OriginInfo`}),r.toNative(this.chain,t)}async isTransferCompleted(e){const s=(await this.connection.getAccountResource({accountAddress:this.tokenBridgeAddress,resourceType:`${this.tokenBridgeAddress}::state::State`})).consumed_vaas.elems.handle;try{return await this.connection.getTableItem({handle:s,data:{key_type:"vector<u8>",value_type:"u8",key:`0x${r.Buffer.from(r.keccak_256(e.hash)).toString("hex")}`}}),!0}catch{return!1}}async getWrappedNative(){return r.toNative(this.chain,i.APTOS_COIN)}async*createAttestation(e,t){const s={chain:this.chain,address:new i.AptosAddress(e)},n=await this.getAssetFullyQualifiedType(s);if(!n)throw new Error("Invalid asset address.");yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::attest_token::attest_token_entry`,typeArguments:[n],functionArguments:[]},"Aptos.AttestToken")}async*submitAttestation(e,t){yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::wrapped::create_wrapped_coin_type`,typeArguments:[],functionArguments:[r.serialize$1(e)]},"Aptos.CreateWrappedCoinType");const s=await this.getAssetFullyQualifiedType(e.payload.token);if(!s)throw new Error("Invalid asset address.");yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::wrapped::create_wrapped_coin`,typeArguments:[s],functionArguments:[r.serialize$1(e)]},"Aptos.CreateWrappedCoin")}async*transfer(e,t,s,n,a){const o=0n,c=0n,h=r.isNative(s)?i.APTOS_COIN:s.toString(),u=t.address.toUniversalAddress().toUint8Array(),A=r.toChainId(t.chain);a?yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::transfer_tokens::transfer_tokens_with_payload_entry`,typeArguments:[h],functionArguments:[n,A,u,c,a]},"Aptos.TransferTokensWithPayload"):yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::transfer_tokens::transfer_tokens_entry`,typeArguments:[h],functionArguments:[n,A,u,o,c]},"Aptos.TransferTokens")}async*redeem(e,t,s=!0){const n=t.payload.token.chain===this.chain?await this.getTypeFromExternalAddress(t.payload.token.address.toString()):await this.getAssetFullyQualifiedType(t.payload.token);if(!n)throw new Error("Invalid asset address.");yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::complete_transfer::submit_vaa_and_register_entry`,typeArguments:[n],functionArguments:[r.serialize$1(t)]},"Aptos.CompleteTransfer")}async getAssetFullyQualifiedType(e){return e.chain===this.chain?i.isValidAptosType(e.address.toString())?e.address.toString():null:`${d.getForeignAssetAddress(this.chain,this.tokenBridgeAddress,e)}::coin::T`}async getTypeFromExternalAddress(e){try{const t=await this.connection.getAccountResource({accountAddress:this.tokenBridgeAddress,resourceType:`${this.tokenBridgeAddress}::state::State`}),{handle:s}=t.native_infos,n=await this.connection.getTableItem({handle:s,data:{key_type:`${this.tokenBridgeAddress}::token_hash::TokenHash`,value_type:"0x1::type_info::TypeInfo",key:{hash:e}}});return n?[n.account_address,String.fromCharCode(...r.hex.decode(n.module_name)),String.fromCharCode(...r.hex.decode(n.struct_name))].join(i.APTOS_SEPARATOR):null}catch{return null}}static getForeignAssetAddress(e,t,s){if(r.isNative(s.address))throw new Error("Invalid token address");const n=w({chain:s.chain,tokenBridgeAddress:new i.AptosAddress(t).toUniversalAddress(),tokenId:s.address.toUniversalAddress()});return r.hex.encode(r.sha3_256(n),!0)}createUnsignedTx(e,t,s=!1){return new g.AptosUnsignedTransaction(e,this.network,this.chain,t,s)}}r.registerProtocol("Aptos","TokenBridge",d);exports.AptosTokenBridge=d;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const M=require("./index-BTjUHY0e.js"),b=require("./platform-DCcL7jHP.js"),N=require("./index-Cb_8WAm1.js");class w{network;chain;provider;contracts;tokenBridge;core;tokenBridgeAddress;chainId;constructor(e,a,t,n){this.network=e,this.chain=a,this.provider=t,this.contracts=n,this.chainId=b.networkChainToNativeChainId.get(e,a);const f=this.contracts.tokenBridge;if(!f)throw new Error(`Wormhole Token Bridge contract for domain ${a} not found`);this.tokenBridgeAddress=f,this.tokenBridge=C.connect(this.tokenBridgeAddress,t),this.core=new M.EvmWormholeCore(e,a,t,n)}static async fromRpc(e,a){const[t,n]=await b.EvmPlatform.chainFromRpc(e),f=a[n];if(f.network!==t)throw new Error(`Network mismatch: ${f.network} != ${t}`);return new w(t,n,e,f.contracts)}async isWrappedAsset(e){return await this.tokenBridge.isWrappedAsset(e.toString())}async getOriginalAsset(e){if(!await this.isWrappedAsset(e))throw b.ErrNotWrapped(e.toString());const a=b.EvmPlatform.getTokenImplementation(this.provider,e.toString()),[t,n]=await Promise.all([a.chainId().then(Number).then(b.toChainId).then(b.toChain),a.nativeContract().then(f=>new b.UniversalAddress(f))]);return{chain:t,address:n}}async getTokenUniversalAddress(e){return new b.EvmAddress(e).toUniversalAddress()}async getTokenNativeAddress(e,a){return new b.EvmAddress(a).toNative()}async hasWrappedAsset(e){try{return await this.getWrappedAsset(e),!0}catch{}return!1}async getWrappedAsset(e){if(b.isNative(e.address))throw new Error("native asset cannot be a wrapped asset");const a=await this.tokenBridge.wrappedAsset(b.toChainId(e.chain),e.address.toUniversalAddress().toString());if(a===b.EvmZeroAddress)throw b.ErrNotWrapped(e.address.toUniversalAddress().toString());return new b.EvmAddress(a)}async isTransferCompleted(e){return this.tokenBridge.isTransferCompleted(b.keccak_256(e.hash))}async*createAttestation(e){const a=await this.core.getMessageFee();yield this.createUnsignedTx(await this.tokenBridge.attestToken.populateTransaction(e.toString(),0,{value:a}),"TokenBridge.createAttestation")}async*submitAttestation(e){const a=await this.hasWrappedAsset({...e.payload.token})?"updateWrapped":"createWrapped";yield this.createUnsignedTx(await this.tokenBridge[a].populateTransaction(b.serialize$1(e)),"TokenBridge."+a)}async*transfer(e,a,t,n,f){const d=new b.EvmAddress(e).toString(),c=b.toChainId(a.chain),s=a.address.toUniversalAddress().toUint8Array(),i=await this.core.getMessageFee();if(b.isNative(t)){const r=await(f===void 0?this.tokenBridge.wrapAndTransferETH.populateTransaction(c,s,b.unusedArbiterFee,b.unusedNonce,{value:n+i}):this.tokenBridge.wrapAndTransferETHWithPayload.populateTransaction(c,s,b.unusedNonce,f,{value:n+i}));yield this.createUnsignedTx(b.addFrom(r,d),"TokenBridge.wrapAndTransferETH"+(f===void 0?"":"WithPayload"))}else{const r=new b.EvmAddress(t).toString(),p=b.EvmPlatform.getTokenImplementation(this.provider,r);if(await p.allowance(d,this.tokenBridge.target)<n){const o=await p.approve.populateTransaction(this.tokenBridge.target,n);yield this.createUnsignedTx(b.addFrom(o,d),"TokenBridge.Approve")}const l=[r,n,c,s],m=await(f===void 0?this.tokenBridge.transferTokens.populateTransaction(...l,b.unusedArbiterFee,b.unusedNonce,{value:i}):this.tokenBridge.transferTokensWithPayload.populateTransaction(...l,b.unusedNonce,f,{value:i}));yield this.createUnsignedTx(b.addFrom(m,d),"TokenBridge.transferTokens"+(f===void 0?"":"WithPayload"))}}async*redeem(e,a,t=!0){const n=new b.EvmAddress(e).toString();if(a.payloadName==="TransferWithPayload"&&a.payload.token.chain!==this.chain){const d=new b.EvmAddress(a.payload.from).unwrap();if(d!==n)throw new Error(`VAA.from (${d}) does not match sender (${n})`)}if(a.payload.token.chain===this.chain){const d=await this.getWeth();if(new b.EvmAddress(a.payload.token.address).unwrap()===d&&t){const s=await this.tokenBridge.completeTransferAndUnwrapETH.populateTransaction(b.serialize$1(a));yield this.createUnsignedTx(b.addFrom(s,n),"TokenBridge.completeTransferAndUnwrapETH");return}}const f=await this.tokenBridge.completeTransfer.populateTransaction(b.serialize$1(a));yield this.createUnsignedTx(b.addFrom(f,n),"TokenBridge.completeTransfer")}async getWrappedNative(){const e=await this.getWeth();return b.toNative(this.chain,e)}async getWeth(){return N.WETH_CONTRACTS[this.network]?.[this.chain]??this.tokenBridge.WETH()}createUnsignedTx(e,a,t=!1){return new b.EvmUnsignedTransaction(b.addChainId(e,this.chainId),this.network,this.chain,a,t)}}class A{network;chain;provider;contracts;tokenBridgeRelayer;tokenBridge;core;chainId;constructor(e,a,t,n){if(this.network=e,this.chain=a,this.provider=t,this.contracts=n,e==="Devnet")throw new Error("AutomaticTokenBridge not supported on Devnet");this.chainId=b.networkChainToNativeChainId.get(e,a);const f=this.contracts.tokenBridge;if(!f)throw new Error(`Wormhole Token Bridge contract for domain ${a} not found`);this.tokenBridge=C.connect(f,t);const d=this.contracts.tokenBridgeRelayer;if(!d)throw new Error(`Wormhole Token Bridge Relayer contract for domain ${a} not found`);this.tokenBridgeRelayer=P.connect(d,t),this.core=new M.EvmWormholeCore(e,a,t,n)}async*redeem(e,a){const t=new b.EvmAddress(e).toString(),n=await this.tokenBridgeRelayer.completeTransferWithRelay.populateTransaction(b.serialize$1(a));yield this.createUnsignedTx(b.addFrom(n,t),"TokenBridgeRelayer.completeTransferWithRelay")}static async fromRpc(e,a){const[t,n]=await b.EvmPlatform.chainFromRpc(e),f=a[n];if(f.network!==t)throw new Error(`Network mismatch: ${f.network} != ${t}`);return new A(t,n,e,f.contracts)}async*transfer(e,a,t,n,f){const d=new b.EvmAddress(e).toString(),c=b.toChainId(a.chain),s=await this.core.getMessageFee(),i=a.address.toUniversalAddress().toUint8Array(),r=f||0n;if(b.isNative(t)){const p=await this.tokenBridgeRelayer.wrapAndTransferEthWithRelay.populateTransaction(r,c,i,0,{value:n+s});yield this.createUnsignedTx(b.addFrom(p,d),"TokenBridgeRelayer.wrapAndTransferETHWithRelay")}else{const p=new b.EvmAddress(t).toString(),u=b.EvmPlatform.getTokenImplementation(this.provider,p);if(await u.allowance(d,this.tokenBridgeRelayer.target)<n){const o=await u.approve.populateTransaction(this.tokenBridgeRelayer.target,n);yield this.createUnsignedTx(b.addFrom(o,d),"AutomaticTokenBridge.Approve")}const m=await this.tokenBridgeRelayer.transferTokensWithRelay.populateTransaction(p,n,r,c,i,0,{value:s});yield this.createUnsignedTx(b.addFrom(m,d),"TokenBridgeRelayer.TransferTokensWithRelay")}}async getRelayerFee(e,a){const t=b.toChainId(e),n=await this.tokenAddress(a),d=await b.EvmPlatform.getTokenImplementation(this.provider,n).decimals();return await this.tokenBridgeRelayer.calculateRelayerFee(t,n,d)}async nativeTokenAmount(e,a){const t=await this.tokenAddress(e);return this.tokenBridgeRelayer.calculateNativeSwapAmountOut(t,a)}async maxSwapAmount(e){const a=await this.tokenAddress(e);return this.tokenBridgeRelayer.calculateMaxSwapAmountIn(a)}async getRegisteredTokens(){return(await this.tokenBridgeRelayer.getAcceptedTokensList()).map(a=>b.toNative(this.chain,a))}async isRegisteredToken(e){const a=await this.tokenAddress(e);return await this.tokenBridgeRelayer.isAcceptedToken(a)}async tokenAddress(e){return b.isNative(e)?await this.getWeth():new b.EvmAddress(e).toString()}async getWeth(){return N.WETH_CONTRACTS[this.network]?.[this.chain]??this.tokenBridge.WETH()}createUnsignedTx(e,a,t=!1){return new b.EvmUnsignedTransaction(b.addChainId(e,this.chainId),this.network,this.chain,a,t)}}const $=["function transferTokensWithRelay(address token, uint256 amount, uint16 targetChain, bytes32 targetRecipient, uint32 nonce, bytes32 dstTransferRecipient, bytes32 dstExecutionAddress, uint256 executionAmount, address refundAddr, bytes calldata signedQuoteBytes, bytes calldata relayInstructions) payable returns (uint64)","function wrapAndTransferEthWithRelay(uint16 targetChain, bytes32 targetRecipient, uint32 nonce, bytes32 dstTransferRecipient, bytes32 dstExecutionAddress, uint256 executionAmount, address refundAddr, bytes calldata signedQuoteBytes, bytes calldata relayInstructions) payable returns (uint64)","function executeVAAv1(bytes calldata encodedTransferMessage) payable"],H=["function transferTokensWithRelay(address tokenBridgeRelayer, address token, uint256 amount, uint16 targetChain, bytes32 targetRecipient, uint32 nonce, bytes32 dstTransferRecipient, bytes32 dstExecutionAddress, uint256 executionAmount, address refundAddr, bytes calldata signedQuoteBytes, bytes calldata relayInstructions, tuple(uint16 dbps, address payee) feeArgs) payable returns (uint64)","function wrapAndTransferEthWithRelay(address tokenBridgeRelayer, uint256 amount, uint16 targetChain, bytes32 targetRecipient, uint32 nonce, bytes32 dstTransferRecipient, bytes32 dstExecutionAddress, uint256 executionAmount, address refundAddr, bytes calldata signedQuoteBytes, bytes calldata relayInstructions, tuple(uint16 dbps, address payee) feeArgs) payable returns (uint64)"];class k{network;chain;provider;contracts;chainId;relayerAddress;relayerWithReferrerAddress;relayerWithReferrerContract;core;constructor(e,a,t,n){this.network=e,this.chain=a,this.provider=t,this.contracts=n,this.chainId=b.networkChainToNativeChainId.get(e,a);const f=this.contracts.executorTokenBridge;if(!f)throw new Error(`Wormhole Executor Token Bridge contracts for domain ${a} not found`);this.relayerAddress=f.relayer;const d=f.relayerWithReferrer;if(!d)throw new Error(`Wormhole Token Bridge Relayer With Referrer contract for domain ${a} not found`);this.relayerWithReferrerAddress=d,this.relayerWithReferrerContract=new b.Contract(this.relayerWithReferrerAddress,H,t),this.core=new M.EvmWormholeCore(e,a,t,n)}static async fromRpc(e,a){const[t,n]=await b.EvmPlatform.chainFromRpc(e),f=a[n];if(f.network!==t)throw new Error(`Network mismatch: ${f.network} != ${t}`);return new k(t,n,e,f.contracts)}async*transfer(e,a,t,n,f,d){const c=b.executorTokenBridge.get(this.network,a.chain);if(!c||!c.relayer)throw new Error(`Token Bridge Executor Relayer contract for domain ${a.chain} not found`);const s=c.relayer,i=new b.EvmAddress(e).unwrap(),r=b.toChainId(a.chain),p=a.address.toUniversalAddress(),{estimatedCost:u,signedQuote:l,relayInstructions:m}=f,o=b.serialize(b.signedQuoteLayout,l),I=b.serialize(b.relayInstructionsLayout,m),B=await this.core.getMessageFee(),E=0,v=b.toUniversal(a.chain,s),W=v,T=u,x=i;let R;const S=d?{dbps:d.feeDbps,payee:d.referrer.address.toString()}:{dbps:0n,payee:b.ZeroAddress};if(b.isNative(t))R=await this.relayerWithReferrerContract.getFunction("wrapAndTransferEthWithRelay").populateTransaction(this.relayerAddress,n,r,p.toUint8Array(),E,v.toUint8Array(),W.toUint8Array(),T,x,o,I,S,{value:n+B+T});else{const U=b.EvmPlatform.getTokenImplementation(this.provider,t.toString());if(await U.allowance(i,this.relayerWithReferrerAddress)<n){const q=await U.approve.populateTransaction(this.relayerWithReferrerAddress,n);yield this.createUnsignedTx(q,"approve")}R=await this.relayerWithReferrerContract.getFunction("transferTokensWithRelay").populateTransaction(this.relayerAddress,t.toString(),n,r,p.toUint8Array(),E,v.toUint8Array(),W.toUint8Array(),T,x,o,I,S,{value:B+T})}yield this.createUnsignedTx(b.addFrom(R,i),b.isNative(t)?"wrapAndTransferEthWithRelay":"transferTokensWithRelay")}async*redeem(e,a){const t=new b.EvmAddress(e).toString(),n=b.serialize$1(a),f=new b.EvmAddress(a.payload.to.address).toString(),c=await new b.Contract(f,$,this.provider).getFunction("executeVAAv1").populateTransaction(n,{value:0n});yield this.createUnsignedTx(b.addFrom(c,t),"ExecutorTokenBridge.executeVAAv1")}async estimateMsgValueAndGasLimit(e,a){let t;switch(e.chain){case"Arbitrum":case"Bsc":case"Monad":case"Moonbeam":t=1000000n;break;default:t=650000n;break}return{msgValue:0n,gasLimit:t}}createUnsignedTx(e,a){return new b.EvmUnsignedTransaction(b.addChainId(e,this.chainId),this.network,this.chain,a)}}const h=[{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:"uint16",name:"emitterChainId",type:"uint16"},{indexed:!0,internalType:"bytes32",name:"emitterAddress",type:"bytes32"},{indexed:!0,internalType:"uint64",name:"sequence",type:"uint64"}],name:"TransferRedeemed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"implementation",type:"address"}],name:"Upgraded",type:"event"},{inputs:[],name:"WETH",outputs:[{internalType:"contract IWETH",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"encoded",type:"bytes"}],name:"_parseTransferCommon",outputs:[{components:[{internalType:"uint8",name:"payloadID",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes32",name:"tokenAddress",type:"bytes32"},{internalType:"uint16",name:"tokenChain",type:"uint16"},{internalType:"bytes32",name:"to",type:"bytes32"},{internalType:"uint16",name:"toChain",type:"uint16"},{internalType:"uint256",name:"fee",type:"uint256"}],internalType:"struct BridgeStructs.Transfer",name:"transfer",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"tokenAddress",type:"address"},{internalType:"uint32",name:"nonce",type:"uint32"}],name:"attestToken",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint16",name:"chainId_",type:"uint16"}],name:"bridgeContracts",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"chainId",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVm",type:"bytes"}],name:"completeTransfer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVm",type:"bytes"}],name:"completeTransferAndUnwrapETH",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVm",type:"bytes"}],name:"completeTransferAndUnwrapETHWithPayload",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVm",type:"bytes"}],name:"completeTransferWithPayload",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVm",type:"bytes"}],name:"createWrapped",outputs:[{internalType:"address",name:"token",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint8",name:"payloadID",type:"uint8"},{internalType:"bytes32",name:"tokenAddress",type:"bytes32"},{internalType:"uint16",name:"tokenChain",type:"uint16"},{internalType:"uint8",name:"decimals",type:"uint8"},{internalType:"bytes32",name:"symbol",type:"bytes32"},{internalType:"bytes32",name:"name",type:"bytes32"}],internalType:"struct BridgeStructs.AssetMeta",name:"meta",type:"tuple"}],name:"encodeAssetMeta",outputs:[{internalType:"bytes",name:"encoded",type:"bytes"}],stateMutability:"pure",type:"function"},{inputs:[{components:[{internalType:"uint8",name:"payloadID",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes32",name:"tokenAddress",type:"bytes32"},{internalType:"uint16",name:"tokenChain",type:"uint16"},{internalType:"bytes32",name:"to",type:"bytes32"},{internalType:"uint16",name:"toChain",type:"uint16"},{internalType:"uint256",name:"fee",type:"uint256"}],internalType:"struct BridgeStructs.Transfer",name:"transfer",type:"tuple"}],name:"encodeTransfer",outputs:[{internalType:"bytes",name:"encoded",type:"bytes"}],stateMutability:"pure",type:"function"},{inputs:[{components:[{internalType:"uint8",name:"payloadID",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes32",name:"tokenAddress",type:"bytes32"},{internalType:"uint16",name:"tokenChain",type:"uint16"},{internalType:"bytes32",name:"to",type:"bytes32"},{internalType:"uint16",name:"toChain",type:"uint16"},{internalType:"bytes32",name:"fromAddress",type:"bytes32"},{internalType:"bytes",name:"payload",type:"bytes"}],internalType:"struct BridgeStructs.TransferWithPayload",name:"transfer",type:"tuple"}],name:"encodeTransferWithPayload",outputs:[{internalType:"bytes",name:"encoded",type:"bytes"}],stateMutability:"pure",type:"function"},{inputs:[],name:"evmChainId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"finality",outputs:[{internalType:"uint8",name:"",type:"uint8"}],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:"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:[{internalType:"bytes32",name:"hash",type:"bytes32"}],name:"isTransferCompleted",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"isWrappedAsset",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"outstandingBridged",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"encoded",type:"bytes"}],name:"parseAssetMeta",outputs:[{components:[{internalType:"uint8",name:"payloadID",type:"uint8"},{internalType:"bytes32",name:"tokenAddress",type:"bytes32"},{internalType:"uint16",name:"tokenChain",type:"uint16"},{internalType:"uint8",name:"decimals",type:"uint8"},{internalType:"bytes32",name:"symbol",type:"bytes32"},{internalType:"bytes32",name:"name",type:"bytes32"}],internalType:"struct BridgeStructs.AssetMeta",name:"meta",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"encoded",type:"bytes"}],name:"parsePayloadID",outputs:[{internalType:"uint8",name:"payloadID",type:"uint8"}],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 BridgeStructs.RecoverChainId",name:"rci",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"encoded",type:"bytes"}],name:"parseRegisterChain",outputs:[{components:[{internalType:"bytes32",name:"module",type:"bytes32"},{internalType:"uint8",name:"action",type:"uint8"},{internalType:"uint16",name:"chainId",type:"uint16"},{internalType:"uint16",name:"emitterChainID",type:"uint16"},{internalType:"bytes32",name:"emitterAddress",type:"bytes32"}],internalType:"struct BridgeStructs.RegisterChain",name:"chain",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"encoded",type:"bytes"}],name:"parseTransfer",outputs:[{components:[{internalType:"uint8",name:"payloadID",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes32",name:"tokenAddress",type:"bytes32"},{internalType:"uint16",name:"tokenChain",type:"uint16"},{internalType:"bytes32",name:"to",type:"bytes32"},{internalType:"uint16",name:"toChain",type:"uint16"},{internalType:"uint256",name:"fee",type:"uint256"}],internalType:"struct BridgeStructs.Transfer",name:"transfer",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"encoded",type:"bytes"}],name:"parseTransferWithPayload",outputs:[{components:[{internalType:"uint8",name:"payloadID",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes32",name:"tokenAddress",type:"bytes32"},{internalType:"uint16",name:"tokenChain",type:"uint16"},{internalType:"bytes32",name:"to",type:"bytes32"},{internalType:"uint16",name:"toChain",type:"uint16"},{internalType:"bytes32",name:"fromAddress",type:"bytes32"},{internalType:"bytes",name:"payload",type:"bytes"}],internalType:"struct BridgeStructs.TransferWithPayload",name:"transfer",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"encoded",type:"bytes"}],name:"parseUpgrade",outputs:[{components:[{internalType:"bytes32",name:"module",type:"bytes32"},{internalType:"uint8",name:"action",type:"uint8"},{internalType:"uint16",name:"chainId",type:"uint16"},{internalType:"bytes32",name:"newContract",type:"bytes32"}],internalType:"struct BridgeStructs.UpgradeContract",name:"chain",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVM",type:"bytes"}],name:"registerChain",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVM",type:"bytes"}],name:"submitRecoverChainId",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"tokenImplementation",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint16",name:"recipientChain",type:"uint16"},{internalType:"bytes32",name:"recipient",type:"bytes32"},{internalType:"uint256",name:"arbiterFee",type:"uint256"},{internalType:"uint32",name:"nonce",type:"uint32"}],name:"transferTokens",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint16",name:"recipientChain",type:"uint16"},{internalType:"bytes32",name:"recipient",type:"bytes32"},{internalType:"uint32",name:"nonce",type:"uint32"},{internalType:"bytes",name:"payload",type:"bytes"}],name:"transferTokensWithPayload",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVm",type:"bytes"}],name:"updateWrapped",outputs:[{internalType:"address",name:"token",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVM",type:"bytes"}],name:"upgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"wormhole",outputs:[{internalType:"contract IWormhole",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"recipientChain",type:"uint16"},{internalType:"bytes32",name:"recipient",type:"bytes32"},{internalType:"uint256",name:"arbiterFee",type:"uint256"},{internalType:"uint32",name:"nonce",type:"uint32"}],name:"wrapAndTransferETH",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint16",name:"recipientChain",type:"uint16"},{internalType:"bytes32",name:"recipient",type:"bytes32"},{internalType:"uint32",name:"nonce",type:"uint32"},{internalType:"bytes",name:"payload",type:"bytes"}],name:"wrapAndTransferETHWithPayload",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint16",name:"tokenChainId",type:"uint16"},{internalType:"bytes32",name:"tokenAddress",type:"bytes32"}],name:"wrappedAsset",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],F="0x6080806040523461001b576001600d5561522990816100218239f35b600080fdfe608060405260043610156200001d575b36156200001b57600080fd5b005b60003560e01c806301f5325514620002fe57806307dfd8fb14620002f85780630f50900814620002f25780630f5287b014620002ec578063178149e714620002e65780631a2be4da14620002e05780631c8475e414620002da5780631ff1e28614620002d45780632539464514620002ce5780632b51137514620002c85780632c3c02a414620002c25780632f3a3d5d14620002bc5780635f85426614620002b657806364d42b1714620002b0578063739fc8d114620002aa57806384acd1bb14620002a45780639981509f146200029e5780639a8a05921462000298578063a5799f931462000292578063aa4efa5b146200028c578063ad5c46481462000286578063ad66a5f11462000280578063b046223b146200027a578063b172b2221462000274578063b96c7e4d146200026e578063bee9cdfc1462000268578063c3f511c11462000262578063c48fa115146200025c578063c5a5ebda1462000256578063c68785191462000250578063cb4cfea8146200024a578063d56e2e241462000244578063d60b347f146200023e578063e039f2241462000238578063e80598101462000232578063e89bc401146200022c578063ea63738d1462000226578063f768441f1462000220578063fbe3c2cd146200021a578063fbeeacd914620002145763ff200cde036200000f5762001a10565b620019c5565b6200199e565b62001903565b6200186e565b6200184f565b6200174c565b62001729565b620016e6565b62001616565b620015cb565b620015b6565b6200150d565b62001305565b620012e6565b620010ae565b62001070565b62001050565b62000fd3565b62000fa4565b62000f79565b62000f49565b62000e2b565b62000e07565b62000bb6565b62000b8b565b62000b66565b62000b46565b62000ab8565b62000a74565b62000a2e565b620009b7565b620008e2565b6200088f565b6200085b565b620007b9565b620006df565b62000632565b620005bb565b62000559565b62000502565b634e487b7160e01b600052604160045260246000fd5b60e081019081106001600160401b038211176200033657604052565b62000304565b60c081019081106001600160401b038211176200033657604052565b6001600160401b0381116200033657604052565b608081019081106001600160401b038211176200033657604052565b60a081019081106001600160401b038211176200033657604052565b604081019081106001600160401b038211176200033657604052565b90601f801991011681019081106001600160401b038211176200033657604052565b60405190620003f1826200033c565b565b6040519061010082018281106001600160401b038211176200033657604052565b60405190620003f18262000388565b60405190620003f1826200031a565b6040519061016082018281106001600160401b038211176200033657604052565b90620003f16040519283620003c0565b6001600160401b0381116200033657601f01601f191660200190565b81601f82011215620004cc57803590620004998262000463565b92620004a96040519485620003c0565b82845260208383010111620004cc57816000926020809301838601378301015290565b600080fd5b6020600319820112620004cc57600435906001600160401b038211620004cc57620004ff916004016200047f565b90565b34620004cc5760a06200051f6200051936620004d1565b62004421565b6080604051918051835260ff602082015116602084015261ffff806040830151166040850152606082015116606084015201516080820152f35b34620004cc5760c0620005766200057036620004d1565b62003a18565b60a06040519160ff81511683526020810151602084015261ffff604082015116604084015260ff606082015116606084015260808101516080840152015160a0820152f35b34620004cc576020620005d8620005d236620004d1565b620047a1565b60ff60405191168152f35b600435906001600160a01b0382168203620004cc57565b61ffff811603620004cc57565b60a43590620003f182620005fa565b3590620003f182620005fa565b63ffffffff811603620004cc57565b60c0366003190112620004cc57620006db620006bc62000651620005e3565b6044356200065f81620005fa565b6200069660a43592620006728462000623565b620006836002600d54141562001cbd565b6002600d5560843590602435906200208d565b61ffff815116602082015192604083015160806060850151940151946064359362002421565b6001600d556040516001600160401b0390911681529081906020820190565b0390f35b34620004cc57620006f036620004d1565b600c54461462000787576200077560606200074f60e062000723620007196200001b966200410f565b909291926200276b565b6200074761014082015160005260056020526040600020600160ff19825416179055565b015162004591565b6200076c60408201620007654682511462003fa3565b5162004645565b015161ffff1690565b61ffff1661ffff196002541617600255565b60405162461bcd60e51b815260206004820152600a6024820152696e6f74206120666f726b60b01b6044820152606490fd5b34620004cc576020366003190112620004cc576001600160a01b03620007de620005e3565b166000526009602052602060ff604060002054166040519015158152f35b60005b838110620008105750506000910152565b8181015183820152602001620007ff565b906020916200083c81518092818552858086019101620007fc565b601f01601f1916010190565b906020620004ff92818152019062000821565b34620004cc57620006db6200087a6200087436620004d1565b62002e3d565b60405191829160208352602083019062000821565b34620004cc576040366003190112620004cc5761ffff600435620008b381620005fa565b1660005260086020526040600020602435600052602052602060018060a01b0360406000205416604051908152f35b34620004cc576200094260e062000916620007196200090136620004d1565b62000910600c544614620037ea565b6200410f565b6200093a61014082015160005260056020526040600020600160ff19825416179055565b01516200451f565b61ffff806040830151169060025416036200098157606001516200001b906200097b906001600160a01b03165b6001600160a01b031690565b62004236565b60405162461bcd60e51b815260206004820152600e60248201526d1ddc9bdb99c818da185a5b881a5960921b6044820152606490fd5b34620004cc57620006db620009d6620009d036620004d1565b62003b94565b6040519182918291909160c08060e083019460ff8151168452602081015160208501526040810151604085015261ffff8060608301511660608601526080820151608086015260a08201511660a08501520151910152565b34620004cc576020366003190112620004cc57602062000a5e600435600052600560205260ff6040600020541690565b6040519015158152f35b6000910312620004cc57565b34620004cc576000366003190112620004cc576001546040516001600160a01b039091168152602090f35b60ff811603620004cc57565b3590620003f18262000a9f565b34620004cc5760e0366003190112620004cc57620006db62000b3960405162000ae1816200031a565b60043562000aef8162000a9f565b81526024356020820152604435604082015260643562000b0f81620005fa565b6060820152608435608082015262000b2662000607565b60a082015260c43560c0820152620038c9565b6040519182918262000848565b34620004cc576000366003190112620004cc576020600c54604051908152f35b34620004cc576000366003190112620004cc57602060025460ff60405191831c168152f35b34620004cc576000366003190112620004cc576000546040516001600160a01b039091168152602090f35b6080366003190112620004cc576004803562000bd281620005fa565b604435916064359062000be58262000623565b62000bef62001b7d565b50600080546001600160a01b0394839160209062000c0f9088166200096f565b604051631a90a21960e01b815295869182905afa93841562000d9b57839462000dd0575b5062000c4134851062001bc9565b62000c4d843462001c4d565b9662000c5c8882111562001c5b565b6402540be40080890491049362000c7e62000c77836200238f565b8a62001c4d565b818115801562000da5575b5050845462000cb0919062000ca9908b166001600160a01b03166200096f565b9a62001c4d565b98803b1562000da15784604051809b8193630d0e30db60e41b83525af196871562000d9b5760209862000d6c9862000d7d575b50835462000d0990839062000d039084166001600160a01b03166200096f565b620036f6565b62000d306200096f6200096f6200096f61ffff94856002541698541660018060a01b031690565b9062000d4962000d3f62000414565b61ffff9096168652565b818a86015282604086015285606086015286608086015260243594511662002421565b6001600160401b0360405191168152f35b8062000d8d62000d949262000358565b8062000a68565b3862000ce3565b62001b71565b5080fd5b82829162000dc5575b8280929181923390f11562000d9b57813862000c89565b6108fc915062000dae565b62000df791945060203d811162000dff575b62000dee8183620003c0565b81019062001bb9565b923862000c33565b503d62000de2565b34620004cc576000366003190112620004cc57602061ffff60025416604051908152f35b34620004cc576200001b62000e7a60e062000e4e620007196200091036620004d1565b62000e7261014082015160005260056020526040600020600160ff19825416179055565b015162004421565b62000ec662000e8e604083015161ffff1690565b61ffff62000eaa62000ea360025461ffff1690565b61ffff1690565b9116908114908162000f2b575b811562000f21575b5062003f16565b608062000f096060830162000f0162000efa62000ee5835161ffff1690565b61ffff16600052600b60205260406000205490565b1562003f56565b5161ffff1690565b9101519061ffff16600052600b602052604060002055565b9050153862000ebf565b905062000f4262000f3e600c5446141590565b1590565b9062000eb7565b34620004cc576020366003190112620004cc57602062000a5e600435600052600660205260ff6040600020541690565b34620004cc576000366003190112620004cc576004546040516001600160a01b039091168152602090f35b34620004cc576020366003190112620004cc57602062000fcb60043562000ee581620005fa565b604051908152f35b34620004cc5760c0366003190112620004cc57620006db62000b3960405162000ffc816200033c565b6004356200100a8162000a9f565b815260243560208201526044356200102281620005fa565b6040820152606435620010358162000a9f565b6060820152608435608082015260a43560a082015262003860565b34620004cc576000366003190112620004cc576020600354604051908152f35b34620004cc576020366003190112620004cc576001600160a01b0362001095620005e3565b16600052600a6020526020604060002054604051908152f35b6080366003190112620004cc576004803590620010cb82620005fa565b604435620010d98162000623565b6064356001600160401b038111620004cc57620010fa90369084016200047f565b906200110562001b7d565b506000805490946001600160a01b039491829190602090620011299088166200096f565b604051631a90a21960e01b815294859182905afa92831562000d9b578793620012c1575b506200115b34841062001bc9565b62001167833462001c4d565b966402540be4008804906200118062000c77836200238f565b818115801562001296575b50508454620011ab919062000ca9908b166001600160a01b03166200096f565b98803b1562000da157819085604051809c8193630d0e30db60e41b83525af197881562000d9b57620006db9962001265996200127f575b5084546200120290849062000d039084166001600160a01b03166200096f565b620012296200096f6200096f6200096f61ffff94856002541699541660018060a01b031690565b91620012426200123862000414565b61ffff9097168752565b8260208701528360408701526060860152856080860152602435945116620024fd565b6040516001600160401b0390911681529081906020820190565b8062000d8d6200128f9262000358565b38620011e2565b828291620012b6575b8280929181923390f11562000d9b5781386200118b565b6108fc91506200129f565b620012de91935060203d811162000dff5762000dee8183620003c0565b91386200114d565b34620004cc57620006db6200087a620012ff36620004d1565b62003263565b604080600319360112620004cc576200131d620005e3565b602435916200132c8362000623565b805192602080938186019563313ce56760e01b8752600481526200135081620003a4565b6000809781925190845afa506200136662001a49565b86808651858101906395d89b4160e01b8252600481526200138781620003a4565b5190855afa5060ff6200147d6200096f6200146c88620013a662001a49565b958c8083518b8101906306fdde0360e01b825260048152620013c881620003a4565b51908b5afa5088806200141662001406620013f6620013e662001a49565b9584808251830101910162001a8b565b9a83808251830101910162001aed565b9382808251830101910162001aed565b920151910151906200145c600254986200145262001433620003e2565b60028152956001600160a01b039c8d16878f015261ffff8c1690870152565b60ff166060850152565b608083015260a082015262003860565b8a549095166001600160a01b031690565b91620014a38751968795869485946358cd21bf60e11b8652891c16916004850162001b42565b039134905af192831562000d9b57620006db9493620014d7575b5050516001600160401b0390911681529081906020820190565b620014fc929350803d1062001505575b620014f38183620003c0565b81019062001b2b565b903880620014bd565b503d620014e7565b60c0366003190112620004cc5762001524620005e3565b604435906200153382620005fa565b60843590620015428262000623565b60a435916001600160401b038311620004cc57620006db936200159362001572620006bc9536906004016200047f565b93620015846002600d54141562001cbd565b6002600d556024359062001d2f565b9061ffff82511690602083015192608060408201519101519360643593620024fd565b34620004cc576200001b620012ff36620004d1565b34620004cc576080620015e8620015e236620004d1565b62004591565b61ffff6060604051928051845260ff6020820151166020850152604081015160408501520151166060820152f35b34620004cc57600319602036820112620004cc576004356001600160401b0391828211620004cc57610100908236030112620004cc5762001656620003f3565b620016648260040162000aab565b81526024820135602082015260448201356040820152620016886064830162000616565b606082015260848201356080820152620016a560a4830162000616565b60a082015260c482013560c082015260e4820135928311620004cc57620016db62000b39926004620006db95369201016200047f565b60e08201526200393f565b34620004cc576020366003190112620004cc576001600160a01b036200170b620005e3565b166000526007602052602060ff604060002054166040519015158152f35b34620004cc576000366003190112620004cc576020600c54604051904614158152f35b34620004cc57620017916200176136620004d1565b6000805460405163607ec5ef60e11b8152939192839285926001600160a01b031691839182916004830162000848565b03915afa90811562000d9b57620006db9262001801928291839084926200181b575b50620017c19293506200276b565b620017d6620017d08262003826565b6200279e565b620017fa60a0620017eb60e084015162003a18565b9201516001600160401b031690565b9062002a65565b6040516001600160a01b0390911681529081906020820190565b915050620018439150620017c1923d8091833e6200183a8183620003c0565b81019062002632565b909291928392620017b3565b34620004cc57620006db620009d66200186836620004d1565b62003d2e565b34620004cc5760e06200188b6200188536620004d1565b62003c3f565b620006db6040519283926020845260ff8151166020850152602081015160408501526040810151606085015261ffff6060820151166080850152608081015160a0850152620018e560a082015160c086019061ffff169052565b60c08101518285015201516101008084015261012083019062000821565b34620004cc57620019186200176136620004d1565b03915afa90811562000d9b57620006db92620018019282918390849262001973575b50620019489293506200276b565b62001957620017d08262003826565b6200196c60a0620017eb60e084015162003a18565b9062002813565b91505062001992915062001948923d8091833e6200183a8183620003c0565b9092919283926200193a565b34620004cc576000366003190112620004cc57602061ffff60025460101c16604051908152f35b34620004cc576080620019e2620019dc36620004d1565b6200451f565b6060604051918051835260ff602082015116602084015261ffff604082015116604084015201516060820152f35b34620004cc576200001b6200087436620004d1565b60405190602082018281106001600160401b03821117620003365760405260008252565b3d1562001a79573d9062001a5d8262000463565b9162001a6d6040519384620003c0565b82523d6000602084013e565b606090565b5190620003f18262000a9f565b90816020910312620004cc5751620004ff8162000a9f565b81601f82011215620004cc57805162001abc8162000463565b9262001acc6040519485620003c0565b81845260208284010111620004cc57620004ff9160208085019101620007fc565b90602082820312620004cc5781516001600160401b038111620004cc57620004ff920162001aa3565b51906001600160401b0382168203620004cc57565b90816020910312620004cc57620004ff9062001b16565b9162001b6a60ff9163ffffffff60409497969716855260606020860152606085019062000821565b9416910152565b6040513d6000823e3d90fd5b6040519060a082018281106001600160401b03821117620003365760405260006080838281528260208201528260408201528260608201520152565b90816020910312620004cc575190565b1562001bd157565b60405162461bcd60e51b815260206004820152602260248201527f76616c756520697320736d616c6c6572207468616e20776f726d686f6c652066604482015261656560f01b6064820152608490fd5b634e487b7160e01b600052601160045260246000fd5b60841981019190821162001c4757565b62001c21565b9190820391821162001c4757565b1562001c6357565b60405162461bcd60e51b815260206004820152602c60248201527f66656520697320626967676572207468616e20616d6f756e74206d696e75732060448201526b776f726d686f6c652066656560a01b6064820152608490fd5b1562001cc557565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b5190620003f182620005fa565b90816020910312620004cc5751620004ff81620005fa565b9062001d3a62001b7d565b506001600160a01b038216600090815260096020526040902062001d60905b5460ff1690565b156200206f57604051634d4502c960e11b81526001600160a01b0383169260209290918381600481885afa90811562000d9b5760049185916000916200203b575b509560405192838092633d6c043b60e01b82525afa90811562000d9b5762001e289460009262002019575b5050905b62001e2e604051916000806020948581019063313ce56760e01b82526004815262001dfb81620003a4565b5190885afa5062001e1e62001e0f62001a49565b84808251830101910162001a8b565b958680926200234d565b620023aa565b9261ffff9462001e43866002541661ffff1690565b87871690810362001f935762001f5362001f3e8362001f388660008062001f479c8b62001f0f60405162001eed8382019486806370a0823160e01b978881528562001ea03060248301919091602081019260018060a01b03169052565b039562001eb6601f1997888101835282620003c0565b51908c5afa5062001ed962001eca62001a49565b86808251830101910162001bb9565b98309033906001600160a01b031662004942565b60405192830193845230602484015282604481015b03908101835282620003c0565b51908b5afa5062001f3262001f2362001a49565b8a808251830101910162001bb9565b62001c4d565b6200234d565b96879362002308565b976002541661ffff1690565b1462001f80575b505062001f6a62000d3f62000414565b8401526040830152606082015234608082015290565b62001f8b91620036f6565b388362001f5a565b6001600160a01b0383169562001fac8130338a62004942565b863b15620004cc57604051632770a7eb60e21b815230600482015260248101829052966000908890604490829084905af196871562000d9b578362001f539262001f3e9262001f479a62002002575b506200234d565b8062000d8d620020129262000358565b3862001ffb565b620020339250803d1062000dff5762000dee8183620003c0565b388062001dcc565b620020609150823d841162002067575b620020578183620003c0565b81019062001d17565b3862001da1565b503d6200204b565b60025461ffff169162001e28916001600160a01b0382169062001dd0565b91906200209962001b7d565b506001600160a01b0383166000908152600960205260409020620020bd9062001d59565b15620022c457604051634d4502c960e11b81526001600160a01b0384169360209290918381600481895afa90811562000d9b576004918591600091620022a2575b509660405192838092633d6c043b60e01b82525afa90811562000d9b5762001e289460009262002280575b5050915b6200217b604051926000806020958681019063313ce56760e01b8252600481526200215881620003a4565b5190865afa5062001e1e6200216c62001a49565b85808251830101910162001a8b565b60025461ffff969188881691879085908a16840362002210576040516370a0823160e01b81890181815230602484015262001f539562001f47956200220795909462001f389491936000938493928f92620021e49262001eed9187908190856044810162001ea0565b51908c5afa5062001f32620021f862001a49565b8b808251830101910162001bb9565b9788946200234d565b50506001600160a01b038416906200222b8130338562004942565b813b15620004cc57604051632770a7eb60e21b815230600482015260248101829052916000908390604490829084905af191821562000d9b578862001f4792620022079262001f53956200200257506200234d565b6200229a9250803d1062000dff5762000dee8183620003c0565b388062002129565b620022bd9150823d84116200206757620020578183620003c0565b38620020fe565b60025461ffff169262001e28916001600160a01b038216916200212d565b60ff6007199116019060ff821162001c4757565b60ff16604d811162001c4757600a0a90565b600090600860ff8216116200231b575090565b6200232a6200233091620022e2565b620022f6565b15620023395790565b634e487b7160e01b81526012600452602490fd5b90600860ff8216116200235e575090565b6200232a6200236d91620022e2565b90811562002379570490565b634e487b7160e01b600052601260045260246000fd5b6402540be4009081810291818304149015171562001c475790565b90600860ff821611620023bb575090565b6200232a620023ca91620022e2565b9081810291818304149015171562001c475790565b15620023e757565b60405162461bcd60e51b815260206004820152601260248201527119995948195e18d959591cc8185b5bdd5b9d60721b6044820152606490fd5b92620024c997959294620024696020989562002479946200244589881115620023df565b6200244f62000423565b60018152985b898c0152604089015261ffff166060880152565b608086015261ffff1660a0850152565b60c0830152600054620024a1906200249a906001600160a01b03166200096f565b92620038c9565b6002546040516358cd21bf60e11b81529687958694938593891c60ff16916004850162001b42565b03925af190811562000d9b57600091620024e1575090565b620004ff915060203d81116200150557620014f38183620003c0565b92620024c997929462002469602098979562002528946200251d620003f3565b600381529862002455565b3360c084015260e0830152600054620024a1906200254f906001600160a01b03166200096f565b926200393f565b5190620003f18262000623565b9080601f83011215620004cc578151916001600160401b03831162000336576040918251936020916200259c838360051b0187620003c0565b818652828087019260071b85010193818511620004cc578301915b848310620025c85750505050505090565b608083830312620004cc57836080918751620025e4816200036c565b85518152828601518382015288860151620025ff8162000a9f565b8982015260608087015190620026158262000a9f565b820152815201920191620025b7565b51908115158203620004cc57565b9091606082840312620004cc578151916001600160401b0392838111620004cc57810161016081860312620004cc576200266b62000432565b90620026778162001a7e565b8252620026876020820162002556565b60208301526200269a6040820162002556565b6040830152620026ad6060820162001d0a565b606083015260808101516080830152620026ca60a0820162001b16565b60a0830152620026dd60c0820162001a7e565b60c083015260e0810151858111620004cc5786620026fd91830162001aa3565b60e08301526101006200271281830162002556565b9083015261012080820151868111620004cc57876200273391840162002563565b90830152610140809101519082015293620027516020830162002624565b936040830151908111620004cc57620004ff920162001aa3565b15620027745750565b60405162461bcd60e51b8152602060048201529081906200279a90602483019062000821565b0390fd5b15620027a657565b60405162461bcd60e51b815260206004820152600f60248201526e34b73b30b634b21032b6b4ba3a32b960891b6044820152606490fd5b9162001b6a6001600160401b03916200280460409497969760608752606087019062000821565b90858203602087015262000821565b906200285061ffff60408401511660208401519061ffff16600052600860205260406000209060005260205260018060a01b036040600020541690565b916001600160a01b038316918215620028d5576200288160806200287860a085015162003e8a565b93015162003e8a565b92803b15620004cc57620028b19360008094604051968795869485936350c66be360e11b855260048501620027dd565b03925af1801562000d9b57620028c5575090565b8062000d8d620004ff9262000358565b60405162461bcd60e51b815260206004820152601d60248201527f7772617070656420617373657420646f6573206e6f74206578697374730000006044820152606490fd5b156200292257565b60405162461bcd60e51b815260206004820152602860248201527f63616e206f6e6c79207772617020746f6b656e732066726f6d20666f726569676044820152676e20636861696e7360c01b6064820152608490fd5b156200298057565b60405162461bcd60e51b815260206004820152601c60248201527f7772617070656420617373657420616c726561647920657869737473000000006044820152606490fd5b936001600160401b039060ff62002a0361ffff969b9a9995620029f460c09a9660e08b5260e08b019062000821565b9089820360208b015262000821565b9a1660408701521660608501526001600160a01b031660808401521660a08201520152565b6001600160a01b039091168152604060208201819052620004ff9291019062000821565b9062002a6160209282815194859201620007fc565b0190565b91909162002bb262002b68604083019462002a9962002a86875161ffff1690565b60025461ffff908116911614156200291a565b85516020858101805161ffff909316600090815260088352604080822094825293835292909220549195909162002b75919062002ae0906001600160a01b03161562002978565b62002b4262002af360a083015162003e8a565b9462002b12606062002b09608086015162003e8a565b94015160ff1690565b9562002b208c5161ffff1690565b908a519260405198899663c71f461560e01b8a890152309360248901620029c5565b039262002b58601f1994858101835282620003c0565b6040519485913085840162002a28565b03838101855284620003c0565b62002bbf6106f69362002b8a83860162000453565b9480865262004afe8487013960405195869162002bab858401809862002a4c565b9062002a4c565b03838101865285620003c0565b62002bfd62002bd0885161ffff1690565b865160405160f09290921b6001600160f01b03191693820193845260028401529192826022850162001f02565b5190209151906000f592833b15620004cc5751905161ffff909116600090815260086020908152604080832093835292815282822080546001600160a01b0319166001600160a01b03871690811790915582526009905220805460ff19166001179055565b1562002c6a57565b60405162461bcd60e51b815260206004820152600e60248201526d34b73b30b634b21039b2b73232b960911b6044820152606490fd5b1562002ca857565b60405162461bcd60e51b815260206004820152601a60248201527f7472616e7366657220616c726561647920636f6d706c657465640000000000006044820152606490fd5b1562002cf557565b60405162461bcd60e51b815260206004820152601460248201527334b73b30b634b2103a30b933b2ba1031b430b4b760611b6044820152606490fd5b1562002d3957565b60405162461bcd60e51b815260206004820152602560248201527f6e6f207772617070657220666f72207468697320746f6b656e2063726561746560448201526419081e595d60da1b6064820152608490fd5b1562002d9457565b60405162461bcd60e51b815260206004820152602360248201527f696e76616c696420746f6b656e2c2063616e206f6e6c7920756e77726170205760448201526208aa8960eb1b6064820152608490fd5b1562002ded57565b60405162461bcd60e51b815260206004820152602260248201527f66656520686967686572207468616e207472616e7366657272656420616d6f756044820152611b9d60f21b6064820152608490fd5b600080546001600160a01b039062002e579082166200096f565b604093838551809363607ec5ef60e11b8252818062002e7b60049687830162000848565b03915afa801562000d9b578492859086926200323c575b509062002e9f916200276b565b62002eae620017d08362003826565b60e082019462002ebf865162003d2e565b8462002ecf608083015162003681565b94600360ff62002ee0855160ff1690565b161462003227575b62002f34610140820162002f1962002f1362000f3e8351600052600660205260ff6040600020541690565b62002ca0565b5160005260066020526040600020600160ff19825416179055565b606081015161ffff16906001600160401b0362002f6060a060808401519301516001600160401b031690565b169061ffff8093167fcaf280c8cfeba144da67230d9b009c8f868a75bac9a528fa0474be1ba317c1698b80a48062002fbb62002fa160a086015161ffff1690565b62002fb1836002541661ffff1690565b9216821462002ced565b606084015161ffff1691821603620031df575062002fe06200096f8484015162003681565b62002ff26020840151838316620037a9565b1686806200300c6200096f8988541660018060a01b031690565b926200301c898516821462002d8c565b855163313ce56760e01b60208201908152888252906200303c81620003a4565b51915afa506200307e620030636200305362001a49565b6020808251830101910162001a8b565b60c062003075826020870151620023aa565b940151620023aa565b9081151580620031d2575b15620031c3576200309d8383111562002de5565b803b15620031bf578784518092632e1a7d4d60e01b8252818381620030c9888c83019190602083019252565b03925af1801562000d9b57620031a8575b5086808280156200319d575b8280929181923390f11562000d9b57620031009162001c4d565b82549092906200311b9086166001600160a01b03166200096f565b91823b15620031995751632e1a7d4d60e01b815290810183815290939291869185919082908490829060200103925af191821562000d9b5785948594859462003182575b508391831562003177575b1690f11562000d9b575190565b6108fc92506200316a565b8062000d8d620031929262000358565b386200315f565b8680fd5b6108fc9150620030e6565b8062000d8d620031b89262000358565b38620030da565b8780fd5b50506200310090869062001c4d565b5033878716141562003089565b620032138291858501519061ffff16600052600860205260406000209060005260205260018060a01b036040600020541690565b166200322181151562002d31565b62002ff2565b62003236828716331462002c62565b62002ee8565b905062002e9f93506200325b91503d8087833e6200183a8183620003c0565b919362002e92565b600080546001600160a01b03906200327d9082166200096f565b92604093838551809263607ec5ef60e11b82528180620032a260049788830162000848565b03915afa801562000d9b57849085869162003658575b620032c59293506200276b565b620032d4620017d08262003826565b60e0810194620032e5865162003d2e565b92620032f5608085015162003681565b93600360ff62003306835160ff1690565b161462003643575b62003339610140850162002f1962002f1362000f3e8351600052600660205260ff6040600020541690565b606084015161ffff16936001600160401b036200336560a060808401519301516001600160401b031690565b169061ffff8096167fcaf280c8cfeba144da67230d9b009c8f868a75bac9a528fa0474be1ba317c1698a80a483620033c0620033a660a084015161ffff1690565b620033b6836002541661ffff1690565b9616861462002ced565b866060830195620033d3875161ffff1690565b908382160362003602575050620033f16200096f8584015162003681565b90620034046020840151898416620037a9565b8782169289808751602081019063313ce56760e01b82528881526200342981620003a4565b5190875afa506200345c620034416200305362001a49565b60c062003453826020860151620023aa565b930151620023aa565b998a151580620035f5575b15620035e6576200347b828c111562002de5565b9962003489885161ffff1690565b836200349a816002541661ffff1690565b911614620035d457843b15620004cc5786516340c10f1960e01b81523387820190815260208101839052909290600090849081906040010381838a5af192831562000d9b57620034f193620035bd575b5062001c4d565b9589156200351657505082546200311b925087166001600160a01b031690506200096f565b909295969498506200352d919397505161ffff1690565b906200353e816002541661ffff1690565b911614620035ac5750813b15620004cc5793516340c10f1960e01b81526001600160a01b03909416928401928352602083019190915260009183919082908490829060400103925af1801562000d9b576200359857505190565b8062000d8d620035a89262000358565b5190565b9150919250620035a89350620048fd565b8062000d8d620035cd9262000358565b38620034ea565b620034f19162001f32823387620048fd565b9950620034f1908a9062001c4d565b50338a8a16141562003467565b8386015161ffff909116600090815260086020908152604080832093835292905220546001600160a01b0316166200363c81151562002d31565b9062003404565b62003652868616331462002c62565b6200330e565b50505062003675620032c5913d8087833e6200183a8183620003c0565b919250829190620032b8565b6001600160a01b031981166200369d576001600160a01b031690565b60405162461bcd60e51b8152602060048201526013602482015272696e76616c69642045564d206164647265737360681b6044820152606490fd5b90601f820180921162001c4757565b608501908160851162001c4757565b6001600160a01b0381166000908152600a60205260409020549091810190811062001c47576001600160401b03811162003746576001600160a01b039091166000908152600a6020526040902055565b60405162461bcd60e51b815260206004820152603560248201527f7472616e736665722065786365656473206d6178206f75747374616e64696e6760448201527408189c9a5919d959081d1bdad95b88185b5bdd5b9d605a1b6064820152608490fd5b6001600160a01b0381166000908152600a60205260409020549091810390811162001c47576001600160a01b039091166000908152600a6020526040902055565b15620037f257565b60405162461bcd60e51b815260206004820152600c60248201526b696e76616c696420666f726b60a01b6044820152606490fd5b62003835600c544614620037ea565b60806200385961ffff60608401511661ffff16600052600b60205260406000205490565b9101511490565b8051602082015191604081015191606082015160a06080840151930151936040519560ff60f81b809460f81b166020880152602187015261ffff60f01b9060f01b16604186015260f81b1660438401526044830152606482015260648152620004ff8162000388565b80519060208101519060408101519060608101519160808201519060c060a0840151930151946040519660ff60f81b9060f81b1660208801526021870152604186015261ffff60f01b809360f01b166061860152606385015260f01b166083830152608582015260858152620004ff816200033c565b620004ff60a582516020840151936040810151906060810151608082015160a08301519060e060c085015194015194604051998a9760ff60f81b9060f81b1660208901526021880152604187015261ffff60f01b809360f01b166061870152606386015260f01b1660838401526085830152620039c68151809260208686019101620007fc565b8101036085810184520182620003c0565b15620039df57565b60405162461bcd60e51b8152602060048201526011602482015270696e76616c69642041737365744d65746160781b6044820152606490fd5b906040519162003a28836200033c565b600090818452602084019082825260408501928084526060860193818552608087019082825260a0880192835262003a7460028960ff62003a6988620047a1565b1680915214620039d7565b602184511062003add57620003f19562003aa962003abb926064976021880151905262003aa18762004831565b61ffff169052565b62003ab485620047fe565b60ff169052565b62003ac683620048b9565b905262003ad382620048db565b90525114620039d7565b60405162461bcd60e51b8152602060048201526015602482015274746f427974657333325f6f75744f66426f756e647360581b6044820152606490fd5b6040519062003b29826200031a565b8160c06000918281528260208201528260408201528260608201528260808201528260a08201520152565b1562003b5c57565b60405162461bcd60e51b815260206004820152601060248201526f34b73b30b634b2102a3930b739b332b960811b6044820152606490fd5b9062003b9f62003b1a565b9162003bbe600160ff62003bb384620047a1565b168086521462003b54565b62003bc98162004853565b602084015262003bd98162004897565b604084015261ffff62003bec8262004820565b166060840152606381511062003add576085816063620003f1930151608086015262003c2762003c1c8262004842565b61ffff1660a0870152565b62003c328162004864565b60c0860152511462003b54565b906040519161010083018381106001600160401b03821117620003365760405260009081845260208401918083526040850181815260608601828152608087019083825260a088019284845260c0890194855260e0890196606088528962003ca788620047a1565b60ff169081905262003cbc9060031462003b54565b62003cc78762004853565b905262003cd48662004897565b905262003ce18562004820565b61ffff16905262003cf284620048ca565b905262003cff8362004842565b61ffff16905262003d1082620048ec565b9052805162003d1f9062001c37565b62003d2a916200470b565b9052565b9062003d3962003b1a565b9160ff62003d4782620047a1565b166001810362003d5f5750620004ff91925062003b94565b60030362003dda5762003dc660a062003d7c62003dd19362003c3f565b60038652602081015160208701526040810151604087015262003db362003da8606083015161ffff1690565b61ffff166060880152565b60808101516080870152015161ffff1690565b61ffff1660a0840152565b600060c0830152565b60405162461bcd60e51b8152602060048201526012602482015271125b9d985b1a59081c185e5b1bd859081a5960721b6044820152606490fd5b634e487b7160e01b600052603260045260246000fd5b600019811462001c475760010190565b9062003e468262000463565b62003e556040519182620003c0565b828152809262003e68601f199162000463565b0190602036910137565b90815181101562003e84570160200190565b62003e14565b60005b602081108062003ef8575b1562003eaf5762003ea99062003e2a565b62003e8d565b9062003ebb8262003e3a565b9160005b81811062003ecd5750505090565b602081101562003e8457808362003ef2921a62003eeb828762003e72565b5362003e2a565b62003ebf565b1562003e845781811a60f81b6001600160f81b031916151562003e98565b1562003f1e57565b60405162461bcd60e51b815260206004820152601060248201526f1a5b9d985b1a590818da185a5b881a5960821b6044820152606490fd5b1562003f5e57565b60405162461bcd60e51b815260206004820152601860248201527f636861696e20616c7265616479207265676973746572656400000000000000006044820152606490fd5b1562003fab57565b60405162461bcd60e51b815260206004820152601160248201527034b73b30b634b21022ab269021b430b4b760791b6044820152606490fd5b6040519061016082018281106001600160401b038211176200033657604052816101406000918281528260208201528260408201528260608201528260808201528260a08201528260c0820152606060e08201528261010082015260606101208201520152565b604051906200405a82620003a4565b60168252753bb937b7339033b7bb32b93730b731b29031b430b4b760511b6020830152565b604051906200408e82620003a4565b601982527f77726f6e6720676f7665726e616e636520636f6e7472616374000000000000006020830152565b60405190606082018281106001600160401b0382111762000336576040526022825261195960f21b6040837f676f7665726e616e636520616374696f6e20616c726561647920636f6e73756d60208201520152565b62004159906200411e62003fe4565b5060008054909182916200413d906200096f906001600160a01b031681565b604051808096819463607ec5ef60e11b83526004830162000848565b03915afa91821562000d9b5781928291839162004211575b50811562004209575050606082015161ffff1661ffff6200419d62000ea360025461ffff9060101c1690565b911603620041fd57608082015160035403620041f157620041d1610140830151600052600560205260ff6040600020541690565b620041e5575090600190620004ff62001a25565b9091620004ff620040ba565b9091620004ff6200407f565b9091620004ff6200404b565b929390929150565b9150506200422c9192503d8084833e6200183a8183620003c0565b9192913862004171565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc908154813b1562004312577f2e4cc16c100f0b55e2df82ab0b1a7e294aa9cbd01b48fbaf622683fbc0507a499060018060a01b039081841694856bffffffffffffffffffffffff60a01b83161790556200430c604051600080968192897fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a263204a7f0760e21b602082019081526004825290620042f781620003a4565b51915af46200430562001a49565b906200276b565b169180a3565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b156200437557565b60405162461bcd60e51b815260206004820152600c60248201526b77726f6e67206d6f64756c6560a01b6044820152606490fd5b15620043b157565b60405162461bcd60e51b815260206004820152600c60248201526b3bb937b7339030b1ba34b7b760a11b6044820152606490fd5b15620043ed57565b60405162461bcd60e51b815260206004820152600c60248201526b0eee4dedcce40d8cadccee8d60a31b6044820152606490fd5b906200442c62001b7d565b91620044526a546f6b656e427269646765620044488362004875565b808652146200436d565b62004473600160ff6200446584620047ed565b1680602087015214620043a9565b6023815110620044bc576045620003f19161ffff8060238301511660408701526200449e826200480f565b166060860152620044af81620048a8565b60808601525114620043e5565b60405162461bcd60e51b8152602060048201526014602482015273746f55696e7431365f6f75744f66426f756e647360601b6044820152606490fd5b6040519062004507826200036c565b60006060838281528260208201528260408201520152565b906200452a620044f8565b91620045466a546f6b656e427269646765620044488362004875565b62004559600260ff6200446584620047ed565b6023815110620044bc57602381015161ffff166040840152620003f190604390620045848162004886565b60608601525114620043e5565b906200459c620044f8565b91620045b86a546f6b656e427269646765620044488362004875565b620045cb600360ff6200446584620047ed565b604181511062004608576043816041620003f1930151604086015262004600620045f58262004820565b61ffff166060870152565b5114620043e5565b60405162461bcd60e51b8152602060048201526015602482015274746f55696e743235365f6f75744f66426f756e647360581b6044820152606490fd5b4681036200465257600c55565b60405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a5908195d9b50da185a5b925960721b6044820152606490fd5b156200469457565b60405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606490fd5b15620046d257565b60405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606490fd5b62004723826200471b81620036d8565b10156200468c565b6200473c81516200473484620036e7565b1115620046ca565b8162004755575050604051600081526020810160405290565b60405191601f8116916085831560051b80858701019484860193010101905b8084106200478d5750508252601f01601f191660405290565b909283518152602080910193019062004774565b6001815110620047b2576001015190565b60405162461bcd60e51b8152602060048201526013602482015272746f55696e74385f6f75744f66426f756e647360681b6044820152606490fd5b6021815110620047b2576021015190565b6024815110620047b2576024015190565b6025815110620044bc576025015190565b6043815110620044bc576043015190565b6023815110620044bc576023015190565b6065815110620044bc576065015190565b602181511062004608576021015190565b608581511062004608576085015190565b602081511062003add576020015190565b604381511062003add576043015190565b604181511062003add576041015190565b604581511062003add576045015190565b604481511062003add576044015190565b606381511062003add576063015190565b606481511062003add576064015190565b608581511062003add576085015190565b60405163a9059cbb60e01b60208201526001600160a01b03929092166024830152604480830193909352918152620003f1916200493c606483620003c0565b620049fe565b6040516323b872dd60e01b60208201526001600160a01b039283166024820152929091166044830152606480830193909352918152620003f1916200493c8262000388565b90816020910312620004cc57620004ff9062002624565b15620049a657565b60405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608490fd5b6040516001600160a01b03919091169162004a1982620003a4565b6020928383527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656484840152803b1562004a9a576000828192828762004a709796519301915af162004a6962001a49565b9062004adf565b8051908162004a7e57505050565b82620003f19362004a9493830101910162004987565b6200499e565b60405162461bcd60e51b815260048101859052601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b9091901562004aec575090565b815115620027745750805190602001fdfe6080604052346100a3576106f6803803809161001a826100be565b60803960408160800191126100a35761003161010c565b60a05191906001600160401b0383116100a35781609f840112156100a35782608001519261005e84610122565b9261006c60405194856100e9565b84845260a085830101116100a3576100949361008f9160a060208601910161013d565b610160565b6040516101f690816105008239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b6080601f91909101601f19168101906001600160401b038211908210176100e457604052565b6100a8565b601f909101601f19168101906001600160401b038211908210176100e457604052565b608051906001600160a01b03821682036100a357565b6001600160401b0381116100e457601f01601f191660200190565b60005b8381106101505750506000910152565b8181015183820152602001610140565b90813b156102c257604051635c60da1b60e01b8082526020939092916001600160a01b038216918582600481865afa918215610298576101ef926101af916000916102a5575b503b1515610340565b7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5080546001600160a01b0319166001600160a01b03909216919091179055565b60405192817f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e600080a282511580159061029d575b610230575b5050505050565b6004848693819382525afa9182156102985761025e93600093610269575b50506102586103a5565b916103fe565b503880808080610229565b610289929350803d10610291575b61028181836100e9565b810190610315565b90388061024e565b503d610277565b610334565b506000610224565b6102bc9150883d8a116102915761028181836100e9565b386101a6565b60405162461bcd60e51b815260206004820152602560248201527f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e6044820152641d1c9858dd60da1b6064820152608490fd5b908160209103126100a357516001600160a01b03811681036100a35790565b6040513d6000823e3d90fd5b1561034757565b60405162461bcd60e51b815260206004820152603060248201527f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206960448201526f1cc81b9bdd08184818dbdb9d1c9858dd60821b6064820152608490fd5b60405190606082016001600160401b038111838210176100e45760405260278252660819985a5b195960ca1b6040837f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208201520152565b9190823b15610451576000816104469460208394519201905af43d15610449573d9061042982610122565b9161043760405193846100e9565b82523d6000602084013e6104a5565b90565b6060906104a5565b60405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608490fd5b909190156104b1575090565b8151156104c15750805190602001fd5b6044604051809262461bcd60e51b8252602060048301526104f1815180928160248601526020868601910161013d565b601f01601f19168101030190fdfe608080604052366100c4577fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5054635c60da1b60e01b8252602090829060049082906001600160a01b03165afa9081156100b857600091610060575b5061015b565b6020903d82116100b0575b601f8201601f1916810167ffffffffffffffff81118282101761009c5761009693506040520161017a565b3861005a565b634e487b7160e01b84526041600452602484fd5b3d915061006b565b6040513d6000823e3d90fd5b7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5054604051635c60da1b60e01b815290602090829060049082906001600160a01b03165afa9081156100b85760009161011d575061015b565b60203d8111610154575b601f8101601f1916820167ffffffffffffffff81118382101761009c5761009693506040528101906101a1565b503d610127565b6000808092368280378136915af43d82803e15610176573d90f35b3d90fd5b602090607f19011261019c576080516001600160a01b038116810361019c5790565b600080fd5b9081602091031261019c57516001600160a01b038116810361019c579056fea2646970667358221220a928e3b00b7d19d8e2f067361e93c7712de3e243b0b8be428e9ac989960b767464736f6c63430008130033a26469706673582212200ab8408b24ad8ea6b955a8d00252b04da580f860c567cd433865e841fd49531564736f6c63430008130033",D=y=>y.length>1;class C extends b.ContractFactory{constructor(...e){D(e)?super(...e):super(h,F,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static bytecode=F;static abi=h;static createInterface(){return new b.Interface(h)}static connect(e,a){return new b.Contract(e,h,a)}}const g=[{inputs:[{internalType:"address",name:"tokenBridge_",type:"address"},{internalType:"address",name:"wethAddress",type:"address"},{internalType:"address",name:"feeRecipient_",type:"address"},{internalType:"address",name:"ownerAssistant_",type:"address"},{internalType:"bool",name:"unwrapWeth_",type:"bool"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldRecipient",type:"address"},{indexed:!0,internalType:"address",name:"newRecipient",type:"address"}],name:"FeeRecipientUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransfered",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"recipient",type:"address"},{indexed:!0,internalType:"address",name:"relayer",type:"address"},{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"tokenAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"nativeAmount",type:"uint256"}],name:"SwapExecuted",type:"event"},{anonymous:!1,inputs:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],indexed:!0,internalType:"struct TokenBridgeRelayerStructs.SwapRateUpdate[]",name:"swapRates",type:"tuple[]"}],name:"SwapRateUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint16",name:"emitterChainId",type:"uint16"},{indexed:!0,internalType:"bytes32",name:"emitterAddress",type:"bytes32"},{indexed:!0,internalType:"uint64",name:"sequence",type:"uint64"}],name:"TransferRedeemed",type:"event"},{inputs:[],name:"VERSION",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"WETH",outputs:[{internalType:"contract IWETH",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"calculateMaxSwapAmountIn",outputs:[{internalType:"uint256",name:"maxAllowed",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"toNativeAmount",type:"uint256"}],name:"calculateNativeSwapAmountOut",outputs:[{internalType:"uint256",name:"nativeAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"targetChainId",type:"uint16"},{internalType:"address",name:"token",type:"address"},{internalType:"uint8",name:"decimals",type:"uint8"}],name:"calculateRelayerFee",outputs:[{internalType:"uint256",name:"feeInTokenDenomination",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"chainId_",type:"uint16"}],name:"cancelOwnershipTransferRequest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"chainId",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"encodedTransferMessage",type:"bytes"}],name:"completeTransferWithRelay",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"confirmOwnershipTransferRequest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"encoded",type:"bytes"}],name:"decodeTransferWithRelay",outputs:[{components:[{internalType:"uint8",name:"payloadId",type:"uint8"},{internalType:"uint256",name:"targetRelayerFee",type:"uint256"},{internalType:"uint256",name:"toNativeTokenAmount",type:"uint256"},{internalType:"bytes32",name:"targetRecipient",type:"bytes32"}],internalType:"struct TokenBridgeRelayerStructs.TransferWithRelay",name:"transfer",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint8",name:"decimals",type:"uint8"}],name:"denormalizeAmount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint16",name:"chainId_",type:"uint16"},{internalType:"address",name:"token",type:"address"}],name:"deregisterToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint8",name:"payloadId",type:"uint8"},{internalType:"uint256",name:"targetRelayerFee",type:"uint256"},{internalType:"uint256",name:"toNativeTokenAmount",type:"uint256"},{internalType:"bytes32",name:"targetRecipient",type:"bytes32"}],internalType:"struct TokenBridgeRelayerStructs.TransferWithRelay",name:"transfer",type:"tuple"}],name:"encodeTransferWithRelay",outputs:[{internalType:"bytes",name:"encoded",type:"bytes"}],stateMutability:"pure",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"payload",type:"bytes"}],name:"fetchLocalAddressFromTransferMessage",outputs:[{internalType:"address",name:"localAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAcceptedTokensList",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getPaused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"emitterChainId",type:"uint16"}],name:"getRegisteredContract",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"isAcceptedToken",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"maxNativeSwapAmount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"nativeSwapRate",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint8",name:"decimals",type:"uint8"}],name:"normalizeAmount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"ownerAssistant",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pendingOwner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"chainId_",type:"uint16"},{internalType:"bytes32",name:"contractAddress",type:"bytes32"}],name:"registerContract",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"chainId_",type:"uint16"},{internalType:"address",name:"token",type:"address"}],name:"registerToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"chainId_",type:"uint16"}],name:"relayerFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"relayerFeePrecision",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"chainId_",type:"uint16"},{internalType:"bool",name:"paused",type:"bool"}],name:"setPauseForTransfers",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"chainId_",type:"uint16"},{internalType:"address",name:"newOwner",type:"address"}],name:"submitOwnershipTransferRequest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"swapRate",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"swapRatePrecision",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenBridge",outputs:[{internalType:"contract ITokenBridge",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"toNativeTokenAmount",type:"uint256"},{internalType:"uint16",name:"targetChain",type:"uint16"},{internalType:"bytes32",name:"targetRecipient",type:"bytes32"},{internalType:"uint32",name:"batchId",type:"uint32"}],name:"transferTokensWithRelay",outputs:[{internalType:"uint64",name:"messageSequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[],name:"unwrapWeth",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"chainId_",type:"uint16"},{internalType:"address",name:"newFeeRecipient",type:"address"}],name:"updateFeeRecipient",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"chainId_",type:"uint16"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"maxAmount",type:"uint256"}],name:"updateMaxNativeSwapAmount",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"chainId_",type:"uint16"},{internalType:"address",name:"newAssistant",type:"address"}],name:"updateOwnerAssistant",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"chainId_",type:"uint16"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"updateRelayerFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"chainId_",type:"uint16"},{internalType:"uint256",name:"relayerFeePrecision_",type:"uint256"}],name:"updateRelayerFeePrecision",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"chainId_",type:"uint16"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],internalType:"struct TokenBridgeRelayerStructs.SwapRateUpdate[]",name:"swapRateUpdate",type:"tuple[]"}],name:"updateSwapRate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"chainId_",type:"uint16"},{internalType:"uint256",name:"swapRatePrecision_",type:"uint256"}],name:"updateSwapRatePrecision",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"chainId_",type:"uint16"},{internalType:"bool",name:"unwrapWeth_",type:"bool"}],name:"updateUnwrapWethFlag",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"wormhole",outputs:[{internalType:"contract IWormhole",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"toNativeTokenAmount",type:"uint256"},{internalType:"uint16",name:"targetChain",type:"uint16"},{internalType:"bytes32",name:"targetRecipient",type:"bytes32"},{internalType:"uint32",name:"batchId",type:"uint32"}],name:"wrapAndTransferEthWithRelay",outputs:[{internalType:"uint64",name:"messageSequence",type:"uint64"}],stateMutability:"payable",type:"function"},{stateMutability:"payable",type:"receive"}],_="0x60806040523480156200001157600080fd5b50604051620049823803806200498283398101604081905262000034916200038c565b6001600f556001600160a01b038516620000955760405162461bcd60e51b815260206004820152601c60248201527f696e76616c696420746f6b656e2062726964676520616464726573730000000060448201526064015b60405180910390fd5b6001600160a01b038416620000ed5760405162461bcd60e51b815260206004820152601460248201527f696e76616c69642077657468206164647265737300000000000000000000000060448201526064016200008c565b6001600160a01b038316620001455760405162461bcd60e51b815260206004820152601560248201527f696e76616c69642066656520726563697069656e74000000000000000000000060448201526064016200008c565b6001600160a01b0382166200019d5760405162461bcd60e51b815260206004820152601760248201527f696e76616c6964206f776e657220617373697374616e7400000000000000000060448201526064016200008c565b600180546001600160a01b03191633179055600380546001600160a01b0319166001600160a01b038516179055600680546001600160a01b0319166001600160a01b03871617905560008054600160201b600160c01b0319166401000000006001600160a01b03871602179055600280546001600160a01b0319166001600160a01b0384161790556000805462ff0000191662010000831515021790556000859050620002c0816001600160a01b0316639a8a05926040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000282573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a8919062000410565b6000805461ffff191661ffff92909216919091179055565b6200034b816001600160a01b03166384acd1bb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000303573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200032991906200043d565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b620003596305f5e100600755565b620003676305f5e100600855565b5050505050506200045d565b6001600160a01b03811681146200038957600080fd5b50565b600080600080600060a08688031215620003a557600080fd5b8551620003b28162000373565b6020870151909550620003c58162000373565b6040870151909450620003d88162000373565b6060870151909350620003eb8162000373565b608087015190925080151581146200040257600080fd5b809150509295509295909350565b6000602082840312156200042357600080fd5b815161ffff811681146200043657600080fd5b9392505050565b6000602082840312156200045057600080fd5b8151620004368162000373565b614515806200046d6000396000f3fe6080604052600436106102815760003560e01c80636805b84b1161014f5780639fe089ad116100c1578063cd601c781161007a578063cd601c781461083b578063df160d761461085b578063e30c39781461087d578063ea1d2e4a1461089b578063ffa1ad74146108bb578063fff982a8146108ec57600080fd5b80639fe089ad1461076b578063a2f32c8f14610798578063ad5c4648146107b8578063b5419523146107dd578063c6328a46146107fd578063c9c22f9f1461081b57600080fd5b80638da5cb5b116101135780638da5cb5b146106ac5780638e151dd1146106ca57806390a1afaa146106ea57806394cc743d1461070a5780639a8a05921461072a5780639cf278cd1461074d57600080fd5b80636805b84b146105db57806368aa9ef4146105fa5780637c9dec7a146106185780638335572f1461066e57806384acd1bb1461068e57600080fd5b80632def3e16116101f3578063415828bf116101ac578063415828bf14610517578063469048401461052c57806351e2d7b51461054a5780635b9cf0e11461056a578063640d946b1461058a57806366775a6b146105aa57600080fd5b80632def3e16146104145780632efe4f42146104345780632f25e25f1461046a57806339ba66111461047d5780633b6e750f1461049d5780633d62cca0146104e657600080fd5b8063203c509511610245578063203c50951461033357806327105ab91461035357806328ded8e31461037357806329ac8361146103935780632ca8008c146103a65780632d77e8fe146103dc57600080fd5b8063016aa2051461028d578063038c0b66146102af5780631019d654146102c45780631a282195146102f45780631acdab4b1461031457600080fd5b3661028857005b600080fd5b34801561029957600080fd5b506102ad6102a83660046137da565b61090c565b005b3480156102bb57600080fd5b506102ad6109d6565b6102d76102d2366004613825565b610ac3565b6040516001600160401b0390911681526020015b60405180910390f35b34801561030057600080fd5b506102ad61030f36600461389a565b610c63565b34801561032057600080fd5b506007545b6040519081526020016102eb565b34801561033f57600080fd5b506102ad61034e3660046137da565b610cec565b34801561035f57600080fd5b5061032561036e3660046138d7565b610e36565b34801561037f57600080fd5b5061032561038e3660046138d7565b610e70565b6102d76103a13660046138fc565b610e9e565b3480156103b257600080fd5b506103256103c1366004613946565b6001600160a01b03166000908152600a602052604090205490565b3480156103e857600080fd5b506103fc6103f7366004613a3e565b61113c565b6040516001600160a01b0390911681526020016102eb565b34801561042057600080fd5b506102ad61042f366004613abd565b61125c565b34801561044057600080fd5b5061032561044f366004613946565b6001600160a01b03166000908152600b602052604090205490565b6102ad610478366004613ae9565b61131a565b34801561048957600080fd5b50610325610498366004613b5a565b611647565b3480156104a957600080fd5b506104d66104b8366004613946565b6001600160a01b03166000908152600d602052604090205460ff1690565b60405190151581526020016102eb565b3480156104f257600080fd5b50610325610501366004613ba5565b61ffff1660009081526009602052604090205490565b34801561052357600080fd5b50600854610325565b34801561053857600080fd5b506003546001600160a01b03166103fc565b34801561055657600080fd5b506102ad610565366004613abd565b6116fa565b34801561057657600080fd5b506102ad610585366004613abd565b611824565b34801561059657600080fd5b506102ad6105a5366004613bc2565b61193f565b3480156105b657600080fd5b506103256105c5366004613ba5565b61ffff166000908152600c602052604090205490565b3480156105e757600080fd5b506000546301000000900460ff166104d6565b34801561060657600080fd5b506002546001600160a01b03166103fc565b34801561062457600080fd5b50610638610633366004613a3e565b611b83565b6040516102eb9190815160ff16815260208083015190820152604080830151908201526060918201519181019190915260800190565b34801561067a57600080fd5b506102ad61068936600461389a565b611cb4565b34801561069a57600080fd5b506005546001600160a01b03166103fc565b3480156106b857600080fd5b506001546001600160a01b03166103fc565b3480156106d657600080fd5b506103256106e5366004613c49565b611d3b565b3480156106f657600080fd5b506102ad610705366004613abd565b611e1b565b34801561071657600080fd5b506102ad6107253660046137da565b611ed9565b34801561073657600080fd5b5060005460405161ffff90911681526020016102eb565b34801561075957600080fd5b5060005462010000900460ff166104d6565b34801561077757600080fd5b5061078b610786366004613c67565b611fa5565b6040516102eb9190613d25565b3480156107a457600080fd5b506102ad6107b3366004613ba5565b612050565b3480156107c457600080fd5b50600054600160201b90046001600160a01b03166103fc565b3480156107e957600080fd5b506103256107f8366004613946565b6120c7565b34801561080957600080fd5b506006546001600160a01b03166103fc565b34801561082757600080fd5b506102ad6108363660046137da565b612161565b34801561084757600080fd5b50610325610856366004613946565b61221d565b34801561086757600080fd5b50610870612302565b6040516102eb9190613d38565b34801561088957600080fd5b506004546001600160a01b03166103fc565b3480156108a757600080fd5b506102ad6108b63660046137da565b612367565b3480156108c757600080fd5b5061078b604051806040016040528060058152602001640302e322e360dc1b81525081565b3480156108f857600080fd5b506102ad610907366004613d85565b612456565b3361091f6001546001600160a01b031690565b6001600160a01b03161461094e5760405162461bcd60e51b815260040161094590613dc6565b60405180910390fd5b818061ffff1661096160005461ffff1690565b61ffff16146109825760405162461bcd60e51b815260040161094590613df4565b6001600160a01b0382166109c85760405162461bcd60e51b815260206004820152600d60248201526c34b73b30b634b2103a37b5b2b760991b6044820152606401610945565b6109d18261251d565b505050565b60006109ea6004546001600160a01b031690565b9050336001600160a01b03821614610a445760405162461bcd60e51b815260206004820152601b60248201527f63616c6c6572206d7573742062652070656e64696e674f776e657200000000006044820152606401610945565b6000610a586001546001600160a01b031690565b600180546001600160a01b0319166001600160a01b0385161790559050610a7f60006126c2565b816001600160a01b0316816001600160a01b03167f0d18b5fd22306e373229b9439188228edca81207d1667f604daf6cef8aa3ee6760405160405180910390a35050565b6000610acd6126e4565b6000546301000000900460ff1615610b1b5760405162461bcd60e51b81526020600482015260116024820152701c995b185e595c881a5cc81c185d5cd959607a1b6044820152606401610945565b6000610b2f6005546001600160a01b031690565b6001600160a01b0316631a90a2196040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b909190613e19565b9050803414610bd65760405162461bcd60e51b8152602060048201526012602482015271696e73756666696369656e742076616c756560701b6044820152606401610945565b6000610be18961273d565b9050610bf6610bf08983610e36565b82610e70565b9750610c0289896127df565b9750610c4b6040518060c001604052808b6001600160a01b031681526020018360ff1681526020018a81526020018981526020018861ffff168152602001878152508584612815565b92505050610c596001600f55565b9695505050505050565b33610c766001546001600160a01b031690565b6001600160a01b031614610c9c5760405162461bcd60e51b815260040161094590613dc6565b818061ffff16610caf60005461ffff1690565b61ffff1614610cd05760405162461bcd60e51b815260040161094590613df4565b6000805463ff0000001916630100000084151502179055505050565b33610cff6001546001600160a01b031690565b6001600160a01b031614610d255760405162461bcd60e51b815260040161094590613dc6565b818061ffff16610d3860005461ffff1690565b61ffff1614610d595760405162461bcd60e51b815260040161094590613df4565b6001600160a01b038216610dbf5760405162461bcd60e51b815260206004820152602760248201527f6e6577466565526563697069656e742063616e6e6f7420657175616c206164646044820152667265737328302960c81b6064820152608401610945565b6000610dd36003546001600160a01b031690565b600380546001600160a01b0319166001600160a01b0386161790559050826001600160a01b0316816001600160a01b03167faaebcf1bfa00580e41d966056b48521fa9f202645c86d4ddf28113e617c1b1d360405160405180910390a350505050565b600060088260ff161115610e6757610e4f600883613e48565b610e5a90600a613f45565b610e649084613f54565b92505b50815b92915050565b600060088260ff161115610e6757610e89600883613e48565b610e9490600a613f45565b610e649084613f76565b600080546301000000900460ff1615610eed5760405162461bcd60e51b81526020600482015260116024820152701c995b185e595c881a5cc81c185d5cd959607a1b6044820152606401610945565b60005462010000900460ff16610f455760405162461bcd60e51b815260206004820181905260248201527f574554482066756e6374696f6e616c697479206e6f7420737570706f727465646044820152606401610945565b6000610f596005546001600160a01b031690565b6001600160a01b0316631a90a2196040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fba9190613e19565b90508034116110005760405162461bcd60e51b8152602060048201526012602482015271696e73756666696369656e742076616c756560701b6044820152606401610945565b600061100c8234613f8d565b9050600061102561101e836012610e36565b6012610e70565b61102f9083613f8d565b9050801561106657604051339082156108fc029083906000818181858888f19350505050158015611064573d6000803e3d6000fd5b505b60006110728284613f8d565b905060006110906000546001600160a01b03600160201b9091041690565b9050806001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004016000604051808303818588803b1580156110cd57600080fd5b505af11580156110e1573d6000803e3d6000fd5b505050505061112e6040518060c00160405280836001600160a01b03168152602001601260ff1681526020018481526020018c81526020018b61ffff1681526020018a8152508887612815565b9a9950505050505050505050565b60008061114a836021612b3d565b90506000611159846041612b9b565b905061116860005461ffff1690565b61ffff168161ffff1614611249576006546001600160a01b0316604051630ff8f14360e11b815261ffff83166004820152602481018490526001600160a01b039190911690631ff1e28690604401602060405180830381865afa1580156111d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f79190613fa0565b92506001600160a01b0383166112445760405162461bcd60e51b81526020600482015260126024820152711d1bdad95b881b9bdd08185d1d195cdd195960721b6044820152606401610945565b611255565b61125282612bf8565b92505b5050919050565b3361126f6001546001600160a01b031690565b6001600160a01b0316146112955760405162461bcd60e51b815260040161094590613dc6565b818061ffff166112a860005461ffff1690565b61ffff16146112c95760405162461bcd60e51b815260040161094590613df4565b600082116113115760405162461bcd60e51b81526020600482015260156024820152740707265636973696f6e206d757374206265203e203605c1b6044820152606401610945565b6109d182600755565b600080600061135e85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612c4c92505050565b925092509250600061136f84611b83565b905060006113808260600151612bf8565b9050600061139760005460ff620100009091041690565b90506001600160a01b03821633036113bf576113b584838784612f41565b5050505050505050565b60006113ca8561273d565b90506113da846020015182610e70565b6020850152600054600160201b90046001600160a01b03166001600160a01b0316856001600160a01b0316036114255761141a868486602001518561306b565b505050505050505050565b6040840151156115ed5761143d846040015182610e70565b6040850152600061144d8661221d565b9050808560400151111561146357604085018190525b6000611473878760400151611d3b565b905080156115af57803410156114cb5760405162461bcd60e51b815260206004820181905260248201527f696e73756666696369656e74206e617469766520617373657420616d6f756e746044820152606401610945565b60006114d78234613f8d565b9050801561150e57604051339082156108fc029083906000818181858888f1935050505015801561150c573d6000803e3d6000fd5b505b6040516001600160a01b0387169083156108fc029084906000818181858888f19350505050158015611544573d6000803e3d6000fd5b50876001600160a01b0316336001600160a01b0316876001600160a01b03167f764f0dc063c06f32d89a3f3af80c0db4be8a090901f589a478b447e0a51f09f18a60400151866040516115a1929190918252602082015260400190565b60405180910390a4506115ea565b6000604087015234156115ea5760405133903480156108fc02916000818181858888f193505050501580156115e8573d6000803e3d6000fd5b505b50505b6000846040015185602001516116039190613fbd565b9050801561162757611627866116216003546001600160a01b031690565b836131e1565b61163b8685611636848b613f8d565b6131e1565b50505050505050505050565b6001600160a01b0382166000908152600a6020526040812054806000036116a45760405162461bcd60e51b81526020600482015260116024820152701cddd85c081c985d19481b9bdd081cd95d607a1b6044820152606401610945565b6008546116b19082613f76565b60075461ffff87166000908152600c60205260409020546116d386600a613f45565b6116dd9190613f76565b6116e79190613f76565b6116f19190613f54565b95945050505050565b3361170d6001546001600160a01b031690565b6001600160a01b0316146117335760405162461bcd60e51b815260040161094590613dc6565b806117905760405162461bcd60e51b815260206004820152602760248201527f636f6e7472616374416464726573732063616e6e6f7420657175616c206279746044820152666573333228302960c81b6064820152608401610945565b61ffff8216158015906117ac575060005461ffff838116911614155b6118085760405162461bcd60e51b815260206004820152602760248201527f636861696e49645f2063616e6e6f7420657175616c2030206f7220746869732060448201526618da185a5b925960ca1b6064820152608401610945565b61ffff91909116600090815260096020526040902055565b5050565b336118376001546001600160a01b031690565b6001600160a01b0316148061186557503361185a6002546001600160a01b031690565b6001600160a01b0316145b6118815760405162461bcd60e51b815260040161094590613fd0565b60005461ffff1661ffff168261ffff16036118ce5760405162461bcd60e51b815260206004820152600d60248201526c34b73b30b634b21031b430b4b760991b6044820152606401610945565b61ffff82166000908152600960205260409020546119275760405162461bcd60e51b815260206004820152601660248201527518dbdb9d1c9858dd08191bd95cdb89dd08195e1a5cdd60521b6044820152606401610945565b61ffff919091166000908152600c6020526040902055565b336119526001546001600160a01b031690565b6001600160a01b031614806119805750336119756002546001600160a01b031690565b6001600160a01b0316145b61199c5760405162461bcd60e51b815260040161094590613fd0565b828061ffff166119af60005461ffff1690565b61ffff16146119d05760405162461bcd60e51b815260040161094590613df4565b8180611a135760405162461bcd60e51b8152602060048201526012602482015271696e76616c69642061727261792073697a6560701b6044820152606401610945565b60005b81811015611b3b57611a49858583818110611a3357611a33614011565b6104b89260206040909202019081019150613946565b611a655760405162461bcd60e51b815260040161094590614027565b6000858583818110611a7957611a79614011565b9050604002016020013511611ad05760405162461bcd60e51b815260206004820152601960248201527f737761702072617465206d757374206265206e6f6e7a65726f000000000000006044820152606401610945565b611b33858583818110611ae557611ae5614011565b611afb9260206040909202019081019150613946565b868684818110611b0d57611b0d614011565b905060400201602001356001600160a01b039091166000908152600a6020526040902055565b600101611a16565b508383604051611b4c929190614053565b604051908190038120907f7abf49a6ebb116bc314846377cd82a3d2c8c1ea48149a652356009fc37100dd790600090a25050505050565b604080516080810182526000808252602082018190529181018290526060810182905290611bb18382613244565b60ff168252611bc1600182613fbd565b9050816000015160ff16600114611c0e5760405162461bcd60e51b81526020600482015260116024820152701a5b9d985b1a59081c185e5b1bd8591259607a1b6044820152606401610945565b611c1883826132a0565b602080840191909152611c2b9082613fbd565b9050611c3783826132a0565b6040830152611c47602082613fbd565b9050611c538382612b3d565b6060830152611c63602082613fbd565b905082518114611cae5760405162461bcd60e51b81526020600482015260166024820152750d2dcecc2d8d2c840dacae6e6c2ceca40d8cadccee8d60531b6044820152606401610945565b50919050565b33611cc76001546001600160a01b031690565b6001600160a01b031614611ced5760405162461bcd60e51b815260040161094590613dc6565b818061ffff16611d0060005461ffff1690565b61ffff1614611d215760405162461bcd60e51b815260040161094590613df4565b6000805462ff000019166201000084151502179055505050565b600080611d478461273d565b90506000611d6d611d686000546001600160a01b03600160201b9091041690565b61273d565b90508060ff168260ff161115611dca57611d878183613e48565b611d9290600a613f45565b611d9b866120c7565b611da59190613f76565b84611daf60075490565b611db99190613f76565b611dc39190613f54565b9250611e13565b611dd3856120c7565b611ddd8383613e48565b611de890600a613f45565b85611df260075490565b611dfc9190613f76565b611e069190613f76565b611e109190613f54565b92505b505092915050565b33611e2e6001546001600160a01b031690565b6001600160a01b031614611e545760405162461bcd60e51b815260040161094590613dc6565b818061ffff16611e6760005461ffff1690565b61ffff1614611e885760405162461bcd60e51b815260040161094590613df4565b60008211611ed05760405162461bcd60e51b81526020600482015260156024820152740707265636973696f6e206d757374206265203e203605c1b6044820152606401610945565b6109d182600855565b33611eec6001546001600160a01b031690565b6001600160a01b031614611f125760405162461bcd60e51b815260040161094590613dc6565b818061ffff16611f2560005461ffff1690565b61ffff1614611f465760405162461bcd60e51b815260040161094590613df4565b6001600160a01b038216611f9c5760405162461bcd60e51b815260206004820181905260248201527f6e65774f776e65722063616e6e6f7420657175616c20616464726573732830296044820152606401610945565b6109d1826126c2565b6060816000015160ff16600114611ff25760405162461bcd60e51b81526020600482015260116024820152701a5b9d985b1a59081c185e5b1bd8591259607a1b6044820152606401610945565b81516020808401516040808601516060870151915161203a95949192910160f89490941b6001600160f81b031916845260018401929092526021830152604182015260610190565b6040516020818303038152906040529050919050565b336120636001546001600160a01b031690565b6001600160a01b0316146120895760405162461bcd60e51b815260040161094590613dc6565b808061ffff1661209c60005461ffff1690565b61ffff16146120bd5760405162461bcd60e51b815260040161094590613df4565b61182060006126c2565b600080546001600160a01b03600160201b90910481168252600a60205260408083205491841683528220546000821180156121025750600081115b6121425760405162461bcd60e51b81526020600482015260116024820152701cddd85c081c985d19481b9bdd081cd95d607a1b6044820152606401610945565b808261214d60075490565b6121579190613f76565b6112529190613f54565b336121746001546001600160a01b031690565b6001600160a01b03161461219a5760405162461bcd60e51b815260040161094590613dc6565b818061ffff166121ad60005461ffff1690565b61ffff16146121ce5760405162461bcd60e51b815260040161094590613df4565b6001600160a01b0382166122145760405162461bcd60e51b815260206004820152600d60248201526c34b73b30b634b2103a37b5b2b760991b6044820152606401610945565b6109d1826132f5565b6000806122298361273d565b9050600061224a611d686000546001600160a01b03600160201b9091041690565b90508060ff168260ff1611156122b9576007546122678284613e48565b61227290600a613f45565b61227b866120c7565b6001600160a01b0387166000908152600b602052604090205461229e9190613f76565b6122a89190613f76565b6122b29190613f54565b9250611255565b6007546122c68383613e48565b6122d190600a613f45565b6122db9190613f76565b6122e4856120c7565b6001600160a01b0386166000908152600b602052604090205461214d565b60606000600e0180548060200260200160405190810160405280929190818152602001828054801561235d57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161233f575b5050505050905090565b3361237a6001546001600160a01b031690565b6001600160a01b0316146123a05760405162461bcd60e51b815260040161094590613dc6565b818061ffff166123b360005461ffff1690565b61ffff16146123d45760405162461bcd60e51b815260040161094590613df4565b6001600160a01b0382166124365760405162461bcd60e51b8152602060048201526024808201527f6e6577417373697374616e742063616e6e6f7420657175616c206164647265736044820152637328302960e01b6064820152608401610945565b600280546001600160a01b0319166001600160a01b038416179055505050565b336124696001546001600160a01b031690565b6001600160a01b03161461248f5760405162461bcd60e51b815260040161094590613dc6565b828061ffff166124a260005461ffff1690565b61ffff16146124c35760405162461bcd60e51b815260040161094590613df4565b6001600160a01b0383166000908152600d602052604090205460ff166124fb5760405162461bcd60e51b815260040161094590614027565b6001600160a01b0383166000908152600b602052604090208290555b50505050565b6001600160a01b0381166000908152600d602052604090205460ff1661257c5760405162461bcd60e51b81526020600482015260146024820152731d1bdad95b881b9bdd081c9959da5cdd195c995960621b6044820152606401610945565b6001600160a01b0381166000908152600d60209081526040808320805460ff19169055600a8252808320839055600b9091528120819055600e54905b8181101561260257826001600160a01b03166000600e0182815481106125e0576125e0614011565b6000918252602090912001546001600160a01b031614612602576001016125b8565b8181146109d157600182111561268a57600e61261f600184613f8d565b8154811061262f5761262f614011565b600091825260209091200154600e80546001600160a01b03909216918390811061265b5761265b614011565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b600e80548061269b5761269b61409e565b600082815260209020810160001990810180546001600160a01b0319169055019055505050565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6002600f54036127365760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610945565b6002600f55565b60408051600481526024810182526020810180516001600160e01b031663313ce56760e01b179052905160009182916001600160a01b03851691612780916140b4565b600060405180830381855afa9150503d80600081146127bb576040519150601f19603f3d011682016040523d82523d6000602084013e6127c0565b606091505b50915050808060200190518101906127d891906140e0565b9392505050565b6000806127eb846133c4565b90506127f984333086613470565b80612803856133c4565b61280d9190613f8d565b949350505050565b82516001600160a01b03166000908152600d602052604081205460ff1661284e5760405162461bcd60e51b815260040161094590614027565b60a08401516128ab5760405162461bcd60e51b8152602060048201526024808201527f746172676574526563697069656e742063616e6e6f74206265206279746573336044820152633228302960e01b6064820152608401610945565b60006128bf85604001518660200151610e36565b9050600081116129115760405162461bcd60e51b815260206004820152601d60248201527f6e6f726d616c697a656420616d6f756e74206d757374206265203e20300000006044820152606401610945565b600061292586606001518760200151610e36565b905085606001516000148061293a5750600081115b6129865760405162461bcd60e51b815260206004820152601b60248201527f696e76616c696420746f4e6174697665546f6b656e416d6f756e7400000000006044820152606401610945565b608086015161ffff16600090815260096020526040902054806129e35760405162461bcd60e51b81526020600482015260156024820152741d185c99d95d081b9bdd081c9959da5cdd195c9959605a1b6044820152606401610945565b6000612a096129ff89608001518a600001518b60200151611647565b8960200151610e36565b9050612a158382613fbd565b8411612a595760405162461bcd60e51b81526020600482015260136024820152721a5b9cdd59999a58da595b9d08185b5bdd5b9d606a1b6044820152606401610945565b6000612a8c6040518060800160405280600160ff1681526020018481526020018681526020018b60a00151815250611fa5565b90506000612aa26006546001600160a01b031690565b9050612ab78a60000151828c604001516134a8565b806001600160a01b031663c5a5ebda898c600001518d604001518e60800151898f896040518863ffffffff1660e01b8152600401612afa969594939291906140fd565b60206040518083038185885af1158015612b18573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061112e9190614163565b6000612b4a826020613fbd565b83511015612b925760405162461bcd60e51b8152602060048201526015602482015274746f427974657333325f6f75744f66426f756e647360581b6044820152606401610945565b50016020015190565b6000612ba8826002613fbd565b83511015612bef5760405162461bcd60e51b8152602060048201526014602482015273746f55696e7431365f6f75744f66426f756e647360601b6044820152606401610945565b50016002015190565b60006001600160a01b0319821615612c485760405162461bcd60e51b8152602060048201526013602482015272696e76616c69642045564d206164647265737360681b6044820152606401610945565b5090565b60606000806000612c656005546001600160a01b031690565b6001600160a01b031663a9e11893866040518263ffffffff1660e01b8152600401612c909190613d25565b600060405180830381865afa158015612cad573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612cd591908101906142a2565b90506000612ce68260e0015161113c565b9050612d0a816001600160a01b03166000908152600d602052604090205460ff1690565b612d4d5760405162461bcd60e51b81526020600482015260146024820152731d1bdad95b881b9bdd081c9959da5cdd195c995960621b6044820152606401610945565b6000612d58826133c4565b90506000612d6e6006546001600160a01b031690565b90506000816001600160a01b031663c3f511c18a6040518263ffffffff1660e01b8152600401612d9e9190613d25565b6000604051808303816000875af1158015612dbd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612de591908101906143c6565b9050600083612df3866133c4565b612dfd9190613f8d565b90506000836001600160a01b031663ea63738d846040518263ffffffff1660e01b8152600401612e2d9190613d25565b600060405180830381865afa158015612e4a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612e7291908101906143fa565b9050612e92876060015161ffff1660009081526009602052604090205490565b8160c0015114612ee45760405162461bcd60e51b815260206004820152601760248201527f636f6e7472616374206e6f7420726567697374657265640000000000000000006044820152606401610945565b8660a001516001600160401b03168760800151886060015161ffff167fcaf280c8cfeba144da67230d9b009c8f868a75bac9a528fa0474be1ba317c16960405160405180910390a460e001519a9099509397509295505050505050565b3415612f9b5760405162461bcd60e51b815260206004820152602360248201527f726563697069656e742063616e6e6f742073776170206e61746976652061737360448201526265747360e81b6064820152608401610945565b6000546001600160a01b03600160201b909104811690851681148015612fbe5750815b1561305957604051632e1a7d4d60e01b8152600481018490526001600160a01b03821690632e1a7d4d90602401600060405180830381600087803b15801561300557600080fd5b505af1158015613019573d6000803e3d6000fd5b50506040516001600160a01b038716925085156108fc02915085906000818181858888f19350505050158015613053573d6000803e3d6000fd5b50613064565b6130648585856131e1565b5050505050565b34156130ae5760405162461bcd60e51b815260206004820152601260248201527176616c7565206d757374206265207a65726f60701b6044820152606401610945565b80156131a157600054604051632e1a7d4d60e01b815260048101869052600160201b9091046001600160a01b031690632e1a7d4d90602401600060405180830381600087803b15801561310057600080fd5b505af1158015613114573d6000803e3d6000fd5b50505050826001600160a01b03166108fc83866131319190613f8d565b6040518115909202916000818181858888f19350505050158015613159573d6000803e3d6000fd5b50811561319c576003546040516001600160a01b039091169083156108fc029084906000818181858888f1935050505015801561319a573d6000803e3d6000fd5b505b612517565b600054600160201b90046001600160a01b03166131c381856116368689613f8d565b821561306457613064816131df6003546001600160a01b031690565b855b6040516001600160a01b0383166024820152604481018290526109d190849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526135bd565b6000613251826001613fbd565b835110156132975760405162461bcd60e51b8152602060048201526013602482015272746f55696e74385f6f75744f66426f756e647360681b6044820152606401610945565b50016001015190565b60006132ad826020613fbd565b83511015612b925760405162461bcd60e51b8152602060048201526015602482015274746f55696e743235365f6f75744f66426f756e647360581b6044820152606401610945565b6001600160a01b0381166000908152600d602052604090205460ff161561335e5760405162461bcd60e51b815260206004820152601860248201527f746f6b656e20616c7265616479207265676973746572656400000000000000006044820152606401610945565b6001600160a01b03166000818152600d60205260408120805460ff19166001908117909155600e805491820181559091527fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0180546001600160a01b0319169091179055565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b179052905160009182916001600160a01b03851691613418916140b4565b600060405180830381855afa9150503d8060008114613453576040519150601f19603f3d011682016040523d82523d6000602084013e613458565b606091505b50915050808060200190518101906127d89190613e19565b6040516001600160a01b03808516602483015283166044820152606481018290526125179085906323b872dd60e01b9060840161320d565b8015806135225750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa1580156134fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135209190613e19565b155b61358d5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b6064820152608401610945565b6040516001600160a01b0383166024820152604481018290526109d190849063095ea7b360e01b9060640161320d565b6000613612826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661368f9092919063ffffffff16565b8051909150156109d1578080602001905181019061363091906144c2565b6109d15760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610945565b606061280d848460008585600080866001600160a01b031685876040516136b691906140b4565b60006040518083038185875af1925050503d80600081146136f3576040519150601f19603f3d011682016040523d82523d6000602084013e6136f8565b606091505b509150915061370987838387613714565b979650505050505050565b6060831561378357825160000361377c576001600160a01b0385163b61377c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610945565b508161280d565b61280d83838151156137985781518083602001fd5b8060405162461bcd60e51b81526004016109459190613d25565b61ffff811681146137c257600080fd5b50565b6001600160a01b03811681146137c257600080fd5b600080604083850312156137ed57600080fd5b82356137f8816137b2565b91506020830135613808816137c5565b809150509250929050565b63ffffffff811681146137c257600080fd5b60008060008060008060c0878903121561383e57600080fd5b8635613849816137c5565b955060208701359450604087013593506060870135613867816137b2565b92506080870135915060a087013561387e81613813565b809150509295509295509295565b80151581146137c257600080fd5b600080604083850312156138ad57600080fd5b82356138b8816137b2565b915060208301356138088161388c565b60ff811681146137c257600080fd5b600080604083850312156138ea57600080fd5b823591506020830135613808816138c8565b6000806000806080858703121561391257600080fd5b843593506020850135613924816137b2565b925060408501359150606085013561393b81613813565b939692955090935050565b60006020828403121561395857600080fd5b81356127d8816137c5565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b038111828210171561399b5761399b613963565b60405290565b60405161016081016001600160401b038111828210171561399b5761399b613963565b60405161010081016001600160401b038111828210171561399b5761399b613963565b604051601f8201601f191681016001600160401b0381118282101715613a0f57613a0f613963565b604052919050565b60006001600160401b03821115613a3057613a30613963565b50601f01601f191660200190565b600060208284031215613a5057600080fd5b81356001600160401b03811115613a6657600080fd5b8201601f81018413613a7757600080fd5b8035613a8a613a8582613a17565b6139e7565b818152856020838501011115613a9f57600080fd5b81602084016020830137600091810160200191909152949350505050565b60008060408385031215613ad057600080fd5b8235613adb816137b2565b946020939093013593505050565b60008060208385031215613afc57600080fd5b82356001600160401b0380821115613b1357600080fd5b818501915085601f830112613b2757600080fd5b813581811115613b3657600080fd5b866020828501011115613b4857600080fd5b60209290920196919550909350505050565b600080600060608486031215613b6f57600080fd5b8335613b7a816137b2565b92506020840135613b8a816137c5565b91506040840135613b9a816138c8565b809150509250925092565b600060208284031215613bb757600080fd5b81356127d8816137b2565b600080600060408486031215613bd757600080fd5b8335613be2816137b2565b925060208401356001600160401b0380821115613bfe57600080fd5b818601915086601f830112613c1257600080fd5b813581811115613c2157600080fd5b8760208260061b8501011115613c3657600080fd5b6020830194508093505050509250925092565b60008060408385031215613c5c57600080fd5b8235613adb816137c5565b600060808284031215613c7957600080fd5b604051608081018181106001600160401b0382111715613c9b57613c9b613963565b6040528235613ca9816138c8565b808252506020830135602082015260408301356040820152606083013560608201528091505092915050565b60005b83811015613cf0578181015183820152602001613cd8565b50506000910152565b60008151808452613d11816020860160208601613cd5565b601f01601f19169290920160200192915050565b6020815260006127d86020830184613cf9565b6020808252825182820181905260009190848201906040850190845b81811015613d795783516001600160a01b031683529284019291840191600101613d54565b50909695505050505050565b600080600060608486031215613d9a57600080fd5b8335613da5816137b2565b92506020840135613db5816137c5565b929592945050506040919091013590565b60208082526014908201527331b0b63632b9103737ba103a34329037bbb732b960611b604082015260600190565b6020808252600b908201526a3bb937b7339031b430b4b760a91b604082015260600190565b600060208284031215613e2b57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b60ff8281168282160390811115610e6a57610e6a613e32565b600181815b80851115613e9c578160001904821115613e8257613e82613e32565b80851615613e8f57918102915b93841c9390800290613e66565b509250929050565b600082613eb357506001610e6a565b81613ec057506000610e6a565b8160018114613ed65760028114613ee057613efc565b6001915050610e6a565b60ff841115613ef157613ef1613e32565b50506001821b610e6a565b5060208310610133831016604e8410600b8410161715613f1f575081810a610e6a565b613f298383613e61565b8060001904821115613f3d57613f3d613e32565b029392505050565b60006127d860ff841683613ea4565b600082613f7157634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610e6a57610e6a613e32565b81810381811115610e6a57610e6a613e32565b600060208284031215613fb257600080fd5b81516127d8816137c5565b80820180821115610e6a57610e6a613e32565b60208082526021908201527f63616c6c6572206e6f7420746865206f776e6572206f7220617373697374616e6040820152601d60fa1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b6020808252601290820152711d1bdad95b881b9bdd081858d8d95c1d195960721b604082015260600190565b60008184825b8581101561409357813561406c816137c5565b6001600160a01b031683526020828101359084015260409283019290910190600101614059565b509095945050505050565b634e487b7160e01b600052603160045260246000fd5b600082516140c6818460208701613cd5565b9190910192915050565b80516140db816138c8565b919050565b6000602082840312156140f257600080fd5b81516127d8816138c8565b60018060a01b038716815285602082015261ffff8516604082015283606082015263ffffffff8316608082015260c060a0820152600061414060c0830184613cf9565b98975050505050505050565b80516001600160401b03811681146140db57600080fd5b60006020828403121561417557600080fd5b6127d88261414c565b80516140db81613813565b80516140db816137b2565b600082601f8301126141a557600080fd5b81516141b3613a8582613a17565b8181528460208386010111156141c857600080fd5b61280d826020830160208701613cd5565b600082601f8301126141ea57600080fd5b815160206001600160401b0382111561420557614205613963565b614213818360051b016139e7565b82815260079290921b8401810191818101908684111561423257600080fd5b8286015b84811015614297576080818903121561424f5760008081fd5b614257613979565b815181528482015185820152604080830151614272816138c8565b90820152606082810151614285816138c8565b90820152835291830191608001614236565b509695505050505050565b6000602082840312156142b457600080fd5b81516001600160401b03808211156142cb57600080fd5b9083019061016082860312156142e057600080fd5b6142e86139a1565b6142f1836140d0565b81526142ff6020840161417e565b60208201526143106040840161417e565b604082015261432160608401614189565b60608201526080830151608082015261433c60a0840161414c565b60a082015261434d60c084016140d0565b60c082015260e08301518281111561436457600080fd5b61437087828601614194565b60e08301525061010061438481850161417e565b90820152610120838101518381111561439c57600080fd5b6143a8888287016141d9565b91830191909152506101409283015192810192909252509392505050565b6000602082840312156143d857600080fd5b81516001600160401b038111156143ee57600080fd5b61280d84828501614194565b60006020828403121561440c57600080fd5b81516001600160401b038082111561442357600080fd5b90830190610100828603121561443857600080fd5b6144406139c4565b614449836140d0565b8152602083015160208201526040830151604082015261446b60608401614189565b60608201526080830151608082015261448660a08401614189565b60a082015260c083015160c082015260e0830151828111156144a757600080fd5b6144b387828601614194565b60e08301525095945050505050565b6000602082840312156144d457600080fd5b81516127d88161388c56fea26469706673582212204380a2c16f3d3a94e16ceec8dd417389a415486e9286774f1ba51d1e17ea374064736f6c63430008110033",O=y=>y.length>1;class P extends b.ContractFactory{constructor(...e){O(e)?super(...e):super(g,_,e[0])}getDeployTransaction(e,a,t,n,f,d){return super.getDeployTransaction(e,a,t,n,f,d||{})}deploy(e,a,t,n,f,d){return super.deploy(e,a,t,n,f,d||{})}connect(e){return super.connect(e)}static bytecode=_;static abi=g;static createInterface(){return new b.Interface(g)}static connect(e,a){return new b.Contract(e,g,a)}}const V=Object.freeze(Object.defineProperty({__proto__:null,Bridge__factory:C,TokenBridgeRelayer__factory:P},Symbol.toStringTag,{value:"Module"}));b.registerProtocol(b._platform,"TokenBridge",w);b.registerProtocol(b._platform,"AutomaticTokenBridge",A);b.registerProtocol(b._platform,"ExecutorTokenBridge",k);exports.EvmAutomaticTokenBridge=A;exports.EvmExecutorTokenBridge=k;exports.EvmTokenBridge=w;exports.ethers_contracts=V;
@@ -1,6 +1,6 @@
1
- import { ag as D, aD as x, aE as ne, aF as Q, aG as N, aH as S, aI as E, k as m, aJ as y, G as _, e as v, h as B, aK as se, aL as oe, aM as F, aN as ae, f as R, H as Y, aO as ie, aP as P, aQ as ce, aR as de, m as X, aS as le, aT as ge, aU as ue, aV as K } from "./unsignedTransaction-DCDxTFq8.mjs";
2
- import "./index-zIzzPp6D.mjs";
3
- import { l as fe, di as M, ai as H, L as he, ah as I, i as b, N as pe, t as q, ap as we, at as V, ar as ye, m as $, an as me, ao as G, au as Z } from "./platform-Cil_UtAQ.mjs";
1
+ import { ag as D, aD as x, aE as ne, aF as Q, aG as N, aH as S, aI as E, k as m, aJ as y, G as _, e as v, h as B, aK as se, aL as oe, aM as F, aN as ae, f as R, H as Y, aO as ie, aP as P, aQ as ce, aR as de, m as X, aS as le, aT as ge, aU as ue, aV as K } from "./unsignedTransaction-D2Ja0SuN.mjs";
2
+ import "./index-BHpJUZne.mjs";
3
+ import { l as fe, di as M, ai as H, L as he, ah as I, i as b, N as pe, t as q, ap as we, at as V, ar as ye, m as $, an as me, ao as G, au as Z } from "./platform-CSpAb386.mjs";
4
4
  const L = async (A, t, e) => {
5
5
  if (!D(e))
6
6
  throw new Error(`Invalid Sui type: ${e}`);