@wormhole-foundation/wormhole-connect 1.1.7-beta.0-development → 1.1.8-beta.1-development

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (256) hide show
  1. package/dist/assets/{algorand-Bg-MfjsH.js → algorand-vDDEz6KP.js} +2 -2
  2. package/dist/assets/{ccip-Bk3xy3UX.js → ccip-DQXRFvqz.js} +1 -1
  3. package/dist/assets/{cosmwasm-xANzAboS.js → cosmwasm-DP4CIVSM.js} +2 -2
  4. package/dist/assets/{evm-B20gvxWA.js → evm-BB3755Wr.js} +1 -1
  5. package/dist/assets/{evm-CZSGnl_A.js → evm-C48USybm.js} +4 -4
  6. package/dist/assets/{index-eLk_b8u9.js → index-BU0ECMia.js} +1 -1
  7. package/dist/assets/{index-DyD6kblh.js → index-BbJVBTsE.js} +1 -1
  8. package/dist/assets/{index-BYxgRLLh.js → index-BhEp9mlK.js} +1 -1
  9. package/dist/assets/{index-CI40JjNh.js → index-BjxXYs1y.js} +2 -2
  10. package/dist/assets/{index-D3WFv54i.js → index-Bvun80fl.js} +1 -1
  11. package/dist/assets/{index-jD6ZZ5Tu.js → index-Bz-32kSJ.js} +1 -1
  12. package/dist/assets/{index-CLcPjTbq.js → index-CVb8oZT5.js} +2 -2
  13. package/dist/assets/{index-BN1xR-e3.js → index-Cx-EaiKs.js} +1 -1
  14. package/dist/assets/index-DP2zLB5d.js +5 -0
  15. package/dist/assets/{index-Bmx9-Bo8.js → index-DjbIKpGg.js} +1 -1
  16. package/dist/assets/{index-CxijOPcm.js → index-re-SltAL.js} +1 -1
  17. package/dist/assets/{index.es-CXW154rj.js → index.es-B57TzKWR.js} +2 -2
  18. package/dist/assets/{solana-DOaiyZir.js → solana-Bc-ePjuF.js} +1 -1
  19. package/dist/assets/{sui-mXOoFb4M.js → sui-DVNpNCUB.js} +4 -4
  20. package/dist/assets/{unsignedTransaction-0WUum9tP.js → unsignedTransaction-CPy_oMd2.js} +1 -1
  21. package/dist/assets/unsignedTransaction-arVvzoJx.js +1 -0
  22. package/dist/main.js +68 -68
  23. package/dist/src/config/devnet/chains.d.ts.map +1 -1
  24. package/dist/src/config/devnet/tokens.d.ts.map +1 -1
  25. package/dist/src/config/mainnet/chains.d.ts.map +1 -1
  26. package/dist/src/config/mainnet/tokens.d.ts.map +1 -1
  27. package/dist/src/config/testnet/chains.d.ts.map +1 -1
  28. package/dist/src/config/testnet/tokens.d.ts.map +1 -1
  29. package/dist/src/config/types.d.ts +4 -3
  30. package/dist/src/config/types.d.ts.map +1 -1
  31. package/dist/src/icons/ChainIcons.d.ts +9 -0
  32. package/dist/src/icons/ChainIcons.d.ts.map +1 -0
  33. package/dist/src/icons/Chains/APT.d.ts +4 -0
  34. package/dist/src/icons/Chains/APT.d.ts.map +1 -0
  35. package/dist/src/icons/Chains/ARBITRUM.d.ts +4 -0
  36. package/dist/src/icons/Chains/ARBITRUM.d.ts.map +1 -0
  37. package/dist/src/icons/Chains/AVAX.d.ts +4 -0
  38. package/dist/src/icons/Chains/AVAX.d.ts.map +1 -0
  39. package/dist/src/icons/Chains/BASE.d.ts +4 -0
  40. package/dist/src/icons/Chains/BASE.d.ts.map +1 -0
  41. package/dist/src/icons/Chains/BLAST.d.ts +4 -0
  42. package/dist/src/icons/Chains/BLAST.d.ts.map +1 -0
  43. package/dist/src/icons/Chains/BSC.d.ts +4 -0
  44. package/dist/src/icons/Chains/BSC.d.ts.map +1 -0
  45. package/dist/src/icons/Chains/CELO.d.ts +4 -0
  46. package/dist/src/icons/Chains/CELO.d.ts.map +1 -0
  47. package/dist/src/icons/Chains/ETH.d.ts +4 -0
  48. package/dist/src/icons/Chains/ETH.d.ts.map +1 -0
  49. package/dist/src/icons/Chains/FTM.d.ts +4 -0
  50. package/dist/src/icons/Chains/FTM.d.ts.map +1 -0
  51. package/dist/src/icons/Chains/GLMR.d.ts +4 -0
  52. package/dist/src/icons/Chains/GLMR.d.ts.map +1 -0
  53. package/dist/src/icons/Chains/KAIA.d.ts +4 -0
  54. package/dist/src/icons/Chains/KAIA.d.ts.map +1 -0
  55. package/dist/src/icons/Chains/MANTLE.d.ts +4 -0
  56. package/dist/src/icons/Chains/MANTLE.d.ts.map +1 -0
  57. package/dist/src/icons/Chains/OPTIMISM.d.ts +4 -0
  58. package/dist/src/icons/Chains/OPTIMISM.d.ts.map +1 -0
  59. package/dist/src/icons/Chains/OSMO.d.ts +4 -0
  60. package/dist/src/icons/Chains/OSMO.d.ts.map +1 -0
  61. package/dist/src/icons/{Tokens/MATIC.d.ts → Chains/POLY.d.ts} +1 -1
  62. package/dist/src/icons/Chains/POLY.d.ts.map +1 -0
  63. package/dist/src/icons/Chains/SCROLL.d.ts +4 -0
  64. package/dist/src/icons/Chains/SCROLL.d.ts.map +1 -0
  65. package/dist/src/icons/Chains/SOL.d.ts +4 -0
  66. package/dist/src/icons/Chains/SOL.d.ts.map +1 -0
  67. package/dist/src/icons/Chains/SUI.d.ts +4 -0
  68. package/dist/src/icons/Chains/SUI.d.ts.map +1 -0
  69. package/dist/src/icons/Chains/XLAYER.d.ts +4 -0
  70. package/dist/src/icons/Chains/XLAYER.d.ts.map +1 -0
  71. package/dist/src/icons/{Tokens/noIcon.d.ts → Chains/empty.d.ts} +1 -1
  72. package/dist/src/icons/Chains/empty.d.ts.map +1 -0
  73. package/dist/src/icons/Error.d.ts +5 -0
  74. package/dist/src/icons/Error.d.ts.map +1 -0
  75. package/dist/src/icons/TokenIcons.d.ts +4 -4
  76. package/dist/src/icons/TokenIcons.d.ts.map +1 -1
  77. package/dist/src/icons/Tokens/POLY.d.ts +4 -0
  78. package/dist/src/icons/Tokens/POLY.d.ts.map +1 -0
  79. package/{lib/src/icons/Tokens/noIcon.d.ts → dist/src/icons/Tokens/empty.d.ts} +1 -1
  80. package/dist/src/icons/Tokens/empty.d.ts.map +1 -0
  81. package/dist/src/icons/Warning.d.ts +5 -0
  82. package/dist/src/icons/Warning.d.ts.map +1 -0
  83. package/dist/src/utils/sdkv2.d.ts.map +1 -1
  84. package/dist/src/views/v2/Bridge/AmountInput/index.d.ts.map +1 -1
  85. package/dist/src/views/v2/Bridge/AssetPicker/ChainList.d.ts.map +1 -1
  86. package/dist/src/views/v2/Bridge/AssetPicker/index.d.ts.map +1 -1
  87. package/dist/src/views/v2/Bridge/Routes/SingleRoute.d.ts.map +1 -1
  88. package/dist/src/views/v2/Bridge/SwapInputs/index.d.ts.map +1 -1
  89. package/dist/src/views/v2/Redeem/TransactionDetails/index.d.ts.map +1 -1
  90. package/dist/src/views/v2/TxHistory/Item/index.d.ts.map +1 -1
  91. package/lib/{algorand-DsJKeIr5.mjs → algorand-CnhJd_dq.mjs} +3 -3
  92. package/lib/{algorand-BixJkKlf.js → algorand-F3xFUrZu.js} +1 -1
  93. package/lib/{aptos-BfNT2MMg.js → aptos-CUGJTnxp.js} +2 -2
  94. package/lib/{aptos-prTLw0zg.mjs → aptos-DZsV2iRv.mjs} +1 -1
  95. package/lib/{aptos-DP1G2KNL.mjs → aptos-Dzo7tWbP.mjs} +3 -3
  96. package/lib/{aptos-DSDxN2Oh.js → aptos-JorFrRlO.js} +1 -1
  97. package/lib/{ccip-DqvPZUFd.mjs → ccip-CGdvCMfU.mjs} +1 -1
  98. package/lib/{ccip-CORtuKLa.js → ccip-WvYiDS-K.js} +1 -1
  99. package/lib/{cosmwasm-CARLnvsg.mjs → cosmwasm-DN0AHdEC.mjs} +6 -6
  100. package/lib/{cosmwasm-D_THf_Jx.js → cosmwasm-Dg8T1AeT.js} +2 -2
  101. package/lib/{events-ByywXw-I.js → events-D8Ws4SSV.js} +1 -1
  102. package/lib/{events-D26WqMv7.mjs → events-DdSBahX7.mjs} +1 -1
  103. package/lib/{evm-B4avmxZ0.js → evm-3fprRMRy.js} +1 -1
  104. package/lib/{evm-PZUgLFER.js → evm-D-BOv3OA.js} +4 -4
  105. package/lib/{evm-qAJdXmfg.mjs → evm-DnhPF5dt.mjs} +12 -12
  106. package/lib/{evm-BIZUXCC2.mjs → evm-H_bKmdGg.mjs} +7 -7
  107. package/lib/{index-Dcw9cmF1.js → index--DjYWDRB.js} +1 -1
  108. package/lib/{index-7QTP5abI.js → index-B-zhCYHk.js} +1 -1
  109. package/lib/{index-C3wsSYLo.mjs → index-B17OfY1l.mjs} +2 -2
  110. package/lib/{index-Uwpj8GZq.js → index-B1wNeKc9.js} +1 -1
  111. package/lib/{index-D2AdBTEw.mjs → index-BHklNnJk.mjs} +4 -4
  112. package/lib/{index-DCWQkYP9.mjs → index-BVOQlHAu.mjs} +2 -2
  113. package/lib/{index-CZyMJdwZ.mjs → index-BcmVWAO0.mjs} +1 -1
  114. package/lib/{index-Bk4O6F71.mjs → index-BdfG3lJW.mjs} +1 -1
  115. package/lib/index-BjJ4BDhi.js +5 -0
  116. package/lib/{index-Bo-4EpMy.mjs → index-BlV7bTcP.mjs} +11 -11
  117. package/lib/{index-CjqSmvJv.mjs → index-BpgHIKBe.mjs} +11785 -10206
  118. package/lib/{index-B12QivYB.mjs → index-BuynHxM5.mjs} +140 -149
  119. package/lib/{index-Dui1f--u.mjs → index-BvmOowYJ.mjs} +4 -4
  120. package/lib/{index-Ci2My7Wd.js → index-C7Ggs6qV.js} +1 -1
  121. package/lib/{index-CyivlCUm.mjs → index-C7iFAy5u.mjs} +1 -1
  122. package/lib/{index-CjwkPmul.mjs → index-CMboM3K3.mjs} +2 -2
  123. package/lib/{index-B_MZPnqY.mjs → index-CXSjmxbe.mjs} +2 -2
  124. package/lib/{index-DkGpLtjt.js → index-CYuWGvEH.js} +1 -1
  125. package/lib/{index-C9pDNiDb.mjs → index-C_rNtVK6.mjs} +2 -2
  126. package/lib/{index-CPTLMohs.js → index-CjVR2y_P.js} +1 -1
  127. package/lib/index-CnSAQLrV.mjs +3816 -0
  128. package/lib/{index-DHqcaM3p.js → index-CqEKPcR6.js} +1 -1
  129. package/lib/{index-ByoyzlD8.mjs → index-D2ZeoQJK.mjs} +2 -2
  130. package/lib/{index-aGiZ0Ii1.mjs → index-D3KQzv3w.mjs} +3 -3
  131. package/lib/{index-pRsBJecB.mjs → index-D3R38eof.mjs} +2 -2
  132. package/lib/{index-BlY7x8aT.js → index-D4UVCCA_.js} +1 -1
  133. package/lib/{index-CQJHdG55.mjs → index-D5V8xUx6.mjs} +2 -2
  134. package/lib/{index-De8biE2M.mjs → index-DCDfhwO6.mjs} +1 -1
  135. package/lib/{index-BrMNAxOe.js → index-DJNuweoE.js} +1 -1
  136. package/lib/{index-BMrLuIZN.js → index-DK3NwBVm.js} +1 -1
  137. package/lib/{index-BsusxMly.js → index-DLboWTYu.js} +1 -1
  138. package/lib/{index-DPqJrtJC.js → index-DWjlQfKm.js} +1 -1
  139. package/lib/{index-DVYpLXjZ.mjs → index-DayCZrK8.mjs} +2 -2
  140. package/lib/{index-CwU49oAB.mjs → index-DeqerBZA.mjs} +2 -2
  141. package/lib/{index-DW5lODgc.js → index-DgegRtGl.js} +1 -1
  142. package/lib/{index-9uqt3JNu.js → index-DpDevDxN.js} +1 -1
  143. package/lib/{index-CYf3zJ9U.js → index-Ds1qW639.js} +1 -1
  144. package/lib/{index-0HzcGIG7.js → index-DwrJnKct.js} +1 -1
  145. package/lib/{index-DLtY6fYS.js → index-YHxHDLCx.js} +1 -1
  146. package/lib/index-ZxjZ25k7.js +5 -0
  147. package/lib/{index-CTR28Kqb.js → index-_H1GTLUN.js} +1 -1
  148. package/lib/{index-BckHu5WB.mjs → index-a0jcclYd.mjs} +4 -4
  149. package/lib/{index-Cm4mzU66.js → index-dJYuE1XM.js} +1 -1
  150. package/lib/{index-By-bUyoB.mjs → index-fWs1RWi9.mjs} +2 -2
  151. package/lib/{index-C0BdeM6x.js → index-tgY8ENKu.js} +1 -1
  152. package/lib/{index-C7GdFYql.js → index-uRFn7LyP.js} +83 -83
  153. package/lib/{index.es-Cck7Q64X.mjs → index.es-DmO_K9V9.mjs} +5 -5
  154. package/lib/{index.es-AHohFAAx.js → index.es-ebfnW8JA.js} +2 -2
  155. package/lib/index.js +1 -1
  156. package/lib/index.mjs +2 -2
  157. package/lib/{keccak-BH-QLSRT.mjs → keccak-C4VHYT3-.mjs} +1 -1
  158. package/lib/{keccak-eY58RWPu.js → keccak-CspXZGIt.js} +1 -1
  159. package/lib/{pbkdf2-BfOdx-Dl.mjs → pbkdf2-B6Kn0zmY.mjs} +1 -1
  160. package/lib/{pbkdf2-CSYv20wX.js → pbkdf2-DtpaWNtQ.js} +1 -1
  161. package/lib/{signer-B8jRb0nz.js → signer-DBqxRPZ3.js} +1 -1
  162. package/lib/{signer-DS-_n4Nt.mjs → signer-DZsY9TLP.mjs} +1 -1
  163. package/lib/{solana--qAtGpyY.mjs → solana-BABTG8N7.mjs} +4 -4
  164. package/lib/solana-CR8CywCk.mjs +16 -0
  165. package/lib/solana-CUDRhtZZ.js +1 -0
  166. package/lib/{solana-BSRpQGAt.js → solana-DEDJJyBR.js} +1 -1
  167. package/lib/{solanaEmbed.esm-BQflKuI4.mjs → solanaEmbed.esm-BAbo7-i8.mjs} +3 -3
  168. package/lib/{solanaEmbed.esm-5JVQ2kx5.js → solanaEmbed.esm-BIOABkzi.js} +1 -1
  169. package/lib/src/config/devnet/chains.d.ts.map +1 -1
  170. package/lib/src/config/devnet/tokens.d.ts.map +1 -1
  171. package/lib/src/config/mainnet/chains.d.ts.map +1 -1
  172. package/lib/src/config/mainnet/tokens.d.ts.map +1 -1
  173. package/lib/src/config/testnet/chains.d.ts.map +1 -1
  174. package/lib/src/config/testnet/tokens.d.ts.map +1 -1
  175. package/lib/src/config/types.d.ts +4 -3
  176. package/lib/src/config/types.d.ts.map +1 -1
  177. package/lib/src/icons/ChainIcons.d.ts +9 -0
  178. package/lib/src/icons/ChainIcons.d.ts.map +1 -0
  179. package/lib/src/icons/Chains/APT.d.ts +4 -0
  180. package/lib/src/icons/Chains/APT.d.ts.map +1 -0
  181. package/lib/src/icons/Chains/ARBITRUM.d.ts +4 -0
  182. package/lib/src/icons/Chains/ARBITRUM.d.ts.map +1 -0
  183. package/lib/src/icons/Chains/AVAX.d.ts +4 -0
  184. package/lib/src/icons/Chains/AVAX.d.ts.map +1 -0
  185. package/lib/src/icons/Chains/BASE.d.ts +4 -0
  186. package/lib/src/icons/Chains/BASE.d.ts.map +1 -0
  187. package/lib/src/icons/Chains/BLAST.d.ts +4 -0
  188. package/lib/src/icons/Chains/BLAST.d.ts.map +1 -0
  189. package/lib/src/icons/Chains/BSC.d.ts +4 -0
  190. package/lib/src/icons/Chains/BSC.d.ts.map +1 -0
  191. package/lib/src/icons/Chains/CELO.d.ts +4 -0
  192. package/lib/src/icons/Chains/CELO.d.ts.map +1 -0
  193. package/lib/src/icons/Chains/ETH.d.ts +4 -0
  194. package/lib/src/icons/Chains/ETH.d.ts.map +1 -0
  195. package/lib/src/icons/Chains/FTM.d.ts +4 -0
  196. package/lib/src/icons/Chains/FTM.d.ts.map +1 -0
  197. package/lib/src/icons/Chains/GLMR.d.ts +4 -0
  198. package/lib/src/icons/Chains/GLMR.d.ts.map +1 -0
  199. package/lib/src/icons/Chains/KAIA.d.ts +4 -0
  200. package/lib/src/icons/Chains/KAIA.d.ts.map +1 -0
  201. package/lib/src/icons/Chains/MANTLE.d.ts +4 -0
  202. package/lib/src/icons/Chains/MANTLE.d.ts.map +1 -0
  203. package/lib/src/icons/Chains/OPTIMISM.d.ts +4 -0
  204. package/lib/src/icons/Chains/OPTIMISM.d.ts.map +1 -0
  205. package/lib/src/icons/Chains/OSMO.d.ts +4 -0
  206. package/lib/src/icons/Chains/OSMO.d.ts.map +1 -0
  207. package/lib/src/icons/{Tokens/MATIC.d.ts → Chains/POLY.d.ts} +1 -1
  208. package/lib/src/icons/Chains/POLY.d.ts.map +1 -0
  209. package/lib/src/icons/Chains/SCROLL.d.ts +4 -0
  210. package/lib/src/icons/Chains/SCROLL.d.ts.map +1 -0
  211. package/lib/src/icons/Chains/SOL.d.ts +4 -0
  212. package/lib/src/icons/Chains/SOL.d.ts.map +1 -0
  213. package/lib/src/icons/Chains/SUI.d.ts +4 -0
  214. package/lib/src/icons/Chains/SUI.d.ts.map +1 -0
  215. package/lib/src/icons/Chains/XLAYER.d.ts +4 -0
  216. package/lib/src/icons/Chains/XLAYER.d.ts.map +1 -0
  217. package/lib/src/icons/Chains/empty.d.ts +4 -0
  218. package/lib/src/icons/Chains/empty.d.ts.map +1 -0
  219. package/lib/src/icons/Error.d.ts +5 -0
  220. package/lib/src/icons/Error.d.ts.map +1 -0
  221. package/lib/src/icons/TokenIcons.d.ts +4 -4
  222. package/lib/src/icons/TokenIcons.d.ts.map +1 -1
  223. package/lib/src/icons/Tokens/POLY.d.ts +4 -0
  224. package/lib/src/icons/Tokens/POLY.d.ts.map +1 -0
  225. package/lib/src/icons/Tokens/empty.d.ts +4 -0
  226. package/lib/src/icons/Tokens/empty.d.ts.map +1 -0
  227. package/lib/src/icons/Warning.d.ts +5 -0
  228. package/lib/src/icons/Warning.d.ts.map +1 -0
  229. package/lib/src/utils/sdkv2.d.ts.map +1 -1
  230. package/lib/src/views/v2/Bridge/AmountInput/index.d.ts.map +1 -1
  231. package/lib/src/views/v2/Bridge/AssetPicker/ChainList.d.ts.map +1 -1
  232. package/lib/src/views/v2/Bridge/AssetPicker/index.d.ts.map +1 -1
  233. package/lib/src/views/v2/Bridge/Routes/SingleRoute.d.ts.map +1 -1
  234. package/lib/src/views/v2/Bridge/SwapInputs/index.d.ts.map +1 -1
  235. package/lib/src/views/v2/Redeem/TransactionDetails/index.d.ts.map +1 -1
  236. package/lib/src/views/v2/TxHistory/Item/index.d.ts.map +1 -1
  237. package/lib/{sui-CHdzm0pJ.js → sui-CD_LLkGE.js} +2 -2
  238. package/lib/{sui-CTaDMtDE.mjs → sui-CfiEBlu_.mjs} +74 -75
  239. package/lib/{sui-BrXrepC3.mjs → sui-DYCvDMMh.mjs} +1 -1
  240. package/lib/{sui-B9mPyuqg.js → sui-Da1ir949.js} +1 -1
  241. package/lib/unsignedTransaction-BD81leu1.mjs +16 -0
  242. package/lib/{unsignedTransaction-B6O-8vao.js → unsignedTransaction-BNppfIUA.js} +1 -1
  243. package/lib/unsignedTransaction-DzSLsK-p.js +1 -0
  244. package/lib/{unsignedTransaction-BLH74msy.mjs → unsignedTransaction-l29mWyX4.mjs} +4 -4
  245. package/package.json +17 -17
  246. package/dist/src/icons/Tokens/MATIC.d.ts.map +0 -1
  247. package/dist/src/icons/Tokens/noIcon.d.ts.map +0 -1
  248. package/dist/src/utils/repairVaa.d.ts +0 -4
  249. package/dist/src/utils/repairVaa.d.ts.map +0 -1
  250. package/lib/index-CqmsT5vZ.js +0 -5
  251. package/lib/solana-Dcts27AJ.js +0 -1
  252. package/lib/solana-qJnrP02J.mjs +0 -16
  253. package/lib/src/icons/Tokens/MATIC.d.ts.map +0 -1
  254. package/lib/src/icons/Tokens/noIcon.d.ts.map +0 -1
  255. package/lib/src/utils/repairVaa.d.ts +0 -4
  256. package/lib/src/utils/repairVaa.d.ts.map +0 -1
@@ -1 +1 @@
1
- var m=Object.defineProperty;var p=(c,e,t)=>e in c?m(c,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):c[e]=t;var a=(c,e,t)=>p(c,typeof e!="symbol"?e+"":e,t);import{C as w}from"./cosmwasm-xANzAboS.js";import{cV as g,ck as l,ae as h,c3 as u,b3 as f}from"../main.js";import"./pbkdf2-DaCbRHcv.js";import"./keccak-CT2-a1US.js";import"./sha3-C-K85jAV.js";import"./index-kXg7_kw1.js";class i{constructor(e,t,s,r){a(this,"network");a(this,"chain");a(this,"rpc");a(this,"contracts");a(this,"coreAddress");this.network=e,this.chain=t,this.rpc=s,this.contracts=r;const n=this.contracts.coreBridge;if(!n)throw new Error(`Wormhole Token Bridge contract for domain ${t} not found`);this.coreAddress=n}getGuardianSet(e){throw new Error("Method not implemented.")}getGuardianSetIndex(){throw new Error("Method not implemented.")}getMessageFee(){throw new Error("Method not implemented.")}static async fromRpc(e,t){const[s,r]=await w.chainFromRpc(e),n=t[r];if(n.network!==s)throw new Error(`Network mismatch: ${n.network} != ${s}`);return new i(s,r,e,n.contracts)}async*publishMessage(e,t,s,r){throw new Error("Method not implemented.")}async*verifyMessage(e,t){throw new Error("Not implemented.")}async parseTransaction(e){const t=await this.rpc.getTx(e);if(!t)throw new Error("No transaction found for txid: "+e);return[i.parseWormholeMessageId(this.chain,this.coreAddress,t)]}async parseMessages(e){const t=await this.rpc.getTx(e);if(!t)throw new Error("No transaction found for txid: "+e);return[i.parseWormholeMessage(this.chain,this.coreAddress,t)]}static parseWormholeMessage(e,t,s){const r=s.events.filter(o=>o.type==="wasm"&&o.attributes[0].key==="_contract_address"&&o.attributes[0].value===t);if(r.length===0)throw new Error("No wormhole message found in tx");r.length>1&&console.error(`Expected single message, found ${r.length}`);const[n]=r,d=Object.fromEntries(n.attributes.map(o=>[o.key.split(".")[1],o.value]));return g("Uint8Array",{emitterChain:e,emitterAddress:new l(h.decode(d.sender)),sequence:BigInt(d.sequence),guardianSet:0,timestamp:Number(d.block_time),consistencyLevel:0,nonce:Number(d.nonce),signatures:[],payload:h.decode(d.message)})}static parseWormholeMessageId(e,t,s){const r=i.parseWormholeMessage(e,t,s);return{chain:r.emitterChain,emitter:r.emitterAddress,sequence:r.sequence}}}u(f,"WormholeCore",i);export{i as CosmwasmWormholeCore};
1
+ var m=Object.defineProperty;var p=(c,e,t)=>e in c?m(c,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):c[e]=t;var a=(c,e,t)=>p(c,typeof e!="symbol"?e+"":e,t);import{C as w}from"./cosmwasm-DP4CIVSM.js";import{cV as g,ck as l,ae as h,c3 as u,b3 as f}from"../main.js";import"./pbkdf2-DaCbRHcv.js";import"./keccak-CT2-a1US.js";import"./sha3-C-K85jAV.js";import"./index-kXg7_kw1.js";class i{constructor(e,t,s,r){a(this,"network");a(this,"chain");a(this,"rpc");a(this,"contracts");a(this,"coreAddress");this.network=e,this.chain=t,this.rpc=s,this.contracts=r;const n=this.contracts.coreBridge;if(!n)throw new Error(`Wormhole Token Bridge contract for domain ${t} not found`);this.coreAddress=n}getGuardianSet(e){throw new Error("Method not implemented.")}getGuardianSetIndex(){throw new Error("Method not implemented.")}getMessageFee(){throw new Error("Method not implemented.")}static async fromRpc(e,t){const[s,r]=await w.chainFromRpc(e),n=t[r];if(n.network!==s)throw new Error(`Network mismatch: ${n.network} != ${s}`);return new i(s,r,e,n.contracts)}async*publishMessage(e,t,s,r){throw new Error("Method not implemented.")}async*verifyMessage(e,t){throw new Error("Not implemented.")}async parseTransaction(e){const t=await this.rpc.getTx(e);if(!t)throw new Error("No transaction found for txid: "+e);return[i.parseWormholeMessageId(this.chain,this.coreAddress,t)]}async parseMessages(e){const t=await this.rpc.getTx(e);if(!t)throw new Error("No transaction found for txid: "+e);return[i.parseWormholeMessage(this.chain,this.coreAddress,t)]}static parseWormholeMessage(e,t,s){const r=s.events.filter(o=>o.type==="wasm"&&o.attributes[0].key==="_contract_address"&&o.attributes[0].value===t);if(r.length===0)throw new Error("No wormhole message found in tx");r.length>1&&console.error(`Expected single message, found ${r.length}`);const[n]=r,d=Object.fromEntries(n.attributes.map(o=>[o.key.split(".")[1],o.value]));return g("Uint8Array",{emitterChain:e,emitterAddress:new l(h.decode(d.sender)),sequence:BigInt(d.sequence),guardianSet:0,timestamp:Number(d.block_time),consistencyLevel:0,nonce:Number(d.nonce),signatures:[],payload:h.decode(d.message)})}static parseWormholeMessageId(e,t,s){const r=i.parseWormholeMessage(e,t,s);return{chain:r.emitterChain,emitter:r.emitterAddress,sequence:r.sequence}}}u(f,"WormholeCore",i);export{i as CosmwasmWormholeCore};
@@ -1 +1 @@
1
- var J=Object.defineProperty;var Q=(O,e,t)=>e in O?J(O,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):O[e]=t;var d=(O,e,t)=>Q(O,typeof e!="symbol"?e+"":e,t);import{A as S,S as g,a as X}from"./index-CxijOPcm.js";import{dx as Y,a$ as C,b2 as $,dl as q,bq as I,dy as v,dp as F,bZ as tt,cA as b,ck as et,am as z,cp as H,dq as y,dj as u,dr as k,du as U,b_ as L,dk as K,dz as st,dA as V,dB as ot,c3 as nt,bn as rt}from"../main.js";import{A as at}from"./algorand-Bg-MfjsH.js";const Z=Y.fromSignature("portal_transfer(byte[])byte[]"),c=class c{constructor(e,t,n,o){d(this,"network");d(this,"chain");d(this,"connection");d(this,"contracts");d(this,"chainId");d(this,"coreBridge");d(this,"coreAppId");d(this,"coreAppAddress");d(this,"tokenBridgeAppId");d(this,"tokenBridgeAddress");if(this.network=e,this.chain=t,this.connection=n,this.contracts=o,this.chainId=$(t),!o.coreBridge)throw new Error(`Core contract address for chain ${t} not found`);const r=BigInt(o.coreBridge);if(this.coreAppId=r,this.coreAppAddress=q(r),this.coreBridge=new S(e,t,n,o),!o.tokenBridge)throw new Error(`TokenBridge contract address for chain ${t} not found`);const a=BigInt(o.tokenBridge);this.tokenBridgeAppId=a,this.tokenBridgeAddress=q(a)}static async fromRpc(e,t){const[n,o]=await at.chainFromRpc(e),r=t[o];if(r.network!==n)throw new Error(`Network mismatch: ${r.network} != ${n}`);return new c(n,o,e,r.contracts)}async isWrappedAsset(e){const t=new I(e).toInt();if(t===0)return!1;const n=await this.connection.getAssetByID(t).do(),r=v.from_obj_for_encoding(n).params.creator,a=await this.connection.accountInformation(r).exclude("all").do(),s=F.from_obj_for_encoding(a);return(s==null?void 0:s.authAddr)===this.tokenBridgeAddress}async getOriginalAsset(e){const t=new I(e).toInt(),n=await this.connection.getAssetByID(t).do(),o=v.from_obj_for_encoding(n),r=await g.decodeLocalState(this.connection,this.tokenBridgeAppId,o.params.creator);if(r.length<94)throw new Error("Invalid local state data");const a=r.slice(92,94),s=tt(b.decode(a)),p=new et(r.slice(60,92));return{chain:s,address:p}}async getTokenUniversalAddress(e){return new I(e).toUniversalAddress()}async getTokenNativeAddress(e,t){return new I(t).toNative()}async getWrappedAsset(e){if(z(e.address))throw new Error("native asset cannot be a wrapped asset");const t=g.forWrappedAsset(this.tokenBridgeAppId,e),n=await g.decodeLocalState(this.connection,this.tokenBridgeAppId,t.address());if(n.length<8)throw new Error("Invalid wrapped asset data");return H(this.chain,b.decode(n.slice(0,8)).toString())}async hasWrappedAsset(e){try{return await this.getWrappedAsset(e),!0}catch{}return!1}async getWrappedNative(){return H(this.chain,"0")}async isTransferCompleted(e){const t=g.forMessageId(this.tokenBridgeAppId,{sequence:e.sequence,chain:e.emitterChain,emitter:e.emitterAddress});try{return await g.checkBitsSet(this.connection,this.tokenBridgeAppId,t.address(),e.sequence)}catch{}return!1}async*createAttestation(e,t){if(!t)throw new Error("Payer required to create attestation");const n=new I(t).toString(),o=new I(e).toInt(),r=[],a=await this.connection.getTransactionParams().do(),s=g.forEmitter(this.coreAppId,new I(this.tokenBridgeAddress).toUint8Array()),{accounts:[p],txs:w}=await S.maybeCreateStorageTx(this.connection,n,this.coreAppId,s,a);r.push(...w);let f="",i;if(o!==0){const l=await this.connection.getAssetByID(o).do(),j=v.from_obj_for_encoding(l),E=await this.connection.accountInformation(j.params.creator).do();if(i=F.from_obj_for_encoding(E),i.authAddr===this.tokenBridgeAddress.toString())throw new Error("Cannot re-attest wormhole assets")}const T=g.forNativeAsset(this.tokenBridgeAppId,BigInt(o)),B=await S.maybeCreateStorageTx(this.connection,n,this.tokenBridgeAppId,T);f=B.accounts[0],r.push(...B.txs);const m=y({from:n,appIndex:u(this.tokenBridgeAppId),onComplete:k.NoOpOC,appArgs:[c.noop],suggestedParams:a});r.push({tx:m});const A=await this.coreBridge.getMessageFee();if(A>BigInt(0)){const l=U({from:n,suggestedParams:a,to:this.tokenBridgeAddress,amount:A});r.push({tx:l})}let W=[p,f,this.coreAppAddress];i&&W.push(i.address);let h=y({appArgs:[c.attestToken,b.toBytes(o,8)],accounts:W,appIndex:u(this.tokenBridgeAppId),foreignApps:[u(this.coreAppId)],foreignAssets:[o],from:n,onComplete:k.NoOpOC,suggestedParams:a});A>BigInt(0)?h.fee*=3:h.fee*=2,r.push({tx:h});for(const l of r)yield this.createUnsignedTx(l,"TokenBridge.createAttestation",!0)}async*submitAttestation(e,t,n){if(!t)throw new Error("Sender required to submit attestation");n||(n=await this.connection.getTransactionParams().do());const o=t.toString(),a=g.forWrappedAsset(this.tokenBridgeAppId,e.payload.token).address(),s=[],p=[],w=await g.decodeLocalState(this.connection,this.tokenBridgeAppId,a);w.length>8&&p.push(new I(w.slice(0,8)).toInt()),s.push({tx:U({from:o,to:a,amount:1e5,suggestedParams:n})});let f=new Uint8Array(1);f[0]=1,s.push({tx:y({appArgs:[c.noop,f],appIndex:u(this.tokenBridgeAppId),from:o,onComplete:k.NoOpOC,suggestedParams:n})}),f=new Uint8Array(1),f[0]=2,s.push({tx:y({appArgs:[c.noop,f],appIndex:u(this.tokenBridgeAppId),from:o,onComplete:k.NoOpOC,suggestedParams:n})}),s.push({tx:y({accounts:[],appArgs:[c.receiveAttest,L(e)],appIndex:u(this.tokenBridgeAppId),foreignAssets:p,from:o,onComplete:k.NoOpOC,suggestedParams:n})}),s[s.length-1].tx.fee=s[s.length-1].tx.fee*2;for(const i of s)yield this.createUnsignedTx(i,"TokenBridge.submitAttestation",!0)}async*transfer(e,t,n,o,r){const a=e.toString(),s=z(n)?0:new I(n).toInt(),p=o,w=$(t.chain),f=t.address.toUniversalAddress().toUint8Array(),i=await this.connection.getTransactionParams().do(),T=BigInt(0),B=g.fromData({appId:this.coreAppId,appAddress:K(this.coreAppAddress).publicKey,idx:BigInt(0),address:K(this.tokenBridgeAddress).publicKey}),m=[],{accounts:[A],txs:W}=await S.maybeCreateStorageTx(this.connection,a,this.coreAppId,B,i);m.push(...W);let h="",l,j=!1;if(s!==0){const x=await this.connection.getAssetByID(s).do();h=v.from_obj_for_encoding(x).params.creator;const R=await this.connection.accountInformation(h).do();l=F.from_obj_for_encoding(R),j=l.authAddr===this.tokenBridgeAddress.toString()}const E=await this.coreBridge.getMessageFee();if(E>0&&m.push({tx:U({from:a,to:this.tokenBridgeAddress,amount:E,suggestedParams:i})}),!j){const x=g.forNativeAsset(this.tokenBridgeAppId,BigInt(s)),{accounts:[N],txs:R}=await S.maybeCreateStorageTx(this.connection,a,this.tokenBridgeAppId,x,i);h=N,R.push(...R)}if(s!==0&&!await c.isOptedInToAsset(this.connection,h,s)){const x=U({from:a,to:h,amount:1e5,suggestedParams:i});let N=y({from:a,appIndex:u(this.tokenBridgeAppId),onComplete:k.NoOpOC,appArgs:[c.optIn,st(s,8)],foreignAssets:[s],accounts:[h],suggestedParams:i});N.fee*=2,m.unshift({tx:x},{tx:N})}const G=y({from:a,appIndex:u(this.tokenBridgeAppId),onComplete:k.NoOpOC,appArgs:[c.noop],suggestedParams:i});m.push({tx:G});let _=[];if(s===0){const x=U({from:a,to:h,amount:p,suggestedParams:i});m.push({tx:x}),_=[A,h,h]}else{const x=V({from:a,to:h,amount:p,assetIndex:s,suggestedParams:i});m.push({tx:x}),_=l!=null&&l.address?[A,h,l.address]:[A,h]}const M=[c.sendTransfer,b.toBytes(s,8),b.toBytes(p,8),f,b.toBytes(w,8),b.toBytes(T,8)];r&&M.push(r);const P=y({from:a,appIndex:u(this.tokenBridgeAppId),onComplete:k.NoOpOC,appArgs:M,foreignApps:[u(this.coreAppId)],foreignAssets:[s],accounts:_,suggestedParams:i});P.fee*=2,m.push({tx:P});for(const x of m)yield this.createUnsignedTx(x,"TokenBridge.transfer",!0)}async*redeem(e,t,n=!0,o){o||(o=await this.connection.getTransactionParams().do());const r=new I(e).toString(),{accounts:a,txs:s}=await S.submitVAAHeader(this.connection,this.coreAppId,this.tokenBridgeAppId,t,r);let p,w="",f=[],i=0;if(t.payload.token.chain!==this.chain){p=g.forWrappedAsset(this.tokenBridgeAppId,t.payload.token),w=p.address();const A=await g.decodeLocalState(this.connection,this.tokenBridgeAppId,w);i=new I(A.slice(0,8)).toInt()}else{const A=new I(t.payload.token.address).toBigInt();p=g.forNativeAsset(this.tokenBridgeAppId,A),w=p.address(),i=u(A)}a.push(w);let T=0,B="";if(t.payloadName==="TransferWithPayload"?(T=new I(t.payload.to.address).toInt(),B=q(T)):B=new I(t.payload.to.address.toUint8Array()).toString(),a.push(B),i!==0&&(f.push(i),!await c.isOptedInToAsset(this.connection,B,i))){if(r!=B)throw new Error("Cannot ASA optin for somebody else (asset "+i.toString()+")");s.unshift({tx:V({amount:0,assetIndex:i,from:r,suggestedParams:o,to:r})})}const m={accounts:a,appArgs:[c.completeTransfer,L(t)],appIndex:u(this.tokenBridgeAppId),foreignAssets:f,from:r,onComplete:k.NoOpOC,suggestedParams:o};s.push({tx:y(m)}),s[s.length-1].tx.fee=s[s.length-1].tx.fee*(t.payloadName==="Transfer"&&t.payload.fee!==void 0&&t.payload.fee===0n?2:3),t.payloadName==="TransferWithPayload"&&(s[s.length-1].tx.appForeignApps=[T],s.push({tx:y({appArgs:[Z.getSelector(),Z.args[0].type.encode(L(t))],appIndex:T,foreignAssets:f,from:r,onComplete:k.NoOpOC,suggestedParams:o})}));for(const A of s)yield this.createUnsignedTx(A,"TokenBridge.redeem",!0)}static async isOptedInToAsset(e,t,n){var o;try{const r=await e.accountAssetInformation(t,n).do();return(((o=ot.from_obj_for_encoding(r).assetHolding)==null?void 0:o.amount)??0)>0}catch{}return!1}createUnsignedTx(e,t,n=!0){return new X(e,this.network,this.chain,t,n)}};d(c,"sendTransfer",C.encode("sendTransfer")),d(c,"attestToken",C.encode("attestToken")),d(c,"noop",C.encode("nop")),d(c,"optIn",C.encode("optin")),d(c,"completeTransfer",C.encode("completeTransfer")),d(c,"receiveAttest",C.encode("receiveAttest"));let D=c;nt(rt,"TokenBridge",D);export{D as AlgorandTokenBridge,Z as TransferMethodSelector};
1
+ var J=Object.defineProperty;var Q=(O,e,t)=>e in O?J(O,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):O[e]=t;var d=(O,e,t)=>Q(O,typeof e!="symbol"?e+"":e,t);import{A as C,S as g,a as X}from"./index-re-SltAL.js";import{dy as Y,a$ as S,b2 as $,dm as q,bq as I,dz as v,dq as F,bZ as tt,cA as b,ck as et,am as z,cp as H,dr as y,dk as u,ds as k,dv as U,b_ as L,dl as K,dA as st,dB as V,dC as ot,c3 as nt,bn as rt}from"../main.js";import{A as at}from"./algorand-vDDEz6KP.js";const Z=Y.fromSignature("portal_transfer(byte[])byte[]"),c=class c{constructor(e,t,n,o){d(this,"network");d(this,"chain");d(this,"connection");d(this,"contracts");d(this,"chainId");d(this,"coreBridge");d(this,"coreAppId");d(this,"coreAppAddress");d(this,"tokenBridgeAppId");d(this,"tokenBridgeAddress");if(this.network=e,this.chain=t,this.connection=n,this.contracts=o,this.chainId=$(t),!o.coreBridge)throw new Error(`Core contract address for chain ${t} not found`);const r=BigInt(o.coreBridge);if(this.coreAppId=r,this.coreAppAddress=q(r),this.coreBridge=new C(e,t,n,o),!o.tokenBridge)throw new Error(`TokenBridge contract address for chain ${t} not found`);const a=BigInt(o.tokenBridge);this.tokenBridgeAppId=a,this.tokenBridgeAddress=q(a)}static async fromRpc(e,t){const[n,o]=await at.chainFromRpc(e),r=t[o];if(r.network!==n)throw new Error(`Network mismatch: ${r.network} != ${n}`);return new c(n,o,e,r.contracts)}async isWrappedAsset(e){const t=new I(e).toInt();if(t===0)return!1;const n=await this.connection.getAssetByID(t).do(),r=v.from_obj_for_encoding(n).params.creator,a=await this.connection.accountInformation(r).exclude("all").do(),s=F.from_obj_for_encoding(a);return(s==null?void 0:s.authAddr)===this.tokenBridgeAddress}async getOriginalAsset(e){const t=new I(e).toInt(),n=await this.connection.getAssetByID(t).do(),o=v.from_obj_for_encoding(n),r=await g.decodeLocalState(this.connection,this.tokenBridgeAppId,o.params.creator);if(r.length<94)throw new Error("Invalid local state data");const a=r.slice(92,94),s=tt(b.decode(a)),p=new et(r.slice(60,92));return{chain:s,address:p}}async getTokenUniversalAddress(e){return new I(e).toUniversalAddress()}async getTokenNativeAddress(e,t){return new I(t).toNative()}async getWrappedAsset(e){if(z(e.address))throw new Error("native asset cannot be a wrapped asset");const t=g.forWrappedAsset(this.tokenBridgeAppId,e),n=await g.decodeLocalState(this.connection,this.tokenBridgeAppId,t.address());if(n.length<8)throw new Error("Invalid wrapped asset data");return H(this.chain,b.decode(n.slice(0,8)).toString())}async hasWrappedAsset(e){try{return await this.getWrappedAsset(e),!0}catch{}return!1}async getWrappedNative(){return H(this.chain,"0")}async isTransferCompleted(e){const t=g.forMessageId(this.tokenBridgeAppId,{sequence:e.sequence,chain:e.emitterChain,emitter:e.emitterAddress});try{return await g.checkBitsSet(this.connection,this.tokenBridgeAppId,t.address(),e.sequence)}catch{}return!1}async*createAttestation(e,t){if(!t)throw new Error("Payer required to create attestation");const n=new I(t).toString(),o=new I(e).toInt(),r=[],a=await this.connection.getTransactionParams().do(),s=g.forEmitter(this.coreAppId,new I(this.tokenBridgeAddress).toUint8Array()),{accounts:[p],txs:w}=await C.maybeCreateStorageTx(this.connection,n,this.coreAppId,s,a);r.push(...w);let f="",i;if(o!==0){const l=await this.connection.getAssetByID(o).do(),j=v.from_obj_for_encoding(l),E=await this.connection.accountInformation(j.params.creator).do();if(i=F.from_obj_for_encoding(E),i.authAddr===this.tokenBridgeAddress.toString())throw new Error("Cannot re-attest wormhole assets")}const T=g.forNativeAsset(this.tokenBridgeAppId,BigInt(o)),B=await C.maybeCreateStorageTx(this.connection,n,this.tokenBridgeAppId,T);f=B.accounts[0],r.push(...B.txs);const m=y({from:n,appIndex:u(this.tokenBridgeAppId),onComplete:k.NoOpOC,appArgs:[c.noop],suggestedParams:a});r.push({tx:m});const A=await this.coreBridge.getMessageFee();if(A>BigInt(0)){const l=U({from:n,suggestedParams:a,to:this.tokenBridgeAddress,amount:A});r.push({tx:l})}let W=[p,f,this.coreAppAddress];i&&W.push(i.address);let h=y({appArgs:[c.attestToken,b.toBytes(o,8)],accounts:W,appIndex:u(this.tokenBridgeAppId),foreignApps:[u(this.coreAppId)],foreignAssets:[o],from:n,onComplete:k.NoOpOC,suggestedParams:a});A>BigInt(0)?h.fee*=3:h.fee*=2,r.push({tx:h});for(const l of r)yield this.createUnsignedTx(l,"TokenBridge.createAttestation",!0)}async*submitAttestation(e,t,n){if(!t)throw new Error("Sender required to submit attestation");n||(n=await this.connection.getTransactionParams().do());const o=t.toString(),a=g.forWrappedAsset(this.tokenBridgeAppId,e.payload.token).address(),s=[],p=[],w=await g.decodeLocalState(this.connection,this.tokenBridgeAppId,a);w.length>8&&p.push(new I(w.slice(0,8)).toInt()),s.push({tx:U({from:o,to:a,amount:1e5,suggestedParams:n})});let f=new Uint8Array(1);f[0]=1,s.push({tx:y({appArgs:[c.noop,f],appIndex:u(this.tokenBridgeAppId),from:o,onComplete:k.NoOpOC,suggestedParams:n})}),f=new Uint8Array(1),f[0]=2,s.push({tx:y({appArgs:[c.noop,f],appIndex:u(this.tokenBridgeAppId),from:o,onComplete:k.NoOpOC,suggestedParams:n})}),s.push({tx:y({accounts:[],appArgs:[c.receiveAttest,L(e)],appIndex:u(this.tokenBridgeAppId),foreignAssets:p,from:o,onComplete:k.NoOpOC,suggestedParams:n})}),s[s.length-1].tx.fee=s[s.length-1].tx.fee*2;for(const i of s)yield this.createUnsignedTx(i,"TokenBridge.submitAttestation",!0)}async*transfer(e,t,n,o,r){const a=e.toString(),s=z(n)?0:new I(n).toInt(),p=o,w=$(t.chain),f=t.address.toUniversalAddress().toUint8Array(),i=await this.connection.getTransactionParams().do(),T=BigInt(0),B=g.fromData({appId:this.coreAppId,appAddress:K(this.coreAppAddress).publicKey,idx:BigInt(0),address:K(this.tokenBridgeAddress).publicKey}),m=[],{accounts:[A],txs:W}=await C.maybeCreateStorageTx(this.connection,a,this.coreAppId,B,i);m.push(...W);let h="",l,j=!1;if(s!==0){const x=await this.connection.getAssetByID(s).do();h=v.from_obj_for_encoding(x).params.creator;const R=await this.connection.accountInformation(h).do();l=F.from_obj_for_encoding(R),j=l.authAddr===this.tokenBridgeAddress.toString()}const E=await this.coreBridge.getMessageFee();if(E>0&&m.push({tx:U({from:a,to:this.tokenBridgeAddress,amount:E,suggestedParams:i})}),!j){const x=g.forNativeAsset(this.tokenBridgeAppId,BigInt(s)),{accounts:[N],txs:R}=await C.maybeCreateStorageTx(this.connection,a,this.tokenBridgeAppId,x,i);h=N,R.push(...R)}if(s!==0&&!await c.isOptedInToAsset(this.connection,h,s)){const x=U({from:a,to:h,amount:1e5,suggestedParams:i});let N=y({from:a,appIndex:u(this.tokenBridgeAppId),onComplete:k.NoOpOC,appArgs:[c.optIn,st(s,8)],foreignAssets:[s],accounts:[h],suggestedParams:i});N.fee*=2,m.unshift({tx:x},{tx:N})}const G=y({from:a,appIndex:u(this.tokenBridgeAppId),onComplete:k.NoOpOC,appArgs:[c.noop],suggestedParams:i});m.push({tx:G});let _=[];if(s===0){const x=U({from:a,to:h,amount:p,suggestedParams:i});m.push({tx:x}),_=[A,h,h]}else{const x=V({from:a,to:h,amount:p,assetIndex:s,suggestedParams:i});m.push({tx:x}),_=l!=null&&l.address?[A,h,l.address]:[A,h]}const M=[c.sendTransfer,b.toBytes(s,8),b.toBytes(p,8),f,b.toBytes(w,8),b.toBytes(T,8)];r&&M.push(r);const P=y({from:a,appIndex:u(this.tokenBridgeAppId),onComplete:k.NoOpOC,appArgs:M,foreignApps:[u(this.coreAppId)],foreignAssets:[s],accounts:_,suggestedParams:i});P.fee*=2,m.push({tx:P});for(const x of m)yield this.createUnsignedTx(x,"TokenBridge.transfer",!0)}async*redeem(e,t,n=!0,o){o||(o=await this.connection.getTransactionParams().do());const r=new I(e).toString(),{accounts:a,txs:s}=await C.submitVAAHeader(this.connection,this.coreAppId,this.tokenBridgeAppId,t,r);let p,w="",f=[],i=0;if(t.payload.token.chain!==this.chain){p=g.forWrappedAsset(this.tokenBridgeAppId,t.payload.token),w=p.address();const A=await g.decodeLocalState(this.connection,this.tokenBridgeAppId,w);i=new I(A.slice(0,8)).toInt()}else{const A=new I(t.payload.token.address).toBigInt();p=g.forNativeAsset(this.tokenBridgeAppId,A),w=p.address(),i=u(A)}a.push(w);let T=0,B="";if(t.payloadName==="TransferWithPayload"?(T=new I(t.payload.to.address).toInt(),B=q(T)):B=new I(t.payload.to.address.toUint8Array()).toString(),a.push(B),i!==0&&(f.push(i),!await c.isOptedInToAsset(this.connection,B,i))){if(r!=B)throw new Error("Cannot ASA optin for somebody else (asset "+i.toString()+")");s.unshift({tx:V({amount:0,assetIndex:i,from:r,suggestedParams:o,to:r})})}const m={accounts:a,appArgs:[c.completeTransfer,L(t)],appIndex:u(this.tokenBridgeAppId),foreignAssets:f,from:r,onComplete:k.NoOpOC,suggestedParams:o};s.push({tx:y(m)}),s[s.length-1].tx.fee=s[s.length-1].tx.fee*(t.payloadName==="Transfer"&&t.payload.fee!==void 0&&t.payload.fee===0n?2:3),t.payloadName==="TransferWithPayload"&&(s[s.length-1].tx.appForeignApps=[T],s.push({tx:y({appArgs:[Z.getSelector(),Z.args[0].type.encode(L(t))],appIndex:T,foreignAssets:f,from:r,onComplete:k.NoOpOC,suggestedParams:o})}));for(const A of s)yield this.createUnsignedTx(A,"TokenBridge.redeem",!0)}static async isOptedInToAsset(e,t,n){var o;try{const r=await e.accountAssetInformation(t,n).do();return(((o=ot.from_obj_for_encoding(r).assetHolding)==null?void 0:o.amount)??0)>0}catch{}return!1}createUnsignedTx(e,t,n=!0){return new X(e,this.network,this.chain,t,n)}};d(c,"sendTransfer",S.encode("sendTransfer")),d(c,"attestToken",S.encode("attestToken")),d(c,"noop",S.encode("nop")),d(c,"optIn",S.encode("optin")),d(c,"completeTransfer",S.encode("completeTransfer")),d(c,"receiveAttest",S.encode("receiveAttest"));let D=c;nt(rt,"TokenBridge",D);export{D as AlgorandTokenBridge,Z as TransferMethodSelector};