@wormhole-foundation/wormhole-connect 1.2.0-beta.0-development → 1.3.0-beta.0-development
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/aptos-DZ2rfUfg.js +3 -0
- package/dist/assets/{aptos-fvUGRJ4h.js → aptos-g3DaQf0b.js} +61 -61
- package/dist/assets/{ccip-DLVsVRZh.js → ccip-CTWg50DB.js} +1 -1
- package/dist/assets/{chunk-U2PRGW4O-BklU2g_V.js → chunk-U2PRGW4O-_uqZ791P.js} +1 -1
- package/dist/assets/evm-CUAh52pb.js +2 -0
- package/dist/assets/{evm-D7r3Ne49.js → evm-Dpe6bb4m.js} +4 -4
- package/dist/assets/index-B169l5cS.js +1 -0
- package/dist/assets/{index-BINzPDaS.js → index-B2zKde8M.js} +1 -1
- package/dist/assets/{index-BmcqXpQd.js → index-B85n1wgg.js} +1 -1
- package/dist/assets/{index-BOsp0gGs.js → index-BGPIDyz6.js} +1 -1
- package/dist/assets/index-BT5QH3hv.js +1 -0
- package/dist/assets/{index-5UpuI6jk.js → index-BbXYZkyr.js} +1 -1
- package/dist/assets/{index-C_VIzW7c.js → index-Bwgv1Ind.js} +1 -1
- package/dist/assets/{index-P4tasYP-.js → index-CFWDbus8.js} +1 -1
- package/dist/assets/{index-BKYhAEpg.js → index-CJV78alS.js} +1 -1
- package/dist/assets/{index-DAS-UCcB.js → index-Ck17eoCG.js} +1 -1
- package/dist/assets/{index-C0ho2skw.js → index-CpdwiPRU.js} +2 -2
- package/dist/assets/{index-C02sy3fv.js → index-DVtwRIfn.js} +1 -1
- package/dist/assets/{index-D3TIHxII.js → index-jE0RsYBN.js} +1 -1
- package/dist/assets/{index.es-wOiA40sy.js → index.es-CEXOl433.js} +2 -2
- package/dist/assets/{signer-BzqNQC8X.js → signer-D8BxqoWW.js} +1 -1
- package/dist/assets/{solana--aMZfCgL.js → solana-Cu2aa7vE.js} +1 -1
- package/dist/assets/solana-Ddk7It-E.js +2 -0
- package/dist/assets/{sui-C76oYlao.js → sui-BXAKH3nv.js} +3 -3
- package/dist/assets/unsignedTransaction-DsxtoHjl.js +1 -0
- package/dist/main.js +28 -28
- 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/hooks/useWalletCompatibility.d.ts +14 -0
- package/dist/src/hooks/useWalletCompatibility.d.ts.map +1 -0
- package/dist/src/utils/index.d.ts +1 -1
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/wallet/aptos.d.ts.map +1 -1
- package/dist/src/views/v2/Bridge/index.d.ts.map +1 -1
- package/lib/{aptos-BZuWMk3D.mjs → aptos-BADK10fB.mjs} +871 -870
- package/lib/{aptos-2J8A-FZO.mjs → aptos-CNLtQdwF.mjs} +59 -57
- package/lib/{aptos-DL1Hgg15.js → aptos-DeODB5kZ.js} +4 -4
- package/lib/aptos-DhXgHrnl.js +2 -0
- package/lib/{base64-Bit1A1if.js → base64-CEPDNsRw.js} +1 -1
- package/lib/{base64-BdSgqiJl.mjs → base64-w49IrkvT.mjs} +1 -1
- package/lib/{ccip-CMkUITDS.js → ccip-PRIyWWAN.js} +1 -1
- package/lib/{ccip-Cw8-T0j-.mjs → ccip-VK5volw3.mjs} +1 -1
- package/lib/{chunk-U2PRGW4O-CMIP41vB.mjs → chunk-U2PRGW4O-Ch5UM-YX.mjs} +6 -3
- package/lib/{chunk-U2PRGW4O-CuEEOygo.js → chunk-U2PRGW4O-D9odrfIU.js} +5 -5
- package/lib/{events-Bs7CEKn9.js → events-Bu0pqh5u.js} +1 -1
- package/lib/{events-CpDIhB3C.mjs → events-jOp8E97m.mjs} +1 -1
- package/lib/{evm-CK7UNFtq.js → evm-3jPN9QHX.js} +1 -1
- package/lib/{evm-DfX7cWQI.mjs → evm-B13HZSOG.mjs} +6 -6
- package/lib/{evm-1S_EvV1A.mjs → evm-CZgBqG6_.mjs} +7 -7
- package/lib/{evm-D5NO24dh.js → evm-Y4sMK_A1.js} +4 -4
- package/lib/index-1qQOAFE2.mjs +102 -0
- package/lib/{index-C6iaLaJq.mjs → index-BAhBSTHO.mjs} +18418 -18338
- package/lib/{index-wW7H3ciQ.mjs → index-BDForJp0.mjs} +2 -2
- package/lib/{index-CqSLXgKG.js → index-BFbkaHZM.js} +1 -1
- package/lib/{index-CqfWDHV0.mjs → index-BHdCskLu.mjs} +2 -2
- package/lib/{index-DKZeU-Xf.js → index-BRf1dmcD.js} +1 -1
- package/lib/{index-BPtbGGHy.mjs → index-BVuV_rfV.mjs} +3 -3
- package/lib/{index-CXWWVJUC.js → index-BX2v7vz2.js} +1 -1
- package/lib/{index-Q-iWWETw.mjs → index-BZknHaxy.mjs} +70 -70
- package/lib/{index-CwNerYWM.js → index-Brzu_xNS.js} +1 -1
- package/lib/{index-D_BTWvYp.mjs → index-BuWkXqNE.mjs} +2 -2
- package/lib/{index-BXPqhxjc.js → index-C2Rk8dJm.js} +1 -1
- package/lib/{index-C8__BuqK.mjs → index-CKnJa2J4.mjs} +1 -1
- package/lib/{index-DhxGcoTC.mjs → index-CdUjuPf9.mjs} +5 -5
- package/lib/{index-D5xkWCZ3.mjs → index-CkQ2SX_N.mjs} +48 -57
- package/lib/{index-o0AEhklr.mjs → index-CpOpT2eM.mjs} +2 -2
- package/lib/{index-hk3iRhUd.mjs → index-CtVdS94F.mjs} +4 -4
- package/lib/{index-8nlb2LGX.js → index-CzRLTmkg.js} +1 -1
- package/lib/{index-DbiW1-3L.mjs → index-D4DQMA-o.mjs} +1 -1
- package/lib/{index-hIJ0h_GZ.js → index-D5ta6SAe.js} +91 -91
- package/lib/{index-v3UQ6KEC.js → index-D9KxVP2I.js} +1 -1
- package/lib/index-DBmgmviv.js +1 -0
- package/lib/{index-S1YybQMR.js → index-DFS9XfYE.js} +1 -1
- package/lib/{index-7_XTrYay.js → index-DL5itoYd.js} +1 -1
- package/lib/index-DOqilxLu.js +1 -0
- package/lib/{index-C42d1PS9.js → index-DT5QhFiG.js} +1 -1
- package/lib/{index-CbJWXG7l.mjs → index-DcL6du1P.mjs} +2 -2
- package/lib/{index-7Jgokx3S.js → index-DfRhe8kL.js} +1 -1
- package/lib/{index-B96enquk.js → index-DjDJigyM.js} +1 -1
- package/lib/{index-BNn38QYa.mjs → index-DkNDirHr.mjs} +2 -2
- package/lib/{index-BfBNSTY8.js → index-Dr6Wkn1g.js} +1 -1
- package/lib/{index-D2Bw_LRJ.js → index-Dw4_1FXq.js} +1 -1
- package/lib/{index-Cqiy61ub.mjs → index-DzeE34W2.mjs} +1 -1
- package/lib/{index-TVlE0v9D.js → index-EVkJCI6W.js} +1 -1
- package/lib/{index-vWXFBAHR.js → index-OdUgDqqR.js} +1 -1
- package/lib/{index-B-ZKCWaX.js → index-dYeh9TN5.js} +1 -1
- package/lib/{index-BDbrAqgW.mjs → index-hnhyQbEN.mjs} +5 -5
- package/lib/{index-Bm1zXhFz.mjs → index-ieIOqnbv.mjs} +1 -1
- package/lib/{index-B-UHVwW1.mjs → index-v8vynoP2.mjs} +2 -2
- package/lib/{index-BzHjroj_.mjs → index-yIiSwVLU.mjs} +2 -2
- package/lib/{index.es-DN28d137.js → index.es-D9Co2OZW.js} +2 -2
- package/lib/{index.es-BnuWmVuS.mjs → index.es-jvUS3_-Z.mjs} +5 -5
- package/lib/index.js +1 -1
- package/lib/index.mjs +1 -1
- package/lib/{signer-YETmMcF8.js → signer-BvZ7J3Rl.js} +1 -1
- package/lib/{signer-D5i4Nnyi.mjs → signer-CsfCFMWy.mjs} +1 -1
- package/lib/solana-BD_xWaS3.js +1 -0
- package/lib/{solana-C7qBFXj3.js → solana-BfiZpxkP.js} +1 -1
- package/lib/solana-ChpC_WNg.mjs +16 -0
- package/lib/{solana-DtBRFbad.mjs → solana-Dh_0HpA8.mjs} +4 -4
- package/lib/{solanaEmbed.esm-BER_HE9G.js → solanaEmbed.esm-B3b-A7RS.js} +1 -1
- package/lib/{solanaEmbed.esm-Bb5iLp3o.mjs → solanaEmbed.esm-BCE4UL9u.mjs} +2 -2
- 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/hooks/useWalletCompatibility.d.ts +14 -0
- package/lib/src/hooks/useWalletCompatibility.d.ts.map +1 -0
- package/lib/src/utils/index.d.ts +1 -1
- package/lib/src/utils/index.d.ts.map +1 -1
- package/lib/src/utils/wallet/aptos.d.ts.map +1 -1
- package/lib/src/views/v2/Bridge/index.d.ts.map +1 -1
- package/lib/{sui-De3Fl_fo.js → sui-BhOuuPtT.js} +1 -1
- package/lib/{sui-1QFb30Ta.mjs → sui-Cc0SlN9d.mjs} +1 -1
- package/lib/{sui-DAyysPh2.mjs → sui-DmasAl1E.mjs} +5 -5
- package/lib/{sui-c1d9xieM.js → sui-RIp5yjOC.js} +2 -2
- package/lib/unsignedTransaction-BDOQhqcZ.mjs +16 -0
- package/lib/unsignedTransaction-C1YeEl4G.js +1 -0
- package/lib/{utf8-BxTDE5Vo.mjs → utf8-V9eCtEDc.mjs} +1 -1
- package/lib/{utf8-B-nUZvyF.js → utf8-lSE3VJ2A.js} +1 -1
- package/package.json +17 -17
- package/dist/assets/aptos-De-iCK2S.js +0 -3
- package/dist/assets/evm-BBq1KqPa.js +0 -2
- package/dist/assets/index-LPMvkG3A.js +0 -1
- package/dist/assets/solana-DTptRMWs.js +0 -2
- package/lib/aptos-DcCwQMe7.js +0 -2
- package/lib/index-Bq2G38s-.js +0 -1
- package/lib/solana-B9GQ_Umb.js +0 -1
- package/lib/solana-tevnHUxv.mjs +0 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
var Z=Object.defineProperty;var j=(t,e,s)=>e in t?Z(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var y=(t,e,s)=>j(t,typeof e!="symbol"?e+"":e,s);import{P as u,a$ as Y,b0 as I,b1 as x,b2 as ee,b3 as ne,b4 as se,i as M,cc as O,c4 as ae,ch as E,ci as N,cz as B,bs as U,bU as _,aa as te,a2 as b,a3 as ie,bV as D,T as v,bT as re,a6 as me,bW as R,cy as oe,bJ as ue,a5 as le}from"../main.js";const h=new u("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");new u("TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb");const A=new u("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");new u("So11111111111111111111111111111111111111112");new u("9pan9bMn5HatX4EJdBwg9VgCa7Uz5HL8N1m5D3NdXejP");class de extends Error{constructor(e){super(e)}}class ce extends de{constructor(){super(...arguments),this.name="TokenOwnerOffCurveError"}}const ge=Y([I("mintAuthorityOption"),x("mintAuthority"),ee("supply"),ne("decimals"),se("isInitialized"),I("freezeAuthorityOption"),x("freezeAuthority")]);ge.span;function fe(t,e,s=!1,a=h,i=A){if(!s&&!u.isOnCurve(e.toBuffer()))throw new ce;const[n]=u.findProgramAddressSync([e.toBuffer(),a.toBuffer(),t.toBuffer()],i);return n}function pe(t,e,s,a,i=h,n=A){return ye(t,e,s,a,M.Buffer.alloc(0),i,n)}function ye(t,e,s,a,i,n=h,r=A){const m=[{pubkey:t,isSigner:!0,isWritable:!0},{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!1},{pubkey:a,isSigner:!1,isWritable:!1},{pubkey:O.programId,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1}];return new ae({keys:m,programId:r,data:i})}function W(t,e){return new E(V.TokenMessengerIdl,new u(t),e===void 0?{connection:null}:e)}function Me(t,e){return W(t,N(e))}function L(t,e){return new E(V.MessageTransmitterIdl,new u(t),e===void 0?{connection:null}:e)}function Se(t,e){return L(t,N(e))}const o=(t,e,s)=>{const a=[M.Buffer.from(B.bytes.utf8.encode(t))];if(s)for(const n of s)typeof n=="string"?a.push(M.Buffer.from(B.bytes.utf8.encode(n))):Array.isArray(n)?a.push(M.Buffer.from(n)):M.Buffer.isBuffer(n)?a.push(n):a.push(n.toBuffer());const i=u.findProgramAddressSync(a,e);return{publicKey:i[0],bump:i[1]}};function ke(t,e,s,a,i,n,r,m,l){const d=o("message_transmitter",t),c=o("token_messenger",e),f=o("token_minter",e),p=o("local_token",e,[s]),S=o("remote_token_messenger",e,[a.toString()]),k=o("sender_authority",e),P=W(e),T=o("__event_authority",e);return P.methods.depositForBurn({amount:new U(m.toString()),destinationDomain:a,mintRecipient:new u(r.toUint8Array())}).accounts({owner:i,senderAuthorityPda:k.publicKey,burnTokenAccount:n,messageTransmitter:d.publicKey,tokenMessenger:c.publicKey,remoteTokenMessenger:S.publicKey,tokenMinter:f.publicKey,localToken:p.publicKey,burnTokenMint:s,messageTransmitterProgram:t,tokenMessengerMinterProgram:e,tokenProgram:h,eventAuthority:T.publicKey,eventRentPayer:i,messageSentEventData:l}).instruction()}const C=6400n;function z(t){return(t-BigInt(1))/C*C+BigInt(1)}function F(t,e,s){const a=e.toString();return o("used_nonces",s,[a,z(t).toString()]).publicKey}async function he(t,e,s,a,i,n){const r=M.Buffer.from(_.serialize(a)),m=M.Buffer.from(te.decode(i)),l=new u(s),d=new u(a.payload.burnToken.toUint8Array()),c=new b(a.payload.mintRecipient).unwrap(),f=n?new u(n):c,p=a.sourceDomain.toString(),S=o("message_transmitter",t),k=o("token_messenger",e),P=o("token_minter",e),T=o("local_token",e,[l]),H=o("remote_token_messenger",e,[p]),G=o("token_pair",e,[p,d]),X=o("custody",e,[l]),$=o("message_transmitter_authority",t,[e]).publicKey,J=F(a.nonce,a.sourceDomain,t),q=o("__event_authority",t),Q=o("__event_authority",e),g=[];g.push({isSigner:!1,isWritable:!1,pubkey:k.publicKey}),g.push({isSigner:!1,isWritable:!1,pubkey:H.publicKey}),g.push({isSigner:!1,isWritable:!0,pubkey:P.publicKey}),g.push({isSigner:!1,isWritable:!0,pubkey:T.publicKey}),g.push({isSigner:!1,isWritable:!1,pubkey:G.publicKey}),g.push({isSigner:!1,isWritable:!0,pubkey:c}),g.push({isSigner:!1,isWritable:!0,pubkey:X.publicKey}),g.push({isSigner:!1,isWritable:!1,pubkey:h}),g.push({isSigner:!1,isWritable:!1,pubkey:Q.publicKey}),g.push({isSigner:!1,isWritable:!1,pubkey:e});const K=L(t);return K.methods.receiveMessage({message:r,attestation:m}).accounts({payer:f,caller:f,authorityPda:$,messageTransmitter:S.publicKey,usedNonces:J,receiver:e,systemProgram:O.programId,eventAuthority:q.publicKey,program:K.programId}).remainingAccounts(g).transaction()}class w{constructor(e,s,a,i){y(this,"network");y(this,"chain");y(this,"connection");y(this,"contracts");y(this,"tokenMessenger");y(this,"messageTransmitter");var m,l;if(this.network=e,this.chain=s,this.connection=a,this.contracts=i,e==="Devnet")throw new Error("CircleBridge not supported on Devnet");const n=(m=i.cctp)==null?void 0:m.messageTransmitter;if(!n)throw new Error(`Circle Messenge Transmitter contract for domain ${s} not found`);this.messageTransmitter=Se(new u(n),this.connection);const r=(l=i.cctp)==null?void 0:l.tokenMessenger;if(!r)throw new Error(`Circle Token Messenger contract for domain ${s} not found`);this.tokenMessenger=Me(new u(r),this.connection)}static async fromRpc(e,s){const[a,i]=await ie.chainFromRpc(e),n=s[i];if(n.network!==a)throw new Error(`Network mismatch: ${n.network} != ${a}`);return new w(a,i,e,n.contracts)}async*redeem(e,s,a){const i=new u(D.get(this.network,this.chain)),n=new b(e).unwrap(),r=new b(s.payload.mintRecipient).unwrap();if(!await this.connection.getAccountInfo(r)){const c=new v().add(pe(n,r,n,i));c.feePayer=n,yield this.createUnsignedTx({transaction:c},"CircleBridge.CreateATA")}const l=await he(this.messageTransmitter.programId,this.tokenMessenger.programId,i,s,a,n),d=new v;d.feePayer=n,d.add(l),yield this.createUnsignedTx({transaction:d},"CircleBridge.Redeem")}async*transfer(e,s,a){const i=new u(D.get(this.network,this.chain)),n=new b(e).unwrap(),r=fe(i,n),m=re.get(this.network,s.chain),l=s.address.toUniversalAddress(),d=me.generate(),c=await ke(this.messageTransmitter.programId,this.tokenMessenger.programId,i,m,n,r,l,a,d.publicKey),f=new v;f.feePayer=n,f.add(c),yield this.createUnsignedTx({transaction:f,signers:[d]},"CircleBridge.Transfer")}async isTransferCompleted(e){const s=F(e.nonce,e.sourceDomain,this.messageTransmitter.programId),a=z(e.nonce),{usedNonces:i}=await this.messageTransmitter.account.usedNonces.fetch(s),n=Number(e.nonce-a),r=i[Math.floor(n/64)];if(!r)throw new Error("Invalid nonce byte index");const m=n%64,l=new U((BigInt(1)<<BigInt(m)).toString());return!r.and(l).isZero()}async parseTransactionDetails(e){const s=await this.connection.getTransaction(e);if(!s||!s.meta)throw new Error("Transaction not found");const a=s.transaction.message.getAccountKeys();if(a.length<2)throw new Error("No message account found");const i=a.get(1),n=await this.connection.getAccountInfo(i);if(!n)throw new Error("No account data found");const r=new Uint8Array(n.data).slice(44),[m,l]=_.deserialize(r),{payload:d}=m,c=d.messageSender,f=d.mintRecipient,p=R(this.network,m.sourceDomain),S=R(this.network,m.destinationDomain),k={chain:p,address:d.burnToken};return{from:{chain:p,address:c},to:{chain:S,address:f},token:k,amount:d.amount,message:m,id:{hash:l}}}createUnsignedTx(e,s,a=!1){return new oe(e,this.network,this.chain,s,a)}}const be={version:"0.1.0",name:"token_messenger_minter",instructions:[{name:"initialize",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"upgradeAuthority",isMut:!1,isSigner:!0},{name:"authorityPda",isMut:!1,isSigner:!1},{name:"tokenMessenger",isMut:!0,isSigner:!1},{name:"tokenMinter",isMut:!0,isSigner:!1},{name:"tokenMessengerMinterProgramData",isMut:!1,isSigner:!1},{name:"tokenMessengerMinterProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"InitializeParams"}}]},{name:"transferOwnership",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"TransferOwnershipParams"}}]},{name:"acceptOwnership",accounts:[{name:"pendingOwner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"AcceptOwnershipParams"}}]},{name:"addRemoteTokenMessenger",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"owner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"remoteTokenMessenger",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"AddRemoteTokenMessengerParams"}}]},{name:"removeRemoteTokenMessenger",accounts:[{name:"payee",isMut:!0,isSigner:!0},{name:"owner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"remoteTokenMessenger",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"RemoveRemoteTokenMessengerParams"}}]},{name:"depositForBurn",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!1},{name:"burnTokenAccount",isMut:!0,isSigner:!1},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"remoteTokenMessenger",isMut:!1,isSigner:!1},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"burnTokenMint",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"messageTransmitterProgram",isMut:!1,isSigner:!1},{name:"tokenMessengerMinterProgram",isMut:!1,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"DepositForBurnParams"}}],returns:"u64"},{name:"depositForBurnWithCaller",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!1},{name:"burnTokenAccount",isMut:!0,isSigner:!1},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"remoteTokenMessenger",isMut:!1,isSigner:!1},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"burnTokenMint",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"messageTransmitterProgram",isMut:!1,isSigner:!1},{name:"tokenMessengerMinterProgram",isMut:!1,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"DepositForBurnWithCallerParams"}}],returns:"u64"},{name:"replaceDepositForBurn",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!1},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"messageTransmitterProgram",isMut:!1,isSigner:!1},{name:"tokenMessengerMinterProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"ReplaceDepositForBurnParams"}}],returns:"u64"},{name:"handleReceiveMessage",accounts:[{name:"authorityPda",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"remoteTokenMessenger",isMut:!1,isSigner:!1},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"tokenPair",isMut:!1,isSigner:!1},{name:"recipientTokenAccount",isMut:!0,isSigner:!1},{name:"custodyTokenAccount",isMut:!0,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"HandleReceiveMessageParams"}}]},{name:"setTokenController",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"tokenMinter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetTokenControllerParams"}}]},{name:"pause",accounts:[{name:"pauser",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"PauseParams"}}]},{name:"unpause",accounts:[{name:"pauser",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UnpauseParams"}}]},{name:"updatePauser",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"tokenMinter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UpdatePauserParams"}}]},{name:"setMaxBurnAmountPerMessage",accounts:[{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetMaxBurnAmountPerMessageParams"}}]},{name:"addLocalToken",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"custodyTokenAccount",isMut:!0,isSigner:!1},{name:"localTokenMint",isMut:!1,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"AddLocalTokenParams"}}]},{name:"removeLocalToken",accounts:[{name:"payee",isMut:!0,isSigner:!0},{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"custodyTokenAccount",isMut:!0,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"RemoveLocalTokenParams"}}]},{name:"linkTokenPair",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"tokenPair",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"LinkTokenPairParams"}}]},{name:"unlinkTokenPair",accounts:[{name:"payee",isMut:!0,isSigner:!0},{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"tokenPair",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UninkTokenPairParams"}}]},{name:"burnTokenCustody",accounts:[{name:"payee",isMut:!0,isSigner:!0},{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!1,isSigner:!1},{name:"custodyTokenAccount",isMut:!0,isSigner:!1},{name:"custodyTokenMint",isMut:!0,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"BurnTokenCustodyParams"}}]}],accounts:[{name:"tokenMessenger",type:{kind:"struct",fields:[{name:"owner",type:"publicKey"},{name:"pendingOwner",type:"publicKey"},{name:"localMessageTransmitter",type:"publicKey"},{name:"messageBodyVersion",type:"u32"},{name:"authorityBump",type:"u8"}]}},{name:"remoteTokenMessenger",type:{kind:"struct",fields:[{name:"domain",type:"u32"},{name:"tokenMessenger",type:"publicKey"}]}},{name:"tokenMinter",type:{kind:"struct",fields:[{name:"tokenController",type:"publicKey"},{name:"pauser",type:"publicKey"},{name:"paused",type:"bool"},{name:"bump",type:"u8"}]}},{name:"tokenPair",type:{kind:"struct",fields:[{name:"remoteDomain",type:"u32"},{name:"remoteToken",type:"publicKey"},{name:"localToken",type:"publicKey"},{name:"bump",type:"u8"}]}},{name:"localToken",type:{kind:"struct",fields:[{name:"custody",type:"publicKey"},{name:"mint",type:"publicKey"},{name:"burnLimitPerMessage",type:"u64"},{name:"messagesSent",type:"u64"},{name:"messagesReceived",type:"u64"},{name:"amountSent",type:"u128"},{name:"amountReceived",type:"u128"},{name:"bump",type:"u8"},{name:"custodyBump",type:"u8"}]}}],types:[{name:"AcceptOwnershipParams",type:{kind:"struct",fields:[]}},{name:"AddRemoteTokenMessengerParams",type:{kind:"struct",fields:[{name:"domain",type:"u32"},{name:"tokenMessenger",type:"publicKey"}]}},{name:"DepositForBurnWithCallerParams",type:{kind:"struct",fields:[{name:"amount",type:"u64"},{name:"destinationDomain",type:"u32"},{name:"mintRecipient",type:"publicKey"},{name:"destinationCaller",type:"publicKey"}]}},{name:"DepositForBurnParams",type:{kind:"struct",fields:[{name:"amount",type:"u64"},{name:"destinationDomain",type:"u32"},{name:"mintRecipient",type:"publicKey"}]}},{name:"HandleReceiveMessageParams",type:{kind:"struct",fields:[{name:"remoteDomain",type:"u32"},{name:"sender",type:"publicKey"},{name:"messageBody",type:"bytes"},{name:"authorityBump",type:"u8"}]}},{name:"InitializeParams",type:{kind:"struct",fields:[{name:"tokenController",type:"publicKey"},{name:"localMessageTransmitter",type:"publicKey"},{name:"messageBodyVersion",type:"u32"}]}},{name:"RemoveRemoteTokenMessengerParams",type:{kind:"struct",fields:[]}},{name:"ReplaceDepositForBurnParams",type:{kind:"struct",fields:[{name:"originalMessage",type:"bytes"},{name:"originalAttestation",type:"bytes"},{name:"newDestinationCaller",type:"publicKey"},{name:"newMintRecipient",type:"publicKey"}]}},{name:"TransferOwnershipParams",type:{kind:"struct",fields:[{name:"newOwner",type:"publicKey"}]}},{name:"AddLocalTokenParams",type:{kind:"struct",fields:[]}},{name:"BurnTokenCustodyParams",type:{kind:"struct",fields:[{name:"amount",type:"u64"}]}},{name:"LinkTokenPairParams",type:{kind:"struct",fields:[{name:"localToken",type:"publicKey"},{name:"remoteDomain",type:"u32"},{name:"remoteToken",type:"publicKey"}]}},{name:"PauseParams",type:{kind:"struct",fields:[]}},{name:"RemoveLocalTokenParams",type:{kind:"struct",fields:[]}},{name:"SetMaxBurnAmountPerMessageParams",type:{kind:"struct",fields:[{name:"burnLimitPerMessage",type:"u64"}]}},{name:"SetTokenControllerParams",type:{kind:"struct",fields:[{name:"tokenController",type:"publicKey"}]}},{name:"UninkTokenPairParams",type:{kind:"struct",fields:[]}},{name:"UnpauseParams",type:{kind:"struct",fields:[]}},{name:"UpdatePauserParams",type:{kind:"struct",fields:[{name:"newPauser",type:"publicKey"}]}},{name:"TokenMinterError",type:{kind:"enum",variants:[{name:"InvalidAuthority"},{name:"InvalidTokenMinterState"},{name:"ProgramPaused"},{name:"InvalidTokenPairState"},{name:"InvalidLocalTokenState"},{name:"InvalidPauser"},{name:"InvalidTokenController"},{name:"BurnAmountExceeded"},{name:"InvalidAmount"}]}}],events:[{name:"OwnershipTransferStarted",fields:[{name:"previousOwner",type:"publicKey",index:!1},{name:"newOwner",type:"publicKey",index:!1}]},{name:"OwnershipTransferred",fields:[{name:"previousOwner",type:"publicKey",index:!1},{name:"newOwner",type:"publicKey",index:!1}]},{name:"DepositForBurn",fields:[{name:"nonce",type:"u64",index:!1},{name:"burnToken",type:"publicKey",index:!1},{name:"amount",type:"u64",index:!1},{name:"depositor",type:"publicKey",index:!1},{name:"mintRecipient",type:"publicKey",index:!1},{name:"destinationDomain",type:"u32",index:!1},{name:"destinationTokenMessenger",type:"publicKey",index:!1},{name:"destinationCaller",type:"publicKey",index:!1}]},{name:"MintAndWithdraw",fields:[{name:"mintRecipient",type:"publicKey",index:!1},{name:"amount",type:"u64",index:!1},{name:"mintToken",type:"publicKey",index:!1}]},{name:"RemoteTokenMessengerAdded",fields:[{name:"domain",type:"u32",index:!1},{name:"tokenMessenger",type:"publicKey",index:!1}]},{name:"RemoteTokenMessengerRemoved",fields:[{name:"domain",type:"u32",index:!1},{name:"tokenMessenger",type:"publicKey",index:!1}]},{name:"SetTokenController",fields:[{name:"tokenController",type:"publicKey",index:!1}]},{name:"PauserChanged",fields:[{name:"newAddress",type:"publicKey",index:!1}]},{name:"SetBurnLimitPerMessage",fields:[{name:"token",type:"publicKey",index:!1},{name:"burnLimitPerMessage",type:"u64",index:!1}]},{name:"LocalTokenAdded",fields:[{name:"custody",type:"publicKey",index:!1},{name:"mint",type:"publicKey",index:!1}]},{name:"LocalTokenRemoved",fields:[{name:"custody",type:"publicKey",index:!1},{name:"mint",type:"publicKey",index:!1}]},{name:"TokenPairLinked",fields:[{name:"localToken",type:"publicKey",index:!1},{name:"remoteDomain",type:"u32",index:!1},{name:"remoteToken",type:"publicKey",index:!1}]},{name:"TokenPairUnlinked",fields:[{name:"localToken",type:"publicKey",index:!1},{name:"remoteDomain",type:"u32",index:!1},{name:"remoteToken",type:"publicKey",index:!1}]},{name:"Pause",fields:[]},{name:"Unpause",fields:[]},{name:"TokenCustodyBurned",fields:[{name:"custodyTokenAccount",type:"publicKey",index:!1},{name:"amount",type:"u64",index:!1}]}],errors:[{code:6e3,name:"InvalidAuthority",msg:"Invalid authority"},{code:6001,name:"InvalidTokenMessengerState",msg:"Invalid token messenger state"},{code:6002,name:"InvalidTokenMessenger",msg:"Invalid token messenger"},{code:6003,name:"InvalidOwner",msg:"Invalid owner"},{code:6004,name:"MalformedMessage",msg:"Malformed message"},{code:6005,name:"InvalidMessageBodyVersion",msg:"Invalid message body version"},{code:6006,name:"InvalidAmount",msg:"Invalid amount"},{code:6007,name:"InvalidDestinationDomain",msg:"Invalid destination domain"},{code:6008,name:"InvalidDestinationCaller",msg:"Invalid destination caller"},{code:6009,name:"InvalidMintRecipient",msg:"Invalid mint recipient"},{code:6010,name:"InvalidSender",msg:"Invalid sender"},{code:6011,name:"InvalidTokenPair",msg:"Invalid token pair"},{code:6012,name:"InvalidTokenMint",msg:"Invalid token mint"}]},Pe={version:"0.1.0",name:"message_transmitter",instructions:[{name:"initialize",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"upgradeAuthority",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"messageTransmitterProgramData",isMut:!1,isSigner:!1},{name:"messageTransmitterProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"InitializeParams"}}]},{name:"transferOwnership",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"TransferOwnershipParams"}}]},{name:"acceptOwnership",accounts:[{name:"pendingOwner",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"AcceptOwnershipParams"}}]},{name:"updatePauser",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UpdatePauserParams"}}]},{name:"updateAttesterManager",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UpdateAttesterManagerParams"}}]},{name:"pause",accounts:[{name:"pauser",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"PauseParams"}}]},{name:"unpause",accounts:[{name:"pauser",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UnpauseParams"}}]},{name:"setMaxMessageBodySize",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetMaxMessageBodySizeParams"}}]},{name:"enableAttester",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"attesterManager",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"EnableAttesterParams"}}]},{name:"disableAttester",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"attesterManager",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"DisableAttesterParams"}}]},{name:"setSignatureThreshold",accounts:[{name:"attesterManager",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetSignatureThresholdParams"}}]},{name:"sendMessage",accounts:[{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"senderProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SendMessageParams"}}],returns:"u64"},{name:"sendMessageWithCaller",accounts:[{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"senderProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SendMessageWithCallerParams"}}],returns:"u64"},{name:"replaceMessage",accounts:[{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"senderProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"ReplaceMessageParams"}}],returns:"u64"},{name:"receiveMessage",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"caller",isMut:!1,isSigner:!0},{name:"authorityPda",isMut:!1,isSigner:!1},{name:"messageTransmitter",isMut:!1,isSigner:!1},{name:"usedNonces",isMut:!0,isSigner:!1},{name:"receiver",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"ReceiveMessageParams"}}]},{name:"reclaimEventAccount",accounts:[{name:"payee",isMut:!0,isSigner:!0,docs:["rent SOL receiver, should match original rent payer"]},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!1}],args:[{name:"params",type:{defined:"ReclaimEventAccountParams"}}]},{name:"getNoncePda",accounts:[{name:"messageTransmitter",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"GetNoncePDAParams"}}],returns:"publicKey"},{name:"isNonceUsed",accounts:[{name:"usedNonces",isMut:!1,isSigner:!1,docs:["Account will be explicitly loaded to avoid error when it's not initialized"]}],args:[{name:"params",type:{defined:"IsNonceUsedParams"}}],returns:"bool"}],accounts:[{name:"messageSent",type:{kind:"struct",fields:[{name:"rentPayer",type:"publicKey"},{name:"message",type:"bytes"}]}},{name:"messageTransmitter",docs:["Main state of the MessageTransmitter program"],type:{kind:"struct",fields:[{name:"owner",type:"publicKey"},{name:"pendingOwner",type:"publicKey"},{name:"attesterManager",type:"publicKey"},{name:"pauser",type:"publicKey"},{name:"paused",type:"bool"},{name:"localDomain",type:"u32"},{name:"version",type:"u32"},{name:"signatureThreshold",type:"u32"},{name:"enabledAttesters",type:{vec:"publicKey"}},{name:"maxMessageBodySize",type:"u64"},{name:"nextAvailableNonce",type:"u64"}]}},{name:"usedNonces",docs:["UsedNonces account holds an array of bits that indicate which nonces were already used","so they can't be resused to receive new messages. Array starts with the first_nonce and","holds flags for UsedNonces::MAX_NONCES. Nonces are recorded separately for each remote_domain."],type:{kind:"struct",fields:[{name:"remoteDomain",type:"u32"},{name:"firstNonce",type:"u64"},{name:"usedNonces",type:{array:["u64",100]}}]}}],types:[{name:"AcceptOwnershipParams",type:{kind:"struct",fields:[]}},{name:"DisableAttesterParams",type:{kind:"struct",fields:[{name:"attester",type:"publicKey"}]}},{name:"EnableAttesterParams",type:{kind:"struct",fields:[{name:"newAttester",type:"publicKey"}]}},{name:"GetNoncePDAParams",type:{kind:"struct",fields:[{name:"nonce",type:"u64"},{name:"sourceDomain",type:"u32"}]}},{name:"InitializeParams",type:{kind:"struct",fields:[{name:"localDomain",type:"u32"},{name:"attester",type:"publicKey"},{name:"maxMessageBodySize",type:"u64"},{name:"version",type:"u32"}]}},{name:"IsNonceUsedParams",type:{kind:"struct",fields:[{name:"nonce",type:"u64"}]}},{name:"PauseParams",type:{kind:"struct",fields:[]}},{name:"ReceiveMessageParams",type:{kind:"struct",fields:[{name:"message",type:"bytes"},{name:"attestation",type:"bytes"}]}},{name:"HandleReceiveMessageParams",type:{kind:"struct",fields:[{name:"remoteDomain",type:"u32"},{name:"sender",type:"publicKey"},{name:"messageBody",type:"bytes"},{name:"authorityBump",type:"u8"}]}},{name:"ReclaimEventAccountParams",type:{kind:"struct",fields:[{name:"attestation",type:"bytes"}]}},{name:"ReplaceMessageParams",type:{kind:"struct",fields:[{name:"originalMessage",type:"bytes"},{name:"originalAttestation",type:"bytes"},{name:"newMessageBody",type:"bytes"},{name:"newDestinationCaller",type:"publicKey"}]}},{name:"SendMessageWithCallerParams",type:{kind:"struct",fields:[{name:"destinationDomain",type:"u32"},{name:"recipient",type:"publicKey"},{name:"messageBody",type:"bytes"},{name:"destinationCaller",type:"publicKey"}]}},{name:"SendMessageParams",type:{kind:"struct",fields:[{name:"destinationDomain",type:"u32"},{name:"recipient",type:"publicKey"},{name:"messageBody",type:"bytes"}]}},{name:"SetMaxMessageBodySizeParams",type:{kind:"struct",fields:[{name:"newMaxMessageBodySize",type:"u64"}]}},{name:"SetSignatureThresholdParams",type:{kind:"struct",fields:[{name:"newSignatureThreshold",type:"u32"}]}},{name:"TransferOwnershipParams",type:{kind:"struct",fields:[{name:"newOwner",type:"publicKey"}]}},{name:"UnpauseParams",type:{kind:"struct",fields:[]}},{name:"UpdateAttesterManagerParams",type:{kind:"struct",fields:[{name:"newAttesterManager",type:"publicKey"}]}},{name:"UpdatePauserParams",type:{kind:"struct",fields:[{name:"newPauser",type:"publicKey"}]}},{name:"MathError",type:{kind:"enum",variants:[{name:"MathOverflow"},{name:"MathUnderflow"},{name:"ErrorInDivision"}]}}],events:[{name:"OwnershipTransferStarted",fields:[{name:"previousOwner",type:"publicKey",index:!1},{name:"newOwner",type:"publicKey",index:!1}]},{name:"OwnershipTransferred",fields:[{name:"previousOwner",type:"publicKey",index:!1},{name:"newOwner",type:"publicKey",index:!1}]},{name:"PauserChanged",fields:[{name:"newAddress",type:"publicKey",index:!1}]},{name:"AttesterManagerUpdated",fields:[{name:"previousAttesterManager",type:"publicKey",index:!1},{name:"newAttesterManager",type:"publicKey",index:!1}]},{name:"MessageReceived",fields:[{name:"caller",type:"publicKey",index:!1},{name:"sourceDomain",type:"u32",index:!1},{name:"nonce",type:"u64",index:!1},{name:"sender",type:"publicKey",index:!1},{name:"messageBody",type:"bytes",index:!1}]},{name:"SignatureThresholdUpdated",fields:[{name:"oldSignatureThreshold",type:"u32",index:!1},{name:"newSignatureThreshold",type:"u32",index:!1}]},{name:"AttesterEnabled",fields:[{name:"attester",type:"publicKey",index:!1}]},{name:"AttesterDisabled",fields:[{name:"attester",type:"publicKey",index:!1}]},{name:"MaxMessageBodySizeUpdated",fields:[{name:"newMaxMessageBodySize",type:"u64",index:!1}]},{name:"Pause",fields:[]},{name:"Unpause",fields:[]}],errors:[{code:6e3,name:"InvalidAuthority",msg:"Invalid authority"},{code:6001,name:"ProgramPaused",msg:"Instruction is not allowed at this time"},{code:6002,name:"InvalidMessageTransmitterState",msg:"Invalid message transmitter state"},{code:6003,name:"InvalidSignatureThreshold",msg:"Invalid signature threshold"},{code:6004,name:"SignatureThresholdAlreadySet",msg:"Signature threshold already set"},{code:6005,name:"InvalidOwner",msg:"Invalid owner"},{code:6006,name:"InvalidPauser",msg:"Invalid pauser"},{code:6007,name:"InvalidAttesterManager",msg:"Invalid attester manager"},{code:6008,name:"InvalidAttester",msg:"Invalid attester"},{code:6009,name:"AttesterAlreadyEnabled",msg:"Attester already enabled"},{code:6010,name:"TooFewEnabledAttesters",msg:"Too few enabled attesters"},{code:6011,name:"SignatureThresholdTooLow",msg:"Signature threshold is too low"},{code:6012,name:"AttesterAlreadyDisabled",msg:"Attester already disabled"},{code:6013,name:"MessageBodyLimitExceeded",msg:"Message body exceeds max size"},{code:6014,name:"InvalidDestinationCaller",msg:"Invalid destination caller"},{code:6015,name:"InvalidRecipient",msg:"Invalid message recipient"},{code:6016,name:"SenderNotPermitted",msg:"Sender is not permitted"},{code:6017,name:"InvalidSourceDomain",msg:"Invalid source domain"},{code:6018,name:"InvalidDestinationDomain",msg:"Invalid destination domain"},{code:6019,name:"InvalidMessageVersion",msg:"Invalid message version"},{code:6020,name:"InvalidUsedNoncesAccount",msg:"Invalid used nonces account"},{code:6021,name:"InvalidRecipientProgram",msg:"Invalid recipient program"},{code:6022,name:"InvalidNonce",msg:"Invalid nonce"},{code:6023,name:"NonceAlreadyUsed",msg:"Nonce already used"},{code:6024,name:"MessageTooShort",msg:"Message is too short"},{code:6025,name:"MalformedMessage",msg:"Malformed message"},{code:6026,name:"InvalidSignatureOrderOrDupe",msg:"Invalid signature order or dupe"},{code:6027,name:"InvalidAttesterSignature",msg:"Invalid attester signature"},{code:6028,name:"InvalidAttestationLength",msg:"Invalid attestation length"},{code:6029,name:"InvalidSignatureRecoveryId",msg:"Invalid signature recovery ID"},{code:6030,name:"InvalidSignatureSValue",msg:"Invalid signature S value"},{code:6031,name:"InvalidMessageHash",msg:"Invalid message hash"}]};ue(le,"CircleBridge",w);const V={TokenMessengerIdl:be,MessageTransmitterIdl:Pe};export{w as SolanaCircleBridge,V as idl};
|
|
1
|
+
var Z=Object.defineProperty;var j=(t,e,s)=>e in t?Z(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var y=(t,e,s)=>j(t,typeof e!="symbol"?e+"":e,s);import{P as u,a$ as Y,b0 as I,b1 as x,b2 as ee,b3 as ne,b4 as se,i as M,cc as O,c4 as ae,ch as E,ci as N,cz as B,bs as U,bU as _,ab as te,a3 as b,a4 as ie,bV as D,T as v,bT as re,a7 as me,bW as R,cy as oe,bJ as ue,a6 as le}from"../main.js";const h=new u("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");new u("TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb");const A=new u("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");new u("So11111111111111111111111111111111111111112");new u("9pan9bMn5HatX4EJdBwg9VgCa7Uz5HL8N1m5D3NdXejP");class de extends Error{constructor(e){super(e)}}class ce extends de{constructor(){super(...arguments),this.name="TokenOwnerOffCurveError"}}const ge=Y([I("mintAuthorityOption"),x("mintAuthority"),ee("supply"),ne("decimals"),se("isInitialized"),I("freezeAuthorityOption"),x("freezeAuthority")]);ge.span;function fe(t,e,s=!1,a=h,i=A){if(!s&&!u.isOnCurve(e.toBuffer()))throw new ce;const[n]=u.findProgramAddressSync([e.toBuffer(),a.toBuffer(),t.toBuffer()],i);return n}function pe(t,e,s,a,i=h,n=A){return ye(t,e,s,a,M.Buffer.alloc(0),i,n)}function ye(t,e,s,a,i,n=h,r=A){const m=[{pubkey:t,isSigner:!0,isWritable:!0},{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!1},{pubkey:a,isSigner:!1,isWritable:!1},{pubkey:O.programId,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1}];return new ae({keys:m,programId:r,data:i})}function W(t,e){return new E(V.TokenMessengerIdl,new u(t),e===void 0?{connection:null}:e)}function Me(t,e){return W(t,N(e))}function L(t,e){return new E(V.MessageTransmitterIdl,new u(t),e===void 0?{connection:null}:e)}function Se(t,e){return L(t,N(e))}const o=(t,e,s)=>{const a=[M.Buffer.from(B.bytes.utf8.encode(t))];if(s)for(const n of s)typeof n=="string"?a.push(M.Buffer.from(B.bytes.utf8.encode(n))):Array.isArray(n)?a.push(M.Buffer.from(n)):M.Buffer.isBuffer(n)?a.push(n):a.push(n.toBuffer());const i=u.findProgramAddressSync(a,e);return{publicKey:i[0],bump:i[1]}};function ke(t,e,s,a,i,n,r,m,l){const d=o("message_transmitter",t),c=o("token_messenger",e),f=o("token_minter",e),p=o("local_token",e,[s]),S=o("remote_token_messenger",e,[a.toString()]),k=o("sender_authority",e),P=W(e),T=o("__event_authority",e);return P.methods.depositForBurn({amount:new U(m.toString()),destinationDomain:a,mintRecipient:new u(r.toUint8Array())}).accounts({owner:i,senderAuthorityPda:k.publicKey,burnTokenAccount:n,messageTransmitter:d.publicKey,tokenMessenger:c.publicKey,remoteTokenMessenger:S.publicKey,tokenMinter:f.publicKey,localToken:p.publicKey,burnTokenMint:s,messageTransmitterProgram:t,tokenMessengerMinterProgram:e,tokenProgram:h,eventAuthority:T.publicKey,eventRentPayer:i,messageSentEventData:l}).instruction()}const C=6400n;function z(t){return(t-BigInt(1))/C*C+BigInt(1)}function F(t,e,s){const a=e.toString();return o("used_nonces",s,[a,z(t).toString()]).publicKey}async function he(t,e,s,a,i,n){const r=M.Buffer.from(_.serialize(a)),m=M.Buffer.from(te.decode(i)),l=new u(s),d=new u(a.payload.burnToken.toUint8Array()),c=new b(a.payload.mintRecipient).unwrap(),f=n?new u(n):c,p=a.sourceDomain.toString(),S=o("message_transmitter",t),k=o("token_messenger",e),P=o("token_minter",e),T=o("local_token",e,[l]),H=o("remote_token_messenger",e,[p]),G=o("token_pair",e,[p,d]),X=o("custody",e,[l]),$=o("message_transmitter_authority",t,[e]).publicKey,J=F(a.nonce,a.sourceDomain,t),q=o("__event_authority",t),Q=o("__event_authority",e),g=[];g.push({isSigner:!1,isWritable:!1,pubkey:k.publicKey}),g.push({isSigner:!1,isWritable:!1,pubkey:H.publicKey}),g.push({isSigner:!1,isWritable:!0,pubkey:P.publicKey}),g.push({isSigner:!1,isWritable:!0,pubkey:T.publicKey}),g.push({isSigner:!1,isWritable:!1,pubkey:G.publicKey}),g.push({isSigner:!1,isWritable:!0,pubkey:c}),g.push({isSigner:!1,isWritable:!0,pubkey:X.publicKey}),g.push({isSigner:!1,isWritable:!1,pubkey:h}),g.push({isSigner:!1,isWritable:!1,pubkey:Q.publicKey}),g.push({isSigner:!1,isWritable:!1,pubkey:e});const K=L(t);return K.methods.receiveMessage({message:r,attestation:m}).accounts({payer:f,caller:f,authorityPda:$,messageTransmitter:S.publicKey,usedNonces:J,receiver:e,systemProgram:O.programId,eventAuthority:q.publicKey,program:K.programId}).remainingAccounts(g).transaction()}class w{constructor(e,s,a,i){y(this,"network");y(this,"chain");y(this,"connection");y(this,"contracts");y(this,"tokenMessenger");y(this,"messageTransmitter");var m,l;if(this.network=e,this.chain=s,this.connection=a,this.contracts=i,e==="Devnet")throw new Error("CircleBridge not supported on Devnet");const n=(m=i.cctp)==null?void 0:m.messageTransmitter;if(!n)throw new Error(`Circle Messenge Transmitter contract for domain ${s} not found`);this.messageTransmitter=Se(new u(n),this.connection);const r=(l=i.cctp)==null?void 0:l.tokenMessenger;if(!r)throw new Error(`Circle Token Messenger contract for domain ${s} not found`);this.tokenMessenger=Me(new u(r),this.connection)}static async fromRpc(e,s){const[a,i]=await ie.chainFromRpc(e),n=s[i];if(n.network!==a)throw new Error(`Network mismatch: ${n.network} != ${a}`);return new w(a,i,e,n.contracts)}async*redeem(e,s,a){const i=new u(D.get(this.network,this.chain)),n=new b(e).unwrap(),r=new b(s.payload.mintRecipient).unwrap();if(!await this.connection.getAccountInfo(r)){const c=new v().add(pe(n,r,n,i));c.feePayer=n,yield this.createUnsignedTx({transaction:c},"CircleBridge.CreateATA")}const l=await he(this.messageTransmitter.programId,this.tokenMessenger.programId,i,s,a,n),d=new v;d.feePayer=n,d.add(l),yield this.createUnsignedTx({transaction:d},"CircleBridge.Redeem")}async*transfer(e,s,a){const i=new u(D.get(this.network,this.chain)),n=new b(e).unwrap(),r=fe(i,n),m=re.get(this.network,s.chain),l=s.address.toUniversalAddress(),d=me.generate(),c=await ke(this.messageTransmitter.programId,this.tokenMessenger.programId,i,m,n,r,l,a,d.publicKey),f=new v;f.feePayer=n,f.add(c),yield this.createUnsignedTx({transaction:f,signers:[d]},"CircleBridge.Transfer")}async isTransferCompleted(e){const s=F(e.nonce,e.sourceDomain,this.messageTransmitter.programId),a=z(e.nonce),{usedNonces:i}=await this.messageTransmitter.account.usedNonces.fetch(s),n=Number(e.nonce-a),r=i[Math.floor(n/64)];if(!r)throw new Error("Invalid nonce byte index");const m=n%64,l=new U((BigInt(1)<<BigInt(m)).toString());return!r.and(l).isZero()}async parseTransactionDetails(e){const s=await this.connection.getTransaction(e);if(!s||!s.meta)throw new Error("Transaction not found");const a=s.transaction.message.getAccountKeys();if(a.length<2)throw new Error("No message account found");const i=a.get(1),n=await this.connection.getAccountInfo(i);if(!n)throw new Error("No account data found");const r=new Uint8Array(n.data).slice(44),[m,l]=_.deserialize(r),{payload:d}=m,c=d.messageSender,f=d.mintRecipient,p=R(this.network,m.sourceDomain),S=R(this.network,m.destinationDomain),k={chain:p,address:d.burnToken};return{from:{chain:p,address:c},to:{chain:S,address:f},token:k,amount:d.amount,message:m,id:{hash:l}}}createUnsignedTx(e,s,a=!1){return new oe(e,this.network,this.chain,s,a)}}const be={version:"0.1.0",name:"token_messenger_minter",instructions:[{name:"initialize",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"upgradeAuthority",isMut:!1,isSigner:!0},{name:"authorityPda",isMut:!1,isSigner:!1},{name:"tokenMessenger",isMut:!0,isSigner:!1},{name:"tokenMinter",isMut:!0,isSigner:!1},{name:"tokenMessengerMinterProgramData",isMut:!1,isSigner:!1},{name:"tokenMessengerMinterProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"InitializeParams"}}]},{name:"transferOwnership",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"TransferOwnershipParams"}}]},{name:"acceptOwnership",accounts:[{name:"pendingOwner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"AcceptOwnershipParams"}}]},{name:"addRemoteTokenMessenger",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"owner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"remoteTokenMessenger",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"AddRemoteTokenMessengerParams"}}]},{name:"removeRemoteTokenMessenger",accounts:[{name:"payee",isMut:!0,isSigner:!0},{name:"owner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"remoteTokenMessenger",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"RemoveRemoteTokenMessengerParams"}}]},{name:"depositForBurn",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!1},{name:"burnTokenAccount",isMut:!0,isSigner:!1},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"remoteTokenMessenger",isMut:!1,isSigner:!1},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"burnTokenMint",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"messageTransmitterProgram",isMut:!1,isSigner:!1},{name:"tokenMessengerMinterProgram",isMut:!1,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"DepositForBurnParams"}}],returns:"u64"},{name:"depositForBurnWithCaller",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!1},{name:"burnTokenAccount",isMut:!0,isSigner:!1},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"remoteTokenMessenger",isMut:!1,isSigner:!1},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"burnTokenMint",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"messageTransmitterProgram",isMut:!1,isSigner:!1},{name:"tokenMessengerMinterProgram",isMut:!1,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"DepositForBurnWithCallerParams"}}],returns:"u64"},{name:"replaceDepositForBurn",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!1},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"messageTransmitterProgram",isMut:!1,isSigner:!1},{name:"tokenMessengerMinterProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"ReplaceDepositForBurnParams"}}],returns:"u64"},{name:"handleReceiveMessage",accounts:[{name:"authorityPda",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"remoteTokenMessenger",isMut:!1,isSigner:!1},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"tokenPair",isMut:!1,isSigner:!1},{name:"recipientTokenAccount",isMut:!0,isSigner:!1},{name:"custodyTokenAccount",isMut:!0,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"HandleReceiveMessageParams"}}]},{name:"setTokenController",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"tokenMinter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetTokenControllerParams"}}]},{name:"pause",accounts:[{name:"pauser",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"PauseParams"}}]},{name:"unpause",accounts:[{name:"pauser",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UnpauseParams"}}]},{name:"updatePauser",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"tokenMinter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UpdatePauserParams"}}]},{name:"setMaxBurnAmountPerMessage",accounts:[{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetMaxBurnAmountPerMessageParams"}}]},{name:"addLocalToken",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"custodyTokenAccount",isMut:!0,isSigner:!1},{name:"localTokenMint",isMut:!1,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"AddLocalTokenParams"}}]},{name:"removeLocalToken",accounts:[{name:"payee",isMut:!0,isSigner:!0},{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"custodyTokenAccount",isMut:!0,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"RemoveLocalTokenParams"}}]},{name:"linkTokenPair",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"tokenPair",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"LinkTokenPairParams"}}]},{name:"unlinkTokenPair",accounts:[{name:"payee",isMut:!0,isSigner:!0},{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"tokenPair",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UninkTokenPairParams"}}]},{name:"burnTokenCustody",accounts:[{name:"payee",isMut:!0,isSigner:!0},{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!1,isSigner:!1},{name:"custodyTokenAccount",isMut:!0,isSigner:!1},{name:"custodyTokenMint",isMut:!0,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"BurnTokenCustodyParams"}}]}],accounts:[{name:"tokenMessenger",type:{kind:"struct",fields:[{name:"owner",type:"publicKey"},{name:"pendingOwner",type:"publicKey"},{name:"localMessageTransmitter",type:"publicKey"},{name:"messageBodyVersion",type:"u32"},{name:"authorityBump",type:"u8"}]}},{name:"remoteTokenMessenger",type:{kind:"struct",fields:[{name:"domain",type:"u32"},{name:"tokenMessenger",type:"publicKey"}]}},{name:"tokenMinter",type:{kind:"struct",fields:[{name:"tokenController",type:"publicKey"},{name:"pauser",type:"publicKey"},{name:"paused",type:"bool"},{name:"bump",type:"u8"}]}},{name:"tokenPair",type:{kind:"struct",fields:[{name:"remoteDomain",type:"u32"},{name:"remoteToken",type:"publicKey"},{name:"localToken",type:"publicKey"},{name:"bump",type:"u8"}]}},{name:"localToken",type:{kind:"struct",fields:[{name:"custody",type:"publicKey"},{name:"mint",type:"publicKey"},{name:"burnLimitPerMessage",type:"u64"},{name:"messagesSent",type:"u64"},{name:"messagesReceived",type:"u64"},{name:"amountSent",type:"u128"},{name:"amountReceived",type:"u128"},{name:"bump",type:"u8"},{name:"custodyBump",type:"u8"}]}}],types:[{name:"AcceptOwnershipParams",type:{kind:"struct",fields:[]}},{name:"AddRemoteTokenMessengerParams",type:{kind:"struct",fields:[{name:"domain",type:"u32"},{name:"tokenMessenger",type:"publicKey"}]}},{name:"DepositForBurnWithCallerParams",type:{kind:"struct",fields:[{name:"amount",type:"u64"},{name:"destinationDomain",type:"u32"},{name:"mintRecipient",type:"publicKey"},{name:"destinationCaller",type:"publicKey"}]}},{name:"DepositForBurnParams",type:{kind:"struct",fields:[{name:"amount",type:"u64"},{name:"destinationDomain",type:"u32"},{name:"mintRecipient",type:"publicKey"}]}},{name:"HandleReceiveMessageParams",type:{kind:"struct",fields:[{name:"remoteDomain",type:"u32"},{name:"sender",type:"publicKey"},{name:"messageBody",type:"bytes"},{name:"authorityBump",type:"u8"}]}},{name:"InitializeParams",type:{kind:"struct",fields:[{name:"tokenController",type:"publicKey"},{name:"localMessageTransmitter",type:"publicKey"},{name:"messageBodyVersion",type:"u32"}]}},{name:"RemoveRemoteTokenMessengerParams",type:{kind:"struct",fields:[]}},{name:"ReplaceDepositForBurnParams",type:{kind:"struct",fields:[{name:"originalMessage",type:"bytes"},{name:"originalAttestation",type:"bytes"},{name:"newDestinationCaller",type:"publicKey"},{name:"newMintRecipient",type:"publicKey"}]}},{name:"TransferOwnershipParams",type:{kind:"struct",fields:[{name:"newOwner",type:"publicKey"}]}},{name:"AddLocalTokenParams",type:{kind:"struct",fields:[]}},{name:"BurnTokenCustodyParams",type:{kind:"struct",fields:[{name:"amount",type:"u64"}]}},{name:"LinkTokenPairParams",type:{kind:"struct",fields:[{name:"localToken",type:"publicKey"},{name:"remoteDomain",type:"u32"},{name:"remoteToken",type:"publicKey"}]}},{name:"PauseParams",type:{kind:"struct",fields:[]}},{name:"RemoveLocalTokenParams",type:{kind:"struct",fields:[]}},{name:"SetMaxBurnAmountPerMessageParams",type:{kind:"struct",fields:[{name:"burnLimitPerMessage",type:"u64"}]}},{name:"SetTokenControllerParams",type:{kind:"struct",fields:[{name:"tokenController",type:"publicKey"}]}},{name:"UninkTokenPairParams",type:{kind:"struct",fields:[]}},{name:"UnpauseParams",type:{kind:"struct",fields:[]}},{name:"UpdatePauserParams",type:{kind:"struct",fields:[{name:"newPauser",type:"publicKey"}]}},{name:"TokenMinterError",type:{kind:"enum",variants:[{name:"InvalidAuthority"},{name:"InvalidTokenMinterState"},{name:"ProgramPaused"},{name:"InvalidTokenPairState"},{name:"InvalidLocalTokenState"},{name:"InvalidPauser"},{name:"InvalidTokenController"},{name:"BurnAmountExceeded"},{name:"InvalidAmount"}]}}],events:[{name:"OwnershipTransferStarted",fields:[{name:"previousOwner",type:"publicKey",index:!1},{name:"newOwner",type:"publicKey",index:!1}]},{name:"OwnershipTransferred",fields:[{name:"previousOwner",type:"publicKey",index:!1},{name:"newOwner",type:"publicKey",index:!1}]},{name:"DepositForBurn",fields:[{name:"nonce",type:"u64",index:!1},{name:"burnToken",type:"publicKey",index:!1},{name:"amount",type:"u64",index:!1},{name:"depositor",type:"publicKey",index:!1},{name:"mintRecipient",type:"publicKey",index:!1},{name:"destinationDomain",type:"u32",index:!1},{name:"destinationTokenMessenger",type:"publicKey",index:!1},{name:"destinationCaller",type:"publicKey",index:!1}]},{name:"MintAndWithdraw",fields:[{name:"mintRecipient",type:"publicKey",index:!1},{name:"amount",type:"u64",index:!1},{name:"mintToken",type:"publicKey",index:!1}]},{name:"RemoteTokenMessengerAdded",fields:[{name:"domain",type:"u32",index:!1},{name:"tokenMessenger",type:"publicKey",index:!1}]},{name:"RemoteTokenMessengerRemoved",fields:[{name:"domain",type:"u32",index:!1},{name:"tokenMessenger",type:"publicKey",index:!1}]},{name:"SetTokenController",fields:[{name:"tokenController",type:"publicKey",index:!1}]},{name:"PauserChanged",fields:[{name:"newAddress",type:"publicKey",index:!1}]},{name:"SetBurnLimitPerMessage",fields:[{name:"token",type:"publicKey",index:!1},{name:"burnLimitPerMessage",type:"u64",index:!1}]},{name:"LocalTokenAdded",fields:[{name:"custody",type:"publicKey",index:!1},{name:"mint",type:"publicKey",index:!1}]},{name:"LocalTokenRemoved",fields:[{name:"custody",type:"publicKey",index:!1},{name:"mint",type:"publicKey",index:!1}]},{name:"TokenPairLinked",fields:[{name:"localToken",type:"publicKey",index:!1},{name:"remoteDomain",type:"u32",index:!1},{name:"remoteToken",type:"publicKey",index:!1}]},{name:"TokenPairUnlinked",fields:[{name:"localToken",type:"publicKey",index:!1},{name:"remoteDomain",type:"u32",index:!1},{name:"remoteToken",type:"publicKey",index:!1}]},{name:"Pause",fields:[]},{name:"Unpause",fields:[]},{name:"TokenCustodyBurned",fields:[{name:"custodyTokenAccount",type:"publicKey",index:!1},{name:"amount",type:"u64",index:!1}]}],errors:[{code:6e3,name:"InvalidAuthority",msg:"Invalid authority"},{code:6001,name:"InvalidTokenMessengerState",msg:"Invalid token messenger state"},{code:6002,name:"InvalidTokenMessenger",msg:"Invalid token messenger"},{code:6003,name:"InvalidOwner",msg:"Invalid owner"},{code:6004,name:"MalformedMessage",msg:"Malformed message"},{code:6005,name:"InvalidMessageBodyVersion",msg:"Invalid message body version"},{code:6006,name:"InvalidAmount",msg:"Invalid amount"},{code:6007,name:"InvalidDestinationDomain",msg:"Invalid destination domain"},{code:6008,name:"InvalidDestinationCaller",msg:"Invalid destination caller"},{code:6009,name:"InvalidMintRecipient",msg:"Invalid mint recipient"},{code:6010,name:"InvalidSender",msg:"Invalid sender"},{code:6011,name:"InvalidTokenPair",msg:"Invalid token pair"},{code:6012,name:"InvalidTokenMint",msg:"Invalid token mint"}]},Pe={version:"0.1.0",name:"message_transmitter",instructions:[{name:"initialize",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"upgradeAuthority",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"messageTransmitterProgramData",isMut:!1,isSigner:!1},{name:"messageTransmitterProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"InitializeParams"}}]},{name:"transferOwnership",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"TransferOwnershipParams"}}]},{name:"acceptOwnership",accounts:[{name:"pendingOwner",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"AcceptOwnershipParams"}}]},{name:"updatePauser",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UpdatePauserParams"}}]},{name:"updateAttesterManager",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UpdateAttesterManagerParams"}}]},{name:"pause",accounts:[{name:"pauser",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"PauseParams"}}]},{name:"unpause",accounts:[{name:"pauser",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UnpauseParams"}}]},{name:"setMaxMessageBodySize",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetMaxMessageBodySizeParams"}}]},{name:"enableAttester",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"attesterManager",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"EnableAttesterParams"}}]},{name:"disableAttester",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"attesterManager",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"DisableAttesterParams"}}]},{name:"setSignatureThreshold",accounts:[{name:"attesterManager",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetSignatureThresholdParams"}}]},{name:"sendMessage",accounts:[{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"senderProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SendMessageParams"}}],returns:"u64"},{name:"sendMessageWithCaller",accounts:[{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"senderProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SendMessageWithCallerParams"}}],returns:"u64"},{name:"replaceMessage",accounts:[{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"senderProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"ReplaceMessageParams"}}],returns:"u64"},{name:"receiveMessage",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"caller",isMut:!1,isSigner:!0},{name:"authorityPda",isMut:!1,isSigner:!1},{name:"messageTransmitter",isMut:!1,isSigner:!1},{name:"usedNonces",isMut:!0,isSigner:!1},{name:"receiver",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"ReceiveMessageParams"}}]},{name:"reclaimEventAccount",accounts:[{name:"payee",isMut:!0,isSigner:!0,docs:["rent SOL receiver, should match original rent payer"]},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!1}],args:[{name:"params",type:{defined:"ReclaimEventAccountParams"}}]},{name:"getNoncePda",accounts:[{name:"messageTransmitter",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"GetNoncePDAParams"}}],returns:"publicKey"},{name:"isNonceUsed",accounts:[{name:"usedNonces",isMut:!1,isSigner:!1,docs:["Account will be explicitly loaded to avoid error when it's not initialized"]}],args:[{name:"params",type:{defined:"IsNonceUsedParams"}}],returns:"bool"}],accounts:[{name:"messageSent",type:{kind:"struct",fields:[{name:"rentPayer",type:"publicKey"},{name:"message",type:"bytes"}]}},{name:"messageTransmitter",docs:["Main state of the MessageTransmitter program"],type:{kind:"struct",fields:[{name:"owner",type:"publicKey"},{name:"pendingOwner",type:"publicKey"},{name:"attesterManager",type:"publicKey"},{name:"pauser",type:"publicKey"},{name:"paused",type:"bool"},{name:"localDomain",type:"u32"},{name:"version",type:"u32"},{name:"signatureThreshold",type:"u32"},{name:"enabledAttesters",type:{vec:"publicKey"}},{name:"maxMessageBodySize",type:"u64"},{name:"nextAvailableNonce",type:"u64"}]}},{name:"usedNonces",docs:["UsedNonces account holds an array of bits that indicate which nonces were already used","so they can't be resused to receive new messages. Array starts with the first_nonce and","holds flags for UsedNonces::MAX_NONCES. Nonces are recorded separately for each remote_domain."],type:{kind:"struct",fields:[{name:"remoteDomain",type:"u32"},{name:"firstNonce",type:"u64"},{name:"usedNonces",type:{array:["u64",100]}}]}}],types:[{name:"AcceptOwnershipParams",type:{kind:"struct",fields:[]}},{name:"DisableAttesterParams",type:{kind:"struct",fields:[{name:"attester",type:"publicKey"}]}},{name:"EnableAttesterParams",type:{kind:"struct",fields:[{name:"newAttester",type:"publicKey"}]}},{name:"GetNoncePDAParams",type:{kind:"struct",fields:[{name:"nonce",type:"u64"},{name:"sourceDomain",type:"u32"}]}},{name:"InitializeParams",type:{kind:"struct",fields:[{name:"localDomain",type:"u32"},{name:"attester",type:"publicKey"},{name:"maxMessageBodySize",type:"u64"},{name:"version",type:"u32"}]}},{name:"IsNonceUsedParams",type:{kind:"struct",fields:[{name:"nonce",type:"u64"}]}},{name:"PauseParams",type:{kind:"struct",fields:[]}},{name:"ReceiveMessageParams",type:{kind:"struct",fields:[{name:"message",type:"bytes"},{name:"attestation",type:"bytes"}]}},{name:"HandleReceiveMessageParams",type:{kind:"struct",fields:[{name:"remoteDomain",type:"u32"},{name:"sender",type:"publicKey"},{name:"messageBody",type:"bytes"},{name:"authorityBump",type:"u8"}]}},{name:"ReclaimEventAccountParams",type:{kind:"struct",fields:[{name:"attestation",type:"bytes"}]}},{name:"ReplaceMessageParams",type:{kind:"struct",fields:[{name:"originalMessage",type:"bytes"},{name:"originalAttestation",type:"bytes"},{name:"newMessageBody",type:"bytes"},{name:"newDestinationCaller",type:"publicKey"}]}},{name:"SendMessageWithCallerParams",type:{kind:"struct",fields:[{name:"destinationDomain",type:"u32"},{name:"recipient",type:"publicKey"},{name:"messageBody",type:"bytes"},{name:"destinationCaller",type:"publicKey"}]}},{name:"SendMessageParams",type:{kind:"struct",fields:[{name:"destinationDomain",type:"u32"},{name:"recipient",type:"publicKey"},{name:"messageBody",type:"bytes"}]}},{name:"SetMaxMessageBodySizeParams",type:{kind:"struct",fields:[{name:"newMaxMessageBodySize",type:"u64"}]}},{name:"SetSignatureThresholdParams",type:{kind:"struct",fields:[{name:"newSignatureThreshold",type:"u32"}]}},{name:"TransferOwnershipParams",type:{kind:"struct",fields:[{name:"newOwner",type:"publicKey"}]}},{name:"UnpauseParams",type:{kind:"struct",fields:[]}},{name:"UpdateAttesterManagerParams",type:{kind:"struct",fields:[{name:"newAttesterManager",type:"publicKey"}]}},{name:"UpdatePauserParams",type:{kind:"struct",fields:[{name:"newPauser",type:"publicKey"}]}},{name:"MathError",type:{kind:"enum",variants:[{name:"MathOverflow"},{name:"MathUnderflow"},{name:"ErrorInDivision"}]}}],events:[{name:"OwnershipTransferStarted",fields:[{name:"previousOwner",type:"publicKey",index:!1},{name:"newOwner",type:"publicKey",index:!1}]},{name:"OwnershipTransferred",fields:[{name:"previousOwner",type:"publicKey",index:!1},{name:"newOwner",type:"publicKey",index:!1}]},{name:"PauserChanged",fields:[{name:"newAddress",type:"publicKey",index:!1}]},{name:"AttesterManagerUpdated",fields:[{name:"previousAttesterManager",type:"publicKey",index:!1},{name:"newAttesterManager",type:"publicKey",index:!1}]},{name:"MessageReceived",fields:[{name:"caller",type:"publicKey",index:!1},{name:"sourceDomain",type:"u32",index:!1},{name:"nonce",type:"u64",index:!1},{name:"sender",type:"publicKey",index:!1},{name:"messageBody",type:"bytes",index:!1}]},{name:"SignatureThresholdUpdated",fields:[{name:"oldSignatureThreshold",type:"u32",index:!1},{name:"newSignatureThreshold",type:"u32",index:!1}]},{name:"AttesterEnabled",fields:[{name:"attester",type:"publicKey",index:!1}]},{name:"AttesterDisabled",fields:[{name:"attester",type:"publicKey",index:!1}]},{name:"MaxMessageBodySizeUpdated",fields:[{name:"newMaxMessageBodySize",type:"u64",index:!1}]},{name:"Pause",fields:[]},{name:"Unpause",fields:[]}],errors:[{code:6e3,name:"InvalidAuthority",msg:"Invalid authority"},{code:6001,name:"ProgramPaused",msg:"Instruction is not allowed at this time"},{code:6002,name:"InvalidMessageTransmitterState",msg:"Invalid message transmitter state"},{code:6003,name:"InvalidSignatureThreshold",msg:"Invalid signature threshold"},{code:6004,name:"SignatureThresholdAlreadySet",msg:"Signature threshold already set"},{code:6005,name:"InvalidOwner",msg:"Invalid owner"},{code:6006,name:"InvalidPauser",msg:"Invalid pauser"},{code:6007,name:"InvalidAttesterManager",msg:"Invalid attester manager"},{code:6008,name:"InvalidAttester",msg:"Invalid attester"},{code:6009,name:"AttesterAlreadyEnabled",msg:"Attester already enabled"},{code:6010,name:"TooFewEnabledAttesters",msg:"Too few enabled attesters"},{code:6011,name:"SignatureThresholdTooLow",msg:"Signature threshold is too low"},{code:6012,name:"AttesterAlreadyDisabled",msg:"Attester already disabled"},{code:6013,name:"MessageBodyLimitExceeded",msg:"Message body exceeds max size"},{code:6014,name:"InvalidDestinationCaller",msg:"Invalid destination caller"},{code:6015,name:"InvalidRecipient",msg:"Invalid message recipient"},{code:6016,name:"SenderNotPermitted",msg:"Sender is not permitted"},{code:6017,name:"InvalidSourceDomain",msg:"Invalid source domain"},{code:6018,name:"InvalidDestinationDomain",msg:"Invalid destination domain"},{code:6019,name:"InvalidMessageVersion",msg:"Invalid message version"},{code:6020,name:"InvalidUsedNoncesAccount",msg:"Invalid used nonces account"},{code:6021,name:"InvalidRecipientProgram",msg:"Invalid recipient program"},{code:6022,name:"InvalidNonce",msg:"Invalid nonce"},{code:6023,name:"NonceAlreadyUsed",msg:"Nonce already used"},{code:6024,name:"MessageTooShort",msg:"Message is too short"},{code:6025,name:"MalformedMessage",msg:"Malformed message"},{code:6026,name:"InvalidSignatureOrderOrDupe",msg:"Invalid signature order or dupe"},{code:6027,name:"InvalidAttesterSignature",msg:"Invalid attester signature"},{code:6028,name:"InvalidAttestationLength",msg:"Invalid attestation length"},{code:6029,name:"InvalidSignatureRecoveryId",msg:"Invalid signature recovery ID"},{code:6030,name:"InvalidSignatureSValue",msg:"Invalid signature S value"},{code:6031,name:"InvalidMessageHash",msg:"Invalid message hash"}]};ue(le,"CircleBridge",w);const V={TokenMessengerIdl:be,MessageTransmitterIdl:Pe};export{w as SolanaCircleBridge,V as idl};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var Er=Object.defineProperty;var xr=(e,t,r)=>t in e?Er(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var F=(e,t,r)=>xr(e,typeof t!="symbol"?t+"":t,r);import{M as Ir,aL as jr,cL as Or,bV as Ar,bT as kr,bU as Bt,aa as _r,bW as Rt,bJ as Cr}from"../main.js";import{S as Nt,u as Pt}from"./sui-C76oYlao.js";import{S as $r}from"./unsignedTransaction-arVvzoJx.js";import"./index-iG_7aUsO.js";class Mr extends TypeError{constructor(t,r){let n;const{message:i,explanation:s,...a}=t,{path:o}=t,u=o.length===0?i:`At path: ${o.join(".")} -- ${i}`;super(s??u),s!=null&&(this.cause=u),Object.assign(this,a),this.name=this.constructor.name,this.failures=()=>n??(n=[t,...r()])}}function Ur(e){return z(e)&&typeof e[Symbol.iterator]=="function"}function z(e){return typeof e=="object"&&e!=null}function V(e){return typeof e=="symbol"?e.toString():typeof e=="string"?JSON.stringify(e):`${e}`}function Br(e){const{done:t,value:r}=e.next();return t?void 0:r}function Rr(e,t,r,n){if(e===!0)return;e===!1?e={}:typeof e=="string"&&(e={message:e});const{path:i,branch:s}=t,{type:a}=r,{refinement:o,message:u=`Expected a value of type \`${a}\`${o?` with refinement \`${o}\``:""}, but received: \`${V(n)}\``}=e;return{value:n,type:a,refinement:o,key:i[i.length-1],path:i,branch:s,...e,message:u}}function*Dt(e,t,r,n){Ur(e)||(e=[e]);for(const i of e){const s=Rr(i,t,r,n);s&&(yield s)}}function*nt(e,t,r={}){const{path:n=[],branch:i=[e],coerce:s=!1,mask:a=!1}=r,o={path:n,branch:i};if(s&&(e=t.coercer(e,o),a&&t.type!=="type"&&z(t.schema)&&z(e)&&!Array.isArray(e)))for(const d in e)t.schema[d]===void 0&&delete e[d];let u="valid";for(const d of t.validator(e,o))d.explanation=r.message,u="not_valid",yield[d,void 0];for(let[d,l,g]of t.entries(e,o)){const m=nt(l,g,{path:d===void 0?n:[...n,d],branch:d===void 0?i:[...i,l],coerce:s,mask:a,message:r.message});for(const p of m)p[0]?(u=p[0].refinement!=null?"not_refined":"not_valid",yield[p[0],void 0]):s&&(l=p[1],d===void 0?e=l:e instanceof Map?e.set(d,l):e instanceof Set?e.add(l):z(e)&&(l!==void 0||d in e)&&(e[d]=l))}if(u!=="not_valid")for(const d of t.refiner(e,o))d.explanation=r.message,u="not_refined",yield[d,void 0];u==="valid"&&(yield[void 0,e])}class Z{constructor(t){const{type:r,schema:n,validator:i,refiner:s,coercer:a=u=>u,entries:o=function*(){}}=t;this.type=r,this.schema=n,this.entries=o,this.coercer=a,i?this.validator=(u,d)=>{const l=i(u,d);return Dt(l,d,this,u)}:this.validator=()=>[],s?this.refiner=(u,d)=>{const l=s(u,d);return Dt(l,d,this,u)}:this.refiner=()=>[]}assert(t,r){return qe(t,this,r)}create(t,r){return Lt(t,this,r)}is(t){return N(t,this)}mask(t,r){return Kt(t,this,r)}validate(t,r={}){return Ee(t,this,r)}}function qe(e,t,r){const n=Ee(e,t,{message:r});if(n[0])throw n[0]}function Lt(e,t,r){const n=Ee(e,t,{coerce:!0,message:r});if(n[0])throw n[0];return n[1]}function Kt(e,t,r){const n=Ee(e,t,{coerce:!0,mask:!0,message:r});if(n[0])throw n[0];return n[1]}function N(e,t){return!Ee(e,t)[0]}function Ee(e,t,r={}){const n=nt(e,t,r),i=Br(n);return i[0]?[new Mr(i[0],function*(){for(const a of n)a[0]&&(yield a[0])}),void 0]:[void 0,i[1]]}function we(...e){const t=e[0].type==="type",r=e.map(i=>i.schema),n=Object.assign({},...r);return t?Pr(n):h(n)}function P(e,t){return new Z({type:e,schema:null,validator:t})}function Ze(){return P("any",()=>!0)}function v(e){return new Z({type:"array",schema:e,*entries(t){if(e&&Array.isArray(t))for(const[r,n]of t.entries())yield[r,n,e]},coercer(t){return Array.isArray(t)?t.slice():t},validator(t){return Array.isArray(t)||`Expected an array value, but received: ${V(t)}`}})}function Nr(){return P("bigint",e=>typeof e=="bigint")}function U(){return P("boolean",e=>typeof e=="boolean")}function q(){return P("integer",e=>typeof e=="number"&&!isNaN(e)&&Number.isInteger(e)||`Expected an integer, but received: ${V(e)}`)}function b(e){const t=V(e),r=typeof e;return new Z({type:"literal",schema:r==="string"||r==="number"||r==="boolean"?e:null,validator(n){return n===e||`Expected the literal \`${t}\`, but received: ${V(n)}`}})}function Wt(){return P("never",()=>!1)}function O(e){return new Z({...e,validator:(t,r)=>t===null||e.validator(t,r),refiner:(t,r)=>t===null||e.refiner(t,r)})}function ue(){return P("number",e=>typeof e=="number"&&!isNaN(e)||`Expected a number, but received: ${V(e)}`)}function h(e){const t=e?Object.keys(e):[],r=Wt();return new Z({type:"object",schema:e||null,*entries(n){if(e&&z(n)){const i=new Set(Object.keys(n));for(const s of t)i.delete(s),yield[s,n[s],e[s]];for(const s of i)yield[s,n[s],r]}},validator(n){return z(n)||`Expected an object, but received: ${V(n)}`},coercer(n){return z(n)?{...n}:n}})}function w(e){return new Z({...e,validator:(t,r)=>t===void 0||e.validator(t,r),refiner:(t,r)=>t===void 0||e.refiner(t,r)})}function H(e,t){return new Z({type:"record",schema:null,*entries(r){if(z(r))for(const n in r){const i=r[n];yield[n,n,e],yield[n,i,t]}},validator(r){return z(r)||`Expected an object, but received: ${V(r)}`}})}function f(){return P("string",e=>typeof e=="string"||`Expected a string, but received: ${V(e)}`)}function Jt(e){const t=Wt();return new Z({type:"tuple",schema:null,*entries(r){if(Array.isArray(r)){const n=Math.max(e.length,r.length);for(let i=0;i<n;i++)yield[i,r[i],e[i]||t]}},validator(r){return Array.isArray(r)||`Expected an array, but received: ${V(r)}`}})}function Pr(e){const t=Object.keys(e);return new Z({type:"type",schema:e,*entries(r){if(z(r))for(const n of t)yield[n,r[n],e[n]]},validator(r){return z(r)||`Expected an object, but received: ${V(r)}`},coercer(r){return z(r)?{...r}:r}})}function k(e){const t=e.map(r=>r.type).join(" | ");return new Z({type:"union",schema:null,coercer(r){for(const n of e){const[i,s]=n.validate(r,{coerce:!0});if(!i)return s}return r},validator(r,n){const i=[];for(const s of e){const[...a]=nt(r,s,n),[o]=a;if(o[0])for(const[u]of a)u&&i.push(u);else return[]}return[`Expected the value to satisfy a union of \`${t}\`, but received: ${V(r)}`,...i]}})}function Ht(){return P("unknown",()=>!0)}const it=k([h({AddressOwner:f()}),h({ObjectOwner:f()}),h({Shared:h({initial_shared_version:O(f())})}),b("Immutable")]);P("SuiJsonValue",()=>!0);const Dr=k([h({u32:f()}),h({u64:f()}),h({f64:f()})]);h({attributes:H(f(),O(Dr)),featureFlags:H(f(),U()),maxSupportedProtocolVersion:f(),minSupportedProtocolVersion:f(),protocolVersion:f()});k([f(),b("package")]);const se=h({digest:f(),objectId:f(),version:k([ue(),f(),Nr()])});h({owner:it,reference:se});h({objectId:f(),sequenceNumber:f()});h({payment:v(se),owner:f(),price:f(),budget:f()});const zr=we(se,h({type:f(),owner:it,previousTransaction:f()})),Vr=H(f(),Ze()),Gr=H(f(),Ht()),Fr=h({type:f(),fields:Vr,hasPublicTransfer:U()}),Lr=h({disassembled:Gr}),Kr=k([we(Fr,h({dataType:b("moveObject")})),we(Lr,h({dataType:b("package")}))]),Wr=h({type:f(),hasPublicTransfer:U(),version:f(),bcsBytes:f()}),Jr=h({id:f(),moduleMap:H(f(),f())}),Hr=k([we(Wr,h({dataType:b("moveObject")})),we(Jr,h({dataType:b("package")}))]);BigInt(1e9);const Xt=h({code:f(),error:w(f()),object_id:w(f()),parent_object_id:w(f()),version:w(f()),digest:w(f())}),Xr=h({data:O(w(H(f(),f()))),error:O(w(Xt))}),qr=k([Xr,w(H(f(),f()))]),qt=h({objectId:f(),version:f(),digest:f(),type:O(w(f())),content:O(w(Kr)),bcs:O(w(Hr)),owner:O(w(it)),previousTransaction:O(w(f())),storageRebate:O(w(f())),display:O(w(qr))});h({showType:O(w(U())),showContent:O(w(U())),showBcs:O(w(U())),showOwner:O(w(U())),showPreviousTransaction:O(w(U())),showStorageRebate:O(w(U())),showDisplay:O(w(U()))});k([b("Exists"),b("notExists"),b("Deleted")]);v(zr);const Zr=h({data:O(w(qt)),error:O(w(Xt))});function Yr(e){return e.data}function Qr(e){if(e.error&&"object_id"in e.error&&"version"in e.error&&"digest"in e.error){const t=e.error;return{objectId:t.object_id,version:t.version,digest:t.digest}}}function zt(e){if("reference"in e)return e.reference;const t=Yr(e);return t?{objectId:t.objectId,version:t.version,digest:t.digest}:Qr(e)}h({objectId:f(),atCheckpoint:w(ue())});h({data:v(Zr),nextCursor:w(O(f())),hasNextPage:U()});k([h({details:qt,status:b("VersionFound")}),h({details:f(),status:b("ObjectNotExists")}),h({details:se,status:b("ObjectDeleted")}),h({details:Jt([f(),ue()]),status:b("VersionNotFound")}),h({details:h({asked_version:ue(),latest_version:ue(),object_id:f()}),status:b("VersionTooHigh")})]);const en=k([f(),h({Object:f()})]);v(en);const tn=h({address:f(),name:f()}),rn=k([b("Private"),b("Public"),b("Friend")]),st=h({abilities:v(f())}),nn=h({constraints:st,isPhantom:U()}),sn=h({TypeParameter:ue()}),Ge=Jt([h({module:f(),package:f(),function:f()}),f()]);h({rank3Days:v(Ge),rank7Days:v(Ge),rank30Days:v(Ge)});function Zt(e){if(!e)return!1;if(typeof e=="string"||N(e,sn)||Yt(e))return!0;if(typeof e!="object")return!1;const t=e;return!!(N(t.Reference,le)||N(t.MutableReference,le)||N(t.Vector,le))}const le=P("SuiMoveNormalizedType",Zt);function Yt(e){if(!e||typeof e!="object")return!1;const t=e;if(!t.Struct||typeof t.Struct!="object")return!1;const r=t.Struct;return!(typeof r.address!="string"||typeof r.module!="string"||typeof r.name!="string"||!Array.isArray(r.typeArguments)||!r.typeArguments.every(n=>Zt(n)))}P("SuiMoveNormalizedStructType",Yt);const an=h({visibility:rn,isEntry:U(),typeParameters:v(st),parameters:v(le),return:v(le)}),on=h({name:f(),type:le}),cn=h({abilities:st,typeParameters:v(nn),fields:v(on)}),un=h({fileFormatVersion:ue(),address:f(),name:f(),friends:v(tn),structs:H(f(),cn),exposedFunctions:H(f(),an)});H(f(),un);function Ye(e){return typeof e=="object"&&"MutableReference"in e?e.MutableReference:void 0}function Qt(e){return typeof e=="object"&&"Reference"in e?e.Reference:void 0}function at(e){if(typeof e=="object"&&"Struct"in e)return e;const t=Qt(e),r=Ye(e);if(typeof t=="object"&&"Struct"in t)return t;if(typeof r=="object"&&"Struct"in r)return r}function dn(e){if(e.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),r=0;r<t.length;r++)t[r]=255;for(var n=0;n<e.length;n++){var i=e.charAt(n),s=i.charCodeAt(0);if(t[s]!==255)throw new TypeError(i+" is ambiguous");t[s]=n}var a=e.length,o=e.charAt(0),u=Math.log(a)/Math.log(256),d=Math.log(256)/Math.log(a);function l(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var y=0,S=0,E=0,A=p.length;E!==A&&p[E]===0;)E++,y++;for(var _=(A-E)*d+1>>>0,D=new Uint8Array(_);E!==A;){for(var X=p[E],ne=0,G=_-1;(X!==0||ne<S)&&G!==-1;G--,ne++)X+=256*D[G]>>>0,D[G]=X%a>>>0,X=X/a>>>0;if(X!==0)throw new Error("Non-zero carry");S=ne,E++}for(var Y=_-S;Y!==_&&D[Y]===0;)Y++;for(var Oe=o.repeat(y);Y<_;++Y)Oe+=e.charAt(D[Y]);return Oe}function g(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;for(var y=0,S=0,E=0;p[y]===o;)S++,y++;for(var A=(p.length-y)*u+1>>>0,_=new Uint8Array(A);p[y];){var D=t[p.charCodeAt(y)];if(D===255)return;for(var X=0,ne=A-1;(D!==0||X<E)&&ne!==-1;ne--,X++)D+=a*_[ne]>>>0,_[ne]=D%256>>>0,D=D/256>>>0;if(D!==0)throw new Error("Non-zero carry");E=X,y++}for(var G=A-E;G!==A&&_[G]===0;)G++;for(var Y=new Uint8Array(S+(A-G)),Oe=S;G!==A;)Y[Oe++]=_[G++];return Y}function m(p){var y=g(p);if(y)return y;throw new Error("Non-base"+a+" character")}return{encode:l,decodeUnsafe:g,decode:m}}var fn=dn;const ln=fn,hn="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";var gn=ln(hn);const er=Ir(gn),xe=e=>er.encode(e),ot=e=>er.decode(e);function ae(e){return Uint8Array.from(atob(e),t=>t.charCodeAt(0))}const Fe=8192;function Ie(e){if(e.length<Fe)return btoa(String.fromCharCode(...e));let t="";for(var r=0;r<e.length;r+=Fe){const n=e.slice(r,r+Fe);t+=String.fromCharCode(...n)}return btoa(t)}function Ve(e){var i;const t=e.startsWith("0x")?e.slice(2):e,n=((i=(t.length%2===0?t:`0${t}}`).match(/.{2}/g))==null?void 0:i.map(s=>parseInt(s,16)))??[];return Uint8Array.from(n)}function je(e){return e.reduce((t,r)=>t+r.toString(16).padStart(2,"0"),"")}function ct(e){let t=[],r=0;if(e===0)return[0];for(;e>0;)t[r]=e&127,(e>>=7)&&(t[r]|=128),r+=1;return t}function pn(e){let t=0,r=0,n=0;for(;;){let i=e[n];if(n+=1,t|=(i&127)<<r,!(i&128))break;r+=7}return{value:t,length:n}}class tr{constructor(t){this.bytePosition=0,this.dataView=new DataView(t.buffer)}shift(t){return this.bytePosition+=t,this}read8(){let t=this.dataView.getUint8(this.bytePosition);return this.shift(1),t}read16(){let t=this.dataView.getUint16(this.bytePosition,!0);return this.shift(2),t}read32(){let t=this.dataView.getUint32(this.bytePosition,!0);return this.shift(4),t}read64(){let t=this.read32(),n=this.read32().toString(16)+t.toString(16).padStart(8,"0");return BigInt("0x"+n).toString(10)}read128(){let t=BigInt(this.read64()),n=BigInt(this.read64()).toString(16)+t.toString(16).padStart(16,"0");return BigInt("0x"+n).toString(10)}read256(){let t=BigInt(this.read128()),n=BigInt(this.read128()).toString(16)+t.toString(16).padStart(32,"0");return BigInt("0x"+n).toString(10)}readBytes(t){let r=this.bytePosition+this.dataView.byteOffset,n=new Uint8Array(this.dataView.buffer,r,t);return this.shift(t),n}readULEB(){let t=this.bytePosition+this.dataView.byteOffset,r=new Uint8Array(this.dataView.buffer,t),{value:n,length:i}=pn(r);return this.shift(i),n}readVec(t){let r=this.readULEB(),n=[];for(let i=0;i<r;i++)n.push(t(this,i,r));return n}}function mn(e,t){switch(t){case"base58":return xe(e);case"base64":return Ie(e);case"hex":return je(e);default:throw new Error("Unsupported encoding, supported values are: base64, hex")}}function yn(e,t){switch(t){case"base58":return ot(e);case"base64":return ae(e);case"hex":return Ve(e);default:throw new Error("Unsupported encoding, supported values are: base64, hex")}}function rr(e,t=["<",">"]){const[r,n]=t,i=[];let s="",a=0;for(let o=0;o<e.length;o++){const u=e[o];if(u===r&&a++,u===n&&a--,a===0&&u===","){i.push(s.trim()),s="";continue}s+=u}return i.push(s.trim()),i}class nr{constructor({size:t=1024,maxSize:r,allocateSize:n=1024}={}){this.bytePosition=0,this.size=t,this.maxSize=r||t,this.allocateSize=n,this.dataView=new DataView(new ArrayBuffer(t))}ensureSizeOrGrow(t){const r=this.bytePosition+t;if(r>this.size){const n=Math.min(this.maxSize,this.size+this.allocateSize);if(r>n)throw new Error(`Attempting to serialize to BCS, but buffer does not have enough size. Allocated size: ${this.size}, Max size: ${this.maxSize}, Required size: ${r}`);this.size=n;const i=new ArrayBuffer(this.size);new Uint8Array(i).set(new Uint8Array(this.dataView.buffer)),this.dataView=new DataView(i)}}shift(t){return this.bytePosition+=t,this}write8(t){return this.ensureSizeOrGrow(1),this.dataView.setUint8(this.bytePosition,Number(t)),this.shift(1)}write16(t){return this.ensureSizeOrGrow(2),this.dataView.setUint16(this.bytePosition,Number(t),!0),this.shift(2)}write32(t){return this.ensureSizeOrGrow(4),this.dataView.setUint32(this.bytePosition,Number(t),!0),this.shift(4)}write64(t){return Le(BigInt(t),8).forEach(r=>this.write8(r)),this}write128(t){return Le(BigInt(t),16).forEach(r=>this.write8(r)),this}write256(t){return Le(BigInt(t),32).forEach(r=>this.write8(r)),this}writeULEB(t){return ct(t).forEach(r=>this.write8(r)),this}writeVec(t,r){return this.writeULEB(t.length),Array.from(t).forEach((n,i)=>r(this,n,i,t.length)),this}*[Symbol.iterator](){for(let t=0;t<this.bytePosition;t++)yield this.dataView.getUint8(t);return this.toBytes()}toBytes(){return new Uint8Array(this.dataView.buffer.slice(0,this.bytePosition))}toString(t){return mn(this.toBytes(),t)}}function Le(e,t){let r=new Uint8Array(t),n=0;for(;e>0;)r[n]=Number(e%BigInt(256)),e=e/BigInt(256),n+=1;return r}var ir=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)},K=(e,t,r)=>(ir(e,t,"read from private field"),r?r.call(e):t.get(e)),Be=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r)},Re=(e,t,r,n)=>(ir(e,t,"write to private field"),t.set(e,r),r),fe,ge,Ce,ie;const sr=class{constructor(e){Be(this,fe,void 0),Be(this,ge,void 0),this.name=e.name,this.read=e.read,this.serializedSize=e.serializedSize??(()=>null),Re(this,fe,e.write),Re(this,ge,e.serialize??((t,r)=>{const n=new nr({size:this.serializedSize(t)??void 0,...r});return K(this,fe).call(this,t,n),n.toBytes()})),this.validate=e.validate??(()=>{})}write(e,t){this.validate(e),K(this,fe).call(this,e,t)}serialize(e,t){return this.validate(e),new wn(this,K(this,ge).call(this,e,t))}parse(e){const t=new tr(e);return this.read(t)}transform({name:e,input:t,output:r}){return new sr({name:e??this.name,read:n=>r(this.read(n)),write:(n,i)=>K(this,fe).call(this,t(n),i),serializedSize:n=>this.serializedSize(t(n)),serialize:(n,i)=>K(this,ge).call(this,t(n),i),validate:n=>this.validate(t(n))})}};let W=sr;fe=new WeakMap;ge=new WeakMap;const ar=Symbol.for("@mysten/serialized-bcs");function ut(e){return!!e&&typeof e=="object"&&e[ar]===!0}class wn{constructor(t,r){Be(this,Ce,void 0),Be(this,ie,void 0),Re(this,Ce,t),Re(this,ie,r)}get[ar](){return!0}toBytes(){return K(this,ie)}toHex(){return je(K(this,ie))}toBase64(){return Ie(K(this,ie))}toBase58(){return xe(K(this,ie))}parse(){return K(this,Ce).parse(K(this,ie))}}Ce=new WeakMap;ie=new WeakMap;function Ne({size:e,...t}){return new W({...t,serializedSize:()=>e})}function Ke({readMethod:e,writeMethod:t,...r}){return Ne({...r,read:n=>n[e](),write:(n,i)=>i[t](n),validate:n=>{var i;if(n<0||n>r.maxValue)throw new TypeError(`Invalid ${r.name} value: ${n}. Expected value in range 0-${r.maxValue}`);(i=r.validate)==null||i.call(r,n)}})}function We({readMethod:e,writeMethod:t,...r}){return Ne({...r,read:n=>n[e](),write:(n,i)=>i[t](BigInt(n)),validate:n=>{var s;const i=BigInt(n);if(i<0||i>r.maxValue)throw new TypeError(`Invalid ${r.name} value: ${i}. Expected value in range 0-${r.maxValue}`);(s=r.validate)==null||s.call(r,i)}})}function bn({serialize:e,...t}){const r=new W({...t,serialize:e,write:(n,i)=>{for(const s of r.serialize(n).toBytes())i.write8(s)}});return r}function Sn({toBytes:e,fromBytes:t,...r}){return new W({...r,read:n=>{const i=n.readULEB(),s=n.readBytes(i);return t(s)},write:(n,i)=>{const s=e(n);i.writeULEB(s.length);for(let a=0;a<s.length;a++)i.write8(s[a])},serialize:n=>{const i=e(n),s=ct(i.length),a=new Uint8Array(s.length+i.length);return a.set(s,0),a.set(i,s.length),a},validate:n=>{var i;if(typeof n!="string")throw new TypeError(`Invalid ${r.name} value: ${n}. Expected string`);(i=r.validate)==null||i.call(r,n)}})}function Tn(e){let t=null;function r(){return t||(t=e()),t}return new W({name:"lazy",read:n=>r().read(n),serializedSize:n=>r().serializedSize(n),write:(n,i)=>r().write(n,i),serialize:(n,i)=>r().serialize(n,i).toBytes()})}const c={u8(e){return Ke({name:"u8",readMethod:"read8",writeMethod:"write8",size:1,maxValue:2**8-1,...e})},u16(e){return Ke({name:"u16",readMethod:"read16",writeMethod:"write16",size:2,maxValue:2**16-1,...e})},u32(e){return Ke({name:"u32",readMethod:"read32",writeMethod:"write32",size:4,maxValue:2**32-1,...e})},u64(e){return We({name:"u64",readMethod:"read64",writeMethod:"write64",size:8,maxValue:2n**64n-1n,...e})},u128(e){return We({name:"u128",readMethod:"read128",writeMethod:"write128",size:16,maxValue:2n**128n-1n,...e})},u256(e){return We({name:"u256",readMethod:"read256",writeMethod:"write256",size:32,maxValue:2n**256n-1n,...e})},bool(e){return Ne({name:"bool",size:1,read:t=>t.read8()===1,write:(t,r)=>r.write8(t?1:0),...e,validate:t=>{var r;if((r=e==null?void 0:e.validate)==null||r.call(e,t),typeof t!="boolean")throw new TypeError(`Expected boolean, found ${typeof t}`)}})},uleb128(e){return bn({name:"uleb128",read:t=>t.readULEB(),serialize:t=>Uint8Array.from(ct(t)),...e})},bytes(e,t){return Ne({name:`bytes[${e}]`,size:e,read:r=>r.readBytes(e),write:(r,n)=>{for(let i=0;i<e;i++)n.write8(r[i]??0)},...t,validate:r=>{var n;if((n=t==null?void 0:t.validate)==null||n.call(t,r),!("length"in r))throw new TypeError(`Expected array, found ${typeof r}`);if(r.length!==e)throw new TypeError(`Expected array of length ${e}, found ${r.length}`)}})},string(e){return Sn({name:"string",toBytes:t=>new TextEncoder().encode(t),fromBytes:t=>new TextDecoder().decode(t),...e})},fixedArray(e,t,r){return new W({name:`${t.name}[${e}]`,read:n=>{const i=new Array(e);for(let s=0;s<e;s++)i[s]=t.read(n);return i},write:(n,i)=>{for(const s of n)t.write(s,i)},...r,validate:n=>{var i;if((i=r==null?void 0:r.validate)==null||i.call(r,n),!("length"in n))throw new TypeError(`Expected array, found ${typeof n}`);if(n.length!==e)throw new TypeError(`Expected array of length ${e}, found ${n.length}`)}})},option(e){return c.enum(`Option<${e.name}>`,{None:null,Some:e}).transform({input:t=>t==null?{None:!0}:{Some:t},output:t=>"Some"in t?t.Some:null})},vector(e,t){return new W({name:`vector<${e.name}>`,read:r=>{const n=r.readULEB(),i=new Array(n);for(let s=0;s<n;s++)i[s]=e.read(r);return i},write:(r,n)=>{n.writeULEB(r.length);for(const i of r)e.write(i,n)},...t,validate:r=>{var n;if((n=t==null?void 0:t.validate)==null||n.call(t,r),!("length"in r))throw new TypeError(`Expected array, found ${typeof r}`)}})},tuple(e,t){return new W({name:`(${e.map(r=>r.name).join(", ")})`,serializedSize:r=>{let n=0;for(let i=0;i<e.length;i++){const s=e[i].serializedSize(r[i]);if(s==null)return null;n+=s}return n},read:r=>{const n=[];for(const i of e)n.push(i.read(r));return n},write:(r,n)=>{for(let i=0;i<e.length;i++)e[i].write(r[i],n)},...t,validate:r=>{var n;if((n=t==null?void 0:t.validate)==null||n.call(t,r),!Array.isArray(r))throw new TypeError(`Expected array, found ${typeof r}`);if(r.length!==e.length)throw new TypeError(`Expected array of length ${e.length}, found ${r.length}`)}})},struct(e,t,r){const n=Object.entries(t);return new W({name:e,serializedSize:i=>{let s=0;for(const[a,o]of n){const u=o.serializedSize(i[a]);if(u==null)return null;s+=u}return s},read:i=>{const s={};for(const[a,o]of n)s[a]=o.read(i);return s},write:(i,s)=>{for(const[a,o]of n)o.write(i[a],s)},...r,validate:i=>{var s;if((s=r==null?void 0:r.validate)==null||s.call(r,i),typeof i!="object"||i==null)throw new TypeError(`Expected object, found ${typeof i}`)}})},enum(e,t,r){const n=Object.entries(t);return new W({name:e,read:i=>{const s=i.readULEB(),[a,o]=n[s];return{[a]:(o==null?void 0:o.read(i))??!0}},write:(i,s)=>{const[a,o]=Object.entries(i)[0];for(let u=0;u<n.length;u++){const[d,l]=n[u];if(d===a){s.writeULEB(u),l==null||l.write(o,s);return}}},...r,validate:i=>{var o;if((o=r==null?void 0:r.validate)==null||o.call(r,i),typeof i!="object"||i==null)throw new TypeError(`Expected object, found ${typeof i}`);const s=Object.keys(i);if(s.length!==1)throw new TypeError(`Expected object with one key, found ${s.length}`);const[a]=s;if(!Object.hasOwn(t,a))throw new TypeError(`Invalid enum variant ${a}`)}})},map(e,t){return c.vector(c.tuple([e,t])).transform({name:`Map<${e.name}, ${t.name}>`,input:r=>[...r.entries()],output:r=>{const n=new Map;for(const[i,s]of r)n.set(i,s);return n}})},generic(e,t){return(...r)=>t(...r).transform({name:`${t.name}<${r.map(n=>n.name).join(", ")}>`,input:n=>n,output:n=>n})},lazy(e){return Tn(e)}},vn=32,pe=class{constructor(e){if(this.types=new Map,this.counter=0,e instanceof pe){this.schema=e.schema,this.types=new Map(e.types);return}if(this.schema=e,this.registerAddressType(pe.ADDRESS,e.addressLength,e.addressEncoding),this.registerVectorType(e.vectorType),e.types&&e.types.structs)for(let t of Object.keys(e.types.structs))this.registerStructType(t,e.types.structs[t]);if(e.types&&e.types.enums)for(let t of Object.keys(e.types.enums))this.registerEnumType(t,e.types.enums[t]);if(e.types&&e.types.aliases)for(let t of Object.keys(e.types.aliases))this.registerAlias(t,e.types.aliases[t]);e.withPrimitives!==!1&&En(this)}tempKey(){return`bcs-struct-${++this.counter}`}ser(e,t,r){if(typeof e=="string"||Array.isArray(e)){const{name:n,params:i}=this.parseTypeName(e);return this.getTypeInterface(n).encode(this,t,r,i)}if(typeof e=="object"){const n=this.tempKey();return new pe(this).registerStructType(n,e).ser(n,t,r)}throw new Error(`Incorrect type passed into the '.ser()' function.
|
|
1
|
+
var Er=Object.defineProperty;var xr=(e,t,r)=>t in e?Er(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var F=(e,t,r)=>xr(e,typeof t!="symbol"?t+"":t,r);import{M as Ir,aL as jr,cH as Or,bV as Ar,bT as kr,bU as Bt,ab as _r,bW as Rt,bJ as Cr}from"../main.js";import{S as Nt,u as Pt}from"./sui-BXAKH3nv.js";import{S as $r}from"./unsignedTransaction-arVvzoJx.js";import"./index-iG_7aUsO.js";class Mr extends TypeError{constructor(t,r){let n;const{message:i,explanation:s,...a}=t,{path:o}=t,u=o.length===0?i:`At path: ${o.join(".")} -- ${i}`;super(s??u),s!=null&&(this.cause=u),Object.assign(this,a),this.name=this.constructor.name,this.failures=()=>n??(n=[t,...r()])}}function Ur(e){return z(e)&&typeof e[Symbol.iterator]=="function"}function z(e){return typeof e=="object"&&e!=null}function V(e){return typeof e=="symbol"?e.toString():typeof e=="string"?JSON.stringify(e):`${e}`}function Br(e){const{done:t,value:r}=e.next();return t?void 0:r}function Rr(e,t,r,n){if(e===!0)return;e===!1?e={}:typeof e=="string"&&(e={message:e});const{path:i,branch:s}=t,{type:a}=r,{refinement:o,message:u=`Expected a value of type \`${a}\`${o?` with refinement \`${o}\``:""}, but received: \`${V(n)}\``}=e;return{value:n,type:a,refinement:o,key:i[i.length-1],path:i,branch:s,...e,message:u}}function*Dt(e,t,r,n){Ur(e)||(e=[e]);for(const i of e){const s=Rr(i,t,r,n);s&&(yield s)}}function*nt(e,t,r={}){const{path:n=[],branch:i=[e],coerce:s=!1,mask:a=!1}=r,o={path:n,branch:i};if(s&&(e=t.coercer(e,o),a&&t.type!=="type"&&z(t.schema)&&z(e)&&!Array.isArray(e)))for(const d in e)t.schema[d]===void 0&&delete e[d];let u="valid";for(const d of t.validator(e,o))d.explanation=r.message,u="not_valid",yield[d,void 0];for(let[d,l,g]of t.entries(e,o)){const m=nt(l,g,{path:d===void 0?n:[...n,d],branch:d===void 0?i:[...i,l],coerce:s,mask:a,message:r.message});for(const p of m)p[0]?(u=p[0].refinement!=null?"not_refined":"not_valid",yield[p[0],void 0]):s&&(l=p[1],d===void 0?e=l:e instanceof Map?e.set(d,l):e instanceof Set?e.add(l):z(e)&&(l!==void 0||d in e)&&(e[d]=l))}if(u!=="not_valid")for(const d of t.refiner(e,o))d.explanation=r.message,u="not_refined",yield[d,void 0];u==="valid"&&(yield[void 0,e])}class Z{constructor(t){const{type:r,schema:n,validator:i,refiner:s,coercer:a=u=>u,entries:o=function*(){}}=t;this.type=r,this.schema=n,this.entries=o,this.coercer=a,i?this.validator=(u,d)=>{const l=i(u,d);return Dt(l,d,this,u)}:this.validator=()=>[],s?this.refiner=(u,d)=>{const l=s(u,d);return Dt(l,d,this,u)}:this.refiner=()=>[]}assert(t,r){return qe(t,this,r)}create(t,r){return Lt(t,this,r)}is(t){return N(t,this)}mask(t,r){return Kt(t,this,r)}validate(t,r={}){return Ee(t,this,r)}}function qe(e,t,r){const n=Ee(e,t,{message:r});if(n[0])throw n[0]}function Lt(e,t,r){const n=Ee(e,t,{coerce:!0,message:r});if(n[0])throw n[0];return n[1]}function Kt(e,t,r){const n=Ee(e,t,{coerce:!0,mask:!0,message:r});if(n[0])throw n[0];return n[1]}function N(e,t){return!Ee(e,t)[0]}function Ee(e,t,r={}){const n=nt(e,t,r),i=Br(n);return i[0]?[new Mr(i[0],function*(){for(const a of n)a[0]&&(yield a[0])}),void 0]:[void 0,i[1]]}function we(...e){const t=e[0].type==="type",r=e.map(i=>i.schema),n=Object.assign({},...r);return t?Pr(n):h(n)}function P(e,t){return new Z({type:e,schema:null,validator:t})}function Ze(){return P("any",()=>!0)}function v(e){return new Z({type:"array",schema:e,*entries(t){if(e&&Array.isArray(t))for(const[r,n]of t.entries())yield[r,n,e]},coercer(t){return Array.isArray(t)?t.slice():t},validator(t){return Array.isArray(t)||`Expected an array value, but received: ${V(t)}`}})}function Nr(){return P("bigint",e=>typeof e=="bigint")}function U(){return P("boolean",e=>typeof e=="boolean")}function q(){return P("integer",e=>typeof e=="number"&&!isNaN(e)&&Number.isInteger(e)||`Expected an integer, but received: ${V(e)}`)}function b(e){const t=V(e),r=typeof e;return new Z({type:"literal",schema:r==="string"||r==="number"||r==="boolean"?e:null,validator(n){return n===e||`Expected the literal \`${t}\`, but received: ${V(n)}`}})}function Wt(){return P("never",()=>!1)}function O(e){return new Z({...e,validator:(t,r)=>t===null||e.validator(t,r),refiner:(t,r)=>t===null||e.refiner(t,r)})}function ue(){return P("number",e=>typeof e=="number"&&!isNaN(e)||`Expected a number, but received: ${V(e)}`)}function h(e){const t=e?Object.keys(e):[],r=Wt();return new Z({type:"object",schema:e||null,*entries(n){if(e&&z(n)){const i=new Set(Object.keys(n));for(const s of t)i.delete(s),yield[s,n[s],e[s]];for(const s of i)yield[s,n[s],r]}},validator(n){return z(n)||`Expected an object, but received: ${V(n)}`},coercer(n){return z(n)?{...n}:n}})}function w(e){return new Z({...e,validator:(t,r)=>t===void 0||e.validator(t,r),refiner:(t,r)=>t===void 0||e.refiner(t,r)})}function H(e,t){return new Z({type:"record",schema:null,*entries(r){if(z(r))for(const n in r){const i=r[n];yield[n,n,e],yield[n,i,t]}},validator(r){return z(r)||`Expected an object, but received: ${V(r)}`}})}function f(){return P("string",e=>typeof e=="string"||`Expected a string, but received: ${V(e)}`)}function Jt(e){const t=Wt();return new Z({type:"tuple",schema:null,*entries(r){if(Array.isArray(r)){const n=Math.max(e.length,r.length);for(let i=0;i<n;i++)yield[i,r[i],e[i]||t]}},validator(r){return Array.isArray(r)||`Expected an array, but received: ${V(r)}`}})}function Pr(e){const t=Object.keys(e);return new Z({type:"type",schema:e,*entries(r){if(z(r))for(const n of t)yield[n,r[n],e[n]]},validator(r){return z(r)||`Expected an object, but received: ${V(r)}`},coercer(r){return z(r)?{...r}:r}})}function k(e){const t=e.map(r=>r.type).join(" | ");return new Z({type:"union",schema:null,coercer(r){for(const n of e){const[i,s]=n.validate(r,{coerce:!0});if(!i)return s}return r},validator(r,n){const i=[];for(const s of e){const[...a]=nt(r,s,n),[o]=a;if(o[0])for(const[u]of a)u&&i.push(u);else return[]}return[`Expected the value to satisfy a union of \`${t}\`, but received: ${V(r)}`,...i]}})}function Ht(){return P("unknown",()=>!0)}const it=k([h({AddressOwner:f()}),h({ObjectOwner:f()}),h({Shared:h({initial_shared_version:O(f())})}),b("Immutable")]);P("SuiJsonValue",()=>!0);const Dr=k([h({u32:f()}),h({u64:f()}),h({f64:f()})]);h({attributes:H(f(),O(Dr)),featureFlags:H(f(),U()),maxSupportedProtocolVersion:f(),minSupportedProtocolVersion:f(),protocolVersion:f()});k([f(),b("package")]);const se=h({digest:f(),objectId:f(),version:k([ue(),f(),Nr()])});h({owner:it,reference:se});h({objectId:f(),sequenceNumber:f()});h({payment:v(se),owner:f(),price:f(),budget:f()});const zr=we(se,h({type:f(),owner:it,previousTransaction:f()})),Vr=H(f(),Ze()),Gr=H(f(),Ht()),Fr=h({type:f(),fields:Vr,hasPublicTransfer:U()}),Lr=h({disassembled:Gr}),Kr=k([we(Fr,h({dataType:b("moveObject")})),we(Lr,h({dataType:b("package")}))]),Wr=h({type:f(),hasPublicTransfer:U(),version:f(),bcsBytes:f()}),Jr=h({id:f(),moduleMap:H(f(),f())}),Hr=k([we(Wr,h({dataType:b("moveObject")})),we(Jr,h({dataType:b("package")}))]);BigInt(1e9);const Xt=h({code:f(),error:w(f()),object_id:w(f()),parent_object_id:w(f()),version:w(f()),digest:w(f())}),Xr=h({data:O(w(H(f(),f()))),error:O(w(Xt))}),qr=k([Xr,w(H(f(),f()))]),qt=h({objectId:f(),version:f(),digest:f(),type:O(w(f())),content:O(w(Kr)),bcs:O(w(Hr)),owner:O(w(it)),previousTransaction:O(w(f())),storageRebate:O(w(f())),display:O(w(qr))});h({showType:O(w(U())),showContent:O(w(U())),showBcs:O(w(U())),showOwner:O(w(U())),showPreviousTransaction:O(w(U())),showStorageRebate:O(w(U())),showDisplay:O(w(U()))});k([b("Exists"),b("notExists"),b("Deleted")]);v(zr);const Zr=h({data:O(w(qt)),error:O(w(Xt))});function Yr(e){return e.data}function Qr(e){if(e.error&&"object_id"in e.error&&"version"in e.error&&"digest"in e.error){const t=e.error;return{objectId:t.object_id,version:t.version,digest:t.digest}}}function zt(e){if("reference"in e)return e.reference;const t=Yr(e);return t?{objectId:t.objectId,version:t.version,digest:t.digest}:Qr(e)}h({objectId:f(),atCheckpoint:w(ue())});h({data:v(Zr),nextCursor:w(O(f())),hasNextPage:U()});k([h({details:qt,status:b("VersionFound")}),h({details:f(),status:b("ObjectNotExists")}),h({details:se,status:b("ObjectDeleted")}),h({details:Jt([f(),ue()]),status:b("VersionNotFound")}),h({details:h({asked_version:ue(),latest_version:ue(),object_id:f()}),status:b("VersionTooHigh")})]);const en=k([f(),h({Object:f()})]);v(en);const tn=h({address:f(),name:f()}),rn=k([b("Private"),b("Public"),b("Friend")]),st=h({abilities:v(f())}),nn=h({constraints:st,isPhantom:U()}),sn=h({TypeParameter:ue()}),Ge=Jt([h({module:f(),package:f(),function:f()}),f()]);h({rank3Days:v(Ge),rank7Days:v(Ge),rank30Days:v(Ge)});function Zt(e){if(!e)return!1;if(typeof e=="string"||N(e,sn)||Yt(e))return!0;if(typeof e!="object")return!1;const t=e;return!!(N(t.Reference,le)||N(t.MutableReference,le)||N(t.Vector,le))}const le=P("SuiMoveNormalizedType",Zt);function Yt(e){if(!e||typeof e!="object")return!1;const t=e;if(!t.Struct||typeof t.Struct!="object")return!1;const r=t.Struct;return!(typeof r.address!="string"||typeof r.module!="string"||typeof r.name!="string"||!Array.isArray(r.typeArguments)||!r.typeArguments.every(n=>Zt(n)))}P("SuiMoveNormalizedStructType",Yt);const an=h({visibility:rn,isEntry:U(),typeParameters:v(st),parameters:v(le),return:v(le)}),on=h({name:f(),type:le}),cn=h({abilities:st,typeParameters:v(nn),fields:v(on)}),un=h({fileFormatVersion:ue(),address:f(),name:f(),friends:v(tn),structs:H(f(),cn),exposedFunctions:H(f(),an)});H(f(),un);function Ye(e){return typeof e=="object"&&"MutableReference"in e?e.MutableReference:void 0}function Qt(e){return typeof e=="object"&&"Reference"in e?e.Reference:void 0}function at(e){if(typeof e=="object"&&"Struct"in e)return e;const t=Qt(e),r=Ye(e);if(typeof t=="object"&&"Struct"in t)return t;if(typeof r=="object"&&"Struct"in r)return r}function dn(e){if(e.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),r=0;r<t.length;r++)t[r]=255;for(var n=0;n<e.length;n++){var i=e.charAt(n),s=i.charCodeAt(0);if(t[s]!==255)throw new TypeError(i+" is ambiguous");t[s]=n}var a=e.length,o=e.charAt(0),u=Math.log(a)/Math.log(256),d=Math.log(256)/Math.log(a);function l(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var y=0,S=0,E=0,A=p.length;E!==A&&p[E]===0;)E++,y++;for(var _=(A-E)*d+1>>>0,D=new Uint8Array(_);E!==A;){for(var X=p[E],ne=0,G=_-1;(X!==0||ne<S)&&G!==-1;G--,ne++)X+=256*D[G]>>>0,D[G]=X%a>>>0,X=X/a>>>0;if(X!==0)throw new Error("Non-zero carry");S=ne,E++}for(var Y=_-S;Y!==_&&D[Y]===0;)Y++;for(var Oe=o.repeat(y);Y<_;++Y)Oe+=e.charAt(D[Y]);return Oe}function g(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;for(var y=0,S=0,E=0;p[y]===o;)S++,y++;for(var A=(p.length-y)*u+1>>>0,_=new Uint8Array(A);p[y];){var D=t[p.charCodeAt(y)];if(D===255)return;for(var X=0,ne=A-1;(D!==0||X<E)&&ne!==-1;ne--,X++)D+=a*_[ne]>>>0,_[ne]=D%256>>>0,D=D/256>>>0;if(D!==0)throw new Error("Non-zero carry");E=X,y++}for(var G=A-E;G!==A&&_[G]===0;)G++;for(var Y=new Uint8Array(S+(A-G)),Oe=S;G!==A;)Y[Oe++]=_[G++];return Y}function m(p){var y=g(p);if(y)return y;throw new Error("Non-base"+a+" character")}return{encode:l,decodeUnsafe:g,decode:m}}var fn=dn;const ln=fn,hn="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";var gn=ln(hn);const er=Ir(gn),xe=e=>er.encode(e),ot=e=>er.decode(e);function ae(e){return Uint8Array.from(atob(e),t=>t.charCodeAt(0))}const Fe=8192;function Ie(e){if(e.length<Fe)return btoa(String.fromCharCode(...e));let t="";for(var r=0;r<e.length;r+=Fe){const n=e.slice(r,r+Fe);t+=String.fromCharCode(...n)}return btoa(t)}function Ve(e){var i;const t=e.startsWith("0x")?e.slice(2):e,n=((i=(t.length%2===0?t:`0${t}}`).match(/.{2}/g))==null?void 0:i.map(s=>parseInt(s,16)))??[];return Uint8Array.from(n)}function je(e){return e.reduce((t,r)=>t+r.toString(16).padStart(2,"0"),"")}function ct(e){let t=[],r=0;if(e===0)return[0];for(;e>0;)t[r]=e&127,(e>>=7)&&(t[r]|=128),r+=1;return t}function pn(e){let t=0,r=0,n=0;for(;;){let i=e[n];if(n+=1,t|=(i&127)<<r,!(i&128))break;r+=7}return{value:t,length:n}}class tr{constructor(t){this.bytePosition=0,this.dataView=new DataView(t.buffer)}shift(t){return this.bytePosition+=t,this}read8(){let t=this.dataView.getUint8(this.bytePosition);return this.shift(1),t}read16(){let t=this.dataView.getUint16(this.bytePosition,!0);return this.shift(2),t}read32(){let t=this.dataView.getUint32(this.bytePosition,!0);return this.shift(4),t}read64(){let t=this.read32(),n=this.read32().toString(16)+t.toString(16).padStart(8,"0");return BigInt("0x"+n).toString(10)}read128(){let t=BigInt(this.read64()),n=BigInt(this.read64()).toString(16)+t.toString(16).padStart(16,"0");return BigInt("0x"+n).toString(10)}read256(){let t=BigInt(this.read128()),n=BigInt(this.read128()).toString(16)+t.toString(16).padStart(32,"0");return BigInt("0x"+n).toString(10)}readBytes(t){let r=this.bytePosition+this.dataView.byteOffset,n=new Uint8Array(this.dataView.buffer,r,t);return this.shift(t),n}readULEB(){let t=this.bytePosition+this.dataView.byteOffset,r=new Uint8Array(this.dataView.buffer,t),{value:n,length:i}=pn(r);return this.shift(i),n}readVec(t){let r=this.readULEB(),n=[];for(let i=0;i<r;i++)n.push(t(this,i,r));return n}}function mn(e,t){switch(t){case"base58":return xe(e);case"base64":return Ie(e);case"hex":return je(e);default:throw new Error("Unsupported encoding, supported values are: base64, hex")}}function yn(e,t){switch(t){case"base58":return ot(e);case"base64":return ae(e);case"hex":return Ve(e);default:throw new Error("Unsupported encoding, supported values are: base64, hex")}}function rr(e,t=["<",">"]){const[r,n]=t,i=[];let s="",a=0;for(let o=0;o<e.length;o++){const u=e[o];if(u===r&&a++,u===n&&a--,a===0&&u===","){i.push(s.trim()),s="";continue}s+=u}return i.push(s.trim()),i}class nr{constructor({size:t=1024,maxSize:r,allocateSize:n=1024}={}){this.bytePosition=0,this.size=t,this.maxSize=r||t,this.allocateSize=n,this.dataView=new DataView(new ArrayBuffer(t))}ensureSizeOrGrow(t){const r=this.bytePosition+t;if(r>this.size){const n=Math.min(this.maxSize,this.size+this.allocateSize);if(r>n)throw new Error(`Attempting to serialize to BCS, but buffer does not have enough size. Allocated size: ${this.size}, Max size: ${this.maxSize}, Required size: ${r}`);this.size=n;const i=new ArrayBuffer(this.size);new Uint8Array(i).set(new Uint8Array(this.dataView.buffer)),this.dataView=new DataView(i)}}shift(t){return this.bytePosition+=t,this}write8(t){return this.ensureSizeOrGrow(1),this.dataView.setUint8(this.bytePosition,Number(t)),this.shift(1)}write16(t){return this.ensureSizeOrGrow(2),this.dataView.setUint16(this.bytePosition,Number(t),!0),this.shift(2)}write32(t){return this.ensureSizeOrGrow(4),this.dataView.setUint32(this.bytePosition,Number(t),!0),this.shift(4)}write64(t){return Le(BigInt(t),8).forEach(r=>this.write8(r)),this}write128(t){return Le(BigInt(t),16).forEach(r=>this.write8(r)),this}write256(t){return Le(BigInt(t),32).forEach(r=>this.write8(r)),this}writeULEB(t){return ct(t).forEach(r=>this.write8(r)),this}writeVec(t,r){return this.writeULEB(t.length),Array.from(t).forEach((n,i)=>r(this,n,i,t.length)),this}*[Symbol.iterator](){for(let t=0;t<this.bytePosition;t++)yield this.dataView.getUint8(t);return this.toBytes()}toBytes(){return new Uint8Array(this.dataView.buffer.slice(0,this.bytePosition))}toString(t){return mn(this.toBytes(),t)}}function Le(e,t){let r=new Uint8Array(t),n=0;for(;e>0;)r[n]=Number(e%BigInt(256)),e=e/BigInt(256),n+=1;return r}var ir=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)},K=(e,t,r)=>(ir(e,t,"read from private field"),r?r.call(e):t.get(e)),Be=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r)},Re=(e,t,r,n)=>(ir(e,t,"write to private field"),t.set(e,r),r),fe,ge,Ce,ie;const sr=class{constructor(e){Be(this,fe,void 0),Be(this,ge,void 0),this.name=e.name,this.read=e.read,this.serializedSize=e.serializedSize??(()=>null),Re(this,fe,e.write),Re(this,ge,e.serialize??((t,r)=>{const n=new nr({size:this.serializedSize(t)??void 0,...r});return K(this,fe).call(this,t,n),n.toBytes()})),this.validate=e.validate??(()=>{})}write(e,t){this.validate(e),K(this,fe).call(this,e,t)}serialize(e,t){return this.validate(e),new wn(this,K(this,ge).call(this,e,t))}parse(e){const t=new tr(e);return this.read(t)}transform({name:e,input:t,output:r}){return new sr({name:e??this.name,read:n=>r(this.read(n)),write:(n,i)=>K(this,fe).call(this,t(n),i),serializedSize:n=>this.serializedSize(t(n)),serialize:(n,i)=>K(this,ge).call(this,t(n),i),validate:n=>this.validate(t(n))})}};let W=sr;fe=new WeakMap;ge=new WeakMap;const ar=Symbol.for("@mysten/serialized-bcs");function ut(e){return!!e&&typeof e=="object"&&e[ar]===!0}class wn{constructor(t,r){Be(this,Ce,void 0),Be(this,ie,void 0),Re(this,Ce,t),Re(this,ie,r)}get[ar](){return!0}toBytes(){return K(this,ie)}toHex(){return je(K(this,ie))}toBase64(){return Ie(K(this,ie))}toBase58(){return xe(K(this,ie))}parse(){return K(this,Ce).parse(K(this,ie))}}Ce=new WeakMap;ie=new WeakMap;function Ne({size:e,...t}){return new W({...t,serializedSize:()=>e})}function Ke({readMethod:e,writeMethod:t,...r}){return Ne({...r,read:n=>n[e](),write:(n,i)=>i[t](n),validate:n=>{var i;if(n<0||n>r.maxValue)throw new TypeError(`Invalid ${r.name} value: ${n}. Expected value in range 0-${r.maxValue}`);(i=r.validate)==null||i.call(r,n)}})}function We({readMethod:e,writeMethod:t,...r}){return Ne({...r,read:n=>n[e](),write:(n,i)=>i[t](BigInt(n)),validate:n=>{var s;const i=BigInt(n);if(i<0||i>r.maxValue)throw new TypeError(`Invalid ${r.name} value: ${i}. Expected value in range 0-${r.maxValue}`);(s=r.validate)==null||s.call(r,i)}})}function bn({serialize:e,...t}){const r=new W({...t,serialize:e,write:(n,i)=>{for(const s of r.serialize(n).toBytes())i.write8(s)}});return r}function Sn({toBytes:e,fromBytes:t,...r}){return new W({...r,read:n=>{const i=n.readULEB(),s=n.readBytes(i);return t(s)},write:(n,i)=>{const s=e(n);i.writeULEB(s.length);for(let a=0;a<s.length;a++)i.write8(s[a])},serialize:n=>{const i=e(n),s=ct(i.length),a=new Uint8Array(s.length+i.length);return a.set(s,0),a.set(i,s.length),a},validate:n=>{var i;if(typeof n!="string")throw new TypeError(`Invalid ${r.name} value: ${n}. Expected string`);(i=r.validate)==null||i.call(r,n)}})}function Tn(e){let t=null;function r(){return t||(t=e()),t}return new W({name:"lazy",read:n=>r().read(n),serializedSize:n=>r().serializedSize(n),write:(n,i)=>r().write(n,i),serialize:(n,i)=>r().serialize(n,i).toBytes()})}const c={u8(e){return Ke({name:"u8",readMethod:"read8",writeMethod:"write8",size:1,maxValue:2**8-1,...e})},u16(e){return Ke({name:"u16",readMethod:"read16",writeMethod:"write16",size:2,maxValue:2**16-1,...e})},u32(e){return Ke({name:"u32",readMethod:"read32",writeMethod:"write32",size:4,maxValue:2**32-1,...e})},u64(e){return We({name:"u64",readMethod:"read64",writeMethod:"write64",size:8,maxValue:2n**64n-1n,...e})},u128(e){return We({name:"u128",readMethod:"read128",writeMethod:"write128",size:16,maxValue:2n**128n-1n,...e})},u256(e){return We({name:"u256",readMethod:"read256",writeMethod:"write256",size:32,maxValue:2n**256n-1n,...e})},bool(e){return Ne({name:"bool",size:1,read:t=>t.read8()===1,write:(t,r)=>r.write8(t?1:0),...e,validate:t=>{var r;if((r=e==null?void 0:e.validate)==null||r.call(e,t),typeof t!="boolean")throw new TypeError(`Expected boolean, found ${typeof t}`)}})},uleb128(e){return bn({name:"uleb128",read:t=>t.readULEB(),serialize:t=>Uint8Array.from(ct(t)),...e})},bytes(e,t){return Ne({name:`bytes[${e}]`,size:e,read:r=>r.readBytes(e),write:(r,n)=>{for(let i=0;i<e;i++)n.write8(r[i]??0)},...t,validate:r=>{var n;if((n=t==null?void 0:t.validate)==null||n.call(t,r),!("length"in r))throw new TypeError(`Expected array, found ${typeof r}`);if(r.length!==e)throw new TypeError(`Expected array of length ${e}, found ${r.length}`)}})},string(e){return Sn({name:"string",toBytes:t=>new TextEncoder().encode(t),fromBytes:t=>new TextDecoder().decode(t),...e})},fixedArray(e,t,r){return new W({name:`${t.name}[${e}]`,read:n=>{const i=new Array(e);for(let s=0;s<e;s++)i[s]=t.read(n);return i},write:(n,i)=>{for(const s of n)t.write(s,i)},...r,validate:n=>{var i;if((i=r==null?void 0:r.validate)==null||i.call(r,n),!("length"in n))throw new TypeError(`Expected array, found ${typeof n}`);if(n.length!==e)throw new TypeError(`Expected array of length ${e}, found ${n.length}`)}})},option(e){return c.enum(`Option<${e.name}>`,{None:null,Some:e}).transform({input:t=>t==null?{None:!0}:{Some:t},output:t=>"Some"in t?t.Some:null})},vector(e,t){return new W({name:`vector<${e.name}>`,read:r=>{const n=r.readULEB(),i=new Array(n);for(let s=0;s<n;s++)i[s]=e.read(r);return i},write:(r,n)=>{n.writeULEB(r.length);for(const i of r)e.write(i,n)},...t,validate:r=>{var n;if((n=t==null?void 0:t.validate)==null||n.call(t,r),!("length"in r))throw new TypeError(`Expected array, found ${typeof r}`)}})},tuple(e,t){return new W({name:`(${e.map(r=>r.name).join(", ")})`,serializedSize:r=>{let n=0;for(let i=0;i<e.length;i++){const s=e[i].serializedSize(r[i]);if(s==null)return null;n+=s}return n},read:r=>{const n=[];for(const i of e)n.push(i.read(r));return n},write:(r,n)=>{for(let i=0;i<e.length;i++)e[i].write(r[i],n)},...t,validate:r=>{var n;if((n=t==null?void 0:t.validate)==null||n.call(t,r),!Array.isArray(r))throw new TypeError(`Expected array, found ${typeof r}`);if(r.length!==e.length)throw new TypeError(`Expected array of length ${e.length}, found ${r.length}`)}})},struct(e,t,r){const n=Object.entries(t);return new W({name:e,serializedSize:i=>{let s=0;for(const[a,o]of n){const u=o.serializedSize(i[a]);if(u==null)return null;s+=u}return s},read:i=>{const s={};for(const[a,o]of n)s[a]=o.read(i);return s},write:(i,s)=>{for(const[a,o]of n)o.write(i[a],s)},...r,validate:i=>{var s;if((s=r==null?void 0:r.validate)==null||s.call(r,i),typeof i!="object"||i==null)throw new TypeError(`Expected object, found ${typeof i}`)}})},enum(e,t,r){const n=Object.entries(t);return new W({name:e,read:i=>{const s=i.readULEB(),[a,o]=n[s];return{[a]:(o==null?void 0:o.read(i))??!0}},write:(i,s)=>{const[a,o]=Object.entries(i)[0];for(let u=0;u<n.length;u++){const[d,l]=n[u];if(d===a){s.writeULEB(u),l==null||l.write(o,s);return}}},...r,validate:i=>{var o;if((o=r==null?void 0:r.validate)==null||o.call(r,i),typeof i!="object"||i==null)throw new TypeError(`Expected object, found ${typeof i}`);const s=Object.keys(i);if(s.length!==1)throw new TypeError(`Expected object with one key, found ${s.length}`);const[a]=s;if(!Object.hasOwn(t,a))throw new TypeError(`Invalid enum variant ${a}`)}})},map(e,t){return c.vector(c.tuple([e,t])).transform({name:`Map<${e.name}, ${t.name}>`,input:r=>[...r.entries()],output:r=>{const n=new Map;for(const[i,s]of r)n.set(i,s);return n}})},generic(e,t){return(...r)=>t(...r).transform({name:`${t.name}<${r.map(n=>n.name).join(", ")}>`,input:n=>n,output:n=>n})},lazy(e){return Tn(e)}},vn=32,pe=class{constructor(e){if(this.types=new Map,this.counter=0,e instanceof pe){this.schema=e.schema,this.types=new Map(e.types);return}if(this.schema=e,this.registerAddressType(pe.ADDRESS,e.addressLength,e.addressEncoding),this.registerVectorType(e.vectorType),e.types&&e.types.structs)for(let t of Object.keys(e.types.structs))this.registerStructType(t,e.types.structs[t]);if(e.types&&e.types.enums)for(let t of Object.keys(e.types.enums))this.registerEnumType(t,e.types.enums[t]);if(e.types&&e.types.aliases)for(let t of Object.keys(e.types.aliases))this.registerAlias(t,e.types.aliases[t]);e.withPrimitives!==!1&&En(this)}tempKey(){return`bcs-struct-${++this.counter}`}ser(e,t,r){if(typeof e=="string"||Array.isArray(e)){const{name:n,params:i}=this.parseTypeName(e);return this.getTypeInterface(n).encode(this,t,r,i)}if(typeof e=="object"){const n=this.tempKey();return new pe(this).registerStructType(n,e).ser(n,t,r)}throw new Error(`Incorrect type passed into the '.ser()' function.
|
|
2
2
|
${JSON.stringify(e)}`)}de(e,t,r){if(typeof t=="string")if(r)t=yn(t,r);else throw new Error("To pass a string to `bcs.de`, specify encoding");if(typeof e=="string"||Array.isArray(e)){const{name:n,params:i}=this.parseTypeName(e);return this.getTypeInterface(n).decode(this,t,i)}if(typeof e=="object"){const n=new pe(this),i=this.tempKey();return n.registerStructType(i,e).de(i,t,r)}throw new Error(`Incorrect type passed into the '.de()' function.
|
|
3
3
|
${JSON.stringify(e)}`)}hasType(e){return this.types.has(e)}registerAlias(e,t){return this.types.set(e,t),this}registerType(e,t,r,n=()=>!0){const{name:i,params:s}=this.parseTypeName(e);return this.types.set(i,{encode(a,o,u,d){const l=s.reduce((g,m,p)=>Object.assign(g,{[m]:d[p]}),{});return this._encodeRaw.call(a,new nr(u),o,d,l)},decode(a,o,u){const d=s.reduce((l,g,m)=>Object.assign(l,{[g]:u[m]}),{});return this._decodeRaw.call(a,new tr(o),u,d)},_encodeRaw(a,o,u,d){if(n(o))return t.call(this,a,o,u,d);throw new Error(`Validation failed for type ${i}, data: ${o}`)},_decodeRaw(a,o,u){return r.call(this,a,o,u)}}),this}registerBcsType(e,t){return this.registerType(e,(r,n,i)=>{const s=i.map(a=>new W({name:String(a),write:(o,u)=>{const{name:d,params:l}=this.parseTypeName(a),g=this.getTypeInterface(d),m=l.reduce((p,y,S)=>Object.assign(p,{[y]:i[S]}),{});return g._encodeRaw.call(this,u,o,l,m)},read:()=>{throw new Error("Not implemented")}}));return t(...s).write(n,r),r},(r,n)=>{const i=n.map(s=>new W({name:String(s),write:(a,o)=>{throw new Error("Not implemented")},read:a=>{const{name:o,params:u}=this.parseTypeName(s),d=this.getTypeInterface(o),l=u.reduce((g,m,p)=>Object.assign(g,{[m]:n[p]}),{});return d._decodeRaw.call(this,a,u,l)}}));return t(...i).read(r)}),this}registerAddressType(e,t,r="hex"){switch(r){case"base64":return this.registerType(e,function(i,s){return ae(s).reduce((a,o)=>a.write8(o),i)},function(i){return Ie(i.readBytes(t))});case"hex":return this.registerType(e,function(i,s){return Ve(s).reduce((a,o)=>a.write8(o),i)},function(i){return je(i.readBytes(t))});default:throw new Error("Unsupported encoding! Use either hex or base64")}}registerVectorType(e){let{name:t,params:r}=this.parseTypeName(e);if(r.length>1)throw new Error("Vector can have only one type parameter; got "+t);return this.registerType(e,function(i,s,a,o){return i.writeVec(s,(u,d)=>{let l=a[0];if(!l)throw new Error(`Incorrect number of type parameters passed a to vector '${e}'`);let{name:g,params:m}=this.parseTypeName(l);if(this.hasType(g))return this.getTypeInterface(g)._encodeRaw.call(this,u,d,m,o);if(!(g in o))throw new Error(`Unable to find a matching type definition for ${g} in vector; make sure you passed a generic`);let{name:p,params:y}=this.parseTypeName(o[g]);return this.getTypeInterface(p)._encodeRaw.call(this,u,d,y,o)})},function(i,s,a){return i.readVec(o=>{let u=s[0];if(!u)throw new Error(`Incorrect number of type parameters passed to a vector '${e}'`);let{name:d,params:l}=this.parseTypeName(u);if(this.hasType(d))return this.getTypeInterface(d)._decodeRaw.call(this,o,l,a);if(!(d in a))throw new Error(`Unable to find a matching type definition for ${d} in vector; make sure you passed a generic`);let{name:g,params:m}=this.parseTypeName(a[d]);return this.getTypeInterface(g)._decodeRaw.call(this,o,m,a)})})}registerStructType(e,t){for(let a in t){let o=this.tempKey(),u=t[a];!Array.isArray(u)&&typeof u!="string"&&(t[a]=o,this.registerStructType(o,u))}let r=Object.freeze(t),n=Object.keys(r),{name:i,params:s}=this.parseTypeName(e);return this.registerType(e,function(o,u,d,l){if(!u||u.constructor!==Object)throw new Error(`Expected ${i} to be an Object, got: ${u}`);if(d.length!==s.length)throw new Error(`Incorrect number of generic parameters passed; expected: ${s.length}, got: ${d.length}`);for(let g of n){if(!(g in u))throw new Error(`Struct ${i} requires field ${g}:${r[g]}`);const{name:m,params:p}=this.parseTypeName(r[g]);if(!s.includes(m))this.getTypeInterface(m)._encodeRaw.call(this,o,u[g],p,l);else{const y=s.indexOf(m);let{name:S,params:E}=this.parseTypeName(d[y]);if(this.hasType(S)){this.getTypeInterface(S)._encodeRaw.call(this,o,u[g],E,l);continue}if(!(S in l))throw new Error(`Unable to find a matching type definition for ${S} in ${i}; make sure you passed a generic`);let{name:A,params:_}=this.parseTypeName(l[S]);this.getTypeInterface(A)._encodeRaw.call(this,o,u[g],_,l)}}return o},function(o,u,d){if(u.length!==s.length)throw new Error(`Incorrect number of generic parameters passed; expected: ${s.length}, got: ${u.length}`);let l={};for(let g of n){const{name:m,params:p}=this.parseTypeName(r[g]);if(!s.includes(m))l[g]=this.getTypeInterface(m)._decodeRaw.call(this,o,p,d);else{const y=s.indexOf(m);let{name:S,params:E}=this.parseTypeName(u[y]);if(this.hasType(S)){l[g]=this.getTypeInterface(S)._decodeRaw.call(this,o,E,d);continue}if(!(S in d))throw new Error(`Unable to find a matching type definition for ${S} in ${i}; make sure you passed a generic`);let{name:A,params:_}=this.parseTypeName(d[S]);l[g]=this.getTypeInterface(A)._decodeRaw.call(this,o,_,d)}}return l})}registerEnumType(e,t){for(let a in t){let o=this.tempKey(),u=t[a];u!==null&&!Array.isArray(u)&&typeof u!="string"&&(t[a]=o,this.registerStructType(o,u))}let r=Object.freeze(t),n=Object.keys(r),{name:i,params:s}=this.parseTypeName(e);return this.registerType(e,function(o,u,d,l){if(!u)throw new Error(`Unable to write enum "${i}", missing data.
|
|
4
4
|
Received: "${u}"`);if(typeof u!="object")throw new Error(`Incorrect data passed into enum "${i}", expected object with properties: "${n.join(" | ")}".
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-CpdwiPRU.js","main.js","main.css"])))=>i.map(i=>d[i]);
|
|
2
2
|
import{ba as Ao,bb as $w,i as J,M as Cw,_ as Tw}from"../main.js";import{e as gt,s as Do}from"./events-DnnqngvL.js";import{c as q,s as qo,x as Kh,r as Wh,H as xw,a as Fh,q as Ss}from"./index-BGrC064q.js";import{I as lr,f as ft,t as nt,c as $u,C as Aw,r as Dw,a as Dr,g as Bh,i as bt,b as $s,d as Cu,e as qw,h as jw,j as Cs,p as Gh,_ as Uw,E as ze,y as Qe,T as Ts,k as xs,l as Mw,m as Tu,n as Lw,s as kw,o as jo,q as As,u as Bt,v as zw,w as xu}from"./index-Ad2XJcN6.js";import{o as Au}from"./browser-ponyfill-CJRjkWIP.js";var se={};Object.defineProperty(se,"__esModule",{value:!0});se.getLocalStorage=se.getLocalStorageOrThrow=se.getCrypto=se.getCryptoOrThrow=se.getLocation=se.getLocationOrThrow=se.getNavigator=se.getNavigatorOrThrow=se.getDocument=se.getDocumentOrThrow=se.getFromWindowOrThrow=se.getFromWindow=void 0;function pr(a){let t;return typeof window<"u"&&typeof window[a]<"u"&&(t=window[a]),t}se.getFromWindow=pr;function Ur(a){const t=pr(a);if(!t)throw new Error(`${a} is not defined in Window`);return t}se.getFromWindowOrThrow=Ur;function Hw(){return Ur("document")}se.getDocumentOrThrow=Hw;function Vw(){return pr("document")}se.getDocument=Vw;function Kw(){return Ur("navigator")}se.getNavigatorOrThrow=Kw;function Ww(){return pr("navigator")}se.getNavigator=Ww;function Fw(){return Ur("location")}se.getLocationOrThrow=Fw;function Bw(){return pr("location")}se.getLocation=Bw;function Gw(){return Ur("crypto")}se.getCryptoOrThrow=Gw;function Qw(){return pr("crypto")}se.getCrypto=Qw;function Jw(){return Ur("localStorage")}se.getLocalStorageOrThrow=Jw;function Yw(){return pr("localStorage")}se.getLocalStorage=Yw;var Uo={};Object.defineProperty(Uo,"__esModule",{value:!0});Uo.getWindowMetadata=void 0;const Du=se;function Zw(){let a,t;try{a=Du.getDocumentOrThrow(),t=Du.getLocationOrThrow()}catch{return null}function r(){const S=a.getElementsByTagName("link"),R=[];for(let j=0;j<S.length;j++){const x=S[j],K=x.getAttribute("rel");if(K&&K.toLowerCase().indexOf("icon")>-1){const A=x.getAttribute("href");if(A)if(A.toLowerCase().indexOf("https:")===-1&&A.toLowerCase().indexOf("http:")===-1&&A.indexOf("//")!==0){let B=t.protocol+"//"+t.host;if(A.indexOf("/")===0)B+=A;else{const pe=t.pathname.split("/");pe.pop();const Y=pe.join("/");B+=Y+"/"+A}R.push(B)}else if(A.indexOf("//")===0){const B=t.protocol+A;R.push(B)}else R.push(A)}}return R}function s(...S){const R=a.getElementsByTagName("meta");for(let j=0;j<R.length;j++){const x=R[j],K=["itemprop","property","name"].map(A=>x.getAttribute(A)).filter(A=>A?S.includes(A):!1);if(K.length&&K){const A=x.getAttribute("content");if(A)return A}}return""}function o(){let S=s("name","og:site_name","og:title","twitter:title");return S||(S=a.title),S}function u(){return s("description","og:description","twitter:description","keywords")}const l=o(),f=u(),w=t.origin,b=r();return{description:f,url:w,icons:b,name:l}}Uo.getWindowMetadata=Zw;function Xw(a,t=[]){const r=[];return Object.keys(a).forEach(s=>{if(t.length&&!t.includes(s))return;const o=a[s];r.push(...o.accounts)}),r}const e0={INVALID_METHOD:{message:"Invalid method.",code:1001},INVALID_EVENT:{message:"Invalid event.",code:1002},INVALID_UPDATE_REQUEST:{message:"Invalid update request.",code:1003},INVALID_EXTEND_REQUEST:{message:"Invalid extend request.",code:1004},INVALID_SESSION_SETTLE_REQUEST:{message:"Invalid session settle request.",code:1005},UNAUTHORIZED_METHOD:{message:"Unauthorized method.",code:3001},UNAUTHORIZED_EVENT:{message:"Unauthorized event.",code:3002},UNAUTHORIZED_UPDATE_REQUEST:{message:"Unauthorized update request.",code:3003},UNAUTHORIZED_EXTEND_REQUEST:{message:"Unauthorized extend request.",code:3004},USER_REJECTED:{message:"User rejected.",code:5e3},USER_REJECTED_CHAINS:{message:"User rejected chains.",code:5001},USER_REJECTED_METHODS:{message:"User rejected methods.",code:5002},USER_REJECTED_EVENTS:{message:"User rejected events.",code:5003},UNSUPPORTED_CHAINS:{message:"Unsupported chains.",code:5100},UNSUPPORTED_METHODS:{message:"Unsupported methods.",code:5101},UNSUPPORTED_EVENTS:{message:"Unsupported events.",code:5102},UNSUPPORTED_ACCOUNTS:{message:"Unsupported accounts.",code:5103},UNSUPPORTED_NAMESPACE_KEY:{message:"Unsupported namespace key.",code:5104},USER_DISCONNECTED:{message:"User disconnected.",code:6e3},SESSION_SETTLEMENT_FAILED:{message:"Session settlement failed.",code:7e3},WC_METHOD_UNSUPPORTED:{message:"Unsupported wc_ method.",code:10001}};function t0(a,t){const{message:r,code:s}=e0[a];return{message:r,code:s}}function wo(a,t){return!!Array.isArray(a)}var Mr={};/*! *****************************************************************************
|
|
3
3
|
Copyright (c) Microsoft Corporation.
|
|
4
4
|
|
|
@@ -44,4 +44,4 @@ __p += '`),Q&&(O+=`' +
|
|
|
44
44
|
function print() { __p += __j.call(arguments, '') }
|
|
45
45
|
`:`;
|
|
46
46
|
`)+O+`return __p
|
|
47
|
-
}`;var V=Ou(function(){return X(d,D+"return "+O).apply(r,g)});if(V.source=O,Gn(V))throw V;return V}function jm(e){return ee(e).toLowerCase()}function Um(e){return ee(e).toUpperCase()}function Mm(e,i,n){if(e=ee(e),e&&(n||i===r))return qa(e);if(!e||!(i=Ke(i)))return e;var c=ct(e),h=ct(i),d=ja(c,h),g=Ua(c,h)+1;return Wt(c,d,g).join("")}function Lm(e,i,n){if(e=ee(e),e&&(n||i===r))return e.slice(0,La(e)+1);if(!e||!(i=Ke(i)))return e;var c=ct(e),h=Ua(c,ct(i))+1;return Wt(c,0,h).join("")}function km(e,i,n){if(e=ee(e),e&&(n||i===r))return e.replace(Bs,"");if(!e||!(i=Ke(i)))return e;var c=ct(e),h=ja(c,ct(i));return Wt(c,h).join("")}function zm(e,i){var n=Al,c=Dl;if(he(i)){var h="separator"in i?i.separator:h;n="length"in i?H(i.length):n,c="omission"in i?Ke(i.omission):c}e=ee(e);var d=e.length;if(_r(e)){var g=ct(e);d=g.length}if(n>=d)return e;var y=n-br(c);if(y<1)return c;var m=g?Wt(g,0,y).join(""):e.slice(0,y);if(h===r)return m+c;if(g&&(y+=m.length-y),Qn(h)){if(e.slice(y).search(h)){var I,P=m;for(h.global||(h=ln(h.source,ee(ia.exec(h))+"g")),h.lastIndex=0;I=h.exec(P);)var O=I.index;m=m.slice(0,O===r?y:O)}}else if(e.indexOf(Ke(h),y)!=y){var C=m.lastIndexOf(h);C>-1&&(m=m.slice(0,C))}return m+c}function Hm(e){return e=ee(e),e&&Zl.test(e)?e.replace(ea,yd):e}var Vm=Nr(function(e,i,n){return e+(n?" ":"")+i.toUpperCase()}),Zn=Rc("toUpperCase");function Su(e,i,n){return e=ee(e),i=n?r:i,i===r?ld(e)?wd(e):rd(e):e.match(i)||[]}var Ou=W(function(e,i){try{return He(e,r,i)}catch(n){return Gn(n)?n:new k(n)}}),Km=Rt(function(e,i){return Ye(i,function(n){n=wt(n),St(e,n,Fn(e[n],e))}),e});function Wm(e){var i=e==null?0:e.length,n=U();return e=i?ce(e,function(c){if(typeof c[1]!="function")throw new Ze(l);return[n(c[0]),c[1]]}):[],W(function(c){for(var h=-1;++h<i;){var d=e[h];if(He(d[0],this,c))return He(d[1],this,c)}})}function Fm(e){return vf(et(e,S))}function Xn(e){return function(){return e}}function Bm(e,i){return e==null||e!==e?i:e}var Gm=$c(),Qm=$c(!0);function Ue(e){return e}function eo(e){return nc(typeof e=="function"?e:et(e,S))}function Jm(e){return ac(et(e,S))}function Ym(e,i){return cc(e,et(i,S))}var Zm=W(function(e,i){return function(n){return si(n,e,i)}}),Xm=W(function(e,i){return function(n){return si(e,n,i)}});function to(e,i,n){var c=_e(i),h=Xi(i,c);n==null&&!(he(i)&&(h.length||!c.length))&&(n=i,i=e,e=this,h=Xi(i,_e(i)));var d=!(he(n)&&"chain"in n)||!!n.chain,g=$t(e);return Ye(h,function(y){var m=i[y];e[y]=m,g&&(e.prototype[y]=function(){var I=this.__chain__;if(d||I){var P=e(this.__wrapped__),O=P.__actions__=De(this.__actions__);return O.push({func:m,args:arguments,thisArg:e}),P.__chain__=I,P}return m.apply(e,Lt([this.value()],arguments))})}),e}function ew(){return Ee._===this&&(Ee._=Sd),this}function ro(){}function tw(e){return e=H(e),W(function(i){return uc(i,e)})}var rw=An(ce),iw=An(Ca),sw=An(sn);function Ru(e){return kn(e)?nn(wt(e)):Df(e)}function nw(e){return function(i){return e==null?r:sr(e,i)}}var ow=Tc(),aw=Tc(!0);function io(){return[]}function so(){return!1}function cw(){return{}}function uw(){return""}function hw(){return!0}function lw(e,i){if(e=H(e),e<1||e>Ut)return[];var n=yt,c=Se(e,yt);i=U(i),e-=yt;for(var h=cn(c,i);++n<e;)i(n);return h}function pw(e){return z(e)?ce(e,wt):We(e)?[e]:De(Bc(ee(e)))}function dw(e){var i=++Id;return ee(e)+i}var fw=ns(function(e,i){return e+i},0),gw=Dn("ceil"),yw=ns(function(e,i){return e/i},1),vw=Dn("floor");function mw(e){return e&&e.length?Zi(e,Ue,wn):r}function ww(e,i){return e&&e.length?Zi(e,U(i,2),wn):r}function _w(e){return Aa(e,Ue)}function bw(e,i){return Aa(e,U(i,2))}function Ew(e){return e&&e.length?Zi(e,Ue,In):r}function Iw(e,i){return e&&e.length?Zi(e,U(i,2),In):r}var Pw=ns(function(e,i){return e*i},1),Sw=Dn("round"),Ow=ns(function(e,i){return e-i},0);function Rw(e){return e&&e.length?an(e,Ue):0}function Nw(e,i){return e&&e.length?an(e,U(i,2)):0}return p.after=Jy,p.ary=su,p.assign=Uv,p.assignIn=mu,p.assignInWith=ms,p.assignWith=Mv,p.at=Lv,p.before=nu,p.bind=Fn,p.bindAll=Km,p.bindKey=ou,p.castArray=cv,p.chain=tu,p.chunk=vg,p.compact=mg,p.concat=wg,p.cond=Wm,p.conforms=Fm,p.constant=Xn,p.countBy=Ry,p.create=kv,p.curry=au,p.curryRight=cu,p.debounce=uu,p.defaults=zv,p.defaultsDeep=Hv,p.defer=Yy,p.delay=Zy,p.difference=_g,p.differenceBy=bg,p.differenceWith=Eg,p.drop=Ig,p.dropRight=Pg,p.dropRightWhile=Sg,p.dropWhile=Og,p.fill=Rg,p.filter=$y,p.flatMap=xy,p.flatMapDeep=Ay,p.flatMapDepth=Dy,p.flatten=Yc,p.flattenDeep=Ng,p.flattenDepth=$g,p.flip=Xy,p.flow=Gm,p.flowRight=Qm,p.fromPairs=Cg,p.functions=Qv,p.functionsIn=Jv,p.groupBy=qy,p.initial=xg,p.intersection=Ag,p.intersectionBy=Dg,p.intersectionWith=qg,p.invert=Zv,p.invertBy=Xv,p.invokeMap=Uy,p.iteratee=eo,p.keyBy=My,p.keys=_e,p.keysIn=je,p.map=ps,p.mapKeys=tm,p.mapValues=rm,p.matches=Jm,p.matchesProperty=Ym,p.memoize=fs,p.merge=im,p.mergeWith=wu,p.method=Zm,p.methodOf=Xm,p.mixin=to,p.negate=gs,p.nthArg=tw,p.omit=sm,p.omitBy=nm,p.once=ev,p.orderBy=Ly,p.over=rw,p.overArgs=tv,p.overEvery=iw,p.overSome=sw,p.partial=Bn,p.partialRight=hu,p.partition=ky,p.pick=om,p.pickBy=_u,p.property=Ru,p.propertyOf=nw,p.pull=Lg,p.pullAll=Xc,p.pullAllBy=kg,p.pullAllWith=zg,p.pullAt=Hg,p.range=ow,p.rangeRight=aw,p.rearg=rv,p.reject=Vy,p.remove=Vg,p.rest=iv,p.reverse=Kn,p.sampleSize=Wy,p.set=cm,p.setWith=um,p.shuffle=Fy,p.slice=Kg,p.sortBy=Qy,p.sortedUniq=Yg,p.sortedUniqBy=Zg,p.split=xm,p.spread=sv,p.tail=Xg,p.take=ey,p.takeRight=ty,p.takeRightWhile=ry,p.takeWhile=iy,p.tap=my,p.throttle=nv,p.thru=ls,p.toArray=gu,p.toPairs=bu,p.toPairsIn=Eu,p.toPath=pw,p.toPlainObject=vu,p.transform=hm,p.unary=ov,p.union=sy,p.unionBy=ny,p.unionWith=oy,p.uniq=ay,p.uniqBy=cy,p.uniqWith=uy,p.unset=lm,p.unzip=Wn,p.unzipWith=eu,p.update=pm,p.updateWith=dm,p.values=Tr,p.valuesIn=fm,p.without=hy,p.words=Su,p.wrap=av,p.xor=ly,p.xorBy=py,p.xorWith=dy,p.zip=fy,p.zipObject=gy,p.zipObjectDeep=yy,p.zipWith=vy,p.entries=bu,p.entriesIn=Eu,p.extend=mu,p.extendWith=ms,to(p,p),p.add=fw,p.attempt=Ou,p.camelCase=mm,p.capitalize=Iu,p.ceil=gw,p.clamp=gm,p.clone=uv,p.cloneDeep=lv,p.cloneDeepWith=pv,p.cloneWith=hv,p.conformsTo=dv,p.deburr=Pu,p.defaultTo=Bm,p.divide=yw,p.endsWith=wm,p.eq=ht,p.escape=_m,p.escapeRegExp=bm,p.every=Ny,p.find=Cy,p.findIndex=Qc,p.findKey=Vv,p.findLast=Ty,p.findLastIndex=Jc,p.findLastKey=Kv,p.floor=vw,p.forEach=ru,p.forEachRight=iu,p.forIn=Wv,p.forInRight=Fv,p.forOwn=Bv,p.forOwnRight=Gv,p.get=Jn,p.gt=fv,p.gte=gv,p.has=Yv,p.hasIn=Yn,p.head=Zc,p.identity=Ue,p.includes=jy,p.indexOf=Tg,p.inRange=ym,p.invoke=em,p.isArguments=ar,p.isArray=z,p.isArrayBuffer=yv,p.isArrayLike=qe,p.isArrayLikeObject=fe,p.isBoolean=vv,p.isBuffer=Ft,p.isDate=mv,p.isElement=wv,p.isEmpty=_v,p.isEqual=bv,p.isEqualWith=Ev,p.isError=Gn,p.isFinite=Iv,p.isFunction=$t,p.isInteger=lu,p.isLength=ys,p.isMap=pu,p.isMatch=Pv,p.isMatchWith=Sv,p.isNaN=Ov,p.isNative=Rv,p.isNil=$v,p.isNull=Nv,p.isNumber=du,p.isObject=he,p.isObjectLike=le,p.isPlainObject=hi,p.isRegExp=Qn,p.isSafeInteger=Cv,p.isSet=fu,p.isString=vs,p.isSymbol=We,p.isTypedArray=Cr,p.isUndefined=Tv,p.isWeakMap=xv,p.isWeakSet=Av,p.join=jg,p.kebabCase=Em,p.last=rt,p.lastIndexOf=Ug,p.lowerCase=Im,p.lowerFirst=Pm,p.lt=Dv,p.lte=qv,p.max=mw,p.maxBy=ww,p.mean=_w,p.meanBy=bw,p.min=Ew,p.minBy=Iw,p.stubArray=io,p.stubFalse=so,p.stubObject=cw,p.stubString=uw,p.stubTrue=hw,p.multiply=Pw,p.nth=Mg,p.noConflict=ew,p.noop=ro,p.now=ds,p.pad=Sm,p.padEnd=Om,p.padStart=Rm,p.parseInt=Nm,p.random=vm,p.reduce=zy,p.reduceRight=Hy,p.repeat=$m,p.replace=Cm,p.result=am,p.round=Sw,p.runInContext=v,p.sample=Ky,p.size=By,p.snakeCase=Tm,p.some=Gy,p.sortedIndex=Wg,p.sortedIndexBy=Fg,p.sortedIndexOf=Bg,p.sortedLastIndex=Gg,p.sortedLastIndexBy=Qg,p.sortedLastIndexOf=Jg,p.startCase=Am,p.startsWith=Dm,p.subtract=Ow,p.sum=Rw,p.sumBy=Nw,p.template=qm,p.times=lw,p.toFinite=Ct,p.toInteger=H,p.toLength=yu,p.toLower=jm,p.toNumber=it,p.toSafeInteger=jv,p.toString=ee,p.toUpper=Um,p.trim=Mm,p.trimEnd=Lm,p.trimStart=km,p.truncate=zm,p.unescape=Hm,p.uniqueId=dw,p.upperCase=Vm,p.upperFirst=Zn,p.each=ru,p.eachRight=iu,p.first=Zc,to(p,function(){var e={};return vt(p,function(i,n){te.call(p.prototype,n)||(e[n]=i)}),e}(),{chain:!1}),p.VERSION=s,Ye(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){p[e].placeholder=p}),Ye(["drop","take"],function(e,i){G.prototype[e]=function(n){n=n===r?1:we(H(n),0);var c=this.__filtered__&&!i?new G(this):this.clone();return c.__filtered__?c.__takeCount__=Se(n,c.__takeCount__):c.__views__.push({size:Se(n,yt),type:e+(c.__dir__<0?"Right":"")}),c},G.prototype[e+"Right"]=function(n){return this.reverse()[e](n).reverse()}}),Ye(["filter","map","takeWhile"],function(e,i){var n=i+1,c=n==Yo||n==Ml;G.prototype[e]=function(h){var d=this.clone();return d.__iteratees__.push({iteratee:U(h,3),type:n}),d.__filtered__=d.__filtered__||c,d}}),Ye(["head","last"],function(e,i){var n="take"+(i?"Right":"");G.prototype[e]=function(){return this[n](1).value()[0]}}),Ye(["initial","tail"],function(e,i){var n="drop"+(i?"":"Right");G.prototype[e]=function(){return this.__filtered__?new G(this):this[n](1)}}),G.prototype.compact=function(){return this.filter(Ue)},G.prototype.find=function(e){return this.filter(e).head()},G.prototype.findLast=function(e){return this.reverse().find(e)},G.prototype.invokeMap=W(function(e,i){return typeof e=="function"?new G(this):this.map(function(n){return si(n,e,i)})}),G.prototype.reject=function(e){return this.filter(gs(U(e)))},G.prototype.slice=function(e,i){e=H(e);var n=this;return n.__filtered__&&(e>0||i<0)?new G(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),i!==r&&(i=H(i),n=i<0?n.dropRight(-i):n.take(i-e)),n)},G.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},G.prototype.toArray=function(){return this.take(yt)},vt(G.prototype,function(e,i){var n=/^(?:filter|find|map|reject)|While$/.test(i),c=/^(?:head|last)$/.test(i),h=p[c?"take"+(i=="last"?"Right":""):i],d=c||/^find/.test(i);h&&(p.prototype[i]=function(){var g=this.__wrapped__,y=c?[1]:arguments,m=g instanceof G,I=y[0],P=m||z(g),O=function(F){var Q=h.apply(p,Lt([F],y));return c&&C?Q[0]:Q};P&&n&&typeof I=="function"&&I.length!=1&&(m=P=!1);var C=this.__chain__,D=!!this.__actions__.length,M=d&&!C,V=m&&!D;if(!d&&P){g=V?g:new G(this);var L=e.apply(g,y);return L.__actions__.push({func:ls,args:[O],thisArg:r}),new Xe(L,C)}return M&&V?e.apply(this,y):(L=this.thru(O),M?c?L.value()[0]:L.value():L)})}),Ye(["pop","push","shift","sort","splice","unshift"],function(e){var i=Ui[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",c=/^(?:pop|shift)$/.test(e);p.prototype[e]=function(){var h=arguments;if(c&&!this.__chain__){var d=this.value();return i.apply(z(d)?d:[],h)}return this[n](function(g){return i.apply(z(g)?g:[],h)})}}),vt(G.prototype,function(e,i){var n=p[i];if(n){var c=n.name+"";te.call(Sr,c)||(Sr[c]=[]),Sr[c].push({name:i,func:n})}}),Sr[ss(r,B).name]=[{name:"wrapper",func:r}],G.prototype.clone=zd,G.prototype.reverse=Hd,G.prototype.value=Vd,p.prototype.at=wy,p.prototype.chain=_y,p.prototype.commit=by,p.prototype.next=Ey,p.prototype.plant=Py,p.prototype.reverse=Sy,p.prototype.toJSON=p.prototype.valueOf=p.prototype.value=Oy,p.prototype.first=p.prototype.head,Yr&&(p.prototype[Yr]=Iy),p},Er=_d();Xt?((Xt.exports=Er)._=Er,Xs._=Er):Ee._=Er}).call(vi)})(Co,Co.exports);var HI=Object.defineProperty,VI=Object.defineProperties,KI=Object.getOwnPropertyDescriptors,jh=Object.getOwnPropertySymbols,WI=Object.prototype.hasOwnProperty,FI=Object.prototype.propertyIsEnumerable,Uh=(a,t,r)=>t in a?HI(a,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[t]=r,bs=(a,t)=>{for(var r in t||(t={}))WI.call(t,r)&&Uh(a,r,t[r]);if(jh)for(var r of jh(t))FI.call(t,r)&&Uh(a,r,t[r]);return a},BI=(a,t)=>VI(a,KI(t));function Jt(a,t,r){var s;const o=d_(a);return((s=t.rpcMap)==null?void 0:s[o.reference])||`${zI}?chainId=${o.namespace}:${o.reference}&projectId=${r}`}function gr(a){return a.includes(":")?a.split(":")[1]:a}function Tl(a){return a.map(t=>`${t.split(":")[0]}:${t.split(":")[1]}`)}function GI(a,t){const r=Object.keys(t.namespaces).filter(o=>o.includes(a));if(!r.length)return[];const s=[];return r.forEach(o=>{const u=t.namespaces[o].accounts;s.push(...u)}),s}function QI(a={},t={}){const r=Mh(a),s=Mh(t);return Co.exports.merge(r,s)}function Mh(a){var t,r,s,o;const u={};if(!jr(a))return u;for(const[l,f]of Object.entries(a)){const w=Ko(l)?[l]:f.chains,b=f.methods||[],N=f.events||[],S=f.rpcMap||{},R=mi(l);u[R]=BI(bs(bs({},u[R]),f),{chains:ao(w,(t=u[R])==null?void 0:t.chains),methods:ao(b,(r=u[R])==null?void 0:r.methods),events:ao(N,(s=u[R])==null?void 0:s.events),rpcMap:bs(bs({},S),(o=u[R])==null?void 0:o.rpcMap)})}return u}function JI(a){return a.includes(":")?a.split(":")[2]:a}function YI(a){const t={};for(const[r,s]of Object.entries(a)){const o=s.methods||[],u=s.events||[],l=s.accounts||[],f=Ko(r)?[r]:s.chains?s.chains:Tl(s.accounts);t[r]={chains:f,methods:o,events:u,accounts:l}}return t}function go(a){return typeof a=="number"?a:a.includes("0x")?parseInt(a,16):a.includes(":")?Number(a.split(":")[1]):Number(a)}const xl={},ue=a=>xl[a],yo=(a,t)=>{xl[a]=t};class ZI{constructor(t){this.name="polkadot",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(t,r),this.chainId=t,this.events.emit(qt.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getAccounts(){const t=this.namespace.accounts;return t?t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2])||[]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;const o=gr(r);t[o]=this.createHttpProvider(o,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||Jt(t,this.namespace,this.client.core.projectId);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new Dt(new Yt(s,ue("disableProviderPing")))}}class XI{constructor(t){this.name="eip155",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain())}async request(t){switch(t.request.method){case"eth_requestAccounts":return this.getAccounts();case"eth_accounts":return this.getAccounts();case"wallet_switchEthereumChain":return await this.handleSwitchChain(t);case"eth_chainId":return parseInt(this.getDefaultChain())}return this.namespace.methods.includes(t.request.method)?await this.client.request(t):this.getHttpProvider().request(t.request)}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(parseInt(t),r),this.chainId=parseInt(t),this.events.emit(qt.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}createHttpProvider(t,r){const s=r||Jt(`${this.name}:${t}`,this.namespace,this.client.core.projectId);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new Dt(new Yt(s,ue("disableProviderPing")))}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;const o=parseInt(gr(r));t[o]=this.createHttpProvider(o,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2]))]:[]}getHttpProvider(){const t=this.chainId,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}async handleSwitchChain(t){var r,s;let o=t.request.params?(r=t.request.params[0])==null?void 0:r.chainId:"0x0";o=o.startsWith("0x")?o:`0x${o}`;const u=parseInt(o,16);if(this.isChainApproved(u))this.setDefaultChain(`${u}`);else if(this.namespace.methods.includes("wallet_switchEthereumChain"))await this.client.request({topic:t.topic,request:{method:t.request.method,params:[{chainId:o}]},chainId:(s=this.namespace.chains)==null?void 0:s[0]}),this.setDefaultChain(`${u}`);else throw new Error(`Failed to switch to chain 'eip155:${u}'. The chain is not approved or the wallet does not support 'wallet_switchEthereumChain' method.`);return null}isChainApproved(t){return this.namespace.chains.includes(`${this.name}:${t}`)}}class eP{constructor(t){this.name="solana",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(t,r),this.chainId=t,this.events.emit(qt.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;const o=gr(r);t[o]=this.createHttpProvider(o,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||Jt(t,this.namespace,this.client.core.projectId);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new Dt(new Yt(s,ue("disableProviderPing")))}}class tP{constructor(t){this.name="cosmos",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(t,r),this.chainId=t,this.events.emit(qt.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;const o=gr(r);t[o]=this.createHttpProvider(o,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||Jt(t,this.namespace,this.client.core.projectId);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new Dt(new Yt(s,ue("disableProviderPing")))}}class rP{constructor(t){this.name="cip34",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(t,r),this.chainId=t,this.events.emit(qt.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{const s=this.getCardanoRPCUrl(r),o=gr(r);t[o]=this.createHttpProvider(o,s)}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}getCardanoRPCUrl(t){const r=this.namespace.rpcMap;if(r)return r[t]}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||this.getCardanoRPCUrl(t);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new Dt(new Yt(s,ue("disableProviderPing")))}}class iP{constructor(t){this.name="elrond",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(t,r),this.chainId=t,this.events.emit(qt.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;const o=gr(r);t[o]=this.createHttpProvider(o,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||Jt(t,this.namespace,this.client.core.projectId);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new Dt(new Yt(s,ue("disableProviderPing")))}}class sP{constructor(t){this.name="multiversx",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(t,r),this.chainId=t,this.events.emit(qt.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;const o=gr(r);t[o]=this.createHttpProvider(o,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||Jt(t,this.namespace,this.client.core.projectId);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new Dt(new Yt(s,ue("disableProviderPing")))}}class nP{constructor(t){this.name="near",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){if(this.chainId=t,!this.httpProviders[t]){const s=r||Jt(`${this.name}:${t}`,this.namespace);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);this.setHttpProvider(t,s)}this.events.emit(qt.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2])||[]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;t[r]=this.createHttpProvider(r,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||Jt(t,this.namespace);return typeof s>"u"?void 0:new Dt(new Yt(s,ue("disableProviderPing")))}}var oP=Object.defineProperty,aP=Object.defineProperties,cP=Object.getOwnPropertyDescriptors,Lh=Object.getOwnPropertySymbols,uP=Object.prototype.hasOwnProperty,hP=Object.prototype.propertyIsEnumerable,kh=(a,t,r)=>t in a?oP(a,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[t]=r,Es=(a,t)=>{for(var r in t||(t={}))uP.call(t,r)&&kh(a,r,t[r]);if(Lh)for(var r of Lh(t))hP.call(t,r)&&kh(a,r,t[r]);return a},vo=(a,t)=>aP(a,cP(t));class Qo{constructor(t){this.events=new Do,this.rpcProviders={},this.shouldAbortPairingAttempt=!1,this.maxPairingAttempts=10,this.disableProviderPing=!1,this.providerOpts=t,this.logger=typeof(t==null?void 0:t.logger)<"u"&&typeof(t==null?void 0:t.logger)!="string"?t.logger:Ts(xs({level:(t==null?void 0:t.logger)||Dh})),this.disableProviderPing=(t==null?void 0:t.disableProviderPing)||!1}static async init(t){const r=new Qo(t);return await r.initialize(),r}async request(t,r){const[s,o]=this.validateChain(r);if(!this.session)throw new Error("Please call connect() before request()");return await this.getProvider(s).request({request:Es({},t),chainId:`${s}:${o}`,topic:this.session.topic})}sendAsync(t,r,s){const o=new Date().getTime();this.request(t,s).then(u=>r(null,As(o,u))).catch(u=>r(u,void 0))}async enable(){if(!this.client)throw new Error("Sign Client not initialized");return this.session||await this.connect({namespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties}),await this.requestAccounts()}async disconnect(){var t;if(!this.session)throw new Error("Please call connect() before enable()");await this.client.disconnect({topic:(t=this.session)==null?void 0:t.topic,reason:ye("USER_DISCONNECTED")}),await this.cleanup()}async connect(t){if(!this.client)throw new Error("Sign Client not initialized");if(this.setNamespaces(t),await this.cleanupPendingPairings(),!t.skipPairing)return await this.pair(t.pairingTopic)}on(t,r){this.events.on(t,r)}once(t,r){this.events.once(t,r)}removeListener(t,r){this.events.removeListener(t,r)}off(t,r){this.events.off(t,r)}get isWalletConnect(){return!0}async pair(t){this.shouldAbortPairingAttempt=!1;let r=0;do{if(this.shouldAbortPairingAttempt)throw new Error("Pairing aborted");if(r>=this.maxPairingAttempts)throw new Error("Max auto pairing attempts reached");const{uri:s,approval:o}=await this.client.connect({pairingTopic:t,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties});s&&(this.uri=s,this.events.emit("display_uri",s)),await o().then(u=>{this.session=u,this.namespaces||(this.namespaces=YI(u.namespaces),this.persist("namespaces",this.namespaces))}).catch(u=>{if(u.message!==$l)throw u;r++})}while(!this.session);return this.onConnect(),this.session}setDefaultChain(t,r){try{if(!this.session)return;const[s,o]=this.validateChain(t);this.getProvider(s).setDefaultChain(o,r)}catch(s){if(!/Please call connect/.test(s.message))throw s}}async cleanupPendingPairings(t={}){this.logger.info("Cleaning up inactive pairings...");const r=this.client.pairing.getAll();if(hr(r)){for(const s of r)t.deletePairings?this.client.core.expirer.set(s.topic,0):await this.client.core.relayer.subscriber.unsubscribe(s.topic);this.logger.info(`Inactive pairings cleared: ${r.length}`)}}abortPairingAttempt(){this.shouldAbortPairingAttempt=!0}async checkStorage(){if(this.namespaces=await this.getFromStore("namespaces"),this.optionalNamespaces=await this.getFromStore("optionalNamespaces")||{},this.client.session.length){const t=this.client.session.keys.length-1;this.session=this.client.session.get(this.client.session.keys[t]),this.createProviders()}}async initialize(){this.logger.trace("Initialized"),await this.createClient(),await this.checkStorage(),this.registerEventListeners()}async createClient(){this.client=this.providerOpts.client||await RI.init({logger:this.providerOpts.logger||Dh,relayUrl:this.providerOpts.relayUrl||MI,projectId:this.providerOpts.projectId,metadata:this.providerOpts.metadata,storageOptions:this.providerOpts.storageOptions,storage:this.providerOpts.storage,name:this.providerOpts.name}),this.logger.trace("SignClient Initialized")}createProviders(){if(!this.client)throw new Error("Sign Client not initialized");if(!this.session)throw new Error("Session not initialized. Please call connect() before enable()");const t=[...new Set(Object.keys(this.session.namespaces).map(r=>mi(r)))];yo("client",this.client),yo("events",this.events),yo("disableProviderPing",this.disableProviderPing),t.forEach(r=>{if(!this.session)return;const s=GI(r,this.session),o=Tl(s),u=QI(this.namespaces,this.optionalNamespaces),l=vo(Es({},u[r]),{accounts:s,chains:o});switch(r){case"eip155":this.rpcProviders[r]=new XI({namespace:l});break;case"solana":this.rpcProviders[r]=new eP({namespace:l});break;case"cosmos":this.rpcProviders[r]=new tP({namespace:l});break;case"polkadot":this.rpcProviders[r]=new ZI({namespace:l});break;case"cip34":this.rpcProviders[r]=new rP({namespace:l});break;case"elrond":this.rpcProviders[r]=new iP({namespace:l});break;case"multiversx":this.rpcProviders[r]=new sP({namespace:l});break;case"near":this.rpcProviders[r]=new nP({namespace:l});break}})}registerEventListeners(){if(typeof this.client>"u")throw new Error("Sign Client is not initialized");this.client.on("session_ping",t=>{this.events.emit("session_ping",t)}),this.client.on("session_event",t=>{const{params:r}=t,{event:s}=r;if(s.name==="accountsChanged"){const o=s.data;o&&hr(o)&&this.events.emit("accountsChanged",o.map(JI))}else if(s.name==="chainChanged"){const o=r.chainId,u=r.event.data,l=mi(o),f=go(o)!==go(u)?`${l}:${go(u)}`:o;this.onChainChanged(f)}else this.events.emit(s.name,s.data);this.events.emit("session_event",t)}),this.client.on("session_update",({topic:t,params:r})=>{var s;const{namespaces:o}=r,u=(s=this.client)==null?void 0:s.session.get(t);this.session=vo(Es({},u),{namespaces:o}),this.onSessionUpdate(),this.events.emit("session_update",{topic:t,params:r})}),this.client.on("session_delete",async t=>{await this.cleanup(),this.events.emit("session_delete",t),this.events.emit("disconnect",vo(Es({},ye("USER_DISCONNECTED")),{data:t.topic}))}),this.on(qt.DEFAULT_CHAIN_CHANGED,t=>{this.onChainChanged(t,!0)})}getProvider(t){if(!this.rpcProviders[t])throw new Error(`Provider not found: ${t}`);return this.rpcProviders[t]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(t=>{var r;this.getProvider(t).updateNamespace((r=this.session)==null?void 0:r.namespaces[t])})}setNamespaces(t){const{namespaces:r,optionalNamespaces:s,sessionProperties:o}=t;r&&Object.keys(r).length&&(this.namespaces=r),s&&Object.keys(s).length&&(this.optionalNamespaces=s),this.sessionProperties=o,this.persist("namespaces",r),this.persist("optionalNamespaces",s)}validateChain(t){const[r,s]=(t==null?void 0:t.split(":"))||["",""];if(!this.namespaces||!Object.keys(this.namespaces).length)return[r,s];if(r&&!Object.keys(this.namespaces||{}).map(l=>mi(l)).includes(r))throw new Error(`Namespace '${r}' is not configured. Please call connect() first with namespace config.`);if(r&&s)return[r,s];const o=mi(Object.keys(this.namespaces)[0]),u=this.rpcProviders[o].getDefaultChain();return[o,u]}async requestAccounts(){const[t]=this.validateChain();return await this.getProvider(t).requestAccounts()}onChainChanged(t,r=!1){var s;if(!this.namespaces)return;const[o,u]=this.validateChain(t);r||this.getProvider(o).setDefaultChain(u),((s=this.namespaces[o])!=null?s:this.namespaces[`${o}:${u}`]).defaultChain=u,this.persist("namespaces",this.namespaces),this.events.emit("chainChanged",u)}onConnect(){this.createProviders(),this.events.emit("connect",{session:this.session})}async cleanup(){this.session=void 0,this.namespaces=void 0,this.optionalNamespaces=void 0,this.sessionProperties=void 0,this.persist("namespaces",void 0),this.persist("optionalNamespaces",void 0),this.persist("sessionProperties",void 0),await this.cleanupPendingPairings({deletePairings:!0})}persist(t,r){this.client.core.storage.setItem(`${qh}/${t}`,r)}async getFromStore(t){return await this.client.core.storage.getItem(`${qh}/${t}`)}}const lP=Qo,pP="wc",dP="ethereum_provider",fP=`${pP}@2:${dP}:`,gP="https://rpc.walletconnect.com/v1/",To=["eth_sendTransaction","personal_sign"],yP=["eth_accounts","eth_requestAccounts","eth_sendRawTransaction","eth_sign","eth_signTransaction","eth_signTypedData","eth_signTypedData_v3","eth_signTypedData_v4","eth_sendTransaction","personal_sign","wallet_switchEthereumChain","wallet_addEthereumChain","wallet_getPermissions","wallet_requestPermissions","wallet_registerOnboarding","wallet_watchAsset","wallet_scanQRCode"],xo=["chainChanged","accountsChanged"],vP=["chainChanged","accountsChanged","message","disconnect","connect"];var mP=Object.defineProperty,wP=Object.defineProperties,_P=Object.getOwnPropertyDescriptors,zh=Object.getOwnPropertySymbols,bP=Object.prototype.hasOwnProperty,EP=Object.prototype.propertyIsEnumerable,Hh=(a,t,r)=>t in a?mP(a,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[t]=r,_i=(a,t)=>{for(var r in t||(t={}))bP.call(t,r)&&Hh(a,r,t[r]);if(zh)for(var r of zh(t))EP.call(t,r)&&Hh(a,r,t[r]);return a},Vh=(a,t)=>wP(a,_P(t));function Ns(a){return Number(a[0].split(":")[1])}function mo(a){return`0x${a.toString(16)}`}function IP(a){const{chains:t,optionalChains:r,methods:s,optionalMethods:o,events:u,optionalEvents:l,rpcMap:f}=a;if(!wo(t))throw new Error("Invalid chains");const w={chains:t,methods:s||To,events:u||xo,rpcMap:_i({},t.length?{[Ns(t)]:f[Ns(t)]}:{})},b=u==null?void 0:u.filter(j=>!xo.includes(j)),N=s==null?void 0:s.filter(j=>!To.includes(j));if(!r&&!l&&!o&&!(b!=null&&b.length)&&!(N!=null&&N.length))return{required:t.length?w:void 0};const S=(b==null?void 0:b.length)&&(N==null?void 0:N.length)||!r,R={chains:[...new Set(S?w.chains.concat(r||[]):r)],methods:[...new Set(w.methods.concat(o!=null&&o.length?o:yP))],events:[...new Set(w.events.concat(l!=null&&l.length?l:vP))],rpcMap:f};return{required:t.length?w:void 0,optional:r.length?R:void 0}}class Jo{constructor(){this.events=new gt.EventEmitter,this.namespace="eip155",this.accounts=[],this.chainId=1,this.STORAGE_KEY=fP,this.on=(t,r)=>(this.events.on(t,r),this),this.once=(t,r)=>(this.events.once(t,r),this),this.removeListener=(t,r)=>(this.events.removeListener(t,r),this),this.off=(t,r)=>(this.events.off(t,r),this),this.parseAccount=t=>this.isCompatibleChainId(t)?this.parseAccountId(t).address:t,this.signer={},this.rpc={}}static async init(t){const r=new Jo;return await r.initialize(t),r}async request(t){return await this.signer.request(t,this.formatChainId(this.chainId))}sendAsync(t,r){this.signer.sendAsync(t,r,this.formatChainId(this.chainId))}get connected(){return this.signer.client?this.signer.client.core.relayer.connected:!1}get connecting(){return this.signer.client?this.signer.client.core.relayer.connecting:!1}async enable(){return this.session||await this.connect(),await this.request({method:"eth_requestAccounts"})}async connect(t){if(!this.signer.client)throw new Error("Provider not initialized. Call init() first");this.loadConnectOpts(t);const{required:r,optional:s}=IP(this.rpc);try{const o=await new Promise(async(l,f)=>{var w;this.rpc.showQrModal&&((w=this.modal)==null||w.subscribeModal(b=>{!b.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),f(new Error("Connection request reset. Please try again.")))})),await this.signer.connect(Vh(_i({namespaces:_i({},r&&{[this.namespace]:r})},s&&{optionalNamespaces:{[this.namespace]:s}}),{pairingTopic:t==null?void 0:t.pairingTopic})).then(b=>{l(b)}).catch(b=>{f(new Error(b.message))})});if(!o)return;const u=Xw(o.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:u),this.setAccounts(u),this.events.emit("connect",{chainId:mo(this.chainId)})}catch(o){throw this.signer.logger.error(o),o}finally{this.modal&&this.modal.closeModal()}}async disconnect(){this.session&&await this.signer.disconnect(),this.reset()}get isWalletConnect(){return!0}get session(){return this.signer.session}registerEventListeners(){this.signer.on("session_event",t=>{const{params:r}=t,{event:s}=r;s.name==="accountsChanged"?(this.accounts=this.parseAccounts(s.data),this.events.emit("accountsChanged",this.accounts)):s.name==="chainChanged"?this.setChainId(this.formatChainId(s.data)):this.events.emit(s.name,s.data),this.events.emit("session_event",t)}),this.signer.on("chainChanged",t=>{const r=parseInt(t);this.chainId=r,this.events.emit("chainChanged",mo(this.chainId)),this.persist()}),this.signer.on("session_update",t=>{this.events.emit("session_update",t)}),this.signer.on("session_delete",t=>{this.reset(),this.events.emit("session_delete",t),this.events.emit("disconnect",Vh(_i({},t0("USER_DISCONNECTED")),{data:t.topic,name:"USER_DISCONNECTED"}))}),this.signer.on("display_uri",t=>{var r,s;this.rpc.showQrModal&&((r=this.modal)==null||r.closeModal(),(s=this.modal)==null||s.openModal({uri:t})),this.events.emit("display_uri",t)})}switchEthereumChain(t){this.request({method:"wallet_switchEthereumChain",params:[{chainId:t.toString(16)}]})}isCompatibleChainId(t){return typeof t=="string"?t.startsWith(`${this.namespace}:`):!1}formatChainId(t){return`${this.namespace}:${t}`}parseChainId(t){return Number(t.split(":")[1])}setChainIds(t){const r=t.filter(s=>this.isCompatibleChainId(s)).map(s=>this.parseChainId(s));r.length&&(this.chainId=r[0],this.events.emit("chainChanged",mo(this.chainId)),this.persist())}setChainId(t){if(this.isCompatibleChainId(t)){const r=this.parseChainId(t);this.chainId=r,this.switchEthereumChain(r)}}parseAccountId(t){const[r,s,o]=t.split(":");return{chainId:`${r}:${s}`,address:o}}setAccounts(t){this.accounts=t.filter(r=>this.parseChainId(this.parseAccountId(r).chainId)===this.chainId).map(r=>this.parseAccountId(r).address),this.events.emit("accountsChanged",this.accounts)}getRpcConfig(t){var r,s;const o=(r=t==null?void 0:t.chains)!=null?r:[],u=(s=t==null?void 0:t.optionalChains)!=null?s:[],l=o.concat(u);if(!l.length)throw new Error("No chains specified in either `chains` or `optionalChains`");const f=o.length?(t==null?void 0:t.methods)||To:[],w=o.length?(t==null?void 0:t.events)||xo:[],b=(t==null?void 0:t.optionalMethods)||[],N=(t==null?void 0:t.optionalEvents)||[],S=(t==null?void 0:t.rpcMap)||this.buildRpcMap(l,t.projectId),R=(t==null?void 0:t.qrModalOptions)||void 0;return{chains:o==null?void 0:o.map(j=>this.formatChainId(j)),optionalChains:u.map(j=>this.formatChainId(j)),methods:f,events:w,optionalMethods:b,optionalEvents:N,rpcMap:S,showQrModal:!!(t!=null&&t.showQrModal),qrModalOptions:R,projectId:t.projectId,metadata:t.metadata}}buildRpcMap(t,r){const s={};return t.forEach(o=>{s[o]=this.getRpcUrl(o,r)}),s}async initialize(t){if(this.rpc=this.getRpcConfig(t),this.chainId=this.rpc.chains.length?Ns(this.rpc.chains):Ns(this.rpc.optionalChains),this.signer=await lP.init({projectId:this.rpc.projectId,metadata:this.rpc.metadata,disableProviderPing:t.disableProviderPing,relayUrl:t.relayUrl,storageOptions:t.storageOptions}),this.registerEventListeners(),await this.loadPersistedSession(),this.rpc.showQrModal){let r;try{const{WalletConnectModal:s}=await Tw(()=>import("./index-C0ho2skw.js").then(o=>o.i),__vite__mapDeps([0,1,2]));r=s}catch{throw new Error("To use QR modal, please install @walletconnect/modal package")}if(r)try{this.modal=new r(_i({projectId:this.rpc.projectId},this.rpc.qrModalOptions))}catch(s){throw this.signer.logger.error(s),new Error("Could not generate WalletConnectModal Instance")}}}loadConnectOpts(t){if(!t)return;const{chains:r,optionalChains:s,rpcMap:o}=t;r&&wo(r)&&(this.rpc.chains=r.map(u=>this.formatChainId(u)),r.forEach(u=>{this.rpc.rpcMap[u]=(o==null?void 0:o[u])||this.getRpcUrl(u)})),s&&wo(s)&&(this.rpc.optionalChains=[],this.rpc.optionalChains=s==null?void 0:s.map(u=>this.formatChainId(u)),s.forEach(u=>{this.rpc.rpcMap[u]=(o==null?void 0:o[u])||this.getRpcUrl(u)}))}getRpcUrl(t,r){var s;return((s=this.rpc.rpcMap)==null?void 0:s[t])||`${gP}?chainId=eip155:${t}&projectId=${r||this.rpc.projectId}`}async loadPersistedSession(){if(!this.session)return;const t=await this.signer.client.core.storage.getItem(`${this.STORAGE_KEY}/chainId`),r=this.session.namespaces[`${this.namespace}:${t}`]?this.session.namespaces[`${this.namespace}:${t}`]:this.session.namespaces[this.namespace];this.setChainIds(t?[this.formatChainId(t)]:r==null?void 0:r.accounts),this.setAccounts(r==null?void 0:r.accounts)}reset(){this.chainId=1,this.accounts=[]}persist(){this.session&&this.signer.client.core.storage.setItem(`${this.STORAGE_KEY}/chainId`,this.chainId)}parseAccounts(t){return typeof t=="string"||t instanceof String?[this.parseAccount(t)]:t.map(r=>this.parseAccount(r))}}const VP=Jo;export{VP as EthereumProvider,vP as OPTIONAL_EVENTS,yP as OPTIONAL_METHODS,xo as REQUIRED_EVENTS,To as REQUIRED_METHODS,Jo as default};
|
|
47
|
+
}`;var V=Ou(function(){return X(d,D+"return "+O).apply(r,g)});if(V.source=O,Gn(V))throw V;return V}function jm(e){return ee(e).toLowerCase()}function Um(e){return ee(e).toUpperCase()}function Mm(e,i,n){if(e=ee(e),e&&(n||i===r))return qa(e);if(!e||!(i=Ke(i)))return e;var c=ct(e),h=ct(i),d=ja(c,h),g=Ua(c,h)+1;return Wt(c,d,g).join("")}function Lm(e,i,n){if(e=ee(e),e&&(n||i===r))return e.slice(0,La(e)+1);if(!e||!(i=Ke(i)))return e;var c=ct(e),h=Ua(c,ct(i))+1;return Wt(c,0,h).join("")}function km(e,i,n){if(e=ee(e),e&&(n||i===r))return e.replace(Bs,"");if(!e||!(i=Ke(i)))return e;var c=ct(e),h=ja(c,ct(i));return Wt(c,h).join("")}function zm(e,i){var n=Al,c=Dl;if(he(i)){var h="separator"in i?i.separator:h;n="length"in i?H(i.length):n,c="omission"in i?Ke(i.omission):c}e=ee(e);var d=e.length;if(_r(e)){var g=ct(e);d=g.length}if(n>=d)return e;var y=n-br(c);if(y<1)return c;var m=g?Wt(g,0,y).join(""):e.slice(0,y);if(h===r)return m+c;if(g&&(y+=m.length-y),Qn(h)){if(e.slice(y).search(h)){var I,P=m;for(h.global||(h=ln(h.source,ee(ia.exec(h))+"g")),h.lastIndex=0;I=h.exec(P);)var O=I.index;m=m.slice(0,O===r?y:O)}}else if(e.indexOf(Ke(h),y)!=y){var C=m.lastIndexOf(h);C>-1&&(m=m.slice(0,C))}return m+c}function Hm(e){return e=ee(e),e&&Zl.test(e)?e.replace(ea,yd):e}var Vm=Nr(function(e,i,n){return e+(n?" ":"")+i.toUpperCase()}),Zn=Rc("toUpperCase");function Su(e,i,n){return e=ee(e),i=n?r:i,i===r?ld(e)?wd(e):rd(e):e.match(i)||[]}var Ou=W(function(e,i){try{return He(e,r,i)}catch(n){return Gn(n)?n:new k(n)}}),Km=Rt(function(e,i){return Ye(i,function(n){n=wt(n),St(e,n,Fn(e[n],e))}),e});function Wm(e){var i=e==null?0:e.length,n=U();return e=i?ce(e,function(c){if(typeof c[1]!="function")throw new Ze(l);return[n(c[0]),c[1]]}):[],W(function(c){for(var h=-1;++h<i;){var d=e[h];if(He(d[0],this,c))return He(d[1],this,c)}})}function Fm(e){return vf(et(e,S))}function Xn(e){return function(){return e}}function Bm(e,i){return e==null||e!==e?i:e}var Gm=$c(),Qm=$c(!0);function Ue(e){return e}function eo(e){return nc(typeof e=="function"?e:et(e,S))}function Jm(e){return ac(et(e,S))}function Ym(e,i){return cc(e,et(i,S))}var Zm=W(function(e,i){return function(n){return si(n,e,i)}}),Xm=W(function(e,i){return function(n){return si(e,n,i)}});function to(e,i,n){var c=_e(i),h=Xi(i,c);n==null&&!(he(i)&&(h.length||!c.length))&&(n=i,i=e,e=this,h=Xi(i,_e(i)));var d=!(he(n)&&"chain"in n)||!!n.chain,g=$t(e);return Ye(h,function(y){var m=i[y];e[y]=m,g&&(e.prototype[y]=function(){var I=this.__chain__;if(d||I){var P=e(this.__wrapped__),O=P.__actions__=De(this.__actions__);return O.push({func:m,args:arguments,thisArg:e}),P.__chain__=I,P}return m.apply(e,Lt([this.value()],arguments))})}),e}function ew(){return Ee._===this&&(Ee._=Sd),this}function ro(){}function tw(e){return e=H(e),W(function(i){return uc(i,e)})}var rw=An(ce),iw=An(Ca),sw=An(sn);function Ru(e){return kn(e)?nn(wt(e)):Df(e)}function nw(e){return function(i){return e==null?r:sr(e,i)}}var ow=Tc(),aw=Tc(!0);function io(){return[]}function so(){return!1}function cw(){return{}}function uw(){return""}function hw(){return!0}function lw(e,i){if(e=H(e),e<1||e>Ut)return[];var n=yt,c=Se(e,yt);i=U(i),e-=yt;for(var h=cn(c,i);++n<e;)i(n);return h}function pw(e){return z(e)?ce(e,wt):We(e)?[e]:De(Bc(ee(e)))}function dw(e){var i=++Id;return ee(e)+i}var fw=ns(function(e,i){return e+i},0),gw=Dn("ceil"),yw=ns(function(e,i){return e/i},1),vw=Dn("floor");function mw(e){return e&&e.length?Zi(e,Ue,wn):r}function ww(e,i){return e&&e.length?Zi(e,U(i,2),wn):r}function _w(e){return Aa(e,Ue)}function bw(e,i){return Aa(e,U(i,2))}function Ew(e){return e&&e.length?Zi(e,Ue,In):r}function Iw(e,i){return e&&e.length?Zi(e,U(i,2),In):r}var Pw=ns(function(e,i){return e*i},1),Sw=Dn("round"),Ow=ns(function(e,i){return e-i},0);function Rw(e){return e&&e.length?an(e,Ue):0}function Nw(e,i){return e&&e.length?an(e,U(i,2)):0}return p.after=Jy,p.ary=su,p.assign=Uv,p.assignIn=mu,p.assignInWith=ms,p.assignWith=Mv,p.at=Lv,p.before=nu,p.bind=Fn,p.bindAll=Km,p.bindKey=ou,p.castArray=cv,p.chain=tu,p.chunk=vg,p.compact=mg,p.concat=wg,p.cond=Wm,p.conforms=Fm,p.constant=Xn,p.countBy=Ry,p.create=kv,p.curry=au,p.curryRight=cu,p.debounce=uu,p.defaults=zv,p.defaultsDeep=Hv,p.defer=Yy,p.delay=Zy,p.difference=_g,p.differenceBy=bg,p.differenceWith=Eg,p.drop=Ig,p.dropRight=Pg,p.dropRightWhile=Sg,p.dropWhile=Og,p.fill=Rg,p.filter=$y,p.flatMap=xy,p.flatMapDeep=Ay,p.flatMapDepth=Dy,p.flatten=Yc,p.flattenDeep=Ng,p.flattenDepth=$g,p.flip=Xy,p.flow=Gm,p.flowRight=Qm,p.fromPairs=Cg,p.functions=Qv,p.functionsIn=Jv,p.groupBy=qy,p.initial=xg,p.intersection=Ag,p.intersectionBy=Dg,p.intersectionWith=qg,p.invert=Zv,p.invertBy=Xv,p.invokeMap=Uy,p.iteratee=eo,p.keyBy=My,p.keys=_e,p.keysIn=je,p.map=ps,p.mapKeys=tm,p.mapValues=rm,p.matches=Jm,p.matchesProperty=Ym,p.memoize=fs,p.merge=im,p.mergeWith=wu,p.method=Zm,p.methodOf=Xm,p.mixin=to,p.negate=gs,p.nthArg=tw,p.omit=sm,p.omitBy=nm,p.once=ev,p.orderBy=Ly,p.over=rw,p.overArgs=tv,p.overEvery=iw,p.overSome=sw,p.partial=Bn,p.partialRight=hu,p.partition=ky,p.pick=om,p.pickBy=_u,p.property=Ru,p.propertyOf=nw,p.pull=Lg,p.pullAll=Xc,p.pullAllBy=kg,p.pullAllWith=zg,p.pullAt=Hg,p.range=ow,p.rangeRight=aw,p.rearg=rv,p.reject=Vy,p.remove=Vg,p.rest=iv,p.reverse=Kn,p.sampleSize=Wy,p.set=cm,p.setWith=um,p.shuffle=Fy,p.slice=Kg,p.sortBy=Qy,p.sortedUniq=Yg,p.sortedUniqBy=Zg,p.split=xm,p.spread=sv,p.tail=Xg,p.take=ey,p.takeRight=ty,p.takeRightWhile=ry,p.takeWhile=iy,p.tap=my,p.throttle=nv,p.thru=ls,p.toArray=gu,p.toPairs=bu,p.toPairsIn=Eu,p.toPath=pw,p.toPlainObject=vu,p.transform=hm,p.unary=ov,p.union=sy,p.unionBy=ny,p.unionWith=oy,p.uniq=ay,p.uniqBy=cy,p.uniqWith=uy,p.unset=lm,p.unzip=Wn,p.unzipWith=eu,p.update=pm,p.updateWith=dm,p.values=Tr,p.valuesIn=fm,p.without=hy,p.words=Su,p.wrap=av,p.xor=ly,p.xorBy=py,p.xorWith=dy,p.zip=fy,p.zipObject=gy,p.zipObjectDeep=yy,p.zipWith=vy,p.entries=bu,p.entriesIn=Eu,p.extend=mu,p.extendWith=ms,to(p,p),p.add=fw,p.attempt=Ou,p.camelCase=mm,p.capitalize=Iu,p.ceil=gw,p.clamp=gm,p.clone=uv,p.cloneDeep=lv,p.cloneDeepWith=pv,p.cloneWith=hv,p.conformsTo=dv,p.deburr=Pu,p.defaultTo=Bm,p.divide=yw,p.endsWith=wm,p.eq=ht,p.escape=_m,p.escapeRegExp=bm,p.every=Ny,p.find=Cy,p.findIndex=Qc,p.findKey=Vv,p.findLast=Ty,p.findLastIndex=Jc,p.findLastKey=Kv,p.floor=vw,p.forEach=ru,p.forEachRight=iu,p.forIn=Wv,p.forInRight=Fv,p.forOwn=Bv,p.forOwnRight=Gv,p.get=Jn,p.gt=fv,p.gte=gv,p.has=Yv,p.hasIn=Yn,p.head=Zc,p.identity=Ue,p.includes=jy,p.indexOf=Tg,p.inRange=ym,p.invoke=em,p.isArguments=ar,p.isArray=z,p.isArrayBuffer=yv,p.isArrayLike=qe,p.isArrayLikeObject=fe,p.isBoolean=vv,p.isBuffer=Ft,p.isDate=mv,p.isElement=wv,p.isEmpty=_v,p.isEqual=bv,p.isEqualWith=Ev,p.isError=Gn,p.isFinite=Iv,p.isFunction=$t,p.isInteger=lu,p.isLength=ys,p.isMap=pu,p.isMatch=Pv,p.isMatchWith=Sv,p.isNaN=Ov,p.isNative=Rv,p.isNil=$v,p.isNull=Nv,p.isNumber=du,p.isObject=he,p.isObjectLike=le,p.isPlainObject=hi,p.isRegExp=Qn,p.isSafeInteger=Cv,p.isSet=fu,p.isString=vs,p.isSymbol=We,p.isTypedArray=Cr,p.isUndefined=Tv,p.isWeakMap=xv,p.isWeakSet=Av,p.join=jg,p.kebabCase=Em,p.last=rt,p.lastIndexOf=Ug,p.lowerCase=Im,p.lowerFirst=Pm,p.lt=Dv,p.lte=qv,p.max=mw,p.maxBy=ww,p.mean=_w,p.meanBy=bw,p.min=Ew,p.minBy=Iw,p.stubArray=io,p.stubFalse=so,p.stubObject=cw,p.stubString=uw,p.stubTrue=hw,p.multiply=Pw,p.nth=Mg,p.noConflict=ew,p.noop=ro,p.now=ds,p.pad=Sm,p.padEnd=Om,p.padStart=Rm,p.parseInt=Nm,p.random=vm,p.reduce=zy,p.reduceRight=Hy,p.repeat=$m,p.replace=Cm,p.result=am,p.round=Sw,p.runInContext=v,p.sample=Ky,p.size=By,p.snakeCase=Tm,p.some=Gy,p.sortedIndex=Wg,p.sortedIndexBy=Fg,p.sortedIndexOf=Bg,p.sortedLastIndex=Gg,p.sortedLastIndexBy=Qg,p.sortedLastIndexOf=Jg,p.startCase=Am,p.startsWith=Dm,p.subtract=Ow,p.sum=Rw,p.sumBy=Nw,p.template=qm,p.times=lw,p.toFinite=Ct,p.toInteger=H,p.toLength=yu,p.toLower=jm,p.toNumber=it,p.toSafeInteger=jv,p.toString=ee,p.toUpper=Um,p.trim=Mm,p.trimEnd=Lm,p.trimStart=km,p.truncate=zm,p.unescape=Hm,p.uniqueId=dw,p.upperCase=Vm,p.upperFirst=Zn,p.each=ru,p.eachRight=iu,p.first=Zc,to(p,function(){var e={};return vt(p,function(i,n){te.call(p.prototype,n)||(e[n]=i)}),e}(),{chain:!1}),p.VERSION=s,Ye(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){p[e].placeholder=p}),Ye(["drop","take"],function(e,i){G.prototype[e]=function(n){n=n===r?1:we(H(n),0);var c=this.__filtered__&&!i?new G(this):this.clone();return c.__filtered__?c.__takeCount__=Se(n,c.__takeCount__):c.__views__.push({size:Se(n,yt),type:e+(c.__dir__<0?"Right":"")}),c},G.prototype[e+"Right"]=function(n){return this.reverse()[e](n).reverse()}}),Ye(["filter","map","takeWhile"],function(e,i){var n=i+1,c=n==Yo||n==Ml;G.prototype[e]=function(h){var d=this.clone();return d.__iteratees__.push({iteratee:U(h,3),type:n}),d.__filtered__=d.__filtered__||c,d}}),Ye(["head","last"],function(e,i){var n="take"+(i?"Right":"");G.prototype[e]=function(){return this[n](1).value()[0]}}),Ye(["initial","tail"],function(e,i){var n="drop"+(i?"":"Right");G.prototype[e]=function(){return this.__filtered__?new G(this):this[n](1)}}),G.prototype.compact=function(){return this.filter(Ue)},G.prototype.find=function(e){return this.filter(e).head()},G.prototype.findLast=function(e){return this.reverse().find(e)},G.prototype.invokeMap=W(function(e,i){return typeof e=="function"?new G(this):this.map(function(n){return si(n,e,i)})}),G.prototype.reject=function(e){return this.filter(gs(U(e)))},G.prototype.slice=function(e,i){e=H(e);var n=this;return n.__filtered__&&(e>0||i<0)?new G(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),i!==r&&(i=H(i),n=i<0?n.dropRight(-i):n.take(i-e)),n)},G.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},G.prototype.toArray=function(){return this.take(yt)},vt(G.prototype,function(e,i){var n=/^(?:filter|find|map|reject)|While$/.test(i),c=/^(?:head|last)$/.test(i),h=p[c?"take"+(i=="last"?"Right":""):i],d=c||/^find/.test(i);h&&(p.prototype[i]=function(){var g=this.__wrapped__,y=c?[1]:arguments,m=g instanceof G,I=y[0],P=m||z(g),O=function(F){var Q=h.apply(p,Lt([F],y));return c&&C?Q[0]:Q};P&&n&&typeof I=="function"&&I.length!=1&&(m=P=!1);var C=this.__chain__,D=!!this.__actions__.length,M=d&&!C,V=m&&!D;if(!d&&P){g=V?g:new G(this);var L=e.apply(g,y);return L.__actions__.push({func:ls,args:[O],thisArg:r}),new Xe(L,C)}return M&&V?e.apply(this,y):(L=this.thru(O),M?c?L.value()[0]:L.value():L)})}),Ye(["pop","push","shift","sort","splice","unshift"],function(e){var i=Ui[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",c=/^(?:pop|shift)$/.test(e);p.prototype[e]=function(){var h=arguments;if(c&&!this.__chain__){var d=this.value();return i.apply(z(d)?d:[],h)}return this[n](function(g){return i.apply(z(g)?g:[],h)})}}),vt(G.prototype,function(e,i){var n=p[i];if(n){var c=n.name+"";te.call(Sr,c)||(Sr[c]=[]),Sr[c].push({name:i,func:n})}}),Sr[ss(r,B).name]=[{name:"wrapper",func:r}],G.prototype.clone=zd,G.prototype.reverse=Hd,G.prototype.value=Vd,p.prototype.at=wy,p.prototype.chain=_y,p.prototype.commit=by,p.prototype.next=Ey,p.prototype.plant=Py,p.prototype.reverse=Sy,p.prototype.toJSON=p.prototype.valueOf=p.prototype.value=Oy,p.prototype.first=p.prototype.head,Yr&&(p.prototype[Yr]=Iy),p},Er=_d();Xt?((Xt.exports=Er)._=Er,Xs._=Er):Ee._=Er}).call(vi)})(Co,Co.exports);var HI=Object.defineProperty,VI=Object.defineProperties,KI=Object.getOwnPropertyDescriptors,jh=Object.getOwnPropertySymbols,WI=Object.prototype.hasOwnProperty,FI=Object.prototype.propertyIsEnumerable,Uh=(a,t,r)=>t in a?HI(a,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[t]=r,bs=(a,t)=>{for(var r in t||(t={}))WI.call(t,r)&&Uh(a,r,t[r]);if(jh)for(var r of jh(t))FI.call(t,r)&&Uh(a,r,t[r]);return a},BI=(a,t)=>VI(a,KI(t));function Jt(a,t,r){var s;const o=d_(a);return((s=t.rpcMap)==null?void 0:s[o.reference])||`${zI}?chainId=${o.namespace}:${o.reference}&projectId=${r}`}function gr(a){return a.includes(":")?a.split(":")[1]:a}function Tl(a){return a.map(t=>`${t.split(":")[0]}:${t.split(":")[1]}`)}function GI(a,t){const r=Object.keys(t.namespaces).filter(o=>o.includes(a));if(!r.length)return[];const s=[];return r.forEach(o=>{const u=t.namespaces[o].accounts;s.push(...u)}),s}function QI(a={},t={}){const r=Mh(a),s=Mh(t);return Co.exports.merge(r,s)}function Mh(a){var t,r,s,o;const u={};if(!jr(a))return u;for(const[l,f]of Object.entries(a)){const w=Ko(l)?[l]:f.chains,b=f.methods||[],N=f.events||[],S=f.rpcMap||{},R=mi(l);u[R]=BI(bs(bs({},u[R]),f),{chains:ao(w,(t=u[R])==null?void 0:t.chains),methods:ao(b,(r=u[R])==null?void 0:r.methods),events:ao(N,(s=u[R])==null?void 0:s.events),rpcMap:bs(bs({},S),(o=u[R])==null?void 0:o.rpcMap)})}return u}function JI(a){return a.includes(":")?a.split(":")[2]:a}function YI(a){const t={};for(const[r,s]of Object.entries(a)){const o=s.methods||[],u=s.events||[],l=s.accounts||[],f=Ko(r)?[r]:s.chains?s.chains:Tl(s.accounts);t[r]={chains:f,methods:o,events:u,accounts:l}}return t}function go(a){return typeof a=="number"?a:a.includes("0x")?parseInt(a,16):a.includes(":")?Number(a.split(":")[1]):Number(a)}const xl={},ue=a=>xl[a],yo=(a,t)=>{xl[a]=t};class ZI{constructor(t){this.name="polkadot",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(t,r),this.chainId=t,this.events.emit(qt.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getAccounts(){const t=this.namespace.accounts;return t?t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2])||[]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;const o=gr(r);t[o]=this.createHttpProvider(o,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||Jt(t,this.namespace,this.client.core.projectId);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new Dt(new Yt(s,ue("disableProviderPing")))}}class XI{constructor(t){this.name="eip155",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain())}async request(t){switch(t.request.method){case"eth_requestAccounts":return this.getAccounts();case"eth_accounts":return this.getAccounts();case"wallet_switchEthereumChain":return await this.handleSwitchChain(t);case"eth_chainId":return parseInt(this.getDefaultChain())}return this.namespace.methods.includes(t.request.method)?await this.client.request(t):this.getHttpProvider().request(t.request)}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(parseInt(t),r),this.chainId=parseInt(t),this.events.emit(qt.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}createHttpProvider(t,r){const s=r||Jt(`${this.name}:${t}`,this.namespace,this.client.core.projectId);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new Dt(new Yt(s,ue("disableProviderPing")))}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;const o=parseInt(gr(r));t[o]=this.createHttpProvider(o,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2]))]:[]}getHttpProvider(){const t=this.chainId,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}async handleSwitchChain(t){var r,s;let o=t.request.params?(r=t.request.params[0])==null?void 0:r.chainId:"0x0";o=o.startsWith("0x")?o:`0x${o}`;const u=parseInt(o,16);if(this.isChainApproved(u))this.setDefaultChain(`${u}`);else if(this.namespace.methods.includes("wallet_switchEthereumChain"))await this.client.request({topic:t.topic,request:{method:t.request.method,params:[{chainId:o}]},chainId:(s=this.namespace.chains)==null?void 0:s[0]}),this.setDefaultChain(`${u}`);else throw new Error(`Failed to switch to chain 'eip155:${u}'. The chain is not approved or the wallet does not support 'wallet_switchEthereumChain' method.`);return null}isChainApproved(t){return this.namespace.chains.includes(`${this.name}:${t}`)}}class eP{constructor(t){this.name="solana",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(t,r),this.chainId=t,this.events.emit(qt.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;const o=gr(r);t[o]=this.createHttpProvider(o,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||Jt(t,this.namespace,this.client.core.projectId);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new Dt(new Yt(s,ue("disableProviderPing")))}}class tP{constructor(t){this.name="cosmos",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(t,r),this.chainId=t,this.events.emit(qt.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;const o=gr(r);t[o]=this.createHttpProvider(o,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||Jt(t,this.namespace,this.client.core.projectId);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new Dt(new Yt(s,ue("disableProviderPing")))}}class rP{constructor(t){this.name="cip34",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(t,r),this.chainId=t,this.events.emit(qt.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{const s=this.getCardanoRPCUrl(r),o=gr(r);t[o]=this.createHttpProvider(o,s)}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}getCardanoRPCUrl(t){const r=this.namespace.rpcMap;if(r)return r[t]}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||this.getCardanoRPCUrl(t);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new Dt(new Yt(s,ue("disableProviderPing")))}}class iP{constructor(t){this.name="elrond",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(t,r),this.chainId=t,this.events.emit(qt.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;const o=gr(r);t[o]=this.createHttpProvider(o,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||Jt(t,this.namespace,this.client.core.projectId);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new Dt(new Yt(s,ue("disableProviderPing")))}}class sP{constructor(t){this.name="multiversx",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(t,r),this.chainId=t,this.events.emit(qt.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;const o=gr(r);t[o]=this.createHttpProvider(o,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||Jt(t,this.namespace,this.client.core.projectId);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new Dt(new Yt(s,ue("disableProviderPing")))}}class nP{constructor(t){this.name="near",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){if(this.chainId=t,!this.httpProviders[t]){const s=r||Jt(`${this.name}:${t}`,this.namespace);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);this.setHttpProvider(t,s)}this.events.emit(qt.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2])||[]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;t[r]=this.createHttpProvider(r,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||Jt(t,this.namespace);return typeof s>"u"?void 0:new Dt(new Yt(s,ue("disableProviderPing")))}}var oP=Object.defineProperty,aP=Object.defineProperties,cP=Object.getOwnPropertyDescriptors,Lh=Object.getOwnPropertySymbols,uP=Object.prototype.hasOwnProperty,hP=Object.prototype.propertyIsEnumerable,kh=(a,t,r)=>t in a?oP(a,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[t]=r,Es=(a,t)=>{for(var r in t||(t={}))uP.call(t,r)&&kh(a,r,t[r]);if(Lh)for(var r of Lh(t))hP.call(t,r)&&kh(a,r,t[r]);return a},vo=(a,t)=>aP(a,cP(t));class Qo{constructor(t){this.events=new Do,this.rpcProviders={},this.shouldAbortPairingAttempt=!1,this.maxPairingAttempts=10,this.disableProviderPing=!1,this.providerOpts=t,this.logger=typeof(t==null?void 0:t.logger)<"u"&&typeof(t==null?void 0:t.logger)!="string"?t.logger:Ts(xs({level:(t==null?void 0:t.logger)||Dh})),this.disableProviderPing=(t==null?void 0:t.disableProviderPing)||!1}static async init(t){const r=new Qo(t);return await r.initialize(),r}async request(t,r){const[s,o]=this.validateChain(r);if(!this.session)throw new Error("Please call connect() before request()");return await this.getProvider(s).request({request:Es({},t),chainId:`${s}:${o}`,topic:this.session.topic})}sendAsync(t,r,s){const o=new Date().getTime();this.request(t,s).then(u=>r(null,As(o,u))).catch(u=>r(u,void 0))}async enable(){if(!this.client)throw new Error("Sign Client not initialized");return this.session||await this.connect({namespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties}),await this.requestAccounts()}async disconnect(){var t;if(!this.session)throw new Error("Please call connect() before enable()");await this.client.disconnect({topic:(t=this.session)==null?void 0:t.topic,reason:ye("USER_DISCONNECTED")}),await this.cleanup()}async connect(t){if(!this.client)throw new Error("Sign Client not initialized");if(this.setNamespaces(t),await this.cleanupPendingPairings(),!t.skipPairing)return await this.pair(t.pairingTopic)}on(t,r){this.events.on(t,r)}once(t,r){this.events.once(t,r)}removeListener(t,r){this.events.removeListener(t,r)}off(t,r){this.events.off(t,r)}get isWalletConnect(){return!0}async pair(t){this.shouldAbortPairingAttempt=!1;let r=0;do{if(this.shouldAbortPairingAttempt)throw new Error("Pairing aborted");if(r>=this.maxPairingAttempts)throw new Error("Max auto pairing attempts reached");const{uri:s,approval:o}=await this.client.connect({pairingTopic:t,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties});s&&(this.uri=s,this.events.emit("display_uri",s)),await o().then(u=>{this.session=u,this.namespaces||(this.namespaces=YI(u.namespaces),this.persist("namespaces",this.namespaces))}).catch(u=>{if(u.message!==$l)throw u;r++})}while(!this.session);return this.onConnect(),this.session}setDefaultChain(t,r){try{if(!this.session)return;const[s,o]=this.validateChain(t);this.getProvider(s).setDefaultChain(o,r)}catch(s){if(!/Please call connect/.test(s.message))throw s}}async cleanupPendingPairings(t={}){this.logger.info("Cleaning up inactive pairings...");const r=this.client.pairing.getAll();if(hr(r)){for(const s of r)t.deletePairings?this.client.core.expirer.set(s.topic,0):await this.client.core.relayer.subscriber.unsubscribe(s.topic);this.logger.info(`Inactive pairings cleared: ${r.length}`)}}abortPairingAttempt(){this.shouldAbortPairingAttempt=!0}async checkStorage(){if(this.namespaces=await this.getFromStore("namespaces"),this.optionalNamespaces=await this.getFromStore("optionalNamespaces")||{},this.client.session.length){const t=this.client.session.keys.length-1;this.session=this.client.session.get(this.client.session.keys[t]),this.createProviders()}}async initialize(){this.logger.trace("Initialized"),await this.createClient(),await this.checkStorage(),this.registerEventListeners()}async createClient(){this.client=this.providerOpts.client||await RI.init({logger:this.providerOpts.logger||Dh,relayUrl:this.providerOpts.relayUrl||MI,projectId:this.providerOpts.projectId,metadata:this.providerOpts.metadata,storageOptions:this.providerOpts.storageOptions,storage:this.providerOpts.storage,name:this.providerOpts.name}),this.logger.trace("SignClient Initialized")}createProviders(){if(!this.client)throw new Error("Sign Client not initialized");if(!this.session)throw new Error("Session not initialized. Please call connect() before enable()");const t=[...new Set(Object.keys(this.session.namespaces).map(r=>mi(r)))];yo("client",this.client),yo("events",this.events),yo("disableProviderPing",this.disableProviderPing),t.forEach(r=>{if(!this.session)return;const s=GI(r,this.session),o=Tl(s),u=QI(this.namespaces,this.optionalNamespaces),l=vo(Es({},u[r]),{accounts:s,chains:o});switch(r){case"eip155":this.rpcProviders[r]=new XI({namespace:l});break;case"solana":this.rpcProviders[r]=new eP({namespace:l});break;case"cosmos":this.rpcProviders[r]=new tP({namespace:l});break;case"polkadot":this.rpcProviders[r]=new ZI({namespace:l});break;case"cip34":this.rpcProviders[r]=new rP({namespace:l});break;case"elrond":this.rpcProviders[r]=new iP({namespace:l});break;case"multiversx":this.rpcProviders[r]=new sP({namespace:l});break;case"near":this.rpcProviders[r]=new nP({namespace:l});break}})}registerEventListeners(){if(typeof this.client>"u")throw new Error("Sign Client is not initialized");this.client.on("session_ping",t=>{this.events.emit("session_ping",t)}),this.client.on("session_event",t=>{const{params:r}=t,{event:s}=r;if(s.name==="accountsChanged"){const o=s.data;o&&hr(o)&&this.events.emit("accountsChanged",o.map(JI))}else if(s.name==="chainChanged"){const o=r.chainId,u=r.event.data,l=mi(o),f=go(o)!==go(u)?`${l}:${go(u)}`:o;this.onChainChanged(f)}else this.events.emit(s.name,s.data);this.events.emit("session_event",t)}),this.client.on("session_update",({topic:t,params:r})=>{var s;const{namespaces:o}=r,u=(s=this.client)==null?void 0:s.session.get(t);this.session=vo(Es({},u),{namespaces:o}),this.onSessionUpdate(),this.events.emit("session_update",{topic:t,params:r})}),this.client.on("session_delete",async t=>{await this.cleanup(),this.events.emit("session_delete",t),this.events.emit("disconnect",vo(Es({},ye("USER_DISCONNECTED")),{data:t.topic}))}),this.on(qt.DEFAULT_CHAIN_CHANGED,t=>{this.onChainChanged(t,!0)})}getProvider(t){if(!this.rpcProviders[t])throw new Error(`Provider not found: ${t}`);return this.rpcProviders[t]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(t=>{var r;this.getProvider(t).updateNamespace((r=this.session)==null?void 0:r.namespaces[t])})}setNamespaces(t){const{namespaces:r,optionalNamespaces:s,sessionProperties:o}=t;r&&Object.keys(r).length&&(this.namespaces=r),s&&Object.keys(s).length&&(this.optionalNamespaces=s),this.sessionProperties=o,this.persist("namespaces",r),this.persist("optionalNamespaces",s)}validateChain(t){const[r,s]=(t==null?void 0:t.split(":"))||["",""];if(!this.namespaces||!Object.keys(this.namespaces).length)return[r,s];if(r&&!Object.keys(this.namespaces||{}).map(l=>mi(l)).includes(r))throw new Error(`Namespace '${r}' is not configured. Please call connect() first with namespace config.`);if(r&&s)return[r,s];const o=mi(Object.keys(this.namespaces)[0]),u=this.rpcProviders[o].getDefaultChain();return[o,u]}async requestAccounts(){const[t]=this.validateChain();return await this.getProvider(t).requestAccounts()}onChainChanged(t,r=!1){var s;if(!this.namespaces)return;const[o,u]=this.validateChain(t);r||this.getProvider(o).setDefaultChain(u),((s=this.namespaces[o])!=null?s:this.namespaces[`${o}:${u}`]).defaultChain=u,this.persist("namespaces",this.namespaces),this.events.emit("chainChanged",u)}onConnect(){this.createProviders(),this.events.emit("connect",{session:this.session})}async cleanup(){this.session=void 0,this.namespaces=void 0,this.optionalNamespaces=void 0,this.sessionProperties=void 0,this.persist("namespaces",void 0),this.persist("optionalNamespaces",void 0),this.persist("sessionProperties",void 0),await this.cleanupPendingPairings({deletePairings:!0})}persist(t,r){this.client.core.storage.setItem(`${qh}/${t}`,r)}async getFromStore(t){return await this.client.core.storage.getItem(`${qh}/${t}`)}}const lP=Qo,pP="wc",dP="ethereum_provider",fP=`${pP}@2:${dP}:`,gP="https://rpc.walletconnect.com/v1/",To=["eth_sendTransaction","personal_sign"],yP=["eth_accounts","eth_requestAccounts","eth_sendRawTransaction","eth_sign","eth_signTransaction","eth_signTypedData","eth_signTypedData_v3","eth_signTypedData_v4","eth_sendTransaction","personal_sign","wallet_switchEthereumChain","wallet_addEthereumChain","wallet_getPermissions","wallet_requestPermissions","wallet_registerOnboarding","wallet_watchAsset","wallet_scanQRCode"],xo=["chainChanged","accountsChanged"],vP=["chainChanged","accountsChanged","message","disconnect","connect"];var mP=Object.defineProperty,wP=Object.defineProperties,_P=Object.getOwnPropertyDescriptors,zh=Object.getOwnPropertySymbols,bP=Object.prototype.hasOwnProperty,EP=Object.prototype.propertyIsEnumerable,Hh=(a,t,r)=>t in a?mP(a,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[t]=r,_i=(a,t)=>{for(var r in t||(t={}))bP.call(t,r)&&Hh(a,r,t[r]);if(zh)for(var r of zh(t))EP.call(t,r)&&Hh(a,r,t[r]);return a},Vh=(a,t)=>wP(a,_P(t));function Ns(a){return Number(a[0].split(":")[1])}function mo(a){return`0x${a.toString(16)}`}function IP(a){const{chains:t,optionalChains:r,methods:s,optionalMethods:o,events:u,optionalEvents:l,rpcMap:f}=a;if(!wo(t))throw new Error("Invalid chains");const w={chains:t,methods:s||To,events:u||xo,rpcMap:_i({},t.length?{[Ns(t)]:f[Ns(t)]}:{})},b=u==null?void 0:u.filter(j=>!xo.includes(j)),N=s==null?void 0:s.filter(j=>!To.includes(j));if(!r&&!l&&!o&&!(b!=null&&b.length)&&!(N!=null&&N.length))return{required:t.length?w:void 0};const S=(b==null?void 0:b.length)&&(N==null?void 0:N.length)||!r,R={chains:[...new Set(S?w.chains.concat(r||[]):r)],methods:[...new Set(w.methods.concat(o!=null&&o.length?o:yP))],events:[...new Set(w.events.concat(l!=null&&l.length?l:vP))],rpcMap:f};return{required:t.length?w:void 0,optional:r.length?R:void 0}}class Jo{constructor(){this.events=new gt.EventEmitter,this.namespace="eip155",this.accounts=[],this.chainId=1,this.STORAGE_KEY=fP,this.on=(t,r)=>(this.events.on(t,r),this),this.once=(t,r)=>(this.events.once(t,r),this),this.removeListener=(t,r)=>(this.events.removeListener(t,r),this),this.off=(t,r)=>(this.events.off(t,r),this),this.parseAccount=t=>this.isCompatibleChainId(t)?this.parseAccountId(t).address:t,this.signer={},this.rpc={}}static async init(t){const r=new Jo;return await r.initialize(t),r}async request(t){return await this.signer.request(t,this.formatChainId(this.chainId))}sendAsync(t,r){this.signer.sendAsync(t,r,this.formatChainId(this.chainId))}get connected(){return this.signer.client?this.signer.client.core.relayer.connected:!1}get connecting(){return this.signer.client?this.signer.client.core.relayer.connecting:!1}async enable(){return this.session||await this.connect(),await this.request({method:"eth_requestAccounts"})}async connect(t){if(!this.signer.client)throw new Error("Provider not initialized. Call init() first");this.loadConnectOpts(t);const{required:r,optional:s}=IP(this.rpc);try{const o=await new Promise(async(l,f)=>{var w;this.rpc.showQrModal&&((w=this.modal)==null||w.subscribeModal(b=>{!b.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),f(new Error("Connection request reset. Please try again.")))})),await this.signer.connect(Vh(_i({namespaces:_i({},r&&{[this.namespace]:r})},s&&{optionalNamespaces:{[this.namespace]:s}}),{pairingTopic:t==null?void 0:t.pairingTopic})).then(b=>{l(b)}).catch(b=>{f(new Error(b.message))})});if(!o)return;const u=Xw(o.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:u),this.setAccounts(u),this.events.emit("connect",{chainId:mo(this.chainId)})}catch(o){throw this.signer.logger.error(o),o}finally{this.modal&&this.modal.closeModal()}}async disconnect(){this.session&&await this.signer.disconnect(),this.reset()}get isWalletConnect(){return!0}get session(){return this.signer.session}registerEventListeners(){this.signer.on("session_event",t=>{const{params:r}=t,{event:s}=r;s.name==="accountsChanged"?(this.accounts=this.parseAccounts(s.data),this.events.emit("accountsChanged",this.accounts)):s.name==="chainChanged"?this.setChainId(this.formatChainId(s.data)):this.events.emit(s.name,s.data),this.events.emit("session_event",t)}),this.signer.on("chainChanged",t=>{const r=parseInt(t);this.chainId=r,this.events.emit("chainChanged",mo(this.chainId)),this.persist()}),this.signer.on("session_update",t=>{this.events.emit("session_update",t)}),this.signer.on("session_delete",t=>{this.reset(),this.events.emit("session_delete",t),this.events.emit("disconnect",Vh(_i({},t0("USER_DISCONNECTED")),{data:t.topic,name:"USER_DISCONNECTED"}))}),this.signer.on("display_uri",t=>{var r,s;this.rpc.showQrModal&&((r=this.modal)==null||r.closeModal(),(s=this.modal)==null||s.openModal({uri:t})),this.events.emit("display_uri",t)})}switchEthereumChain(t){this.request({method:"wallet_switchEthereumChain",params:[{chainId:t.toString(16)}]})}isCompatibleChainId(t){return typeof t=="string"?t.startsWith(`${this.namespace}:`):!1}formatChainId(t){return`${this.namespace}:${t}`}parseChainId(t){return Number(t.split(":")[1])}setChainIds(t){const r=t.filter(s=>this.isCompatibleChainId(s)).map(s=>this.parseChainId(s));r.length&&(this.chainId=r[0],this.events.emit("chainChanged",mo(this.chainId)),this.persist())}setChainId(t){if(this.isCompatibleChainId(t)){const r=this.parseChainId(t);this.chainId=r,this.switchEthereumChain(r)}}parseAccountId(t){const[r,s,o]=t.split(":");return{chainId:`${r}:${s}`,address:o}}setAccounts(t){this.accounts=t.filter(r=>this.parseChainId(this.parseAccountId(r).chainId)===this.chainId).map(r=>this.parseAccountId(r).address),this.events.emit("accountsChanged",this.accounts)}getRpcConfig(t){var r,s;const o=(r=t==null?void 0:t.chains)!=null?r:[],u=(s=t==null?void 0:t.optionalChains)!=null?s:[],l=o.concat(u);if(!l.length)throw new Error("No chains specified in either `chains` or `optionalChains`");const f=o.length?(t==null?void 0:t.methods)||To:[],w=o.length?(t==null?void 0:t.events)||xo:[],b=(t==null?void 0:t.optionalMethods)||[],N=(t==null?void 0:t.optionalEvents)||[],S=(t==null?void 0:t.rpcMap)||this.buildRpcMap(l,t.projectId),R=(t==null?void 0:t.qrModalOptions)||void 0;return{chains:o==null?void 0:o.map(j=>this.formatChainId(j)),optionalChains:u.map(j=>this.formatChainId(j)),methods:f,events:w,optionalMethods:b,optionalEvents:N,rpcMap:S,showQrModal:!!(t!=null&&t.showQrModal),qrModalOptions:R,projectId:t.projectId,metadata:t.metadata}}buildRpcMap(t,r){const s={};return t.forEach(o=>{s[o]=this.getRpcUrl(o,r)}),s}async initialize(t){if(this.rpc=this.getRpcConfig(t),this.chainId=this.rpc.chains.length?Ns(this.rpc.chains):Ns(this.rpc.optionalChains),this.signer=await lP.init({projectId:this.rpc.projectId,metadata:this.rpc.metadata,disableProviderPing:t.disableProviderPing,relayUrl:t.relayUrl,storageOptions:t.storageOptions}),this.registerEventListeners(),await this.loadPersistedSession(),this.rpc.showQrModal){let r;try{const{WalletConnectModal:s}=await Tw(()=>import("./index-CpdwiPRU.js").then(o=>o.i),__vite__mapDeps([0,1,2]));r=s}catch{throw new Error("To use QR modal, please install @walletconnect/modal package")}if(r)try{this.modal=new r(_i({projectId:this.rpc.projectId},this.rpc.qrModalOptions))}catch(s){throw this.signer.logger.error(s),new Error("Could not generate WalletConnectModal Instance")}}}loadConnectOpts(t){if(!t)return;const{chains:r,optionalChains:s,rpcMap:o}=t;r&&wo(r)&&(this.rpc.chains=r.map(u=>this.formatChainId(u)),r.forEach(u=>{this.rpc.rpcMap[u]=(o==null?void 0:o[u])||this.getRpcUrl(u)})),s&&wo(s)&&(this.rpc.optionalChains=[],this.rpc.optionalChains=s==null?void 0:s.map(u=>this.formatChainId(u)),s.forEach(u=>{this.rpc.rpcMap[u]=(o==null?void 0:o[u])||this.getRpcUrl(u)}))}getRpcUrl(t,r){var s;return((s=this.rpc.rpcMap)==null?void 0:s[t])||`${gP}?chainId=eip155:${t}&projectId=${r||this.rpc.projectId}`}async loadPersistedSession(){if(!this.session)return;const t=await this.signer.client.core.storage.getItem(`${this.STORAGE_KEY}/chainId`),r=this.session.namespaces[`${this.namespace}:${t}`]?this.session.namespaces[`${this.namespace}:${t}`]:this.session.namespaces[this.namespace];this.setChainIds(t?[this.formatChainId(t)]:r==null?void 0:r.accounts),this.setAccounts(r==null?void 0:r.accounts)}reset(){this.chainId=1,this.accounts=[]}persist(){this.session&&this.signer.client.core.storage.setItem(`${this.STORAGE_KEY}/chainId`,this.chainId)}parseAccounts(t){return typeof t=="string"||t instanceof String?[this.parseAccount(t)]:t.map(r=>this.parseAccount(r))}}const VP=Jo;export{VP as EthereumProvider,vP as OPTIONAL_EVENTS,yP as OPTIONAL_METHODS,xo as REQUIRED_EVENTS,To as REQUIRED_METHODS,Jo as default};
|