@wormhole-foundation/wormhole-connect 0.3.22-beta.6-development → 0.3.23-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.
Files changed (117) hide show
  1. package/dist/assets/{ccip-kFE7Egv7.js → ccip-BOQxYwA4.js} +1 -1
  2. package/dist/assets/cosmos-DpJHRy9R.js +38 -0
  3. package/dist/assets/{cosmwasm-K-vi4me_.js → cosmwasm-Dngp91th.js} +3 -3
  4. package/dist/assets/{ens-validation.es6-BaHGKtnQ.js → ens-validation.es6-DY5iRcEw.js} +1 -1
  5. package/dist/assets/{evm-DyQ3Up1i.js → evm-CXBiqSp9.js} +26 -26
  6. package/dist/assets/{index-Dqd4pSig.js → index-BhecnthD.js} +1 -1
  7. package/dist/assets/{index-EkdPNlSn.js → index-BphOrDO3.js} +1 -1
  8. package/dist/assets/index-BqmJ5ps2.js +3 -0
  9. package/dist/assets/{index-6ERMnMWg.js → index-CX56YBaw.js} +1 -1
  10. package/dist/assets/{index-Ci7BRqEw.js → index-DBB96cBs.js} +2 -2
  11. package/dist/assets/{index-BC4s7rDX.js → index-DwWFp7_d.js} +1 -1
  12. package/dist/assets/{index.es-BnzPN21S.js → index.es-BWLyUn8A.js} +2 -2
  13. package/dist/assets/{solana-D0TX7DHf.js → solana-C3hk0iY4.js} +2 -2
  14. package/dist/assets/{solanaEmbed.esm-CBOtlgbY.js → solanaEmbed.esm-Bzvc2Yau.js} +1 -1
  15. package/dist/assets/{unsignedTransaction-CWlZwFZw.js → unsignedTransaction-DhgJ038I.js} +1 -1
  16. package/dist/main.js +9 -9
  17. package/dist/src/utils/wallet/evm.d.ts.map +1 -1
  18. package/lib/{algorand-DjUTtqxk.mjs → algorand-kK-8oojN.mjs} +4 -4
  19. package/lib/{algorand-BgVfTPrs.js → algorand-mZNvVCps.js} +1 -1
  20. package/lib/{aptos-xxNUHC8o.mjs → aptos-C8ttM75J.mjs} +4 -4
  21. package/lib/{aptos-JOeRwo7r.js → aptos-CfDDJUg1.js} +2 -2
  22. package/lib/{aptos-CVVZJ32U.js → aptos-Dct_m6Gg.js} +1 -1
  23. package/lib/{aptos-BmyHkXb6.mjs → aptos-DgRBytsM.mjs} +1 -1
  24. package/lib/{browser-B_2ji4LP.mjs → browser-Bf0arMap.mjs} +2 -2
  25. package/lib/{browser-EzqecQNA.js → browser-DVTB-WO0.js} +1 -1
  26. package/lib/{browser-ponyfill-yx2re7P5.mjs → browser-ponyfill-BBGnYIgf.mjs} +1 -1
  27. package/lib/{browser-ponyfill-DH_DuJjr.js → browser-ponyfill-CtGm2L9z.js} +1 -1
  28. package/lib/{ccip-B2atrHiU.js → ccip-BQ7Z_goB.js} +1 -1
  29. package/lib/{ccip-JjlhOiF-.mjs → ccip-DzflCjUZ.mjs} +1 -1
  30. package/lib/{chain-BE2gm6l5.mjs → chain-D1Ms6bPc.mjs} +1 -1
  31. package/lib/{chain-Ck_2P-B0.js → chain-HMnpkrbl.js} +1 -1
  32. package/lib/{cosmos-BqA6T2gQ.mjs → cosmos-BIzn30Lo.mjs} +6 -6
  33. package/lib/cosmos-DFeWBfwa.js +38 -0
  34. package/lib/{cosmwasm-dpMbVaHd.mjs → cosmwasm-CYZkMUNw.mjs} +6 -6
  35. package/lib/{cosmwasm-D8-LmG14.js → cosmwasm-Cw-jZjyR.js} +2 -2
  36. package/lib/{create-CONoHCNu.js → create-BjUw-7kj.js} +1 -1
  37. package/lib/{create-NSzn0Mjd.mjs → create-D7KM2TbJ.mjs} +1 -1
  38. package/lib/{ens-validation.es6-DQMHfHaf.js → ens-validation.es6-CSendvHo.js} +1 -1
  39. package/lib/{ens-validation.es6-SwNVNlnL.mjs → ens-validation.es6-CtTsD9-1.mjs} +2 -2
  40. package/lib/{evm-BzbkH6iw.mjs → evm-2ARfiEbk.mjs} +6 -6
  41. package/lib/{evm-DQDZ6407.js → evm-CyCIXNVR.js} +22 -22
  42. package/lib/{evm-D7ExbjR0.mjs → evm-WeYh1CwH.mjs} +1588 -1596
  43. package/lib/{evm-CNyEgAvC.js → evm-vq8ExBtp.js} +2 -2
  44. package/lib/{index-BRY7PwCe.mjs → index-4Diyx7dk.mjs} +3 -3
  45. package/lib/{index-CHDQPgcS.mjs → index-6g1GFCCq.mjs} +2 -2
  46. package/lib/{index-Dz2gv_XI.mjs → index-9ZdnzH2d.mjs} +5 -5
  47. package/lib/{index-DzX0K2kv.js → index-B1oIabF3.js} +1 -1
  48. package/lib/{index-BiJV97Xz.js → index-B3xO-Vlp.js} +1 -1
  49. package/lib/{index-BG34ZjNr.mjs → index-B4Wo5ciI.mjs} +4 -4
  50. package/lib/{index-NS46gHyL.js → index-B9iI7y0N.js} +1 -1
  51. package/lib/{index-uwGV-Vn3.js → index-BC9O3q0O.js} +1 -1
  52. package/lib/{index-eFtXd025.mjs → index-BFLX4WxO.mjs} +4 -4
  53. package/lib/{index-gM7Zj76T.js → index-BPsT8R1K.js} +1 -1
  54. package/lib/{index-7ZAqkUlU.mjs → index-BSAsS8RD.mjs} +1 -1
  55. package/lib/{index-CD_ekrEI.mjs → index-BYDoWQJF.mjs} +4 -4
  56. package/lib/{index-XH2z1iXX.mjs → index-BaO4Z093.mjs} +3 -3
  57. package/lib/{index-Bd6oWjRV.mjs → index-BeO_qTcl.mjs} +2 -2
  58. package/lib/{index-wj32vNhH.js → index-BhOoVwl8.js} +1 -1
  59. package/lib/{index-DvQrjwKV.mjs → index-BtObdPhn.mjs} +4 -4
  60. package/lib/{index-DW-MTqZy.mjs → index-BzX2BW_O.mjs} +4 -4
  61. package/lib/{index-BgYENi3t.js → index-C2c8vR42.js} +1 -1
  62. package/lib/{index-6ZiA60gP.js → index-C2oD47lT.js} +1 -1
  63. package/lib/{index-DQR7qDM7.mjs → index-C6mDtHMX.mjs} +86 -88
  64. package/lib/{index-hyVeTz05.js → index-C9SlTWZB.js} +1 -1
  65. package/lib/{index-BYInpg-j.js → index-CHc9Fnxq.js} +1 -1
  66. package/lib/{index-Dh1gwYHK.js → index-CIbWgDdT.js} +1 -1
  67. package/lib/{index-ClJ9xKH_.js → index-CJWNAIq4.js} +1 -1
  68. package/lib/{index-SL51oRv6.mjs → index-CK0z65I9.mjs} +4 -4
  69. package/lib/{index-BNxdQt8p.js → index-CMB6PdWJ.js} +1 -1
  70. package/lib/{index-BozvRZRr.mjs → index-CMxa7eqf.mjs} +5 -5
  71. package/lib/{index-CeTuOmVc.mjs → index-CNSXR9tB.mjs} +5 -5
  72. package/lib/{index-BCRhQQj3.mjs → index-CV1VV-zJ.mjs} +3 -3
  73. package/lib/{index-B3EOWCDT.js → index-CxrhBQyI.js} +1 -1
  74. package/lib/{index-BS-5mncz.mjs → index-CyGeUScn.mjs} +5 -5
  75. package/lib/index-D5ZI8OQ5.js +3 -0
  76. package/lib/{index-DsuNqUD-.mjs → index-DAY2C3ja.mjs} +4 -4
  77. package/lib/{index-Ci2ZLtDV.js → index-DHPvJyI7.js} +1 -1
  78. package/lib/{index-THgGZbp0.js → index-DMbFl-Wn.js} +1 -1
  79. package/lib/{index-DkLEkXih.mjs → index-DVFnDDyZ.mjs} +4 -4
  80. package/lib/{index-DuiRxqsN.js → index-DjAqAqeU.js} +1 -1
  81. package/lib/{index-9m7TBK6v.mjs → index-EqiiaA9-.mjs} +4 -4
  82. package/lib/{index-BRSYiZGo.js → index-GooDQIzI.js} +1 -1
  83. package/lib/{index-BtH96J3O.mjs → index-IQlvm76i.mjs} +72 -72
  84. package/lib/{index-iNOxku8i.js → index-Jgr_mZ4Y.js} +1 -1
  85. package/lib/{index-D4hS9TeC.js → index-L9bSVF77.js} +1 -1
  86. package/lib/{index-Rl2MOwgU.mjs → index-f8fcieOQ.mjs} +4 -4
  87. package/lib/{index-C7tR7eyI.js → index-k5MpmioF.js} +1 -1
  88. package/lib/{index-_YUXIUK8.js → index-nxd7L_DD.js} +1 -1
  89. package/lib/{index-GGqf7rB-.mjs → index-qsqnFs3a.mjs} +2 -2
  90. package/lib/{index-Dh6Zmu7D.js → index-rtZ91I3M.js} +8 -8
  91. package/lib/{index-Fv3-CE1p.mjs → index-yG0Rs8Eb.mjs} +2 -2
  92. package/lib/{index.es-CKpdDKzf.mjs → index.es-CEImaU7l.mjs} +5 -5
  93. package/lib/{index.es-Bj1J4jCu.js → index.es-gwZvea5f.js} +2 -2
  94. package/lib/index.js +1 -1
  95. package/lib/index.mjs +1 -1
  96. package/lib/{libsodium-wrappers-Dta7f8ar.js → libsodium-wrappers-Bez_KKB1.js} +1 -1
  97. package/lib/{libsodium-wrappers-B_H4aRTY.mjs → libsodium-wrappers-Cz0uCBox.mjs} +1 -1
  98. package/lib/{sei-UDsMKtbc.mjs → sei-BYR1KxHW.mjs} +2 -2
  99. package/lib/{sei-DGdkVzbE.js → sei-BrTMqCke.js} +1 -1
  100. package/lib/{solana-CkviJVw5.js → solana-0RqhvUa1.js} +1 -1
  101. package/lib/{solana-DPaJOryR.mjs → solana-BLtdLKKq.mjs} +3 -3
  102. package/lib/{solana-C9YVHn-W.mjs → solana-CRbkLsWk.mjs} +6 -6
  103. package/lib/{solana-BZhGAwx6.js → solana-D3NR_tHO.js} +2 -2
  104. package/lib/{solanaEmbed.esm-DnssMltk.mjs → solanaEmbed.esm-CaR2Md_k.mjs} +2 -2
  105. package/lib/{solanaEmbed.esm-C0UDKbGU.js → solanaEmbed.esm-E-eNJK6U.js} +1 -1
  106. package/lib/src/utils/wallet/evm.d.ts.map +1 -1
  107. package/lib/{sui-8btJKilJ.mjs → sui-BZ_uS8zP.mjs} +1 -1
  108. package/lib/{sui-c83-J_ow.js → sui-CErMMm5A.js} +2 -2
  109. package/lib/{sui-CUfyUGKk.mjs → sui-DeoYmh3N.mjs} +4 -4
  110. package/lib/{sui-6-wJdSqv.js → sui-T81Wy4dP.js} +1 -1
  111. package/lib/{unsignedTransaction-CWjweDuU.js → unsignedTransaction-DCa77QzH.js} +1 -1
  112. package/lib/{unsignedTransaction-C293HA6V.mjs → unsignedTransaction-DJSAg3zT.mjs} +2 -2
  113. package/package.json +1 -1
  114. package/dist/assets/cosmos-BUbSl2Zd.js +0 -38
  115. package/dist/assets/index-5a-xin_S.js +0 -3
  116. package/lib/cosmos-arjQyma2.js +0 -38
  117. package/lib/index-CgyVAtoK.js +0 -3
@@ -1 +1 @@
1
- "use strict";var _=Object.defineProperty;var v=(h,e,t)=>e in h?_(h,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):h[e]=t;var c=(h,e,t)=>(v(h,typeof e!="symbol"?e+"":e,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./index-ClJ9xKH_.js");const i=require("./cosmwasm-D8-LmG14.js"),o=require("./unsignedTransaction-CWjweDuU.js"),r=require("./index-Dh6Zmu7D.js"),C=require("./chain-Ck_2P-B0.js");class l{constructor(e,t,s,n){c(this,"network");c(this,"chain");c(this,"rpc");c(this,"contracts");c(this,"tokenBridge");c(this,"translator");this.network=e,this.chain=t,this.rpc=s,this.contracts=n;const a=this.contracts.tokenBridge;if(!a)throw new Error(`Wormhole Token Bridge contract for domain ${t} not found`);if(this.tokenBridge=a,this.translator=this.contracts.translator,this.translator!==void 0&&this.translator==="")throw new Error("Translator address may be undefined but not empty string")}static async fromRpc(e,t){const[s,n]=await i.CosmwasmPlatform.chainFromRpc(e),a=t[n];if(a.network!==s)throw new Error(`Network mismatch: ${a.network} != ${s}`);return new l(s,n,e,t[n].contracts)}async isWrappedAsset(e){try{return await this.getOriginalAsset(e),!0}catch{}return!1}async hasWrappedAsset(e){try{return await this.getWrappedAsset(e),!0}catch{}return!1}async getWrappedAsset(e){if(e.chain===this.chain)throw new Error(`Expected foreign chain, got ${e.chain}`);if(r.isNative(e.address))throw new Error("Native asset cannot be a wrapped asset");const t=r.b64.encode(e.address.toUniversalAddress().toUint8Array()),{address:s}=await this.rpc.queryContractSmart(this.tokenBridge,{wrapped_registry:{chain:r.toChainId(e.chain),address:t}});return r.toNative(this.chain,s)}async getOriginalAsset(e){let t=new i.CosmwasmAddress(e);t.denomType==="factory"&&(t=i.Gateway.factoryToCw20(t));const s=await this.rpc.queryContractSmart(t.toString(),{wrapped_asset_info:{}}),n=r.toChain(s.asset_chain),a=r.b64.decode(s.asset_address);return{chain:n,address:new r.UniversalAddress(new Uint8Array(a))}}async isTransferCompleted(e){const t=r.b64.encode(r.serialize(e));return(await this.rpc.queryContractSmart(this.tokenBridge,{is_vaa_redeemed:{vaa:t}})).is_redeemed}async*createAttestation(e,t){if(!t)throw new Error("Payer required to create attestation");const s=new i.CosmwasmAddress(e).toString(),n=new i.CosmwasmAddress(t).toString(),a=0,w=r.isNative(e)?{native_token:{denom:i.CosmwasmPlatform.getNativeDenom(this.network,this.chain)}}:{token:{contract_addr:s}};yield this.createUnsignedTx({msgs:[o.buildExecuteMsg(n,this.tokenBridge,{create_asset_meta:{asset_info:w,nonce:a}})],fee:o.computeFee(this.network,this.chain),memo:"Wormhole - Create Attestation"},"TokenBridge.createAttestation")}async*submitAttestation(e,t){if(!t)throw new Error("Payer required to submit attestation");const s=new i.CosmwasmAddress(t).toString();yield this.createUnsignedTx({msgs:[o.buildExecuteMsg(s,this.tokenBridge,{submit_vaa:{data:r.serialize(e)}})],fee:o.computeFee(this.network,this.chain),memo:"Wormhole - Submit Attestation"},"TokenBridge.submitAttestation")}async*transfer(e,t,s,n,a){const w=Math.round(Math.random()*1e5),u="0",k=r.toChainId(t.chain),A=r.b64.encode(t.address.toUniversalAddress().toUint8Array()),T=i.CosmwasmPlatform.getNativeDenom(this.network,this.chain),f=r.isNative(s);let d=f?T:s.toString();d.startsWith("factory")&&(d=i.Gateway.factoryToCw20(new i.CosmwasmAddress(d)).toString());const g=new i.CosmwasmAddress(e).toString(),p=m=>{const y={asset:{amount:n.toString(),info:m},recipient_chain:k,recipient:A,fee:u,nonce:w};return a?{initiate_transfer_with_payload:{...y,payload:r.b64.encode(a)}}:{initiate_transfer:y}};if(f){const m=[o.buildExecuteMsg(g,this.tokenBridge,{deposit_tokens:{}},[{amount:n.toString(),denom:d}]),o.buildExecuteMsg(g,this.tokenBridge,p({native_token:{denom:d}}))];yield this.createUnsignedTx({msgs:m,fee:o.computeFee(this.network,this.chain),memo:"Wormhole - Initiate Native Transfer"},"TokenBridge.transferNative")}else{const m=[o.buildExecuteMsg(g,d,{increase_allowance:{spender:this.tokenBridge,amount:n.toString(),expires:{never:{}}}}),o.buildExecuteMsg(g,this.tokenBridge,p({token:{contract_addr:d}}),[{amount:n.toString(),denom:d}])];yield this.createUnsignedTx({msgs:m,fee:o.computeFee(this.network,this.chain),memo:"Wormhole - Initiate Transfer"},"TokenBridge.transfer")}}async*redeem(e,t,s=!0){const n=r.b64.encode(r.serialize(t)),a=new i.CosmwasmAddress(e).toString(),u=this.translator&&new i.CosmwasmAddress(this.translator).toUniversalAddress().equals(t.payload.to.address)?o.buildExecuteMsg(a,this.translator,{complete_transfer_and_convert:{vaa:n}}):o.buildExecuteMsg(a,this.tokenBridge,{submit_vaa:{data:n}});yield this.createUnsignedTx({msgs:[u],fee:o.computeFee(this.network,this.chain),memo:"Wormhole - Complete Transfer"},"TokenBridge.redeem")}async parseTransactionDetails(e){throw new Error("Not implemented")}async getWrappedNative(){return r.toNative(this.chain,i.CosmwasmPlatform.getNativeDenom(this.network,this.chain))}createUnsignedTx(e,t,s=!1){return new o.CosmwasmUnsignedTransaction(e,this.network,this.chain,t,s)}}C.registerProtocol(i._platform,"TokenBridge",l);exports.CosmwasmTokenBridge=l;
1
+ "use strict";var _=Object.defineProperty;var v=(h,e,t)=>e in h?_(h,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):h[e]=t;var c=(h,e,t)=>(v(h,typeof e!="symbol"?e+"":e,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./index-CJWNAIq4.js");const i=require("./cosmwasm-Cw-jZjyR.js"),o=require("./unsignedTransaction-DCa77QzH.js"),r=require("./index-rtZ91I3M.js"),C=require("./chain-HMnpkrbl.js");class l{constructor(e,t,s,n){c(this,"network");c(this,"chain");c(this,"rpc");c(this,"contracts");c(this,"tokenBridge");c(this,"translator");this.network=e,this.chain=t,this.rpc=s,this.contracts=n;const a=this.contracts.tokenBridge;if(!a)throw new Error(`Wormhole Token Bridge contract for domain ${t} not found`);if(this.tokenBridge=a,this.translator=this.contracts.translator,this.translator!==void 0&&this.translator==="")throw new Error("Translator address may be undefined but not empty string")}static async fromRpc(e,t){const[s,n]=await i.CosmwasmPlatform.chainFromRpc(e),a=t[n];if(a.network!==s)throw new Error(`Network mismatch: ${a.network} != ${s}`);return new l(s,n,e,t[n].contracts)}async isWrappedAsset(e){try{return await this.getOriginalAsset(e),!0}catch{}return!1}async hasWrappedAsset(e){try{return await this.getWrappedAsset(e),!0}catch{}return!1}async getWrappedAsset(e){if(e.chain===this.chain)throw new Error(`Expected foreign chain, got ${e.chain}`);if(r.isNative(e.address))throw new Error("Native asset cannot be a wrapped asset");const t=r.b64.encode(e.address.toUniversalAddress().toUint8Array()),{address:s}=await this.rpc.queryContractSmart(this.tokenBridge,{wrapped_registry:{chain:r.toChainId(e.chain),address:t}});return r.toNative(this.chain,s)}async getOriginalAsset(e){let t=new i.CosmwasmAddress(e);t.denomType==="factory"&&(t=i.Gateway.factoryToCw20(t));const s=await this.rpc.queryContractSmart(t.toString(),{wrapped_asset_info:{}}),n=r.toChain(s.asset_chain),a=r.b64.decode(s.asset_address);return{chain:n,address:new r.UniversalAddress(new Uint8Array(a))}}async isTransferCompleted(e){const t=r.b64.encode(r.serialize(e));return(await this.rpc.queryContractSmart(this.tokenBridge,{is_vaa_redeemed:{vaa:t}})).is_redeemed}async*createAttestation(e,t){if(!t)throw new Error("Payer required to create attestation");const s=new i.CosmwasmAddress(e).toString(),n=new i.CosmwasmAddress(t).toString(),a=0,w=r.isNative(e)?{native_token:{denom:i.CosmwasmPlatform.getNativeDenom(this.network,this.chain)}}:{token:{contract_addr:s}};yield this.createUnsignedTx({msgs:[o.buildExecuteMsg(n,this.tokenBridge,{create_asset_meta:{asset_info:w,nonce:a}})],fee:o.computeFee(this.network,this.chain),memo:"Wormhole - Create Attestation"},"TokenBridge.createAttestation")}async*submitAttestation(e,t){if(!t)throw new Error("Payer required to submit attestation");const s=new i.CosmwasmAddress(t).toString();yield this.createUnsignedTx({msgs:[o.buildExecuteMsg(s,this.tokenBridge,{submit_vaa:{data:r.serialize(e)}})],fee:o.computeFee(this.network,this.chain),memo:"Wormhole - Submit Attestation"},"TokenBridge.submitAttestation")}async*transfer(e,t,s,n,a){const w=Math.round(Math.random()*1e5),u="0",k=r.toChainId(t.chain),A=r.b64.encode(t.address.toUniversalAddress().toUint8Array()),T=i.CosmwasmPlatform.getNativeDenom(this.network,this.chain),f=r.isNative(s);let d=f?T:s.toString();d.startsWith("factory")&&(d=i.Gateway.factoryToCw20(new i.CosmwasmAddress(d)).toString());const g=new i.CosmwasmAddress(e).toString(),p=m=>{const y={asset:{amount:n.toString(),info:m},recipient_chain:k,recipient:A,fee:u,nonce:w};return a?{initiate_transfer_with_payload:{...y,payload:r.b64.encode(a)}}:{initiate_transfer:y}};if(f){const m=[o.buildExecuteMsg(g,this.tokenBridge,{deposit_tokens:{}},[{amount:n.toString(),denom:d}]),o.buildExecuteMsg(g,this.tokenBridge,p({native_token:{denom:d}}))];yield this.createUnsignedTx({msgs:m,fee:o.computeFee(this.network,this.chain),memo:"Wormhole - Initiate Native Transfer"},"TokenBridge.transferNative")}else{const m=[o.buildExecuteMsg(g,d,{increase_allowance:{spender:this.tokenBridge,amount:n.toString(),expires:{never:{}}}}),o.buildExecuteMsg(g,this.tokenBridge,p({token:{contract_addr:d}}),[{amount:n.toString(),denom:d}])];yield this.createUnsignedTx({msgs:m,fee:o.computeFee(this.network,this.chain),memo:"Wormhole - Initiate Transfer"},"TokenBridge.transfer")}}async*redeem(e,t,s=!0){const n=r.b64.encode(r.serialize(t)),a=new i.CosmwasmAddress(e).toString(),u=this.translator&&new i.CosmwasmAddress(this.translator).toUniversalAddress().equals(t.payload.to.address)?o.buildExecuteMsg(a,this.translator,{complete_transfer_and_convert:{vaa:n}}):o.buildExecuteMsg(a,this.tokenBridge,{submit_vaa:{data:n}});yield this.createUnsignedTx({msgs:[u],fee:o.computeFee(this.network,this.chain),memo:"Wormhole - Complete Transfer"},"TokenBridge.redeem")}async parseTransactionDetails(e){throw new Error("Not implemented")}async getWrappedNative(){return r.toNative(this.chain,i.CosmwasmPlatform.getNativeDenom(this.network,this.chain))}createUnsignedTx(e,t,s=!1){return new o.CosmwasmUnsignedTransaction(e,this.network,this.chain,t,s)}}C.registerProtocol(i._platform,"TokenBridge",l);exports.CosmwasmTokenBridge=l;
@@ -1,3 +1,3 @@
1
- "use strict";var yt=Object.defineProperty;var pt=(r,e,t)=>e in r?yt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var V=(r,e,t)=>(pt(r,typeof e!="symbol"?e+"":e,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./index-Dh6Zmu7D.js"),ht=require("./chain-Ck_2P-B0.js"),$=require("./solana-BZhGAwx6.js"),Le=require("./index-DnneI5--.js");class bt extends TypeError{constructor(e,t){let s;const{message:i,...a}=e,{path:u}=e,m=u.length===0?i:"At path: "+u.join(".")+" -- "+i;super(m),Object.assign(this,a),this.name=this.constructor.name,this.failures=()=>{var l;return(l=s)!=null?l:s=[e,...t()]}}}function St(r){return q(r)&&typeof r[Symbol.iterator]=="function"}function q(r){return typeof r=="object"&&r!=null}function W(r){return typeof r=="string"?JSON.stringify(r):""+r}function kt(r){const{done:e,value:t}=r.next();return e?void 0:t}function Mt(r,e,t,s){if(r===!0)return;r===!1?r={}:typeof r=="string"&&(r={message:r});const{path:i,branch:a}=e,{type:u}=t,{refinement:m,message:l="Expected a value of type `"+u+"`"+(m?" with refinement `"+m+"`":"")+", but received: `"+W(s)+"`"}=r;return{value:s,type:u,refinement:m,key:i[i.length-1],path:i,branch:a,...r,message:l}}function*Re(r,e,t,s){St(r)||(r=[r]);for(const i of r){const a=Mt(i,e,t,s);a&&(yield a)}}function*ke(r,e,t={}){const{path:s=[],branch:i=[r],coerce:a=!1,mask:u=!1}=t,m={path:s,branch:i};if(a&&(r=e.coercer(r,m),u&&e.type!=="type"&&q(e.schema)&&q(r)&&!Array.isArray(r)))for(const b in r)e.schema[b]===void 0&&delete r[b];let l=!0;for(const b of e.validator(r,m))l=!1,yield[b,void 0];for(let[b,k,M]of e.entries(r,m)){const I=ke(k,M,{path:b===void 0?s:[...s,b],branch:b===void 0?i:[...i,k],coerce:a,mask:u});for(const v of I)v[0]?(l=!1,yield[v[0],void 0]):a&&(k=v[1],b===void 0?r=k:r instanceof Map?r.set(b,k):r instanceof Set?r.add(k):q(r)&&(r[b]=k))}if(l)for(const b of e.refiner(r,m))l=!1,yield[b,void 0];l&&(yield[void 0,r])}let U=class{constructor(e){const{type:t,schema:s,validator:i,refiner:a,coercer:u=l=>l,entries:m=function*(){}}=e;this.type=t,this.schema=s,this.entries=m,this.coercer=u,i?this.validator=(l,b)=>{const k=i(l,b);return Re(k,b,this,l)}:this.validator=()=>[],a?this.refiner=(l,b)=>{const k=a(l,b);return Re(k,b,this,l)}:this.refiner=()=>[]}assert(e){return wt(e,this)}create(e){return re(e,this)}is(e){return Ue(e,this)}mask(e){return Pt(e,this)}validate(e,t={}){return oe(e,this,t)}};function wt(r,e){const t=oe(r,e);if(t[0])throw t[0]}function re(r,e){const t=oe(r,e,{coerce:!0});if(t[0])throw t[0];return t[1]}function Pt(r,e){const t=oe(r,e,{coerce:!0,mask:!0});if(t[0])throw t[0];return t[1]}function Ue(r,e){return!oe(r,e)[0]}function oe(r,e,t={}){const s=ke(r,e,t),i=kt(s);return i[0]?[new bt(i[0],function*(){for(const u of s)u[0]&&(yield u[0])}),void 0]:[void 0,i[1]]}function H(r,e){return new U({type:r,schema:null,validator:e})}function At(){return H("any",()=>!0)}function g(r){return new U({type:"array",schema:r,*entries(e){if(r&&Array.isArray(e))for(const[t,s]of e.entries())yield[t,s,r]},coercer(e){return Array.isArray(e)?e.slice():e},validator(e){return Array.isArray(e)||"Expected an array value, but received: "+W(e)}})}function L(){return H("boolean",r=>typeof r=="boolean")}function Me(r){return H("instance",e=>e instanceof r||"Expected a `"+r.name+"` instance, but received: "+W(e))}function A(r){const e=W(r),t=typeof r;return new U({type:"literal",schema:t==="string"||t==="number"||t==="boolean"?r:null,validator(s){return s===r||"Expected the literal `"+e+"`, but received: "+W(s)}})}function It(){return H("never",()=>!1)}function f(r){return new U({...r,validator:(e,t)=>e===null||r.validator(e,t),refiner:(e,t)=>e===null||r.refiner(e,t)})}function o(){return H("number",r=>typeof r=="number"&&!isNaN(r)||"Expected a number, but received: "+W(r))}function p(r){return new U({...r,validator:(e,t)=>e===void 0||r.validator(e,t),refiner:(e,t)=>e===void 0||r.refiner(e,t)})}function qe(r,e){return new U({type:"record",schema:null,*entries(t){if(q(t))for(const s in t){const i=t[s];yield[s,s,r],yield[s,i,e]}},validator(t){return q(t)||"Expected an object, but received: "+W(t)}})}function d(){return H("string",r=>typeof r=="string"||"Expected a string, but received: "+W(r))}function we(r){const e=It();return new U({type:"tuple",schema:null,*entries(t){if(Array.isArray(t)){const s=Math.max(r.length,t.length);for(let i=0;i<s;i++)yield[i,t[i],r[i]||e]}},validator(t){return Array.isArray(t)||"Expected an array, but received: "+W(t)}})}function c(r){const e=Object.keys(r);return new U({type:"type",schema:r,*entries(t){if(q(t))for(const s of e)yield[s,t[s],r[s]]},validator(t){return q(t)||"Expected an object, but received: "+W(t)}})}function R(r){const e=r.map(t=>t.type).join(" | ");return new U({type:"union",schema:null,validator(t,s){const i=[];for(const a of r){const[...u]=ke(t,a,s),[m]=u;if(m[0])for(const[l]of u)l&&i.push(l);else return[]}return["Expected the value to satisfy a union of `"+e+"`, but received: "+W(t),...i]}})}function ue(){return H("unknown",()=>!0)}function ce(r,e,t){return new U({...r,coercer:(s,i)=>Ue(s,e)?r.coercer(t(s,i),i):r.coercer(s,i)})}const Ee=()=>{const r=n.ed25519.utils.randomPrivateKey(),e=he(r),t=new Uint8Array(64);return t.set(r),t.set(e,32),{publicKey:e,secretKey:t}},he=n.ed25519.getPublicKey;function Ce(r){try{return n.ed25519.ExtendedPoint.fromHex(r),!0}catch{return!1}}const vt=(r,e)=>n.ed25519.sign(r,e.slice(0,32)),Tt=n.ed25519.verify,K=r=>n.bufferPolyfill.Buffer.isBuffer(r)?r:r instanceof Uint8Array?n.bufferPolyfill.Buffer.from(r.buffer,r.byteOffset,r.byteLength):n.bufferPolyfill.Buffer.from(r);class xt{constructor(e){Object.assign(this,e)}encode(){return n.bufferPolyfill.Buffer.from(n.serialize_1(de,this))}static decode(e){return n.deserialize_1(de,this,e)}static decodeUnchecked(e){return n.deserializeUnchecked_1(de,this,e)}}const de=new Map;var Fe;let Ve;const Bt=32,ne=32;function Kt(r){return r._bn!==void 0}let Oe=1;Ve=Symbol.toStringTag;class y extends xt{constructor(e){if(super({}),this._bn=void 0,Kt(e))this._bn=e._bn;else{if(typeof e=="string"){const t=n.bs58.decode(e);if(t.length!=ne)throw new Error("Invalid public key input");this._bn=new n.BN(t)}else this._bn=new n.BN(e);if(this._bn.byteLength()>ne)throw new Error("Invalid public key input")}}static unique(){const e=new y(Oe);return Oe+=1,new y(e.toBuffer())}equals(e){return this._bn.eq(e._bn)}toBase58(){return n.bs58.encode(this.toBytes())}toJSON(){return this.toBase58()}toBytes(){const e=this.toBuffer();return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}toBuffer(){const e=this._bn.toArrayLike(n.bufferPolyfill.Buffer);if(e.length===ne)return e;const t=n.bufferPolyfill.Buffer.alloc(32);return e.copy(t,32-e.length),t}get[Ve](){return`PublicKey(${this.toString()})`}toString(){return this.toBase58()}static async createWithSeed(e,t,s){const i=n.bufferPolyfill.Buffer.concat([e.toBuffer(),n.bufferPolyfill.Buffer.from(t),s.toBuffer()]),a=n.sha256(i);return new y(a)}static createProgramAddressSync(e,t){let s=n.bufferPolyfill.Buffer.alloc(0);e.forEach(function(a){if(a.length>Bt)throw new TypeError("Max seed length exceeded");s=n.bufferPolyfill.Buffer.concat([s,K(a)])}),s=n.bufferPolyfill.Buffer.concat([s,t.toBuffer(),n.bufferPolyfill.Buffer.from("ProgramDerivedAddress")]);const i=n.sha256(s);if(Ce(i))throw new Error("Invalid seeds, address must fall off the curve");return new y(i)}static async createProgramAddress(e,t){return this.createProgramAddressSync(e,t)}static findProgramAddressSync(e,t){let s=255,i;for(;s!=0;){try{const a=e.concat(n.bufferPolyfill.Buffer.from([s]));i=this.createProgramAddressSync(a,t)}catch(a){if(a instanceof TypeError)throw a;s--;continue}return[i,s]}throw new Error("Unable to find a viable program address nonce")}static async findProgramAddress(e,t){return this.findProgramAddressSync(e,t)}static isOnCurve(e){const t=new y(e);return Ce(t.toBytes())}}Fe=y;y.default=new Fe("11111111111111111111111111111111");de.set(y,{kind:"struct",fields:[["_bn","u256"]]});new y("BPFLoader1111111111111111111111111111111111");const be=1232,Rt=127,He=64;class Ne{constructor(e,t){this.staticAccountKeys=void 0,this.accountKeysFromLookups=void 0,this.staticAccountKeys=e,this.accountKeysFromLookups=t}keySegments(){const e=[this.staticAccountKeys];return this.accountKeysFromLookups&&(e.push(this.accountKeysFromLookups.writable),e.push(this.accountKeysFromLookups.readonly)),e}get(e){for(const t of this.keySegments()){if(e<t.length)return t[e];e-=t.length}}get length(){return this.keySegments().flat().length}compileInstructions(e){if(this.length>256)throw new Error("Account index overflow encountered during compilation");const s=new Map;this.keySegments().flat().forEach((a,u)=>{s.set(a.toBase58(),u)});const i=a=>{const u=s.get(a.toBase58());if(u===void 0)throw new Error("Encountered an unknown instruction account key during compilation");return u};return e.map(a=>({programIdIndex:i(a.programId),accountKeyIndexes:a.keys.map(u=>i(u.pubkey)),data:a.data}))}}const S=(r="publicKey")=>n.blob(32,r),J=(r="string")=>{const e=n.struct([n.u32("length"),n.u32("lengthPadding"),n.blob(n.offset(n.u32(),-8),"chars")],r),t=e.decode.bind(e),s=e.encode.bind(e),i=e;return i.decode=(a,u)=>t(a,u).chars.toString(),i.encode=(a,u,m)=>{const l={chars:n.bufferPolyfill.Buffer.from(a,"utf8")};return s(l,u,m)},i.alloc=a=>n.u32().span+n.u32().span+n.bufferPolyfill.Buffer.from(a,"utf8").length,i},Et=(r="authorized")=>n.struct([S("staker"),S("withdrawer")],r),Ct=(r="lockup")=>n.struct([n.ns64("unixTimestamp"),n.ns64("epoch"),S("custodian")],r),Ot=(r="voteInit")=>n.struct([S("nodePubkey"),S("authorizedVoter"),S("authorizedWithdrawer"),n.u8("commission")],r),Nt=(r="voteAuthorizeWithSeedArgs")=>n.struct([n.u32("voteAuthorizationType"),S("currentAuthorityDerivedKeyOwnerPubkey"),J("currentAuthorityDerivedKeySeed"),S("newAuthorized")],r);function je(r,e){const t=i=>{if(i.span>=0)return i.span;if(typeof i.alloc=="function")return i.alloc(e[i.property]);if("count"in i&&"elementLayout"in i){const a=e[i.property];if(Array.isArray(a))return a.length*t(i.elementLayout)}else if("fields"in i)return je({layout:i},e[i.property]);return 0};let s=0;return r.layout.fields.forEach(i=>{s+=t(i)}),s}function Q(r){let e=0,t=0;for(;;){let s=r.shift();if(e|=(s&127)<<t*7,t+=1,!(s&128))break}return e}function ee(r,e){let t=e;for(;;){let s=t&127;if(t>>=7,t==0){r.push(s);break}else s|=128,r.push(s)}}function C(r,e){if(!r)throw new Error(e||"Assertion failed")}class Pe{constructor(e,t){this.payer=void 0,this.keyMetaMap=void 0,this.payer=e,this.keyMetaMap=t}static compile(e,t){const s=new Map,i=u=>{const m=u.toBase58();let l=s.get(m);return l===void 0&&(l={isSigner:!1,isWritable:!1,isInvoked:!1},s.set(m,l)),l},a=i(t);a.isSigner=!0,a.isWritable=!0;for(const u of e){i(u.programId).isInvoked=!0;for(const m of u.keys){const l=i(m.pubkey);l.isSigner||(l.isSigner=m.isSigner),l.isWritable||(l.isWritable=m.isWritable)}}return new Pe(t,s)}getMessageComponents(){const e=[...this.keyMetaMap.entries()];C(e.length<=256,"Max static account keys length exceeded");const t=e.filter(([,l])=>l.isSigner&&l.isWritable),s=e.filter(([,l])=>l.isSigner&&!l.isWritable),i=e.filter(([,l])=>!l.isSigner&&l.isWritable),a=e.filter(([,l])=>!l.isSigner&&!l.isWritable),u={numRequiredSignatures:t.length+s.length,numReadonlySignedAccounts:s.length,numReadonlyUnsignedAccounts:a.length};{C(t.length>0,"Expected at least one writable signer key");const[l]=t[0];C(l===this.payer.toBase58(),"Expected first writable signer key to be the fee payer")}const m=[...t.map(([l])=>new y(l)),...s.map(([l])=>new y(l)),...i.map(([l])=>new y(l)),...a.map(([l])=>new y(l))];return[u,m]}extractTableLookup(e){const[t,s]=this.drainKeysFoundInLookupTable(e.state.addresses,u=>!u.isSigner&&!u.isInvoked&&u.isWritable),[i,a]=this.drainKeysFoundInLookupTable(e.state.addresses,u=>!u.isSigner&&!u.isInvoked&&!u.isWritable);if(!(t.length===0&&i.length===0))return[{accountKey:e.key,writableIndexes:t,readonlyIndexes:i},{writable:s,readonly:a}]}drainKeysFoundInLookupTable(e,t){const s=new Array,i=new Array;for(const[a,u]of this.keyMetaMap.entries())if(t(u)){const m=new y(a),l=e.findIndex(b=>b.equals(m));l>=0&&(C(l<256,"Max lookup table index exceeded"),s.push(l),i.push(m),this.keyMetaMap.delete(a))}return[s,i]}}const Ge="Reached end of buffer unexpectedly";function le(r){if(r.length===0)throw new Error(Ge);return r.shift()}function te(r,...e){const[t]=e;if(e.length===2?t+(e[1]??0)>r.length:t>=r.length)throw new Error(Ge);return r.splice(...e)}class ie{constructor(e){this.header=void 0,this.accountKeys=void 0,this.recentBlockhash=void 0,this.instructions=void 0,this.indexToProgramIds=new Map,this.header=e.header,this.accountKeys=e.accountKeys.map(t=>new y(t)),this.recentBlockhash=e.recentBlockhash,this.instructions=e.instructions,this.instructions.forEach(t=>this.indexToProgramIds.set(t.programIdIndex,this.accountKeys[t.programIdIndex]))}get version(){return"legacy"}get staticAccountKeys(){return this.accountKeys}get compiledInstructions(){return this.instructions.map(e=>({programIdIndex:e.programIdIndex,accountKeyIndexes:e.accounts,data:n.bs58.decode(e.data)}))}get addressTableLookups(){return[]}getAccountKeys(){return new Ne(this.staticAccountKeys)}static compile(e){const t=Pe.compile(e.instructions,e.payerKey),[s,i]=t.getMessageComponents(),u=new Ne(i).compileInstructions(e.instructions).map(m=>({programIdIndex:m.programIdIndex,accounts:m.accountKeyIndexes,data:n.bs58.encode(m.data)}));return new ie({header:s,accountKeys:i,recentBlockhash:e.recentBlockhash,instructions:u})}isAccountSigner(e){return e<this.header.numRequiredSignatures}isAccountWritable(e){const t=this.header.numRequiredSignatures;if(e>=this.header.numRequiredSignatures){const s=e-t,a=this.accountKeys.length-t-this.header.numReadonlyUnsignedAccounts;return s<a}else{const s=t-this.header.numReadonlySignedAccounts;return e<s}}isProgramId(e){return this.indexToProgramIds.has(e)}programIds(){return[...this.indexToProgramIds.values()]}nonProgramIds(){return this.accountKeys.filter((e,t)=>!this.isProgramId(t))}serialize(){const e=this.accountKeys.length;let t=[];ee(t,e);const s=this.instructions.map(M=>{const{accounts:I,programIdIndex:v}=M,E=Array.from(n.bs58.decode(M.data));let h=[];ee(h,I.length);let w=[];return ee(w,E.length),{programIdIndex:v,keyIndicesCount:n.bufferPolyfill.Buffer.from(h),keyIndices:I,dataLength:n.bufferPolyfill.Buffer.from(w),data:E}});let i=[];ee(i,s.length);let a=n.bufferPolyfill.Buffer.alloc(be);n.bufferPolyfill.Buffer.from(i).copy(a);let u=i.length;s.forEach(M=>{const v=n.struct([n.u8("programIdIndex"),n.blob(M.keyIndicesCount.length,"keyIndicesCount"),n.seq(n.u8("keyIndex"),M.keyIndices.length,"keyIndices"),n.blob(M.dataLength.length,"dataLength"),n.seq(n.u8("userdatum"),M.data.length,"data")]).encode(M,a,u);u+=v}),a=a.slice(0,u);const m=n.struct([n.blob(1,"numRequiredSignatures"),n.blob(1,"numReadonlySignedAccounts"),n.blob(1,"numReadonlyUnsignedAccounts"),n.blob(t.length,"keyCount"),n.seq(S("key"),e,"keys"),S("recentBlockhash")]),l={numRequiredSignatures:n.bufferPolyfill.Buffer.from([this.header.numRequiredSignatures]),numReadonlySignedAccounts:n.bufferPolyfill.Buffer.from([this.header.numReadonlySignedAccounts]),numReadonlyUnsignedAccounts:n.bufferPolyfill.Buffer.from([this.header.numReadonlyUnsignedAccounts]),keyCount:n.bufferPolyfill.Buffer.from(t),keys:this.accountKeys.map(M=>K(M.toBytes())),recentBlockhash:n.bs58.decode(this.recentBlockhash)};let b=n.bufferPolyfill.Buffer.alloc(2048);const k=m.encode(l,b);return a.copy(b,k),b.slice(0,k+a.length)}static from(e){let t=[...e];const s=le(t);if(s!==(s&Rt))throw new Error("Versioned messages must be deserialized with VersionedMessage.deserialize()");const i=le(t),a=le(t),u=Q(t);let m=[];for(let I=0;I<u;I++){const v=te(t,0,ne);m.push(new y(n.bufferPolyfill.Buffer.from(v)))}const l=te(t,0,ne),b=Q(t);let k=[];for(let I=0;I<b;I++){const v=le(t),E=Q(t),h=te(t,0,E),w=Q(t),T=te(t,0,w),F=n.bs58.encode(n.bufferPolyfill.Buffer.from(T));k.push({programIdIndex:v,accounts:h,data:F})}const M={header:{numRequiredSignatures:s,numReadonlySignedAccounts:i,numReadonlyUnsignedAccounts:a},recentBlockhash:n.bs58.encode(n.bufferPolyfill.Buffer.from(l)),accountKeys:m,instructions:k};return new ie(M)}}const _t=n.bufferPolyfill.Buffer.alloc(He).fill(0);class z{constructor(e){this.keys=void 0,this.programId=void 0,this.data=n.bufferPolyfill.Buffer.alloc(0),this.programId=e.programId,this.keys=e.keys,e.data&&(this.data=e.data)}toJSON(){return{keys:this.keys.map(({pubkey:e,isSigner:t,isWritable:s})=>({pubkey:e.toJSON(),isSigner:t,isWritable:s})),programId:this.programId.toJSON(),data:[...this.data]}}}class X{get signature(){return this.signatures.length>0?this.signatures[0].signature:null}constructor(e){if(this.signatures=[],this.feePayer=void 0,this.instructions=[],this.recentBlockhash=void 0,this.lastValidBlockHeight=void 0,this.nonceInfo=void 0,this.minNonceContextSlot=void 0,this._message=void 0,this._json=void 0,!!e)if(e.feePayer&&(this.feePayer=e.feePayer),e.signatures&&(this.signatures=e.signatures),Object.prototype.hasOwnProperty.call(e,"nonceInfo")){const{minContextSlot:t,nonceInfo:s}=e;this.minNonceContextSlot=t,this.nonceInfo=s}else if(Object.prototype.hasOwnProperty.call(e,"lastValidBlockHeight")){const{blockhash:t,lastValidBlockHeight:s}=e;this.recentBlockhash=t,this.lastValidBlockHeight=s}else{const{recentBlockhash:t,nonceInfo:s}=e;s&&(this.nonceInfo=s),this.recentBlockhash=t}}toJSON(){return{recentBlockhash:this.recentBlockhash||null,feePayer:this.feePayer?this.feePayer.toJSON():null,nonceInfo:this.nonceInfo?{nonce:this.nonceInfo.nonce,nonceInstruction:this.nonceInfo.nonceInstruction.toJSON()}:null,instructions:this.instructions.map(e=>e.toJSON()),signers:this.signatures.map(({publicKey:e})=>e.toJSON())}}add(...e){if(e.length===0)throw new Error("No instructions");return e.forEach(t=>{"instructions"in t?this.instructions=this.instructions.concat(t.instructions):"data"in t&&"programId"in t&&"keys"in t?this.instructions.push(t):this.instructions.push(new z(t))}),this}compileMessage(){if(this._message&&JSON.stringify(this.toJSON())===JSON.stringify(this._json))return this._message;let e,t;if(this.nonceInfo?(e=this.nonceInfo.nonce,this.instructions[0]!=this.nonceInfo.nonceInstruction?t=[this.nonceInfo.nonceInstruction,...this.instructions]:t=this.instructions):(e=this.recentBlockhash,t=this.instructions),!e)throw new Error("Transaction recentBlockhash required");t.length<1&&console.warn("No instructions provided");let s;if(this.feePayer)s=this.feePayer;else if(this.signatures.length>0&&this.signatures[0].publicKey)s=this.signatures[0].publicKey;else throw new Error("Transaction fee payer required");for(let h=0;h<t.length;h++)if(t[h].programId===void 0)throw new Error(`Transaction instruction index ${h} has undefined program id`);const i=[],a=[];t.forEach(h=>{h.keys.forEach(T=>{a.push({...T})});const w=h.programId.toString();i.includes(w)||i.push(w)}),i.forEach(h=>{a.push({pubkey:new y(h),isSigner:!1,isWritable:!1})});const u=[];a.forEach(h=>{const w=h.pubkey.toString(),T=u.findIndex(F=>F.pubkey.toString()===w);T>-1?(u[T].isWritable=u[T].isWritable||h.isWritable,u[T].isSigner=u[T].isSigner||h.isSigner):u.push(h)}),u.sort(function(h,w){if(h.isSigner!==w.isSigner)return h.isSigner?-1:1;if(h.isWritable!==w.isWritable)return h.isWritable?-1:1;const T={localeMatcher:"best fit",usage:"sort",sensitivity:"variant",ignorePunctuation:!1,numeric:!1,caseFirst:"lower"};return h.pubkey.toBase58().localeCompare(w.pubkey.toBase58(),"en",T)});const m=u.findIndex(h=>h.pubkey.equals(s));if(m>-1){const[h]=u.splice(m,1);h.isSigner=!0,h.isWritable=!0,u.unshift(h)}else u.unshift({pubkey:s,isSigner:!0,isWritable:!0});for(const h of this.signatures){const w=u.findIndex(T=>T.pubkey.equals(h.publicKey));if(w>-1)u[w].isSigner||(u[w].isSigner=!0,console.warn("Transaction references a signature that is unnecessary, only the fee payer and instruction signer accounts should sign a transaction. This behavior is deprecated and will throw an error in the next major version release."));else throw new Error(`unknown signer: ${h.publicKey.toString()}`)}let l=0,b=0,k=0;const M=[],I=[];u.forEach(({pubkey:h,isSigner:w,isWritable:T})=>{w?(M.push(h.toString()),l+=1,T||(b+=1)):(I.push(h.toString()),T||(k+=1))});const v=M.concat(I),E=t.map(h=>{const{data:w,programId:T}=h;return{programIdIndex:v.indexOf(T.toString()),accounts:h.keys.map(F=>v.indexOf(F.pubkey.toString())),data:n.bs58.encode(w)}});return E.forEach(h=>{C(h.programIdIndex>=0),h.accounts.forEach(w=>C(w>=0))}),new ie({header:{numRequiredSignatures:l,numReadonlySignedAccounts:b,numReadonlyUnsignedAccounts:k},accountKeys:v,recentBlockhash:e,instructions:E})}_compile(){const e=this.compileMessage(),t=e.accountKeys.slice(0,e.header.numRequiredSignatures);return this.signatures.length===t.length&&this.signatures.every((i,a)=>t[a].equals(i.publicKey))||(this.signatures=t.map(s=>({signature:null,publicKey:s}))),e}serializeMessage(){return this._compile().serialize()}async getEstimatedFee(e){return(await e.getFeeForMessage(this.compileMessage())).value}setSigners(...e){if(e.length===0)throw new Error("No signers");const t=new Set;this.signatures=e.filter(s=>{const i=s.toString();return t.has(i)?!1:(t.add(i),!0)}).map(s=>({signature:null,publicKey:s}))}sign(...e){if(e.length===0)throw new Error("No signers");const t=new Set,s=[];for(const a of e){const u=a.publicKey.toString();t.has(u)||(t.add(u),s.push(a))}this.signatures=s.map(a=>({signature:null,publicKey:a.publicKey}));const i=this._compile();this._partialSign(i,...s)}partialSign(...e){if(e.length===0)throw new Error("No signers");const t=new Set,s=[];for(const a of e){const u=a.publicKey.toString();t.has(u)||(t.add(u),s.push(a))}const i=this._compile();this._partialSign(i,...s)}_partialSign(e,...t){const s=e.serialize();t.forEach(i=>{const a=vt(s,i.secretKey);this._addSignature(i.publicKey,K(a))})}addSignature(e,t){this._compile(),this._addSignature(e,t)}_addSignature(e,t){C(t.length===64);const s=this.signatures.findIndex(i=>e.equals(i.publicKey));if(s<0)throw new Error(`unknown signer: ${e.toString()}`);this.signatures[s].signature=n.bufferPolyfill.Buffer.from(t)}verifySignatures(e=!0){return!this._getMessageSignednessErrors(this.serializeMessage(),e)}_getMessageSignednessErrors(e,t){const s={};for(const{signature:i,publicKey:a}of this.signatures)i===null?t&&(s.missing||(s.missing=[])).push(a):Tt(i,e,a.toBytes())||(s.invalid||(s.invalid=[])).push(a);return s.invalid||s.missing?s:void 0}serialize(e){const{requireAllSignatures:t,verifySignatures:s}=Object.assign({requireAllSignatures:!0,verifySignatures:!0},e),i=this.serializeMessage();if(s){const a=this._getMessageSignednessErrors(i,t);if(a){let u="Signature verification failed.";throw a.invalid&&(u+=`
1
+ "use strict";var yt=Object.defineProperty;var pt=(r,e,t)=>e in r?yt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var V=(r,e,t)=>(pt(r,typeof e!="symbol"?e+"":e,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./index-rtZ91I3M.js"),ht=require("./chain-HMnpkrbl.js"),$=require("./solana-D3NR_tHO.js"),Le=require("./index-DnneI5--.js");class bt extends TypeError{constructor(e,t){let s;const{message:i,...a}=e,{path:u}=e,m=u.length===0?i:"At path: "+u.join(".")+" -- "+i;super(m),Object.assign(this,a),this.name=this.constructor.name,this.failures=()=>{var l;return(l=s)!=null?l:s=[e,...t()]}}}function St(r){return q(r)&&typeof r[Symbol.iterator]=="function"}function q(r){return typeof r=="object"&&r!=null}function W(r){return typeof r=="string"?JSON.stringify(r):""+r}function kt(r){const{done:e,value:t}=r.next();return e?void 0:t}function Mt(r,e,t,s){if(r===!0)return;r===!1?r={}:typeof r=="string"&&(r={message:r});const{path:i,branch:a}=e,{type:u}=t,{refinement:m,message:l="Expected a value of type `"+u+"`"+(m?" with refinement `"+m+"`":"")+", but received: `"+W(s)+"`"}=r;return{value:s,type:u,refinement:m,key:i[i.length-1],path:i,branch:a,...r,message:l}}function*Re(r,e,t,s){St(r)||(r=[r]);for(const i of r){const a=Mt(i,e,t,s);a&&(yield a)}}function*ke(r,e,t={}){const{path:s=[],branch:i=[r],coerce:a=!1,mask:u=!1}=t,m={path:s,branch:i};if(a&&(r=e.coercer(r,m),u&&e.type!=="type"&&q(e.schema)&&q(r)&&!Array.isArray(r)))for(const b in r)e.schema[b]===void 0&&delete r[b];let l=!0;for(const b of e.validator(r,m))l=!1,yield[b,void 0];for(let[b,k,M]of e.entries(r,m)){const I=ke(k,M,{path:b===void 0?s:[...s,b],branch:b===void 0?i:[...i,k],coerce:a,mask:u});for(const v of I)v[0]?(l=!1,yield[v[0],void 0]):a&&(k=v[1],b===void 0?r=k:r instanceof Map?r.set(b,k):r instanceof Set?r.add(k):q(r)&&(r[b]=k))}if(l)for(const b of e.refiner(r,m))l=!1,yield[b,void 0];l&&(yield[void 0,r])}let U=class{constructor(e){const{type:t,schema:s,validator:i,refiner:a,coercer:u=l=>l,entries:m=function*(){}}=e;this.type=t,this.schema=s,this.entries=m,this.coercer=u,i?this.validator=(l,b)=>{const k=i(l,b);return Re(k,b,this,l)}:this.validator=()=>[],a?this.refiner=(l,b)=>{const k=a(l,b);return Re(k,b,this,l)}:this.refiner=()=>[]}assert(e){return wt(e,this)}create(e){return re(e,this)}is(e){return Ue(e,this)}mask(e){return Pt(e,this)}validate(e,t={}){return oe(e,this,t)}};function wt(r,e){const t=oe(r,e);if(t[0])throw t[0]}function re(r,e){const t=oe(r,e,{coerce:!0});if(t[0])throw t[0];return t[1]}function Pt(r,e){const t=oe(r,e,{coerce:!0,mask:!0});if(t[0])throw t[0];return t[1]}function Ue(r,e){return!oe(r,e)[0]}function oe(r,e,t={}){const s=ke(r,e,t),i=kt(s);return i[0]?[new bt(i[0],function*(){for(const u of s)u[0]&&(yield u[0])}),void 0]:[void 0,i[1]]}function H(r,e){return new U({type:r,schema:null,validator:e})}function At(){return H("any",()=>!0)}function g(r){return new U({type:"array",schema:r,*entries(e){if(r&&Array.isArray(e))for(const[t,s]of e.entries())yield[t,s,r]},coercer(e){return Array.isArray(e)?e.slice():e},validator(e){return Array.isArray(e)||"Expected an array value, but received: "+W(e)}})}function L(){return H("boolean",r=>typeof r=="boolean")}function Me(r){return H("instance",e=>e instanceof r||"Expected a `"+r.name+"` instance, but received: "+W(e))}function A(r){const e=W(r),t=typeof r;return new U({type:"literal",schema:t==="string"||t==="number"||t==="boolean"?r:null,validator(s){return s===r||"Expected the literal `"+e+"`, but received: "+W(s)}})}function It(){return H("never",()=>!1)}function f(r){return new U({...r,validator:(e,t)=>e===null||r.validator(e,t),refiner:(e,t)=>e===null||r.refiner(e,t)})}function o(){return H("number",r=>typeof r=="number"&&!isNaN(r)||"Expected a number, but received: "+W(r))}function p(r){return new U({...r,validator:(e,t)=>e===void 0||r.validator(e,t),refiner:(e,t)=>e===void 0||r.refiner(e,t)})}function qe(r,e){return new U({type:"record",schema:null,*entries(t){if(q(t))for(const s in t){const i=t[s];yield[s,s,r],yield[s,i,e]}},validator(t){return q(t)||"Expected an object, but received: "+W(t)}})}function d(){return H("string",r=>typeof r=="string"||"Expected a string, but received: "+W(r))}function we(r){const e=It();return new U({type:"tuple",schema:null,*entries(t){if(Array.isArray(t)){const s=Math.max(r.length,t.length);for(let i=0;i<s;i++)yield[i,t[i],r[i]||e]}},validator(t){return Array.isArray(t)||"Expected an array, but received: "+W(t)}})}function c(r){const e=Object.keys(r);return new U({type:"type",schema:r,*entries(t){if(q(t))for(const s of e)yield[s,t[s],r[s]]},validator(t){return q(t)||"Expected an object, but received: "+W(t)}})}function R(r){const e=r.map(t=>t.type).join(" | ");return new U({type:"union",schema:null,validator(t,s){const i=[];for(const a of r){const[...u]=ke(t,a,s),[m]=u;if(m[0])for(const[l]of u)l&&i.push(l);else return[]}return["Expected the value to satisfy a union of `"+e+"`, but received: "+W(t),...i]}})}function ue(){return H("unknown",()=>!0)}function ce(r,e,t){return new U({...r,coercer:(s,i)=>Ue(s,e)?r.coercer(t(s,i),i):r.coercer(s,i)})}const Ee=()=>{const r=n.ed25519.utils.randomPrivateKey(),e=he(r),t=new Uint8Array(64);return t.set(r),t.set(e,32),{publicKey:e,secretKey:t}},he=n.ed25519.getPublicKey;function Ce(r){try{return n.ed25519.ExtendedPoint.fromHex(r),!0}catch{return!1}}const vt=(r,e)=>n.ed25519.sign(r,e.slice(0,32)),Tt=n.ed25519.verify,K=r=>n.bufferPolyfill.Buffer.isBuffer(r)?r:r instanceof Uint8Array?n.bufferPolyfill.Buffer.from(r.buffer,r.byteOffset,r.byteLength):n.bufferPolyfill.Buffer.from(r);class xt{constructor(e){Object.assign(this,e)}encode(){return n.bufferPolyfill.Buffer.from(n.serialize_1(de,this))}static decode(e){return n.deserialize_1(de,this,e)}static decodeUnchecked(e){return n.deserializeUnchecked_1(de,this,e)}}const de=new Map;var Fe;let Ve;const Bt=32,ne=32;function Kt(r){return r._bn!==void 0}let Oe=1;Ve=Symbol.toStringTag;class y extends xt{constructor(e){if(super({}),this._bn=void 0,Kt(e))this._bn=e._bn;else{if(typeof e=="string"){const t=n.bs58.decode(e);if(t.length!=ne)throw new Error("Invalid public key input");this._bn=new n.BN(t)}else this._bn=new n.BN(e);if(this._bn.byteLength()>ne)throw new Error("Invalid public key input")}}static unique(){const e=new y(Oe);return Oe+=1,new y(e.toBuffer())}equals(e){return this._bn.eq(e._bn)}toBase58(){return n.bs58.encode(this.toBytes())}toJSON(){return this.toBase58()}toBytes(){const e=this.toBuffer();return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}toBuffer(){const e=this._bn.toArrayLike(n.bufferPolyfill.Buffer);if(e.length===ne)return e;const t=n.bufferPolyfill.Buffer.alloc(32);return e.copy(t,32-e.length),t}get[Ve](){return`PublicKey(${this.toString()})`}toString(){return this.toBase58()}static async createWithSeed(e,t,s){const i=n.bufferPolyfill.Buffer.concat([e.toBuffer(),n.bufferPolyfill.Buffer.from(t),s.toBuffer()]),a=n.sha256(i);return new y(a)}static createProgramAddressSync(e,t){let s=n.bufferPolyfill.Buffer.alloc(0);e.forEach(function(a){if(a.length>Bt)throw new TypeError("Max seed length exceeded");s=n.bufferPolyfill.Buffer.concat([s,K(a)])}),s=n.bufferPolyfill.Buffer.concat([s,t.toBuffer(),n.bufferPolyfill.Buffer.from("ProgramDerivedAddress")]);const i=n.sha256(s);if(Ce(i))throw new Error("Invalid seeds, address must fall off the curve");return new y(i)}static async createProgramAddress(e,t){return this.createProgramAddressSync(e,t)}static findProgramAddressSync(e,t){let s=255,i;for(;s!=0;){try{const a=e.concat(n.bufferPolyfill.Buffer.from([s]));i=this.createProgramAddressSync(a,t)}catch(a){if(a instanceof TypeError)throw a;s--;continue}return[i,s]}throw new Error("Unable to find a viable program address nonce")}static async findProgramAddress(e,t){return this.findProgramAddressSync(e,t)}static isOnCurve(e){const t=new y(e);return Ce(t.toBytes())}}Fe=y;y.default=new Fe("11111111111111111111111111111111");de.set(y,{kind:"struct",fields:[["_bn","u256"]]});new y("BPFLoader1111111111111111111111111111111111");const be=1232,Rt=127,He=64;class Ne{constructor(e,t){this.staticAccountKeys=void 0,this.accountKeysFromLookups=void 0,this.staticAccountKeys=e,this.accountKeysFromLookups=t}keySegments(){const e=[this.staticAccountKeys];return this.accountKeysFromLookups&&(e.push(this.accountKeysFromLookups.writable),e.push(this.accountKeysFromLookups.readonly)),e}get(e){for(const t of this.keySegments()){if(e<t.length)return t[e];e-=t.length}}get length(){return this.keySegments().flat().length}compileInstructions(e){if(this.length>256)throw new Error("Account index overflow encountered during compilation");const s=new Map;this.keySegments().flat().forEach((a,u)=>{s.set(a.toBase58(),u)});const i=a=>{const u=s.get(a.toBase58());if(u===void 0)throw new Error("Encountered an unknown instruction account key during compilation");return u};return e.map(a=>({programIdIndex:i(a.programId),accountKeyIndexes:a.keys.map(u=>i(u.pubkey)),data:a.data}))}}const S=(r="publicKey")=>n.blob(32,r),J=(r="string")=>{const e=n.struct([n.u32("length"),n.u32("lengthPadding"),n.blob(n.offset(n.u32(),-8),"chars")],r),t=e.decode.bind(e),s=e.encode.bind(e),i=e;return i.decode=(a,u)=>t(a,u).chars.toString(),i.encode=(a,u,m)=>{const l={chars:n.bufferPolyfill.Buffer.from(a,"utf8")};return s(l,u,m)},i.alloc=a=>n.u32().span+n.u32().span+n.bufferPolyfill.Buffer.from(a,"utf8").length,i},Et=(r="authorized")=>n.struct([S("staker"),S("withdrawer")],r),Ct=(r="lockup")=>n.struct([n.ns64("unixTimestamp"),n.ns64("epoch"),S("custodian")],r),Ot=(r="voteInit")=>n.struct([S("nodePubkey"),S("authorizedVoter"),S("authorizedWithdrawer"),n.u8("commission")],r),Nt=(r="voteAuthorizeWithSeedArgs")=>n.struct([n.u32("voteAuthorizationType"),S("currentAuthorityDerivedKeyOwnerPubkey"),J("currentAuthorityDerivedKeySeed"),S("newAuthorized")],r);function je(r,e){const t=i=>{if(i.span>=0)return i.span;if(typeof i.alloc=="function")return i.alloc(e[i.property]);if("count"in i&&"elementLayout"in i){const a=e[i.property];if(Array.isArray(a))return a.length*t(i.elementLayout)}else if("fields"in i)return je({layout:i},e[i.property]);return 0};let s=0;return r.layout.fields.forEach(i=>{s+=t(i)}),s}function Q(r){let e=0,t=0;for(;;){let s=r.shift();if(e|=(s&127)<<t*7,t+=1,!(s&128))break}return e}function ee(r,e){let t=e;for(;;){let s=t&127;if(t>>=7,t==0){r.push(s);break}else s|=128,r.push(s)}}function C(r,e){if(!r)throw new Error(e||"Assertion failed")}class Pe{constructor(e,t){this.payer=void 0,this.keyMetaMap=void 0,this.payer=e,this.keyMetaMap=t}static compile(e,t){const s=new Map,i=u=>{const m=u.toBase58();let l=s.get(m);return l===void 0&&(l={isSigner:!1,isWritable:!1,isInvoked:!1},s.set(m,l)),l},a=i(t);a.isSigner=!0,a.isWritable=!0;for(const u of e){i(u.programId).isInvoked=!0;for(const m of u.keys){const l=i(m.pubkey);l.isSigner||(l.isSigner=m.isSigner),l.isWritable||(l.isWritable=m.isWritable)}}return new Pe(t,s)}getMessageComponents(){const e=[...this.keyMetaMap.entries()];C(e.length<=256,"Max static account keys length exceeded");const t=e.filter(([,l])=>l.isSigner&&l.isWritable),s=e.filter(([,l])=>l.isSigner&&!l.isWritable),i=e.filter(([,l])=>!l.isSigner&&l.isWritable),a=e.filter(([,l])=>!l.isSigner&&!l.isWritable),u={numRequiredSignatures:t.length+s.length,numReadonlySignedAccounts:s.length,numReadonlyUnsignedAccounts:a.length};{C(t.length>0,"Expected at least one writable signer key");const[l]=t[0];C(l===this.payer.toBase58(),"Expected first writable signer key to be the fee payer")}const m=[...t.map(([l])=>new y(l)),...s.map(([l])=>new y(l)),...i.map(([l])=>new y(l)),...a.map(([l])=>new y(l))];return[u,m]}extractTableLookup(e){const[t,s]=this.drainKeysFoundInLookupTable(e.state.addresses,u=>!u.isSigner&&!u.isInvoked&&u.isWritable),[i,a]=this.drainKeysFoundInLookupTable(e.state.addresses,u=>!u.isSigner&&!u.isInvoked&&!u.isWritable);if(!(t.length===0&&i.length===0))return[{accountKey:e.key,writableIndexes:t,readonlyIndexes:i},{writable:s,readonly:a}]}drainKeysFoundInLookupTable(e,t){const s=new Array,i=new Array;for(const[a,u]of this.keyMetaMap.entries())if(t(u)){const m=new y(a),l=e.findIndex(b=>b.equals(m));l>=0&&(C(l<256,"Max lookup table index exceeded"),s.push(l),i.push(m),this.keyMetaMap.delete(a))}return[s,i]}}const Ge="Reached end of buffer unexpectedly";function le(r){if(r.length===0)throw new Error(Ge);return r.shift()}function te(r,...e){const[t]=e;if(e.length===2?t+(e[1]??0)>r.length:t>=r.length)throw new Error(Ge);return r.splice(...e)}class ie{constructor(e){this.header=void 0,this.accountKeys=void 0,this.recentBlockhash=void 0,this.instructions=void 0,this.indexToProgramIds=new Map,this.header=e.header,this.accountKeys=e.accountKeys.map(t=>new y(t)),this.recentBlockhash=e.recentBlockhash,this.instructions=e.instructions,this.instructions.forEach(t=>this.indexToProgramIds.set(t.programIdIndex,this.accountKeys[t.programIdIndex]))}get version(){return"legacy"}get staticAccountKeys(){return this.accountKeys}get compiledInstructions(){return this.instructions.map(e=>({programIdIndex:e.programIdIndex,accountKeyIndexes:e.accounts,data:n.bs58.decode(e.data)}))}get addressTableLookups(){return[]}getAccountKeys(){return new Ne(this.staticAccountKeys)}static compile(e){const t=Pe.compile(e.instructions,e.payerKey),[s,i]=t.getMessageComponents(),u=new Ne(i).compileInstructions(e.instructions).map(m=>({programIdIndex:m.programIdIndex,accounts:m.accountKeyIndexes,data:n.bs58.encode(m.data)}));return new ie({header:s,accountKeys:i,recentBlockhash:e.recentBlockhash,instructions:u})}isAccountSigner(e){return e<this.header.numRequiredSignatures}isAccountWritable(e){const t=this.header.numRequiredSignatures;if(e>=this.header.numRequiredSignatures){const s=e-t,a=this.accountKeys.length-t-this.header.numReadonlyUnsignedAccounts;return s<a}else{const s=t-this.header.numReadonlySignedAccounts;return e<s}}isProgramId(e){return this.indexToProgramIds.has(e)}programIds(){return[...this.indexToProgramIds.values()]}nonProgramIds(){return this.accountKeys.filter((e,t)=>!this.isProgramId(t))}serialize(){const e=this.accountKeys.length;let t=[];ee(t,e);const s=this.instructions.map(M=>{const{accounts:I,programIdIndex:v}=M,E=Array.from(n.bs58.decode(M.data));let h=[];ee(h,I.length);let w=[];return ee(w,E.length),{programIdIndex:v,keyIndicesCount:n.bufferPolyfill.Buffer.from(h),keyIndices:I,dataLength:n.bufferPolyfill.Buffer.from(w),data:E}});let i=[];ee(i,s.length);let a=n.bufferPolyfill.Buffer.alloc(be);n.bufferPolyfill.Buffer.from(i).copy(a);let u=i.length;s.forEach(M=>{const v=n.struct([n.u8("programIdIndex"),n.blob(M.keyIndicesCount.length,"keyIndicesCount"),n.seq(n.u8("keyIndex"),M.keyIndices.length,"keyIndices"),n.blob(M.dataLength.length,"dataLength"),n.seq(n.u8("userdatum"),M.data.length,"data")]).encode(M,a,u);u+=v}),a=a.slice(0,u);const m=n.struct([n.blob(1,"numRequiredSignatures"),n.blob(1,"numReadonlySignedAccounts"),n.blob(1,"numReadonlyUnsignedAccounts"),n.blob(t.length,"keyCount"),n.seq(S("key"),e,"keys"),S("recentBlockhash")]),l={numRequiredSignatures:n.bufferPolyfill.Buffer.from([this.header.numRequiredSignatures]),numReadonlySignedAccounts:n.bufferPolyfill.Buffer.from([this.header.numReadonlySignedAccounts]),numReadonlyUnsignedAccounts:n.bufferPolyfill.Buffer.from([this.header.numReadonlyUnsignedAccounts]),keyCount:n.bufferPolyfill.Buffer.from(t),keys:this.accountKeys.map(M=>K(M.toBytes())),recentBlockhash:n.bs58.decode(this.recentBlockhash)};let b=n.bufferPolyfill.Buffer.alloc(2048);const k=m.encode(l,b);return a.copy(b,k),b.slice(0,k+a.length)}static from(e){let t=[...e];const s=le(t);if(s!==(s&Rt))throw new Error("Versioned messages must be deserialized with VersionedMessage.deserialize()");const i=le(t),a=le(t),u=Q(t);let m=[];for(let I=0;I<u;I++){const v=te(t,0,ne);m.push(new y(n.bufferPolyfill.Buffer.from(v)))}const l=te(t,0,ne),b=Q(t);let k=[];for(let I=0;I<b;I++){const v=le(t),E=Q(t),h=te(t,0,E),w=Q(t),T=te(t,0,w),F=n.bs58.encode(n.bufferPolyfill.Buffer.from(T));k.push({programIdIndex:v,accounts:h,data:F})}const M={header:{numRequiredSignatures:s,numReadonlySignedAccounts:i,numReadonlyUnsignedAccounts:a},recentBlockhash:n.bs58.encode(n.bufferPolyfill.Buffer.from(l)),accountKeys:m,instructions:k};return new ie(M)}}const _t=n.bufferPolyfill.Buffer.alloc(He).fill(0);class z{constructor(e){this.keys=void 0,this.programId=void 0,this.data=n.bufferPolyfill.Buffer.alloc(0),this.programId=e.programId,this.keys=e.keys,e.data&&(this.data=e.data)}toJSON(){return{keys:this.keys.map(({pubkey:e,isSigner:t,isWritable:s})=>({pubkey:e.toJSON(),isSigner:t,isWritable:s})),programId:this.programId.toJSON(),data:[...this.data]}}}class X{get signature(){return this.signatures.length>0?this.signatures[0].signature:null}constructor(e){if(this.signatures=[],this.feePayer=void 0,this.instructions=[],this.recentBlockhash=void 0,this.lastValidBlockHeight=void 0,this.nonceInfo=void 0,this.minNonceContextSlot=void 0,this._message=void 0,this._json=void 0,!!e)if(e.feePayer&&(this.feePayer=e.feePayer),e.signatures&&(this.signatures=e.signatures),Object.prototype.hasOwnProperty.call(e,"nonceInfo")){const{minContextSlot:t,nonceInfo:s}=e;this.minNonceContextSlot=t,this.nonceInfo=s}else if(Object.prototype.hasOwnProperty.call(e,"lastValidBlockHeight")){const{blockhash:t,lastValidBlockHeight:s}=e;this.recentBlockhash=t,this.lastValidBlockHeight=s}else{const{recentBlockhash:t,nonceInfo:s}=e;s&&(this.nonceInfo=s),this.recentBlockhash=t}}toJSON(){return{recentBlockhash:this.recentBlockhash||null,feePayer:this.feePayer?this.feePayer.toJSON():null,nonceInfo:this.nonceInfo?{nonce:this.nonceInfo.nonce,nonceInstruction:this.nonceInfo.nonceInstruction.toJSON()}:null,instructions:this.instructions.map(e=>e.toJSON()),signers:this.signatures.map(({publicKey:e})=>e.toJSON())}}add(...e){if(e.length===0)throw new Error("No instructions");return e.forEach(t=>{"instructions"in t?this.instructions=this.instructions.concat(t.instructions):"data"in t&&"programId"in t&&"keys"in t?this.instructions.push(t):this.instructions.push(new z(t))}),this}compileMessage(){if(this._message&&JSON.stringify(this.toJSON())===JSON.stringify(this._json))return this._message;let e,t;if(this.nonceInfo?(e=this.nonceInfo.nonce,this.instructions[0]!=this.nonceInfo.nonceInstruction?t=[this.nonceInfo.nonceInstruction,...this.instructions]:t=this.instructions):(e=this.recentBlockhash,t=this.instructions),!e)throw new Error("Transaction recentBlockhash required");t.length<1&&console.warn("No instructions provided");let s;if(this.feePayer)s=this.feePayer;else if(this.signatures.length>0&&this.signatures[0].publicKey)s=this.signatures[0].publicKey;else throw new Error("Transaction fee payer required");for(let h=0;h<t.length;h++)if(t[h].programId===void 0)throw new Error(`Transaction instruction index ${h} has undefined program id`);const i=[],a=[];t.forEach(h=>{h.keys.forEach(T=>{a.push({...T})});const w=h.programId.toString();i.includes(w)||i.push(w)}),i.forEach(h=>{a.push({pubkey:new y(h),isSigner:!1,isWritable:!1})});const u=[];a.forEach(h=>{const w=h.pubkey.toString(),T=u.findIndex(F=>F.pubkey.toString()===w);T>-1?(u[T].isWritable=u[T].isWritable||h.isWritable,u[T].isSigner=u[T].isSigner||h.isSigner):u.push(h)}),u.sort(function(h,w){if(h.isSigner!==w.isSigner)return h.isSigner?-1:1;if(h.isWritable!==w.isWritable)return h.isWritable?-1:1;const T={localeMatcher:"best fit",usage:"sort",sensitivity:"variant",ignorePunctuation:!1,numeric:!1,caseFirst:"lower"};return h.pubkey.toBase58().localeCompare(w.pubkey.toBase58(),"en",T)});const m=u.findIndex(h=>h.pubkey.equals(s));if(m>-1){const[h]=u.splice(m,1);h.isSigner=!0,h.isWritable=!0,u.unshift(h)}else u.unshift({pubkey:s,isSigner:!0,isWritable:!0});for(const h of this.signatures){const w=u.findIndex(T=>T.pubkey.equals(h.publicKey));if(w>-1)u[w].isSigner||(u[w].isSigner=!0,console.warn("Transaction references a signature that is unnecessary, only the fee payer and instruction signer accounts should sign a transaction. This behavior is deprecated and will throw an error in the next major version release."));else throw new Error(`unknown signer: ${h.publicKey.toString()}`)}let l=0,b=0,k=0;const M=[],I=[];u.forEach(({pubkey:h,isSigner:w,isWritable:T})=>{w?(M.push(h.toString()),l+=1,T||(b+=1)):(I.push(h.toString()),T||(k+=1))});const v=M.concat(I),E=t.map(h=>{const{data:w,programId:T}=h;return{programIdIndex:v.indexOf(T.toString()),accounts:h.keys.map(F=>v.indexOf(F.pubkey.toString())),data:n.bs58.encode(w)}});return E.forEach(h=>{C(h.programIdIndex>=0),h.accounts.forEach(w=>C(w>=0))}),new ie({header:{numRequiredSignatures:l,numReadonlySignedAccounts:b,numReadonlyUnsignedAccounts:k},accountKeys:v,recentBlockhash:e,instructions:E})}_compile(){const e=this.compileMessage(),t=e.accountKeys.slice(0,e.header.numRequiredSignatures);return this.signatures.length===t.length&&this.signatures.every((i,a)=>t[a].equals(i.publicKey))||(this.signatures=t.map(s=>({signature:null,publicKey:s}))),e}serializeMessage(){return this._compile().serialize()}async getEstimatedFee(e){return(await e.getFeeForMessage(this.compileMessage())).value}setSigners(...e){if(e.length===0)throw new Error("No signers");const t=new Set;this.signatures=e.filter(s=>{const i=s.toString();return t.has(i)?!1:(t.add(i),!0)}).map(s=>({signature:null,publicKey:s}))}sign(...e){if(e.length===0)throw new Error("No signers");const t=new Set,s=[];for(const a of e){const u=a.publicKey.toString();t.has(u)||(t.add(u),s.push(a))}this.signatures=s.map(a=>({signature:null,publicKey:a.publicKey}));const i=this._compile();this._partialSign(i,...s)}partialSign(...e){if(e.length===0)throw new Error("No signers");const t=new Set,s=[];for(const a of e){const u=a.publicKey.toString();t.has(u)||(t.add(u),s.push(a))}const i=this._compile();this._partialSign(i,...s)}_partialSign(e,...t){const s=e.serialize();t.forEach(i=>{const a=vt(s,i.secretKey);this._addSignature(i.publicKey,K(a))})}addSignature(e,t){this._compile(),this._addSignature(e,t)}_addSignature(e,t){C(t.length===64);const s=this.signatures.findIndex(i=>e.equals(i.publicKey));if(s<0)throw new Error(`unknown signer: ${e.toString()}`);this.signatures[s].signature=n.bufferPolyfill.Buffer.from(t)}verifySignatures(e=!0){return!this._getMessageSignednessErrors(this.serializeMessage(),e)}_getMessageSignednessErrors(e,t){const s={};for(const{signature:i,publicKey:a}of this.signatures)i===null?t&&(s.missing||(s.missing=[])).push(a):Tt(i,e,a.toBytes())||(s.invalid||(s.invalid=[])).push(a);return s.invalid||s.missing?s:void 0}serialize(e){const{requireAllSignatures:t,verifySignatures:s}=Object.assign({requireAllSignatures:!0,verifySignatures:!0},e),i=this.serializeMessage();if(s){const a=this._getMessageSignednessErrors(i,t);if(a){let u="Signature verification failed.";throw a.invalid&&(u+=`
2
2
  Invalid signature for public key${a.invalid.length===1?"":"(s)"} [\`${a.invalid.map(m=>m.toBase58()).join("`, `")}\`].`),a.missing&&(u+=`
3
3
  Missing signature for public key${a.missing.length===1?"":"(s)"} [\`${a.missing.map(m=>m.toBase58()).join("`, `")}\`].`),new Error(u)}}return this._serialize(i)}_serialize(e){const{signatures:t}=this,s=[];ee(s,t.length);const i=s.length+t.length*64+e.length,a=n.bufferPolyfill.Buffer.alloc(i);return C(t.length<256),n.bufferPolyfill.Buffer.from(s).copy(a,0),t.forEach(({signature:u},m)=>{u!==null&&(C(u.length===64,"signature has invalid length"),n.bufferPolyfill.Buffer.from(u).copy(a,s.length+m*64))}),e.copy(a,s.length+t.length*64),C(a.length<=be,`Transaction too large: ${a.length} > ${be}`),a}get keys(){return C(this.instructions.length===1),this.instructions[0].keys.map(e=>e.pubkey)}get programId(){return C(this.instructions.length===1),this.instructions[0].programId}get data(){return C(this.instructions.length===1),this.instructions[0].data}static from(e){let t=[...e];const s=Q(t);let i=[];for(let a=0;a<s;a++){const u=te(t,0,He);i.push(n.bs58.encode(n.bufferPolyfill.Buffer.from(u)))}return X.populate(ie.from(t),i)}static populate(e,t=[]){const s=new X;return s.recentBlockhash=e.recentBlockhash,e.header.numRequiredSignatures>0&&(s.feePayer=e.accountKeys[0]),t.forEach((i,a)=>{const u={signature:i==n.bs58.encode(_t)?null:n.bs58.decode(i),publicKey:e.accountKeys[a]};s.signatures.push(u)}),e.instructions.forEach(i=>{const a=i.accounts.map(u=>{const m=e.accountKeys[u];return{pubkey:m,isSigner:s.signatures.some(l=>l.publicKey.toString()===m.toString())||e.isAccountSigner(u),isWritable:e.isAccountWritable(u)}});s.instructions.push(new z({keys:a,programId:e.accountKeys[i.programIdIndex],data:n.bs58.decode(i.data)}))}),s._message=e,s._json=s.toJSON(),s}}new y("SysvarC1ock11111111111111111111111111111111");new y("SysvarEpochSchedu1e111111111111111111111111");new y("Sysvar1nstructions1111111111111111111111111");const pe=new y("SysvarRecentB1ockHashes11111111111111111111"),_e=new y("SysvarRent111111111111111111111111111111111");new y("SysvarRewards111111111111111111111111111111");new y("SysvarS1otHashes111111111111111111111111111");new y("SysvarS1otHistory11111111111111111111111111");new y("SysvarStakeHistory1111111111111111111111111");function O(r,e){const t=r.layout.span>=0?r.layout.span:je(r,e),s=n.bufferPolyfill.Buffer.alloc(t),i=Object.assign({instruction:r.index},e);return r.layout.encode(i,s),s}const Dt=n.nu64("lamportsPerSignature"),zt=n.struct([n.u32("version"),n.u32("state"),S("authorizedPubkey"),S("nonce"),n.struct([Dt],"feeCalculator")]),De=zt.span,Wt=r=>{const e=r.decode.bind(r),t=r.encode.bind(r);return{decode:e,encode:t}},Lt=r=>e=>{const t=n.blob(r,e),{encode:s,decode:i}=Wt(t),a=t;return a.decode=(u,m)=>{const l=i(u,m);return n.toBigIntLE_1(n.bufferPolyfill.Buffer.from(l))},a.encode=(u,m,l)=>{const b=n.toBufferLE_1(u,r);return s(b,m,l)},a},Y=Lt(8),N=Object.freeze({Create:{index:0,layout:n.struct([n.u32("instruction"),n.ns64("lamports"),n.ns64("space"),S("programId")])},Assign:{index:1,layout:n.struct([n.u32("instruction"),S("programId")])},Transfer:{index:2,layout:n.struct([n.u32("instruction"),Y("lamports")])},CreateWithSeed:{index:3,layout:n.struct([n.u32("instruction"),S("base"),J("seed"),n.ns64("lamports"),n.ns64("space"),S("programId")])},AdvanceNonceAccount:{index:4,layout:n.struct([n.u32("instruction")])},WithdrawNonceAccount:{index:5,layout:n.struct([n.u32("instruction"),n.ns64("lamports")])},InitializeNonceAccount:{index:6,layout:n.struct([n.u32("instruction"),S("authorized")])},AuthorizeNonceAccount:{index:7,layout:n.struct([n.u32("instruction"),S("authorized")])},Allocate:{index:8,layout:n.struct([n.u32("instruction"),n.ns64("space")])},AllocateWithSeed:{index:9,layout:n.struct([n.u32("instruction"),S("base"),J("seed"),n.ns64("space"),S("programId")])},AssignWithSeed:{index:10,layout:n.struct([n.u32("instruction"),S("base"),J("seed"),S("programId")])},TransferWithSeed:{index:11,layout:n.struct([n.u32("instruction"),Y("lamports"),J("seed"),S("programId")])},UpgradeNonceAccount:{index:12,layout:n.struct([n.u32("instruction")])}});class ae{constructor(){}static createAccount(e){const t=N.Create,s=O(t,{lamports:e.lamports,space:e.space,programId:K(e.programId.toBuffer())});return new z({keys:[{pubkey:e.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:e.newAccountPubkey,isSigner:!0,isWritable:!0}],programId:this.programId,data:s})}static transfer(e){let t,s;if("basePubkey"in e){const i=N.TransferWithSeed;t=O(i,{lamports:BigInt(e.lamports),seed:e.seed,programId:K(e.programId.toBuffer())}),s=[{pubkey:e.fromPubkey,isSigner:!1,isWritable:!0},{pubkey:e.basePubkey,isSigner:!0,isWritable:!1},{pubkey:e.toPubkey,isSigner:!1,isWritable:!0}]}else{const i=N.Transfer;t=O(i,{lamports:BigInt(e.lamports)}),s=[{pubkey:e.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:e.toPubkey,isSigner:!1,isWritable:!0}]}return new z({keys:s,programId:this.programId,data:t})}static assign(e){let t,s;if("basePubkey"in e){const i=N.AssignWithSeed;t=O(i,{base:K(e.basePubkey.toBuffer()),seed:e.seed,programId:K(e.programId.toBuffer())}),s=[{pubkey:e.accountPubkey,isSigner:!1,isWritable:!0},{pubkey:e.basePubkey,isSigner:!0,isWritable:!1}]}else{const i=N.Assign;t=O(i,{programId:K(e.programId.toBuffer())}),s=[{pubkey:e.accountPubkey,isSigner:!0,isWritable:!0}]}return new z({keys:s,programId:this.programId,data:t})}static createAccountWithSeed(e){const t=N.CreateWithSeed,s=O(t,{base:K(e.basePubkey.toBuffer()),seed:e.seed,lamports:e.lamports,space:e.space,programId:K(e.programId.toBuffer())});let i=[{pubkey:e.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:e.newAccountPubkey,isSigner:!1,isWritable:!0}];return e.basePubkey!=e.fromPubkey&&i.push({pubkey:e.basePubkey,isSigner:!0,isWritable:!1}),new z({keys:i,programId:this.programId,data:s})}static createNonceAccount(e){const t=new X;"basePubkey"in e&&"seed"in e?t.add(ae.createAccountWithSeed({fromPubkey:e.fromPubkey,newAccountPubkey:e.noncePubkey,basePubkey:e.basePubkey,seed:e.seed,lamports:e.lamports,space:De,programId:this.programId})):t.add(ae.createAccount({fromPubkey:e.fromPubkey,newAccountPubkey:e.noncePubkey,lamports:e.lamports,space:De,programId:this.programId}));const s={noncePubkey:e.noncePubkey,authorizedPubkey:e.authorizedPubkey};return t.add(this.nonceInitialize(s)),t}static nonceInitialize(e){const t=N.InitializeNonceAccount,s=O(t,{authorized:K(e.authorizedPubkey.toBuffer())}),i={keys:[{pubkey:e.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:pe,isSigner:!1,isWritable:!1},{pubkey:_e,isSigner:!1,isWritable:!1}],programId:this.programId,data:s};return new z(i)}static nonceAdvance(e){const t=N.AdvanceNonceAccount,s=O(t),i={keys:[{pubkey:e.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:pe,isSigner:!1,isWritable:!1},{pubkey:e.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:s};return new z(i)}static nonceWithdraw(e){const t=N.WithdrawNonceAccount,s=O(t,{lamports:e.lamports});return new z({keys:[{pubkey:e.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:e.toPubkey,isSigner:!1,isWritable:!0},{pubkey:pe,isSigner:!1,isWritable:!1},{pubkey:_e,isSigner:!1,isWritable:!1},{pubkey:e.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:s})}static nonceAuthorize(e){const t=N.AuthorizeNonceAccount,s=O(t,{authorized:K(e.newAuthorizedPubkey.toBuffer())});return new z({keys:[{pubkey:e.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:e.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:s})}static allocate(e){let t,s;if("basePubkey"in e){const i=N.AllocateWithSeed;t=O(i,{base:K(e.basePubkey.toBuffer()),seed:e.seed,space:e.space,programId:K(e.programId.toBuffer())}),s=[{pubkey:e.accountPubkey,isSigner:!1,isWritable:!0},{pubkey:e.basePubkey,isSigner:!0,isWritable:!1}]}else{const i=N.Allocate;t=O(i,{space:e.space}),s=[{pubkey:e.accountPubkey,isSigner:!0,isWritable:!0}]}return new z({keys:s,programId:this.programId,data:t})}}ae.programId=new y("11111111111111111111111111111111");new y("BPFLoader2111111111111111111111111111111111");n.struct([n.u32("typeIndex"),Y("deactivationSlot"),n.nu64("lastExtendedSlot"),n.u8("lastExtendedStartIndex"),n.u8(),n.seq(S(),n.offset(n.u8(),-1),"authority")]);const x=ce(Me(y),d(),r=>new y(r)),$e=we([d(),A("base64")]),Ae=ce(Me(n.bufferPolyfill.Buffer),$e,r=>n.bufferPolyfill.Buffer.from(r[0],"base64"));function Je(r){return R([c({jsonrpc:A("2.0"),id:d(),result:r}),c({jsonrpc:A("2.0"),id:d(),error:c({code:ue(),message:d(),data:p(At())})})])}const Ut=Je(ue());function P(r){return ce(Je(r),Ut,e=>"error"in e?e:{...e,result:re(e.result,r)})}function _(r){return P(c({context:c({slot:o()}),value:r}))}function fe(r){return c({context:c({slot:o()}),value:r})}const qt=c({foundation:o(),foundationTerm:o(),initial:o(),taper:o(),terminal:o()});P(g(f(c({epoch:o(),effectiveSlot:o(),amount:o(),postBalance:o(),commission:p(f(o()))}))));const Ft=g(c({slot:o(),prioritizationFee:o()})),Vt=c({total:o(),validator:o(),foundation:o(),epoch:o()}),Ht=c({epoch:o(),slotIndex:o(),slotsInEpoch:o(),absoluteSlot:o(),blockHeight:p(o()),transactionCount:p(o())}),jt=c({slotsPerEpoch:o(),leaderScheduleSlotOffset:o(),warmup:L(),firstNormalEpoch:o(),firstNormalSlot:o()}),Gt=qe(d(),g(o())),j=f(R([c({}),d()])),$t=c({err:j}),Jt=A("receivedSignature");c({"solana-core":d(),"feature-set":p(o())});_(c({err:f(R([c({}),d()])),logs:f(g(d())),accounts:p(f(g(f(c({executable:L(),owner:d(),lamports:o(),data:g(d()),rentEpoch:p(o())}))))),unitsConsumed:p(o()),returnData:p(f(c({programId:d(),data:we([d(),A("base64")])})))}));_(c({byIdentity:qe(d(),g(o())),range:c({firstSlot:o(),lastSlot:o()})}));P(qt);P(Vt);P(Ft);P(Ht);P(jt);P(Gt);P(o());_(c({total:o(),circulating:o(),nonCirculating:o(),nonCirculatingAccounts:g(x)}));const Xt=c({amount:d(),uiAmount:f(o()),decimals:o(),uiAmountString:p(d())});_(g(c({address:x,amount:d(),uiAmount:f(o()),decimals:o(),uiAmountString:p(d())})));_(g(c({pubkey:x,account:c({executable:L(),owner:x,lamports:o(),data:Ae,rentEpoch:o()})})));const Se=c({program:d(),parsed:ue(),space:o()});_(g(c({pubkey:x,account:c({executable:L(),owner:x,lamports:o(),data:Se,rentEpoch:o()})})));_(g(c({lamports:o(),address:x})));const Ie=c({executable:L(),owner:x,lamports:o(),data:Ae,rentEpoch:o()});c({pubkey:x,account:Ie});const Yt=ce(R([Me(n.bufferPolyfill.Buffer),Se]),R([$e,Se]),r=>Array.isArray(r)?re(r,Ae):r),Zt=c({executable:L(),owner:x,lamports:o(),data:Yt,rentEpoch:o()});c({pubkey:x,account:Zt});c({state:R([A("active"),A("inactive"),A("activating"),A("deactivating")]),active:o(),inactive:o()});P(g(c({signature:d(),slot:o(),err:j,memo:f(d()),blockTime:p(f(o()))})));P(g(c({signature:d(),slot:o(),err:j,memo:f(d()),blockTime:p(f(o()))})));c({subscription:o(),result:fe(Ie)});const Qt=c({pubkey:x,account:Ie});c({subscription:o(),result:fe(Qt)});const en=c({parent:o(),slot:o(),root:o()});c({subscription:o(),result:en});const tn=R([c({type:R([A("firstShredReceived"),A("completed"),A("optimisticConfirmation"),A("root")]),slot:o(),timestamp:o()}),c({type:A("createdBank"),parent:o(),slot:o(),timestamp:o()}),c({type:A("frozen"),slot:o(),timestamp:o(),stats:c({numTransactionEntries:o(),numSuccessfulTransactions:o(),numFailedTransactions:o(),maxTransactionsPerEntry:o()})}),c({type:A("dead"),slot:o(),timestamp:o(),err:d()})]);c({subscription:o(),result:tn});c({subscription:o(),result:fe(R([$t,Jt]))});c({subscription:o(),result:o()});c({pubkey:d(),gossip:f(d()),tpu:f(d()),rpc:f(d()),version:f(d())});const ze=c({votePubkey:d(),nodePubkey:d(),activatedStake:o(),epochVoteAccount:L(),epochCredits:g(we([o(),o(),o()])),commission:o(),lastVote:o(),rootSlot:f(o())});P(c({current:g(ze),delinquent:g(ze)}));const nn=R([A("processed"),A("confirmed"),A("finalized")]),sn=c({slot:o(),confirmations:f(o()),err:j,confirmationStatus:p(nn)});_(g(f(sn)));P(o());const Xe=c({accountKey:x,writableIndexes:g(o()),readonlyIndexes:g(o())}),ve=c({signatures:g(d()),message:c({accountKeys:g(d()),header:c({numRequiredSignatures:o(),numReadonlySignedAccounts:o(),numReadonlyUnsignedAccounts:o()}),instructions:g(c({accounts:g(o()),data:d(),programIdIndex:o()})),recentBlockhash:d(),addressTableLookups:p(g(Xe))})}),Ye=c({pubkey:x,signer:L(),writable:L(),source:p(R([A("transaction"),A("lookupTable")]))}),Ze=c({accountKeys:g(Ye),signatures:g(d())}),Qe=c({parsed:ue(),program:d(),programId:x}),et=c({accounts:g(x),data:d(),programId:x}),rn=R([et,Qe]),an=R([c({parsed:ue(),program:d(),programId:d()}),c({accounts:g(d()),data:d(),programId:d()})]),tt=ce(rn,an,r=>"accounts"in r?re(r,et):re(r,Qe)),nt=c({signatures:g(d()),message:c({accountKeys:g(Ye),instructions:g(tt),recentBlockhash:d(),addressTableLookups:p(f(g(Xe)))})}),me=c({accountIndex:o(),mint:d(),owner:p(d()),uiTokenAmount:Xt}),st=c({writable:g(x),readonly:g(x)}),ge=c({err:j,fee:o(),innerInstructions:p(f(g(c({index:o(),instructions:g(c({accounts:g(o()),data:d(),programIdIndex:o()}))})))),preBalances:g(o()),postBalances:g(o()),logMessages:p(f(g(d()))),preTokenBalances:p(f(g(me))),postTokenBalances:p(f(g(me))),loadedAddresses:p(st),computeUnitsConsumed:p(o())}),Te=c({err:j,fee:o(),innerInstructions:p(f(g(c({index:o(),instructions:g(tt)})))),preBalances:g(o()),postBalances:g(o()),logMessages:p(f(g(d()))),preTokenBalances:p(f(g(me))),postTokenBalances:p(f(g(me))),loadedAddresses:p(st),computeUnitsConsumed:p(o())}),Z=R([A(0),A("legacy")]),G=c({pubkey:d(),lamports:o(),postBalance:f(o()),rewardType:f(d()),commission:p(f(o()))});P(f(c({blockhash:d(),previousBlockhash:d(),parentSlot:o(),transactions:g(c({transaction:ve,meta:f(ge),version:p(Z)})),rewards:p(g(G)),blockTime:f(o()),blockHeight:f(o())})));P(f(c({blockhash:d(),previousBlockhash:d(),parentSlot:o(),rewards:p(g(G)),blockTime:f(o()),blockHeight:f(o())})));P(f(c({blockhash:d(),previousBlockhash:d(),parentSlot:o(),transactions:g(c({transaction:Ze,meta:f(ge),version:p(Z)})),rewards:p(g(G)),blockTime:f(o()),blockHeight:f(o())})));P(f(c({blockhash:d(),previousBlockhash:d(),parentSlot:o(),transactions:g(c({transaction:nt,meta:f(Te),version:p(Z)})),rewards:p(g(G)),blockTime:f(o()),blockHeight:f(o())})));P(f(c({blockhash:d(),previousBlockhash:d(),parentSlot:o(),transactions:g(c({transaction:Ze,meta:f(Te),version:p(Z)})),rewards:p(g(G)),blockTime:f(o()),blockHeight:f(o())})));P(f(c({blockhash:d(),previousBlockhash:d(),parentSlot:o(),rewards:p(g(G)),blockTime:f(o()),blockHeight:f(o())})));P(f(c({blockhash:d(),previousBlockhash:d(),parentSlot:o(),transactions:g(c({transaction:ve,meta:f(ge)})),rewards:p(g(G)),blockTime:f(o())})));P(f(c({blockhash:d(),previousBlockhash:d(),parentSlot:o(),signatures:g(d()),blockTime:f(o())})));P(f(c({slot:o(),meta:f(ge),blockTime:p(f(o())),transaction:ve,version:p(Z)})));P(f(c({slot:o(),transaction:nt,meta:f(Te),blockTime:p(f(o())),version:p(Z)})));_(c({blockhash:d(),feeCalculator:c({lamportsPerSignature:o()})}));_(c({blockhash:d(),lastValidBlockHeight:o()}));_(L());const on=c({slot:o(),numTransactions:o(),numSlots:o(),samplePeriodSecs:o()});P(g(on));_(f(c({feeCalculator:c({lamportsPerSignature:o()})})));P(d());P(d());const un=c({err:j,logs:g(d()),signature:d()});c({result:fe(un),subscription:o()});class se{constructor(e){this._keypair=void 0,this._keypair=e??Ee()}static generate(){return new se(Ee())}static fromSecretKey(e,t){if(e.byteLength!==64)throw new Error("bad secret key size");const s=e.slice(32,64);if(!t||!t.skipValidation){const i=e.slice(0,32),a=he(i);for(let u=0;u<32;u++)if(s[u]!==a[u])throw new Error("provided secretKey is invalid")}return new se({publicKey:s,secretKey:e})}static fromSeed(e){const t=he(e),s=new Uint8Array(64);return s.set(e),s.set(t,32),new se({publicKey:t,secretKey:s})}get publicKey(){return new y(this._keypair.publicKey)}get secretKey(){return new Uint8Array(this._keypair.secretKey)}}Object.freeze({CreateLookupTable:{index:0,layout:n.struct([n.u32("instruction"),Y("recentSlot"),n.u8("bumpSeed")])},FreezeLookupTable:{index:1,layout:n.struct([n.u32("instruction")])},ExtendLookupTable:{index:2,layout:n.struct([n.u32("instruction"),Y(),n.seq(S(),n.offset(n.u32(),-8),"addresses")])},DeactivateLookupTable:{index:3,layout:n.struct([n.u32("instruction")])},CloseLookupTable:{index:4,layout:n.struct([n.u32("instruction")])}});new y("AddressLookupTab1e1111111111111111111111111");Object.freeze({RequestUnits:{index:0,layout:n.struct([n.u8("instruction"),n.u32("units"),n.u32("additionalFee")])},RequestHeapFrame:{index:1,layout:n.struct([n.u8("instruction"),n.u32("bytes")])},SetComputeUnitLimit:{index:2,layout:n.struct([n.u8("instruction"),n.u32("units")])},SetComputeUnitPrice:{index:3,layout:n.struct([n.u8("instruction"),Y("microLamports")])}});new y("ComputeBudget111111111111111111111111111111");n.struct([n.u8("numSignatures"),n.u8("padding"),n.u16("signatureOffset"),n.u16("signatureInstructionIndex"),n.u16("publicKeyOffset"),n.u16("publicKeyInstructionIndex"),n.u16("messageDataOffset"),n.u16("messageDataSize"),n.u16("messageInstructionIndex")]);new y("Ed25519SigVerify111111111111111111111111111");n.secp256k1.utils.isValidPrivateKey;n.secp256k1.getPublicKey;n.struct([n.u8("numSignatures"),n.u16("signatureOffset"),n.u8("signatureInstructionIndex"),n.u16("ethAddressOffset"),n.u8("ethAddressInstructionIndex"),n.u16("messageDataOffset"),n.u16("messageDataSize"),n.u8("messageInstructionIndex"),n.blob(20,"ethAddress"),n.blob(64,"signature"),n.u8("recoveryId")]);new y("KeccakSecp256k11111111111111111111111111111");var rt;new y("StakeConfig11111111111111111111111111111111");class it{constructor(e,t,s){this.unixTimestamp=void 0,this.epoch=void 0,this.custodian=void 0,this.unixTimestamp=e,this.epoch=t,this.custodian=s}}rt=it;it.default=new rt(0,0,y.default);Object.freeze({Initialize:{index:0,layout:n.struct([n.u32("instruction"),Et(),Ct()])},Authorize:{index:1,layout:n.struct([n.u32("instruction"),S("newAuthorized"),n.u32("stakeAuthorizationType")])},Delegate:{index:2,layout:n.struct([n.u32("instruction")])},Split:{index:3,layout:n.struct([n.u32("instruction"),n.ns64("lamports")])},Withdraw:{index:4,layout:n.struct([n.u32("instruction"),n.ns64("lamports")])},Deactivate:{index:5,layout:n.struct([n.u32("instruction")])},Merge:{index:7,layout:n.struct([n.u32("instruction")])},AuthorizeWithSeed:{index:8,layout:n.struct([n.u32("instruction"),S("newAuthorized"),n.u32("stakeAuthorizationType"),J("authoritySeed"),S("authorityOwner")])}});new y("Stake11111111111111111111111111111111111111");Object.freeze({InitializeAccount:{index:0,layout:n.struct([n.u32("instruction"),Ot()])},Authorize:{index:1,layout:n.struct([n.u32("instruction"),S("newAuthorized"),n.u32("voteAuthorizationType")])},Withdraw:{index:3,layout:n.struct([n.u32("instruction"),n.ns64("lamports")])},UpdateValidatorIdentity:{index:4,layout:n.struct([n.u32("instruction")])},AuthorizeWithSeed:{index:10,layout:n.struct([n.u32("instruction"),Nt()])}});new y("Vote111111111111111111111111111111111111111");new y("Va1idator1nfo111111111111111111111111111111");c({name:d(),website:p(d()),details:p(d()),keybaseUsername:p(d())});new y("Vote111111111111111111111111111111111111111");n.struct([S("nodePubkey"),S("authorizedWithdrawer"),n.u8("commission"),n.nu64(),n.seq(n.struct([n.nu64("slot"),n.u32("confirmationCount")]),n.offset(n.u32(),-8),"votes"),n.u8("rootSlotValid"),n.nu64("rootSlot"),n.nu64(),n.seq(n.struct([n.nu64("epoch"),S("authorizedVoter")]),n.offset(n.u32(),-8),"authorizedVoters"),n.struct([n.seq(n.struct([S("authorizedPubkey"),n.nu64("epochOfLastAuthorizedSwitch"),n.nu64("targetEpoch")]),32,"buf"),n.nu64("idx"),n.u8("isEmpty")],"priorVoters"),n.nu64(),n.seq(n.struct([n.nu64("epoch"),n.nu64("credits"),n.nu64("prevCredits")]),n.offset(n.u32(),-8),"epochCredits"),n.struct([n.nu64("slot"),n.nu64("timestamp")],"lastTimestamp")]);const xe=new y("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");new y("TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb");const cn=new y("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");new y("So11111111111111111111111111111111111111112");new y("9pan9bMn5HatX4EJdBwg9VgCa7Uz5HL8N1m5D3NdXejP");class ln extends Error{constructor(e){super(e)}}class dn extends ln{constructor(){super(...arguments),this.name="TokenOwnerOffCurveError"}}const mn=n.struct([n.u32("mintAuthorityOption"),n.publicKey("mintAuthority"),n.u64("supply"),n.u8("decimals"),n.bool("isInitialized"),n.u32("freezeAuthorityOption"),n.publicKey("freezeAuthority")]);mn.span;function fn(r,e,t=!1,s=xe,i=cn){if(!t&&!y.isOnCurve(e.toBuffer()))throw new dn;const[a]=y.findProgramAddressSync([e.toBuffer(),s.toBuffer(),r.toBuffer()],i);return a}function at(r,e){return new n.Program(Be.TokenMessengerIdl,new y(r),e===void 0?{connection:null}:e)}function gn(r,e){return at(r,Le.createReadOnlyProvider(e))}function ot(r,e){return new n.Program(Be.MessageTransmitterIdl,new y(r),e===void 0?{connection:null}:e)}function yn(r,e){return ot(r,Le.createReadOnlyProvider(e))}const B=(r,e,t)=>{const s=[n.dist.Buffer.from(n.index.bytes.utf8.encode(r))];if(t)for(const a of t)typeof a=="string"?s.push(n.dist.Buffer.from(n.index.bytes.utf8.encode(a))):Array.isArray(a)?s.push(n.dist.Buffer.from(a)):n.dist.Buffer.isBuffer(a)?s.push(a):s.push(a.toBuffer());const i=y.findProgramAddressSync(s,e);return{publicKey:i[0],bump:i[1]}};function pn(r,e,t,s,i,a,u,m,l){const b=B("message_transmitter",r),k=B("token_messenger",e),M=B("token_minter",e),I=B("local_token",e,[t]),v=B("remote_token_messenger",e,[s.toString()]),E=B("sender_authority",e),h=at(e),w=B("__event_authority",e);return h.methods.depositForBurn({amount:new n.BN(m.toString()),destinationDomain:s,mintRecipient:new y(u.toUint8Array())}).accounts({owner:i,senderAuthorityPda:E.publicKey,burnTokenAccount:a,messageTransmitter:b.publicKey,tokenMessenger:k.publicKey,remoteTokenMessenger:v.publicKey,tokenMinter:M.publicKey,localToken:I.publicKey,burnTokenMint:t,messageTransmitterProgram:r,tokenMessengerMinterProgram:e,tokenProgram:xe,eventAuthority:w.publicKey,eventRentPayer:i,messageSentEventData:l}).instruction()}const We=6400n;function ut(r){return(r-BigInt(1))/We*We+BigInt(1)}function ct(r,e,t){const s=e.toString();return B("used_nonces",t,[s,ut(r).toString()]).publicKey}async function hn(r,e,t,s,i,a){const u=n.dist.Buffer.from(n.CircleBridge.serialize(s)),m=n.dist.Buffer.from(n.hex.decode(i)),l=new y(t),b=new y(s.payload.burnToken.toUint8Array()),k=new $.SolanaAddress(s.payload.mintRecipient).unwrap(),M=a?new y(a):k,I=s.sourceDomain.toString(),v=B("message_transmitter",r),E=B("token_messenger",e),h=B("token_minter",e),w=B("local_token",e,[l]),T=B("remote_token_messenger",e,[I]),F=B("token_pair",e,[I,b]),lt=B("custody",e,[l]),dt=B("message_transmitter_authority",r,[e]).publicKey,mt=ct(s.nonce,s.sourceDomain,r),ft=B("__event_authority",r),gt=B("__event_authority",e),D=[];D.push({isSigner:!1,isWritable:!1,pubkey:E.publicKey}),D.push({isSigner:!1,isWritable:!1,pubkey:T.publicKey}),D.push({isSigner:!1,isWritable:!0,pubkey:h.publicKey}),D.push({isSigner:!1,isWritable:!0,pubkey:w.publicKey}),D.push({isSigner:!1,isWritable:!1,pubkey:F.publicKey}),D.push({isSigner:!1,isWritable:!0,pubkey:k}),D.push({isSigner:!1,isWritable:!0,pubkey:lt.publicKey}),D.push({isSigner:!1,isWritable:!1,pubkey:xe}),D.push({isSigner:!1,isWritable:!1,pubkey:gt.publicKey}),D.push({isSigner:!1,isWritable:!1,pubkey:e});const Ke=ot(r);return Ke.methods.receiveMessage({message:u,attestation:m}).accounts({payer:M,caller:M,authorityPda:dt,messageTransmitter:v.publicKey,usedNonces:mt,receiver:e,systemProgram:ae.programId,eventAuthority:ft.publicKey,program:Ke.programId}).remainingAccounts(D).transaction()}class ye{constructor(e,t,s,i){V(this,"network");V(this,"chain");V(this,"connection");V(this,"contracts");V(this,"tokenMessenger");V(this,"messageTransmitter");var m,l;if(this.network=e,this.chain=t,this.connection=s,this.contracts=i,e==="Devnet")throw new Error("CircleBridge not supported on Devnet");const a=(m=i.cctp)==null?void 0:m.messageTransmitter;if(!a)throw new Error(`Circle Messenge Transmitter contract for domain ${t} not found`);this.messageTransmitter=yn(new y(a),this.connection);const u=(l=i.cctp)==null?void 0:l.tokenMessenger;if(!u)throw new Error(`Circle Token Messenger contract for domain ${t} not found`);this.tokenMessenger=gn(new y(u),this.connection)}static async fromRpc(e,t){const[s,i]=await $.SolanaPlatform.chainFromRpc(e),a=t[i];if(a.network!==s)throw new Error(`Network mismatch: ${a.network} != ${s}`);return new ye(s,i,e,a.contracts)}async*redeem(e,t,s){const i=new y(n.usdcContract.get(this.network,this.chain)),a=new $.SolanaAddress(e).unwrap(),u=await hn(this.messageTransmitter.programId,this.tokenMessenger.programId,i,t,s,a),m=new X;m.feePayer=a,m.add(u),yield this.createUnsignedTx({transaction:m},"CircleBridge.Redeem")}async*transfer(e,t,s){const i=new y(n.usdcContract.get(this.network,this.chain)),a=new $.SolanaAddress(e).unwrap(),u=fn(i,a),m=n.circleChainId.get(this.network,t.chain),l=t.address.toUniversalAddress(),b=se.generate(),k=await pn(this.messageTransmitter.programId,this.tokenMessenger.programId,i,m,a,u,l,s,b.publicKey),M=new X;M.feePayer=a,M.add(k),yield this.createUnsignedTx({transaction:M,signers:[b]},"CircleBridge.Transfer")}async isTransferCompleted(e){const t=ct(e.nonce,e.sourceDomain,this.messageTransmitter.programId),s=ut(e.nonce),{usedNonces:i}=await this.messageTransmitter.account.usedNonces.fetch(t),a=Number(e.nonce-s),u=i[Math.floor(a/64)];if(!u)throw new Error("Invalid nonce byte index");const m=a%64,l=new n.BN((BigInt(1)<<BigInt(m)).toString());return!u.and(l).isZero()}async parseTransactionDetails(e){const t=await this.connection.getTransaction(e);if(!t||!t.meta)throw new Error("Transaction not found");const s=t.transaction.message.getAccountKeys();if(s.length<2)throw new Error("No message account found");const i=s.get(1),a=await this.connection.getAccountInfo(i);if(!a)throw new Error("No account data found");const u=new Uint8Array(a.data).slice(44),[m,l]=n.CircleBridge.deserialize(u),{payload:b}=m,k=b.messageSender,M=b.mintRecipient,I=n.toCircleChain(this.network,m.sourceDomain),v=n.toCircleChain(this.network,m.destinationDomain),E={chain:I,address:b.burnToken};return{from:{chain:I,address:k},to:{chain:v,address:M},token:E,amount:b.amount,message:m,id:{hash:l}}}createUnsignedTx(e,t,s=!1){return new $.SolanaUnsignedTransaction(e,this.network,this.chain,t,s)}}const bn={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"}]},Sn={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"}]};ht.registerProtocol($._platform,"CircleBridge",ye);const Be={TokenMessengerIdl:bn,MessageTransmitterIdl:Sn};exports.SolanaCircleBridge=ye;exports.idl=Be;
@@ -1,10 +1,10 @@
1
1
  var d = Object.defineProperty;
2
2
  var h = (i, e, r) => e in i ? d(i, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : i[e] = r;
3
3
  var o = (i, e, r) => (h(i, typeof e != "symbol" ? e + "" : e, r), r);
4
- import { bY as w, av as p, au as g } from "./index-DQR7qDM7.mjs";
5
- import { A as u } from "./aptos-xxNUHC8o.mjs";
6
- import { c as l } from "./create-NSzn0Mjd.mjs";
7
- import { r as f } from "./chain-BE2gm6l5.mjs";
4
+ import { bY as w, av as p, au as g } from "./index-C6mDtHMX.mjs";
5
+ import { A as u } from "./aptos-C8ttM75J.mjs";
6
+ import { c as l } from "./create-D7KM2TbJ.mjs";
7
+ import { r as f } from "./chain-D1Ms6bPc.mjs";
8
8
  class c {
9
9
  constructor(e, r, t, s) {
10
10
  o(this, "network");
@@ -1 +1 @@
1
- "use strict";var h=Object.defineProperty;var m=(a,e,r)=>e in a?h(a,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[e]=r;var o=(a,e,r)=>(m(a,typeof e!="symbol"?e+"":e,r),r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("./sui-c83-J_ow.js"),u=require("./index-Dh6Zmu7D.js"),w=require("./create-CONoHCNu.js"),g=require("./chain-Ck_2P-B0.js");class c{constructor(e,r,t,n){o(this,"network");o(this,"chain");o(this,"provider");o(this,"contracts");o(this,"chainId");o(this,"coreBridgePackageId");this.network=e,this.chain=r,this.provider=t,this.contracts=n,this.chainId=u.toChainId(r);const s=n.coreBridge;if(!s)throw new Error(`CoreBridge contract Address for chain ${r} not found`);this.coreBridgePackageId=s}getGuardianSet(e){throw new Error("Method not implemented.")}getMessageFee(){throw new Error("Method not implemented.")}static async fromRpc(e,r){const[t,n]=await d.SuiPlatform.chainFromRpc(e),s=r[n];if(s.network!==t)throw new Error(`Network mismatch: ${s.network} !== ${t}`);return new c(t,n,e,s.contracts)}async*verifyMessage(e,r){throw new Error("Method not implemented.")}async*publishMessage(e,r){throw new Error("Method not implemented.")}async parseTransaction(e){return(await this.parseMessages(e)).map(t=>({emitter:t.emitterAddress,sequence:t.sequence,chain:this.chain}))}async getGuardianSetIndex(){throw new Error("Method not implemented.")}async parseMessages(e){var n;const t=(n=(await this.provider.getTransactionBlock({digest:e,options:{showEvents:!0,showEffects:!0,showInput:!0}})).events)==null?void 0:n.filter(s=>s.type.endsWith("WormholeMessage"));if(!t||t.length==0)throw new Error("WormholeMessage not found");return t.map(s=>{const i=s.parsedJson;return w.createVAA("Uint8Array",{emitterChain:this.chain,emitterAddress:new d.SuiAddress(i.sender).toUniversalAddress(),sequence:BigInt(i.sequence),guardianSet:0,timestamp:Number(i.timestamp),consistencyLevel:i.consistency_level,nonce:i.nonce,signatures:[],payload:new Uint8Array(i.payload)})})}}g.registerProtocol(d._platform,"WormholeCore",c);exports.SuiWormholeCore=c;
1
+ "use strict";var h=Object.defineProperty;var m=(a,e,r)=>e in a?h(a,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[e]=r;var o=(a,e,r)=>(m(a,typeof e!="symbol"?e+"":e,r),r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("./sui-CErMMm5A.js"),u=require("./index-rtZ91I3M.js"),w=require("./create-BjUw-7kj.js"),g=require("./chain-HMnpkrbl.js");class c{constructor(e,r,t,n){o(this,"network");o(this,"chain");o(this,"provider");o(this,"contracts");o(this,"chainId");o(this,"coreBridgePackageId");this.network=e,this.chain=r,this.provider=t,this.contracts=n,this.chainId=u.toChainId(r);const s=n.coreBridge;if(!s)throw new Error(`CoreBridge contract Address for chain ${r} not found`);this.coreBridgePackageId=s}getGuardianSet(e){throw new Error("Method not implemented.")}getMessageFee(){throw new Error("Method not implemented.")}static async fromRpc(e,r){const[t,n]=await d.SuiPlatform.chainFromRpc(e),s=r[n];if(s.network!==t)throw new Error(`Network mismatch: ${s.network} !== ${t}`);return new c(t,n,e,s.contracts)}async*verifyMessage(e,r){throw new Error("Method not implemented.")}async*publishMessage(e,r){throw new Error("Method not implemented.")}async parseTransaction(e){return(await this.parseMessages(e)).map(t=>({emitter:t.emitterAddress,sequence:t.sequence,chain:this.chain}))}async getGuardianSetIndex(){throw new Error("Method not implemented.")}async parseMessages(e){var n;const t=(n=(await this.provider.getTransactionBlock({digest:e,options:{showEvents:!0,showEffects:!0,showInput:!0}})).events)==null?void 0:n.filter(s=>s.type.endsWith("WormholeMessage"));if(!t||t.length==0)throw new Error("WormholeMessage not found");return t.map(s=>{const i=s.parsedJson;return w.createVAA("Uint8Array",{emitterChain:this.chain,emitterAddress:new d.SuiAddress(i.sender).toUniversalAddress(),sequence:BigInt(i.sequence),guardianSet:0,timestamp:Number(i.timestamp),consistencyLevel:i.consistency_level,nonce:i.nonce,signatures:[],payload:new Uint8Array(i.payload)})})}}g.registerProtocol(d._platform,"WormholeCore",c);exports.SuiWormholeCore=c;
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("./index-6ZiA60gP.js"),kr=require("./dijkstra-CtFxn7S9.js"),Mr=require("./index-Dh6Zmu7D.js");/**
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("./index-C2oD47lT.js"),kr=require("./dijkstra-CtFxn7S9.js"),Mr=require("./index-rtZ91I3M.js");/**
2
2
  * @license
3
3
  * Copyright 2019 Google LLC
4
4
  * SPDX-License-Identifier: BSD-3-Clause
@@ -1,5 +1,5 @@
1
- import { d as k, cm as K1, g as P0, s as M0, cn as N0, co as T0, cp as j0 } from "./index-DQR7qDM7.mjs";
2
- import { o as G3 } from "./browser-ponyfill-yx2re7P5.mjs";
1
+ import { d as k, cm as K1, g as P0, s as M0, cn as N0, co as T0, cp as j0 } from "./index-C6mDtHMX.mjs";
2
+ import { o as G3 } from "./browser-ponyfill-BBGnYIgf.mjs";
3
3
  import * as W2 from "react";
4
4
  import v, { createContext as D0, useState as _2, useEffect as N4, useCallback as B0, useContext as W0 } from "react";
5
5
  import L0 from "react-dom";