@wormhole-foundation/wormhole-connect 4.0.0-beta.0-development → 4.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.
- package/dist/assets/{aptos-CIKjhZ5R.js → aptos-CaGPw7HM.js} +2 -2
- package/dist/assets/create-54a95t1x.js +1 -0
- package/dist/assets/{evm-Ky_mCHhS.js → evm-Bv0RsFka.js} +2 -2
- package/dist/assets/{index-DW7sWcdW.js → index-B5JfIVKE.js} +1 -1
- package/dist/assets/{index-DHLr3HmO.js → index-BCD-VOiF.js} +1 -1
- package/dist/assets/index-BwhO0jGm.js +1 -0
- package/dist/assets/{index-DpM61P6H.js → index-CMULoTsT.js} +1 -1
- package/dist/assets/{index-DZpeOp3V.js → index-CO4HXUmy.js} +1 -1
- package/dist/assets/{index-Bg3NWSHL.js → index-COw2RtBx.js} +1 -1
- package/dist/assets/{index-DRk-Cj0P.js → index-ClrVAZUa.js} +1 -1
- package/dist/assets/{index-D7RgFG0F.js → index-CzQeh-hT.js} +1 -1
- package/dist/assets/{index-Csghphw2.js → index-DC4mZtDw.js} +1 -1
- package/dist/assets/{index-Cqs_fFht.js → index-DI-xN_q3.js} +1 -1
- package/dist/assets/{index-DVbfoP0w.js → index-DRsHBjoG.js} +1 -1
- package/dist/assets/{index-CdAFGcxx.js → index-DXcQbQ8r.js} +1 -1
- package/dist/assets/{index-DJ52h-dV.js → index-DxHhcWFS.js} +1 -1
- package/dist/assets/{index-g9iLhWvp.js → index-GKTf0CV7.js} +1 -1
- package/dist/assets/{index-DuR9wYhp.js → index-aoYIFErC.js} +1 -1
- package/dist/assets/{index-DfNgilHG.js → index-jixjwN_L.js} +1 -1
- package/dist/assets/{solana-jYIeIu4B.js → solana-DpD0VkQS.js} +2 -2
- package/dist/assets/{sui-B96bqBVv.js → sui-7K04yY2U.js} +2 -2
- package/dist/main.js +75 -75
- package/dist/src/components/TokenBalance.d.ts.map +1 -1
- package/dist/src/config/mainnet/tokens.d.ts.map +1 -1
- package/dist/src/config/testnet/tokens.d.ts.map +1 -1
- package/dist/src/contexts/wallet/WalletProvider.d.ts.map +1 -1
- package/dist/src/hooks/useFetchSupportedRoutes.d.ts.map +1 -1
- package/dist/src/hooks/useTokenListWithSearch.d.ts +1 -4
- package/dist/src/hooks/useTokenListWithSearch.d.ts.map +1 -1
- package/dist/src/routes/operator.d.ts.map +1 -1
- package/dist/src/routes/sdkv2/route.d.ts +2 -2
- package/dist/src/routes/sdkv2/route.d.ts.map +1 -1
- package/dist/src/telemetry/types.d.ts +1 -0
- package/dist/src/telemetry/types.d.ts.map +1 -1
- package/dist/src/utils/sdkv2.d.ts.map +1 -1
- package/dist/src/utils/wrappedNativeTokens.d.ts +12 -0
- package/dist/src/utils/wrappedNativeTokens.d.ts.map +1 -0
- package/dist/src/views/Terms.d.ts.map +1 -1
- package/dist/src/views/v2/Bridge/AssetPicker/TokenList.d.ts.map +1 -1
- package/dist/src/views/v3/Bridge/AssetPicker/SearchableList/index.d.ts.map +1 -1
- package/dist/src/views/v3/Bridge/AssetPicker/TokenList.d.ts.map +1 -1
- package/dist/src/views/v3/Bridge/AssetPicker/TokenSectionHeader.d.ts +2 -4
- package/dist/src/views/v3/Bridge/AssetPicker/TokenSectionHeader.d.ts.map +1 -1
- package/lib/{account-D0Q4K1CI.js → account-24z6tDMM.js} +1 -1
- package/lib/{account-BdDruAAr.mjs → account-BcnWVXmg.mjs} +1 -1
- package/lib/{address-fSXS9iww.mjs → address-BX2fIOro.mjs} +1 -1
- package/lib/{address-BO6rj6uK.js → address-Bc-5yO4D.js} +1 -1
- package/lib/{aptos-BnKScTtI.mjs → aptos-DO_Sexq-.mjs} +7 -7
- package/lib/{aptos-B3C7cnvM.js → aptos-DffuIzI0.js} +2 -2
- package/lib/{aptos-B1VSCmD9.mjs → aptos-Dol0ReEK.mjs} +4 -4
- package/lib/{aptos-DG7QN21P.js → aptos-eGdJuKke.js} +1 -1
- package/lib/{basic-CN2jAqvS.js → basic-B3aoOwRb.js} +1 -1
- package/lib/{basic-BRYkcAmD.mjs → basic-BI1HDLIO.mjs} +4 -4
- package/lib/{basic-Cw13RoYq.mjs → basic-C6oQe5cg.mjs} +4 -4
- package/lib/{basic-DufHOLGA.js → basic-pJmrDH53.js} +1 -1
- package/lib/{blake2b-CT6EW399.mjs → blake2b-CVpPk5O9.mjs} +1 -1
- package/lib/{blake2b-B_Q_lTGN.js → blake2b-DXExLbRg.js} +1 -1
- package/lib/{browser-ponyfill-CnfcLhK-.mjs → browser-ponyfill-DeOApqpH.mjs} +1 -1
- package/lib/{browser-ponyfill-DbGoEOBo.js → browser-ponyfill-VhIu9z_I.js} +1 -1
- package/lib/{chain-BCKkYvDb.js → chain-BxNUWKZE.js} +1 -1
- package/lib/{chain-_dXKRkCE.mjs → chain-CvZsIsLh.mjs} +1 -1
- package/lib/{chunk-KJH4KKG6-RA0hChr8.mjs → chunk-KJH4KKG6-BgebMATq.mjs} +2 -2
- package/lib/{chunk-KJH4KKG6-BXBLZwfY.js → chunk-KJH4KKG6-DNlN4p21.js} +1 -1
- package/lib/{constants-QsbOfMbk.mjs → constants-BPs5UFxq.mjs} +1 -1
- package/lib/constants-BqHCu7gS.js +1 -0
- package/lib/{contract-MkLF5rqi.js → contract-CTycrpaK.js} +1 -1
- package/lib/{contract-C_4H8x77.mjs → contract-KYuIk_vR.mjs} +1 -1
- package/lib/{core-Cpb3gtg_.js → core-BN_eDiBJ.js} +3 -3
- package/lib/{core-ntLR7o2S.mjs → core-BZzw8R4f.mjs} +6 -6
- package/lib/{create-naslyPfU.mjs → create-BvzkkBPW.mjs} +1 -1
- package/lib/{create-CfgTxAS-.js → create-CGZYy2vu.js} +1 -1
- package/lib/{evm-aSG_vFbw.js → evm-BdbjSrMR.js} +2 -2
- package/lib/{evm-B20n3mf_.mjs → evm-CUhPokEi.mjs} +7 -7
- package/lib/{evm-C6xp3v8Z.mjs → evm-IC5cigOX.mjs} +9 -9
- package/lib/{evm-B3G2Vkzg.js → evm-bdCQPjof.js} +2 -2
- package/lib/executor.js +1 -1
- package/lib/executor.mjs +815 -572
- package/lib/hosted.js +1 -1
- package/lib/hosted.mjs +1 -1
- package/lib/{index-B9ybSY9R.mjs → index-1boJ8yzF.mjs} +5 -5
- package/lib/{index-BJcbyvof.js → index-943_uCEO.js} +1 -1
- package/lib/{index-Dq7WWqFe.js → index-B7HBnPLP.js} +1 -1
- package/lib/{index-DQX74QAE.js → index-BFBwRlid.js} +1 -1
- package/lib/{index-C6XNAQ4w.js → index-BZZZ8OeS.js} +1 -1
- package/lib/{index-CU73EUQW.js → index-BeBO_sCU.js} +1 -1
- package/lib/{index-BTUx12aa.js → index-Bhwzpq1T.js} +1 -1
- package/lib/{index-MsaML_Ju.mjs → index-Bicx897u.mjs} +2 -2
- package/lib/{index-Dajw3Alx.mjs → index-BlWksu-f.mjs} +1 -1
- package/lib/{index-QlIJYJce.js → index-Blvg4PFN.js} +66 -66
- package/lib/{index-DS8bl8fA.mjs → index-Bn0hkKKz.mjs} +4 -4
- package/lib/{index-tztRp3yJ.js → index-BnMkdrhM.js} +1 -1
- package/lib/{index-BojkMsXD.js → index-BoKTcLq-.js} +1 -1
- package/lib/{index-BRYq_Nt2.mjs → index-Bp4ojxz6.mjs} +4 -4
- package/lib/{index-Cnznwcdb.js → index-BqabgGIh.js} +1 -1
- package/lib/{index-DxYgNWMY.mjs → index-BtEjOWoP.mjs} +3 -3
- package/lib/{index-Bhd_YhUf.js → index-C9Bk-rKp.js} +1 -1
- package/lib/{index-YAL4zolc.js → index-C9uGqcwH.js} +1 -1
- package/lib/{index-BQvEIlB2.mjs → index-CBGUPQXa.mjs} +3 -3
- package/lib/{index-IHxtA-NL.js → index-CGpn3INM.js} +1 -1
- package/lib/{index-DSmKiYkD.mjs → index-CQ0RB2r3.mjs} +5 -5
- package/lib/{index-7_BfcP8x.mjs → index-CR3DmYPt.mjs} +2105 -2021
- package/lib/{index-BRyW-hBN.mjs → index-CTpINVAG.mjs} +2 -2
- package/lib/{index-C3LC73WN.js → index-CbFvm_Mr.js} +1 -1
- package/lib/{index-bNUantLb.js → index-CjjP3Qp5.js} +1 -1
- package/lib/{index-DqzqJgVc.mjs → index-CkvxfaqA.mjs} +3 -3
- package/lib/{index-DfDB5FLw.js → index-ClMpLrxa.js} +1 -1
- package/lib/{index-B7VNYedX.mjs → index-CtU_hkYp.mjs} +4 -4
- package/lib/index-Cv9hvmqc.js +1 -0
- package/lib/{index-DMOY218i.js → index-CzRVzbTC.js} +1 -1
- package/lib/{index-B4S4sz6p.mjs → index-Czxl_5Tr.mjs} +5 -5
- package/lib/{index-Cb9lswnP.js → index-D61fXWwH.js} +8 -8
- package/lib/{index-D0XQIiQn.js → index-D6qJDbzm.js} +1 -1
- package/lib/{index-C3L-xKvN.mjs → index-DJs1h8_N.mjs} +4839 -4850
- package/lib/{index-BD0gcmCp.mjs → index-DPpi4Don.mjs} +5 -5
- package/lib/{index-D5ENAOm3.js → index-DmsirrTI.js} +1 -1
- package/lib/{index-DnO0ZdKy.mjs → index-DpN0dULN.mjs} +1 -1
- package/lib/{index-BNuKzxGJ.js → index-DydXCN0v.js} +1 -1
- package/lib/{index-D-H8WyKb.mjs → index-N8cPdMnf.mjs} +1 -1
- package/lib/{index-CSMunRpZ.mjs → index-NKV6j8zE.mjs} +3 -3
- package/lib/{index-BIYx5IBr.mjs → index-OlMuNft9.mjs} +3 -3
- package/lib/{index-Bz7ogqhR.mjs → index-UOvy4usi.mjs} +1 -1
- package/lib/{index-D1y-l93C.js → index-UbeUI3Ir.js} +1 -1
- package/lib/{index-BZYEbYGY.mjs → index-ZGgSxaDf.mjs} +3 -3
- package/lib/{index-DFpSbD7R.mjs → index-_e8uUnEK.mjs} +5 -5
- package/lib/{index-vhQ5Q8ov.mjs → index-dU3yVyBt.mjs} +52 -97
- package/lib/{index.es-C476iHvN.mjs → index.es-B5hLka3L.mjs} +4 -4
- package/lib/{index.es-CkGpObng.js → index.es-CSmeunOk.js} +3 -3
- package/lib/{index.es-CU6nhwJO.js → index.es-E2DQPkYK.js} +1 -1
- package/lib/{index.es-CtiAoQ78.mjs → index.es-Vlpe_OYB.mjs} +3 -3
- package/lib/index.js +1 -1
- package/lib/index.mjs +5 -5
- package/lib/mayan.js +1 -1
- package/lib/mayan.mjs +11 -11
- package/lib/{mint-zy6P38iu.js → mint-B4t2SvV6.js} +1 -1
- package/lib/{mint-DyoU9X22.mjs → mint-BGuU5y5m.mjs} +1 -1
- package/lib/ntt.js +1 -1
- package/lib/ntt.mjs +14 -12
- package/lib/{platform-x3ZBJ0YM.js → platform-Bkbg7A9d.js} +1 -1
- package/lib/{platform-BqpAMtgx.mjs → platform-C5gJAqtZ.mjs} +3 -3
- package/lib/{platform-BhspUaMJ.js → platform-C6QB7aIN.js} +1 -1
- package/lib/{platform-DQfpyXSV.mjs → platform-DBNvSsue.mjs} +4 -4
- package/lib/{platform-BHAZvZ_O.mjs → platform-DtB8gGMl.mjs} +4 -4
- package/lib/{platform-4nANkJAM.js → platform-qdbxkhTI.js} +1 -1
- package/lib/{provider-jsonrpc-DIXcAw4Q.mjs → provider-jsonrpc-BIIDy-Aw.mjs} +2 -2
- package/lib/{provider-jsonrpc-BCKoIijx.js → provider-jsonrpc-DHzam3ud.js} +1 -1
- package/lib/{secp256k1-CaaRyr2C.mjs → secp256k1-B-wUOgWh.mjs} +1 -1
- package/lib/{secp256k1-CFt7TfEF.js → secp256k1-BAjH_sHz.js} +1 -1
- package/lib/{secp256k1-UnRv5Suy.mjs → secp256k1-CpJIg24C.mjs} +1 -1
- package/lib/{secp256k1-C60XBS-e.js → secp256k1-Ds1M1Mtb.js} +1 -1
- package/lib/{secp256k1-BIiWvuxu.js → secp256k1-PbbUc2aU.js} +1 -1
- package/lib/{secp256k1-BWFGSbjt.mjs → secp256k1-YWWAmpaN.mjs} +1 -1
- package/lib/{signer-DhO2iGae.mjs → signer-BH3gAHuj.mjs} +2 -2
- package/lib/{signer-BFY1Ytf6.js → signer-MBixef_P.js} +1 -1
- package/lib/{solana-CQk4ocg8.mjs → solana-Bh5bkUXQ.mjs} +11 -11
- package/lib/solana-C8xK8qJY.mjs +18 -0
- package/lib/solana-CRSliekb.js +1 -0
- package/lib/{solana-Cp49k9--.js → solana-sjjxa4_B.js} +4 -4
- package/lib/{solanaEmbed.esm-Cwa6cl_R.js → solanaEmbed.esm-CDt8Bk0U.js} +1 -1
- package/lib/{solanaEmbed.esm-DBOqO9Ii.mjs → solanaEmbed.esm-DGgxfQDB.mjs} +3 -3
- package/lib/src/components/TokenBalance.d.ts.map +1 -1
- package/lib/src/config/mainnet/tokens.d.ts.map +1 -1
- package/lib/src/config/testnet/tokens.d.ts.map +1 -1
- package/lib/src/contexts/wallet/WalletProvider.d.ts.map +1 -1
- package/lib/src/hooks/useFetchSupportedRoutes.d.ts.map +1 -1
- package/lib/src/hooks/useTokenListWithSearch.d.ts +1 -4
- package/lib/src/hooks/useTokenListWithSearch.d.ts.map +1 -1
- package/lib/src/routes/operator.d.ts.map +1 -1
- package/lib/src/routes/sdkv2/route.d.ts +2 -2
- package/lib/src/routes/sdkv2/route.d.ts.map +1 -1
- package/lib/src/telemetry/types.d.ts +1 -0
- package/lib/src/telemetry/types.d.ts.map +1 -1
- package/lib/src/utils/sdkv2.d.ts.map +1 -1
- package/lib/src/utils/wrappedNativeTokens.d.ts +12 -0
- package/lib/src/utils/wrappedNativeTokens.d.ts.map +1 -0
- package/lib/src/views/Terms.d.ts.map +1 -1
- package/lib/src/views/v2/Bridge/AssetPicker/TokenList.d.ts.map +1 -1
- package/lib/src/views/v3/Bridge/AssetPicker/SearchableList/index.d.ts.map +1 -1
- package/lib/src/views/v3/Bridge/AssetPicker/TokenList.d.ts.map +1 -1
- package/lib/src/views/v3/Bridge/AssetPicker/TokenSectionHeader.d.ts +2 -4
- package/lib/src/views/v3/Bridge/AssetPicker/TokenSectionHeader.d.ts.map +1 -1
- package/lib/{sui-9gsoM56W.js → sui-Do5RtJvP.js} +1 -1
- package/lib/{sui-Cr98JBgS.js → sui-QcDjGW68.js} +1 -1
- package/lib/{sui-B4RvzEXx.mjs → sui-euceXgYf.mjs} +7 -7
- package/lib/{sui-C2a1eehP.mjs → sui-tKXg9e-c.mjs} +4 -4
- package/lib/{tokens-BbFKf6Hv.mjs → tokens-CNITO7DN.mjs} +3 -3
- package/lib/{tokens-LVHsSbYG.js → tokens-DhBcLH6x.js} +1 -1
- package/lib/{transfer-DZ-wNocj.js → transfer-BinEH6ml.js} +1 -1
- package/lib/{transfer-BV1ou1GP.mjs → transfer-DTvv5m_5.mjs} +2 -2
- package/lib/{units-BqUlbZ46.mjs → units-CVEv4txp.mjs} +2 -2
- package/lib/{units-D-oRQjOa.js → units-DtldPRXy.js} +1 -1
- package/lib/{unsignedTransaction-BmxD6VsY.mjs → unsignedTransaction-CVE7GUdC.mjs} +3 -3
- package/lib/{unsignedTransaction-CiPKh85X.js → unsignedTransaction-DL3WyIkF.js} +1 -1
- package/lib/{w3m-modal-CoTG8Zu4.js → w3m-modal-BUP-c20y.js} +1 -1
- package/lib/{w3m-modal-D4-nrnEK.mjs → w3m-modal-Bj2tG9wb.mjs} +2 -2
- package/lib/{w3m-modal-xqVExHU-.js → w3m-modal-CGeDlu49.js} +1 -1
- package/lib/{w3m-modal-3qLkbPfi.mjs → w3m-modal-D78VqEEI.mjs} +2 -2
- package/lib/{web3-C1wK6wIV.js → web3-BKaP497Y.js} +1 -1
- package/lib/{web3-BkEb7AgB.mjs → web3-BifDBsFp.mjs} +8 -4
- package/package.json +49 -44
- package/dist/assets/create-q7V6muDT.js +0 -1
- package/dist/assets/index-B59bCuJJ.js +0 -1
- package/lib/constants-BR_zyzqY.js +0 -1
- package/lib/index-CXsUtRJQ.js +0 -1
- package/lib/solana-Dv_mUYcl.mjs +0 -18
- package/lib/solana-g3YsP966.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{P as g,k as u,dt as te,du as Ue,T as Te,dv as Ce,dl as h,bm as ke,cY as x,dq as E,dr as F,bh as K,dm as ie,dw as _e,dx as Pe,K as ne,ae as Y,d0 as ve,d4 as Be,bi as ze}from"../main.js";import{d as m,P as Ke,c as qe}from"./index-g9iLhWvp.js";import{b as Fe,e as Ve}from"./signer-Dl8_VMmx.js";import{c as De}from"./create-q7V6muDT.js";const re=r=>typeof r=="string"?u.from(r):r;function S(r,e){return g.findProgramAddressSync(Array.isArray(r)?r.map(re):[re(r)],new g(e))[0]}function pt(r,e){return{pubkey:new g(r),isWritable:!0,isSigner:e}}function yt(r,e){return{pubkey:new g(r),isWritable:!1,isSigner:e}}function B(r){if(r===null)throw Error("account info is null");return r.data}const oe=new g("BPFLoaderUpgradeab1e11111111111111111111111");function Oe(r){return S([new g(r).toBuffer()],oe)}class Ge extends Error{constructor(e){super(e),this.name="IdlError"}}function ce(r,e){switch(e.type.kind){case"struct":return e.type.fields.map(t=>M(r,t.type)).reduce((t,n)=>t+n,0);case"enum":{const t=e.type.variants.map(n=>n.fields?n.fields.map(s=>typeof s=="object"&&"name"in s?M(r,s.type):M(r,s)).reduce((s,a)=>s+a,0):0);return Math.max(...t)+1}case"alias":return M(r,e.type.value)}}function M(r,e){switch(e){case"bool":return 1;case"u8":return 1;case"i8":return 1;case"i16":return 2;case"u16":return 2;case"u32":return 4;case"i32":return 4;case"f32":return 4;case"u64":return 8;case"i64":return 8;case"f64":return 8;case"u128":return 16;case"i128":return 16;case"u256":return 32;case"i256":return 32;case"bytes":return 1;case"string":return 1;case"publicKey":return 32;default:if("vec"in e)return 1;if("option"in e)return 1+M(r,e.option);if("coption"in e)return 4+M(r,e.coption);if("defined"in e){const t=r.types?.filter(s=>s.name===e.defined)??[];if(t.length!==1)throw new Ge(`Type not found: ${JSON.stringify(e)}`);let n=t[0];return ce(r,n)}if("array"in e){let t=e.array[0],n=e.array[1];return M(r,t)*n}throw new Error(`Invalid type ${JSON.stringify(e)}`)}}function _(r){return r.replace(/(?:^\w|[A-Z]|\b\w)/g,function(e,t){return t===0?e.toLowerCase():e.toUpperCase()}).replace(/[\s\-_]+/g,"")}function Ne(r){return r.charAt(0).toUpperCase()+r.slice(1)}const ue=[{name:"discriminator",binary:"bytes",size:4},{name:"consistencyLevel",binary:"uint",size:1,endianness:"little"},{name:"emitterAuthority",...te},{name:"messageStatus",binary:"uint",size:1,endianness:"little"},{name:"gap",binary:"uint",size:3},{name:"timestamp",binary:"uint",size:4,endianness:"little"},{name:"nonce",binary:"uint",size:4,endianness:"little"},{name:"sequence",binary:"uint",size:8,endianness:"little"},{name:"emitterChain",binary:"uint",size:2,endianness:"little"},{name:"emitterAddress",...te},{name:"payloadLength",binary:"uint",size:4,endianness:"little"},{name:"payload",binary:"bytes"}];function de(r){return Ue(ue,r)}function L(r,e,t,n){const s=typeof e=="string"?u.from(e,"hex"):u.from(e);if(s.length!=32)throw Error("address.length != 32");const a=u.alloc(8);return a.writeBigUInt64BE(typeof n=="number"?BigInt(n):n),S([s,(()=>{const i=u.alloc(2);return i.writeUInt16BE(t),i})(),a],r)}async function Re(r,e,t,n,s,a){return r.getAccountInfo(L(e,t,n,s),a).then(i=>!!B(i)[0])}function p(r){return S([u.from("Bridge")],r)}async function ge(r,e,t){return r.getAccountInfo(p(e),t).then(n=>D.deserialize(B(n)))}class V{guardianSetExpirationTime;fee;constructor(e,t){this.guardianSetExpirationTime=e,this.fee=t}static deserialize(e){if(e.length!=12)throw new Error("data.length != 12");const t=e.readUInt32LE(0),n=e.readBigUInt64LE(4);return new V(t,n)}}class D{guardianSetIndex;lastLamports;config;constructor(e,t,n){this.guardianSetIndex=e,this.lastLamports=t,this.config=n}static deserialize(e){if(e.length!=24)throw new Error("data.length != 24");const t=e.readUInt32LE(0),n=e.readBigUInt64LE(4),s=V.deserialize(e.subarray(12));return new D(t,n,s)}}function O(r,e){return S([u.from("Sequence"),new g(r).toBytes()],e)}async function me(r,e,t,n){return r.getAccountInfo(O(e,t),n).then(s=>G.deserialize(B(s)))}class G{sequence;bump;emitterType;constructor(e,t,n){this.sequence=e,this.bump=t,this.emitterType=n}static deserialize(e){if(e.length!==8&&e.length!==10)throw new Error("data.length != 8 or data.length != 10");let t,n;const s=e.readBigUInt64LE(0);return e.length===10&&(t=e[8],n=e[9]),new G(s,t,n)}value(){return this.sequence}}function j(r){return S([u.from("emitter")],r)}function W(r,e){const t=j(r);return{emitter:t,sequence:O(t,e)}}async function $e(r,e,t,n){return me(r,j(e),t,n)}function U(r){return S([u.from("fee_collector")],r)}const se=65,P=20;function Ye(r,e,t){return new Te({keys:[],programId:Ce.programId,data:je.serialize(r,e,t)})}class je{static serialize(e,t,n){if(e.length==0)throw Error("signatures.length == 0");if(e.length!=t.length)throw Error("signatures.length != keys.length");if(n.length!=32)throw Error("message.length != 32");const s=e.length,a=11,i=1+s*a,c=se+P,o=i+s*c,f=32,d=u.alloc(o+f);d.writeUInt8(s,0),d.write(n.toString("hex"),o,"hex");for(let l=0;l<s;++l){const w=e.at(l);if(w?.length!=se)throw Error(`signatures[${l}].length != 65`);const T=t.at(l);if(T?.length!=P)throw Error(`keys[${l}].length != 20`);const C=i+c*l,k=C+65;d.writeUInt16LE(C,1+l*a),d.writeUInt8(0,3+l*a),d.writeUInt16LE(k,4+l*a),d.writeUInt8(0,6+l*a),d.writeUInt16LE(o,7+l*a),d.writeUInt16LE(f,9+l*a),d.writeUInt8(0,10+l*a),d.write(w.toString("hex"),C,"hex"),d.write(T.toString("hex"),k,"hex")}return d}}function b(r,e){return S([u.from("GuardianSet"),(()=>{const t=u.alloc(4);return t.writeUInt32BE(e),t})()],r)}async function H(r,e,t,n){return r.getAccountInfo(b(e,t),n).then(s=>N.deserialize(B(s)))}class N{index;keys;creationTime;expirationTime;constructor(e,t,n,s){this.index=e,this.keys=t,this.creationTime=n,this.expirationTime=s}static deserialize(e){const t=e.readUInt32LE(0),n=e.readUInt32LE(4),s=8+n*P,a=e.readUInt32LE(s),i=e.readUInt32LE(4+s),c=[];for(let o=0;o<n;++o){const f=8+o*P;c.push(e.subarray(f,f+P))}return new N(t,c,a,i)}}function I(r,e){return S([u.from("PostedVAA"),e],r)}async function We(r,e,t){return r.getAccountInfo(new g(e),t).then(n=>R.deserialize(B(n)))}class R{signatures;hash;guardianSetIndex;constructor(e,t,n){this.signatures=e,this.hash=t,this.guardianSetIndex=n}static deserialize(e){const t=e.readUInt32LE(0),n=[...e.subarray(4,4+t)].map(c=>c!=0),s=4+t,a=e.subarray(s,s+32),i=e.readUInt32LE(s+32);return new R(n,a,i)}}function fe(r){return S([u.from("upgrade")],r)}function le(r,e,t){return h.transfer({fromPubkey:new g(e),toPubkey:U(r),lamports:t})}class He{idl;constructor(e){this.idl=e}async encode(e,t){throw new Error(`Invalid account name: ${e}`)}decode(e,t){return this.decodeUnchecked(e,t)}decodeUnchecked(e,t){throw new Error(`Invalid account name: ${e}`)}memcmp(e,t){switch(e){case"postVaa":return{dataSize:56};default:throw new Error(`Invalid account name: ${e}`)}}size(e){return ce(this.idl,e)??0}}class Je{constructor(e){}decode(e){throw new Error("Wormhole program does not have events")}}class A{static fieldLayout(e,t){const n=e.name!==void 0?_(e.name):void 0;switch(e.type){case"bool":return m.bool(n);case"u8":return m.u8(n);case"i8":return m.i8(n);case"u16":return m.u16(n);case"i16":return m.i16(n);case"u32":return m.u32(n);case"i32":return m.i32(n);case"f32":return m.f32(n);case"u64":return m.u64(n);case"i64":return m.i64(n);case"f64":return m.f64(n);case"u128":return m.u128(n);case"i128":return m.i128(n);case"u256":return m.u256(n);case"i256":return m.i256(n);case"bytes":return m.vecU8(n);case"string":return m.str(n);case"publicKey":return m.publicKey(n);default:{if("vec"in e.type)return m.vec(A.fieldLayout({name:void 0,type:e.type.vec},t),n);if("option"in e.type)return m.option(A.fieldLayout({name:void 0,type:e.type.option},t),n);if("array"in e.type){let s=e.type.array[0],a=e.type.array[1],i=A.fieldLayout({name:void 0,type:s},t);return m.array(i,a,n)}else throw new Error(`Not yet implemented: ${e}`)}}}}class J{ixLayout;constructor(e){this.ixLayout=J.parseIxLayout(e)}static parseIxLayout(e){const n=(e.instructions?e.instructions:[]).map(s=>{let a=s.args.map(c=>A.fieldLayout(c,Array.from([...e.accounts??[],...e.types??[]])));const i=_(s.name);return[i,m.struct(a,i)]}).concat(e.instructions.map(s=>{let a=s.args.map(c=>A.fieldLayout(c,Array.from([...e.accounts??[],...e.types??[]])));const i=_(s.name);return[i,m.struct(a,i)]}));return new Map(n)}encode(e,t){const n=u.alloc(1e3),s=_(e),a=this.ixLayout.get(s);if(!a)throw new Error(`Unknown method: ${s}`);const i=a.encode(t,n),c=n.slice(0,i);return Qe(q[Ne(s)],c)}encodeState(e,t){throw new Error("Wormhole program does not have state")}decode(e,t="hex"){typeof e=="string"&&(e=t==="hex"?u.from(e,"hex"):ke.decode(e));let n=u.from(e.slice(0,1)).readInt8(),s=u.from(e.slice(1)),a=_(q[n]??"");return this.ixLayout.get(a)?{data:this.ixLayout.get(a)?.decode(s),name:a}:null}}var q;(function(r){r[r.Initialize=0]="Initialize",r[r.PostMessage=1]="PostMessage",r[r.PostVaa=2]="PostVaa",r[r.SetFees=3]="SetFees",r[r.TransferFees=4]="TransferFees",r[r.UpgradeContract=5]="UpgradeContract",r[r.UpgradeGuardianSet=6]="UpgradeGuardianSet",r[r.VerifySignatures=7]="VerifySignatures",r[r.PostMessageUnreliable=8]="PostMessageUnreliable"})(q||(q={}));function Qe(r,e){const t=u.alloc(1+(e===void 0?0:e.length));return t.writeUInt8(r,0),e!==void 0&&t.write(e.toString("hex"),1,"hex"),t}class Xe{constructor(e){}encode(e,t){throw new Error("Wormhole program does not have state")}decode(e){throw new Error("Wormhole program does not have state")}}class Ze{constructor(e){}encode(e,t){throw new Error("Wormhole program does not have user-defined types")}decode(e,t){throw new Error("Wormhole program does not have user-defined types")}}class et{instruction;accounts;state;events;types;constructor(e){this.instruction=new J(e),this.accounts=new He(e),this.state=new Xe(e),this.events=new Je(e),this.types=new Ze(e)}}const Q={version:"0.1.0",name:"wormhole",instructions:[{name:"initialize",accounts:[{name:"bridge",isMut:!0,isSigner:!1},{name:"guardianSet",isMut:!0,isSigner:!1},{name:"feeCollector",isMut:!0,isSigner:!1},{name:"payer",isMut:!0,isSigner:!0},{name:"clock",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"guardianSetExpirationTime",type:"u32"},{name:"fee",type:"u64"},{name:"initialGuardians",type:{vec:{array:["u8",20]}}}]},{name:"postMessage",accounts:[{name:"bridge",isMut:!0,isSigner:!1},{name:"message",isMut:!0,isSigner:!0},{name:"emitter",isMut:!1,isSigner:!0},{name:"sequence",isMut:!0,isSigner:!1},{name:"payer",isMut:!0,isSigner:!0},{name:"feeCollector",isMut:!0,isSigner:!1},{name:"clock",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"nonce",type:"u32"},{name:"payload",type:"bytes"},{name:"consistencyLevel",type:"u8"}]},{name:"postVaa",accounts:[{name:"guardianSet",isMut:!1,isSigner:!1},{name:"bridge",isMut:!1,isSigner:!1},{name:"signatureSet",isMut:!1,isSigner:!1},{name:"vaa",isMut:!0,isSigner:!1},{name:"payer",isMut:!0,isSigner:!0},{name:"clock",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"version",type:"u8"},{name:"guardianSetIndex",type:"u32"},{name:"timestamp",type:"u32"},{name:"nonce",type:"u32"},{name:"emitterChain",type:"u16"},{name:"emitterAddress",type:{array:["u8",32]}},{name:"sequence",type:"u64"},{name:"consistencyLevel",type:"u8"},{name:"payload",type:"bytes"}]},{name:"setFees",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"bridge",isMut:!0,isSigner:!1},{name:"vaa",isMut:!1,isSigner:!1},{name:"claim",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[]},{name:"transferFees",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"bridge",isMut:!0,isSigner:!1},{name:"vaa",isMut:!1,isSigner:!1},{name:"claim",isMut:!0,isSigner:!1},{name:"feeCollector",isMut:!0,isSigner:!1},{name:"recipient",isMut:!0,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[]},{name:"upgradeContract",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"bridge",isMut:!0,isSigner:!1},{name:"vaa",isMut:!1,isSigner:!1},{name:"claim",isMut:!0,isSigner:!1},{name:"upgradeAuthority",isMut:!1,isSigner:!1},{name:"spill",isMut:!0,isSigner:!1},{name:"implementation",isMut:!0,isSigner:!1},{name:"programData",isMut:!0,isSigner:!1},{name:"wormholeProgram",isMut:!0,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"clock",isMut:!1,isSigner:!1},{name:"bpfLoaderUpgradeable",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[]},{name:"upgradeGuardianSet",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"bridge",isMut:!0,isSigner:!1},{name:"vaa",isMut:!1,isSigner:!1},{name:"claim",isMut:!0,isSigner:!1},{name:"guardianSetOld",isMut:!0,isSigner:!1},{name:"guardianSetNew",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[]},{name:"verifySignatures",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"guardianSet",isMut:!1,isSigner:!1},{name:"signatureSet",isMut:!0,isSigner:!0},{name:"instructions",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"signatureStatus",type:{array:["i8",19]}}]},{name:"postMessageUnreliable",accounts:[{name:"bridge",isMut:!0,isSigner:!1},{name:"message",isMut:!0,isSigner:!0},{name:"emitter",isMut:!1,isSigner:!0},{name:"sequence",isMut:!0,isSigner:!1},{name:"payer",isMut:!0,isSigner:!0},{name:"feeCollector",isMut:!0,isSigner:!1},{name:"clock",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"nonce",type:"u32"},{name:"payload",type:"bytes"},{name:"consistencyLevel",type:"u8"}]}],accounts:[{name:"PostedMessage",type:{kind:"struct",fields:[{name:"vaaVersion",type:"u8"},{name:"consistencyLevel",type:"u8"},{name:"vaaTime",type:"u32"},{name:"vaaSignatureAccount",type:"publicKey"},{name:"submissionTime",type:"u32"},{name:"nonce",type:"u32"},{name:"sequence",type:"u64"},{name:"emitterChain",type:"u16"},{name:"emitterAddress",type:{array:["u8",32]}},{name:"payload",type:"bytes"}]}},{name:"PostedVAA",type:{kind:"struct",fields:[{name:"vaaVersion",type:"u8"},{name:"consistencyLevel",type:"u8"},{name:"vaaTime",type:"u32"},{name:"vaaSignatureAccount",type:"publicKey"},{name:"submissionTime",type:"u32"},{name:"nonce",type:"u32"},{name:"sequence",type:"u64"},{name:"emitterChain",type:"u16"},{name:"emitterAddress",type:{array:["u8",32]}},{name:"payload",type:"bytes"}]}}]};function pe(r,e){return new Ke(Q,new g(r),e===void 0?{connection:null}:e,ye())}function y(r,e){return pe(r,qe(e))}function ye(){return new et(Q)}function tt(r,e,t,n){const s=y(e,r).methods.setFees();return s._ixFn(...s._args,{accounts:he(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function he(r,e,t){return{payer:new g(e),bridge:p(r),vaa:I(r,u.from(t.hash)),claim:L(r,t.emitterAddress.toString(),x(t.emitterChain),t.sequence),systemProgram:h.programId}}function nt(r,e,t,n,s){const a=y(e,r).methods.transferFees();return a._ixFn(...a._args,{accounts:Se(e,t,n,s),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function Se(r,e,t,n){return{payer:new g(e),bridge:p(r),vaa:I(r,u.from(n.hash)),claim:L(r,n.emitterAddress.toString(),x(n.emitterChain),n.sequence),feeCollector:U(r),recipient:new g(t),rent:E,systemProgram:h.programId}}function rt(r,e,t,n){const s=y(e,r).methods.upgradeGuardianSet();return s._ixFn(...s._args,{accounts:we(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function we(r,e,t){return{payer:new g(e),bridge:p(r),vaa:I(r,u.from(t.hash)),claim:L(r,t.emitterAddress.toString(),x(t.emitterChain),t.sequence),guardianSetOld:b(r,t.guardianSet),guardianSetNew:b(r,t.guardianSet+1),systemProgram:h.programId}}function st(r,e,t,n){const s=y(e,r).methods.upgradeContract();return s._ixFn(...s._args,{accounts:Me(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function Me(r,e,t,n){const{newContract:s}=t.payload.actionArgs;return{payer:new g(e),bridge:p(r),vaa:I(r,u.from(t.hash)),claim:L(r,t.emitterAddress.toString(),x(t.emitterChain),t.sequence),upgradeAuthority:fe(r),spill:new g(n===void 0?e:n),implementation:new K(s).unwrap(),programData:Oe(r),wormholeProgram:new g(r),rent:E,clock:F,bpfLoaderUpgradeable:oe,systemProgram:h.programId}}function at(r,e,t,n,s,a){const i=y(e,r).methods.initialize(n,new ie(s.toString()),[...a.map(c=>[...new Uint8Array(c)])]);return i._ixFn(...i._args,{accounts:be(e,t),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function be(r,e){return{bridge:p(r),guardianSet:b(r,0),feeCollector:U(r),payer:new g(e),clock:F,rent:E,systemProgram:h.programId}}function Ie(r,e,t,n,s,a,i){const c=y(e,r).methods.postMessage(a,u.from(s),i);return c._ixFn(...c._args,{accounts:X(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function X(r,e,t,n){let s;return n?{emitter:n,sequence:s}=W(n,r):(n=e,s=O(n,r)),{bridge:p(r),message:new g(t),emitter:new g(n),sequence:s,payer:new g(e),feeCollector:U(r),clock:F,rent:E,systemProgram:h.programId}}function Ae(r,e,t,n,s){const a=y(e,r).methods.postVaa(1,n.guardianSet,n.timestamp,n.nonce,x(n.emitterChain),[...n.emitterAddress.toUint8Array()],new ie(n.sequence.toString()),n.consistencyLevel,u.from(_e(n.payloadLiteral,n.payload)));return a._ixFn(...a._args,{accounts:xe(e,t,s,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function xe(r,e,t,n){return{guardianSet:b(r,n.guardianSet),bridge:p(r),signatureSet:new g(t),vaa:I(r,u.from(n.hash)),payer:new g(e),clock:F,rent:E,systemProgram:h.programId}}const it=19;async function Ee(r,e,t,n,s,a){const i=n.guardianSet,c=await H(r,e,i,a),o=n.signatures,f=c.keys,d=7,l=[];for(let w=0;w<Math.ceil(o.length/d);++w){const T=w*d,C=Math.min(o.length,(w+1)*d),k=new Array(it).fill(-1),Z=[],ee=[];for(let z=0;z<C-T;++z){const $=o.at(z+T);Z.push(u.from($.signature.encode())),ee.push(f.at($.guardianIndex)),k[$.guardianIndex]=z}l.push(Ye(Z,ee,u.from(n.hash))),l.push(ot(r,e,t,n,s,k))}return l}function ot(r,e,t,n,s,a){const i=y(e,r).methods.verifySignatures(a);return i._ixFn(...i._args,{accounts:Le(e,t,s,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function Le(r,e,t,n){return{payer:new g(e),guardianSet:b(r,n.guardianSet),signatureSet:new g(t),instructions:Pe,rent:E,systemProgram:h.programId}}function ct(r,e){const{emitter:t,sequence:n}=W(r,e);return{wormholeBridge:p(e),wormholeEmitter:t,wormholeSequence:n,wormholeFeeCollector:U(e)}}function ut(r,e,t,n){const s=X(e,t,n,r);return{payer:s.payer,wormholeBridge:s.bridge,wormholeMessage:s.message,wormholeEmitter:s.emitter,wormholeSequence:s.sequence,wormholeFeeCollector:s.feeCollector,clock:s.clock,rent:s.rent,systemProgram:s.systemProgram}}const dt=Object.freeze(Object.defineProperty({__proto__:null,BridgeConfig:V,BridgeData:D,GuardianSetData:N,SequenceTracker:G,SignatureSetData:R,coder:ye,createBridgeFeeTransferInstruction:le,createInitializeInstruction:at,createPostMessageInstruction:Ie,createPostVaaInstruction:Ae,createReadOnlyWormholeProgramInterface:y,createSetFeesInstruction:tt,createTransferFeesInstruction:nt,createUpgradeContractInstruction:st,createUpgradeGuardianSetInstruction:rt,createVerifySignaturesInstructions:Ee,createWormholeProgramInterface:pe,deriveClaimKey:L,deriveEmitterSequenceKey:O,deriveFeeCollectorKey:U,deriveGuardianSetKey:b,derivePostedVaaKey:I,deriveUpgradeAuthorityKey:fe,deriveWormholeBridgeDataKey:p,deriveWormholeEmitterKey:j,getClaim:Re,getEmitterKeys:W,getGuardianSet:H,getInitializeAccounts:be,getPostMessageAccounts:X,getPostMessageCpiAccounts:ut,getPostVaaAccounts:xe,getProgramSequenceTracker:$e,getSequenceTracker:me,getSetFeesAccounts:he,getSignatureSetData:We,getTransferFeesAccounts:Se,getUpgradeContractAccounts:Me,getUpgradeGuardianSetAccounts:we,getVerifySignatureAccounts:Le,getWormholeBridgeData:ge,getWormholeDerivedAccounts:ct},Symbol.toStringTag,{value:"Module"})),ae="Program log: Sequence: ";class v{network;chain;connection;contracts;chainId;coreBridge;address;bridgeData;constructor(e,t,n,s){this.network=e,this.chain=t,this.connection=n,this.contracts=s,this.chainId=x(t);const a=s.coreBridge;if(!a)throw new Error(`CoreBridge contract Address for chain ${t} not found`);this.address=a,this.coreBridge=y(a,n)}async getGuardianSet(e){const t=await H(this.connection,this.coreBridge.programId,e);return{index:t.index,keys:t.keys.map(n=>n.toString("hex")),expiry:BigInt(t.expirationTime)}}static async fromRpc(e,t){const[n,s]=await Fe.chainFromRpc(e),a=t[s];if(a.network!==n)throw new Error(`Network mismatch for chain ${s}: ${a.network} != ${n}`);return new v(n,s,e,t[s].contracts)}async ensureBridgeConfig(){this.bridgeData||(this.bridgeData=await ge(this.connection,this.coreBridge.programId))}async getMessageFee(){return await this.ensureBridgeConfig(),this.bridgeData.config.fee}async getGuardianSetIndex(){return await this.ensureBridgeConfig(),this.bridgeData.guardianSetIndex}async*publishMessage(e,t,n,s){const a=ne.generate(),i=new K(e).unwrap(),c=Ie(this.connection,this.coreBridge.programId,i,a.publicKey,t,n,s),o=await this.getMessageFee(),f=le(this.coreBridge.programId,i,o),d=new Y;d.feePayer=i,d.add(f,c),yield this.createUnsignedTx({transaction:d,signers:[a]},"Core.PublishMessage")}async*verifyMessage(e,t){yield*this.postVaa(e,t)}async*postVaa(e,t){const n=I(this.coreBridge.programId,u.from(t.hash));if(await this.connection.getAccountInfo(n))return;const a=new K(e).unwrap(),i=ne.generate(),c=await Ee(this.connection,this.coreBridge.programId,a,t,i.publicKey);for(let f=0;f<c.length;f+=2){const d=new Y().add(...c.slice(f,f+2));d.feePayer=a,yield this.createUnsignedTx({transaction:d,signers:[i]},"Core.VerifySignature",!0)}const o=new Y().add(Ae(this.connection,this.coreBridge.programId,a,t,i.publicKey));o.feePayer=a,yield this.createUnsignedTx({transaction:o},"Core.PostVAA")}static parseSequenceFromLog(e,t){const{meta:n,transaction:{message:s}}=t;if(!n?.innerInstructions?.length)return[];const a=s.staticAccountKeys;if(a.filter(o=>o.toString()===e).length===0)return[];const i=n?.logMessages?.filter(o=>o.startsWith(ae))?.[0]?.replace(ae,"");if(!i)return[];const c=[];for(const o of n?.innerInstructions){const f=o.instructions;c.push(...f.filter(d=>d.programIdIndex in a&&a[d.programIdIndex].toString()===e))}return c.length<1?[]:a.length<3?[]:c.map(o=>[new K(a[o.accounts[2]]).toUniversalAddress(),BigInt(i)]).filter(o=>o!==null)}async getMessageAccountKeys(e){let t;if(typeof e.transaction.message.version!="string")if(e.meta.loadedAddresses)t=e.transaction.message.getAccountKeys({accountKeysFromLookups:e.meta.loadedAddresses});else{const n=await Promise.all(e.transaction.message.addressTableLookups.map(async s=>{const a=await this.connection.getAddressLookupTable(s.accountKey);if(!a||!a.value)throw new Error("Could not resolve lookup table: "+s.accountKey.toBase58());return a.value}));t=e.transaction.message.getAccountKeys({addressLookupTableAccounts:n})}else t=e.transaction.message.getAccountKeys();return t}async findInstructions(e,t){const{meta:n,transaction:{message:s}}=t,a=this.coreBridge.programId,i=n.innerInstructions?.flatMap(o=>o.instructions.filter(f=>a.toString()===e.get(f.programIdIndex).toString())).map(o=>({programIdIndex:o.programIdIndex,accountKeyIndexes:o.accounts})),c=s.compiledInstructions.filter(o=>a.toString()===e.get(o.programIdIndex).toString());return[...i,...c]}async parsePostMessageAccount(e){const t=await this.connection.getAccountInfo(e);if(!t?.data)throw new Error("No data found in message account");const{timestamp:n,emitterAddress:s,emitterChain:a,consistencyLevel:i,sequence:c,nonce:o,payload:f}=de(new Uint8Array(t?.data));return De("Uint8Array",{guardianSet:await this.getGuardianSetIndex(),emitterChain:ve(a),timestamp:n,emitterAddress:s,consistencyLevel:i,sequence:c,nonce:o,payload:f,signatures:[]})}async parseTransaction(e){const t=await this.connection.getTransaction(e,{maxSupportedTransactionVersion:0});if(!t||!t.meta||!t.meta.innerInstructions)throw new Error("transaction not found");try{const i=v.parseSequenceFromLog(this.coreBridge.programId.toBase58(),t);if(i.length>0){const[c,o]=i[0];return[{chain:this.chain,emitter:c,sequence:o}]}}catch{}const n=await this.getMessageAccountKeys(t),s=await this.findInstructions(n,t);if(!s||s.length===0)throw new Error("no bridge messages found");const a=s.map(async i=>{const c=n.get(i.accountKeyIndexes[1]),o=await this.parsePostMessageAccount(c);return{chain:o.emitterChain,emitter:o.emitterAddress,sequence:o.sequence}});return await Promise.all(a)}async parseMessages(e){const t=await this.connection.getTransaction(e,{maxSupportedTransactionVersion:0});if(!t||!t.meta||!t.meta.innerInstructions)throw new Error("transaction not found");const n=await this.getMessageAccountKeys(t),s=await this.findInstructions(n,t);if(!s||s.length===0)throw new Error("no bridge messages found");const a=s.map(async i=>{const c=n.get(i.accountKeyIndexes[1]);return await this.parsePostMessageAccount(c)});return await Promise.all(a)}createUnsignedTx(e,t,n=!1){return new Ve(e,this.network,this.chain,t,n)}}Be(ze,"WormholeCore",v);const ht=Object.freeze(Object.defineProperty({__proto__:null,IDL:Q,SolanaWormholeCore:v,deserializePostMessage:de,postMessageLayout:ue,utils:dt},Symbol.toStringTag,{value:"Module"}));export{oe as B,v as S,p as a,j as b,O as c,U as d,L as e,I as f,$e as g,S as h,B as i,ce as j,yt as k,X as l,Oe as m,pt as n,fe as o,ut as p,ct as q,Re as r,le as s,ht as t};
|
|
1
|
+
import{P as g,k as u,du as te,dv as Ue,T as Te,dw as Ce,dm as h,bm as ke,cY as x,dr as E,ds as F,bh as K,dn as ie,dx as _e,dy as Pe,K as ne,ae as Y,d0 as ve,d4 as Be,bi as ze}from"../main.js";import{d as m,P as Ke,c as qe}from"./index-GKTf0CV7.js";import{b as Fe,e as Ve}from"./signer-Dl8_VMmx.js";import{c as De}from"./create-54a95t1x.js";const re=r=>typeof r=="string"?u.from(r):r;function S(r,e){return g.findProgramAddressSync(Array.isArray(r)?r.map(re):[re(r)],new g(e))[0]}function pt(r,e){return{pubkey:new g(r),isWritable:!0,isSigner:e}}function yt(r,e){return{pubkey:new g(r),isWritable:!1,isSigner:e}}function B(r){if(r===null)throw Error("account info is null");return r.data}const oe=new g("BPFLoaderUpgradeab1e11111111111111111111111");function Oe(r){return S([new g(r).toBuffer()],oe)}class Ge extends Error{constructor(e){super(e),this.name="IdlError"}}function ce(r,e){switch(e.type.kind){case"struct":return e.type.fields.map(t=>M(r,t.type)).reduce((t,n)=>t+n,0);case"enum":{const t=e.type.variants.map(n=>n.fields?n.fields.map(s=>typeof s=="object"&&"name"in s?M(r,s.type):M(r,s)).reduce((s,a)=>s+a,0):0);return Math.max(...t)+1}case"alias":return M(r,e.type.value)}}function M(r,e){switch(e){case"bool":return 1;case"u8":return 1;case"i8":return 1;case"i16":return 2;case"u16":return 2;case"u32":return 4;case"i32":return 4;case"f32":return 4;case"u64":return 8;case"i64":return 8;case"f64":return 8;case"u128":return 16;case"i128":return 16;case"u256":return 32;case"i256":return 32;case"bytes":return 1;case"string":return 1;case"publicKey":return 32;default:if("vec"in e)return 1;if("option"in e)return 1+M(r,e.option);if("coption"in e)return 4+M(r,e.coption);if("defined"in e){const t=r.types?.filter(s=>s.name===e.defined)??[];if(t.length!==1)throw new Ge(`Type not found: ${JSON.stringify(e)}`);let n=t[0];return ce(r,n)}if("array"in e){let t=e.array[0],n=e.array[1];return M(r,t)*n}throw new Error(`Invalid type ${JSON.stringify(e)}`)}}function _(r){return r.replace(/(?:^\w|[A-Z]|\b\w)/g,function(e,t){return t===0?e.toLowerCase():e.toUpperCase()}).replace(/[\s\-_]+/g,"")}function Ne(r){return r.charAt(0).toUpperCase()+r.slice(1)}const ue=[{name:"discriminator",binary:"bytes",size:4},{name:"consistencyLevel",binary:"uint",size:1,endianness:"little"},{name:"emitterAuthority",...te},{name:"messageStatus",binary:"uint",size:1,endianness:"little"},{name:"gap",binary:"uint",size:3},{name:"timestamp",binary:"uint",size:4,endianness:"little"},{name:"nonce",binary:"uint",size:4,endianness:"little"},{name:"sequence",binary:"uint",size:8,endianness:"little"},{name:"emitterChain",binary:"uint",size:2,endianness:"little"},{name:"emitterAddress",...te},{name:"payloadLength",binary:"uint",size:4,endianness:"little"},{name:"payload",binary:"bytes"}];function de(r){return Ue(ue,r)}function L(r,e,t,n){const s=typeof e=="string"?u.from(e,"hex"):u.from(e);if(s.length!=32)throw Error("address.length != 32");const a=u.alloc(8);return a.writeBigUInt64BE(typeof n=="number"?BigInt(n):n),S([s,(()=>{const i=u.alloc(2);return i.writeUInt16BE(t),i})(),a],r)}async function Re(r,e,t,n,s,a){return r.getAccountInfo(L(e,t,n,s),a).then(i=>!!B(i)[0])}function p(r){return S([u.from("Bridge")],r)}async function ge(r,e,t){return r.getAccountInfo(p(e),t).then(n=>D.deserialize(B(n)))}class V{guardianSetExpirationTime;fee;constructor(e,t){this.guardianSetExpirationTime=e,this.fee=t}static deserialize(e){if(e.length!=12)throw new Error("data.length != 12");const t=e.readUInt32LE(0),n=e.readBigUInt64LE(4);return new V(t,n)}}class D{guardianSetIndex;lastLamports;config;constructor(e,t,n){this.guardianSetIndex=e,this.lastLamports=t,this.config=n}static deserialize(e){if(e.length!=24)throw new Error("data.length != 24");const t=e.readUInt32LE(0),n=e.readBigUInt64LE(4),s=V.deserialize(e.subarray(12));return new D(t,n,s)}}function O(r,e){return S([u.from("Sequence"),new g(r).toBytes()],e)}async function me(r,e,t,n){return r.getAccountInfo(O(e,t),n).then(s=>G.deserialize(B(s)))}class G{sequence;bump;emitterType;constructor(e,t,n){this.sequence=e,this.bump=t,this.emitterType=n}static deserialize(e){if(e.length!==8&&e.length!==10)throw new Error("data.length != 8 or data.length != 10");let t,n;const s=e.readBigUInt64LE(0);return e.length===10&&(t=e[8],n=e[9]),new G(s,t,n)}value(){return this.sequence}}function j(r){return S([u.from("emitter")],r)}function W(r,e){const t=j(r);return{emitter:t,sequence:O(t,e)}}async function $e(r,e,t,n){return me(r,j(e),t,n)}function U(r){return S([u.from("fee_collector")],r)}const se=65,P=20;function Ye(r,e,t){return new Te({keys:[],programId:Ce.programId,data:je.serialize(r,e,t)})}class je{static serialize(e,t,n){if(e.length==0)throw Error("signatures.length == 0");if(e.length!=t.length)throw Error("signatures.length != keys.length");if(n.length!=32)throw Error("message.length != 32");const s=e.length,a=11,i=1+s*a,c=se+P,o=i+s*c,f=32,d=u.alloc(o+f);d.writeUInt8(s,0),d.write(n.toString("hex"),o,"hex");for(let l=0;l<s;++l){const w=e.at(l);if(w?.length!=se)throw Error(`signatures[${l}].length != 65`);const T=t.at(l);if(T?.length!=P)throw Error(`keys[${l}].length != 20`);const C=i+c*l,k=C+65;d.writeUInt16LE(C,1+l*a),d.writeUInt8(0,3+l*a),d.writeUInt16LE(k,4+l*a),d.writeUInt8(0,6+l*a),d.writeUInt16LE(o,7+l*a),d.writeUInt16LE(f,9+l*a),d.writeUInt8(0,10+l*a),d.write(w.toString("hex"),C,"hex"),d.write(T.toString("hex"),k,"hex")}return d}}function b(r,e){return S([u.from("GuardianSet"),(()=>{const t=u.alloc(4);return t.writeUInt32BE(e),t})()],r)}async function H(r,e,t,n){return r.getAccountInfo(b(e,t),n).then(s=>N.deserialize(B(s)))}class N{index;keys;creationTime;expirationTime;constructor(e,t,n,s){this.index=e,this.keys=t,this.creationTime=n,this.expirationTime=s}static deserialize(e){const t=e.readUInt32LE(0),n=e.readUInt32LE(4),s=8+n*P,a=e.readUInt32LE(s),i=e.readUInt32LE(4+s),c=[];for(let o=0;o<n;++o){const f=8+o*P;c.push(e.subarray(f,f+P))}return new N(t,c,a,i)}}function I(r,e){return S([u.from("PostedVAA"),e],r)}async function We(r,e,t){return r.getAccountInfo(new g(e),t).then(n=>R.deserialize(B(n)))}class R{signatures;hash;guardianSetIndex;constructor(e,t,n){this.signatures=e,this.hash=t,this.guardianSetIndex=n}static deserialize(e){const t=e.readUInt32LE(0),n=[...e.subarray(4,4+t)].map(c=>c!=0),s=4+t,a=e.subarray(s,s+32),i=e.readUInt32LE(s+32);return new R(n,a,i)}}function fe(r){return S([u.from("upgrade")],r)}function le(r,e,t){return h.transfer({fromPubkey:new g(e),toPubkey:U(r),lamports:t})}class He{idl;constructor(e){this.idl=e}async encode(e,t){throw new Error(`Invalid account name: ${e}`)}decode(e,t){return this.decodeUnchecked(e,t)}decodeUnchecked(e,t){throw new Error(`Invalid account name: ${e}`)}memcmp(e,t){switch(e){case"postVaa":return{dataSize:56};default:throw new Error(`Invalid account name: ${e}`)}}size(e){return ce(this.idl,e)??0}}class Je{constructor(e){}decode(e){throw new Error("Wormhole program does not have events")}}class A{static fieldLayout(e,t){const n=e.name!==void 0?_(e.name):void 0;switch(e.type){case"bool":return m.bool(n);case"u8":return m.u8(n);case"i8":return m.i8(n);case"u16":return m.u16(n);case"i16":return m.i16(n);case"u32":return m.u32(n);case"i32":return m.i32(n);case"f32":return m.f32(n);case"u64":return m.u64(n);case"i64":return m.i64(n);case"f64":return m.f64(n);case"u128":return m.u128(n);case"i128":return m.i128(n);case"u256":return m.u256(n);case"i256":return m.i256(n);case"bytes":return m.vecU8(n);case"string":return m.str(n);case"publicKey":return m.publicKey(n);default:{if("vec"in e.type)return m.vec(A.fieldLayout({name:void 0,type:e.type.vec},t),n);if("option"in e.type)return m.option(A.fieldLayout({name:void 0,type:e.type.option},t),n);if("array"in e.type){let s=e.type.array[0],a=e.type.array[1],i=A.fieldLayout({name:void 0,type:s},t);return m.array(i,a,n)}else throw new Error(`Not yet implemented: ${e}`)}}}}class J{ixLayout;constructor(e){this.ixLayout=J.parseIxLayout(e)}static parseIxLayout(e){const n=(e.instructions?e.instructions:[]).map(s=>{let a=s.args.map(c=>A.fieldLayout(c,Array.from([...e.accounts??[],...e.types??[]])));const i=_(s.name);return[i,m.struct(a,i)]}).concat(e.instructions.map(s=>{let a=s.args.map(c=>A.fieldLayout(c,Array.from([...e.accounts??[],...e.types??[]])));const i=_(s.name);return[i,m.struct(a,i)]}));return new Map(n)}encode(e,t){const n=u.alloc(1e3),s=_(e),a=this.ixLayout.get(s);if(!a)throw new Error(`Unknown method: ${s}`);const i=a.encode(t,n),c=n.slice(0,i);return Qe(q[Ne(s)],c)}encodeState(e,t){throw new Error("Wormhole program does not have state")}decode(e,t="hex"){typeof e=="string"&&(e=t==="hex"?u.from(e,"hex"):ke.decode(e));let n=u.from(e.slice(0,1)).readInt8(),s=u.from(e.slice(1)),a=_(q[n]??"");return this.ixLayout.get(a)?{data:this.ixLayout.get(a)?.decode(s),name:a}:null}}var q;(function(r){r[r.Initialize=0]="Initialize",r[r.PostMessage=1]="PostMessage",r[r.PostVaa=2]="PostVaa",r[r.SetFees=3]="SetFees",r[r.TransferFees=4]="TransferFees",r[r.UpgradeContract=5]="UpgradeContract",r[r.UpgradeGuardianSet=6]="UpgradeGuardianSet",r[r.VerifySignatures=7]="VerifySignatures",r[r.PostMessageUnreliable=8]="PostMessageUnreliable"})(q||(q={}));function Qe(r,e){const t=u.alloc(1+(e===void 0?0:e.length));return t.writeUInt8(r,0),e!==void 0&&t.write(e.toString("hex"),1,"hex"),t}class Xe{constructor(e){}encode(e,t){throw new Error("Wormhole program does not have state")}decode(e){throw new Error("Wormhole program does not have state")}}class Ze{constructor(e){}encode(e,t){throw new Error("Wormhole program does not have user-defined types")}decode(e,t){throw new Error("Wormhole program does not have user-defined types")}}class et{instruction;accounts;state;events;types;constructor(e){this.instruction=new J(e),this.accounts=new He(e),this.state=new Xe(e),this.events=new Je(e),this.types=new Ze(e)}}const Q={version:"0.1.0",name:"wormhole",instructions:[{name:"initialize",accounts:[{name:"bridge",isMut:!0,isSigner:!1},{name:"guardianSet",isMut:!0,isSigner:!1},{name:"feeCollector",isMut:!0,isSigner:!1},{name:"payer",isMut:!0,isSigner:!0},{name:"clock",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"guardianSetExpirationTime",type:"u32"},{name:"fee",type:"u64"},{name:"initialGuardians",type:{vec:{array:["u8",20]}}}]},{name:"postMessage",accounts:[{name:"bridge",isMut:!0,isSigner:!1},{name:"message",isMut:!0,isSigner:!0},{name:"emitter",isMut:!1,isSigner:!0},{name:"sequence",isMut:!0,isSigner:!1},{name:"payer",isMut:!0,isSigner:!0},{name:"feeCollector",isMut:!0,isSigner:!1},{name:"clock",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"nonce",type:"u32"},{name:"payload",type:"bytes"},{name:"consistencyLevel",type:"u8"}]},{name:"postVaa",accounts:[{name:"guardianSet",isMut:!1,isSigner:!1},{name:"bridge",isMut:!1,isSigner:!1},{name:"signatureSet",isMut:!1,isSigner:!1},{name:"vaa",isMut:!0,isSigner:!1},{name:"payer",isMut:!0,isSigner:!0},{name:"clock",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"version",type:"u8"},{name:"guardianSetIndex",type:"u32"},{name:"timestamp",type:"u32"},{name:"nonce",type:"u32"},{name:"emitterChain",type:"u16"},{name:"emitterAddress",type:{array:["u8",32]}},{name:"sequence",type:"u64"},{name:"consistencyLevel",type:"u8"},{name:"payload",type:"bytes"}]},{name:"setFees",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"bridge",isMut:!0,isSigner:!1},{name:"vaa",isMut:!1,isSigner:!1},{name:"claim",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[]},{name:"transferFees",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"bridge",isMut:!0,isSigner:!1},{name:"vaa",isMut:!1,isSigner:!1},{name:"claim",isMut:!0,isSigner:!1},{name:"feeCollector",isMut:!0,isSigner:!1},{name:"recipient",isMut:!0,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[]},{name:"upgradeContract",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"bridge",isMut:!0,isSigner:!1},{name:"vaa",isMut:!1,isSigner:!1},{name:"claim",isMut:!0,isSigner:!1},{name:"upgradeAuthority",isMut:!1,isSigner:!1},{name:"spill",isMut:!0,isSigner:!1},{name:"implementation",isMut:!0,isSigner:!1},{name:"programData",isMut:!0,isSigner:!1},{name:"wormholeProgram",isMut:!0,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"clock",isMut:!1,isSigner:!1},{name:"bpfLoaderUpgradeable",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[]},{name:"upgradeGuardianSet",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"bridge",isMut:!0,isSigner:!1},{name:"vaa",isMut:!1,isSigner:!1},{name:"claim",isMut:!0,isSigner:!1},{name:"guardianSetOld",isMut:!0,isSigner:!1},{name:"guardianSetNew",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[]},{name:"verifySignatures",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"guardianSet",isMut:!1,isSigner:!1},{name:"signatureSet",isMut:!0,isSigner:!0},{name:"instructions",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"signatureStatus",type:{array:["i8",19]}}]},{name:"postMessageUnreliable",accounts:[{name:"bridge",isMut:!0,isSigner:!1},{name:"message",isMut:!0,isSigner:!0},{name:"emitter",isMut:!1,isSigner:!0},{name:"sequence",isMut:!0,isSigner:!1},{name:"payer",isMut:!0,isSigner:!0},{name:"feeCollector",isMut:!0,isSigner:!1},{name:"clock",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"nonce",type:"u32"},{name:"payload",type:"bytes"},{name:"consistencyLevel",type:"u8"}]}],accounts:[{name:"PostedMessage",type:{kind:"struct",fields:[{name:"vaaVersion",type:"u8"},{name:"consistencyLevel",type:"u8"},{name:"vaaTime",type:"u32"},{name:"vaaSignatureAccount",type:"publicKey"},{name:"submissionTime",type:"u32"},{name:"nonce",type:"u32"},{name:"sequence",type:"u64"},{name:"emitterChain",type:"u16"},{name:"emitterAddress",type:{array:["u8",32]}},{name:"payload",type:"bytes"}]}},{name:"PostedVAA",type:{kind:"struct",fields:[{name:"vaaVersion",type:"u8"},{name:"consistencyLevel",type:"u8"},{name:"vaaTime",type:"u32"},{name:"vaaSignatureAccount",type:"publicKey"},{name:"submissionTime",type:"u32"},{name:"nonce",type:"u32"},{name:"sequence",type:"u64"},{name:"emitterChain",type:"u16"},{name:"emitterAddress",type:{array:["u8",32]}},{name:"payload",type:"bytes"}]}}]};function pe(r,e){return new Ke(Q,new g(r),e===void 0?{connection:null}:e,ye())}function y(r,e){return pe(r,qe(e))}function ye(){return new et(Q)}function tt(r,e,t,n){const s=y(e,r).methods.setFees();return s._ixFn(...s._args,{accounts:he(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function he(r,e,t){return{payer:new g(e),bridge:p(r),vaa:I(r,u.from(t.hash)),claim:L(r,t.emitterAddress.toString(),x(t.emitterChain),t.sequence),systemProgram:h.programId}}function nt(r,e,t,n,s){const a=y(e,r).methods.transferFees();return a._ixFn(...a._args,{accounts:Se(e,t,n,s),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function Se(r,e,t,n){return{payer:new g(e),bridge:p(r),vaa:I(r,u.from(n.hash)),claim:L(r,n.emitterAddress.toString(),x(n.emitterChain),n.sequence),feeCollector:U(r),recipient:new g(t),rent:E,systemProgram:h.programId}}function rt(r,e,t,n){const s=y(e,r).methods.upgradeGuardianSet();return s._ixFn(...s._args,{accounts:we(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function we(r,e,t){return{payer:new g(e),bridge:p(r),vaa:I(r,u.from(t.hash)),claim:L(r,t.emitterAddress.toString(),x(t.emitterChain),t.sequence),guardianSetOld:b(r,t.guardianSet),guardianSetNew:b(r,t.guardianSet+1),systemProgram:h.programId}}function st(r,e,t,n){const s=y(e,r).methods.upgradeContract();return s._ixFn(...s._args,{accounts:Me(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function Me(r,e,t,n){const{newContract:s}=t.payload.actionArgs;return{payer:new g(e),bridge:p(r),vaa:I(r,u.from(t.hash)),claim:L(r,t.emitterAddress.toString(),x(t.emitterChain),t.sequence),upgradeAuthority:fe(r),spill:new g(n===void 0?e:n),implementation:new K(s).unwrap(),programData:Oe(r),wormholeProgram:new g(r),rent:E,clock:F,bpfLoaderUpgradeable:oe,systemProgram:h.programId}}function at(r,e,t,n,s,a){const i=y(e,r).methods.initialize(n,new ie(s.toString()),[...a.map(c=>[...new Uint8Array(c)])]);return i._ixFn(...i._args,{accounts:be(e,t),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function be(r,e){return{bridge:p(r),guardianSet:b(r,0),feeCollector:U(r),payer:new g(e),clock:F,rent:E,systemProgram:h.programId}}function Ie(r,e,t,n,s,a,i){const c=y(e,r).methods.postMessage(a,u.from(s),i);return c._ixFn(...c._args,{accounts:X(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function X(r,e,t,n){let s;return n?{emitter:n,sequence:s}=W(n,r):(n=e,s=O(n,r)),{bridge:p(r),message:new g(t),emitter:new g(n),sequence:s,payer:new g(e),feeCollector:U(r),clock:F,rent:E,systemProgram:h.programId}}function Ae(r,e,t,n,s){const a=y(e,r).methods.postVaa(1,n.guardianSet,n.timestamp,n.nonce,x(n.emitterChain),[...n.emitterAddress.toUint8Array()],new ie(n.sequence.toString()),n.consistencyLevel,u.from(_e(n.payloadLiteral,n.payload)));return a._ixFn(...a._args,{accounts:xe(e,t,s,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function xe(r,e,t,n){return{guardianSet:b(r,n.guardianSet),bridge:p(r),signatureSet:new g(t),vaa:I(r,u.from(n.hash)),payer:new g(e),clock:F,rent:E,systemProgram:h.programId}}const it=19;async function Ee(r,e,t,n,s,a){const i=n.guardianSet,c=await H(r,e,i,a),o=n.signatures,f=c.keys,d=7,l=[];for(let w=0;w<Math.ceil(o.length/d);++w){const T=w*d,C=Math.min(o.length,(w+1)*d),k=new Array(it).fill(-1),Z=[],ee=[];for(let z=0;z<C-T;++z){const $=o.at(z+T);Z.push(u.from($.signature.encode())),ee.push(f.at($.guardianIndex)),k[$.guardianIndex]=z}l.push(Ye(Z,ee,u.from(n.hash))),l.push(ot(r,e,t,n,s,k))}return l}function ot(r,e,t,n,s,a){const i=y(e,r).methods.verifySignatures(a);return i._ixFn(...i._args,{accounts:Le(e,t,s,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function Le(r,e,t,n){return{payer:new g(e),guardianSet:b(r,n.guardianSet),signatureSet:new g(t),instructions:Pe,rent:E,systemProgram:h.programId}}function ct(r,e){const{emitter:t,sequence:n}=W(r,e);return{wormholeBridge:p(e),wormholeEmitter:t,wormholeSequence:n,wormholeFeeCollector:U(e)}}function ut(r,e,t,n){const s=X(e,t,n,r);return{payer:s.payer,wormholeBridge:s.bridge,wormholeMessage:s.message,wormholeEmitter:s.emitter,wormholeSequence:s.sequence,wormholeFeeCollector:s.feeCollector,clock:s.clock,rent:s.rent,systemProgram:s.systemProgram}}const dt=Object.freeze(Object.defineProperty({__proto__:null,BridgeConfig:V,BridgeData:D,GuardianSetData:N,SequenceTracker:G,SignatureSetData:R,coder:ye,createBridgeFeeTransferInstruction:le,createInitializeInstruction:at,createPostMessageInstruction:Ie,createPostVaaInstruction:Ae,createReadOnlyWormholeProgramInterface:y,createSetFeesInstruction:tt,createTransferFeesInstruction:nt,createUpgradeContractInstruction:st,createUpgradeGuardianSetInstruction:rt,createVerifySignaturesInstructions:Ee,createWormholeProgramInterface:pe,deriveClaimKey:L,deriveEmitterSequenceKey:O,deriveFeeCollectorKey:U,deriveGuardianSetKey:b,derivePostedVaaKey:I,deriveUpgradeAuthorityKey:fe,deriveWormholeBridgeDataKey:p,deriveWormholeEmitterKey:j,getClaim:Re,getEmitterKeys:W,getGuardianSet:H,getInitializeAccounts:be,getPostMessageAccounts:X,getPostMessageCpiAccounts:ut,getPostVaaAccounts:xe,getProgramSequenceTracker:$e,getSequenceTracker:me,getSetFeesAccounts:he,getSignatureSetData:We,getTransferFeesAccounts:Se,getUpgradeContractAccounts:Me,getUpgradeGuardianSetAccounts:we,getVerifySignatureAccounts:Le,getWormholeBridgeData:ge,getWormholeDerivedAccounts:ct},Symbol.toStringTag,{value:"Module"})),ae="Program log: Sequence: ";class v{network;chain;connection;contracts;chainId;coreBridge;address;bridgeData;constructor(e,t,n,s){this.network=e,this.chain=t,this.connection=n,this.contracts=s,this.chainId=x(t);const a=s.coreBridge;if(!a)throw new Error(`CoreBridge contract Address for chain ${t} not found`);this.address=a,this.coreBridge=y(a,n)}async getGuardianSet(e){const t=await H(this.connection,this.coreBridge.programId,e);return{index:t.index,keys:t.keys.map(n=>n.toString("hex")),expiry:BigInt(t.expirationTime)}}static async fromRpc(e,t){const[n,s]=await Fe.chainFromRpc(e),a=t[s];if(a.network!==n)throw new Error(`Network mismatch for chain ${s}: ${a.network} != ${n}`);return new v(n,s,e,t[s].contracts)}async ensureBridgeConfig(){this.bridgeData||(this.bridgeData=await ge(this.connection,this.coreBridge.programId))}async getMessageFee(){return await this.ensureBridgeConfig(),this.bridgeData.config.fee}async getGuardianSetIndex(){return await this.ensureBridgeConfig(),this.bridgeData.guardianSetIndex}async*publishMessage(e,t,n,s){const a=ne.generate(),i=new K(e).unwrap(),c=Ie(this.connection,this.coreBridge.programId,i,a.publicKey,t,n,s),o=await this.getMessageFee(),f=le(this.coreBridge.programId,i,o),d=new Y;d.feePayer=i,d.add(f,c),yield this.createUnsignedTx({transaction:d,signers:[a]},"Core.PublishMessage")}async*verifyMessage(e,t){yield*this.postVaa(e,t)}async*postVaa(e,t){const n=I(this.coreBridge.programId,u.from(t.hash));if(await this.connection.getAccountInfo(n))return;const a=new K(e).unwrap(),i=ne.generate(),c=await Ee(this.connection,this.coreBridge.programId,a,t,i.publicKey);for(let f=0;f<c.length;f+=2){const d=new Y().add(...c.slice(f,f+2));d.feePayer=a,yield this.createUnsignedTx({transaction:d,signers:[i]},"Core.VerifySignature",!0)}const o=new Y().add(Ae(this.connection,this.coreBridge.programId,a,t,i.publicKey));o.feePayer=a,yield this.createUnsignedTx({transaction:o},"Core.PostVAA")}static parseSequenceFromLog(e,t){const{meta:n,transaction:{message:s}}=t;if(!n?.innerInstructions?.length)return[];const a=s.staticAccountKeys;if(a.filter(o=>o.toString()===e).length===0)return[];const i=n?.logMessages?.filter(o=>o.startsWith(ae))?.[0]?.replace(ae,"");if(!i)return[];const c=[];for(const o of n?.innerInstructions){const f=o.instructions;c.push(...f.filter(d=>d.programIdIndex in a&&a[d.programIdIndex].toString()===e))}return c.length<1?[]:a.length<3?[]:c.map(o=>[new K(a[o.accounts[2]]).toUniversalAddress(),BigInt(i)]).filter(o=>o!==null)}async getMessageAccountKeys(e){let t;if(typeof e.transaction.message.version!="string")if(e.meta.loadedAddresses)t=e.transaction.message.getAccountKeys({accountKeysFromLookups:e.meta.loadedAddresses});else{const n=await Promise.all(e.transaction.message.addressTableLookups.map(async s=>{const a=await this.connection.getAddressLookupTable(s.accountKey);if(!a||!a.value)throw new Error("Could not resolve lookup table: "+s.accountKey.toBase58());return a.value}));t=e.transaction.message.getAccountKeys({addressLookupTableAccounts:n})}else t=e.transaction.message.getAccountKeys();return t}async findInstructions(e,t){const{meta:n,transaction:{message:s}}=t,a=this.coreBridge.programId,i=n.innerInstructions?.flatMap(o=>o.instructions.filter(f=>a.toString()===e.get(f.programIdIndex).toString())).map(o=>({programIdIndex:o.programIdIndex,accountKeyIndexes:o.accounts})),c=s.compiledInstructions.filter(o=>a.toString()===e.get(o.programIdIndex).toString());return[...i,...c]}async parsePostMessageAccount(e){const t=await this.connection.getAccountInfo(e);if(!t?.data)throw new Error("No data found in message account");const{timestamp:n,emitterAddress:s,emitterChain:a,consistencyLevel:i,sequence:c,nonce:o,payload:f}=de(new Uint8Array(t?.data));return De("Uint8Array",{guardianSet:await this.getGuardianSetIndex(),emitterChain:ve(a),timestamp:n,emitterAddress:s,consistencyLevel:i,sequence:c,nonce:o,payload:f,signatures:[]})}async parseTransaction(e){const t=await this.connection.getTransaction(e,{maxSupportedTransactionVersion:0});if(!t||!t.meta||!t.meta.innerInstructions)throw new Error("transaction not found");try{const i=v.parseSequenceFromLog(this.coreBridge.programId.toBase58(),t);if(i.length>0){const[c,o]=i[0];return[{chain:this.chain,emitter:c,sequence:o}]}}catch{}const n=await this.getMessageAccountKeys(t),s=await this.findInstructions(n,t);if(!s||s.length===0)throw new Error("no bridge messages found");const a=s.map(async i=>{const c=n.get(i.accountKeyIndexes[1]),o=await this.parsePostMessageAccount(c);return{chain:o.emitterChain,emitter:o.emitterAddress,sequence:o.sequence}});return await Promise.all(a)}async parseMessages(e){const t=await this.connection.getTransaction(e,{maxSupportedTransactionVersion:0});if(!t||!t.meta||!t.meta.innerInstructions)throw new Error("transaction not found");const n=await this.getMessageAccountKeys(t),s=await this.findInstructions(n,t);if(!s||s.length===0)throw new Error("no bridge messages found");const a=s.map(async i=>{const c=n.get(i.accountKeyIndexes[1]);return await this.parsePostMessageAccount(c)});return await Promise.all(a)}createUnsignedTx(e,t,n=!1){return new Ve(e,this.network,this.chain,t,n)}}Be(ze,"WormholeCore",v);const ht=Object.freeze(Object.defineProperty({__proto__:null,IDL:Q,SolanaWormholeCore:v,deserializePostMessage:de,postMessageLayout:ue,utils:dt},Symbol.toStringTag,{value:"Module"}));export{oe as B,v as S,p as a,j as b,O as c,U as d,L as e,I as f,$e as g,S as h,B as i,ce as j,yt as k,X as l,Oe as m,pt as n,fe as o,ut as p,ct as q,Re as r,le as s,ht as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{dk as h,aQ as w,cN as T,aV as o,cY as p,c$ as s,d1 as l,d3 as m,d4 as g,aO as y}from"../main.js";import{E as f,a as u}from"./index-DRsHBjoG.js";import{C as b}from"./contract-_PBK5Hvi.js";import{E as c}from"./evm-Bv0RsFka.js";import"./create-54a95t1x.js";import"./chain-gFcyni6Z.js";import"./provider-jsonrpc-HqaDaO-R.js";class i{network;chain;provider;contracts;chainId;core;gatewayAddress;gateway;tbtcTokenAddr;constructor(e,t,a,n){if(this.network=e,this.chain=t,this.provider=a,this.contracts=n,this.network!=="Mainnet")throw new Error("TBTC is only supported on Mainnet");if(!this.contracts.tbtc)throw new Error("TBTC contract address is required");const r=h.getNativeTbtcToken(this.chain);if(!r)throw new Error("Native tbtc token not found");this.chainId=w.get(e,t),this.core=new f(e,t,a,n),this.gatewayAddress=this.contracts.tbtc,this.gateway=new b(this.gatewayAddress,["function sendTbtc(uint256 amount, uint16 recipientChain, bytes32 recipient, uint256 arbiterFee, uint32 nonce) payable returns (uint64)","function receiveTbtc(bytes calldata encodedVm)"],a),this.tbtcTokenAddr=T(r)}static async fromRpc(e,t){const[a,n]=await c.chainFromRpc(e),r=t[n];if(r.network!==a)throw new Error(`Network mismatch: ${r.network} != ${a}`);return new i(a,n,e,r.contracts)}async*transfer(e,t,a){const n=new o(e).toString(),r=await this.gateway.sendTbtc.populateTransaction(a,p(t.chain),t.address.toUniversalAddress().toUint8Array(),0n,0n);r.value=await this.core.getMessageFee(),yield*this.approve(n,a,this.gatewayAddress),yield this.createUnsignedTransaction(s(r,n),"TBTCBridge.Send")}async*redeem(e,t){if(t.payloadName!=="GatewayTransfer")throw new Error("Invalid VAA payload");const a=new o(e).toString(),n=await this.gateway.receiveTbtc.populateTransaction(l(t));yield this.createUnsignedTransaction(s(n,a),"TBTCBridge.Redeem")}async*approve(e,t,a){const n=c.getTokenImplementation(this.provider,this.tbtcTokenAddr);if(await n.allowance(e,a)<t){const d=await n.approve.populateTransaction(a,t);yield this.createUnsignedTransaction(s(d,e),"TBTC.Approve")}}createUnsignedTransaction(e,t){return new u(m(e,this.chainId),this.network,this.chain,t,!1)}}g(y,"TBTCBridge",i);export{i as EvmTBTCBridge};
|