@orderly.network/default-solana-adapter 2.5.0-alpha.1 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -10,7 +10,7 @@ declare global {
10
10
  };
11
11
  }
12
12
  }
13
- declare const _default: "2.5.0-alpha.1";
13
+ declare const _default: "2.5.0";
14
14
 
15
15
  interface SolanaAdapterOption {
16
16
  provider: SolanaWalletProvider;
package/dist/index.d.ts CHANGED
@@ -10,7 +10,7 @@ declare global {
10
10
  };
11
11
  }
12
12
  }
13
- declare const _default: "2.5.0-alpha.1";
13
+ declare const _default: "2.5.0";
14
14
 
15
15
  interface SolanaAdapterOption {
16
16
  provider: SolanaWalletProvider;
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var Tn=Object.create;var H=Object.defineProperty,xn=Object.defineProperties,Bn=Object.getOwnPropertyDescriptor,vn=Object.getOwnPropertyDescriptors,Rn=Object.getOwnPropertyNames,Ce=Object.getOwnPropertySymbols,On=Object.getPrototypeOf,Ke=Object.prototype.hasOwnProperty,Cn=Object.prototype.propertyIsEnumerable;var me=(n,a,e)=>a in n?H(n,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[a]=e,A=(n,a)=>{for(var e in a||(a={}))Ke.call(a,e)&&me(n,e,a[e]);if(Ce)for(var e of Ce(a))Cn.call(a,e)&&me(n,e,a[e]);return n},M=(n,a)=>xn(n,vn(a));var Kn=(n,a)=>{for(var e in a)H(n,e,{get:a[e],enumerable:!0})},Le=(n,a,e,s)=>{if(a&&typeof a=="object"||typeof a=="function")for(let r of Rn(a))!Ke.call(n,r)&&r!==e&&H(n,r,{get:()=>a[r],enumerable:!(s=Bn(a,r))||s.enumerable});return n};var Ln=(n,a,e)=>(e=n!=null?Tn(On(n)):{},Le(a||!n||!n.__esModule?H(e,"default",{value:n,enumerable:!0}):e,n)),Nn=n=>Le(H({},"__esModule",{value:!0}),n);var C=(n,a,e)=>(me(n,typeof a!="symbol"?a+"":a,e),e);var p=(n,a,e)=>new Promise((s,r)=>{var t=i=>{try{d(e.next(i))}catch(o){r(o)}},m=i=>{try{d(e.throw(i))}catch(o){r(o)}},d=i=>i.done?s(i.value):Promise.resolve(i.value).then(t,m);d((e=e.apply(n,a)).next())});var Wn={};Kn(Wn,{DefaultSolanaWalletAdapter:()=>q,version:()=>Ne});module.exports=Nn(Wn);typeof window!="undefined"&&(window.__ORDERLY_VERSION__=window.__ORDERLY_VERSION__||{},window.__ORDERLY_VERSION__["@orderly.network/default-solana-adapter"]="2.5.0-alpha.1");var Ne="2.5.0-alpha.1";var X=require("@orderly.network/core"),J=require("@orderly.network/types"),bn=Ln(require("@noble/ed25519")),An=require("bs58");var v=require("@coral-xyz/anchor"),f=require("@solana/web3.js"),mn=require("bs58"),K=require("ethereum-cryptography/keccak"),D=require("ethereum-cryptography/utils"),b=require("ethers"),dn=require("@orderly.network/types");var g=require("@solana/web3.js"),W=require("@layerzerolabs/lz-v2-utilities"),P=new g.PublicKey("76y77prsiCMvXMjuoZ5VRrhG5qYBrUMYTE5WgHqgjEn6"),S=new g.PublicKey("7a4WjyR8VZ7yZz5XJAKm39BUGn5iT9CKcv2pmG9tdXVH"),U=new g.PublicKey("6doghB248px58JSSwG4qejQ46kFMW4AMj7vzJnWZHNZn"),B=new g.PublicKey("8ahPGPjEbpgGaZx2NV1iG5Shj7TDwvsjkEDcGWjt94TP"),He=S,We=S,V=new g.PublicKey("HtEYV4xB4wvsj5fgTkcfuChYpvGYzgzwvNhgDZQNh7wW"),Ue="VaultAuthority",Ve="Broker",Ge="Token",de=(0,W.addressToBytes32)("0x9Dc724b24146BeDD2dA28b8C4B74126169B8f312"),Fe=(0,W.addressToBytes32)("0x45b6C6266A7A2170617d8A27A50C642fd68b91c4"),ze=(0,W.addressToBytes32)("0x5Bf771A65d057e778C5f0Ed52A0003316f94322D"),Ye=(0,W.addressToBytes32)("0xCecAe061aa078e13b5e70D5F9eCee90a3F2B6AeA"),Qe=40200,je=30213,j=new g.PublicKey("BWp8HaYYhiNHekt3zgQhqoCrRftneGxxfgKmCZ6svHN"),Ze=new g.PublicKey("BswrQQoPKAFojTuJutZcBMtigAgTghEH4M8ofn3EG2X2"),qe=new g.PublicKey("BbGKfxuPwDmu58BjPpd7PMG69TqnZjSpKaLDMgf9E9Dr"),Xe=new g.PublicKey("8iq7xCQt3bLdRRn4A46d5GuaXYinBoiAhbe2sUmZVzwg"),le=new g.PublicKey("EYJq9eU4GMRUriUJBgGoZ8YLQBXcWaciXuSsEXE7ieQS"),ce=new g.PublicKey("5zBjLor7vEraAt4zp2H82sy9MSqFoDnNa1Lx6EYKTYRZ"),pe=new g.PublicKey("9shwxWDUNhtwkHocsUAmrNAQfBH2DHh4njdAEdHZZkF2"),Z=new g.PublicKey("ErBmAD61mGFKvrFNaTJuxoPwqrS8GgtwtqJTJVjFWx9Q");var fe={version:"0.1.0",name:"solana_vault",instructions:[{name:"initVault",accounts:[{name:"signer",isMut:!0,isSigner:!0},{name:"vaultAuthority",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"InitVaultParams"}}]},{name:"deposit",accounts:[{name:"user",isMut:!0,isSigner:!0},{name:"userTokenAccount",isMut:!0,isSigner:!1},{name:"vaultAuthority",isMut:!0,isSigner:!1},{name:"vaultTokenAccount",isMut:!0,isSigner:!1},{name:"depositToken",isMut:!1,isSigner:!1},{name:"peer",isMut:!1,isSigner:!1},{name:"enforcedOptions",isMut:!1,isSigner:!1},{name:"oappConfig",isMut:!1,isSigner:!1},{name:"allowedBroker",isMut:!1,isSigner:!1},{name:"allowedToken",isMut:!1,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"associatedTokenProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"depositParams",type:{defined:"DepositParams"}},{name:"oappParams",type:{defined:"OAppSendParams"}}],returns:{defined:"MessagingReceipt"}},{name:"initOapp",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"oappConfig",isMut:!0,isSigner:!1},{name:"lzReceiveTypes",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"InitOAppParams"}}]},{name:"resetOapp",accounts:[{name:"admin",isMut:!0,isSigner:!0},{name:"oappConfig",isMut:!0,isSigner:!1}],args:[]},{name:"reinitOapp",accounts:[{name:"owner",isMut:!0,isSigner:!0},{name:"oappConfig",isMut:!0,isSigner:!1},{name:"vaultAuthority",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"ReinitOAppParams"}}]},{name:"resetVault",accounts:[{name:"owner",isMut:!0,isSigner:!0},{name:"vaultAuthority",isMut:!0,isSigner:!1}],args:[]},{name:"reinitVault",accounts:[{name:"admin",isMut:!0,isSigner:!0},{name:"vaultAuthority",isMut:!0,isSigner:!1},{name:"oappConfig",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"ReinitVaultParams"}}]},{name:"setBroker",accounts:[{name:"admin",isMut:!0,isSigner:!0},{name:"allowedBroker",isMut:!0,isSigner:!1},{name:"oappConfig",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetBrokerParams"}}]},{name:"setToken",accounts:[{name:"admin",isMut:!0,isSigner:!0},{name:"allowedToken",isMut:!0,isSigner:!1},{name:"oappConfig",isMut:!1,isSigner:!1},{name:"mintAccount",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetTokenParams"}}]},{name:"setOrderDelivery",accounts:[{name:"owner",isMut:!0,isSigner:!0},{name:"vaultAuthority",isMut:!0,isSigner:!1}],args:[{name:"params",type:{defined:"SetOrderDeliveryParams"}}]},{name:"oappQuote",accounts:[{name:"oappConfig",isMut:!1,isSigner:!1},{name:"peer",isMut:!1,isSigner:!1},{name:"enforcedOptions",isMut:!1,isSigner:!1},{name:"vaultAuthority",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"DepositParams"}}],returns:{defined:"MessagingFee"}},{name:"lzReceive",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"peer",isMut:!1,isSigner:!1},{name:"oappConfig",isMut:!1,isSigner:!1},{name:"user",isMut:!1,isSigner:!1,docs:["CHECK"]},{name:"userDepositWallet",isMut:!0,isSigner:!1},{name:"vaultAuthority",isMut:!0,isSigner:!1},{name:"vaultDepositWallet",isMut:!0,isSigner:!1},{name:"depositToken",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:"OAppLzReceiveParams"}}]},{name:"lzReceiveTypes",accounts:[{name:"oappConfig",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"OAppLzReceiveParams"}}],returns:{vec:{defined:"oapp::endpoint_cpi::LzAccount"}}},{name:"setRateLimit",accounts:[{name:"admin",isMut:!1,isSigner:!0},{name:"peer",isMut:!0,isSigner:!1},{name:"oappConfig",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetRateLimitParams"}}]},{name:"setDelegate",accounts:[{name:"admin",isMut:!1,isSigner:!0},{name:"oappConfig",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetDelegateParams"}}]},{name:"transferAdmin",accounts:[{name:"admin",isMut:!1,isSigner:!0},{name:"oappConfig",isMut:!0,isSigner:!1}],args:[{name:"params",type:{defined:"TransferAdminParams"}}]},{name:"setPeer",accounts:[{name:"admin",isMut:!0,isSigner:!0},{name:"peer",isMut:!0,isSigner:!1},{name:"oappConfig",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetPeerParams"}}]},{name:"setEnforcedOptions",accounts:[{name:"admin",isMut:!0,isSigner:!0},{name:"enforcedOptions",isMut:!0,isSigner:!1},{name:"oappConfig",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetEnforcedOptionsParams"}}]}],accounts:[{name:"enforcedOptions",type:{kind:"struct",fields:[{name:"send",type:"bytes"},{name:"sendAndCall",type:"bytes"},{name:"bump",type:"u8"}]}},{name:"oAppConfig",type:{kind:"struct",fields:[{name:"endpointProgram",type:"publicKey"},{name:"bump",type:"u8"},{name:"admin",type:"publicKey"},{name:"usdcHash",type:{array:["u8",32]}},{name:"usdcMint",type:"publicKey"}]}},{name:"oAppLzReceiveTypesAccounts",type:{kind:"struct",fields:[{name:"oappConfig",type:"publicKey"}]}},{name:"peer",type:{kind:"struct",fields:[{name:"address",type:{array:["u8",32]}},{name:"rateLimiter",type:{option:{defined:"RateLimiter"}}},{name:"bump",type:"u8"}]}},{name:"allowedBroker",type:{kind:"struct",fields:[{name:"brokerHash",type:{array:["u8",32]}},{name:"allowed",type:"bool"},{name:"bump",type:"u8"}]}},{name:"allowedToken",type:{kind:"struct",fields:[{name:"mintAccount",type:"publicKey"},{name:"tokenHash",type:{array:["u8",32]}},{name:"tokenDecimals",type:"u8"},{name:"allowed",type:"bool"},{name:"bump",type:"u8"}]}},{name:"vaultAuthority",type:{kind:"struct",fields:[{name:"bump",docs:["Bump seed for the vault authority PDA"],type:"u8"},{name:"owner",type:"publicKey"},{name:"depositNonce",type:"u64"},{name:"orderDelivery",type:"bool"},{name:"inboundNonce",type:"u64"},{name:"dstEid",type:"u32"},{name:"solChainId",type:"u128"}]}}],types:[{name:"VaultDepositParams",type:{kind:"struct",fields:[{name:"accountId",type:{array:["u8",32]}},{name:"brokerHash",type:{array:["u8",32]}},{name:"userAddress",type:{array:["u8",32]}},{name:"tokenHash",type:{array:["u8",32]}},{name:"srcChainId",type:"u128"},{name:"tokenAmount",type:"u128"},{name:"srcChainDepositNonce",type:"u64"}]}},{name:"LzMessage",type:{kind:"struct",fields:[{name:"msgType",type:"u8"},{name:"payload",type:"bytes"}]}},{name:"InitOAppParams",type:{kind:"struct",fields:[{name:"admin",type:"publicKey"},{name:"endpointProgram",type:{option:"publicKey"}},{name:"usdcHash",type:{array:["u8",32]}},{name:"usdcMint",type:"publicKey"}]}},{name:"OAppLzReceiveParams",type:{kind:"struct",fields:[{name:"srcEid",type:"u32"},{name:"sender",type:{array:["u8",32]}},{name:"nonce",type:"u64"},{name:"guid",type:{array:["u8",32]}},{name:"message",type:"bytes"},{name:"extraData",type:"bytes"}]}},{name:"AccountWithdrawSol",type:{kind:"struct",fields:[{name:"accountId",type:{array:["u8",32]}},{name:"sender",type:{array:["u8",32]}},{name:"receiver",type:{array:["u8",32]}},{name:"brokerHash",type:{array:["u8",32]}},{name:"tokenHash",type:{array:["u8",32]}},{name:"tokenAmount",type:"u64"},{name:"fee",type:"u64"},{name:"chainId",type:"u64"},{name:"withdrawNonce",type:"u64"}]}},{name:"VaultWithdrawParams",type:{kind:"struct",fields:[{name:"accountId",type:{array:["u8",32]}},{name:"sender",type:{array:["u8",32]}},{name:"receiver",type:{array:["u8",32]}},{name:"brokerHash",type:{array:["u8",32]}},{name:"tokenHash",type:{array:["u8",32]}},{name:"tokenAmount",type:"u64"},{name:"fee",type:"u128"},{name:"chainId",type:"u128"},{name:"withdrawNonce",type:"u64"}]}},{name:"MessagingFee",type:{kind:"struct",fields:[{name:"nativeFee",type:"u64"},{name:"lzTokenFee",type:"u64"}]}},{name:"ReinitOAppParams",type:{kind:"struct",fields:[{name:"admin",type:"publicKey"},{name:"endpointProgram",type:{option:"publicKey"}},{name:"usdcHash",type:{array:["u8",32]}},{name:"usdcMint",type:"publicKey"}]}},{name:"SetDelegateParams",type:{kind:"struct",fields:[{name:"delegate",type:"publicKey"}]}},{name:"SetEnforcedOptionsParams",type:{kind:"struct",fields:[{name:"dstEid",type:"u32"},{name:"send",type:"bytes"},{name:"sendAndCall",type:"bytes"}]}},{name:"SetPeerParams",type:{kind:"struct",fields:[{name:"dstEid",type:"u32"},{name:"peer",type:{array:["u8",32]}}]}},{name:"SetRateLimitParams",type:{kind:"struct",fields:[{name:"dstEid",type:"u32"},{name:"refillPerSecond",type:{option:"u64"}},{name:"capacity",type:{option:"u64"}},{name:"enabled",type:"bool"}]}},{name:"TransferAdminParams",type:{kind:"struct",fields:[{name:"admin",type:"publicKey"}]}},{name:"DepositParams",type:{kind:"struct",fields:[{name:"accountId",type:{array:["u8",32]}},{name:"brokerHash",type:{array:["u8",32]}},{name:"tokenHash",type:{array:["u8",32]}},{name:"userAddress",type:{array:["u8",32]}},{name:"tokenAmount",type:"u64"}]}},{name:"OAppSendParams",type:{kind:"struct",fields:[{name:"nativeFee",type:"u64"},{name:"lzTokenFee",type:"u64"}]}},{name:"InitVaultParams",type:{kind:"struct",fields:[{name:"owner",type:"publicKey"},{name:"orderDelivery",type:"bool"},{name:"dstEid",type:"u32"},{name:"solChainId",type:"u128"}]}},{name:"ReinitVaultParams",type:{kind:"struct",fields:[{name:"owner",type:"publicKey"},{name:"dstEid",type:"u32"},{name:"depositNonce",type:"u64"},{name:"orderDelivery",type:"bool"},{name:"inboundNonce",type:"u64"},{name:"solChainId",type:"u128"}]}},{name:"SetBrokerParams",type:{kind:"struct",fields:[{name:"brokerHash",type:{array:["u8",32]}},{name:"allowed",type:"bool"}]}},{name:"SetOrderDeliveryParams",type:{kind:"struct",fields:[{name:"orderDelivery",type:"bool"},{name:"nonce",type:"u64"}]}},{name:"SetTokenParams",type:{kind:"struct",fields:[{name:"mintAccount",type:"publicKey"},{name:"tokenHash",type:{array:["u8",32]}},{name:"allowed",type:"bool"}]}},{name:"RateLimiter",type:{kind:"struct",fields:[{name:"capacity",type:"u64"},{name:"tokens",type:"u64"},{name:"refillPerSecond",type:"u64"},{name:"lastRefillTime",type:"u64"}]}},{name:"OAppError",type:{kind:"enum",variants:[{name:"Unauthorized"},{name:"InvalidSender"},{name:"InvalidOptions"},{name:"InvalidEndpointProgram"},{name:"RateLimitExceeded"},{name:"WithdrawFailed"},{name:"InvalidInboundNonce"}]}},{name:"MsgType",type:{kind:"enum",variants:[{name:"Deposit"},{name:"Withdraw"},{name:"RebalanceBurn"},{name:"RebalanceMint"}]}}],events:[{name:"SetAllowedBroker",fields:[{name:"brokerHash",type:{array:["u8",32]},index:!1}]},{name:"ResetAllowedBroker",fields:[{name:"brokerHash",type:{array:["u8",32]},index:!1}]},{name:"SetAllowedToken",fields:[{name:"tokenHash",type:{array:["u8",32]},index:!1},{name:"mintAccount",type:"publicKey",index:!1}]},{name:"ResetAllowedToken",fields:[{name:"tokenHash",type:{array:["u8",32]},index:!1},{name:"mintAccount",type:"publicKey",index:!1}]},{name:"Deposited",fields:[{name:"user",type:"publicKey",index:!1},{name:"amount",type:"u64",index:!1}]},{name:"Withdrawn",fields:[{name:"user",type:"publicKey",index:!1},{name:"amount",type:"u64",index:!1}]},{name:"VaultDeposited",fields:[{name:"accountId",type:{array:["u8",32]},index:!1},{name:"brokerHash",type:{array:["u8",32]},index:!1},{name:"userAddress",type:{array:["u8",32]},index:!1},{name:"tokenHash",type:{array:["u8",32]},index:!1},{name:"srcChainId",type:"u128",index:!1},{name:"tokenAmount",type:"u64",index:!1},{name:"srcChainDepositNonce",type:"u64",index:!1}]},{name:"VaultWithdrawn",fields:[{name:"accountId",type:{array:["u8",32]},index:!1},{name:"sender",type:{array:["u8",32]},index:!1},{name:"receiver",type:{array:["u8",32]},index:!1},{name:"brokerHash",type:{array:["u8",32]},index:!1},{name:"tokenHash",type:{array:["u8",32]},index:!1},{name:"tokenAmount",type:"u64",index:!1},{name:"fee",type:"u128",index:!1},{name:"chainId",type:"u128",index:!1},{name:"withdrawNonce",type:"u64",index:!1}]},{name:"OAppSent",fields:[{name:"guid",type:{array:["u8",32]},index:!1},{name:"dstEid",type:"u32",index:!1}]},{name:"OAppReceived",fields:[{name:"guid",type:{array:["u8",32]},index:!1},{name:"srcEid",type:"u32",index:!1}]}],errors:[{code:6e3,name:"InsufficientFunds",msg:"Deposited funds are insufficient for withdrawal"},{code:6001,name:"UserInfoBelongsToAnotherUser",msg:"User info pda belongs to another user"},{code:6002,name:"BrokerNotAllowed",msg:"Broker is not allowed"},{code:6003,name:"TokenNotAllowed",msg:"Token is not allowed"},{code:6004,name:"InvalidAccountId",msg:"AccountId is invalid"},{code:6005,name:"InvalidVaultOwner",msg:"Vault owner is not the same as the payer"}]};var l=require("@solana/web3.js"),Je=require("@solana/spl-token");var u=require("@layerzerolabs/lz-solana-sdk-v2");var G=(n,a)=>(0,Je.getAssociatedTokenAddressSync)(n,a,!0);function ye(n){return l.PublicKey.findProgramAddressSync([Buffer.from(Ue,"utf8")],n)[0]}function $e(n,a){let e=Array.from(Buffer.from(a.slice(2),"hex"));return l.PublicKey.findProgramAddressSync([Buffer.from(Ve,"utf8"),Buffer.from(e)],n)[0]}function en(n,a){let e=Array.from(Buffer.from(a.slice(2),"hex"));return l.PublicKey.findProgramAddressSync([Buffer.from(Ge,"utf8"),Buffer.from(e)],n)[0]}function ge(n){return l.PublicKey.findProgramAddressSync([Buffer.from(u.OAPP_SEED,"utf8")],n)[0]}function Se(n,a,e){let s=Buffer.alloc(4);return s.writeUInt32BE(e),l.PublicKey.findProgramAddressSync([Buffer.from(u.PEER_SEED,"utf8"),a.toBuffer(),s],n)[0]}function be(n,a,e){let s=Buffer.alloc(4);return s.writeUInt32BE(e),l.PublicKey.findProgramAddressSync([Buffer.from(u.ENFORCED_OPTIONS_SEED,"utf8"),a.toBuffer(),s],n)[0]}function nn(){return l.PublicKey.findProgramAddressSync([Buffer.from(u.MESSAGE_LIB_SEED,"utf8")],S)[0]}function Ae(n,a){let e=Buffer.alloc(4);return e.writeUInt32BE(a),l.PublicKey.findProgramAddressSync([Buffer.from(u.SEND_LIBRARY_CONFIG_SEED,"utf8"),n.toBuffer(),e],P)[0]}function Pe(n){let a=Buffer.alloc(4);return a.writeUInt32BE(n),l.PublicKey.findProgramAddressSync([Buffer.from(u.SEND_LIBRARY_CONFIG_SEED,"utf8"),a],P)[0]}function an(n){return l.PublicKey.findProgramAddressSync([Buffer.from(u.MESSAGE_LIB_SEED,"utf8"),n.toBuffer()],P)[0]}function ke(){return l.PublicKey.findProgramAddressSync([Buffer.from(u.ENDPOINT_SEED,"utf8")],P)[0]}function Hn(n){let a=de;return n.toBase58()===le.toBase58()&&(a=de),n.toBase58()===ce.toBase58()&&(a=Fe),n.toBase58()===pe.toBase58()&&(a=ze),n.toBase58()===Z.toBase58()&&(a=Ye),a}function he(n,a,e){let s=Buffer.alloc(4),r=Hn(n);return s.writeUInt32BE(e),l.PublicKey.findProgramAddressSync([Buffer.from(u.NONCE_SEED,"utf8"),a.toBuffer(),s,r],P)[0]}function tn(){return l.PublicKey.findProgramAddressSync([Buffer.from(u.EVENT_SEED,"utf8")],P)[0]}function sn(){return l.PublicKey.findProgramAddressSync([Buffer.from(u.ULN_SEED,"utf8")],S)[0]}function De(n,a){let e=Buffer.alloc(4);return e.writeUInt32BE(a),l.PublicKey.findProgramAddressSync([Buffer.from(u.SEND_CONFIG_SEED,"utf8"),e,n.toBuffer()],S)[0]}function Ee(n){let a=Buffer.alloc(4);return a.writeUInt32BE(n),l.PublicKey.findProgramAddressSync([Buffer.from(u.SEND_CONFIG_SEED,"utf8"),a],He)[0]}function rn(){return l.PublicKey.findProgramAddressSync([Buffer.from(u.EVENT_SEED,"utf8")],S)[0]}function Me(){return l.PublicKey.findProgramAddressSync([Buffer.from(u.EXECUTOR_CONFIG_SEED,"utf8")],U)[0]}function Ie(){return l.PublicKey.findProgramAddressSync([Buffer.from(u.PRICE_FEED_SEED,"utf8")],B)[0]}function we(){return l.PublicKey.findProgramAddressSync([Buffer.from(u.DVN_CONFIG_SEED,"utf8")],V)[0]}function _e(n){return n.toBase58()===Z.toBase58()?je:Qe}function Te(n){return n.toBase58()===le.toBase58()?(console.log("DEV_LOOKUP_TABLE_ADDRESS: ",j.toBase58()),j):n.toBase58()===ce.toBase58()?Ze:n.toBase58()===pe.toBase58()?qe:n.toBase58()===Z.toBase58()?Xe:j}function on(n){return l.PublicKey.findProgramAddressSync([Buffer.from(u.MESSAGE_LIB_SEED,"utf8")],n||S)[0]}function un(n,a){return l.PublicKey.findProgramAddressSync([Buffer.from(u.MESSAGE_LIB_SEED,"utf8"),n.toBytes()],a||P)[0]}function xe(n,a){return p(this,null,function*(){return(yield n.getAddressLookupTable(a)).value})}function ln(n){let{publicKey:a,brokerId:e,expiration:s=365,timestamp:r=Date.now(),scope:t,tag:m,chainId:d,subAccountId:i}=n,o=A(A({brokerId:e,chainType:"SOL",orderlyKey:a,scope:t||"read,trading,asset",chainId:d,timestamp:r,expiration:r+1e3*60*60*24*s},typeof m!="undefined"?{tag:m}:{}),typeof i!="undefined"?{subAccountId:i}:{}),y=(0,b.solidityPackedKeccak256)(["string"],[o.brokerId]),k=(0,b.solidityPackedKeccak256)(["string"],[o.orderlyKey]),_=(0,b.solidityPackedKeccak256)(["string"],[o.scope]),I=b.AbiCoder.defaultAbiCoder(),T=(0,K.keccak256)((0,D.hexToBytes)(I.encode(["bytes32","bytes32","bytes32","uint256","uint256","uint256"],[y,k,_,o.chainId,o.timestamp,o.expiration]))),x=(0,D.bytesToHex)(T),L=new TextEncoder().encode(x);return[o,L]}function cn(n){let{chainId:a,registrationNonce:e,brokerId:s,timestamp:r}=n,t={brokerId:s,chainId:a,timestamp:r,registrationNonce:e},m=(0,b.solidityPackedKeccak256)(["string"],[t.brokerId]),d=b.AbiCoder.defaultAbiCoder(),i=(0,K.keccak256)((0,D.hexToBytes)(d.encode(["bytes32","uint256","uint256","uint256"],[m,t.chainId,t.timestamp,t.registrationNonce]))),o=(0,D.bytesToHex)(i),y=new TextEncoder().encode(o);return[t,y]}function pn(n){let{chainId:a,receiver:e,token:s,amount:r,nonce:t,brokerId:m}=n,d=Date.now(),i={brokerId:m,chainId:a,receiver:e,token:s,amount:r,withdrawNonce:t,timestamp:d,chainType:"SOL"},o=(0,b.solidityPackedKeccak256)(["string"],[i.brokerId]),y=(0,b.solidityPackedKeccak256)(["string"],[i.token]),k=(0,K.keccak256)(Buffer.from("Orderly Network")),_=b.AbiCoder.defaultAbiCoder(),I=(0,K.keccak256)((0,D.hexToBytes)(_.encode(["bytes32","bytes32","uint256","bytes32","uint256","uint64","uint64","bytes32"],[o,y,a,(0,mn.decode)(i.receiver),i.amount,i.withdrawNonce,d,k]))),T=(0,D.bytesToHex)(I),x=new TextEncoder().encode(T);return[i,x]}function fn(n){let{settlePnlNonce:a,brokerId:e,chainId:s,timestamp:r}=n,t={brokerId:e,chainId:s,timestamp:r,chainType:"SOL",settleNonce:a},m=(0,b.solidityPackedKeccak256)(["string"],[e]),d=b.AbiCoder.defaultAbiCoder(),i=(0,K.keccak256)((0,D.hexToBytes)(d.encode(["bytes32","uint256","uint64","uint64"],[m,t.chainId,t.settleNonce,t.timestamp]))),o=(0,D.bytesToHex)(i),y=new TextEncoder().encode(o);return[t,y]}function Be(r){return p(this,arguments,function*({vaultAddress:n,userAddress:a,connection:e,depositData:s}){console.log("-- vaultAddress",n);let t=new f.PublicKey(n),m=_e(t),d=new v.Program(fe,t,{connection:e}),i=new f.PublicKey(a),o=ge(t),y=Se(t,o,m),k=be(t,o,m),_=Ae(o,m),I=Pe(m),T=ke(),x=he(t,o,m),L=De(o,m),h=Ee(m),E=Me(),F=Ie(),$=we(),z=on(S),ee=un(z),ne=ye(t),ae=yn(a,s),te=yield d.methods.oappQuote(ae).accounts({oappConfig:o,peer:y,enforcedOptions:k,vaultAuthority:ne}).remainingAccounts([{pubkey:P,isWritable:!1,isSigner:!1},{pubkey:S,isWritable:!1,isSigner:!1},{pubkey:_,isWritable:!1,isSigner:!1},{pubkey:I,isWritable:!1,isSigner:!1},{pubkey:ee,isWritable:!1,isSigner:!1},{pubkey:T,isWritable:!1,isSigner:!1},{pubkey:x,isWritable:!1,isSigner:!1},{pubkey:z,isWritable:!1,isSigner:!1},{pubkey:L,isWritable:!1,isSigner:!1},{pubkey:h,isWritable:!1,isSigner:!1},{pubkey:U,isWritable:!1,isSigner:!1},{pubkey:E,isWritable:!1,isSigner:!1},{pubkey:B,isWritable:!1,isSigner:!1},{pubkey:F,isWritable:!1,isSigner:!1},{pubkey:V,isWritable:!1,isSigner:!1},{pubkey:$,isWritable:!1,isSigner:!1},{pubkey:B,isWritable:!1,isSigner:!1},{pubkey:F,isWritable:!1,isSigner:!1}]).instruction(),se=yield e.getLatestBlockhash(),re=Te(t),Y=yield xe(e,re);if(!Y)throw console.log("-- lookup table account error"),new Error("-- lookup table account error");let ie=new f.TransactionMessage({payerKey:i,recentBlockhash:se.blockhash,instructions:[te]}).compileToV0Message([Y]),oe=new f.VersionedTransaction(ie),w=yield e.simulateTransaction(oe);if(console.log("-- feeRes",w),w.value.err){let O=typeof w.value.err=="object"?JSON.stringify(w.value.err):w.value.err;throw O.toString().includes("AccountNotFound")?new Error("Error: Account gas is insufficient."):new Error(`Error: ${O}`)}let Q=`Program return: ${d.programId} `,N=w.value.logs.find(O=>O.startsWith(Q));if(!N)throw new Error("Error: get deposit fee error");let ue=N.slice(Q.length),R=Buffer.from(ue,"base64");return console.log(R.readBigUInt64LE(0),R.readBigUInt64LE(1)),R.readBigUInt64LE(0)})}var yn=(n,a)=>{let e=a.brokerHash,s=Array.from(Buffer.from(e.slice(2),"hex")),r=a.tokenHash,t=Array.from(Buffer.from(r.slice(2),"hex")),m=a.accountId,d=Array.from(Buffer.from(m.slice(2),"hex")),i=new f.PublicKey(n);return{accountId:d,brokerHash:s,tokenHash:t,userAddress:Array.from(i.toBuffer()),tokenAmount:new v.BN(a.tokenAmount)}};function gn(t){return p(this,arguments,function*({vaultAddress:n,userAddress:a,connection:e,sendTransaction:s,depositData:r}){let m=r.brokerHash,d=r.tokenHash;console.log("-- vault address",n);let i=new f.PublicKey(n),o=new v.Program(fe,i,{connection:e}),y=new f.PublicKey(r.USDCAddress),k=new f.PublicKey(a),_=G(y,k),I=ye(i),T=G(y,I),x=$e(i,m),L=en(i,d),h=ge(i);console.log("-- oappconfig pda",h.toBase58());let E=_e(i),F=Se(i,h,E),$=be(i,h,E),z=nn(),ee=Ae(h,E),ne=Pe(E),ae=an(z),te=ke(),se=he(i,h,E),re=tn(),Y=sn(),ie=De(h,E),oe=Ee(E),w=rn(),Q=Me(),N=Ie(),ue=we(),R=yn(a,r),O=yield Be({vaultAddress:n,userAddress:a,connection:e,depositData:r}),ve={nativeFee:new v.BN(O.toString()),lzTokenFee:new v.BN(0)};console.log("--- value params",{vaultDepositParams:R,sendParam:ve});let Dn=yield o.methods.deposit(R,ve).accounts({userTokenAccount:_,vaultAuthority:I,vaultTokenAccount:T,depositToken:y,user:k,peer:F,enforcedOptions:$,oappConfig:h,allowedBroker:x,allowedToken:L}).remainingAccounts([{isSigner:!1,isWritable:!1,pubkey:P},{isSigner:!1,isWritable:!1,pubkey:h},{isSigner:!1,isWritable:!1,pubkey:S},{isSigner:!1,isWritable:!1,pubkey:ee},{isSigner:!1,isWritable:!1,pubkey:ne},{isSigner:!1,isWritable:!1,pubkey:ae},{isSigner:!1,isWritable:!1,pubkey:te},{isSigner:!1,isWritable:!0,pubkey:se},{isSigner:!1,isWritable:!1,pubkey:re},{isSigner:!1,isWritable:!1,pubkey:P},{isSigner:!1,isWritable:!1,pubkey:Y},{isSigner:!1,isWritable:!1,pubkey:ie},{isSigner:!1,isWritable:!1,pubkey:oe},{isSigner:!0,isWritable:!1,pubkey:k},{isSigner:!1,isWritable:!1,pubkey:We},{isSigner:!1,isWritable:!1,pubkey:f.SystemProgram.programId},{isSigner:!1,isWritable:!1,pubkey:w},{isSigner:!1,isWritable:!1,pubkey:S},{isSigner:!1,isWritable:!1,pubkey:U},{isSigner:!1,isWritable:!0,pubkey:Q},{isSigner:!1,isWritable:!1,pubkey:B},{isSigner:!1,isWritable:!1,pubkey:N},{isSigner:!1,isWritable:!1,pubkey:V},{isSigner:!1,isWritable:!0,pubkey:ue},{isSigner:!1,isWritable:!1,pubkey:B},{isSigner:!1,isWritable:!1,pubkey:N}]).instruction(),En=Te(i),Re=yield xe(e,En);if(!Re){console.log("-- lookup table account error");return}let Mn=f.ComputeBudgetProgram.setComputeUnitLimit({units:4e5}),In=yield e.getLatestBlockhash(),wn=new f.TransactionMessage({payerKey:k,recentBlockhash:In.blockhash,instructions:[Dn,Mn]}).compileToV0Message([Re]),_n=new f.VersionedTransaction(wn),Oe=yield s(_n,e);return console.log("res",Oe),Oe})}function Sn(n){let a=window.localStorage.getItem(dn.LedgerWalletKey);if(!a)return!1;let e=JSON.parse(a!=null?a:"[]");return console.log("-- addressArr",e),!!e.includes(n)}var Pn=require("ethereum-cryptography/utils"),kn=require("@solana/spl-token");var c=require("@solana/web3.js"),hn=require("@solana/wallet-adapter-base");var q=class extends X.BaseWalletAdapter{constructor(){super();C(this,"chainNamespace",J.ChainNamespace.solana);C(this,"_address");C(this,"_chainId");C(this,"_provider");C(this,"_connection")}get address(){return this._address}get chainId(){return this._chainId}set chainId(e){this._chainId=e}get connection(){if(this._connection)return this._connection;if(this._provider.rpcUrl)return this._connection=new c.Connection(this._provider.rpcUrl,{commitment:"confirmed"}),this._connection;if(this._provider.network===hn.WalletAdapterNetwork.Devnet)return this._connection=new c.Connection((0,c.clusterApiUrl)(this._provider.network),{commitment:"confirmed"}),this._connection;let e=X.SimpleDI.get("account"),s="/v1/solana-rpc-proxy";return this._connection=new c.Connection(`${e.apiBaseUrl}${s}`,{commitment:"confirmed",fetchMiddleware:(r,t,m)=>p(this,null,function*(){let d={url:s,method:t==null?void 0:t.method,data:JSON.parse(t==null?void 0:t.body)},i=yield this.signMessageByOrderlyKey(d);for(let o of Object.keys(i))(t==null?void 0:t.headers)[o]=i[o];return m(r,t)})}),this._connection}setConfig(e){this._address=e.address,this._chainId=e.chain.id,e.provider&&(this._provider=e.provider)}lifecycleName(e,s){console.log("lifecycle",e,s)}active(e){this.setConfig(e),this.lifecycleName("active",e)}deactivate(){this.lifecycleName("deactivate",{})}update(e){this.lifecycleName("update",e),this.setConfig(e)}generateSecretKey(){let e,s;do e=bn.utils.randomPrivateKey(),s=(0,An.encode)(e);while(s.length!==44);return s}uint8ArrayToHexString(e){return Array.from(e).map(s=>s.toString(16).padStart(2,"0")).join("")}signMessage(e){return p(this,null,function*(){if(Sn(this._address)){let t=new c.Transaction;t.add(new c.TransactionInstruction({keys:[],programId:new c.PublicKey("ComputeBudget111111111111111111111111111111"),data:new Uint8Array([3,0,0,0,0,0,0,0,0])})),t.add(new c.TransactionInstruction({keys:[],programId:new c.PublicKey("ComputeBudget111111111111111111111111111111"),data:new Uint8Array([2,0,0,0,0])})),t.add(new c.TransactionInstruction({keys:[],programId:new c.PublicKey("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),data:e}));let m=new c.PublicKey(this.address);t.feePayer=m;let d=new Uint8Array(32).fill(0);t.recentBlockhash=new c.PublicKey(d).toString();let o=(yield this._provider.signTransaction(t)).signatures[0].signature;if(o)return this.uint8ArrayToHexString(o);throw console.log("-- sign message error",o),new Error("Unsupported signature")}let r=yield this._provider.signMessage(e);return"0x"+(0,Pn.bytesToHex)(r)})}generateRegisterAccountMessage(e){return p(this,null,function*(){let[s,r]=cn(M(A({},e),{chainId:this.chainId})),t=yield this.signMessage(r);return{message:M(A({},s),{chainType:"SOL"}),signatured:t}})}generateWithdrawMessage(e){return p(this,null,function*(){let[s,r]=pn(M(A({},e),{chainId:this.chainId})),t=yield this.signMessage(r);return{message:M(A({},s),{chainType:"SOL"}),domain:{name:"",version:"",chainId:this.chainId,verifyingContract:e.verifyContract},signatured:t}})}generateAddOrderlyKeyMessage(e){return p(this,null,function*(){let[s,r]=ln(M(A({},e),{chainId:this.chainId})),t=yield this.signMessage(r);return{message:M(A({},s),{chainType:"SOL"}),signatured:t}})}generateSettleMessage(e){return p(this,null,function*(){let[s,r]=fn(M(A({},e),{chainId:this.chainId})),t=yield this.signMessage(r);return{message:M(A({},s),{chainType:"SOL"}),domain:{name:"",version:"",chainId:this.chainId,verifyingContract:e.verifyContract},signatured:t}})}getBalance(){return p(this,null,function*(){return BigInt(0)})}call(e,s,r,t){return p(this,null,function*(){if(s==="balanceOf"){let m=new c.PublicKey(e),d=new c.PublicKey(this._address),i=G(m,d),o=this.connection;return(yield(0,kn.getAccount)(o,i,"confirmed")).amount}return s==="allowance"?J.MaxUint256:BigInt(0)})}sendTransaction(e,s,r,t){return p(this,null,function*(){if(console.log("-- solanan sendTransaction",{contractAddress:e,method:s,payload:r,options:t}),s==="deposit")return gn({vaultAddress:e,userAddress:this._address,connection:this.connection,depositData:r.data[0],sendTransaction:this._provider.sendTransaction})})}callOnChain(e,s,r,t,m){return p(this,null,function*(){return console.log("-- params ",{chain:e,address:s,method:r,params:t}),r==="getDepositFee"?Be({vaultAddress:s,userAddress:this._address,connection:this.connection,depositData:t[1]}):0})}pollTransactionReceiptWithBackoff(e,s,r,t){return p(this,null,function*(){return Promise.resolve({status:1})})}};0&&(module.exports={DefaultSolanaWalletAdapter,version});
1
+ "use strict";var Tn=Object.create;var H=Object.defineProperty,xn=Object.defineProperties,Bn=Object.getOwnPropertyDescriptor,vn=Object.getOwnPropertyDescriptors,Rn=Object.getOwnPropertyNames,Ce=Object.getOwnPropertySymbols,On=Object.getPrototypeOf,Ke=Object.prototype.hasOwnProperty,Cn=Object.prototype.propertyIsEnumerable;var me=(n,a,e)=>a in n?H(n,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[a]=e,A=(n,a)=>{for(var e in a||(a={}))Ke.call(a,e)&&me(n,e,a[e]);if(Ce)for(var e of Ce(a))Cn.call(a,e)&&me(n,e,a[e]);return n},M=(n,a)=>xn(n,vn(a));var Kn=(n,a)=>{for(var e in a)H(n,e,{get:a[e],enumerable:!0})},Le=(n,a,e,s)=>{if(a&&typeof a=="object"||typeof a=="function")for(let r of Rn(a))!Ke.call(n,r)&&r!==e&&H(n,r,{get:()=>a[r],enumerable:!(s=Bn(a,r))||s.enumerable});return n};var Ln=(n,a,e)=>(e=n!=null?Tn(On(n)):{},Le(a||!n||!n.__esModule?H(e,"default",{value:n,enumerable:!0}):e,n)),Nn=n=>Le(H({},"__esModule",{value:!0}),n);var C=(n,a,e)=>(me(n,typeof a!="symbol"?a+"":a,e),e);var p=(n,a,e)=>new Promise((s,r)=>{var t=i=>{try{d(e.next(i))}catch(o){r(o)}},m=i=>{try{d(e.throw(i))}catch(o){r(o)}},d=i=>i.done?s(i.value):Promise.resolve(i.value).then(t,m);d((e=e.apply(n,a)).next())});var Wn={};Kn(Wn,{DefaultSolanaWalletAdapter:()=>q,version:()=>Ne});module.exports=Nn(Wn);typeof window!="undefined"&&(window.__ORDERLY_VERSION__=window.__ORDERLY_VERSION__||{},window.__ORDERLY_VERSION__["@orderly.network/default-solana-adapter"]="2.5.0");var Ne="2.5.0";var X=require("@orderly.network/core"),J=require("@orderly.network/types"),bn=Ln(require("@noble/ed25519")),An=require("bs58");var v=require("@coral-xyz/anchor"),f=require("@solana/web3.js"),mn=require("bs58"),K=require("ethereum-cryptography/keccak"),D=require("ethereum-cryptography/utils"),b=require("ethers"),dn=require("@orderly.network/types");var g=require("@solana/web3.js"),W=require("@layerzerolabs/lz-v2-utilities"),P=new g.PublicKey("76y77prsiCMvXMjuoZ5VRrhG5qYBrUMYTE5WgHqgjEn6"),S=new g.PublicKey("7a4WjyR8VZ7yZz5XJAKm39BUGn5iT9CKcv2pmG9tdXVH"),U=new g.PublicKey("6doghB248px58JSSwG4qejQ46kFMW4AMj7vzJnWZHNZn"),B=new g.PublicKey("8ahPGPjEbpgGaZx2NV1iG5Shj7TDwvsjkEDcGWjt94TP"),He=S,We=S,V=new g.PublicKey("HtEYV4xB4wvsj5fgTkcfuChYpvGYzgzwvNhgDZQNh7wW"),Ue="VaultAuthority",Ve="Broker",Ge="Token",de=(0,W.addressToBytes32)("0x9Dc724b24146BeDD2dA28b8C4B74126169B8f312"),Fe=(0,W.addressToBytes32)("0x45b6C6266A7A2170617d8A27A50C642fd68b91c4"),ze=(0,W.addressToBytes32)("0x5Bf771A65d057e778C5f0Ed52A0003316f94322D"),Ye=(0,W.addressToBytes32)("0xCecAe061aa078e13b5e70D5F9eCee90a3F2B6AeA"),Qe=40200,je=30213,j=new g.PublicKey("BWp8HaYYhiNHekt3zgQhqoCrRftneGxxfgKmCZ6svHN"),Ze=new g.PublicKey("BswrQQoPKAFojTuJutZcBMtigAgTghEH4M8ofn3EG2X2"),qe=new g.PublicKey("BbGKfxuPwDmu58BjPpd7PMG69TqnZjSpKaLDMgf9E9Dr"),Xe=new g.PublicKey("8iq7xCQt3bLdRRn4A46d5GuaXYinBoiAhbe2sUmZVzwg"),le=new g.PublicKey("EYJq9eU4GMRUriUJBgGoZ8YLQBXcWaciXuSsEXE7ieQS"),ce=new g.PublicKey("5zBjLor7vEraAt4zp2H82sy9MSqFoDnNa1Lx6EYKTYRZ"),pe=new g.PublicKey("9shwxWDUNhtwkHocsUAmrNAQfBH2DHh4njdAEdHZZkF2"),Z=new g.PublicKey("ErBmAD61mGFKvrFNaTJuxoPwqrS8GgtwtqJTJVjFWx9Q");var fe={version:"0.1.0",name:"solana_vault",instructions:[{name:"initVault",accounts:[{name:"signer",isMut:!0,isSigner:!0},{name:"vaultAuthority",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"InitVaultParams"}}]},{name:"deposit",accounts:[{name:"user",isMut:!0,isSigner:!0},{name:"userTokenAccount",isMut:!0,isSigner:!1},{name:"vaultAuthority",isMut:!0,isSigner:!1},{name:"vaultTokenAccount",isMut:!0,isSigner:!1},{name:"depositToken",isMut:!1,isSigner:!1},{name:"peer",isMut:!1,isSigner:!1},{name:"enforcedOptions",isMut:!1,isSigner:!1},{name:"oappConfig",isMut:!1,isSigner:!1},{name:"allowedBroker",isMut:!1,isSigner:!1},{name:"allowedToken",isMut:!1,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"associatedTokenProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"depositParams",type:{defined:"DepositParams"}},{name:"oappParams",type:{defined:"OAppSendParams"}}],returns:{defined:"MessagingReceipt"}},{name:"initOapp",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"oappConfig",isMut:!0,isSigner:!1},{name:"lzReceiveTypes",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"InitOAppParams"}}]},{name:"resetOapp",accounts:[{name:"admin",isMut:!0,isSigner:!0},{name:"oappConfig",isMut:!0,isSigner:!1}],args:[]},{name:"reinitOapp",accounts:[{name:"owner",isMut:!0,isSigner:!0},{name:"oappConfig",isMut:!0,isSigner:!1},{name:"vaultAuthority",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"ReinitOAppParams"}}]},{name:"resetVault",accounts:[{name:"owner",isMut:!0,isSigner:!0},{name:"vaultAuthority",isMut:!0,isSigner:!1}],args:[]},{name:"reinitVault",accounts:[{name:"admin",isMut:!0,isSigner:!0},{name:"vaultAuthority",isMut:!0,isSigner:!1},{name:"oappConfig",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"ReinitVaultParams"}}]},{name:"setBroker",accounts:[{name:"admin",isMut:!0,isSigner:!0},{name:"allowedBroker",isMut:!0,isSigner:!1},{name:"oappConfig",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetBrokerParams"}}]},{name:"setToken",accounts:[{name:"admin",isMut:!0,isSigner:!0},{name:"allowedToken",isMut:!0,isSigner:!1},{name:"oappConfig",isMut:!1,isSigner:!1},{name:"mintAccount",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetTokenParams"}}]},{name:"setOrderDelivery",accounts:[{name:"owner",isMut:!0,isSigner:!0},{name:"vaultAuthority",isMut:!0,isSigner:!1}],args:[{name:"params",type:{defined:"SetOrderDeliveryParams"}}]},{name:"oappQuote",accounts:[{name:"oappConfig",isMut:!1,isSigner:!1},{name:"peer",isMut:!1,isSigner:!1},{name:"enforcedOptions",isMut:!1,isSigner:!1},{name:"vaultAuthority",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"DepositParams"}}],returns:{defined:"MessagingFee"}},{name:"lzReceive",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"peer",isMut:!1,isSigner:!1},{name:"oappConfig",isMut:!1,isSigner:!1},{name:"user",isMut:!1,isSigner:!1,docs:["CHECK"]},{name:"userDepositWallet",isMut:!0,isSigner:!1},{name:"vaultAuthority",isMut:!0,isSigner:!1},{name:"vaultDepositWallet",isMut:!0,isSigner:!1},{name:"depositToken",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:"OAppLzReceiveParams"}}]},{name:"lzReceiveTypes",accounts:[{name:"oappConfig",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"OAppLzReceiveParams"}}],returns:{vec:{defined:"oapp::endpoint_cpi::LzAccount"}}},{name:"setRateLimit",accounts:[{name:"admin",isMut:!1,isSigner:!0},{name:"peer",isMut:!0,isSigner:!1},{name:"oappConfig",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetRateLimitParams"}}]},{name:"setDelegate",accounts:[{name:"admin",isMut:!1,isSigner:!0},{name:"oappConfig",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetDelegateParams"}}]},{name:"transferAdmin",accounts:[{name:"admin",isMut:!1,isSigner:!0},{name:"oappConfig",isMut:!0,isSigner:!1}],args:[{name:"params",type:{defined:"TransferAdminParams"}}]},{name:"setPeer",accounts:[{name:"admin",isMut:!0,isSigner:!0},{name:"peer",isMut:!0,isSigner:!1},{name:"oappConfig",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetPeerParams"}}]},{name:"setEnforcedOptions",accounts:[{name:"admin",isMut:!0,isSigner:!0},{name:"enforcedOptions",isMut:!0,isSigner:!1},{name:"oappConfig",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetEnforcedOptionsParams"}}]}],accounts:[{name:"enforcedOptions",type:{kind:"struct",fields:[{name:"send",type:"bytes"},{name:"sendAndCall",type:"bytes"},{name:"bump",type:"u8"}]}},{name:"oAppConfig",type:{kind:"struct",fields:[{name:"endpointProgram",type:"publicKey"},{name:"bump",type:"u8"},{name:"admin",type:"publicKey"},{name:"usdcHash",type:{array:["u8",32]}},{name:"usdcMint",type:"publicKey"}]}},{name:"oAppLzReceiveTypesAccounts",type:{kind:"struct",fields:[{name:"oappConfig",type:"publicKey"}]}},{name:"peer",type:{kind:"struct",fields:[{name:"address",type:{array:["u8",32]}},{name:"rateLimiter",type:{option:{defined:"RateLimiter"}}},{name:"bump",type:"u8"}]}},{name:"allowedBroker",type:{kind:"struct",fields:[{name:"brokerHash",type:{array:["u8",32]}},{name:"allowed",type:"bool"},{name:"bump",type:"u8"}]}},{name:"allowedToken",type:{kind:"struct",fields:[{name:"mintAccount",type:"publicKey"},{name:"tokenHash",type:{array:["u8",32]}},{name:"tokenDecimals",type:"u8"},{name:"allowed",type:"bool"},{name:"bump",type:"u8"}]}},{name:"vaultAuthority",type:{kind:"struct",fields:[{name:"bump",docs:["Bump seed for the vault authority PDA"],type:"u8"},{name:"owner",type:"publicKey"},{name:"depositNonce",type:"u64"},{name:"orderDelivery",type:"bool"},{name:"inboundNonce",type:"u64"},{name:"dstEid",type:"u32"},{name:"solChainId",type:"u128"}]}}],types:[{name:"VaultDepositParams",type:{kind:"struct",fields:[{name:"accountId",type:{array:["u8",32]}},{name:"brokerHash",type:{array:["u8",32]}},{name:"userAddress",type:{array:["u8",32]}},{name:"tokenHash",type:{array:["u8",32]}},{name:"srcChainId",type:"u128"},{name:"tokenAmount",type:"u128"},{name:"srcChainDepositNonce",type:"u64"}]}},{name:"LzMessage",type:{kind:"struct",fields:[{name:"msgType",type:"u8"},{name:"payload",type:"bytes"}]}},{name:"InitOAppParams",type:{kind:"struct",fields:[{name:"admin",type:"publicKey"},{name:"endpointProgram",type:{option:"publicKey"}},{name:"usdcHash",type:{array:["u8",32]}},{name:"usdcMint",type:"publicKey"}]}},{name:"OAppLzReceiveParams",type:{kind:"struct",fields:[{name:"srcEid",type:"u32"},{name:"sender",type:{array:["u8",32]}},{name:"nonce",type:"u64"},{name:"guid",type:{array:["u8",32]}},{name:"message",type:"bytes"},{name:"extraData",type:"bytes"}]}},{name:"AccountWithdrawSol",type:{kind:"struct",fields:[{name:"accountId",type:{array:["u8",32]}},{name:"sender",type:{array:["u8",32]}},{name:"receiver",type:{array:["u8",32]}},{name:"brokerHash",type:{array:["u8",32]}},{name:"tokenHash",type:{array:["u8",32]}},{name:"tokenAmount",type:"u64"},{name:"fee",type:"u64"},{name:"chainId",type:"u64"},{name:"withdrawNonce",type:"u64"}]}},{name:"VaultWithdrawParams",type:{kind:"struct",fields:[{name:"accountId",type:{array:["u8",32]}},{name:"sender",type:{array:["u8",32]}},{name:"receiver",type:{array:["u8",32]}},{name:"brokerHash",type:{array:["u8",32]}},{name:"tokenHash",type:{array:["u8",32]}},{name:"tokenAmount",type:"u64"},{name:"fee",type:"u128"},{name:"chainId",type:"u128"},{name:"withdrawNonce",type:"u64"}]}},{name:"MessagingFee",type:{kind:"struct",fields:[{name:"nativeFee",type:"u64"},{name:"lzTokenFee",type:"u64"}]}},{name:"ReinitOAppParams",type:{kind:"struct",fields:[{name:"admin",type:"publicKey"},{name:"endpointProgram",type:{option:"publicKey"}},{name:"usdcHash",type:{array:["u8",32]}},{name:"usdcMint",type:"publicKey"}]}},{name:"SetDelegateParams",type:{kind:"struct",fields:[{name:"delegate",type:"publicKey"}]}},{name:"SetEnforcedOptionsParams",type:{kind:"struct",fields:[{name:"dstEid",type:"u32"},{name:"send",type:"bytes"},{name:"sendAndCall",type:"bytes"}]}},{name:"SetPeerParams",type:{kind:"struct",fields:[{name:"dstEid",type:"u32"},{name:"peer",type:{array:["u8",32]}}]}},{name:"SetRateLimitParams",type:{kind:"struct",fields:[{name:"dstEid",type:"u32"},{name:"refillPerSecond",type:{option:"u64"}},{name:"capacity",type:{option:"u64"}},{name:"enabled",type:"bool"}]}},{name:"TransferAdminParams",type:{kind:"struct",fields:[{name:"admin",type:"publicKey"}]}},{name:"DepositParams",type:{kind:"struct",fields:[{name:"accountId",type:{array:["u8",32]}},{name:"brokerHash",type:{array:["u8",32]}},{name:"tokenHash",type:{array:["u8",32]}},{name:"userAddress",type:{array:["u8",32]}},{name:"tokenAmount",type:"u64"}]}},{name:"OAppSendParams",type:{kind:"struct",fields:[{name:"nativeFee",type:"u64"},{name:"lzTokenFee",type:"u64"}]}},{name:"InitVaultParams",type:{kind:"struct",fields:[{name:"owner",type:"publicKey"},{name:"orderDelivery",type:"bool"},{name:"dstEid",type:"u32"},{name:"solChainId",type:"u128"}]}},{name:"ReinitVaultParams",type:{kind:"struct",fields:[{name:"owner",type:"publicKey"},{name:"dstEid",type:"u32"},{name:"depositNonce",type:"u64"},{name:"orderDelivery",type:"bool"},{name:"inboundNonce",type:"u64"},{name:"solChainId",type:"u128"}]}},{name:"SetBrokerParams",type:{kind:"struct",fields:[{name:"brokerHash",type:{array:["u8",32]}},{name:"allowed",type:"bool"}]}},{name:"SetOrderDeliveryParams",type:{kind:"struct",fields:[{name:"orderDelivery",type:"bool"},{name:"nonce",type:"u64"}]}},{name:"SetTokenParams",type:{kind:"struct",fields:[{name:"mintAccount",type:"publicKey"},{name:"tokenHash",type:{array:["u8",32]}},{name:"allowed",type:"bool"}]}},{name:"RateLimiter",type:{kind:"struct",fields:[{name:"capacity",type:"u64"},{name:"tokens",type:"u64"},{name:"refillPerSecond",type:"u64"},{name:"lastRefillTime",type:"u64"}]}},{name:"OAppError",type:{kind:"enum",variants:[{name:"Unauthorized"},{name:"InvalidSender"},{name:"InvalidOptions"},{name:"InvalidEndpointProgram"},{name:"RateLimitExceeded"},{name:"WithdrawFailed"},{name:"InvalidInboundNonce"}]}},{name:"MsgType",type:{kind:"enum",variants:[{name:"Deposit"},{name:"Withdraw"},{name:"RebalanceBurn"},{name:"RebalanceMint"}]}}],events:[{name:"SetAllowedBroker",fields:[{name:"brokerHash",type:{array:["u8",32]},index:!1}]},{name:"ResetAllowedBroker",fields:[{name:"brokerHash",type:{array:["u8",32]},index:!1}]},{name:"SetAllowedToken",fields:[{name:"tokenHash",type:{array:["u8",32]},index:!1},{name:"mintAccount",type:"publicKey",index:!1}]},{name:"ResetAllowedToken",fields:[{name:"tokenHash",type:{array:["u8",32]},index:!1},{name:"mintAccount",type:"publicKey",index:!1}]},{name:"Deposited",fields:[{name:"user",type:"publicKey",index:!1},{name:"amount",type:"u64",index:!1}]},{name:"Withdrawn",fields:[{name:"user",type:"publicKey",index:!1},{name:"amount",type:"u64",index:!1}]},{name:"VaultDeposited",fields:[{name:"accountId",type:{array:["u8",32]},index:!1},{name:"brokerHash",type:{array:["u8",32]},index:!1},{name:"userAddress",type:{array:["u8",32]},index:!1},{name:"tokenHash",type:{array:["u8",32]},index:!1},{name:"srcChainId",type:"u128",index:!1},{name:"tokenAmount",type:"u64",index:!1},{name:"srcChainDepositNonce",type:"u64",index:!1}]},{name:"VaultWithdrawn",fields:[{name:"accountId",type:{array:["u8",32]},index:!1},{name:"sender",type:{array:["u8",32]},index:!1},{name:"receiver",type:{array:["u8",32]},index:!1},{name:"brokerHash",type:{array:["u8",32]},index:!1},{name:"tokenHash",type:{array:["u8",32]},index:!1},{name:"tokenAmount",type:"u64",index:!1},{name:"fee",type:"u128",index:!1},{name:"chainId",type:"u128",index:!1},{name:"withdrawNonce",type:"u64",index:!1}]},{name:"OAppSent",fields:[{name:"guid",type:{array:["u8",32]},index:!1},{name:"dstEid",type:"u32",index:!1}]},{name:"OAppReceived",fields:[{name:"guid",type:{array:["u8",32]},index:!1},{name:"srcEid",type:"u32",index:!1}]}],errors:[{code:6e3,name:"InsufficientFunds",msg:"Deposited funds are insufficient for withdrawal"},{code:6001,name:"UserInfoBelongsToAnotherUser",msg:"User info pda belongs to another user"},{code:6002,name:"BrokerNotAllowed",msg:"Broker is not allowed"},{code:6003,name:"TokenNotAllowed",msg:"Token is not allowed"},{code:6004,name:"InvalidAccountId",msg:"AccountId is invalid"},{code:6005,name:"InvalidVaultOwner",msg:"Vault owner is not the same as the payer"}]};var l=require("@solana/web3.js"),Je=require("@solana/spl-token");var u=require("@layerzerolabs/lz-solana-sdk-v2");var G=(n,a)=>(0,Je.getAssociatedTokenAddressSync)(n,a,!0);function ye(n){return l.PublicKey.findProgramAddressSync([Buffer.from(Ue,"utf8")],n)[0]}function $e(n,a){let e=Array.from(Buffer.from(a.slice(2),"hex"));return l.PublicKey.findProgramAddressSync([Buffer.from(Ve,"utf8"),Buffer.from(e)],n)[0]}function en(n,a){let e=Array.from(Buffer.from(a.slice(2),"hex"));return l.PublicKey.findProgramAddressSync([Buffer.from(Ge,"utf8"),Buffer.from(e)],n)[0]}function ge(n){return l.PublicKey.findProgramAddressSync([Buffer.from(u.OAPP_SEED,"utf8")],n)[0]}function Se(n,a,e){let s=Buffer.alloc(4);return s.writeUInt32BE(e),l.PublicKey.findProgramAddressSync([Buffer.from(u.PEER_SEED,"utf8"),a.toBuffer(),s],n)[0]}function be(n,a,e){let s=Buffer.alloc(4);return s.writeUInt32BE(e),l.PublicKey.findProgramAddressSync([Buffer.from(u.ENFORCED_OPTIONS_SEED,"utf8"),a.toBuffer(),s],n)[0]}function nn(){return l.PublicKey.findProgramAddressSync([Buffer.from(u.MESSAGE_LIB_SEED,"utf8")],S)[0]}function Ae(n,a){let e=Buffer.alloc(4);return e.writeUInt32BE(a),l.PublicKey.findProgramAddressSync([Buffer.from(u.SEND_LIBRARY_CONFIG_SEED,"utf8"),n.toBuffer(),e],P)[0]}function Pe(n){let a=Buffer.alloc(4);return a.writeUInt32BE(n),l.PublicKey.findProgramAddressSync([Buffer.from(u.SEND_LIBRARY_CONFIG_SEED,"utf8"),a],P)[0]}function an(n){return l.PublicKey.findProgramAddressSync([Buffer.from(u.MESSAGE_LIB_SEED,"utf8"),n.toBuffer()],P)[0]}function ke(){return l.PublicKey.findProgramAddressSync([Buffer.from(u.ENDPOINT_SEED,"utf8")],P)[0]}function Hn(n){let a=de;return n.toBase58()===le.toBase58()&&(a=de),n.toBase58()===ce.toBase58()&&(a=Fe),n.toBase58()===pe.toBase58()&&(a=ze),n.toBase58()===Z.toBase58()&&(a=Ye),a}function he(n,a,e){let s=Buffer.alloc(4),r=Hn(n);return s.writeUInt32BE(e),l.PublicKey.findProgramAddressSync([Buffer.from(u.NONCE_SEED,"utf8"),a.toBuffer(),s,r],P)[0]}function tn(){return l.PublicKey.findProgramAddressSync([Buffer.from(u.EVENT_SEED,"utf8")],P)[0]}function sn(){return l.PublicKey.findProgramAddressSync([Buffer.from(u.ULN_SEED,"utf8")],S)[0]}function De(n,a){let e=Buffer.alloc(4);return e.writeUInt32BE(a),l.PublicKey.findProgramAddressSync([Buffer.from(u.SEND_CONFIG_SEED,"utf8"),e,n.toBuffer()],S)[0]}function Ee(n){let a=Buffer.alloc(4);return a.writeUInt32BE(n),l.PublicKey.findProgramAddressSync([Buffer.from(u.SEND_CONFIG_SEED,"utf8"),a],He)[0]}function rn(){return l.PublicKey.findProgramAddressSync([Buffer.from(u.EVENT_SEED,"utf8")],S)[0]}function Me(){return l.PublicKey.findProgramAddressSync([Buffer.from(u.EXECUTOR_CONFIG_SEED,"utf8")],U)[0]}function Ie(){return l.PublicKey.findProgramAddressSync([Buffer.from(u.PRICE_FEED_SEED,"utf8")],B)[0]}function we(){return l.PublicKey.findProgramAddressSync([Buffer.from(u.DVN_CONFIG_SEED,"utf8")],V)[0]}function _e(n){return n.toBase58()===Z.toBase58()?je:Qe}function Te(n){return n.toBase58()===le.toBase58()?(console.log("DEV_LOOKUP_TABLE_ADDRESS: ",j.toBase58()),j):n.toBase58()===ce.toBase58()?Ze:n.toBase58()===pe.toBase58()?qe:n.toBase58()===Z.toBase58()?Xe:j}function on(n){return l.PublicKey.findProgramAddressSync([Buffer.from(u.MESSAGE_LIB_SEED,"utf8")],n||S)[0]}function un(n,a){return l.PublicKey.findProgramAddressSync([Buffer.from(u.MESSAGE_LIB_SEED,"utf8"),n.toBytes()],a||P)[0]}function xe(n,a){return p(this,null,function*(){return(yield n.getAddressLookupTable(a)).value})}function ln(n){let{publicKey:a,brokerId:e,expiration:s=365,timestamp:r=Date.now(),scope:t,tag:m,chainId:d,subAccountId:i}=n,o=A(A({brokerId:e,chainType:"SOL",orderlyKey:a,scope:t||"read,trading,asset",chainId:d,timestamp:r,expiration:r+1e3*60*60*24*s},typeof m!="undefined"?{tag:m}:{}),typeof i!="undefined"?{subAccountId:i}:{}),y=(0,b.solidityPackedKeccak256)(["string"],[o.brokerId]),k=(0,b.solidityPackedKeccak256)(["string"],[o.orderlyKey]),_=(0,b.solidityPackedKeccak256)(["string"],[o.scope]),I=b.AbiCoder.defaultAbiCoder(),T=(0,K.keccak256)((0,D.hexToBytes)(I.encode(["bytes32","bytes32","bytes32","uint256","uint256","uint256"],[y,k,_,o.chainId,o.timestamp,o.expiration]))),x=(0,D.bytesToHex)(T),L=new TextEncoder().encode(x);return[o,L]}function cn(n){let{chainId:a,registrationNonce:e,brokerId:s,timestamp:r}=n,t={brokerId:s,chainId:a,timestamp:r,registrationNonce:e},m=(0,b.solidityPackedKeccak256)(["string"],[t.brokerId]),d=b.AbiCoder.defaultAbiCoder(),i=(0,K.keccak256)((0,D.hexToBytes)(d.encode(["bytes32","uint256","uint256","uint256"],[m,t.chainId,t.timestamp,t.registrationNonce]))),o=(0,D.bytesToHex)(i),y=new TextEncoder().encode(o);return[t,y]}function pn(n){let{chainId:a,receiver:e,token:s,amount:r,nonce:t,brokerId:m}=n,d=Date.now(),i={brokerId:m,chainId:a,receiver:e,token:s,amount:r,withdrawNonce:t,timestamp:d,chainType:"SOL"},o=(0,b.solidityPackedKeccak256)(["string"],[i.brokerId]),y=(0,b.solidityPackedKeccak256)(["string"],[i.token]),k=(0,K.keccak256)(Buffer.from("Orderly Network")),_=b.AbiCoder.defaultAbiCoder(),I=(0,K.keccak256)((0,D.hexToBytes)(_.encode(["bytes32","bytes32","uint256","bytes32","uint256","uint64","uint64","bytes32"],[o,y,a,(0,mn.decode)(i.receiver),i.amount,i.withdrawNonce,d,k]))),T=(0,D.bytesToHex)(I),x=new TextEncoder().encode(T);return[i,x]}function fn(n){let{settlePnlNonce:a,brokerId:e,chainId:s,timestamp:r}=n,t={brokerId:e,chainId:s,timestamp:r,chainType:"SOL",settleNonce:a},m=(0,b.solidityPackedKeccak256)(["string"],[e]),d=b.AbiCoder.defaultAbiCoder(),i=(0,K.keccak256)((0,D.hexToBytes)(d.encode(["bytes32","uint256","uint64","uint64"],[m,t.chainId,t.settleNonce,t.timestamp]))),o=(0,D.bytesToHex)(i),y=new TextEncoder().encode(o);return[t,y]}function Be(r){return p(this,arguments,function*({vaultAddress:n,userAddress:a,connection:e,depositData:s}){console.log("-- vaultAddress",n);let t=new f.PublicKey(n),m=_e(t),d=new v.Program(fe,t,{connection:e}),i=new f.PublicKey(a),o=ge(t),y=Se(t,o,m),k=be(t,o,m),_=Ae(o,m),I=Pe(m),T=ke(),x=he(t,o,m),L=De(o,m),h=Ee(m),E=Me(),F=Ie(),$=we(),z=on(S),ee=un(z),ne=ye(t),ae=yn(a,s),te=yield d.methods.oappQuote(ae).accounts({oappConfig:o,peer:y,enforcedOptions:k,vaultAuthority:ne}).remainingAccounts([{pubkey:P,isWritable:!1,isSigner:!1},{pubkey:S,isWritable:!1,isSigner:!1},{pubkey:_,isWritable:!1,isSigner:!1},{pubkey:I,isWritable:!1,isSigner:!1},{pubkey:ee,isWritable:!1,isSigner:!1},{pubkey:T,isWritable:!1,isSigner:!1},{pubkey:x,isWritable:!1,isSigner:!1},{pubkey:z,isWritable:!1,isSigner:!1},{pubkey:L,isWritable:!1,isSigner:!1},{pubkey:h,isWritable:!1,isSigner:!1},{pubkey:U,isWritable:!1,isSigner:!1},{pubkey:E,isWritable:!1,isSigner:!1},{pubkey:B,isWritable:!1,isSigner:!1},{pubkey:F,isWritable:!1,isSigner:!1},{pubkey:V,isWritable:!1,isSigner:!1},{pubkey:$,isWritable:!1,isSigner:!1},{pubkey:B,isWritable:!1,isSigner:!1},{pubkey:F,isWritable:!1,isSigner:!1}]).instruction(),se=yield e.getLatestBlockhash(),re=Te(t),Y=yield xe(e,re);if(!Y)throw console.log("-- lookup table account error"),new Error("-- lookup table account error");let ie=new f.TransactionMessage({payerKey:i,recentBlockhash:se.blockhash,instructions:[te]}).compileToV0Message([Y]),oe=new f.VersionedTransaction(ie),w=yield e.simulateTransaction(oe);if(console.log("-- feeRes",w),w.value.err){let O=typeof w.value.err=="object"?JSON.stringify(w.value.err):w.value.err;throw O.toString().includes("AccountNotFound")?new Error("Error: Account gas is insufficient."):new Error(`Error: ${O}`)}let Q=`Program return: ${d.programId} `,N=w.value.logs.find(O=>O.startsWith(Q));if(!N)throw new Error("Error: get deposit fee error");let ue=N.slice(Q.length),R=Buffer.from(ue,"base64");return console.log(R.readBigUInt64LE(0),R.readBigUInt64LE(1)),R.readBigUInt64LE(0)})}var yn=(n,a)=>{let e=a.brokerHash,s=Array.from(Buffer.from(e.slice(2),"hex")),r=a.tokenHash,t=Array.from(Buffer.from(r.slice(2),"hex")),m=a.accountId,d=Array.from(Buffer.from(m.slice(2),"hex")),i=new f.PublicKey(n);return{accountId:d,brokerHash:s,tokenHash:t,userAddress:Array.from(i.toBuffer()),tokenAmount:new v.BN(a.tokenAmount)}};function gn(t){return p(this,arguments,function*({vaultAddress:n,userAddress:a,connection:e,sendTransaction:s,depositData:r}){let m=r.brokerHash,d=r.tokenHash;console.log("-- vault address",n);let i=new f.PublicKey(n),o=new v.Program(fe,i,{connection:e}),y=new f.PublicKey(r.USDCAddress),k=new f.PublicKey(a),_=G(y,k),I=ye(i),T=G(y,I),x=$e(i,m),L=en(i,d),h=ge(i);console.log("-- oappconfig pda",h.toBase58());let E=_e(i),F=Se(i,h,E),$=be(i,h,E),z=nn(),ee=Ae(h,E),ne=Pe(E),ae=an(z),te=ke(),se=he(i,h,E),re=tn(),Y=sn(),ie=De(h,E),oe=Ee(E),w=rn(),Q=Me(),N=Ie(),ue=we(),R=yn(a,r),O=yield Be({vaultAddress:n,userAddress:a,connection:e,depositData:r}),ve={nativeFee:new v.BN(O.toString()),lzTokenFee:new v.BN(0)};console.log("--- value params",{vaultDepositParams:R,sendParam:ve});let Dn=yield o.methods.deposit(R,ve).accounts({userTokenAccount:_,vaultAuthority:I,vaultTokenAccount:T,depositToken:y,user:k,peer:F,enforcedOptions:$,oappConfig:h,allowedBroker:x,allowedToken:L}).remainingAccounts([{isSigner:!1,isWritable:!1,pubkey:P},{isSigner:!1,isWritable:!1,pubkey:h},{isSigner:!1,isWritable:!1,pubkey:S},{isSigner:!1,isWritable:!1,pubkey:ee},{isSigner:!1,isWritable:!1,pubkey:ne},{isSigner:!1,isWritable:!1,pubkey:ae},{isSigner:!1,isWritable:!1,pubkey:te},{isSigner:!1,isWritable:!0,pubkey:se},{isSigner:!1,isWritable:!1,pubkey:re},{isSigner:!1,isWritable:!1,pubkey:P},{isSigner:!1,isWritable:!1,pubkey:Y},{isSigner:!1,isWritable:!1,pubkey:ie},{isSigner:!1,isWritable:!1,pubkey:oe},{isSigner:!0,isWritable:!1,pubkey:k},{isSigner:!1,isWritable:!1,pubkey:We},{isSigner:!1,isWritable:!1,pubkey:f.SystemProgram.programId},{isSigner:!1,isWritable:!1,pubkey:w},{isSigner:!1,isWritable:!1,pubkey:S},{isSigner:!1,isWritable:!1,pubkey:U},{isSigner:!1,isWritable:!0,pubkey:Q},{isSigner:!1,isWritable:!1,pubkey:B},{isSigner:!1,isWritable:!1,pubkey:N},{isSigner:!1,isWritable:!1,pubkey:V},{isSigner:!1,isWritable:!0,pubkey:ue},{isSigner:!1,isWritable:!1,pubkey:B},{isSigner:!1,isWritable:!1,pubkey:N}]).instruction(),En=Te(i),Re=yield xe(e,En);if(!Re){console.log("-- lookup table account error");return}let Mn=f.ComputeBudgetProgram.setComputeUnitLimit({units:4e5}),In=yield e.getLatestBlockhash(),wn=new f.TransactionMessage({payerKey:k,recentBlockhash:In.blockhash,instructions:[Dn,Mn]}).compileToV0Message([Re]),_n=new f.VersionedTransaction(wn),Oe=yield s(_n,e);return console.log("res",Oe),Oe})}function Sn(n){let a=window.localStorage.getItem(dn.LedgerWalletKey);if(!a)return!1;let e=JSON.parse(a!=null?a:"[]");return console.log("-- addressArr",e),!!e.includes(n)}var Pn=require("ethereum-cryptography/utils"),kn=require("@solana/spl-token");var c=require("@solana/web3.js"),hn=require("@solana/wallet-adapter-base");var q=class extends X.BaseWalletAdapter{constructor(){super();C(this,"chainNamespace",J.ChainNamespace.solana);C(this,"_address");C(this,"_chainId");C(this,"_provider");C(this,"_connection")}get address(){return this._address}get chainId(){return this._chainId}set chainId(e){this._chainId=e}get connection(){if(this._connection)return this._connection;if(this._provider.rpcUrl)return this._connection=new c.Connection(this._provider.rpcUrl,{commitment:"confirmed"}),this._connection;if(this._provider.network===hn.WalletAdapterNetwork.Devnet)return this._connection=new c.Connection((0,c.clusterApiUrl)(this._provider.network),{commitment:"confirmed"}),this._connection;let e=X.SimpleDI.get("account"),s="/v1/solana-rpc-proxy";return this._connection=new c.Connection(`${e.apiBaseUrl}${s}`,{commitment:"confirmed",fetchMiddleware:(r,t,m)=>p(this,null,function*(){let d={url:s,method:t==null?void 0:t.method,data:JSON.parse(t==null?void 0:t.body)},i=yield this.signMessageByOrderlyKey(d);for(let o of Object.keys(i))(t==null?void 0:t.headers)[o]=i[o];return m(r,t)})}),this._connection}setConfig(e){this._address=e.address,this._chainId=e.chain.id,e.provider&&(this._provider=e.provider)}lifecycleName(e,s){console.log("lifecycle",e,s)}active(e){this.setConfig(e),this.lifecycleName("active",e)}deactivate(){this.lifecycleName("deactivate",{})}update(e){this.lifecycleName("update",e),this.setConfig(e)}generateSecretKey(){let e,s;do e=bn.utils.randomPrivateKey(),s=(0,An.encode)(e);while(s.length!==44);return s}uint8ArrayToHexString(e){return Array.from(e).map(s=>s.toString(16).padStart(2,"0")).join("")}signMessage(e){return p(this,null,function*(){if(Sn(this._address)){let t=new c.Transaction;t.add(new c.TransactionInstruction({keys:[],programId:new c.PublicKey("ComputeBudget111111111111111111111111111111"),data:new Uint8Array([3,0,0,0,0,0,0,0,0])})),t.add(new c.TransactionInstruction({keys:[],programId:new c.PublicKey("ComputeBudget111111111111111111111111111111"),data:new Uint8Array([2,0,0,0,0])})),t.add(new c.TransactionInstruction({keys:[],programId:new c.PublicKey("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),data:e}));let m=new c.PublicKey(this.address);t.feePayer=m;let d=new Uint8Array(32).fill(0);t.recentBlockhash=new c.PublicKey(d).toString();let o=(yield this._provider.signTransaction(t)).signatures[0].signature;if(o)return this.uint8ArrayToHexString(o);throw console.log("-- sign message error",o),new Error("Unsupported signature")}let r=yield this._provider.signMessage(e);return"0x"+(0,Pn.bytesToHex)(r)})}generateRegisterAccountMessage(e){return p(this,null,function*(){let[s,r]=cn(M(A({},e),{chainId:this.chainId})),t=yield this.signMessage(r);return{message:M(A({},s),{chainType:"SOL"}),signatured:t}})}generateWithdrawMessage(e){return p(this,null,function*(){let[s,r]=pn(M(A({},e),{chainId:this.chainId})),t=yield this.signMessage(r);return{message:M(A({},s),{chainType:"SOL"}),domain:{name:"",version:"",chainId:this.chainId,verifyingContract:e.verifyContract},signatured:t}})}generateAddOrderlyKeyMessage(e){return p(this,null,function*(){let[s,r]=ln(M(A({},e),{chainId:this.chainId})),t=yield this.signMessage(r);return{message:M(A({},s),{chainType:"SOL"}),signatured:t}})}generateSettleMessage(e){return p(this,null,function*(){let[s,r]=fn(M(A({},e),{chainId:this.chainId})),t=yield this.signMessage(r);return{message:M(A({},s),{chainType:"SOL"}),domain:{name:"",version:"",chainId:this.chainId,verifyingContract:e.verifyContract},signatured:t}})}getBalance(){return p(this,null,function*(){return BigInt(0)})}call(e,s,r,t){return p(this,null,function*(){if(s==="balanceOf"){let m=new c.PublicKey(e),d=new c.PublicKey(this._address),i=G(m,d),o=this.connection;return(yield(0,kn.getAccount)(o,i,"confirmed")).amount}return s==="allowance"?J.MaxUint256:BigInt(0)})}sendTransaction(e,s,r,t){return p(this,null,function*(){if(console.log("-- solanan sendTransaction",{contractAddress:e,method:s,payload:r,options:t}),s==="deposit")return gn({vaultAddress:e,userAddress:this._address,connection:this.connection,depositData:r.data[0],sendTransaction:this._provider.sendTransaction})})}callOnChain(e,s,r,t,m){return p(this,null,function*(){return console.log("-- params ",{chain:e,address:s,method:r,params:t}),r==="getDepositFee"?Be({vaultAddress:s,userAddress:this._address,connection:this.connection,depositData:t[1]}):0})}pollTransactionReceiptWithBackoff(e,s,r,t){return p(this,null,function*(){return Promise.resolve({status:1})})}};0&&(module.exports={DefaultSolanaWalletAdapter,version});
2
2
  //# sourceMappingURL=index.js.map