@orderly.network/default-solana-adapter 2.0.3 → 2.0.4-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 +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var Ea=Object.defineProperty,Ma=Object.defineProperties;var Ia=Object.getOwnPropertyDescriptors;var Ce=Object.getOwnPropertySymbols;var wa=Object.prototype.hasOwnProperty,Ta=Object.prototype.propertyIsEnumerable;var ie=(a,n,e)=>n in a?Ea(a,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[n]=e,g=(a,n)=>{for(var e in n||(n={}))wa.call(n,e)&&ie(a,e,n[e]);if(Ce)for(var e of Ce(n))Ta.call(n,e)&&ie(a,e,n[e]);return a},S=(a,n)=>Ma(a,Ia(n));var v=(a,n,e)=>(ie(a,typeof n!="symbol"?n+"":n,e),e);var l=(a,n,e)=>new Promise((t,i)=>{var s=r=>{try{m(e.next(r))}catch(u){i(u)}},o=r=>{try{m(e.throw(r))}catch(u){i(u)}},m=r=>r.done?t(r.value):Promise.resolve(r.value).then(s,o);m((e=e.apply(a,n)).next())});typeof window!="undefined"&&(window.__ORDERLY_VERSION__=window.__ORDERLY_VERSION__||{},window.__ORDERLY_VERSION__["@orderly.network/default-solana-adapter"]="2.0.3");var _a="2.0.3";import{BaseWalletAdapter as za}from"@orderly.network/core";import{MaxUint256 as Ya,ChainNamespace as Qa}from"@orderly.network/types";import*as Sa from"@noble/ed25519";import{encode as ja}from"bs58";import{bytesToHex as Y,hexToBytes as Q}from"ethereum-cryptography/utils";import{AbiCoder as j,solidityPackedKeccak256 as w}from"ethers";import{keccak256 as L}from"ethereum-cryptography/keccak";import{decode as Ua}from"bs58";import{ComputeBudgetProgram as Va,PublicKey as B,SystemProgram as Ga,TransactionMessage as oa,VersionedTransaction as ua}from"@solana/web3.js";import{BN as Te,Program as ma}from"@coral-xyz/anchor";var oe={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"}]};import{PublicKey as d}from"@solana/web3.js";import{getAssociatedTokenAddressSync as xa}from"@solana/spl-token";import{PublicKey as c}from"@solana/web3.js";import{addressToBytes32 as V}from"@layerzerolabs/lz-v2-utilities";var y=new c("76y77prsiCMvXMjuoZ5VRrhG5qYBrUMYTE5WgHqgjEn6"),f=new c("7a4WjyR8VZ7yZz5XJAKm39BUGn5iT9CKcv2pmG9tdXVH"),O=new c("6doghB248px58JSSwG4qejQ46kFMW4AMj7vzJnWZHNZn"),I=new c("8ahPGPjEbpgGaZx2NV1iG5Shj7TDwvsjkEDcGWjt94TP"),Ke=f,Le=f,C=new c("HtEYV4xB4wvsj5fgTkcfuChYpvGYzgzwvNhgDZQNh7wW"),Ne="VaultAuthority",He="Broker",We="Token",ue=V("0x9Dc724b24146BeDD2dA28b8C4B74126169B8f312"),Ue=V("0x45b6C6266A7A2170617d8A27A50C642fd68b91c4"),Ve=V("0x5Bf771A65d057e778C5f0Ed52A0003316f94322D"),Ge=V("0xCecAe061aa078e13b5e70D5F9eCee90a3F2B6AeA"),Fe=40200,ze=30213,G=new c("BWp8HaYYhiNHekt3zgQhqoCrRftneGxxfgKmCZ6svHN"),Ye=new c("BswrQQoPKAFojTuJutZcBMtigAgTghEH4M8ofn3EG2X2"),Qe=new c("BbGKfxuPwDmu58BjPpd7PMG69TqnZjSpKaLDMgf9E9Dr"),je=new c("8iq7xCQt3bLdRRn4A46d5GuaXYinBoiAhbe2sUmZVzwg"),me=new c("EYJq9eU4GMRUriUJBgGoZ8YLQBXcWaciXuSsEXE7ieQS"),de=new c("5zBjLor7vEraAt4zp2H82sy9MSqFoDnNa1Lx6EYKTYRZ"),le=new c("9shwxWDUNhtwkHocsUAmrNAQfBH2DHh4njdAEdHZZkF2"),F=new c("ErBmAD61mGFKvrFNaTJuxoPwqrS8GgtwtqJTJVjFWx9Q");import{DVN_CONFIG_SEED as Ba,ENDPOINT_SEED as Ra,ENFORCED_OPTIONS_SEED as va,EVENT_SEED as Ze,EXECUTOR_CONFIG_SEED as Oa,LZ_RECEIVE_TYPES_SEED as dn,MESSAGE_LIB_SEED as z,NONCE_SEED as Ca,OAPP_SEED as Ka,PEER_SEED as La,PRICE_FEED_SEED as Na,SEND_CONFIG_SEED as qe,SEND_LIBRARY_CONFIG_SEED as Xe,ULN_SEED as Ha}from"@layerzerolabs/lz-solana-sdk-v2";var K=(a,n)=>xa(a,n,!0);function pe(a){return d.findProgramAddressSync([Buffer.from(Ne,"utf8")],a)[0]}function Je(a,n){let e=Array.from(Buffer.from(n.slice(2),"hex"));return d.findProgramAddressSync([Buffer.from(He,"utf8"),Buffer.from(e)],a)[0]}function $e(a,n){let e=Array.from(Buffer.from(n.slice(2),"hex"));return d.findProgramAddressSync([Buffer.from(We,"utf8"),Buffer.from(e)],a)[0]}function ce(a){return d.findProgramAddressSync([Buffer.from(Ka,"utf8")],a)[0]}function fe(a,n,e){let t=Buffer.alloc(4);return t.writeUInt32BE(e),d.findProgramAddressSync([Buffer.from(La,"utf8"),n.toBuffer(),t],a)[0]}function ye(a,n,e){let t=Buffer.alloc(4);return t.writeUInt32BE(e),d.findProgramAddressSync([Buffer.from(va,"utf8"),n.toBuffer(),t],a)[0]}function ea(){return d.findProgramAddressSync([Buffer.from(z,"utf8")],f)[0]}function ge(a,n){let e=Buffer.alloc(4);return e.writeUInt32BE(n),d.findProgramAddressSync([Buffer.from(Xe,"utf8"),a.toBuffer(),e],y)[0]}function Se(a){let n=Buffer.alloc(4);return n.writeUInt32BE(a),d.findProgramAddressSync([Buffer.from(Xe,"utf8"),n],y)[0]}function aa(a){return d.findProgramAddressSync([Buffer.from(z,"utf8"),a.toBuffer()],y)[0]}function be(){return d.findProgramAddressSync([Buffer.from(Ra,"utf8")],y)[0]}function Wa(a){let n=ue;return a.toBase58()===me.toBase58()&&(n=ue),a.toBase58()===de.toBase58()&&(n=Ue),a.toBase58()===le.toBase58()&&(n=Ve),a.toBase58()===F.toBase58()&&(n=Ge),n}function Ae(a,n,e){let t=Buffer.alloc(4),i=Wa(a);return t.writeUInt32BE(e),d.findProgramAddressSync([Buffer.from(Ca,"utf8"),n.toBuffer(),t,i],y)[0]}function na(){return d.findProgramAddressSync([Buffer.from(Ze,"utf8")],y)[0]}function ta(){return d.findProgramAddressSync([Buffer.from(Ha,"utf8")],f)[0]}function Pe(a,n){let e=Buffer.alloc(4);return e.writeUInt32BE(n),d.findProgramAddressSync([Buffer.from(qe,"utf8"),e,a.toBuffer()],f)[0]}function ke(a){let n=Buffer.alloc(4);return n.writeUInt32BE(a),d.findProgramAddressSync([Buffer.from(qe,"utf8"),n],Ke)[0]}function sa(){return d.findProgramAddressSync([Buffer.from(Ze,"utf8")],f)[0]}function he(){return d.findProgramAddressSync([Buffer.from(Oa,"utf8")],O)[0]}function De(){return d.findProgramAddressSync([Buffer.from(Na,"utf8")],I)[0]}function Ee(){return d.findProgramAddressSync([Buffer.from(Ba,"utf8")],C)[0]}function Me(a){return a.toBase58()===F.toBase58()?ze:Fe}function Ie(a){return a.toBase58()===me.toBase58()?(console.log("DEV_LOOKUP_TABLE_ADDRESS: ",G.toBase58()),G):a.toBase58()===de.toBase58()?Ye:a.toBase58()===le.toBase58()?Qe:a.toBase58()===F.toBase58()?je:G}function ra(a){return d.findProgramAddressSync([Buffer.from(z,"utf8")],a||f)[0]}function ia(a,n){return d.findProgramAddressSync([Buffer.from(z,"utf8"),a.toBytes()],n||y)[0]}function we(a,n){return l(this,null,function*(){return(yield a.getAddressLookupTable(n)).value})}import{LedgerWalletKey as Fa}from"@orderly.network/types";function da(a){let{publicKey:n,brokerId:e,expiration:t=365,timestamp:i=Date.now(),scope:s,tag:o,chainId:m}=a,r=S(g({brokerId:e,chainType:"SOL",orderlyKey:n,scope:s||"read,trading",chainId:m,timestamp:i},typeof o!="undefined"?{tag:o}:{}),{expiration:i+1e3*60*60*24*t}),u=w(["string"],[r.brokerId]),p=w(["string"],[r.orderlyKey]),b=w(["string"],[r.scope]),D=j.defaultAbiCoder(),k=L(Q(D.encode(["bytes32","bytes32","bytes32","uint256","uint256","uint256"],[u,p,b,r.chainId,r.timestamp,r.expiration]))),E=Y(k),M=new TextEncoder().encode(E);return[r,M]}function la(a){let{chainId:n,registrationNonce:e,brokerId:t,timestamp:i}=a,s={brokerId:t,chainId:n,timestamp:i,registrationNonce:e},o=w(["string"],[s.brokerId]),m=j.defaultAbiCoder(),r=L(Q(m.encode(["bytes32","uint256","uint256","uint256"],[o,s.chainId,s.timestamp,s.registrationNonce]))),u=Y(r),p=new TextEncoder().encode(u);return[s,p]}function pa(a){let{chainId:n,receiver:e,token:t,amount:i,nonce:s,brokerId:o}=a,m=Date.now(),r={brokerId:o,chainId:n,receiver:e,token:t,amount:i,withdrawNonce:s,timestamp:m,chainType:"SOL"},u=w(["string"],[r.brokerId]),p=w(["string"],[r.token]),b=L(Buffer.from("Orderly Network")),D=j.defaultAbiCoder(),k=L(Q(D.encode(["bytes32","bytes32","uint256","bytes32","uint256","uint64","uint64","bytes32"],[u,p,n,Ua(r.receiver),r.amount,r.withdrawNonce,m,b]))),E=Y(k),M=new TextEncoder().encode(E);return[r,M]}function ca(a){let{settlePnlNonce:n,brokerId:e,chainId:t,timestamp:i}=a,s={brokerId:e,chainId:t,timestamp:i,chainType:"SOL",settleNonce:n},o=w(["string"],[e]),m=j.defaultAbiCoder(),r=L(Q(m.encode(["bytes32","uint256","uint64","uint64"],[o,s.chainId,s.settleNonce,s.timestamp]))),u=Y(r),p=new TextEncoder().encode(u);return[s,p]}function _e(i){return l(this,arguments,function*({vaultAddress:a,userAddress:n,connection:e,depositData:t}){console.log("-- vaultAddress",a);let s=new B(a),o=Me(s),m=new ma(oe,s,{connection:e}),r=new B(n),u=ce(s),p=fe(s,u,o),b=ye(s,u,o),D=ge(u,o),k=Se(o),E=be(),M=Ae(s,u,o),Z=Pe(u,o),A=ke(o),P=he(),N=De(),q=Ee(),H=ra(f),X=ia(H),J=pe(s),$=fa(n,t),ee=yield m.methods.oappQuote($).accounts({oappConfig:u,peer:p,enforcedOptions:b,vaultAuthority:J}).remainingAccounts([{pubkey:y,isWritable:!1,isSigner:!1},{pubkey:f,isWritable:!1,isSigner:!1},{pubkey:D,isWritable:!1,isSigner:!1},{pubkey:k,isWritable:!1,isSigner:!1},{pubkey:X,isWritable:!1,isSigner:!1},{pubkey:E,isWritable:!1,isSigner:!1},{pubkey:M,isWritable:!1,isSigner:!1},{pubkey:H,isWritable:!1,isSigner:!1},{pubkey:Z,isWritable:!1,isSigner:!1},{pubkey:A,isWritable:!1,isSigner:!1},{pubkey:O,isWritable:!1,isSigner:!1},{pubkey:P,isWritable:!1,isSigner:!1},{pubkey:I,isWritable:!1,isSigner:!1},{pubkey:N,isWritable:!1,isSigner:!1},{pubkey:C,isWritable:!1,isSigner:!1},{pubkey:q,isWritable:!1,isSigner:!1},{pubkey:I,isWritable:!1,isSigner:!1},{pubkey:N,isWritable:!1,isSigner:!1}]).instruction(),ae=yield e.getLatestBlockhash(),ne=Ie(s),W=yield we(e,ne);if(!W)throw console.log("-- lookup table account error"),new Error("-- lookup table account error");let te=new oa({payerKey:r,recentBlockhash:ae.blockhash,instructions:[ee]}).compileToV0Message([W]),se=new ua(te),h=yield e.simulateTransaction(se);if(console.log("-- feeRes",h),h.value.err){let x=typeof h.value.err=="object"?JSON.stringify(h.value.err):h.value.err;throw x.toString().includes("AccountNotFound")?new Error("Error: Account gas is insufficient."):new Error(`Error: ${x}`)}let U=`Program return: ${m.programId} `,R=h.value.logs.find(x=>x.startsWith(U));if(!R)throw new Error("Error: get deposit fee error");let re=R.slice(U.length),_=Buffer.from(re,"base64");return console.log(_.readBigUInt64LE(0),_.readBigUInt64LE(1)),_.readBigUInt64LE(0)})}var fa=(a,n)=>{let e=n.brokerHash,t=Array.from(Buffer.from(e.slice(2),"hex")),i=n.tokenHash,s=Array.from(Buffer.from(i.slice(2),"hex")),o=n.accountId,m=Array.from(Buffer.from(o.slice(2),"hex")),r=new B(a);return{accountId:m,brokerHash:t,tokenHash:s,userAddress:Array.from(r.toBuffer()),tokenAmount:new Te(n.tokenAmount)}};function ya(s){return l(this,arguments,function*({vaultAddress:a,userAddress:n,connection:e,sendTransaction:t,depositData:i}){let o=i.brokerHash,m=i.tokenHash;console.log("-- vault address",a);let r=new B(a),u=new ma(oe,r,{connection:e}),p=new B(i.USDCAddress),b=new B(n),D=K(p,b),k=pe(r),E=K(p,k),M=Je(r,o),Z=$e(r,m),A=ce(r);console.log("-- oappconfig pda",A.toBase58());let P=Me(r),N=fe(r,A,P),q=ye(r,A,P),H=ea(),X=ge(A,P),J=Se(P),$=aa(H),ee=be(),ae=Ae(r,A,P),ne=na(),W=ta(),te=Pe(A,P),se=ke(P),h=sa(),U=he(),R=De(),re=Ee(),_=fa(n,i),x=yield _e({vaultAddress:a,userAddress:n,connection:e,depositData:i}),Re={nativeFee:new Te(x.toString()),lzTokenFee:new Te(0)};console.log("--- value params",{vaultDepositParams:_,sendParam:Re});let ba=yield u.methods.deposit(_,Re).accounts({userTokenAccount:D,vaultAuthority:k,vaultTokenAccount:E,depositToken:p,user:b,peer:N,enforcedOptions:q,oappConfig:A,allowedBroker:M,allowedToken:Z}).remainingAccounts([{isSigner:!1,isWritable:!1,pubkey:y},{isSigner:!1,isWritable:!1,pubkey:A},{isSigner:!1,isWritable:!1,pubkey:f},{isSigner:!1,isWritable:!1,pubkey:X},{isSigner:!1,isWritable:!1,pubkey:J},{isSigner:!1,isWritable:!1,pubkey:$},{isSigner:!1,isWritable:!1,pubkey:ee},{isSigner:!1,isWritable:!0,pubkey:ae},{isSigner:!1,isWritable:!1,pubkey:ne},{isSigner:!1,isWritable:!1,pubkey:y},{isSigner:!1,isWritable:!1,pubkey:W},{isSigner:!1,isWritable:!1,pubkey:te},{isSigner:!1,isWritable:!1,pubkey:se},{isSigner:!0,isWritable:!1,pubkey:b},{isSigner:!1,isWritable:!1,pubkey:Le},{isSigner:!1,isWritable:!1,pubkey:Ga.programId},{isSigner:!1,isWritable:!1,pubkey:h},{isSigner:!1,isWritable:!1,pubkey:f},{isSigner:!1,isWritable:!1,pubkey:O},{isSigner:!1,isWritable:!0,pubkey:U},{isSigner:!1,isWritable:!1,pubkey:I},{isSigner:!1,isWritable:!1,pubkey:R},{isSigner:!1,isWritable:!1,pubkey:C},{isSigner:!1,isWritable:!0,pubkey:re},{isSigner:!1,isWritable:!1,pubkey:I},{isSigner:!1,isWritable:!1,pubkey:R}]).instruction(),Aa=Ie(r),ve=yield we(e,Aa);if(!ve){console.log("-- lookup table account error");return}let Pa=Va.setComputeUnitLimit({units:4e5}),ka=yield e.getLatestBlockhash(),ha=new oa({payerKey:b,recentBlockhash:ka.blockhash,instructions:[ba,Pa]}).compileToV0Message([ve]),Da=new ua(ha),Oe=yield t(Da,e);return console.log("res",Oe),Oe})}function ga(a){let n=window.localStorage.getItem(Fa);if(!n)return!1;let e=JSON.parse(n!=null?n:"[]");return console.log("-- addressArr",e),!!e.includes(a)}import{bytesToHex as Za}from"ethereum-cryptography/utils";import{getAccount as qa}from"@solana/spl-token";import{PublicKey as T,Transaction as Xa,TransactionInstruction as xe}from"@solana/web3.js";var Be=class extends za{constructor(){super();v(this,"chainNamespace",Qa.solana);v(this,"_address");v(this,"_chainId");v(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=Sa.utils.randomPrivateKey(),t=ja(e);while(t.length!==44);return t}uint8ArrayToHexString(e){return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}signMessage(e){return l(this,null,function*(){if(ga(this._address)){let s=new Xa;s.add(new xe({keys:[],programId:new T("ComputeBudget111111111111111111111111111111"),data:new Uint8Array([3,0,0,0,0,0,0,0,0])})),s.add(new xe({keys:[],programId:new T("ComputeBudget111111111111111111111111111111"),data:new Uint8Array([2,0,0,0,0])})),s.add(new xe({keys:[],programId:new T("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),data:e}));let o=new T(this.address);s.feePayer=o;let m=new Uint8Array(32).fill(0);s.recentBlockhash=new T(m).toString();let u=(yield this._provider.signTransaction(s)).signatures[0].signature;if(u)return this.uint8ArrayToHexString(u);throw console.log("-- sign message error",u),new Error("Unsupported signature")}let i=yield this._provider.signMessage(e);return"0x"+Za(i)})}generateRegisterAccountMessage(e){return l(this,null,function*(){let[t,i]=la(S(g({},e),{chainId:this.chainId})),s=yield this.signMessage(i);return{message:S(g({},t),{chainType:"SOL"}),signatured:s}})}generateWithdrawMessage(e){return l(this,null,function*(){let[t,i]=pa(S(g({},e),{chainId:this.chainId})),s=yield this.signMessage(i);return{message:S(g({},t),{chainType:"SOL"}),domain:{name:"",version:"",chainId:this.chainId,verifyingContract:e.verifyContract},signatured:s}})}generateAddOrderlyKeyMessage(e){return l(this,null,function*(){let[t,i]=da(S(g({},e),{chainId:this.chainId})),s=yield this.signMessage(i);return{message:S(g({},t),{chainType:"SOL"}),signatured:s}})}generateSettleMessage(e){return l(this,null,function*(){let[t,i]=ca(S(g({},e),{chainId:this.chainId})),s=yield this.signMessage(i);return{message:S(g({},t),{chainType:"SOL"}),domain:{name:"",version:"",chainId:this.chainId,verifyingContract:e.verifyContract},signatured:s}})}getBalance(){return l(this,null,function*(){return BigInt(0)})}call(e,t,i,s){return l(this,null,function*(){if(t==="balanceOf"){let o=new T(e),m=new T(this._address),r=K(o,m);return(yield qa(this._provider.connection,r,"confirmed")).amount}return t==="allowance"?Ya:BigInt(0)})}sendTransaction(e,t,i,s){return l(this,null,function*(){if(console.log("-- solanan sendTransaction",{contractAddress:e,method:t,payload:i,options:s}),t==="deposit")return ya({vaultAddress:e,userAddress:this._address,connection:this._provider.connection,depositData:i.data[0],sendTransaction:this._provider.sendTransaction})})}callOnChain(e,t,i,s,o){return l(this,null,function*(){return console.log("-- params ",{chain:e,address:t,method:i,params:s}),i==="getDepositFee"?_e({vaultAddress:t,userAddress:this._address,connection:this._provider.connection,depositData:s[1]}):0})}pollTransactionReceiptWithBackoff(e,t,i,s){return l(this,null,function*(){})}};export{Be as DefaultSolanaWalletAdapter,_a as version};
|
|
1
|
+
var Ea=Object.defineProperty,Ma=Object.defineProperties;var Ia=Object.getOwnPropertyDescriptors;var Ce=Object.getOwnPropertySymbols;var wa=Object.prototype.hasOwnProperty,Ta=Object.prototype.propertyIsEnumerable;var ie=(a,n,e)=>n in a?Ea(a,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[n]=e,g=(a,n)=>{for(var e in n||(n={}))wa.call(n,e)&&ie(a,e,n[e]);if(Ce)for(var e of Ce(n))Ta.call(n,e)&&ie(a,e,n[e]);return a},S=(a,n)=>Ma(a,Ia(n));var v=(a,n,e)=>(ie(a,typeof n!="symbol"?n+"":n,e),e);var l=(a,n,e)=>new Promise((t,i)=>{var s=r=>{try{m(e.next(r))}catch(u){i(u)}},o=r=>{try{m(e.throw(r))}catch(u){i(u)}},m=r=>r.done?t(r.value):Promise.resolve(r.value).then(s,o);m((e=e.apply(a,n)).next())});typeof window!="undefined"&&(window.__ORDERLY_VERSION__=window.__ORDERLY_VERSION__||{},window.__ORDERLY_VERSION__["@orderly.network/default-solana-adapter"]="2.0.4-alpha.0");var _a="2.0.4-alpha.0";import{BaseWalletAdapter as za}from"@orderly.network/core";import{MaxUint256 as Ya,ChainNamespace as Qa}from"@orderly.network/types";import*as Sa from"@noble/ed25519";import{encode as ja}from"bs58";import{bytesToHex as Y,hexToBytes as Q}from"ethereum-cryptography/utils";import{AbiCoder as j,solidityPackedKeccak256 as w}from"ethers";import{keccak256 as L}from"ethereum-cryptography/keccak";import{decode as Ua}from"bs58";import{ComputeBudgetProgram as Va,PublicKey as B,SystemProgram as Ga,TransactionMessage as oa,VersionedTransaction as ua}from"@solana/web3.js";import{BN as Te,Program as ma}from"@coral-xyz/anchor";var oe={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"}]};import{PublicKey as d}from"@solana/web3.js";import{getAssociatedTokenAddressSync as xa}from"@solana/spl-token";import{PublicKey as c}from"@solana/web3.js";import{addressToBytes32 as V}from"@layerzerolabs/lz-v2-utilities";var y=new c("76y77prsiCMvXMjuoZ5VRrhG5qYBrUMYTE5WgHqgjEn6"),f=new c("7a4WjyR8VZ7yZz5XJAKm39BUGn5iT9CKcv2pmG9tdXVH"),O=new c("6doghB248px58JSSwG4qejQ46kFMW4AMj7vzJnWZHNZn"),I=new c("8ahPGPjEbpgGaZx2NV1iG5Shj7TDwvsjkEDcGWjt94TP"),Ke=f,Le=f,C=new c("HtEYV4xB4wvsj5fgTkcfuChYpvGYzgzwvNhgDZQNh7wW"),Ne="VaultAuthority",He="Broker",We="Token",ue=V("0x9Dc724b24146BeDD2dA28b8C4B74126169B8f312"),Ue=V("0x45b6C6266A7A2170617d8A27A50C642fd68b91c4"),Ve=V("0x5Bf771A65d057e778C5f0Ed52A0003316f94322D"),Ge=V("0xCecAe061aa078e13b5e70D5F9eCee90a3F2B6AeA"),Fe=40200,ze=30213,G=new c("BWp8HaYYhiNHekt3zgQhqoCrRftneGxxfgKmCZ6svHN"),Ye=new c("BswrQQoPKAFojTuJutZcBMtigAgTghEH4M8ofn3EG2X2"),Qe=new c("BbGKfxuPwDmu58BjPpd7PMG69TqnZjSpKaLDMgf9E9Dr"),je=new c("8iq7xCQt3bLdRRn4A46d5GuaXYinBoiAhbe2sUmZVzwg"),me=new c("EYJq9eU4GMRUriUJBgGoZ8YLQBXcWaciXuSsEXE7ieQS"),de=new c("5zBjLor7vEraAt4zp2H82sy9MSqFoDnNa1Lx6EYKTYRZ"),le=new c("9shwxWDUNhtwkHocsUAmrNAQfBH2DHh4njdAEdHZZkF2"),F=new c("ErBmAD61mGFKvrFNaTJuxoPwqrS8GgtwtqJTJVjFWx9Q");import{DVN_CONFIG_SEED as Ba,ENDPOINT_SEED as Ra,ENFORCED_OPTIONS_SEED as va,EVENT_SEED as Ze,EXECUTOR_CONFIG_SEED as Oa,LZ_RECEIVE_TYPES_SEED as dn,MESSAGE_LIB_SEED as z,NONCE_SEED as Ca,OAPP_SEED as Ka,PEER_SEED as La,PRICE_FEED_SEED as Na,SEND_CONFIG_SEED as qe,SEND_LIBRARY_CONFIG_SEED as Xe,ULN_SEED as Ha}from"@layerzerolabs/lz-solana-sdk-v2";var K=(a,n)=>xa(a,n,!0);function pe(a){return d.findProgramAddressSync([Buffer.from(Ne,"utf8")],a)[0]}function Je(a,n){let e=Array.from(Buffer.from(n.slice(2),"hex"));return d.findProgramAddressSync([Buffer.from(He,"utf8"),Buffer.from(e)],a)[0]}function $e(a,n){let e=Array.from(Buffer.from(n.slice(2),"hex"));return d.findProgramAddressSync([Buffer.from(We,"utf8"),Buffer.from(e)],a)[0]}function ce(a){return d.findProgramAddressSync([Buffer.from(Ka,"utf8")],a)[0]}function fe(a,n,e){let t=Buffer.alloc(4);return t.writeUInt32BE(e),d.findProgramAddressSync([Buffer.from(La,"utf8"),n.toBuffer(),t],a)[0]}function ye(a,n,e){let t=Buffer.alloc(4);return t.writeUInt32BE(e),d.findProgramAddressSync([Buffer.from(va,"utf8"),n.toBuffer(),t],a)[0]}function ea(){return d.findProgramAddressSync([Buffer.from(z,"utf8")],f)[0]}function ge(a,n){let e=Buffer.alloc(4);return e.writeUInt32BE(n),d.findProgramAddressSync([Buffer.from(Xe,"utf8"),a.toBuffer(),e],y)[0]}function Se(a){let n=Buffer.alloc(4);return n.writeUInt32BE(a),d.findProgramAddressSync([Buffer.from(Xe,"utf8"),n],y)[0]}function aa(a){return d.findProgramAddressSync([Buffer.from(z,"utf8"),a.toBuffer()],y)[0]}function be(){return d.findProgramAddressSync([Buffer.from(Ra,"utf8")],y)[0]}function Wa(a){let n=ue;return a.toBase58()===me.toBase58()&&(n=ue),a.toBase58()===de.toBase58()&&(n=Ue),a.toBase58()===le.toBase58()&&(n=Ve),a.toBase58()===F.toBase58()&&(n=Ge),n}function Ae(a,n,e){let t=Buffer.alloc(4),i=Wa(a);return t.writeUInt32BE(e),d.findProgramAddressSync([Buffer.from(Ca,"utf8"),n.toBuffer(),t,i],y)[0]}function na(){return d.findProgramAddressSync([Buffer.from(Ze,"utf8")],y)[0]}function ta(){return d.findProgramAddressSync([Buffer.from(Ha,"utf8")],f)[0]}function Pe(a,n){let e=Buffer.alloc(4);return e.writeUInt32BE(n),d.findProgramAddressSync([Buffer.from(qe,"utf8"),e,a.toBuffer()],f)[0]}function ke(a){let n=Buffer.alloc(4);return n.writeUInt32BE(a),d.findProgramAddressSync([Buffer.from(qe,"utf8"),n],Ke)[0]}function sa(){return d.findProgramAddressSync([Buffer.from(Ze,"utf8")],f)[0]}function he(){return d.findProgramAddressSync([Buffer.from(Oa,"utf8")],O)[0]}function De(){return d.findProgramAddressSync([Buffer.from(Na,"utf8")],I)[0]}function Ee(){return d.findProgramAddressSync([Buffer.from(Ba,"utf8")],C)[0]}function Me(a){return a.toBase58()===F.toBase58()?ze:Fe}function Ie(a){return a.toBase58()===me.toBase58()?(console.log("DEV_LOOKUP_TABLE_ADDRESS: ",G.toBase58()),G):a.toBase58()===de.toBase58()?Ye:a.toBase58()===le.toBase58()?Qe:a.toBase58()===F.toBase58()?je:G}function ra(a){return d.findProgramAddressSync([Buffer.from(z,"utf8")],a||f)[0]}function ia(a,n){return d.findProgramAddressSync([Buffer.from(z,"utf8"),a.toBytes()],n||y)[0]}function we(a,n){return l(this,null,function*(){return(yield a.getAddressLookupTable(n)).value})}import{LedgerWalletKey as Fa}from"@orderly.network/types";function da(a){let{publicKey:n,brokerId:e,expiration:t=365,timestamp:i=Date.now(),scope:s,tag:o,chainId:m}=a,r=S(g({brokerId:e,chainType:"SOL",orderlyKey:n,scope:s||"read,trading",chainId:m,timestamp:i},typeof o!="undefined"?{tag:o}:{}),{expiration:i+1e3*60*60*24*t}),u=w(["string"],[r.brokerId]),p=w(["string"],[r.orderlyKey]),b=w(["string"],[r.scope]),D=j.defaultAbiCoder(),k=L(Q(D.encode(["bytes32","bytes32","bytes32","uint256","uint256","uint256"],[u,p,b,r.chainId,r.timestamp,r.expiration]))),E=Y(k),M=new TextEncoder().encode(E);return[r,M]}function la(a){let{chainId:n,registrationNonce:e,brokerId:t,timestamp:i}=a,s={brokerId:t,chainId:n,timestamp:i,registrationNonce:e},o=w(["string"],[s.brokerId]),m=j.defaultAbiCoder(),r=L(Q(m.encode(["bytes32","uint256","uint256","uint256"],[o,s.chainId,s.timestamp,s.registrationNonce]))),u=Y(r),p=new TextEncoder().encode(u);return[s,p]}function pa(a){let{chainId:n,receiver:e,token:t,amount:i,nonce:s,brokerId:o}=a,m=Date.now(),r={brokerId:o,chainId:n,receiver:e,token:t,amount:i,withdrawNonce:s,timestamp:m,chainType:"SOL"},u=w(["string"],[r.brokerId]),p=w(["string"],[r.token]),b=L(Buffer.from("Orderly Network")),D=j.defaultAbiCoder(),k=L(Q(D.encode(["bytes32","bytes32","uint256","bytes32","uint256","uint64","uint64","bytes32"],[u,p,n,Ua(r.receiver),r.amount,r.withdrawNonce,m,b]))),E=Y(k),M=new TextEncoder().encode(E);return[r,M]}function ca(a){let{settlePnlNonce:n,brokerId:e,chainId:t,timestamp:i}=a,s={brokerId:e,chainId:t,timestamp:i,chainType:"SOL",settleNonce:n},o=w(["string"],[e]),m=j.defaultAbiCoder(),r=L(Q(m.encode(["bytes32","uint256","uint64","uint64"],[o,s.chainId,s.settleNonce,s.timestamp]))),u=Y(r),p=new TextEncoder().encode(u);return[s,p]}function _e(i){return l(this,arguments,function*({vaultAddress:a,userAddress:n,connection:e,depositData:t}){console.log("-- vaultAddress",a);let s=new B(a),o=Me(s),m=new ma(oe,s,{connection:e}),r=new B(n),u=ce(s),p=fe(s,u,o),b=ye(s,u,o),D=ge(u,o),k=Se(o),E=be(),M=Ae(s,u,o),Z=Pe(u,o),A=ke(o),P=he(),N=De(),q=Ee(),H=ra(f),X=ia(H),J=pe(s),$=fa(n,t),ee=yield m.methods.oappQuote($).accounts({oappConfig:u,peer:p,enforcedOptions:b,vaultAuthority:J}).remainingAccounts([{pubkey:y,isWritable:!1,isSigner:!1},{pubkey:f,isWritable:!1,isSigner:!1},{pubkey:D,isWritable:!1,isSigner:!1},{pubkey:k,isWritable:!1,isSigner:!1},{pubkey:X,isWritable:!1,isSigner:!1},{pubkey:E,isWritable:!1,isSigner:!1},{pubkey:M,isWritable:!1,isSigner:!1},{pubkey:H,isWritable:!1,isSigner:!1},{pubkey:Z,isWritable:!1,isSigner:!1},{pubkey:A,isWritable:!1,isSigner:!1},{pubkey:O,isWritable:!1,isSigner:!1},{pubkey:P,isWritable:!1,isSigner:!1},{pubkey:I,isWritable:!1,isSigner:!1},{pubkey:N,isWritable:!1,isSigner:!1},{pubkey:C,isWritable:!1,isSigner:!1},{pubkey:q,isWritable:!1,isSigner:!1},{pubkey:I,isWritable:!1,isSigner:!1},{pubkey:N,isWritable:!1,isSigner:!1}]).instruction(),ae=yield e.getLatestBlockhash(),ne=Ie(s),W=yield we(e,ne);if(!W)throw console.log("-- lookup table account error"),new Error("-- lookup table account error");let te=new oa({payerKey:r,recentBlockhash:ae.blockhash,instructions:[ee]}).compileToV0Message([W]),se=new ua(te),h=yield e.simulateTransaction(se);if(console.log("-- feeRes",h),h.value.err){let x=typeof h.value.err=="object"?JSON.stringify(h.value.err):h.value.err;throw x.toString().includes("AccountNotFound")?new Error("Error: Account gas is insufficient."):new Error(`Error: ${x}`)}let U=`Program return: ${m.programId} `,R=h.value.logs.find(x=>x.startsWith(U));if(!R)throw new Error("Error: get deposit fee error");let re=R.slice(U.length),_=Buffer.from(re,"base64");return console.log(_.readBigUInt64LE(0),_.readBigUInt64LE(1)),_.readBigUInt64LE(0)})}var fa=(a,n)=>{let e=n.brokerHash,t=Array.from(Buffer.from(e.slice(2),"hex")),i=n.tokenHash,s=Array.from(Buffer.from(i.slice(2),"hex")),o=n.accountId,m=Array.from(Buffer.from(o.slice(2),"hex")),r=new B(a);return{accountId:m,brokerHash:t,tokenHash:s,userAddress:Array.from(r.toBuffer()),tokenAmount:new Te(n.tokenAmount)}};function ya(s){return l(this,arguments,function*({vaultAddress:a,userAddress:n,connection:e,sendTransaction:t,depositData:i}){let o=i.brokerHash,m=i.tokenHash;console.log("-- vault address",a);let r=new B(a),u=new ma(oe,r,{connection:e}),p=new B(i.USDCAddress),b=new B(n),D=K(p,b),k=pe(r),E=K(p,k),M=Je(r,o),Z=$e(r,m),A=ce(r);console.log("-- oappconfig pda",A.toBase58());let P=Me(r),N=fe(r,A,P),q=ye(r,A,P),H=ea(),X=ge(A,P),J=Se(P),$=aa(H),ee=be(),ae=Ae(r,A,P),ne=na(),W=ta(),te=Pe(A,P),se=ke(P),h=sa(),U=he(),R=De(),re=Ee(),_=fa(n,i),x=yield _e({vaultAddress:a,userAddress:n,connection:e,depositData:i}),Re={nativeFee:new Te(x.toString()),lzTokenFee:new Te(0)};console.log("--- value params",{vaultDepositParams:_,sendParam:Re});let ba=yield u.methods.deposit(_,Re).accounts({userTokenAccount:D,vaultAuthority:k,vaultTokenAccount:E,depositToken:p,user:b,peer:N,enforcedOptions:q,oappConfig:A,allowedBroker:M,allowedToken:Z}).remainingAccounts([{isSigner:!1,isWritable:!1,pubkey:y},{isSigner:!1,isWritable:!1,pubkey:A},{isSigner:!1,isWritable:!1,pubkey:f},{isSigner:!1,isWritable:!1,pubkey:X},{isSigner:!1,isWritable:!1,pubkey:J},{isSigner:!1,isWritable:!1,pubkey:$},{isSigner:!1,isWritable:!1,pubkey:ee},{isSigner:!1,isWritable:!0,pubkey:ae},{isSigner:!1,isWritable:!1,pubkey:ne},{isSigner:!1,isWritable:!1,pubkey:y},{isSigner:!1,isWritable:!1,pubkey:W},{isSigner:!1,isWritable:!1,pubkey:te},{isSigner:!1,isWritable:!1,pubkey:se},{isSigner:!0,isWritable:!1,pubkey:b},{isSigner:!1,isWritable:!1,pubkey:Le},{isSigner:!1,isWritable:!1,pubkey:Ga.programId},{isSigner:!1,isWritable:!1,pubkey:h},{isSigner:!1,isWritable:!1,pubkey:f},{isSigner:!1,isWritable:!1,pubkey:O},{isSigner:!1,isWritable:!0,pubkey:U},{isSigner:!1,isWritable:!1,pubkey:I},{isSigner:!1,isWritable:!1,pubkey:R},{isSigner:!1,isWritable:!1,pubkey:C},{isSigner:!1,isWritable:!0,pubkey:re},{isSigner:!1,isWritable:!1,pubkey:I},{isSigner:!1,isWritable:!1,pubkey:R}]).instruction(),Aa=Ie(r),ve=yield we(e,Aa);if(!ve){console.log("-- lookup table account error");return}let Pa=Va.setComputeUnitLimit({units:4e5}),ka=yield e.getLatestBlockhash(),ha=new oa({payerKey:b,recentBlockhash:ka.blockhash,instructions:[ba,Pa]}).compileToV0Message([ve]),Da=new ua(ha),Oe=yield t(Da,e);return console.log("res",Oe),Oe})}function ga(a){let n=window.localStorage.getItem(Fa);if(!n)return!1;let e=JSON.parse(n!=null?n:"[]");return console.log("-- addressArr",e),!!e.includes(a)}import{bytesToHex as Za}from"ethereum-cryptography/utils";import{getAccount as qa}from"@solana/spl-token";import{PublicKey as T,Transaction as Xa,TransactionInstruction as xe}from"@solana/web3.js";var Be=class extends za{constructor(){super();v(this,"chainNamespace",Qa.solana);v(this,"_address");v(this,"_chainId");v(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=Sa.utils.randomPrivateKey(),t=ja(e);while(t.length!==44);return t}uint8ArrayToHexString(e){return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}signMessage(e){return l(this,null,function*(){if(ga(this._address)){let s=new Xa;s.add(new xe({keys:[],programId:new T("ComputeBudget111111111111111111111111111111"),data:new Uint8Array([3,0,0,0,0,0,0,0,0])})),s.add(new xe({keys:[],programId:new T("ComputeBudget111111111111111111111111111111"),data:new Uint8Array([2,0,0,0,0])})),s.add(new xe({keys:[],programId:new T("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),data:e}));let o=new T(this.address);s.feePayer=o;let m=new Uint8Array(32).fill(0);s.recentBlockhash=new T(m).toString();let u=(yield this._provider.signTransaction(s)).signatures[0].signature;if(u)return this.uint8ArrayToHexString(u);throw console.log("-- sign message error",u),new Error("Unsupported signature")}let i=yield this._provider.signMessage(e);return"0x"+Za(i)})}generateRegisterAccountMessage(e){return l(this,null,function*(){let[t,i]=la(S(g({},e),{chainId:this.chainId})),s=yield this.signMessage(i);return{message:S(g({},t),{chainType:"SOL"}),signatured:s}})}generateWithdrawMessage(e){return l(this,null,function*(){let[t,i]=pa(S(g({},e),{chainId:this.chainId})),s=yield this.signMessage(i);return{message:S(g({},t),{chainType:"SOL"}),domain:{name:"",version:"",chainId:this.chainId,verifyingContract:e.verifyContract},signatured:s}})}generateAddOrderlyKeyMessage(e){return l(this,null,function*(){let[t,i]=da(S(g({},e),{chainId:this.chainId})),s=yield this.signMessage(i);return{message:S(g({},t),{chainType:"SOL"}),signatured:s}})}generateSettleMessage(e){return l(this,null,function*(){let[t,i]=ca(S(g({},e),{chainId:this.chainId})),s=yield this.signMessage(i);return{message:S(g({},t),{chainType:"SOL"}),domain:{name:"",version:"",chainId:this.chainId,verifyingContract:e.verifyContract},signatured:s}})}getBalance(){return l(this,null,function*(){return BigInt(0)})}call(e,t,i,s){return l(this,null,function*(){if(t==="balanceOf"){let o=new T(e),m=new T(this._address),r=K(o,m);return(yield qa(this._provider.connection,r,"confirmed")).amount}return t==="allowance"?Ya:BigInt(0)})}sendTransaction(e,t,i,s){return l(this,null,function*(){if(console.log("-- solanan sendTransaction",{contractAddress:e,method:t,payload:i,options:s}),t==="deposit")return ya({vaultAddress:e,userAddress:this._address,connection:this._provider.connection,depositData:i.data[0],sendTransaction:this._provider.sendTransaction})})}callOnChain(e,t,i,s,o){return l(this,null,function*(){return console.log("-- params ",{chain:e,address:t,method:i,params:s}),i==="getDepositFee"?_e({vaultAddress:t,userAddress:this._address,connection:this._provider.connection,depositData:s[1]}):0})}pollTransactionReceiptWithBackoff(e,t,i,s){return l(this,null,function*(){})}};export{Be as DefaultSolanaWalletAdapter,_a as version};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|