@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
|
-
"use strict";const i=require("./web3-C1wK6wIV.js"),g=require("./index-Dq7WWqFe.js"),l=require("./account-D0Q4K1CI.js"),Q=require("./unsignedTransaction-CiPKh85X.js"),Ee=require("./create-CfgTxAS-.js"),R=new i.PublicKey("BPFLoaderUpgradeab1e11111111111111111111111");function ee(r){return l.deriveAddress([new i.PublicKey(r).toBuffer()],R)}class be extends Error{constructor(e){super(e),this.name="IdlError"}}function O(r,e){switch(e.type.kind){case"struct":return e.type.fields.map(t=>w(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?w(r,s.type):w(r,s)).reduce((s,a)=>s+a,0):0);return Math.max(...t)+1}case"alias":return w(r,e.type.value)}}function w(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+w(r,e.option);if("coption"in e)return 4+w(r,e.coption);if("defined"in e){const t=r.types?.filter(s=>s.name===e.defined)??[];if(t.length!==1)throw new be(`Type not found: ${JSON.stringify(e)}`);let n=t[0];return O(r,n)}if("array"in e){let t=e.array[0],n=e.array[1];return w(r,t)*n}throw new Error(`Invalid type ${JSON.stringify(e)}`)}}function K(r){return r.replace(/(?:^\w|[A-Z]|\b\w)/g,function(e,t){return t===0?e.toLowerCase():e.toUpperCase()}).replace(/[\s\-_]+/g,"")}function Me(r){return r.charAt(0).toUpperCase()+r.slice(1)}const te=[{name:"discriminator",binary:"bytes",size:4},{name:"consistencyLevel",binary:"uint",size:1,endianness:"little"},{name:"emitterAuthority",...i.universalAddressItem},{name:"messageStatus",binary:"uint",size:1,endianness:"little"},{name:"gap",binary:"uint",size:3},{name:"timestamp",binary:"uint",size:4,endianness:"little"},{name:"nonce",binary:"uint",size:4,endianness:"little"},{name:"sequence",binary:"uint",size:8,endianness:"little"},{name:"emitterChain",binary:"uint",size:2,endianness:"little"},{name:"emitterAddress",...i.universalAddressItem},{name:"payloadLength",binary:"uint",size:4,endianness:"little"},{name:"payload",binary:"bytes"}];function ne(r){return i.deserialize$1(te,r)}function E(r,e,t,n){const s=typeof e=="string"?i.Buffer.from(e,"hex"):i.Buffer.from(e);if(s.length!=32)throw Error("address.length != 32");const a=i.Buffer.alloc(8);return a.writeBigUInt64BE(typeof n=="number"?BigInt(n):n),l.deriveAddress([s,(()=>{const o=i.Buffer.alloc(2);return o.writeUInt16BE(t),o})(),a],r)}async function re(r,e,t,n,s,a){return r.getAccountInfo(E(e,t,n,s),a).then(o=>!!l.getAccountData(o)[0])}function y(r){return l.deriveAddress([i.Buffer.from("Bridge")],r)}async function se(r,e,t){return r.getAccountInfo(y(e),t).then(n=>v.deserialize(l.getAccountData(n)))}class T{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 T(t,n)}}class v{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=T.deserialize(e.subarray(12));return new v(t,n,s)}}function U(r,e){return l.deriveAddress([i.Buffer.from("Sequence"),new i.PublicKey(r).toBytes()],e)}async function ie(r,e,t,n){return r.getAccountInfo(U(e,t),n).then(s=>k.deserialize(l.getAccountData(s)))}class k{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 k(s,t,n)}value(){return this.sequence}}function z(r){return l.deriveAddress([i.Buffer.from("emitter")],r)}function Y(r,e){const t=z(r);return{emitter:t,sequence:U(t,e)}}async function ae(r,e,t,n){return ie(r,z(e),t,n)}function b(r){return l.deriveAddress([i.Buffer.from("fee_collector")],r)}const X=65,L=20;function Ie(r,e,t){return new i.TransactionInstruction({keys:[],programId:i.Secp256k1Program.programId,data:xe.serialize(r,e,t)})}class xe{static serialize(e,t,n){if(e.length==0)throw Error("signatures.length == 0");if(e.length!=t.length)throw Error("signatures.length != keys.length");if(n.length!=32)throw Error("message.length != 32");const s=e.length,a=11,o=1+s*a,c=X+L,u=o+s*c,f=32,d=i.Buffer.alloc(u+f);d.writeUInt8(s,0),d.write(n.toString("hex"),u,"hex");for(let m=0;m<s;++m){const S=e.at(m);if(S?.length!=X)throw Error(`signatures[${m}].length != 65`);const x=t.at(m);if(x?.length!=L)throw Error(`keys[${m}].length != 20`);const P=o+c*m,B=P+65;d.writeUInt16LE(P,1+m*a),d.writeUInt8(0,3+m*a),d.writeUInt16LE(B,4+m*a),d.writeUInt8(0,6+m*a),d.writeUInt16LE(u,7+m*a),d.writeUInt16LE(f,9+m*a),d.writeUInt8(0,10+m*a),d.write(S.toString("hex"),P,"hex"),d.write(x.toString("hex"),B,"hex")}return d}}function A(r,e){return l.deriveAddress([i.Buffer.from("GuardianSet"),(()=>{const t=i.Buffer.alloc(4);return t.writeUInt32BE(e),t})()],r)}async function N(r,e,t,n){return r.getAccountInfo(A(e,t),n).then(s=>q.deserialize(l.getAccountData(s)))}class q{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*L,a=e.readUInt32LE(s),o=e.readUInt32LE(4+s),c=[];for(let u=0;u<n;++u){const f=8+u*L;c.push(e.subarray(f,f+L))}return new q(t,c,a,o)}}function h(r,e){return l.deriveAddress([i.Buffer.from("PostedVAA"),e],r)}async function Pe(r,e,t){return r.getAccountInfo(new i.PublicKey(e),t).then(n=>V.deserialize(l.getAccountData(n)))}class V{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),o=e.readUInt32LE(s+32);return new V(n,a,o)}}function G(r){return l.deriveAddress([i.Buffer.from("upgrade")],r)}function $(r,e,t){return i.SystemProgram.transfer({fromPubkey:new i.PublicKey(e),toPubkey:b(r),lamports:t})}class Be{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 O(this.idl,e)??0}}class Ke{constructor(e){}decode(e){throw new Error("Wormhole program does not have events")}}class M{static fieldLayout(e,t){const n=e.name!==void 0?K(e.name):void 0;switch(e.type){case"bool":return g.distExports.bool(n);case"u8":return g.distExports.u8(n);case"i8":return g.distExports.i8(n);case"u16":return g.distExports.u16(n);case"i16":return g.distExports.i16(n);case"u32":return g.distExports.u32(n);case"i32":return g.distExports.i32(n);case"f32":return g.distExports.f32(n);case"u64":return g.distExports.u64(n);case"i64":return g.distExports.i64(n);case"f64":return g.distExports.f64(n);case"u128":return g.distExports.u128(n);case"i128":return g.distExports.i128(n);case"u256":return g.distExports.u256(n);case"i256":return g.distExports.i256(n);case"bytes":return g.distExports.vecU8(n);case"string":return g.distExports.str(n);case"publicKey":return g.distExports.publicKey(n);default:{if("vec"in e.type)return g.distExports.vec(M.fieldLayout({name:void 0,type:e.type.vec},t),n);if("option"in e.type)return g.distExports.option(M.fieldLayout({name:void 0,type:e.type.option},t),n);if("array"in e.type){let s=e.type.array[0],a=e.type.array[1],o=M.fieldLayout({name:void 0,type:s},t);return g.distExports.array(o,a,n)}else throw new Error(`Not yet implemented: ${e}`)}}}}class W{ixLayout;constructor(e){this.ixLayout=W.parseIxLayout(e)}static parseIxLayout(e){const n=(e.instructions?e.instructions:[]).map(s=>{let a=s.args.map(c=>M.fieldLayout(c,Array.from([...e.accounts??[],...e.types??[]])));const o=K(s.name);return[o,g.distExports.struct(a,o)]}).concat(e.instructions.map(s=>{let a=s.args.map(c=>M.fieldLayout(c,Array.from([...e.accounts??[],...e.types??[]])));const o=K(s.name);return[o,g.distExports.struct(a,o)]}));return new Map(n)}encode(e,t){const n=i.Buffer.alloc(1e3),s=K(e),a=this.ixLayout.get(s);if(!a)throw new Error(`Unknown method: ${s}`);const o=a.encode(t,n),c=n.slice(0,o);return Le(_[Me(s)],c)}encodeState(e,t){throw new Error("Wormhole program does not have state")}decode(e,t="hex"){typeof e=="string"&&(e=t==="hex"?i.Buffer.from(e,"hex"):i.b58.decode(e));let n=i.Buffer.from(e.slice(0,1)).readInt8(),s=i.Buffer.from(e.slice(1)),a=K(_[n]??"");return this.ixLayout.get(a)?{data:this.ixLayout.get(a)?.decode(s),name:a}:null}}var _;(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"})(_||(_={}));function Le(r,e){const t=i.Buffer.alloc(1+(e===void 0?0:e.length));return t.writeUInt8(r,0),e!==void 0&&t.write(e.toString("hex"),1,"hex"),t}class Ue{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 Ce{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 _e{instruction;accounts;state;events;types;constructor(e){this.instruction=new W(e),this.accounts=new Be(e),this.state=new Ue(e),this.events=new Ke(e),this.types=new Ce(e)}}const j={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 oe(r,e){return new g.Program(j,new i.PublicKey(r),e===void 0?{connection:null}:e,ue())}function p(r,e){return oe(r,g.createReadOnlyProvider(e))}function ue(){return new _e(j)}function Te(r,e,t,n){const s=p(e,r).methods.setFees();return s._ixFn(...s._args,{accounts:ce(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function ce(r,e,t){return{payer:new i.PublicKey(e),bridge:y(r),vaa:h(r,i.Buffer.from(t.hash)),claim:E(r,t.emitterAddress.toString(),i.toChainId(t.emitterChain),t.sequence),systemProgram:i.SystemProgram.programId}}function ve(r,e,t,n,s){const a=p(e,r).methods.transferFees();return a._ixFn(...a._args,{accounts:de(e,t,n,s),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function de(r,e,t,n){return{payer:new i.PublicKey(e),bridge:y(r),vaa:h(r,i.Buffer.from(n.hash)),claim:E(r,n.emitterAddress.toString(),i.toChainId(n.emitterChain),n.sequence),feeCollector:b(r),recipient:new i.PublicKey(t),rent:i.SYSVAR_RENT_PUBKEY,systemProgram:i.SystemProgram.programId}}function ke(r,e,t,n){const s=p(e,r).methods.upgradeGuardianSet();return s._ixFn(...s._args,{accounts:ge(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function ge(r,e,t){return{payer:new i.PublicKey(e),bridge:y(r),vaa:h(r,i.Buffer.from(t.hash)),claim:E(r,t.emitterAddress.toString(),i.toChainId(t.emitterChain),t.sequence),guardianSetOld:A(r,t.guardianSet),guardianSetNew:A(r,t.guardianSet+1),systemProgram:i.SystemProgram.programId}}function ze(r,e,t,n){const s=p(e,r).methods.upgradeContract();return s._ixFn(...s._args,{accounts:fe(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function fe(r,e,t,n){const{newContract:s}=t.payload.actionArgs;return{payer:new i.PublicKey(e),bridge:y(r),vaa:h(r,i.Buffer.from(t.hash)),claim:E(r,t.emitterAddress.toString(),i.toChainId(t.emitterChain),t.sequence),upgradeAuthority:G(r),spill:new i.PublicKey(n===void 0?e:n),implementation:new i.SolanaAddress(s).unwrap(),programData:ee(r),wormholeProgram:new i.PublicKey(r),rent:i.SYSVAR_RENT_PUBKEY,clock:i.SYSVAR_CLOCK_PUBKEY,bpfLoaderUpgradeable:R,systemProgram:i.SystemProgram.programId}}function qe(r,e,t,n,s,a){const o=p(e,r).methods.initialize(n,new i.BN(s.toString()),[...a.map(c=>[...new Uint8Array(c)])]);return o._ixFn(...o._args,{accounts:me(e,t),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function me(r,e){return{bridge:y(r),guardianSet:A(r,0),feeCollector:b(r),payer:new i.PublicKey(e),clock:i.SYSVAR_CLOCK_PUBKEY,rent:i.SYSVAR_RENT_PUBKEY,systemProgram:i.SystemProgram.programId}}function le(r,e,t,n,s,a,o){const c=p(e,r).methods.postMessage(a,i.Buffer.from(s),o);return c._ixFn(...c._args,{accounts:D(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function D(r,e,t,n){let s;return n?{emitter:n,sequence:s}=Y(n,r):(n=e,s=U(n,r)),{bridge:y(r),message:new i.PublicKey(t),emitter:new i.PublicKey(n),sequence:s,payer:new i.PublicKey(e),feeCollector:b(r),clock:i.SYSVAR_CLOCK_PUBKEY,rent:i.SYSVAR_RENT_PUBKEY,systemProgram:i.SystemProgram.programId}}function ye(r,e,t,n,s){const a=p(e,r).methods.postVaa(1,n.guardianSet,n.timestamp,n.nonce,i.toChainId(n.emitterChain),[...n.emitterAddress.toUint8Array()],new i.BN(n.sequence.toString()),n.consistencyLevel,i.Buffer.from(i.serializePayload(n.payloadLiteral,n.payload)));return a._ixFn(...a._args,{accounts:pe(e,t,s,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function pe(r,e,t,n){return{guardianSet:A(r,n.guardianSet),bridge:y(r),signatureSet:new i.PublicKey(t),vaa:h(r,i.Buffer.from(n.hash)),payer:new i.PublicKey(e),clock:i.SYSVAR_CLOCK_PUBKEY,rent:i.SYSVAR_RENT_PUBKEY,systemProgram:i.SystemProgram.programId}}const Ve=19;async function he(r,e,t,n,s,a){const o=n.guardianSet,c=await N(r,e,o,a),u=n.signatures,f=c.keys,d=7,m=[];for(let S=0;S<Math.ceil(u.length/d);++S){const x=S*d,P=Math.min(u.length,(S+1)*d),B=new Array(Ve).fill(-1),H=[],J=[];for(let C=0;C<P-x;++C){const F=u.at(C+x);H.push(i.Buffer.from(F.signature.encode())),J.push(f.at(F.guardianIndex)),B[F.guardianIndex]=C}m.push(Ie(H,J,i.Buffer.from(n.hash))),m.push(De(r,e,t,n,s,B))}return m}function De(r,e,t,n,s,a){const o=p(e,r).methods.verifySignatures(a);return o._ixFn(...o._args,{accounts:Se(e,t,s,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function Se(r,e,t,n){return{payer:new i.PublicKey(e),guardianSet:A(r,n.guardianSet),signatureSet:new i.PublicKey(t),instructions:i.SYSVAR_INSTRUCTIONS_PUBKEY,rent:i.SYSVAR_RENT_PUBKEY,systemProgram:i.SystemProgram.programId}}function we(r,e){const{emitter:t,sequence:n}=Y(r,e);return{wormholeBridge:y(e),wormholeEmitter:t,wormholeSequence:n,wormholeFeeCollector:b(e)}}function Ae(r,e,t,n){const s=D(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 Fe=Object.freeze(Object.defineProperty({__proto__:null,BridgeConfig:T,BridgeData:v,GuardianSetData:q,SequenceTracker:k,SignatureSetData:V,coder:ue,createBridgeFeeTransferInstruction:$,createInitializeInstruction:qe,createPostMessageInstruction:le,createPostVaaInstruction:ye,createReadOnlyWormholeProgramInterface:p,createSetFeesInstruction:Te,createTransferFeesInstruction:ve,createUpgradeContractInstruction:ze,createUpgradeGuardianSetInstruction:ke,createVerifySignaturesInstructions:he,createWormholeProgramInterface:oe,deriveClaimKey:E,deriveEmitterSequenceKey:U,deriveFeeCollectorKey:b,deriveGuardianSetKey:A,derivePostedVaaKey:h,deriveUpgradeAuthorityKey:G,deriveWormholeBridgeDataKey:y,deriveWormholeEmitterKey:z,getClaim:re,getEmitterKeys:Y,getGuardianSet:N,getInitializeAccounts:me,getPostMessageAccounts:D,getPostMessageCpiAccounts:Ae,getPostVaaAccounts:pe,getProgramSequenceTracker:ae,getSequenceTracker:ie,getSetFeesAccounts:ce,getSignatureSetData:Pe,getTransferFeesAccounts:de,getUpgradeContractAccounts:fe,getUpgradeGuardianSetAccounts:ge,getVerifySignatureAccounts:Se,getWormholeBridgeData:se,getWormholeDerivedAccounts:we},Symbol.toStringTag,{value:"Module"})),Z="Program log: Sequence: ";class I{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=i.toChainId(t);const a=s.coreBridge;if(!a)throw new Error(`CoreBridge contract Address for chain ${t} not found`);this.address=a,this.coreBridge=p(a,n)}async getGuardianSet(e){const t=await N(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 Q.SolanaPlatform.chainFromRpc(e),a=t[s];if(a.network!==n)throw new Error(`Network mismatch for chain ${s}: ${a.network} != ${n}`);return new I(n,s,e,t[s].contracts)}async ensureBridgeConfig(){this.bridgeData||(this.bridgeData=await se(this.connection,this.coreBridge.programId))}async getMessageFee(){return await this.ensureBridgeConfig(),this.bridgeData.config.fee}async getGuardianSetIndex(){return await this.ensureBridgeConfig(),this.bridgeData.guardianSetIndex}async*publishMessage(e,t,n,s){const a=i.Keypair.generate(),o=new i.SolanaAddress(e).unwrap(),c=le(this.connection,this.coreBridge.programId,o,a.publicKey,t,n,s),u=await this.getMessageFee(),f=$(this.coreBridge.programId,o,u),d=new i.Transaction;d.feePayer=o,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=h(this.coreBridge.programId,i.Buffer.from(t.hash));if(await this.connection.getAccountInfo(n))return;const a=new i.SolanaAddress(e).unwrap(),o=i.Keypair.generate(),c=await he(this.connection,this.coreBridge.programId,a,t,o.publicKey);for(let f=0;f<c.length;f+=2){const d=new i.Transaction().add(...c.slice(f,f+2));d.feePayer=a,yield this.createUnsignedTx({transaction:d,signers:[o]},"Core.VerifySignature",!0)}const u=new i.Transaction().add(ye(this.connection,this.coreBridge.programId,a,t,o.publicKey));u.feePayer=a,yield this.createUnsignedTx({transaction:u},"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(u=>u.toString()===e).length===0)return[];const o=n?.logMessages?.filter(u=>u.startsWith(Z))?.[0]?.replace(Z,"");if(!o)return[];const c=[];for(const u of n?.innerInstructions){const f=u.instructions;c.push(...f.filter(d=>d.programIdIndex in a&&a[d.programIdIndex].toString()===e))}return c.length<1?[]:a.length<3?[]:c.map(u=>[new i.SolanaAddress(a[u.accounts[2]]).toUniversalAddress(),BigInt(o)]).filter(u=>u!==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,o=n.innerInstructions?.flatMap(u=>u.instructions.filter(f=>a.toString()===e.get(f.programIdIndex).toString())).map(u=>({programIdIndex:u.programIdIndex,accountKeyIndexes:u.accounts})),c=s.compiledInstructions.filter(u=>a.toString()===e.get(u.programIdIndex).toString());return[...o,...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:o,sequence:c,nonce:u,payload:f}=ne(new Uint8Array(t?.data));return Ee.createVAA("Uint8Array",{guardianSet:await this.getGuardianSetIndex(),emitterChain:i.toChain(a),timestamp:n,emitterAddress:s,consistencyLevel:o,sequence:c,nonce:u,payload:f,signatures:[]})}async parseTransaction(e){const t=await this.connection.getTransaction(e,{maxSupportedTransactionVersion:0});if(!t||!t.meta||!t.meta.innerInstructions)throw new Error("transaction not found");try{const o=I.parseSequenceFromLog(this.coreBridge.programId.toBase58(),t);if(o.length>0){const[c,u]=o[0];return[{chain:this.chain,emitter:c,sequence:u}]}}catch{}const n=await this.getMessageAccountKeys(t),s=await this.findInstructions(n,t);if(!s||s.length===0)throw new Error("no bridge messages found");const a=s.map(async o=>{const c=n.get(o.accountKeyIndexes[1]),u=await this.parsePostMessageAccount(c);return{chain:u.emitterChain,emitter:u.emitterAddress,sequence:u.sequence}});return await Promise.all(a)}async parseMessages(e){const t=await this.connection.getTransaction(e,{maxSupportedTransactionVersion:0});if(!t||!t.meta||!t.meta.innerInstructions)throw new Error("transaction not found");const n=await this.getMessageAccountKeys(t),s=await this.findInstructions(n,t);if(!s||s.length===0)throw new Error("no bridge messages found");const a=s.map(async o=>{const c=n.get(o.accountKeyIndexes[1]);return await this.parsePostMessageAccount(c)});return await Promise.all(a)}createUnsignedTx(e,t,n=!1){return new Q.SolanaUnsignedTransaction(e,this.network,this.chain,t,n)}}i.registerProtocol(i._platform$1,"WormholeCore",I);const Re=Object.freeze(Object.defineProperty({__proto__:null,IDL:j,SolanaWormholeCore:I,deserializePostMessage:ne,postMessageLayout:te,utils:Fe},Symbol.toStringTag,{value:"Module"}));exports.BPF_LOADER_UPGRADEABLE_PROGRAM_ID=R;exports.SolanaWormholeCore=I;exports.accountSize=O;exports.createBridgeFeeTransferInstruction=$;exports.deriveClaimKey=E;exports.deriveEmitterSequenceKey=U;exports.deriveFeeCollectorKey=b;exports.derivePostedVaaKey=h;exports.deriveProgramDataAddress=ee;exports.deriveUpgradeAuthorityKey=G;exports.deriveWormholeBridgeDataKey=y;exports.deriveWormholeEmitterKey=z;exports.getClaim=re;exports.getPostMessageAccounts=D;exports.getPostMessageCpiAccounts=Ae;exports.getProgramSequenceTracker=ae;exports.getWormholeDerivedAccounts=we;exports.index=Re;
|
|
1
|
+
"use strict";const i=require("./web3-BKaP497Y.js"),g=require("./index-B7HBnPLP.js"),l=require("./account-24z6tDMM.js"),Q=require("./unsignedTransaction-DL3WyIkF.js"),Ee=require("./create-CGZYy2vu.js"),R=new i.PublicKey("BPFLoaderUpgradeab1e11111111111111111111111");function ee(r){return l.deriveAddress([new i.PublicKey(r).toBuffer()],R)}class be extends Error{constructor(e){super(e),this.name="IdlError"}}function O(r,e){switch(e.type.kind){case"struct":return e.type.fields.map(t=>w(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?w(r,s.type):w(r,s)).reduce((s,a)=>s+a,0):0);return Math.max(...t)+1}case"alias":return w(r,e.type.value)}}function w(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+w(r,e.option);if("coption"in e)return 4+w(r,e.coption);if("defined"in e){const t=r.types?.filter(s=>s.name===e.defined)??[];if(t.length!==1)throw new be(`Type not found: ${JSON.stringify(e)}`);let n=t[0];return O(r,n)}if("array"in e){let t=e.array[0],n=e.array[1];return w(r,t)*n}throw new Error(`Invalid type ${JSON.stringify(e)}`)}}function K(r){return r.replace(/(?:^\w|[A-Z]|\b\w)/g,function(e,t){return t===0?e.toLowerCase():e.toUpperCase()}).replace(/[\s\-_]+/g,"")}function Me(r){return r.charAt(0).toUpperCase()+r.slice(1)}const te=[{name:"discriminator",binary:"bytes",size:4},{name:"consistencyLevel",binary:"uint",size:1,endianness:"little"},{name:"emitterAuthority",...i.universalAddressItem},{name:"messageStatus",binary:"uint",size:1,endianness:"little"},{name:"gap",binary:"uint",size:3},{name:"timestamp",binary:"uint",size:4,endianness:"little"},{name:"nonce",binary:"uint",size:4,endianness:"little"},{name:"sequence",binary:"uint",size:8,endianness:"little"},{name:"emitterChain",binary:"uint",size:2,endianness:"little"},{name:"emitterAddress",...i.universalAddressItem},{name:"payloadLength",binary:"uint",size:4,endianness:"little"},{name:"payload",binary:"bytes"}];function ne(r){return i.deserialize$1(te,r)}function E(r,e,t,n){const s=typeof e=="string"?i.Buffer.from(e,"hex"):i.Buffer.from(e);if(s.length!=32)throw Error("address.length != 32");const a=i.Buffer.alloc(8);return a.writeBigUInt64BE(typeof n=="number"?BigInt(n):n),l.deriveAddress([s,(()=>{const o=i.Buffer.alloc(2);return o.writeUInt16BE(t),o})(),a],r)}async function re(r,e,t,n,s,a){return r.getAccountInfo(E(e,t,n,s),a).then(o=>!!l.getAccountData(o)[0])}function y(r){return l.deriveAddress([i.Buffer.from("Bridge")],r)}async function se(r,e,t){return r.getAccountInfo(y(e),t).then(n=>v.deserialize(l.getAccountData(n)))}class T{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 T(t,n)}}class v{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=T.deserialize(e.subarray(12));return new v(t,n,s)}}function U(r,e){return l.deriveAddress([i.Buffer.from("Sequence"),new i.PublicKey(r).toBytes()],e)}async function ie(r,e,t,n){return r.getAccountInfo(U(e,t),n).then(s=>k.deserialize(l.getAccountData(s)))}class k{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 k(s,t,n)}value(){return this.sequence}}function z(r){return l.deriveAddress([i.Buffer.from("emitter")],r)}function Y(r,e){const t=z(r);return{emitter:t,sequence:U(t,e)}}async function ae(r,e,t,n){return ie(r,z(e),t,n)}function b(r){return l.deriveAddress([i.Buffer.from("fee_collector")],r)}const X=65,L=20;function Ie(r,e,t){return new i.TransactionInstruction({keys:[],programId:i.Secp256k1Program.programId,data:xe.serialize(r,e,t)})}class xe{static serialize(e,t,n){if(e.length==0)throw Error("signatures.length == 0");if(e.length!=t.length)throw Error("signatures.length != keys.length");if(n.length!=32)throw Error("message.length != 32");const s=e.length,a=11,o=1+s*a,c=X+L,u=o+s*c,f=32,d=i.Buffer.alloc(u+f);d.writeUInt8(s,0),d.write(n.toString("hex"),u,"hex");for(let m=0;m<s;++m){const S=e.at(m);if(S?.length!=X)throw Error(`signatures[${m}].length != 65`);const x=t.at(m);if(x?.length!=L)throw Error(`keys[${m}].length != 20`);const P=o+c*m,B=P+65;d.writeUInt16LE(P,1+m*a),d.writeUInt8(0,3+m*a),d.writeUInt16LE(B,4+m*a),d.writeUInt8(0,6+m*a),d.writeUInt16LE(u,7+m*a),d.writeUInt16LE(f,9+m*a),d.writeUInt8(0,10+m*a),d.write(S.toString("hex"),P,"hex"),d.write(x.toString("hex"),B,"hex")}return d}}function A(r,e){return l.deriveAddress([i.Buffer.from("GuardianSet"),(()=>{const t=i.Buffer.alloc(4);return t.writeUInt32BE(e),t})()],r)}async function N(r,e,t,n){return r.getAccountInfo(A(e,t),n).then(s=>q.deserialize(l.getAccountData(s)))}class q{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*L,a=e.readUInt32LE(s),o=e.readUInt32LE(4+s),c=[];for(let u=0;u<n;++u){const f=8+u*L;c.push(e.subarray(f,f+L))}return new q(t,c,a,o)}}function h(r,e){return l.deriveAddress([i.Buffer.from("PostedVAA"),e],r)}async function Pe(r,e,t){return r.getAccountInfo(new i.PublicKey(e),t).then(n=>V.deserialize(l.getAccountData(n)))}class V{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),o=e.readUInt32LE(s+32);return new V(n,a,o)}}function G(r){return l.deriveAddress([i.Buffer.from("upgrade")],r)}function $(r,e,t){return i.SystemProgram.transfer({fromPubkey:new i.PublicKey(e),toPubkey:b(r),lamports:t})}class Be{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 O(this.idl,e)??0}}class Ke{constructor(e){}decode(e){throw new Error("Wormhole program does not have events")}}class M{static fieldLayout(e,t){const n=e.name!==void 0?K(e.name):void 0;switch(e.type){case"bool":return g.distExports.bool(n);case"u8":return g.distExports.u8(n);case"i8":return g.distExports.i8(n);case"u16":return g.distExports.u16(n);case"i16":return g.distExports.i16(n);case"u32":return g.distExports.u32(n);case"i32":return g.distExports.i32(n);case"f32":return g.distExports.f32(n);case"u64":return g.distExports.u64(n);case"i64":return g.distExports.i64(n);case"f64":return g.distExports.f64(n);case"u128":return g.distExports.u128(n);case"i128":return g.distExports.i128(n);case"u256":return g.distExports.u256(n);case"i256":return g.distExports.i256(n);case"bytes":return g.distExports.vecU8(n);case"string":return g.distExports.str(n);case"publicKey":return g.distExports.publicKey(n);default:{if("vec"in e.type)return g.distExports.vec(M.fieldLayout({name:void 0,type:e.type.vec},t),n);if("option"in e.type)return g.distExports.option(M.fieldLayout({name:void 0,type:e.type.option},t),n);if("array"in e.type){let s=e.type.array[0],a=e.type.array[1],o=M.fieldLayout({name:void 0,type:s},t);return g.distExports.array(o,a,n)}else throw new Error(`Not yet implemented: ${e}`)}}}}class W{ixLayout;constructor(e){this.ixLayout=W.parseIxLayout(e)}static parseIxLayout(e){const n=(e.instructions?e.instructions:[]).map(s=>{let a=s.args.map(c=>M.fieldLayout(c,Array.from([...e.accounts??[],...e.types??[]])));const o=K(s.name);return[o,g.distExports.struct(a,o)]}).concat(e.instructions.map(s=>{let a=s.args.map(c=>M.fieldLayout(c,Array.from([...e.accounts??[],...e.types??[]])));const o=K(s.name);return[o,g.distExports.struct(a,o)]}));return new Map(n)}encode(e,t){const n=i.Buffer.alloc(1e3),s=K(e),a=this.ixLayout.get(s);if(!a)throw new Error(`Unknown method: ${s}`);const o=a.encode(t,n),c=n.slice(0,o);return Le(_[Me(s)],c)}encodeState(e,t){throw new Error("Wormhole program does not have state")}decode(e,t="hex"){typeof e=="string"&&(e=t==="hex"?i.Buffer.from(e,"hex"):i.b58.decode(e));let n=i.Buffer.from(e.slice(0,1)).readInt8(),s=i.Buffer.from(e.slice(1)),a=K(_[n]??"");return this.ixLayout.get(a)?{data:this.ixLayout.get(a)?.decode(s),name:a}:null}}var _;(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"})(_||(_={}));function Le(r,e){const t=i.Buffer.alloc(1+(e===void 0?0:e.length));return t.writeUInt8(r,0),e!==void 0&&t.write(e.toString("hex"),1,"hex"),t}class Ue{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 Ce{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 _e{instruction;accounts;state;events;types;constructor(e){this.instruction=new W(e),this.accounts=new Be(e),this.state=new Ue(e),this.events=new Ke(e),this.types=new Ce(e)}}const j={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 oe(r,e){return new g.Program(j,new i.PublicKey(r),e===void 0?{connection:null}:e,ue())}function p(r,e){return oe(r,g.createReadOnlyProvider(e))}function ue(){return new _e(j)}function Te(r,e,t,n){const s=p(e,r).methods.setFees();return s._ixFn(...s._args,{accounts:ce(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function ce(r,e,t){return{payer:new i.PublicKey(e),bridge:y(r),vaa:h(r,i.Buffer.from(t.hash)),claim:E(r,t.emitterAddress.toString(),i.toChainId(t.emitterChain),t.sequence),systemProgram:i.SystemProgram.programId}}function ve(r,e,t,n,s){const a=p(e,r).methods.transferFees();return a._ixFn(...a._args,{accounts:de(e,t,n,s),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function de(r,e,t,n){return{payer:new i.PublicKey(e),bridge:y(r),vaa:h(r,i.Buffer.from(n.hash)),claim:E(r,n.emitterAddress.toString(),i.toChainId(n.emitterChain),n.sequence),feeCollector:b(r),recipient:new i.PublicKey(t),rent:i.SYSVAR_RENT_PUBKEY,systemProgram:i.SystemProgram.programId}}function ke(r,e,t,n){const s=p(e,r).methods.upgradeGuardianSet();return s._ixFn(...s._args,{accounts:ge(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function ge(r,e,t){return{payer:new i.PublicKey(e),bridge:y(r),vaa:h(r,i.Buffer.from(t.hash)),claim:E(r,t.emitterAddress.toString(),i.toChainId(t.emitterChain),t.sequence),guardianSetOld:A(r,t.guardianSet),guardianSetNew:A(r,t.guardianSet+1),systemProgram:i.SystemProgram.programId}}function ze(r,e,t,n){const s=p(e,r).methods.upgradeContract();return s._ixFn(...s._args,{accounts:fe(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function fe(r,e,t,n){const{newContract:s}=t.payload.actionArgs;return{payer:new i.PublicKey(e),bridge:y(r),vaa:h(r,i.Buffer.from(t.hash)),claim:E(r,t.emitterAddress.toString(),i.toChainId(t.emitterChain),t.sequence),upgradeAuthority:G(r),spill:new i.PublicKey(n===void 0?e:n),implementation:new i.SolanaAddress(s).unwrap(),programData:ee(r),wormholeProgram:new i.PublicKey(r),rent:i.SYSVAR_RENT_PUBKEY,clock:i.SYSVAR_CLOCK_PUBKEY,bpfLoaderUpgradeable:R,systemProgram:i.SystemProgram.programId}}function qe(r,e,t,n,s,a){const o=p(e,r).methods.initialize(n,new i.BN(s.toString()),[...a.map(c=>[...new Uint8Array(c)])]);return o._ixFn(...o._args,{accounts:me(e,t),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function me(r,e){return{bridge:y(r),guardianSet:A(r,0),feeCollector:b(r),payer:new i.PublicKey(e),clock:i.SYSVAR_CLOCK_PUBKEY,rent:i.SYSVAR_RENT_PUBKEY,systemProgram:i.SystemProgram.programId}}function le(r,e,t,n,s,a,o){const c=p(e,r).methods.postMessage(a,i.Buffer.from(s),o);return c._ixFn(...c._args,{accounts:D(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function D(r,e,t,n){let s;return n?{emitter:n,sequence:s}=Y(n,r):(n=e,s=U(n,r)),{bridge:y(r),message:new i.PublicKey(t),emitter:new i.PublicKey(n),sequence:s,payer:new i.PublicKey(e),feeCollector:b(r),clock:i.SYSVAR_CLOCK_PUBKEY,rent:i.SYSVAR_RENT_PUBKEY,systemProgram:i.SystemProgram.programId}}function ye(r,e,t,n,s){const a=p(e,r).methods.postVaa(1,n.guardianSet,n.timestamp,n.nonce,i.toChainId(n.emitterChain),[...n.emitterAddress.toUint8Array()],new i.BN(n.sequence.toString()),n.consistencyLevel,i.Buffer.from(i.serializePayload(n.payloadLiteral,n.payload)));return a._ixFn(...a._args,{accounts:pe(e,t,s,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function pe(r,e,t,n){return{guardianSet:A(r,n.guardianSet),bridge:y(r),signatureSet:new i.PublicKey(t),vaa:h(r,i.Buffer.from(n.hash)),payer:new i.PublicKey(e),clock:i.SYSVAR_CLOCK_PUBKEY,rent:i.SYSVAR_RENT_PUBKEY,systemProgram:i.SystemProgram.programId}}const Ve=19;async function he(r,e,t,n,s,a){const o=n.guardianSet,c=await N(r,e,o,a),u=n.signatures,f=c.keys,d=7,m=[];for(let S=0;S<Math.ceil(u.length/d);++S){const x=S*d,P=Math.min(u.length,(S+1)*d),B=new Array(Ve).fill(-1),H=[],J=[];for(let C=0;C<P-x;++C){const F=u.at(C+x);H.push(i.Buffer.from(F.signature.encode())),J.push(f.at(F.guardianIndex)),B[F.guardianIndex]=C}m.push(Ie(H,J,i.Buffer.from(n.hash))),m.push(De(r,e,t,n,s,B))}return m}function De(r,e,t,n,s,a){const o=p(e,r).methods.verifySignatures(a);return o._ixFn(...o._args,{accounts:Se(e,t,s,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function Se(r,e,t,n){return{payer:new i.PublicKey(e),guardianSet:A(r,n.guardianSet),signatureSet:new i.PublicKey(t),instructions:i.SYSVAR_INSTRUCTIONS_PUBKEY,rent:i.SYSVAR_RENT_PUBKEY,systemProgram:i.SystemProgram.programId}}function we(r,e){const{emitter:t,sequence:n}=Y(r,e);return{wormholeBridge:y(e),wormholeEmitter:t,wormholeSequence:n,wormholeFeeCollector:b(e)}}function Ae(r,e,t,n){const s=D(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 Fe=Object.freeze(Object.defineProperty({__proto__:null,BridgeConfig:T,BridgeData:v,GuardianSetData:q,SequenceTracker:k,SignatureSetData:V,coder:ue,createBridgeFeeTransferInstruction:$,createInitializeInstruction:qe,createPostMessageInstruction:le,createPostVaaInstruction:ye,createReadOnlyWormholeProgramInterface:p,createSetFeesInstruction:Te,createTransferFeesInstruction:ve,createUpgradeContractInstruction:ze,createUpgradeGuardianSetInstruction:ke,createVerifySignaturesInstructions:he,createWormholeProgramInterface:oe,deriveClaimKey:E,deriveEmitterSequenceKey:U,deriveFeeCollectorKey:b,deriveGuardianSetKey:A,derivePostedVaaKey:h,deriveUpgradeAuthorityKey:G,deriveWormholeBridgeDataKey:y,deriveWormholeEmitterKey:z,getClaim:re,getEmitterKeys:Y,getGuardianSet:N,getInitializeAccounts:me,getPostMessageAccounts:D,getPostMessageCpiAccounts:Ae,getPostVaaAccounts:pe,getProgramSequenceTracker:ae,getSequenceTracker:ie,getSetFeesAccounts:ce,getSignatureSetData:Pe,getTransferFeesAccounts:de,getUpgradeContractAccounts:fe,getUpgradeGuardianSetAccounts:ge,getVerifySignatureAccounts:Se,getWormholeBridgeData:se,getWormholeDerivedAccounts:we},Symbol.toStringTag,{value:"Module"})),Z="Program log: Sequence: ";class I{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=i.toChainId(t);const a=s.coreBridge;if(!a)throw new Error(`CoreBridge contract Address for chain ${t} not found`);this.address=a,this.coreBridge=p(a,n)}async getGuardianSet(e){const t=await N(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 Q.SolanaPlatform.chainFromRpc(e),a=t[s];if(a.network!==n)throw new Error(`Network mismatch for chain ${s}: ${a.network} != ${n}`);return new I(n,s,e,t[s].contracts)}async ensureBridgeConfig(){this.bridgeData||(this.bridgeData=await se(this.connection,this.coreBridge.programId))}async getMessageFee(){return await this.ensureBridgeConfig(),this.bridgeData.config.fee}async getGuardianSetIndex(){return await this.ensureBridgeConfig(),this.bridgeData.guardianSetIndex}async*publishMessage(e,t,n,s){const a=i.Keypair.generate(),o=new i.SolanaAddress(e).unwrap(),c=le(this.connection,this.coreBridge.programId,o,a.publicKey,t,n,s),u=await this.getMessageFee(),f=$(this.coreBridge.programId,o,u),d=new i.Transaction;d.feePayer=o,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=h(this.coreBridge.programId,i.Buffer.from(t.hash));if(await this.connection.getAccountInfo(n))return;const a=new i.SolanaAddress(e).unwrap(),o=i.Keypair.generate(),c=await he(this.connection,this.coreBridge.programId,a,t,o.publicKey);for(let f=0;f<c.length;f+=2){const d=new i.Transaction().add(...c.slice(f,f+2));d.feePayer=a,yield this.createUnsignedTx({transaction:d,signers:[o]},"Core.VerifySignature",!0)}const u=new i.Transaction().add(ye(this.connection,this.coreBridge.programId,a,t,o.publicKey));u.feePayer=a,yield this.createUnsignedTx({transaction:u},"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(u=>u.toString()===e).length===0)return[];const o=n?.logMessages?.filter(u=>u.startsWith(Z))?.[0]?.replace(Z,"");if(!o)return[];const c=[];for(const u of n?.innerInstructions){const f=u.instructions;c.push(...f.filter(d=>d.programIdIndex in a&&a[d.programIdIndex].toString()===e))}return c.length<1?[]:a.length<3?[]:c.map(u=>[new i.SolanaAddress(a[u.accounts[2]]).toUniversalAddress(),BigInt(o)]).filter(u=>u!==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,o=n.innerInstructions?.flatMap(u=>u.instructions.filter(f=>a.toString()===e.get(f.programIdIndex).toString())).map(u=>({programIdIndex:u.programIdIndex,accountKeyIndexes:u.accounts})),c=s.compiledInstructions.filter(u=>a.toString()===e.get(u.programIdIndex).toString());return[...o,...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:o,sequence:c,nonce:u,payload:f}=ne(new Uint8Array(t?.data));return Ee.createVAA("Uint8Array",{guardianSet:await this.getGuardianSetIndex(),emitterChain:i.toChain(a),timestamp:n,emitterAddress:s,consistencyLevel:o,sequence:c,nonce:u,payload:f,signatures:[]})}async parseTransaction(e){const t=await this.connection.getTransaction(e,{maxSupportedTransactionVersion:0});if(!t||!t.meta||!t.meta.innerInstructions)throw new Error("transaction not found");try{const o=I.parseSequenceFromLog(this.coreBridge.programId.toBase58(),t);if(o.length>0){const[c,u]=o[0];return[{chain:this.chain,emitter:c,sequence:u}]}}catch{}const n=await this.getMessageAccountKeys(t),s=await this.findInstructions(n,t);if(!s||s.length===0)throw new Error("no bridge messages found");const a=s.map(async o=>{const c=n.get(o.accountKeyIndexes[1]),u=await this.parsePostMessageAccount(c);return{chain:u.emitterChain,emitter:u.emitterAddress,sequence:u.sequence}});return await Promise.all(a)}async parseMessages(e){const t=await this.connection.getTransaction(e,{maxSupportedTransactionVersion:0});if(!t||!t.meta||!t.meta.innerInstructions)throw new Error("transaction not found");const n=await this.getMessageAccountKeys(t),s=await this.findInstructions(n,t);if(!s||s.length===0)throw new Error("no bridge messages found");const a=s.map(async o=>{const c=n.get(o.accountKeyIndexes[1]);return await this.parsePostMessageAccount(c)});return await Promise.all(a)}createUnsignedTx(e,t,n=!1){return new Q.SolanaUnsignedTransaction(e,this.network,this.chain,t,n)}}i.registerProtocol(i._platform$1,"WormholeCore",I);const Re=Object.freeze(Object.defineProperty({__proto__:null,IDL:j,SolanaWormholeCore:I,deserializePostMessage:ne,postMessageLayout:te,utils:Fe},Symbol.toStringTag,{value:"Module"}));exports.BPF_LOADER_UPGRADEABLE_PROGRAM_ID=R;exports.SolanaWormholeCore=I;exports.accountSize=O;exports.createBridgeFeeTransferInstruction=$;exports.deriveClaimKey=E;exports.deriveEmitterSequenceKey=U;exports.deriveFeeCollectorKey=b;exports.derivePostedVaaKey=h;exports.deriveProgramDataAddress=ee;exports.deriveUpgradeAuthorityKey=G;exports.deriveWormholeBridgeDataKey=y;exports.deriveWormholeEmitterKey=z;exports.getClaim=re;exports.getPostMessageAccounts=D;exports.getPostMessageCpiAccounts=Ae;exports.getProgramSequenceTracker=ae;exports.getWormholeDerivedAccounts=we;exports.index=Re;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { P as o, L as h, ar as I, aq as J, as as Z, ac as y, S as C, N as j, b9 as O, bs as E, q as Y, aO as b, d as x, aP as T, b8 as ee, K as ne, dL as D, aH as se, aQ as ae } from "./web3-
|
|
2
|
-
import { P as N, c as _, i as B } from "./index-
|
|
3
|
-
import { S as te, a as ie } from "./unsignedTransaction-
|
|
1
|
+
import { P as o, L as h, ar as I, aq as J, as as Z, ac as y, S as C, N as j, b9 as O, bs as E, q as Y, aO as b, d as x, aP as T, b8 as ee, K as ne, dL as D, aH as se, aQ as ae } from "./web3-BifDBsFp.mjs";
|
|
2
|
+
import { P as N, c as _, i as B } from "./index-BlWksu-f.mjs";
|
|
3
|
+
import { S as te, a as ie } from "./unsignedTransaction-CVE7GUdC.mjs";
|
|
4
4
|
const k = new o("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");
|
|
5
5
|
new o("TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb");
|
|
6
6
|
const A = new o("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");
|