@wormhole-foundation/wormhole-connect 2.1.0-beta.1-development → 2.1.0-beta.3-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 (143) hide show
  1. package/README.md +1 -0
  2. package/dist/assets/{ccip-j5QHovIT.js → ccip-DfI9A4kL.js} +1 -1
  3. package/dist/assets/{evm-B5I5ieRn.js → evm-CYICYl2d.js} +3 -3
  4. package/dist/assets/index-26ve8f2n.js +531 -0
  5. package/dist/assets/index-NqsKKz5-.js +14 -0
  6. package/dist/assets/index.es-CephYdxr.js +47 -0
  7. package/dist/assets/{solana-c_vE3Ye5.js → solana-DXbD7wpn.js} +2 -2
  8. package/dist/assets/{solanaEmbed.esm-Bx0ME0S1.js → solanaEmbed.esm-CcwIvLto.js} +10 -10
  9. package/dist/main.js +106 -106
  10. package/dist/src/config/constants.d.ts.map +1 -1
  11. package/dist/src/config/mainnet/chains.d.ts.map +1 -1
  12. package/dist/src/config/mainnet/rpcs.d.ts.map +1 -1
  13. package/dist/src/config/mainnet/tokens.d.ts.map +1 -1
  14. package/dist/src/config/tokens.d.ts +1 -1
  15. package/dist/src/config/tokens.d.ts.map +1 -1
  16. package/dist/src/config/types.d.ts +1 -1
  17. package/dist/src/config/types.d.ts.map +1 -1
  18. package/dist/src/hooks/useTransactionHistoryMayan.d.ts.map +1 -1
  19. package/dist/src/hooks/useTransactionHistoryWHScan.d.ts.map +1 -1
  20. package/dist/src/icons/ChainIcons.d.ts.map +1 -1
  21. package/dist/src/icons/Chains/BERA.d.ts +4 -0
  22. package/dist/src/icons/Chains/BERA.d.ts.map +1 -0
  23. package/dist/src/icons/Tokens/BERA.d.ts +4 -0
  24. package/dist/src/icons/Tokens/BERA.d.ts.map +1 -0
  25. package/dist/src/sdklegacy/config/MAINNET.d.ts.map +1 -1
  26. package/dist/src/store/transferInput.d.ts +1 -1
  27. package/dist/src/store/transferInput.d.ts.map +1 -1
  28. package/dist/src/utils/coingecko.d.ts.map +1 -1
  29. package/dist/src/views/v2/Bridge/ReviewTransaction/index.d.ts.map +1 -1
  30. package/dist/src/views/v2/Bridge/Routes/SingleRoute.d.ts +1 -2
  31. package/dist/src/views/v2/Bridge/Routes/SingleRoute.d.ts.map +1 -1
  32. package/dist/src/views/v2/Bridge/Routes/index.d.ts.map +1 -1
  33. package/lib/{aptos-DxhN-FI3.mjs → aptos-BzWhIYlr.mjs} +5 -5
  34. package/lib/{aptos-CqfHXKy7.js → aptos-BzXZvGaH.js} +1 -1
  35. package/lib/{aptos-CzT6f7Ba.js → aptos-D3_AGWR7.js} +2 -2
  36. package/lib/{aptos-wFa1-xae.mjs → aptos-UPRxA7V-.mjs} +2 -2
  37. package/lib/{base64-C_XWimVd.js → base64-DRH1vfG7.js} +1 -1
  38. package/lib/{base64-L1vzz0KI.mjs → base64-DVjW5Kcf.mjs} +1 -1
  39. package/lib/{ccip-D6aPw5Ue.js → ccip-BB23_sIM.js} +1 -1
  40. package/lib/{ccip-z81HbzxN.mjs → ccip-wLlfyIvk.mjs} +1 -1
  41. package/lib/{chunk-IMTC3J2M-WMj1Jt5m.js → chunk-IMTC3J2M-CBauIJwr.js} +1 -1
  42. package/lib/{chunk-IMTC3J2M-CazR2ogu.mjs → chunk-IMTC3J2M-DNVBjBib.mjs} +3 -3
  43. package/lib/{events-D4Mv_WYU.js → events-CKwRCNdA.js} +1 -1
  44. package/lib/{events-BrdIAbQL.mjs → events-IHlp1dj4.mjs} +1 -1
  45. package/lib/{evm-CB6zu7io.mjs → evm-BabY832Q.mjs} +5 -5
  46. package/lib/{evm-BJL8RjTB.js → evm-C2f5n9qH.js} +3 -3
  47. package/lib/{evm-CULALpUt.mjs → evm-CogaB9FQ.mjs} +10 -6
  48. package/lib/{evm-Fk4wBAda.js → evm-CyaMnZnL.js} +1 -1
  49. package/lib/{index-DUGwXho3.js → index-5VUxPYxW.js} +115 -115
  50. package/lib/{index-DsYAlD9Y.mjs → index-B2wyWEm0.mjs} +2 -2
  51. package/lib/{index-BqaYMlOq.mjs → index-B5jfHVNH.mjs} +3 -3
  52. package/lib/{index-D2y7My6x.mjs → index-B60oaJsI.mjs} +2 -2
  53. package/lib/{index-Cf2BEUjb.mjs → index-B9LgOPw7.mjs} +1 -1
  54. package/lib/{index-jC1hUxPJ.mjs → index-BG8PXjVw.mjs} +1 -1
  55. package/lib/{index-ChzkRsG0.js → index-BM78yUJC.js} +1 -1
  56. package/lib/{index-HeldZ3mJ.mjs → index-BQ9dR-yJ.mjs} +2 -2
  57. package/lib/{index-BsYhqVq_.js → index-BZETHtjN.js} +1 -1
  58. package/lib/index-BhivGLAi.mjs +3236 -0
  59. package/lib/{index-B5TOuhBB.js → index-Bk1zihOK.js} +1 -1
  60. package/lib/{index-CtpCK8QC.js → index-Bket7LZZ.js} +1 -1
  61. package/lib/{index-BqCducVx.mjs → index-Bn72ykZ2.mjs} +3 -3
  62. package/lib/{index-BnVRRJvv.js → index-BtaC2yLu.js} +1 -1
  63. package/lib/{index-Dtg6idl8.js → index-BvuTcXfv.js} +1 -1
  64. package/lib/{index-DdRe9fUB.mjs → index-BxevXfo4.mjs} +1 -1
  65. package/lib/{index-DEpSdwA-.mjs → index-C1sV2FAp.mjs} +2 -2
  66. package/lib/{index-B9FwYN90.js → index-C407bW0H.js} +1 -1
  67. package/lib/{index-BT_eiQVC.js → index-CBlNoKKQ.js} +1 -1
  68. package/lib/{index-wAClTIQn.mjs → index-CNvVpBBa.mjs} +2 -2
  69. package/lib/{index-BsmdxKnE.mjs → index-CTm08KJA.mjs} +3008 -3525
  70. package/lib/{index-GM4m48QO.js → index-CV8YMcz4.js} +1 -1
  71. package/lib/{index-BTmEJpYG.mjs → index-Cs0blatJ.mjs} +1 -1
  72. package/lib/{index-CS3t6bxx.mjs → index-CzwViHJ0.mjs} +1 -1
  73. package/lib/{index-CGdGYg5B.mjs → index-D19sSkOu.mjs} +2 -2
  74. package/lib/{index-Xy8XaqU-.js → index-D6VdydhT.js} +1 -1
  75. package/lib/{index-C0MgLwy8.js → index-DIVxdT0X.js} +1 -1
  76. package/lib/index-DT-Qo8X9.js +14 -0
  77. package/lib/{index-DJJ3umH8.mjs → index-DUGSEVtX.mjs} +2 -2
  78. package/lib/{index-BGZONAdj.js → index-Dfo6fMQc.js} +1 -1
  79. package/lib/{index-CkUMgihl.js → index-DhpLGCAx.js} +1 -1
  80. package/lib/{index-Cuov-W4s.js → index-DiEuvJoC.js} +1 -1
  81. package/lib/{index-CAqS4koK.js → index-DqlsWTi0.js} +1 -1
  82. package/lib/{index-DXIpHh2N.mjs → index-DrO4MMc6.mjs} +4 -4
  83. package/lib/{index-C_2eG0Va.mjs → index-FVwpVvZ7.mjs} +1 -1
  84. package/lib/{index-CuPOodtE.js → index-ImA899Nn.js} +1 -1
  85. package/lib/{index-CuWt4RaJ.js → index-ItME4Ygf.js} +1 -1
  86. package/lib/index-M6UZ-4MJ.js +531 -0
  87. package/lib/{index-DtqIOAjg.mjs → index-or7CYt4J.mjs} +1 -1
  88. package/lib/{index-DGcrnWdu.mjs → index-qAojYF7t.mjs} +15207 -14384
  89. package/lib/{index-DpfI-2hT.mjs → index-y5-IYFyD.mjs} +2 -2
  90. package/lib/{index-CayMgbM_.js → index-zfWv19dx.js} +1 -1
  91. package/lib/index.es-C3FF2T3n.js +46 -0
  92. package/lib/index.es-dld457ym.mjs +7725 -0
  93. package/lib/index.js +1 -1
  94. package/lib/index.mjs +1 -1
  95. package/lib/{signer-BBJR-S7u.mjs → signer-BBccJJ2M.mjs} +1 -1
  96. package/lib/{signer-D8m72nd4.js → signer-BpeTLqjx.js} +1 -1
  97. package/lib/solana-4RJ4XeTx.js +1 -0
  98. package/lib/{solana-tZZpsxE8.js → solana-BIaWIfzq.js} +1 -1
  99. package/lib/{solana-DdLCPKF2.mjs → solana-Ds-NCQtw.mjs} +5 -5
  100. package/lib/{solana-DB5vwgKO.mjs → solana-zqUypMcM.mjs} +4 -4
  101. package/lib/{solanaEmbed.esm-TpsYEDsw.js → solanaEmbed.esm-BxikN_Mz.js} +10 -10
  102. package/lib/{solanaEmbed.esm-ANGjgiaN.mjs → solanaEmbed.esm-DRkknJ2o.mjs} +1559 -1560
  103. package/lib/src/config/constants.d.ts.map +1 -1
  104. package/lib/src/config/mainnet/chains.d.ts.map +1 -1
  105. package/lib/src/config/mainnet/rpcs.d.ts.map +1 -1
  106. package/lib/src/config/mainnet/tokens.d.ts.map +1 -1
  107. package/lib/src/config/tokens.d.ts +1 -1
  108. package/lib/src/config/tokens.d.ts.map +1 -1
  109. package/lib/src/config/types.d.ts +1 -1
  110. package/lib/src/config/types.d.ts.map +1 -1
  111. package/lib/src/hooks/useTransactionHistoryMayan.d.ts.map +1 -1
  112. package/lib/src/hooks/useTransactionHistoryWHScan.d.ts.map +1 -1
  113. package/lib/src/icons/ChainIcons.d.ts.map +1 -1
  114. package/lib/src/icons/Chains/BERA.d.ts +4 -0
  115. package/lib/src/icons/Chains/BERA.d.ts.map +1 -0
  116. package/lib/src/icons/Tokens/BERA.d.ts +4 -0
  117. package/lib/src/icons/Tokens/BERA.d.ts.map +1 -0
  118. package/lib/src/sdklegacy/config/MAINNET.d.ts.map +1 -1
  119. package/lib/src/store/transferInput.d.ts +1 -1
  120. package/lib/src/store/transferInput.d.ts.map +1 -1
  121. package/lib/src/utils/coingecko.d.ts.map +1 -1
  122. package/lib/src/views/v2/Bridge/ReviewTransaction/index.d.ts.map +1 -1
  123. package/lib/src/views/v2/Bridge/Routes/SingleRoute.d.ts +1 -2
  124. package/lib/src/views/v2/Bridge/Routes/SingleRoute.d.ts.map +1 -1
  125. package/lib/src/views/v2/Bridge/Routes/index.d.ts.map +1 -1
  126. package/lib/{sui-DKw9LmTC.mjs → sui-5OP1jpsj.mjs} +1 -1
  127. package/lib/{sui-UELhAZj0.js → sui-710wCQpP.js} +1 -1
  128. package/lib/{sui-D9F11hKw.js → sui-8bnax2uU.js} +2 -2
  129. package/lib/{sui-BFNsLy1t.mjs → sui-n-MTTZiA.mjs} +5 -5
  130. package/package.json +22 -18
  131. package/dist/assets/index-BUd_4Lqz.js +0 -14
  132. package/dist/assets/index-Db_i6Hbk.js +0 -531
  133. package/dist/assets/index.es-BYwyqXqm.js +0 -47
  134. package/dist/src/config/routes.d.ts +0 -10
  135. package/dist/src/config/routes.d.ts.map +0 -1
  136. package/lib/index-5EBn2EJL.mjs +0 -2709
  137. package/lib/index-CYpOkqEl.js +0 -14
  138. package/lib/index-Cst2493l.js +0 -531
  139. package/lib/index.es-DG7BWZ8R.js +0 -46
  140. package/lib/index.es-IbuqEs8_.mjs +0 -8242
  141. package/lib/solana-521ACL4P.js +0 -1
  142. package/lib/src/config/routes.d.ts +0 -10
  143. package/lib/src/config/routes.d.ts.map +0 -1
@@ -1,8 +1,8 @@
1
1
  var z = Object.defineProperty;
2
2
  var L = (p, e, t) => e in p ? z(p, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : p[e] = t;
3
3
  var u = (p, e, t) => L(p, typeof e != "symbol" ? e + "" : e, t);
4
- import { b5 as D, m as C, r as T, b6 as S, az as I, j as s, b7 as V, b8 as G, E as B, b as F, b9 as f, ba as h, bb as H, bc as l, bd as M, a4 as y, be as Y, bf as J, bg as K, bh as X, bi as Z, bj as tt, _ as et } from "./index-DGcrnWdu.mjs";
5
- import { EvmTokenBridge as nt } from "./index-Cf2BEUjb.mjs";
4
+ import { b5 as D, m as C, r as T, b6 as S, az as I, j as s, b7 as V, b8 as G, E as B, b as F, b9 as f, ba as h, bb as H, bc as l, bd as M, a4 as y, be as Y, bf as J, bg as K, bh as X, bi as Z, bj as tt, _ as et } from "./index-qAojYF7t.mjs";
5
+ import { EvmTokenBridge as nt } from "./index-B9LgOPw7.mjs";
6
6
  const v = new D([
7
7
  "function start((bytes32,address,address,address,address,address,uint256,uint256,uint256,uint256)) returns (address,uint16,uint64)",
8
8
  "function receiveMessageAndSwap(bytes)"
@@ -1 +1 @@
1
- "use strict";var l=Object.defineProperty;var y=(i,e,t)=>e in i?l(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var o=(i,e,t)=>y(i,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./index-DUGwXho3.js"),g=require("./unsignedTransaction-C1YeEl4G.js"),f=require("./aptos-CzT6f7Ba.js"),w=[{name:"tokenBridgeAddress",...s.universalAddressItem},{name:"chain",...s.chainItem()},{name:"domainSeparator",binary:"bytes",custom:s.bytes.encode(s.APTOS_SEPARATOR),omit:!0},{name:"tokenId",...s.universalAddressItem},{name:"domainSeparator",binary:"bytes",custom:new Uint8Array([255]),omit:!0}],T=i=>s.serialize$1(w,i);class d{constructor(e,t,n,r){o(this,"network");o(this,"chain");o(this,"connection");o(this,"contracts");o(this,"chainId");o(this,"tokenBridgeAddress");this.network=e,this.chain=t,this.connection=n,this.contracts=r,this.chainId=s.toChainId(t);const a=r.tokenBridge;if(!a)throw new Error(`TokenBridge contract Address for chain ${t} not found`);this.tokenBridgeAddress=a}static async fromRpc(e,t){const[n,r]=await f.AptosPlatform.chainFromRpc(e),a=t[r];if(a.network!==n)throw new Error("Network mismatch "+a.network+" !== "+n);return new d(n,r,e,a.contracts)}async isWrappedAsset(e){try{return await this.getOriginalAsset(e),!0}catch{return!1}}async getOriginalAsset(e){const t=e.toString().split(s.APTOS_SEPARATOR),n=await this.connection.getAccountResource({accountAddress:t[0],resourceType:`${this.tokenBridgeAddress}::state::OriginInfo`});if(!n)throw s.ErrNotWrapped(e.toString());const r=s.toChain(parseInt(n.token_chain.number)),a=new s.UniversalAddress(n.token_address.external_address);return{chain:r,address:a}}async getTokenUniversalAddress(e){return new s.UniversalAddress(s.hex.encode(s.sha3_256(e.toString()),!0))}async getTokenNativeAddress(e,t){const n=e===this.chain?await this.getTypeFromExternalAddress(t.toString()):await this.getAssetFullyQualifiedType({chain:e,address:t});if(!n)throw new Error("Invalid asset address.");return new s.AptosAddress(n)}async hasWrappedAsset(e){try{return await this.getWrappedAsset(e),!0}catch{}return!1}async getWrappedAsset(e){if(s.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:s.coalesceModuleAddress(t),resourceType:`${this.tokenBridgeAddress}::state::OriginInfo`}),s.toNative(this.chain,t)}async isTransferCompleted(e){const n=(await this.connection.getAccountResource({accountAddress:this.tokenBridgeAddress,resourceType:`${this.tokenBridgeAddress}::state::State`})).consumed_vaas.elems.handle;try{return await this.connection.getTableItem({handle:n,data:{key_type:"vector<u8>",value_type:"u8",key:`0x${s.dist.Buffer.from(s.keccak_256(e.hash)).toString("hex")}`}}),!0}catch{return!1}}async getWrappedNative(){return s.toNative(this.chain,s.APTOS_COIN)}async*createAttestation(e,t){const n={chain:this.chain,address:new s.AptosAddress(e)},r=await this.getAssetFullyQualifiedType(n);if(!r)throw new Error("Invalid asset address.");yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::attest_token::attest_token_entry`,typeArguments:[r],functionArguments:[]},"Aptos.AttestToken")}async*submitAttestation(e,t){yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::wrapped::create_wrapped_coin_type`,typeArguments:[],functionArguments:[s.serialize(e)]},"Aptos.CreateWrappedCoinType");const n=await this.getAssetFullyQualifiedType(e.payload.token);if(!n)throw new Error("Invalid asset address.");yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::wrapped::create_wrapped_coin`,typeArguments:[n],functionArguments:[s.serialize(e)]},"Aptos.CreateWrappedCoin")}async*transfer(e,t,n,r,a){const p=0n,c=0n,h=s.isNative(n)?s.APTOS_COIN:n.toString(),u=t.address.toUniversalAddress().toUint8Array(),A=s.toChainId(t.chain);a?yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::transfer_tokens::transfer_tokens_with_payload_entry`,typeArguments:[h],functionArguments:[r,A,u,c,a]},"Aptos.TransferTokensWithPayload"):yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::transfer_tokens::transfer_tokens_entry`,typeArguments:[h],functionArguments:[r,A,u,p,c]},"Aptos.TransferTokens")}async*redeem(e,t,n=!0){const r=t.payload.token.chain===this.chain?await this.getTypeFromExternalAddress(t.payload.token.address.toString()):await this.getAssetFullyQualifiedType(t.payload.token);if(!r)throw new Error("Invalid asset address.");yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::complete_transfer::submit_vaa_and_register_entry`,typeArguments:[r],functionArguments:[s.serialize(t)]},"Aptos.CompleteTransfer")}async getAssetFullyQualifiedType(e){return e.chain===this.chain?s.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:n}=t.native_infos,r=await this.connection.getTableItem({handle:n,data:{key_type:`${this.tokenBridgeAddress}::token_hash::TokenHash`,value_type:"0x1::type_info::TypeInfo",key:{hash:e}}});return r?[r.account_address,String.fromCharCode(...s.hex.decode(r.module_name)),String.fromCharCode(...s.hex.decode(r.struct_name))].join(s.APTOS_SEPARATOR):null}catch{return null}}static getForeignAssetAddress(e,t,n){if(s.isNative(n.address))throw new Error("Invalid token address");const r=T({chain:n.chain,tokenBridgeAddress:new s.AptosAddress(t).toUniversalAddress(),tokenId:n.address.toUniversalAddress()});return s.hex.encode(s.sha3_256(r),!0)}createUnsignedTx(e,t,n=!1){return new g.AptosUnsignedTransaction(e,this.network,this.chain,t,n)}}s.registerProtocol("Aptos","TokenBridge",d);exports.AptosTokenBridge=d;
1
+ "use strict";var l=Object.defineProperty;var y=(i,e,t)=>e in i?l(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var o=(i,e,t)=>y(i,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./index-5VUxPYxW.js"),g=require("./unsignedTransaction-C1YeEl4G.js"),f=require("./aptos-D3_AGWR7.js"),w=[{name:"tokenBridgeAddress",...s.universalAddressItem},{name:"chain",...s.chainItem()},{name:"domainSeparator",binary:"bytes",custom:s.bytes.encode(s.APTOS_SEPARATOR),omit:!0},{name:"tokenId",...s.universalAddressItem},{name:"domainSeparator",binary:"bytes",custom:new Uint8Array([255]),omit:!0}],T=i=>s.serialize$1(w,i);class d{constructor(e,t,n,r){o(this,"network");o(this,"chain");o(this,"connection");o(this,"contracts");o(this,"chainId");o(this,"tokenBridgeAddress");this.network=e,this.chain=t,this.connection=n,this.contracts=r,this.chainId=s.toChainId(t);const a=r.tokenBridge;if(!a)throw new Error(`TokenBridge contract Address for chain ${t} not found`);this.tokenBridgeAddress=a}static async fromRpc(e,t){const[n,r]=await f.AptosPlatform.chainFromRpc(e),a=t[r];if(a.network!==n)throw new Error("Network mismatch "+a.network+" !== "+n);return new d(n,r,e,a.contracts)}async isWrappedAsset(e){try{return await this.getOriginalAsset(e),!0}catch{return!1}}async getOriginalAsset(e){const t=e.toString().split(s.APTOS_SEPARATOR),n=await this.connection.getAccountResource({accountAddress:t[0],resourceType:`${this.tokenBridgeAddress}::state::OriginInfo`});if(!n)throw s.ErrNotWrapped(e.toString());const r=s.toChain(parseInt(n.token_chain.number)),a=new s.UniversalAddress(n.token_address.external_address);return{chain:r,address:a}}async getTokenUniversalAddress(e){return new s.UniversalAddress(s.hex.encode(s.sha3_256(e.toString()),!0))}async getTokenNativeAddress(e,t){const n=e===this.chain?await this.getTypeFromExternalAddress(t.toString()):await this.getAssetFullyQualifiedType({chain:e,address:t});if(!n)throw new Error("Invalid asset address.");return new s.AptosAddress(n)}async hasWrappedAsset(e){try{return await this.getWrappedAsset(e),!0}catch{}return!1}async getWrappedAsset(e){if(s.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:s.coalesceModuleAddress(t),resourceType:`${this.tokenBridgeAddress}::state::OriginInfo`}),s.toNative(this.chain,t)}async isTransferCompleted(e){const n=(await this.connection.getAccountResource({accountAddress:this.tokenBridgeAddress,resourceType:`${this.tokenBridgeAddress}::state::State`})).consumed_vaas.elems.handle;try{return await this.connection.getTableItem({handle:n,data:{key_type:"vector<u8>",value_type:"u8",key:`0x${s.dist.Buffer.from(s.keccak_256(e.hash)).toString("hex")}`}}),!0}catch{return!1}}async getWrappedNative(){return s.toNative(this.chain,s.APTOS_COIN)}async*createAttestation(e,t){const n={chain:this.chain,address:new s.AptosAddress(e)},r=await this.getAssetFullyQualifiedType(n);if(!r)throw new Error("Invalid asset address.");yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::attest_token::attest_token_entry`,typeArguments:[r],functionArguments:[]},"Aptos.AttestToken")}async*submitAttestation(e,t){yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::wrapped::create_wrapped_coin_type`,typeArguments:[],functionArguments:[s.serialize(e)]},"Aptos.CreateWrappedCoinType");const n=await this.getAssetFullyQualifiedType(e.payload.token);if(!n)throw new Error("Invalid asset address.");yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::wrapped::create_wrapped_coin`,typeArguments:[n],functionArguments:[s.serialize(e)]},"Aptos.CreateWrappedCoin")}async*transfer(e,t,n,r,a){const p=0n,c=0n,h=s.isNative(n)?s.APTOS_COIN:n.toString(),u=t.address.toUniversalAddress().toUint8Array(),A=s.toChainId(t.chain);a?yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::transfer_tokens::transfer_tokens_with_payload_entry`,typeArguments:[h],functionArguments:[r,A,u,c,a]},"Aptos.TransferTokensWithPayload"):yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::transfer_tokens::transfer_tokens_entry`,typeArguments:[h],functionArguments:[r,A,u,p,c]},"Aptos.TransferTokens")}async*redeem(e,t,n=!0){const r=t.payload.token.chain===this.chain?await this.getTypeFromExternalAddress(t.payload.token.address.toString()):await this.getAssetFullyQualifiedType(t.payload.token);if(!r)throw new Error("Invalid asset address.");yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::complete_transfer::submit_vaa_and_register_entry`,typeArguments:[r],functionArguments:[s.serialize(t)]},"Aptos.CompleteTransfer")}async getAssetFullyQualifiedType(e){return e.chain===this.chain?s.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:n}=t.native_infos,r=await this.connection.getTableItem({handle:n,data:{key_type:`${this.tokenBridgeAddress}::token_hash::TokenHash`,value_type:"0x1::type_info::TypeInfo",key:{hash:e}}});return r?[r.account_address,String.fromCharCode(...s.hex.decode(r.module_name)),String.fromCharCode(...s.hex.decode(r.struct_name))].join(s.APTOS_SEPARATOR):null}catch{return null}}static getForeignAssetAddress(e,t,n){if(s.isNative(n.address))throw new Error("Invalid token address");const r=T({chain:n.chain,tokenBridgeAddress:new s.AptosAddress(t).toUniversalAddress(),tokenId:n.address.toUniversalAddress()});return s.hex.encode(s.sha3_256(r),!0)}createUnsignedTx(e,t,n=!1){return new g.AptosUnsignedTransaction(e,this.network,this.chain,t,n)}}s.registerProtocol("Aptos","TokenBridge",d);exports.AptosTokenBridge=d;