@orderly.network/default-solana-adapter 2.0.0 → 2.0.1-alpha.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.0.0";
13
+ declare const _default: "2.0.1-alpha.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.0.0";
13
+ declare const _default: "2.0.1-alpha.0";
14
14
 
15
15
  interface SolanaAdapterOption {
16
16
  provider: SolanaWalletProvider;
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var ha=Object.create;var B=Object.defineProperty,Da=Object.defineProperties,Ma=Object.getOwnPropertyDescriptor,Ea=Object.getOwnPropertyDescriptors,Ia=Object.getOwnPropertyNames,Ce=Object.getOwnPropertySymbols,_a=Object.getPrototypeOf,Ke=Object.prototype.hasOwnProperty,Ta=Object.prototype.propertyIsEnumerable;var oe=(a,n,e)=>n in a?B(a,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[n]=e,A=(a,n)=>{for(var e in n||(n={}))Ke.call(n,e)&&oe(a,e,n[e]);if(Ce)for(var e of Ce(n))Ta.call(n,e)&&oe(a,e,n[e]);return a},k=(a,n)=>Da(a,Ea(n));var wa=(a,n)=>{for(var e in n)B(a,e,{get:n[e],enumerable:!0})},Le=(a,n,e,s)=>{if(n&&typeof n=="object"||typeof n=="function")for(let t of Ia(n))!Ke.call(a,t)&&t!==e&&B(a,t,{get:()=>n[t],enumerable:!(s=Ma(n,t))||s.enumerable});return a};var xa=(a,n,e)=>(e=a!=null?ha(_a(a)):{},Le(n||!a||!a.__esModule?B(e,"default",{value:a,enumerable:!0}):e,a)),Ra=a=>Le(B({},"__esModule",{value:!0}),a);var O=(a,n,e)=>(oe(a,typeof n!="symbol"?n+"":n,e),e);var f=(a,n,e)=>new Promise((s,t)=>{var i=r=>{try{m(e.next(r))}catch(p){t(p)}},o=r=>{try{m(e.throw(r))}catch(p){t(p)}},m=r=>r.done?s(r.value):Promise.resolve(r.value).then(i,o);m((e=e.apply(a,n)).next())});var Ba={};wa(Ba,{DefaultSolanaWalletAdapter:()=>Q,version:()=>Ne});module.exports=Ra(Ba);typeof window!="undefined"&&(window.__ORDERLY_VERSION__=window.__ORDERLY_VERSION__||{},window.__ORDERLY_VERSION__["@orderly.network/default-solana-adapter"]="2.0.0");var Ne="2.0.0";var da=require("@orderly.network/core"),Y=require("@orderly.network/types"),pa=xa(require("@noble/ed25519")),la=require("bs58");var h=require("ethereum-cryptography/utils"),y=require("ethers"),R=require("ethereum-cryptography/keccak"),c=require("@solana/web3.js"),x=require("@coral-xyz/anchor");var ue={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}],args:[{name:"params",type:{defined:"OAppQuoteParams"}}],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:"OAppQuoteParams",type:{kind:"struct",fields:[{name:"dstEid",type:"u32"},{name:"to",type:{array:["u8",32]}},{name:"options",type:"bytes"},{name:"message",type:{option:"bytes"}},{name:"payInLzToken",type:"bool"}]}},{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"}]}},{name:"MessagingFee",type:{kind:"struct",fields:[{name:"nativeFee",type:"u64"},{name:"lzTokenFee",type:"u64"}]}}],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 d=require("@solana/web3.js"),je=require("@solana/spl-token");var S=require("@solana/web3.js"),z=require("@layerzerolabs/lz-v2-utilities"),P=new S.PublicKey("76y77prsiCMvXMjuoZ5VRrhG5qYBrUMYTE5WgHqgjEn6"),g=new S.PublicKey("7a4WjyR8VZ7yZz5XJAKm39BUGn5iT9CKcv2pmG9tdXVH"),C=new S.PublicKey("6doghB248px58JSSwG4qejQ46kFMW4AMj7vzJnWZHNZn"),w=new S.PublicKey("8ahPGPjEbpgGaZx2NV1iG5Shj7TDwvsjkEDcGWjt94TP"),He=g,We=g,K=new S.PublicKey("HtEYV4xB4wvsj5fgTkcfuChYpvGYzgzwvNhgDZQNh7wW"),Ue="VaultAuthority",Ve="Broker",Ge="Token",me=(0,z.addressToBytes32)("0x9Dc724b24146BeDD2dA28b8C4B74126169B8f312"),ze=(0,z.addressToBytes32)("0x45b6C6266A7A2170617d8A27A50C642fd68b91c4"),Fe=(0,z.addressToBytes32)("0x5Bf771A65d057e778C5f0Ed52A0003316f94322D"),l=40200,F=new S.PublicKey("BWp8HaYYhiNHekt3zgQhqoCrRftneGxxfgKmCZ6svHN"),Qe=new S.PublicKey("BswrQQoPKAFojTuJutZcBMtigAgTghEH4M8ofn3EG2X2"),Ye=new S.PublicKey("BbGKfxuPwDmu58BjPpd7PMG69TqnZjSpKaLDMgf9E9Dr"),de=new S.PublicKey("EYJq9eU4GMRUriUJBgGoZ8YLQBXcWaciXuSsEXE7ieQS"),pe=new S.PublicKey("5zBjLor7vEraAt4zp2H82sy9MSqFoDnNa1Lx6EYKTYRZ"),le=new S.PublicKey("9shwxWDUNhtwkHocsUAmrNAQfBH2DHh4njdAEdHZZkF2");var u=require("@layerzerolabs/lz-solana-sdk-v2");var L=(a,n)=>(0,je.getAssociatedTokenAddressSync)(a,n,!0);function Ze(a){return d.PublicKey.findProgramAddressSync([Buffer.from(Ue,"utf8")],a)[0]}function Xe(a,n){let e=Array.from(Buffer.from(n.slice(2),"hex"));return d.PublicKey.findProgramAddressSync([Buffer.from(Ve,"utf8"),Buffer.from(e)],a)[0]}function qe(a,n){let e=Array.from(Buffer.from(n.slice(2),"hex"));return d.PublicKey.findProgramAddressSync([Buffer.from(Ge,"utf8"),Buffer.from(e)],a)[0]}function ce(a){return d.PublicKey.findProgramAddressSync([Buffer.from(u.OAPP_SEED,"utf8")],a)[0]}function fe(a,n,e){let s=Buffer.alloc(4);return s.writeUInt32BE(e),d.PublicKey.findProgramAddressSync([Buffer.from(u.PEER_SEED,"utf8"),n.toBuffer(),s],a)[0]}function ye(a,n,e){let s=Buffer.alloc(4);return s.writeUInt32BE(e),d.PublicKey.findProgramAddressSync([Buffer.from(u.ENFORCED_OPTIONS_SEED,"utf8"),n.toBuffer(),s],a)[0]}function Je(){return d.PublicKey.findProgramAddressSync([Buffer.from(u.MESSAGE_LIB_SEED,"utf8")],g)[0]}function ge(a,n){let e=Buffer.alloc(4);return e.writeUInt32BE(n),d.PublicKey.findProgramAddressSync([Buffer.from(u.SEND_LIBRARY_CONFIG_SEED,"utf8"),a.toBuffer(),e],P)[0]}function Se(a){let n=Buffer.alloc(4);return n.writeUInt32BE(a),d.PublicKey.findProgramAddressSync([Buffer.from(u.SEND_LIBRARY_CONFIG_SEED,"utf8"),n],P)[0]}function $e(a){return d.PublicKey.findProgramAddressSync([Buffer.from(u.MESSAGE_LIB_SEED,"utf8"),a.toBuffer()],P)[0]}function Pe(){return d.PublicKey.findProgramAddressSync([Buffer.from(u.ENDPOINT_SEED,"utf8")],P)[0]}function be(a){let n=me;return a.toBase58()===de.toBase58()&&(n=me),a.toBase58()===pe.toBase58()&&(n=ze),a.toBase58()===le.toBase58()&&(n=Fe),n}function Ae(a,n,e){let s=Buffer.alloc(4),t=be(a);return s.writeUInt32BE(e),d.PublicKey.findProgramAddressSync([Buffer.from(u.NONCE_SEED,"utf8"),n.toBuffer(),s,t],P)[0]}function ea(){return d.PublicKey.findProgramAddressSync([Buffer.from(u.EVENT_SEED,"utf8")],P)[0]}function aa(){return d.PublicKey.findProgramAddressSync([Buffer.from(u.ULN_SEED,"utf8")],g)[0]}function ke(a,n){let e=Buffer.alloc(4);return e.writeUInt32BE(n),d.PublicKey.findProgramAddressSync([Buffer.from(u.SEND_CONFIG_SEED,"utf8"),e,a.toBuffer()],g)[0]}function he(a){let n=Buffer.alloc(4);return n.writeUInt32BE(a),d.PublicKey.findProgramAddressSync([Buffer.from(u.SEND_CONFIG_SEED,"utf8"),n],He)[0]}function na(){return d.PublicKey.findProgramAddressSync([Buffer.from(u.EVENT_SEED,"utf8")],g)[0]}function De(){return d.PublicKey.findProgramAddressSync([Buffer.from(u.EXECUTOR_CONFIG_SEED,"utf8")],C)[0]}function Me(){return d.PublicKey.findProgramAddressSync([Buffer.from(u.PRICE_FEED_SEED,"utf8")],w)[0]}function Ee(){return d.PublicKey.findProgramAddressSync([Buffer.from(u.DVN_CONFIG_SEED,"utf8")],K)[0]}function Ie(a){return a.toBase58()===de.toBase58()?(console.log("DEV_LOOKUP_TABLE_ADDRESS: ",F.toBase58()),F):a.toBase58()===pe.toBase58()?Qe:a.toBase58()===le.toBase58()?Ye:F}function ta(a){return d.PublicKey.findProgramAddressSync([Buffer.from(u.MESSAGE_LIB_SEED,"utf8")],a||g)[0]}function sa(a,n){return d.PublicKey.findProgramAddressSync([Buffer.from(u.MESSAGE_LIB_SEED,"utf8"),a.toBytes()],n||P)[0]}function _e(a,n){return f(this,null,function*(){return(yield a.getAddressLookupTable(n)).value})}function ra(a){let{publicKey:n,brokerId:e,expiration:s=365,timestamp:t=Date.now(),scope:i,tag:o,chainId:m}=a,r=k(A({brokerId:e,chainType:"SOL",orderlyKey:n,scope:i||"read,trading",chainId:m,timestamp:t},typeof o!="undefined"?{tag:o}:{}),{expiration:t+1e3*60*60*24*s}),p=(0,y.solidityPackedKeccak256)(["string"],[r.brokerId]),b=(0,y.solidityPackedKeccak256)(["string"],[r.orderlyKey]),M=(0,y.solidityPackedKeccak256)(["string"],[r.scope]),_=y.AbiCoder.defaultAbiCoder(),E=(0,R.keccak256)((0,h.hexToBytes)(_.encode(["bytes32","bytes32","bytes32","uint256","uint256","uint256"],[p,b,M,r.chainId,r.timestamp,r.expiration]))),T=(0,h.bytesToHex)(E),I=new TextEncoder().encode(T);return[r,I]}function ia(a){let{chainId:n,registrationNonce:e,brokerId:s,timestamp:t}=a,i={brokerId:s,chainId:n,timestamp:t,registrationNonce:e},o=(0,y.solidityPackedKeccak256)(["string"],[i.brokerId]),m=y.AbiCoder.defaultAbiCoder(),r=(0,R.keccak256)((0,h.hexToBytes)(m.encode(["bytes32","uint256","uint256","uint256"],[o,i.chainId,i.timestamp,i.registrationNonce]))),p=(0,h.bytesToHex)(r),b=new TextEncoder().encode(p);return[i,b]}function oa(a){let{chainId:n,receiver:e,token:s,amount:t,nonce:i,brokerId:o}=a,m=Date.now(),r={brokerId:o,chainId:n,receiver:e,token:s,amount:t,withdrawNonce:i,timestamp:m,chainType:"SOL"},p=(0,y.solidityPackedKeccak256)(["string"],[r.brokerId]),b=(0,y.solidityPackedKeccak256)(["string"],[r.token]),M=(0,R.keccak256)(Buffer.from("Orderly Network")),_=y.AbiCoder.defaultAbiCoder(),E=(0,R.keccak256)((0,h.hexToBytes)(_.encode(["bytes32","bytes32","uint256","bytes32","uint256","uint64","uint64","bytes32"],[p,b,n,(0,h.hexToBytes)((0,y.decodeBase58)(r.receiver).toString(16)),r.amount,r.withdrawNonce,m,M]))),T=(0,h.bytesToHex)(E),I=new TextEncoder().encode(T);return[r,I]}function ua(a){let{settlePnlNonce:n,brokerId:e,chainId:s,timestamp:t}=a,i={brokerId:e,chainId:s,timestamp:t,chainType:"SOL",settleNonce:n},o=(0,y.solidityPackedKeccak256)(["string"],[e]),m=y.AbiCoder.defaultAbiCoder(),r=(0,R.keccak256)((0,h.hexToBytes)(m.encode(["bytes32","uint256","uint64","uint64"],[o,i.chainId,i.settleNonce,i.timestamp]))),p=(0,h.bytesToHex)(r),b=new TextEncoder().encode(p);return[i,b]}function va(a){let n=Buffer.alloc(1);return n.writeUInt8(a.msgType),Buffer.concat([n,a.payload])}function Te(s){return f(this,arguments,function*({vaultAddress:a,userAddress:n,connection:e}){let t=new c.PublicKey(a),i=new x.Program(ue,t,{connection:e}),o=new c.PublicKey(n),m=ce(t),r=fe(t,m,l),p=ye(t,m,l),b=ge(m,l),M=Se(l),_=Pe(),E=Ae(t,m,l),T=ke(m,l),I=he(l),j=De(),H=Me(),Z=Ee(),W=ta(g),X=sa(W),D=Buffer.alloc(32*7),q=va({msgType:0,payload:D}),J={dstEid:l,to:Array.from(be(t)),options:Buffer.from([]),message:q,payInLzToken:!1},$=yield i.methods.oappQuote(J).accounts({oappConfig:m,peer:r,enforcedOptions:p}).remainingAccounts([{pubkey:P,isWritable:!1,isSigner:!1},{pubkey:g,isWritable:!1,isSigner:!1},{pubkey:b,isWritable:!1,isSigner:!1},{pubkey:M,isWritable:!1,isSigner:!1},{pubkey:X,isWritable:!1,isSigner:!1},{pubkey:_,isWritable:!1,isSigner:!1},{pubkey:E,isWritable:!1,isSigner:!1},{pubkey:W,isWritable:!1,isSigner:!1},{pubkey:T,isWritable:!1,isSigner:!1},{pubkey:I,isWritable:!1,isSigner:!1},{pubkey:C,isWritable:!1,isSigner:!1},{pubkey:j,isWritable:!1,isSigner:!1},{pubkey:w,isWritable:!1,isSigner:!1},{pubkey:H,isWritable:!1,isSigner:!1},{pubkey:K,isWritable:!1,isSigner:!1},{pubkey:Z,isWritable:!1,isSigner:!1},{pubkey:w,isWritable:!1,isSigner:!1},{pubkey:H,isWritable:!1,isSigner:!1}]).instruction(),ee=yield e.getLatestBlockhash(),ae=Ie(t),U=yield _e(e,ae);if(!U)throw console.log("-- lookup table account error"),new Error("-- lookup table account error");let ne=new c.TransactionMessage({payerKey:o,recentBlockhash:ee.blockhash,instructions:[$]}).compileToV0Message([U]),te=new c.VersionedTransaction(ne),se=yield e.simulateTransaction(te),V=`Program return: ${i.programId} `,G=se.value.logs.find(ie=>ie.startsWith(V));if(!G)throw new Error("get deposit fee error");let re=G.slice(V.length),v=Buffer.from(re,"base64");return console.log(v.readBigUInt64LE(0),v.readBigUInt64LE(1)),v.readBigUInt64LE(0)})}function ma(i){return f(this,arguments,function*({vaultAddress:a,userAddress:n,connection:e,sendTransaction:s,depositData:t}){let o=new c.PublicKey(a),m=new x.Program(ue,o,{connection:e}),r=new c.PublicKey(t.USDCAddress),p=new c.PublicKey(n),b=L(r,p),M=Ze(o),_=L(r,M),E=t.brokerHash,T=Array.from(Buffer.from(E.slice(2),"hex")),I=t.tokenHash,j=Array.from(Buffer.from(I.slice(2),"hex")),H=t.accountId,Z=Array.from(Buffer.from(H.slice(2),"hex")),W=Xe(o,E),X=qe(o,I),D=ce(o);console.log("-- oappconfig pda",D.toBase58());let q=fe(o,D,l),J=ye(o,D,l),$=Je(),ee=ge(D,l),ae=Se(l),U=$e($),ne=Pe(),te=Ae(o,D,l),se=ea(),V=aa(),G=ke(D,l),re=he(l),v=na(),ie=De(),xe=Me(),fa=Ee(),Re={accountId:Z,brokerHash:T,tokenHash:j,userAddress:Array.from(p.toBuffer()),tokenAmount:new x.BN(t.tokenAmount)},ya=yield Te({vaultAddress:a,userAddress:n,connection:e}),ve={nativeFee:new x.BN(ya.toString()),lzTokenFee:new x.BN(0)};console.log("--- value params",{vaultDepositParams:Re,sendParam:ve});let ga=yield m.methods.deposit(Re,ve).accounts({userTokenAccount:b,vaultAuthority:M,vaultTokenAccount:_,depositToken:r,user:p,peer:q,enforcedOptions:J,oappConfig:D,allowedBroker:W,allowedToken:X}).remainingAccounts([{isSigner:!1,isWritable:!1,pubkey:P},{isSigner:!1,isWritable:!1,pubkey:D},{isSigner:!1,isWritable:!1,pubkey:g},{isSigner:!1,isWritable:!1,pubkey:ee},{isSigner:!1,isWritable:!1,pubkey:ae},{isSigner:!1,isWritable:!1,pubkey:U},{isSigner:!1,isWritable:!1,pubkey:ne},{isSigner:!1,isWritable:!0,pubkey:te},{isSigner:!1,isWritable:!1,pubkey:se},{isSigner:!1,isWritable:!1,pubkey:P},{isSigner:!1,isWritable:!1,pubkey:V},{isSigner:!1,isWritable:!1,pubkey:G},{isSigner:!1,isWritable:!1,pubkey:re},{isSigner:!0,isWritable:!1,pubkey:p},{isSigner:!1,isWritable:!1,pubkey:We},{isSigner:!1,isWritable:!1,pubkey:c.SystemProgram.programId},{isSigner:!1,isWritable:!1,pubkey:v},{isSigner:!1,isWritable:!1,pubkey:g},{isSigner:!1,isWritable:!1,pubkey:C},{isSigner:!1,isWritable:!0,pubkey:ie},{isSigner:!1,isWritable:!1,pubkey:w},{isSigner:!1,isWritable:!1,pubkey:xe},{isSigner:!1,isWritable:!1,pubkey:K},{isSigner:!1,isWritable:!0,pubkey:fa},{isSigner:!1,isWritable:!1,pubkey:w},{isSigner:!1,isWritable:!1,pubkey:xe}]).instruction(),Sa=Ie(o),Be=yield _e(e,Sa);if(!Be){console.log("-- lookup table account error");return}let Pa=c.ComputeBudgetProgram.setComputeUnitLimit({units:4e5}),ba=yield e.getLatestBlockhash(),Aa=new c.TransactionMessage({payerKey:p,recentBlockhash:ba.blockhash,instructions:[ga,Pa]}).compileToV0Message([Be]),ka=new c.VersionedTransaction(Aa),Oe=yield s(ka,e);return console.log("res",Oe),Oe})}var N=require("ethereum-cryptography/utils"),ca=require("@solana/spl-token");var we=require("@solana/web3.js");var Q=class extends da.BaseWalletAdapter{constructor(){super();O(this,"chainNamespace",Y.ChainNamespace.solana);O(this,"_address");O(this,"_chainId");O(this,"_provider")}get address(){return this._address}get chainId(){return this._chainId}set chainId(e){this._chainId=e}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=pa.utils.randomPrivateKey(),s=(0,la.encode)(e);while(s.length!==44);return s}generateRegisterAccountMessage(e){return f(this,null,function*(){let[s,t]=ia(k(A({},e),{chainId:this.chainId})),i=yield this._provider.signMessage(t),o="0x"+(0,N.bytesToHex)(i);return{message:k(A({},s),{chainType:"SOL"}),signatured:o}})}generateWithdrawMessage(e){return f(this,null,function*(){let[s,t]=oa(k(A({},e),{chainId:this.chainId})),i=yield this._provider.signMessage(t),o="0x"+(0,N.bytesToHex)(i);return console.log("-- verify contract",e.verifyContract),{message:k(A({},s),{chainType:"SOL"}),domain:{name:"",version:"",chainId:this.chainId,verifyingContract:e.verifyContract},signatured:o}})}generateAddOrderlyKeyMessage(e){return f(this,null,function*(){let[s,t]=ra(k(A({},e),{chainId:this.chainId})),i=yield this._provider.signMessage(t),o="0x"+(0,N.bytesToHex)(i);return{message:k(A({},s),{chainType:"SOL"}),signatured:o}})}generateSettleMessage(e){return f(this,null,function*(){let[s,t]=yield ua(k(A({},e),{chainId:this.chainId})),i=yield this._provider.signMessage(t),o="0x"+(0,N.bytesToHex)(i);return{message:k(A({},s),{chainType:"SOL"}),domain:{name:"",version:"",chainId:this.chainId,verifyingContract:e.verifyContract},signatured:o}})}getBalance(){return f(this,null,function*(){return BigInt(0)})}call(e,s,t,i){return f(this,null,function*(){if(s==="balanceOf"){let o=new we.PublicKey(e),m=new we.PublicKey(this._address),r=L(o,m);return(yield(0,ca.getAccount)(this._provider.connection,r,"confirmed")).amount}return s==="allowance"?Y.MaxUint256:BigInt(0)})}sendTransaction(e,s,t,i){return f(this,null,function*(){if(console.log("-- solanan sendTransaction",{contractAddress:e,method:s,payload:t,options:i}),s==="deposit")return ma({vaultAddress:e,userAddress:this._address,connection:this._provider.connection,depositData:t.data[0],sendTransaction:this._provider.sendTransaction})})}callOnChain(e,s,t,i,o){return f(this,null,function*(){return console.log("-- params ",{chain:e,address:s,method:t,params:i}),t==="getDepositFee"?Te({vaultAddress:s,userAddress:this._address,connection:this._provider.connection}):0})}pollTransactionReceiptWithBackoff(e,s,t,i){return f(this,null,function*(){})}};0&&(module.exports={DefaultSolanaWalletAdapter,version});
1
+ "use strict";var Pa=Object.create;var O=Object.defineProperty,ba=Object.defineProperties,Aa=Object.getOwnPropertyDescriptor,ka=Object.getOwnPropertyDescriptors,ha=Object.getOwnPropertyNames,Be=Object.getOwnPropertySymbols,Da=Object.getPrototypeOf,Oe=Object.prototype.hasOwnProperty,Ma=Object.prototype.propertyIsEnumerable;var oe=(a,n,e)=>n in a?O(a,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[n]=e,A=(a,n)=>{for(var e in n||(n={}))Oe.call(n,e)&&oe(a,e,n[e]);if(Be)for(var e of Be(n))Ma.call(n,e)&&oe(a,e,n[e]);return a},k=(a,n)=>ba(a,ka(n));var Ea=(a,n)=>{for(var e in n)O(a,e,{get:n[e],enumerable:!0})},Ce=(a,n,e,t)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of ha(n))!Oe.call(a,r)&&r!==e&&O(a,r,{get:()=>n[r],enumerable:!(t=Aa(n,r))||t.enumerable});return a};var Ia=(a,n,e)=>(e=a!=null?Pa(Da(a)):{},Ce(n||!a||!a.__esModule?O(e,"default",{value:a,enumerable:!0}):e,a)),_a=a=>Ce(O({},"__esModule",{value:!0}),a);var C=(a,n,e)=>(oe(a,typeof n!="symbol"?n+"":n,e),e);var c=(a,n,e)=>new Promise((t,r)=>{var i=s=>{try{d(e.next(s))}catch(p){r(p)}},u=s=>{try{d(e.throw(s))}catch(p){r(p)}},d=s=>s.done?t(s.value):Promise.resolve(s.value).then(i,u);d((e=e.apply(a,n)).next())});var xa={};Ea(xa,{DefaultSolanaWalletAdapter:()=>Y,version:()=>Ke});module.exports=_a(xa);typeof window!="undefined"&&(window.__ORDERLY_VERSION__=window.__ORDERLY_VERSION__||{},window.__ORDERLY_VERSION__["@orderly.network/default-solana-adapter"]="2.0.1-alpha.0");var Ke="2.0.1-alpha.0";var ua=require("@orderly.network/core"),Q=require("@orderly.network/types"),ma=Ia(require("@noble/ed25519")),da=require("bs58");var h=require("ethereum-cryptography/utils"),y=require("ethers"),v=require("ethereum-cryptography/keccak"),l=require("@solana/web3.js"),R=require("@coral-xyz/anchor");var ue={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 m=require("@solana/web3.js"),Ye=require("@solana/spl-token");var P=require("@solana/web3.js"),F=require("@layerzerolabs/lz-v2-utilities"),b=new P.PublicKey("76y77prsiCMvXMjuoZ5VRrhG5qYBrUMYTE5WgHqgjEn6"),S=new P.PublicKey("7a4WjyR8VZ7yZz5XJAKm39BUGn5iT9CKcv2pmG9tdXVH"),K=new P.PublicKey("6doghB248px58JSSwG4qejQ46kFMW4AMj7vzJnWZHNZn"),x=new P.PublicKey("8ahPGPjEbpgGaZx2NV1iG5Shj7TDwvsjkEDcGWjt94TP"),Le=S,He=S,L=new P.PublicKey("HtEYV4xB4wvsj5fgTkcfuChYpvGYzgzwvNhgDZQNh7wW"),Ne="VaultAuthority",We="Broker",Ue="Token",me=(0,F.addressToBytes32)("0x9Dc724b24146BeDD2dA28b8C4B74126169B8f312"),Ve=(0,F.addressToBytes32)("0x45b6C6266A7A2170617d8A27A50C642fd68b91c4"),Ge=(0,F.addressToBytes32)("0x5Bf771A65d057e778C5f0Ed52A0003316f94322D"),f=40200,z=new P.PublicKey("BWp8HaYYhiNHekt3zgQhqoCrRftneGxxfgKmCZ6svHN"),Fe=new P.PublicKey("BswrQQoPKAFojTuJutZcBMtigAgTghEH4M8ofn3EG2X2"),ze=new P.PublicKey("BbGKfxuPwDmu58BjPpd7PMG69TqnZjSpKaLDMgf9E9Dr"),de=new P.PublicKey("EYJq9eU4GMRUriUJBgGoZ8YLQBXcWaciXuSsEXE7ieQS"),le=new P.PublicKey("5zBjLor7vEraAt4zp2H82sy9MSqFoDnNa1Lx6EYKTYRZ"),pe=new P.PublicKey("9shwxWDUNhtwkHocsUAmrNAQfBH2DHh4njdAEdHZZkF2");var o=require("@layerzerolabs/lz-solana-sdk-v2");var H=(a,n)=>(0,Ye.getAssociatedTokenAddressSync)(a,n,!0);function ce(a){return m.PublicKey.findProgramAddressSync([Buffer.from(Ne,"utf8")],a)[0]}function Qe(a,n){let e=Array.from(Buffer.from(n.slice(2),"hex"));return m.PublicKey.findProgramAddressSync([Buffer.from(We,"utf8"),Buffer.from(e)],a)[0]}function je(a,n){let e=Array.from(Buffer.from(n.slice(2),"hex"));return m.PublicKey.findProgramAddressSync([Buffer.from(Ue,"utf8"),Buffer.from(e)],a)[0]}function fe(a){return m.PublicKey.findProgramAddressSync([Buffer.from(o.OAPP_SEED,"utf8")],a)[0]}function ye(a,n,e){let t=Buffer.alloc(4);return t.writeUInt32BE(e),m.PublicKey.findProgramAddressSync([Buffer.from(o.PEER_SEED,"utf8"),n.toBuffer(),t],a)[0]}function ge(a,n,e){let t=Buffer.alloc(4);return t.writeUInt32BE(e),m.PublicKey.findProgramAddressSync([Buffer.from(o.ENFORCED_OPTIONS_SEED,"utf8"),n.toBuffer(),t],a)[0]}function Ze(){return m.PublicKey.findProgramAddressSync([Buffer.from(o.MESSAGE_LIB_SEED,"utf8")],S)[0]}function Se(a,n){let e=Buffer.alloc(4);return e.writeUInt32BE(n),m.PublicKey.findProgramAddressSync([Buffer.from(o.SEND_LIBRARY_CONFIG_SEED,"utf8"),a.toBuffer(),e],b)[0]}function Pe(a){let n=Buffer.alloc(4);return n.writeUInt32BE(a),m.PublicKey.findProgramAddressSync([Buffer.from(o.SEND_LIBRARY_CONFIG_SEED,"utf8"),n],b)[0]}function Xe(a){return m.PublicKey.findProgramAddressSync([Buffer.from(o.MESSAGE_LIB_SEED,"utf8"),a.toBuffer()],b)[0]}function be(){return m.PublicKey.findProgramAddressSync([Buffer.from(o.ENDPOINT_SEED,"utf8")],b)[0]}function wa(a){let n=me;return a.toBase58()===de.toBase58()&&(n=me),a.toBase58()===le.toBase58()&&(n=Ve),a.toBase58()===pe.toBase58()&&(n=Ge),n}function Ae(a,n,e){let t=Buffer.alloc(4),r=wa(a);return t.writeUInt32BE(e),m.PublicKey.findProgramAddressSync([Buffer.from(o.NONCE_SEED,"utf8"),n.toBuffer(),t,r],b)[0]}function qe(){return m.PublicKey.findProgramAddressSync([Buffer.from(o.EVENT_SEED,"utf8")],b)[0]}function Je(){return m.PublicKey.findProgramAddressSync([Buffer.from(o.ULN_SEED,"utf8")],S)[0]}function ke(a,n){let e=Buffer.alloc(4);return e.writeUInt32BE(n),m.PublicKey.findProgramAddressSync([Buffer.from(o.SEND_CONFIG_SEED,"utf8"),e,a.toBuffer()],S)[0]}function he(a){let n=Buffer.alloc(4);return n.writeUInt32BE(a),m.PublicKey.findProgramAddressSync([Buffer.from(o.SEND_CONFIG_SEED,"utf8"),n],Le)[0]}function $e(){return m.PublicKey.findProgramAddressSync([Buffer.from(o.EVENT_SEED,"utf8")],S)[0]}function De(){return m.PublicKey.findProgramAddressSync([Buffer.from(o.EXECUTOR_CONFIG_SEED,"utf8")],K)[0]}function Me(){return m.PublicKey.findProgramAddressSync([Buffer.from(o.PRICE_FEED_SEED,"utf8")],x)[0]}function Ee(){return m.PublicKey.findProgramAddressSync([Buffer.from(o.DVN_CONFIG_SEED,"utf8")],L)[0]}function Ie(a){return a.toBase58()===de.toBase58()?(console.log("DEV_LOOKUP_TABLE_ADDRESS: ",z.toBase58()),z):a.toBase58()===le.toBase58()?Fe:a.toBase58()===pe.toBase58()?ze:z}function ea(a){return m.PublicKey.findProgramAddressSync([Buffer.from(o.MESSAGE_LIB_SEED,"utf8")],a||S)[0]}function aa(a,n){return m.PublicKey.findProgramAddressSync([Buffer.from(o.MESSAGE_LIB_SEED,"utf8"),a.toBytes()],n||b)[0]}function _e(a,n){return c(this,null,function*(){return(yield a.getAddressLookupTable(n)).value})}function na(a){let{publicKey:n,brokerId:e,expiration:t=365,timestamp:r=Date.now(),scope:i,tag:u,chainId:d}=a,s=k(A({brokerId:e,chainType:"SOL",orderlyKey:n,scope:i||"read,trading",chainId:d,timestamp:r},typeof u!="undefined"?{tag:u}:{}),{expiration:r+1e3*60*60*24*t}),p=(0,y.solidityPackedKeccak256)(["string"],[s.brokerId]),g=(0,y.solidityPackedKeccak256)(["string"],[s.orderlyKey]),D=(0,y.solidityPackedKeccak256)(["string"],[s.scope]),I=y.AbiCoder.defaultAbiCoder(),E=(0,v.keccak256)((0,h.hexToBytes)(I.encode(["bytes32","bytes32","bytes32","uint256","uint256","uint256"],[p,g,D,s.chainId,s.timestamp,s.expiration]))),_=(0,h.bytesToHex)(E),w=new TextEncoder().encode(_);return[s,w]}function ta(a){let{chainId:n,registrationNonce:e,brokerId:t,timestamp:r}=a,i={brokerId:t,chainId:n,timestamp:r,registrationNonce:e},u=(0,y.solidityPackedKeccak256)(["string"],[i.brokerId]),d=y.AbiCoder.defaultAbiCoder(),s=(0,v.keccak256)((0,h.hexToBytes)(d.encode(["bytes32","uint256","uint256","uint256"],[u,i.chainId,i.timestamp,i.registrationNonce]))),p=(0,h.bytesToHex)(s),g=new TextEncoder().encode(p);return[i,g]}function sa(a){let{chainId:n,receiver:e,token:t,amount:r,nonce:i,brokerId:u}=a,d=Date.now(),s={brokerId:u,chainId:n,receiver:e,token:t,amount:r,withdrawNonce:i,timestamp:d,chainType:"SOL"},p=(0,y.solidityPackedKeccak256)(["string"],[s.brokerId]),g=(0,y.solidityPackedKeccak256)(["string"],[s.token]),D=(0,v.keccak256)(Buffer.from("Orderly Network")),I=y.AbiCoder.defaultAbiCoder(),E=(0,v.keccak256)((0,h.hexToBytes)(I.encode(["bytes32","bytes32","uint256","bytes32","uint256","uint64","uint64","bytes32"],[p,g,n,(0,h.hexToBytes)((0,y.decodeBase58)(s.receiver).toString(16)),s.amount,s.withdrawNonce,d,D]))),_=(0,h.bytesToHex)(E),w=new TextEncoder().encode(_);return[s,w]}function ra(a){let{settlePnlNonce:n,brokerId:e,chainId:t,timestamp:r}=a,i={brokerId:e,chainId:t,timestamp:r,chainType:"SOL",settleNonce:n},u=(0,y.solidityPackedKeccak256)(["string"],[e]),d=y.AbiCoder.defaultAbiCoder(),s=(0,v.keccak256)((0,h.hexToBytes)(d.encode(["bytes32","uint256","uint64","uint64"],[u,i.chainId,i.settleNonce,i.timestamp]))),p=(0,h.bytesToHex)(s),g=new TextEncoder().encode(p);return[i,g]}function we(r){return c(this,arguments,function*({vaultAddress:a,userAddress:n,connection:e,depositData:t}){console.log("-- vaultAddress",a);let i=new l.PublicKey(a),u=new R.Program(ue,i,{connection:e}),d=new l.PublicKey(n),s=fe(i),p=ye(i,s,f),g=ge(i,s,f),D=Se(s,f),I=Pe(f),E=be(),_=Ae(i,s,f),w=ke(s,f),j=he(f),M=De(),W=Me(),Z=Ee(),U=ea(S),X=aa(U),q=ce(i),J=ia(n,t),$=yield u.methods.oappQuote(J).accounts({oappConfig:s,peer:p,enforcedOptions:g,vaultAuthority:q}).remainingAccounts([{pubkey:b,isWritable:!1,isSigner:!1},{pubkey:S,isWritable:!1,isSigner:!1},{pubkey:D,isWritable:!1,isSigner:!1},{pubkey:I,isWritable:!1,isSigner:!1},{pubkey:X,isWritable:!1,isSigner:!1},{pubkey:E,isWritable:!1,isSigner:!1},{pubkey:_,isWritable:!1,isSigner:!1},{pubkey:U,isWritable:!1,isSigner:!1},{pubkey:w,isWritable:!1,isSigner:!1},{pubkey:j,isWritable:!1,isSigner:!1},{pubkey:K,isWritable:!1,isSigner:!1},{pubkey:M,isWritable:!1,isSigner:!1},{pubkey:x,isWritable:!1,isSigner:!1},{pubkey:W,isWritable:!1,isSigner:!1},{pubkey:L,isWritable:!1,isSigner:!1},{pubkey:Z,isWritable:!1,isSigner:!1},{pubkey:x,isWritable:!1,isSigner:!1},{pubkey:W,isWritable:!1,isSigner:!1}]).instruction(),ee=yield e.getLatestBlockhash(),ae=Ie(i),V=yield _e(e,ae);if(!V)throw console.log("-- lookup table account error"),new Error("-- lookup table account error");let ne=new l.TransactionMessage({payerKey:d,recentBlockhash:ee.blockhash,instructions:[$]}).compileToV0Message([V]),te=new l.VersionedTransaction(ne),se=yield e.simulateTransaction(te),G=`Program return: ${u.programId} `,B=se.value.logs.find(ie=>ie.startsWith(G));if(!B)throw new Error("get deposit fee error");let re=B.slice(G.length),T=Buffer.from(re,"base64");return console.log(T.readBigUInt64LE(0),T.readBigUInt64LE(1)),T.readBigUInt64LE(0)})}var ia=(a,n)=>{let e=n.brokerHash,t=Array.from(Buffer.from(e.slice(2),"hex")),r=n.tokenHash,i=Array.from(Buffer.from(r.slice(2),"hex")),u=n.accountId,d=Array.from(Buffer.from(u.slice(2),"hex")),s=new l.PublicKey(a);return{accountId:d,brokerHash:t,tokenHash:i,userAddress:Array.from(s.toBuffer()),tokenAmount:new R.BN(n.tokenAmount)}};function oa(i){return c(this,arguments,function*({vaultAddress:a,userAddress:n,connection:e,sendTransaction:t,depositData:r}){let u=r.brokerHash,d=r.tokenHash,s=new l.PublicKey(a),p=new R.Program(ue,s,{connection:e}),g=new l.PublicKey(r.USDCAddress),D=new l.PublicKey(n),I=H(g,D),E=ce(s),_=H(g,E),w=Qe(s,u),j=je(s,d),M=fe(s);console.log("-- oappconfig pda",M.toBase58());let W=ye(s,M,f),Z=ge(s,M,f),U=Ze(),X=Se(M,f),q=Pe(f),J=Xe(U),$=be(),ee=Ae(s,M,f),ae=qe(),V=Je(),ne=ke(M,f),te=he(f),se=$e(),G=De(),B=Me(),re=Ee(),T=ia(n,r),ie=yield we({vaultAddress:a,userAddress:n,connection:e,depositData:r}),Re={nativeFee:new R.BN(ie.toString()),lzTokenFee:new R.BN(0)};console.log("--- value params",{vaultDepositParams:T,sendParam:Re});let pa=yield p.methods.deposit(T,Re).accounts({userTokenAccount:I,vaultAuthority:E,vaultTokenAccount:_,depositToken:g,user:D,peer:W,enforcedOptions:Z,oappConfig:M,allowedBroker:w,allowedToken:j}).remainingAccounts([{isSigner:!1,isWritable:!1,pubkey:b},{isSigner:!1,isWritable:!1,pubkey:M},{isSigner:!1,isWritable:!1,pubkey:S},{isSigner:!1,isWritable:!1,pubkey:X},{isSigner:!1,isWritable:!1,pubkey:q},{isSigner:!1,isWritable:!1,pubkey:J},{isSigner:!1,isWritable:!1,pubkey:$},{isSigner:!1,isWritable:!0,pubkey:ee},{isSigner:!1,isWritable:!1,pubkey:ae},{isSigner:!1,isWritable:!1,pubkey:b},{isSigner:!1,isWritable:!1,pubkey:V},{isSigner:!1,isWritable:!1,pubkey:ne},{isSigner:!1,isWritable:!1,pubkey:te},{isSigner:!0,isWritable:!1,pubkey:D},{isSigner:!1,isWritable:!1,pubkey:He},{isSigner:!1,isWritable:!1,pubkey:l.SystemProgram.programId},{isSigner:!1,isWritable:!1,pubkey:se},{isSigner:!1,isWritable:!1,pubkey:S},{isSigner:!1,isWritable:!1,pubkey:K},{isSigner:!1,isWritable:!0,pubkey:G},{isSigner:!1,isWritable:!1,pubkey:x},{isSigner:!1,isWritable:!1,pubkey:B},{isSigner:!1,isWritable:!1,pubkey:L},{isSigner:!1,isWritable:!0,pubkey:re},{isSigner:!1,isWritable:!1,pubkey:x},{isSigner:!1,isWritable:!1,pubkey:B}]).instruction(),ca=Ie(s),Te=yield _e(e,ca);if(!Te){console.log("-- lookup table account error");return}let fa=l.ComputeBudgetProgram.setComputeUnitLimit({units:4e5}),ya=yield e.getLatestBlockhash(),ga=new l.TransactionMessage({payerKey:D,recentBlockhash:ya.blockhash,instructions:[pa,fa]}).compileToV0Message([Te]),Sa=new l.VersionedTransaction(ga),ve=yield t(Sa,e);return console.log("res",ve),ve})}var N=require("ethereum-cryptography/utils"),la=require("@solana/spl-token");var xe=require("@solana/web3.js");var Y=class extends ua.BaseWalletAdapter{constructor(){super();C(this,"chainNamespace",Q.ChainNamespace.solana);C(this,"_address");C(this,"_chainId");C(this,"_provider")}get address(){return this._address}get chainId(){return this._chainId}set chainId(e){this._chainId=e}setConfig(e){this._address=e.address,this._chainId=e.chain.id,e.provider&&(this._provider=e.provider)}lifecycleName(e,t){console.log("lifecycle",e,t)}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,t;do e=ma.utils.randomPrivateKey(),t=(0,da.encode)(e);while(t.length!==44);return t}generateRegisterAccountMessage(e){return c(this,null,function*(){let[t,r]=ta(k(A({},e),{chainId:this.chainId})),i=yield this._provider.signMessage(r),u="0x"+(0,N.bytesToHex)(i);return{message:k(A({},t),{chainType:"SOL"}),signatured:u}})}generateWithdrawMessage(e){return c(this,null,function*(){let[t,r]=sa(k(A({},e),{chainId:this.chainId})),i=yield this._provider.signMessage(r),u="0x"+(0,N.bytesToHex)(i);return console.log("-- verify contract",e.verifyContract),{message:k(A({},t),{chainType:"SOL"}),domain:{name:"",version:"",chainId:this.chainId,verifyingContract:e.verifyContract},signatured:u}})}generateAddOrderlyKeyMessage(e){return c(this,null,function*(){let[t,r]=na(k(A({},e),{chainId:this.chainId})),i=yield this._provider.signMessage(r),u="0x"+(0,N.bytesToHex)(i);return{message:k(A({},t),{chainType:"SOL"}),signatured:u}})}generateSettleMessage(e){return c(this,null,function*(){let[t,r]=yield ra(k(A({},e),{chainId:this.chainId})),i=yield this._provider.signMessage(r),u="0x"+(0,N.bytesToHex)(i);return{message:k(A({},t),{chainType:"SOL"}),domain:{name:"",version:"",chainId:this.chainId,verifyingContract:e.verifyContract},signatured:u}})}getBalance(){return c(this,null,function*(){return BigInt(0)})}call(e,t,r,i){return c(this,null,function*(){if(t==="balanceOf"){let u=new xe.PublicKey(e),d=new xe.PublicKey(this._address),s=H(u,d);return(yield(0,la.getAccount)(this._provider.connection,s,"confirmed")).amount}return t==="allowance"?Q.MaxUint256:BigInt(0)})}sendTransaction(e,t,r,i){return c(this,null,function*(){if(console.log("-- solanan sendTransaction",{contractAddress:e,method:t,payload:r,options:i}),t==="deposit")return oa({vaultAddress:e,userAddress:this._address,connection:this._provider.connection,depositData:r.data[0],sendTransaction:this._provider.sendTransaction})})}callOnChain(e,t,r,i,u){return c(this,null,function*(){return console.log("-- params ",{chain:e,address:t,method:r,params:i}),r==="getDepositFee"?we({vaultAddress:t,userAddress:this._address,connection:this._provider.connection,depositData:i[1]}):0})}pollTransactionReceiptWithBackoff(e,t,r,i){return c(this,null,function*(){})}};0&&(module.exports={DefaultSolanaWalletAdapter,version});
2
2
  //# sourceMappingURL=index.js.map