@orderly.network/default-solana-adapter 2.0.2 → 2.0.3
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 +5 -2
- package/dist/index.d.ts +5 -2
- 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.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Connection } from '@solana/web3.js';
|
|
2
|
-
import { WalletAdapterProps } from '@solana/wallet-adapter-base';
|
|
2
|
+
import { SignerWalletAdapterProps, WalletAdapterProps } from '@solana/wallet-adapter-base';
|
|
3
3
|
import { BaseWalletAdapter, RegisterAccountInputs, Message, WithdrawInputs, SignatureDomain, AddOrderlyKeyInputs, SettleInputs } from '@orderly.network/core';
|
|
4
4
|
import { ChainNamespace, API } from '@orderly.network/types';
|
|
5
5
|
|
|
@@ -10,7 +10,7 @@ declare global {
|
|
|
10
10
|
};
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
|
-
declare const _default: "2.0.
|
|
13
|
+
declare const _default: "2.0.3";
|
|
14
14
|
|
|
15
15
|
interface SolanaAdapterOption {
|
|
16
16
|
provider: SolanaWalletProvider;
|
|
@@ -22,6 +22,7 @@ interface SolanaAdapterOption {
|
|
|
22
22
|
interface SolanaWalletProvider {
|
|
23
23
|
connection: Connection;
|
|
24
24
|
signMessage: (message: Uint8Array) => Promise<Uint8Array>;
|
|
25
|
+
signTransaction: SignerWalletAdapterProps['signTransaction'];
|
|
25
26
|
sendTransaction: WalletAdapterProps['sendTransaction'];
|
|
26
27
|
}
|
|
27
28
|
|
|
@@ -40,6 +41,8 @@ declare class DefaultSolanaWalletAdapter extends BaseWalletAdapter<SolanaAdapter
|
|
|
40
41
|
deactivate(): void;
|
|
41
42
|
update(config: SolanaAdapterOption): void;
|
|
42
43
|
generateSecretKey(): string;
|
|
44
|
+
uint8ArrayToHexString(uint8Array: Uint8Array): string;
|
|
45
|
+
signMessage(message: Uint8Array): Promise<string>;
|
|
43
46
|
generateRegisterAccountMessage(inputs: RegisterAccountInputs): Promise<Message>;
|
|
44
47
|
generateWithdrawMessage(inputs: WithdrawInputs): Promise<Message & {
|
|
45
48
|
domain: SignatureDomain;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Connection } from '@solana/web3.js';
|
|
2
|
-
import { WalletAdapterProps } from '@solana/wallet-adapter-base';
|
|
2
|
+
import { SignerWalletAdapterProps, WalletAdapterProps } from '@solana/wallet-adapter-base';
|
|
3
3
|
import { BaseWalletAdapter, RegisterAccountInputs, Message, WithdrawInputs, SignatureDomain, AddOrderlyKeyInputs, SettleInputs } from '@orderly.network/core';
|
|
4
4
|
import { ChainNamespace, API } from '@orderly.network/types';
|
|
5
5
|
|
|
@@ -10,7 +10,7 @@ declare global {
|
|
|
10
10
|
};
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
|
-
declare const _default: "2.0.
|
|
13
|
+
declare const _default: "2.0.3";
|
|
14
14
|
|
|
15
15
|
interface SolanaAdapterOption {
|
|
16
16
|
provider: SolanaWalletProvider;
|
|
@@ -22,6 +22,7 @@ interface SolanaAdapterOption {
|
|
|
22
22
|
interface SolanaWalletProvider {
|
|
23
23
|
connection: Connection;
|
|
24
24
|
signMessage: (message: Uint8Array) => Promise<Uint8Array>;
|
|
25
|
+
signTransaction: SignerWalletAdapterProps['signTransaction'];
|
|
25
26
|
sendTransaction: WalletAdapterProps['sendTransaction'];
|
|
26
27
|
}
|
|
27
28
|
|
|
@@ -40,6 +41,8 @@ declare class DefaultSolanaWalletAdapter extends BaseWalletAdapter<SolanaAdapter
|
|
|
40
41
|
deactivate(): void;
|
|
41
42
|
update(config: SolanaAdapterOption): void;
|
|
42
43
|
generateSecretKey(): string;
|
|
44
|
+
uint8ArrayToHexString(uint8Array: Uint8Array): string;
|
|
45
|
+
signMessage(message: Uint8Array): Promise<string>;
|
|
43
46
|
generateRegisterAccountMessage(inputs: RegisterAccountInputs): Promise<Message>;
|
|
44
47
|
generateWithdrawMessage(inputs: WithdrawInputs): Promise<Message & {
|
|
45
48
|
domain: SignatureDomain;
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var Ma=Object.create;var K=Object.defineProperty,Ia=Object.defineProperties,wa=Object.getOwnPropertyDescriptor,_a=Object.getOwnPropertyDescriptors,xa=Object.getOwnPropertyNames,Ce=Object.getOwnPropertySymbols,Ta=Object.getPrototypeOf,Ke=Object.prototype.hasOwnProperty,va=Object.prototype.propertyIsEnumerable;var ue=(a,n,e)=>n in a?K(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)&&ue(a,e,n[e]);if(Ce)for(var e of Ce(n))va.call(n,e)&&ue(a,e,n[e]);return a},P=(a,n)=>Ia(a,_a(n));var Ra=(a,n)=>{for(var e in n)K(a,e,{get:n[e],enumerable:!0})},Le=(a,n,e,t)=>{if(n&&typeof n=="object"||typeof n=="function")for(let s of xa(n))!Ke.call(a,s)&&s!==e&&K(a,s,{get:()=>n[s],enumerable:!(t=wa(n,s))||t.enumerable});return a};var Ba=(a,n,e)=>(e=a!=null?Ma(Ta(a)):{},Le(n||!a||!a.__esModule?K(e,"default",{value:a,enumerable:!0}):e,a)),Oa=a=>Le(K({},"__esModule",{value:!0}),a);var L=(a,n,e)=>(ue(a,typeof n!="symbol"?n+"":n,e),e);var c=(a,n,e)=>new Promise((t,s)=>{var i=r=>{try{d(e.next(r))}catch(l){s(l)}},o=r=>{try{d(e.throw(r))}catch(l){s(l)}},d=r=>r.done?t(r.value):Promise.resolve(r.value).then(i,o);d((e=e.apply(a,n)).next())});var Ka={};Ra(Ka,{DefaultSolanaWalletAdapter:()=>Z,version:()=>Ne});module.exports=Oa(Ka);typeof window!="undefined"&&(window.__ORDERLY_VERSION__=window.__ORDERLY_VERSION__||{},window.__ORDERLY_VERSION__["@orderly.network/default-solana-adapter"]="2.0.2");var Ne="2.0.2";var ya=require("@orderly.network/core"),X=require("@orderly.network/types"),ga=Ba(require("@noble/ed25519")),Sa=require("bs58");var D=require("ethereum-cryptography/utils"),S=require("ethers"),O=require("ethereum-cryptography/keccak"),ua=require("bs58"),p=require("@solana/web3.js"),v=require("@coral-xyz/anchor");var me={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"),Je=require("@solana/spl-token");var f=require("@solana/web3.js"),N=require("@layerzerolabs/lz-v2-utilities"),b=new f.PublicKey("76y77prsiCMvXMjuoZ5VRrhG5qYBrUMYTE5WgHqgjEn6"),g=new f.PublicKey("7a4WjyR8VZ7yZz5XJAKm39BUGn5iT9CKcv2pmG9tdXVH"),H=new f.PublicKey("6doghB248px58JSSwG4qejQ46kFMW4AMj7vzJnWZHNZn"),T=new f.PublicKey("8ahPGPjEbpgGaZx2NV1iG5Shj7TDwvsjkEDcGWjt94TP"),He=g,We=g,W=new f.PublicKey("HtEYV4xB4wvsj5fgTkcfuChYpvGYzgzwvNhgDZQNh7wW"),Ue="VaultAuthority",Ve="Broker",Ge="Token",de=(0,N.addressToBytes32)("0x9Dc724b24146BeDD2dA28b8C4B74126169B8f312"),Fe=(0,N.addressToBytes32)("0x45b6C6266A7A2170617d8A27A50C642fd68b91c4"),ze=(0,N.addressToBytes32)("0x5Bf771A65d057e778C5f0Ed52A0003316f94322D"),Ye=(0,N.addressToBytes32)("0xCecAe061aa078e13b5e70D5F9eCee90a3F2B6AeA"),Qe=40200,je=30213,Q=new f.PublicKey("BWp8HaYYhiNHekt3zgQhqoCrRftneGxxfgKmCZ6svHN"),Ze=new f.PublicKey("BswrQQoPKAFojTuJutZcBMtigAgTghEH4M8ofn3EG2X2"),Xe=new f.PublicKey("BbGKfxuPwDmu58BjPpd7PMG69TqnZjSpKaLDMgf9E9Dr"),qe=new f.PublicKey("8iq7xCQt3bLdRRn4A46d5GuaXYinBoiAhbe2sUmZVzwg"),le=new f.PublicKey("EYJq9eU4GMRUriUJBgGoZ8YLQBXcWaciXuSsEXE7ieQS"),pe=new f.PublicKey("5zBjLor7vEraAt4zp2H82sy9MSqFoDnNa1Lx6EYKTYRZ"),ce=new f.PublicKey("9shwxWDUNhtwkHocsUAmrNAQfBH2DHh4njdAEdHZZkF2"),j=new f.PublicKey("ErBmAD61mGFKvrFNaTJuxoPwqrS8GgtwtqJTJVjFWx9Q");var u=require("@layerzerolabs/lz-solana-sdk-v2");var U=(a,n)=>(0,Je.getAssociatedTokenAddressSync)(a,n,!0);function fe(a){return m.PublicKey.findProgramAddressSync([Buffer.from(Ue,"utf8")],a)[0]}function $e(a,n){let e=Array.from(Buffer.from(n.slice(2),"hex"));return m.PublicKey.findProgramAddressSync([Buffer.from(Ve,"utf8"),Buffer.from(e)],a)[0]}function ea(a,n){let e=Array.from(Buffer.from(n.slice(2),"hex"));return m.PublicKey.findProgramAddressSync([Buffer.from(Ge,"utf8"),Buffer.from(e)],a)[0]}function ye(a){return m.PublicKey.findProgramAddressSync([Buffer.from(u.OAPP_SEED,"utf8")],a)[0]}function ge(a,n,e){let t=Buffer.alloc(4);return t.writeUInt32BE(e),m.PublicKey.findProgramAddressSync([Buffer.from(u.PEER_SEED,"utf8"),n.toBuffer(),t],a)[0]}function Se(a,n,e){let t=Buffer.alloc(4);return t.writeUInt32BE(e),m.PublicKey.findProgramAddressSync([Buffer.from(u.ENFORCED_OPTIONS_SEED,"utf8"),n.toBuffer(),t],a)[0]}function aa(){return m.PublicKey.findProgramAddressSync([Buffer.from(u.MESSAGE_LIB_SEED,"utf8")],g)[0]}function be(a,n){let e=Buffer.alloc(4);return e.writeUInt32BE(n),m.PublicKey.findProgramAddressSync([Buffer.from(u.SEND_LIBRARY_CONFIG_SEED,"utf8"),a.toBuffer(),e],b)[0]}function Ae(a){let n=Buffer.alloc(4);return n.writeUInt32BE(a),m.PublicKey.findProgramAddressSync([Buffer.from(u.SEND_LIBRARY_CONFIG_SEED,"utf8"),n],b)[0]}function na(a){return m.PublicKey.findProgramAddressSync([Buffer.from(u.MESSAGE_LIB_SEED,"utf8"),a.toBuffer()],b)[0]}function Pe(){return m.PublicKey.findProgramAddressSync([Buffer.from(u.ENDPOINT_SEED,"utf8")],b)[0]}function Ca(a){let n=de;return a.toBase58()===le.toBase58()&&(n=de),a.toBase58()===pe.toBase58()&&(n=Fe),a.toBase58()===ce.toBase58()&&(n=ze),a.toBase58()===j.toBase58()&&(n=Ye),n}function ke(a,n,e){let t=Buffer.alloc(4),s=Ca(a);return t.writeUInt32BE(e),m.PublicKey.findProgramAddressSync([Buffer.from(u.NONCE_SEED,"utf8"),n.toBuffer(),t,s],b)[0]}function ta(){return m.PublicKey.findProgramAddressSync([Buffer.from(u.EVENT_SEED,"utf8")],b)[0]}function sa(){return m.PublicKey.findProgramAddressSync([Buffer.from(u.ULN_SEED,"utf8")],g)[0]}function he(a,n){let e=Buffer.alloc(4);return e.writeUInt32BE(n),m.PublicKey.findProgramAddressSync([Buffer.from(u.SEND_CONFIG_SEED,"utf8"),e,a.toBuffer()],g)[0]}function De(a){let n=Buffer.alloc(4);return n.writeUInt32BE(a),m.PublicKey.findProgramAddressSync([Buffer.from(u.SEND_CONFIG_SEED,"utf8"),n],He)[0]}function ra(){return m.PublicKey.findProgramAddressSync([Buffer.from(u.EVENT_SEED,"utf8")],g)[0]}function Ee(){return m.PublicKey.findProgramAddressSync([Buffer.from(u.EXECUTOR_CONFIG_SEED,"utf8")],H)[0]}function Me(){return m.PublicKey.findProgramAddressSync([Buffer.from(u.PRICE_FEED_SEED,"utf8")],T)[0]}function Ie(){return m.PublicKey.findProgramAddressSync([Buffer.from(u.DVN_CONFIG_SEED,"utf8")],W)[0]}function we(a){return a.toBase58()===j.toBase58()?je:Qe}function _e(a){return a.toBase58()===le.toBase58()?(console.log("DEV_LOOKUP_TABLE_ADDRESS: ",Q.toBase58()),Q):a.toBase58()===pe.toBase58()?Ze:a.toBase58()===ce.toBase58()?Xe:a.toBase58()===j.toBase58()?qe:Q}function ia(a){return m.PublicKey.findProgramAddressSync([Buffer.from(u.MESSAGE_LIB_SEED,"utf8")],a||g)[0]}function oa(a,n){return m.PublicKey.findProgramAddressSync([Buffer.from(u.MESSAGE_LIB_SEED,"utf8"),a.toBytes()],n||b)[0]}function xe(a,n){return c(this,null,function*(){return(yield a.getAddressLookupTable(n)).value})}function ma(a){let{publicKey:n,brokerId:e,expiration:t=365,timestamp:s=Date.now(),scope:i,tag:o,chainId:d}=a,r=P(A({brokerId:e,chainType:"SOL",orderlyKey:n,scope:i||"read,trading",chainId:d,timestamp:s},typeof o!="undefined"?{tag:o}:{}),{expiration:s+1e3*60*60*24*t}),l=(0,S.solidityPackedKeccak256)(["string"],[r.brokerId]),y=(0,S.solidityPackedKeccak256)(["string"],[r.orderlyKey]),k=(0,S.solidityPackedKeccak256)(["string"],[r.scope]),w=S.AbiCoder.defaultAbiCoder(),M=(0,O.keccak256)((0,D.hexToBytes)(w.encode(["bytes32","bytes32","bytes32","uint256","uint256","uint256"],[l,y,k,r.chainId,r.timestamp,r.expiration]))),_=(0,D.bytesToHex)(M),x=new TextEncoder().encode(_);return[r,x]}function da(a){let{chainId:n,registrationNonce:e,brokerId:t,timestamp:s}=a,i={brokerId:t,chainId:n,timestamp:s,registrationNonce:e},o=(0,S.solidityPackedKeccak256)(["string"],[i.brokerId]),d=S.AbiCoder.defaultAbiCoder(),r=(0,O.keccak256)((0,D.hexToBytes)(d.encode(["bytes32","uint256","uint256","uint256"],[o,i.chainId,i.timestamp,i.registrationNonce]))),l=(0,D.bytesToHex)(r),y=new TextEncoder().encode(l);return[i,y]}function la(a){let{chainId:n,receiver:e,token:t,amount:s,nonce:i,brokerId:o}=a,d=Date.now(),r={brokerId:o,chainId:n,receiver:e,token:t,amount:s,withdrawNonce:i,timestamp:d,chainType:"SOL"},l=(0,S.solidityPackedKeccak256)(["string"],[r.brokerId]),y=(0,S.solidityPackedKeccak256)(["string"],[r.token]),k=(0,O.keccak256)(Buffer.from("Orderly Network")),w=S.AbiCoder.defaultAbiCoder(),M=(0,O.keccak256)((0,D.hexToBytes)(w.encode(["bytes32","bytes32","uint256","bytes32","uint256","uint64","uint64","bytes32"],[l,y,n,(0,ua.decode)(r.receiver),r.amount,r.withdrawNonce,d,k]))),_=(0,D.bytesToHex)(M),x=new TextEncoder().encode(_);return[r,x]}function pa(a){let{settlePnlNonce:n,brokerId:e,chainId:t,timestamp:s}=a,i={brokerId:e,chainId:t,timestamp:s,chainType:"SOL",settleNonce:n},o=(0,S.solidityPackedKeccak256)(["string"],[e]),d=S.AbiCoder.defaultAbiCoder(),r=(0,O.keccak256)((0,D.hexToBytes)(d.encode(["bytes32","uint256","uint64","uint64"],[o,i.chainId,i.settleNonce,i.timestamp]))),l=(0,D.bytesToHex)(r),y=new TextEncoder().encode(l);return[i,y]}function Te(s){return c(this,arguments,function*({vaultAddress:a,userAddress:n,connection:e,depositData:t}){console.log("-- vaultAddress",a);let i=new p.PublicKey(a),o=we(i),d=new v.Program(me,i,{connection:e}),r=new p.PublicKey(n),l=ye(i),y=ge(i,l,o),k=Se(i,l,o),w=be(l,o),M=Ae(o),_=Pe(),x=ke(i,l,o),q=he(l,o),h=De(o),E=Ee(),G=Me(),J=Ie(),F=ia(g),$=oa(F),ee=fe(i),ae=ca(n,t),ne=yield d.methods.oappQuote(ae).accounts({oappConfig:l,peer:y,enforcedOptions:k,vaultAuthority:ee}).remainingAccounts([{pubkey:b,isWritable:!1,isSigner:!1},{pubkey:g,isWritable:!1,isSigner:!1},{pubkey:w,isWritable:!1,isSigner:!1},{pubkey:M,isWritable:!1,isSigner:!1},{pubkey:$,isWritable:!1,isSigner:!1},{pubkey:_,isWritable:!1,isSigner:!1},{pubkey:x,isWritable:!1,isSigner:!1},{pubkey:F,isWritable:!1,isSigner:!1},{pubkey:q,isWritable:!1,isSigner:!1},{pubkey:h,isWritable:!1,isSigner:!1},{pubkey:H,isWritable:!1,isSigner:!1},{pubkey:E,isWritable:!1,isSigner:!1},{pubkey:T,isWritable:!1,isSigner:!1},{pubkey:G,isWritable:!1,isSigner:!1},{pubkey:W,isWritable:!1,isSigner:!1},{pubkey:J,isWritable:!1,isSigner:!1},{pubkey:T,isWritable:!1,isSigner:!1},{pubkey:G,isWritable:!1,isSigner:!1}]).instruction(),te=yield e.getLatestBlockhash(),se=_e(i),z=yield xe(e,se);if(!z)throw console.log("-- lookup table account error"),new Error("-- lookup table account error");let re=new p.TransactionMessage({payerKey:r,recentBlockhash:te.blockhash,instructions:[ne]}).compileToV0Message([z]),ie=new p.VersionedTransaction(re),I=yield e.simulateTransaction(ie);if(console.log("-- feeRes",I),I.value.err){let B=typeof I.value.err=="object"?JSON.stringify(I.value.err):I.value.err;throw B.toString().includes("AccountNotFound")?new Error("Error: Account gas is insufficient."):new Error(`Error: ${B}`)}let Y=`Program return: ${d.programId} `,C=I.value.logs.find(B=>B.startsWith(Y));if(!C)throw new Error("Error: get deposit fee error");let oe=C.slice(Y.length),R=Buffer.from(oe,"base64");return console.log(R.readBigUInt64LE(0),R.readBigUInt64LE(1)),R.readBigUInt64LE(0)})}var ca=(a,n)=>{let e=n.brokerHash,t=Array.from(Buffer.from(e.slice(2),"hex")),s=n.tokenHash,i=Array.from(Buffer.from(s.slice(2),"hex")),o=n.accountId,d=Array.from(Buffer.from(o.slice(2),"hex")),r=new p.PublicKey(a);return{accountId:d,brokerHash:t,tokenHash:i,userAddress:Array.from(r.toBuffer()),tokenAmount:new v.BN(n.tokenAmount)}};function fa(i){return c(this,arguments,function*({vaultAddress:a,userAddress:n,connection:e,sendTransaction:t,depositData:s}){let o=s.brokerHash,d=s.tokenHash;console.log("-- vault address",a);let r=new p.PublicKey(a),l=new v.Program(me,r,{connection:e}),y=new p.PublicKey(s.USDCAddress),k=new p.PublicKey(n),w=U(y,k),M=fe(r),_=U(y,M),x=$e(r,o),q=ea(r,d),h=ye(r);console.log("-- oappconfig pda",h.toBase58());let E=we(r),G=ge(r,h,E),J=Se(r,h,E),F=aa(),$=be(h,E),ee=Ae(E),ae=na(F),ne=Pe(),te=ke(r,h,E),se=ta(),z=sa(),re=he(h,E),ie=De(E),I=ra(),Y=Ee(),C=Me(),oe=Ie(),R=ca(n,s),B=yield Te({vaultAddress:a,userAddress:n,connection:e,depositData:s}),Re={nativeFee:new v.BN(B.toString()),lzTokenFee:new v.BN(0)};console.log("--- value params",{vaultDepositParams:R,sendParam:Re});let Aa=yield l.methods.deposit(R,Re).accounts({userTokenAccount:w,vaultAuthority:M,vaultTokenAccount:_,depositToken:y,user:k,peer:G,enforcedOptions:J,oappConfig:h,allowedBroker:x,allowedToken:q}).remainingAccounts([{isSigner:!1,isWritable:!1,pubkey:b},{isSigner:!1,isWritable:!1,pubkey:h},{isSigner:!1,isWritable:!1,pubkey:g},{isSigner:!1,isWritable:!1,pubkey:$},{isSigner:!1,isWritable:!1,pubkey:ee},{isSigner:!1,isWritable:!1,pubkey:ae},{isSigner:!1,isWritable:!1,pubkey:ne},{isSigner:!1,isWritable:!0,pubkey:te},{isSigner:!1,isWritable:!1,pubkey:se},{isSigner:!1,isWritable:!1,pubkey:b},{isSigner:!1,isWritable:!1,pubkey:z},{isSigner:!1,isWritable:!1,pubkey:re},{isSigner:!1,isWritable:!1,pubkey:ie},{isSigner:!0,isWritable:!1,pubkey:k},{isSigner:!1,isWritable:!1,pubkey:We},{isSigner:!1,isWritable:!1,pubkey:p.SystemProgram.programId},{isSigner:!1,isWritable:!1,pubkey:I},{isSigner:!1,isWritable:!1,pubkey:g},{isSigner:!1,isWritable:!1,pubkey:H},{isSigner:!1,isWritable:!0,pubkey:Y},{isSigner:!1,isWritable:!1,pubkey:T},{isSigner:!1,isWritable:!1,pubkey:C},{isSigner:!1,isWritable:!1,pubkey:W},{isSigner:!1,isWritable:!0,pubkey:oe},{isSigner:!1,isWritable:!1,pubkey:T},{isSigner:!1,isWritable:!1,pubkey:C}]).instruction(),Pa=_e(r),Be=yield xe(e,Pa);if(!Be){console.log("-- lookup table account error");return}let ka=p.ComputeBudgetProgram.setComputeUnitLimit({units:4e5}),ha=yield e.getLatestBlockhash(),Da=new p.TransactionMessage({payerKey:k,recentBlockhash:ha.blockhash,instructions:[Aa,ka]}).compileToV0Message([Be]),Ea=new p.VersionedTransaction(Da),Oe=yield t(Ea,e);return console.log("res",Oe),Oe})}var V=require("ethereum-cryptography/utils"),ba=require("@solana/spl-token");var ve=require("@solana/web3.js");var Z=class extends ya.BaseWalletAdapter{constructor(){super();L(this,"chainNamespace",X.ChainNamespace.solana);L(this,"_address");L(this,"_chainId");L(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=ga.utils.randomPrivateKey(),t=(0,Sa.encode)(e);while(t.length!==44);return t}generateRegisterAccountMessage(e){return c(this,null,function*(){let[t,s]=da(P(A({},e),{chainId:this.chainId})),i=yield this._provider.signMessage(s),o="0x"+(0,V.bytesToHex)(i);return{message:P(A({},t),{chainType:"SOL"}),signatured:o}})}generateWithdrawMessage(e){return c(this,null,function*(){let[t,s]=la(P(A({},e),{chainId:this.chainId})),i=yield this._provider.signMessage(s),o="0x"+(0,V.bytesToHex)(i);return console.log("-- verify contract",e.verifyContract),{message:P(A({},t),{chainType:"SOL"}),domain:{name:"",version:"",chainId:this.chainId,verifyingContract:e.verifyContract},signatured:o}})}generateAddOrderlyKeyMessage(e){return c(this,null,function*(){let[t,s]=ma(P(A({},e),{chainId:this.chainId})),i=yield this._provider.signMessage(s),o="0x"+(0,V.bytesToHex)(i);return{message:P(A({},t),{chainType:"SOL"}),signatured:o}})}generateSettleMessage(e){return c(this,null,function*(){let[t,s]=yield pa(P(A({},e),{chainId:this.chainId})),i=yield this._provider.signMessage(s),o="0x"+(0,V.bytesToHex)(i);return{message:P(A({},t),{chainType:"SOL"}),domain:{name:"",version:"",chainId:this.chainId,verifyingContract:e.verifyContract},signatured:o}})}getBalance(){return c(this,null,function*(){return BigInt(0)})}call(e,t,s,i){return c(this,null,function*(){if(t==="balanceOf"){let o=new ve.PublicKey(e),d=new ve.PublicKey(this._address),r=U(o,d);return(yield(0,ba.getAccount)(this._provider.connection,r,"confirmed")).amount}return t==="allowance"?X.MaxUint256:BigInt(0)})}sendTransaction(e,t,s,i){return c(this,null,function*(){if(console.log("-- solanan sendTransaction",{contractAddress:e,method:t,payload:s,options:i}),t==="deposit")return fa({vaultAddress:e,userAddress:this._address,connection:this._provider.connection,depositData:s.data[0],sendTransaction:this._provider.sendTransaction})})}callOnChain(e,t,s,i,o){return c(this,null,function*(){return console.log("-- params ",{chain:e,address:t,method:s,params:i}),s==="getDepositFee"?Te({vaultAddress:t,userAddress:this._address,connection:this._provider.connection,depositData:i[1]}):0})}pollTransactionReceiptWithBackoff(e,t,s,i){return c(this,null,function*(){})}};0&&(module.exports={DefaultSolanaWalletAdapter,version});
|
|
1
|
+
"use strict";var wa=Object.create;var L=Object.defineProperty,Ta=Object.defineProperties,_a=Object.getOwnPropertyDescriptor,xa=Object.getOwnPropertyDescriptors,Ba=Object.getOwnPropertyNames,Oe=Object.getOwnPropertySymbols,Ra=Object.getPrototypeOf,Ce=Object.prototype.hasOwnProperty,va=Object.prototype.propertyIsEnumerable;var ue=(a,n,e)=>n in a?L(a,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[n]=e,P=(a,n)=>{for(var e in n||(n={}))Ce.call(n,e)&&ue(a,e,n[e]);if(Oe)for(var e of Oe(n))va.call(n,e)&&ue(a,e,n[e]);return a},k=(a,n)=>Ta(a,xa(n));var Oa=(a,n)=>{for(var e in n)L(a,e,{get:n[e],enumerable:!0})},Ke=(a,n,e,t)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of Ba(n))!Ce.call(a,r)&&r!==e&&L(a,r,{get:()=>n[r],enumerable:!(t=_a(n,r))||t.enumerable});return a};var Ca=(a,n,e)=>(e=a!=null?wa(Ra(a)):{},Ke(n||!a||!a.__esModule?L(e,"default",{value:a,enumerable:!0}):e,a)),Ka=a=>Ke(L({},"__esModule",{value:!0}),a);var N=(a,n,e)=>(ue(a,typeof n!="symbol"?n+"":n,e),e);var c=(a,n,e)=>new Promise((t,r)=>{var s=i=>{try{d(e.next(i))}catch(m){r(m)}},u=i=>{try{d(e.throw(i))}catch(m){r(m)}},d=i=>i.done?t(i.value):Promise.resolve(i.value).then(s,u);d((e=e.apply(a,n)).next())});var Na={};Oa(Na,{DefaultSolanaWalletAdapter:()=>Z,version:()=>Le});module.exports=Ka(Na);typeof window!="undefined"&&(window.__ORDERLY_VERSION__=window.__ORDERLY_VERSION__||{},window.__ORDERLY_VERSION__["@orderly.network/default-solana-adapter"]="2.0.3");var Le="2.0.3";var ga=require("@orderly.network/core"),q=require("@orderly.network/types"),Sa=Ca(require("@noble/ed25519")),ba=require("bs58");var E=require("ethereum-cryptography/utils"),b=require("ethers"),C=require("ethereum-cryptography/keccak"),oa=require("bs58"),p=require("@solana/web3.js"),R=require("@coral-xyz/anchor");var me={version:"0.1.0",name:"solana_vault",instructions:[{name:"initVault",accounts:[{name:"signer",isMut:!0,isSigner:!0},{name:"vaultAuthority",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"InitVaultParams"}}]},{name:"deposit",accounts:[{name:"user",isMut:!0,isSigner:!0},{name:"userTokenAccount",isMut:!0,isSigner:!1},{name:"vaultAuthority",isMut:!0,isSigner:!1},{name:"vaultTokenAccount",isMut:!0,isSigner:!1},{name:"depositToken",isMut:!1,isSigner:!1},{name:"peer",isMut:!1,isSigner:!1},{name:"enforcedOptions",isMut:!1,isSigner:!1},{name:"oappConfig",isMut:!1,isSigner:!1},{name:"allowedBroker",isMut:!1,isSigner:!1},{name:"allowedToken",isMut:!1,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"associatedTokenProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"depositParams",type:{defined:"DepositParams"}},{name:"oappParams",type:{defined:"OAppSendParams"}}],returns:{defined:"MessagingReceipt"}},{name:"initOapp",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"oappConfig",isMut:!0,isSigner:!1},{name:"lzReceiveTypes",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"InitOAppParams"}}]},{name:"resetOapp",accounts:[{name:"admin",isMut:!0,isSigner:!0},{name:"oappConfig",isMut:!0,isSigner:!1}],args:[]},{name:"reinitOapp",accounts:[{name:"owner",isMut:!0,isSigner:!0},{name:"oappConfig",isMut:!0,isSigner:!1},{name:"vaultAuthority",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"ReinitOAppParams"}}]},{name:"resetVault",accounts:[{name:"owner",isMut:!0,isSigner:!0},{name:"vaultAuthority",isMut:!0,isSigner:!1}],args:[]},{name:"reinitVault",accounts:[{name:"admin",isMut:!0,isSigner:!0},{name:"vaultAuthority",isMut:!0,isSigner:!1},{name:"oappConfig",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"ReinitVaultParams"}}]},{name:"setBroker",accounts:[{name:"admin",isMut:!0,isSigner:!0},{name:"allowedBroker",isMut:!0,isSigner:!1},{name:"oappConfig",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetBrokerParams"}}]},{name:"setToken",accounts:[{name:"admin",isMut:!0,isSigner:!0},{name:"allowedToken",isMut:!0,isSigner:!1},{name:"oappConfig",isMut:!1,isSigner:!1},{name:"mintAccount",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetTokenParams"}}]},{name:"setOrderDelivery",accounts:[{name:"owner",isMut:!0,isSigner:!0},{name:"vaultAuthority",isMut:!0,isSigner:!1}],args:[{name:"params",type:{defined:"SetOrderDeliveryParams"}}]},{name:"oappQuote",accounts:[{name:"oappConfig",isMut:!1,isSigner:!1},{name:"peer",isMut:!1,isSigner:!1},{name:"enforcedOptions",isMut:!1,isSigner:!1},{name:"vaultAuthority",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"DepositParams"}}],returns:{defined:"MessagingFee"}},{name:"lzReceive",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"peer",isMut:!1,isSigner:!1},{name:"oappConfig",isMut:!1,isSigner:!1},{name:"user",isMut:!1,isSigner:!1,docs:["CHECK"]},{name:"userDepositWallet",isMut:!0,isSigner:!1},{name:"vaultAuthority",isMut:!0,isSigner:!1},{name:"vaultDepositWallet",isMut:!0,isSigner:!1},{name:"depositToken",isMut:!1,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"OAppLzReceiveParams"}}]},{name:"lzReceiveTypes",accounts:[{name:"oappConfig",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"OAppLzReceiveParams"}}],returns:{vec:{defined:"oapp::endpoint_cpi::LzAccount"}}},{name:"setRateLimit",accounts:[{name:"admin",isMut:!1,isSigner:!0},{name:"peer",isMut:!0,isSigner:!1},{name:"oappConfig",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetRateLimitParams"}}]},{name:"setDelegate",accounts:[{name:"admin",isMut:!1,isSigner:!0},{name:"oappConfig",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetDelegateParams"}}]},{name:"transferAdmin",accounts:[{name:"admin",isMut:!1,isSigner:!0},{name:"oappConfig",isMut:!0,isSigner:!1}],args:[{name:"params",type:{defined:"TransferAdminParams"}}]},{name:"setPeer",accounts:[{name:"admin",isMut:!0,isSigner:!0},{name:"peer",isMut:!0,isSigner:!1},{name:"oappConfig",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetPeerParams"}}]},{name:"setEnforcedOptions",accounts:[{name:"admin",isMut:!0,isSigner:!0},{name:"enforcedOptions",isMut:!0,isSigner:!1},{name:"oappConfig",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetEnforcedOptionsParams"}}]}],accounts:[{name:"enforcedOptions",type:{kind:"struct",fields:[{name:"send",type:"bytes"},{name:"sendAndCall",type:"bytes"},{name:"bump",type:"u8"}]}},{name:"oAppConfig",type:{kind:"struct",fields:[{name:"endpointProgram",type:"publicKey"},{name:"bump",type:"u8"},{name:"admin",type:"publicKey"},{name:"usdcHash",type:{array:["u8",32]}},{name:"usdcMint",type:"publicKey"}]}},{name:"oAppLzReceiveTypesAccounts",type:{kind:"struct",fields:[{name:"oappConfig",type:"publicKey"}]}},{name:"peer",type:{kind:"struct",fields:[{name:"address",type:{array:["u8",32]}},{name:"rateLimiter",type:{option:{defined:"RateLimiter"}}},{name:"bump",type:"u8"}]}},{name:"allowedBroker",type:{kind:"struct",fields:[{name:"brokerHash",type:{array:["u8",32]}},{name:"allowed",type:"bool"},{name:"bump",type:"u8"}]}},{name:"allowedToken",type:{kind:"struct",fields:[{name:"mintAccount",type:"publicKey"},{name:"tokenHash",type:{array:["u8",32]}},{name:"tokenDecimals",type:"u8"},{name:"allowed",type:"bool"},{name:"bump",type:"u8"}]}},{name:"vaultAuthority",type:{kind:"struct",fields:[{name:"bump",docs:["Bump seed for the vault authority PDA"],type:"u8"},{name:"owner",type:"publicKey"},{name:"depositNonce",type:"u64"},{name:"orderDelivery",type:"bool"},{name:"inboundNonce",type:"u64"},{name:"dstEid",type:"u32"},{name:"solChainId",type:"u128"}]}}],types:[{name:"VaultDepositParams",type:{kind:"struct",fields:[{name:"accountId",type:{array:["u8",32]}},{name:"brokerHash",type:{array:["u8",32]}},{name:"userAddress",type:{array:["u8",32]}},{name:"tokenHash",type:{array:["u8",32]}},{name:"srcChainId",type:"u128"},{name:"tokenAmount",type:"u128"},{name:"srcChainDepositNonce",type:"u64"}]}},{name:"LzMessage",type:{kind:"struct",fields:[{name:"msgType",type:"u8"},{name:"payload",type:"bytes"}]}},{name:"InitOAppParams",type:{kind:"struct",fields:[{name:"admin",type:"publicKey"},{name:"endpointProgram",type:{option:"publicKey"}},{name:"usdcHash",type:{array:["u8",32]}},{name:"usdcMint",type:"publicKey"}]}},{name:"OAppLzReceiveParams",type:{kind:"struct",fields:[{name:"srcEid",type:"u32"},{name:"sender",type:{array:["u8",32]}},{name:"nonce",type:"u64"},{name:"guid",type:{array:["u8",32]}},{name:"message",type:"bytes"},{name:"extraData",type:"bytes"}]}},{name:"AccountWithdrawSol",type:{kind:"struct",fields:[{name:"accountId",type:{array:["u8",32]}},{name:"sender",type:{array:["u8",32]}},{name:"receiver",type:{array:["u8",32]}},{name:"brokerHash",type:{array:["u8",32]}},{name:"tokenHash",type:{array:["u8",32]}},{name:"tokenAmount",type:"u64"},{name:"fee",type:"u64"},{name:"chainId",type:"u64"},{name:"withdrawNonce",type:"u64"}]}},{name:"VaultWithdrawParams",type:{kind:"struct",fields:[{name:"accountId",type:{array:["u8",32]}},{name:"sender",type:{array:["u8",32]}},{name:"receiver",type:{array:["u8",32]}},{name:"brokerHash",type:{array:["u8",32]}},{name:"tokenHash",type:{array:["u8",32]}},{name:"tokenAmount",type:"u64"},{name:"fee",type:"u128"},{name:"chainId",type:"u128"},{name:"withdrawNonce",type:"u64"}]}},{name:"MessagingFee",type:{kind:"struct",fields:[{name:"nativeFee",type:"u64"},{name:"lzTokenFee",type:"u64"}]}},{name:"ReinitOAppParams",type:{kind:"struct",fields:[{name:"admin",type:"publicKey"},{name:"endpointProgram",type:{option:"publicKey"}},{name:"usdcHash",type:{array:["u8",32]}},{name:"usdcMint",type:"publicKey"}]}},{name:"SetDelegateParams",type:{kind:"struct",fields:[{name:"delegate",type:"publicKey"}]}},{name:"SetEnforcedOptionsParams",type:{kind:"struct",fields:[{name:"dstEid",type:"u32"},{name:"send",type:"bytes"},{name:"sendAndCall",type:"bytes"}]}},{name:"SetPeerParams",type:{kind:"struct",fields:[{name:"dstEid",type:"u32"},{name:"peer",type:{array:["u8",32]}}]}},{name:"SetRateLimitParams",type:{kind:"struct",fields:[{name:"dstEid",type:"u32"},{name:"refillPerSecond",type:{option:"u64"}},{name:"capacity",type:{option:"u64"}},{name:"enabled",type:"bool"}]}},{name:"TransferAdminParams",type:{kind:"struct",fields:[{name:"admin",type:"publicKey"}]}},{name:"DepositParams",type:{kind:"struct",fields:[{name:"accountId",type:{array:["u8",32]}},{name:"brokerHash",type:{array:["u8",32]}},{name:"tokenHash",type:{array:["u8",32]}},{name:"userAddress",type:{array:["u8",32]}},{name:"tokenAmount",type:"u64"}]}},{name:"OAppSendParams",type:{kind:"struct",fields:[{name:"nativeFee",type:"u64"},{name:"lzTokenFee",type:"u64"}]}},{name:"InitVaultParams",type:{kind:"struct",fields:[{name:"owner",type:"publicKey"},{name:"orderDelivery",type:"bool"},{name:"dstEid",type:"u32"},{name:"solChainId",type:"u128"}]}},{name:"ReinitVaultParams",type:{kind:"struct",fields:[{name:"owner",type:"publicKey"},{name:"dstEid",type:"u32"},{name:"depositNonce",type:"u64"},{name:"orderDelivery",type:"bool"},{name:"inboundNonce",type:"u64"},{name:"solChainId",type:"u128"}]}},{name:"SetBrokerParams",type:{kind:"struct",fields:[{name:"brokerHash",type:{array:["u8",32]}},{name:"allowed",type:"bool"}]}},{name:"SetOrderDeliveryParams",type:{kind:"struct",fields:[{name:"orderDelivery",type:"bool"},{name:"nonce",type:"u64"}]}},{name:"SetTokenParams",type:{kind:"struct",fields:[{name:"mintAccount",type:"publicKey"},{name:"tokenHash",type:{array:["u8",32]}},{name:"allowed",type:"bool"}]}},{name:"RateLimiter",type:{kind:"struct",fields:[{name:"capacity",type:"u64"},{name:"tokens",type:"u64"},{name:"refillPerSecond",type:"u64"},{name:"lastRefillTime",type:"u64"}]}},{name:"OAppError",type:{kind:"enum",variants:[{name:"Unauthorized"},{name:"InvalidSender"},{name:"InvalidOptions"},{name:"InvalidEndpointProgram"},{name:"RateLimitExceeded"},{name:"WithdrawFailed"},{name:"InvalidInboundNonce"}]}},{name:"MsgType",type:{kind:"enum",variants:[{name:"Deposit"},{name:"Withdraw"},{name:"RebalanceBurn"},{name:"RebalanceMint"}]}}],events:[{name:"SetAllowedBroker",fields:[{name:"brokerHash",type:{array:["u8",32]},index:!1}]},{name:"ResetAllowedBroker",fields:[{name:"brokerHash",type:{array:["u8",32]},index:!1}]},{name:"SetAllowedToken",fields:[{name:"tokenHash",type:{array:["u8",32]},index:!1},{name:"mintAccount",type:"publicKey",index:!1}]},{name:"ResetAllowedToken",fields:[{name:"tokenHash",type:{array:["u8",32]},index:!1},{name:"mintAccount",type:"publicKey",index:!1}]},{name:"Deposited",fields:[{name:"user",type:"publicKey",index:!1},{name:"amount",type:"u64",index:!1}]},{name:"Withdrawn",fields:[{name:"user",type:"publicKey",index:!1},{name:"amount",type:"u64",index:!1}]},{name:"VaultDeposited",fields:[{name:"accountId",type:{array:["u8",32]},index:!1},{name:"brokerHash",type:{array:["u8",32]},index:!1},{name:"userAddress",type:{array:["u8",32]},index:!1},{name:"tokenHash",type:{array:["u8",32]},index:!1},{name:"srcChainId",type:"u128",index:!1},{name:"tokenAmount",type:"u64",index:!1},{name:"srcChainDepositNonce",type:"u64",index:!1}]},{name:"VaultWithdrawn",fields:[{name:"accountId",type:{array:["u8",32]},index:!1},{name:"sender",type:{array:["u8",32]},index:!1},{name:"receiver",type:{array:["u8",32]},index:!1},{name:"brokerHash",type:{array:["u8",32]},index:!1},{name:"tokenHash",type:{array:["u8",32]},index:!1},{name:"tokenAmount",type:"u64",index:!1},{name:"fee",type:"u128",index:!1},{name:"chainId",type:"u128",index:!1},{name:"withdrawNonce",type:"u64",index:!1}]},{name:"OAppSent",fields:[{name:"guid",type:{array:["u8",32]},index:!1},{name:"dstEid",type:"u32",index:!1}]},{name:"OAppReceived",fields:[{name:"guid",type:{array:["u8",32]},index:!1},{name:"srcEid",type:"u32",index:!1}]}],errors:[{code:6e3,name:"InsufficientFunds",msg:"Deposited funds are insufficient for withdrawal"},{code:6001,name:"UserInfoBelongsToAnotherUser",msg:"User info pda belongs to another user"},{code:6002,name:"BrokerNotAllowed",msg:"Broker is not allowed"},{code:6003,name:"TokenNotAllowed",msg:"Token is not allowed"},{code:6004,name:"InvalidAccountId",msg:"AccountId is invalid"},{code:6005,name:"InvalidVaultOwner",msg:"Vault owner is not the same as the payer"}]};var l=require("@solana/web3.js"),Xe=require("@solana/spl-token");var f=require("@solana/web3.js"),H=require("@layerzerolabs/lz-v2-utilities"),A=new f.PublicKey("76y77prsiCMvXMjuoZ5VRrhG5qYBrUMYTE5WgHqgjEn6"),S=new f.PublicKey("7a4WjyR8VZ7yZz5XJAKm39BUGn5iT9CKcv2pmG9tdXVH"),W=new f.PublicKey("6doghB248px58JSSwG4qejQ46kFMW4AMj7vzJnWZHNZn"),B=new f.PublicKey("8ahPGPjEbpgGaZx2NV1iG5Shj7TDwvsjkEDcGWjt94TP"),Ne=S,He=S,U=new f.PublicKey("HtEYV4xB4wvsj5fgTkcfuChYpvGYzgzwvNhgDZQNh7wW"),We="VaultAuthority",Ue="Broker",Ve="Token",de=(0,H.addressToBytes32)("0x9Dc724b24146BeDD2dA28b8C4B74126169B8f312"),Ge=(0,H.addressToBytes32)("0x45b6C6266A7A2170617d8A27A50C642fd68b91c4"),Fe=(0,H.addressToBytes32)("0x5Bf771A65d057e778C5f0Ed52A0003316f94322D"),ze=(0,H.addressToBytes32)("0xCecAe061aa078e13b5e70D5F9eCee90a3F2B6AeA"),Ye=40200,Qe=30213,Q=new f.PublicKey("BWp8HaYYhiNHekt3zgQhqoCrRftneGxxfgKmCZ6svHN"),je=new f.PublicKey("BswrQQoPKAFojTuJutZcBMtigAgTghEH4M8ofn3EG2X2"),Ze=new f.PublicKey("BbGKfxuPwDmu58BjPpd7PMG69TqnZjSpKaLDMgf9E9Dr"),qe=new f.PublicKey("8iq7xCQt3bLdRRn4A46d5GuaXYinBoiAhbe2sUmZVzwg"),le=new f.PublicKey("EYJq9eU4GMRUriUJBgGoZ8YLQBXcWaciXuSsEXE7ieQS"),pe=new f.PublicKey("5zBjLor7vEraAt4zp2H82sy9MSqFoDnNa1Lx6EYKTYRZ"),ce=new f.PublicKey("9shwxWDUNhtwkHocsUAmrNAQfBH2DHh4njdAEdHZZkF2"),j=new f.PublicKey("ErBmAD61mGFKvrFNaTJuxoPwqrS8GgtwtqJTJVjFWx9Q");var o=require("@layerzerolabs/lz-solana-sdk-v2");var V=(a,n)=>(0,Xe.getAssociatedTokenAddressSync)(a,n,!0);function fe(a){return l.PublicKey.findProgramAddressSync([Buffer.from(We,"utf8")],a)[0]}function Je(a,n){let e=Array.from(Buffer.from(n.slice(2),"hex"));return l.PublicKey.findProgramAddressSync([Buffer.from(Ue,"utf8"),Buffer.from(e)],a)[0]}function $e(a,n){let e=Array.from(Buffer.from(n.slice(2),"hex"));return l.PublicKey.findProgramAddressSync([Buffer.from(Ve,"utf8"),Buffer.from(e)],a)[0]}function ye(a){return l.PublicKey.findProgramAddressSync([Buffer.from(o.OAPP_SEED,"utf8")],a)[0]}function ge(a,n,e){let t=Buffer.alloc(4);return t.writeUInt32BE(e),l.PublicKey.findProgramAddressSync([Buffer.from(o.PEER_SEED,"utf8"),n.toBuffer(),t],a)[0]}function Se(a,n,e){let t=Buffer.alloc(4);return t.writeUInt32BE(e),l.PublicKey.findProgramAddressSync([Buffer.from(o.ENFORCED_OPTIONS_SEED,"utf8"),n.toBuffer(),t],a)[0]}function ea(){return l.PublicKey.findProgramAddressSync([Buffer.from(o.MESSAGE_LIB_SEED,"utf8")],S)[0]}function be(a,n){let e=Buffer.alloc(4);return e.writeUInt32BE(n),l.PublicKey.findProgramAddressSync([Buffer.from(o.SEND_LIBRARY_CONFIG_SEED,"utf8"),a.toBuffer(),e],A)[0]}function Ae(a){let n=Buffer.alloc(4);return n.writeUInt32BE(a),l.PublicKey.findProgramAddressSync([Buffer.from(o.SEND_LIBRARY_CONFIG_SEED,"utf8"),n],A)[0]}function aa(a){return l.PublicKey.findProgramAddressSync([Buffer.from(o.MESSAGE_LIB_SEED,"utf8"),a.toBuffer()],A)[0]}function Pe(){return l.PublicKey.findProgramAddressSync([Buffer.from(o.ENDPOINT_SEED,"utf8")],A)[0]}function La(a){let n=de;return a.toBase58()===le.toBase58()&&(n=de),a.toBase58()===pe.toBase58()&&(n=Ge),a.toBase58()===ce.toBase58()&&(n=Fe),a.toBase58()===j.toBase58()&&(n=ze),n}function ke(a,n,e){let t=Buffer.alloc(4),r=La(a);return t.writeUInt32BE(e),l.PublicKey.findProgramAddressSync([Buffer.from(o.NONCE_SEED,"utf8"),n.toBuffer(),t,r],A)[0]}function na(){return l.PublicKey.findProgramAddressSync([Buffer.from(o.EVENT_SEED,"utf8")],A)[0]}function ta(){return l.PublicKey.findProgramAddressSync([Buffer.from(o.ULN_SEED,"utf8")],S)[0]}function he(a,n){let e=Buffer.alloc(4);return e.writeUInt32BE(n),l.PublicKey.findProgramAddressSync([Buffer.from(o.SEND_CONFIG_SEED,"utf8"),e,a.toBuffer()],S)[0]}function De(a){let n=Buffer.alloc(4);return n.writeUInt32BE(a),l.PublicKey.findProgramAddressSync([Buffer.from(o.SEND_CONFIG_SEED,"utf8"),n],Ne)[0]}function sa(){return l.PublicKey.findProgramAddressSync([Buffer.from(o.EVENT_SEED,"utf8")],S)[0]}function Ee(){return l.PublicKey.findProgramAddressSync([Buffer.from(o.EXECUTOR_CONFIG_SEED,"utf8")],W)[0]}function Me(){return l.PublicKey.findProgramAddressSync([Buffer.from(o.PRICE_FEED_SEED,"utf8")],B)[0]}function Ie(){return l.PublicKey.findProgramAddressSync([Buffer.from(o.DVN_CONFIG_SEED,"utf8")],U)[0]}function we(a){return a.toBase58()===j.toBase58()?Qe:Ye}function Te(a){return a.toBase58()===le.toBase58()?(console.log("DEV_LOOKUP_TABLE_ADDRESS: ",Q.toBase58()),Q):a.toBase58()===pe.toBase58()?je:a.toBase58()===ce.toBase58()?Ze:a.toBase58()===j.toBase58()?qe:Q}function ra(a){return l.PublicKey.findProgramAddressSync([Buffer.from(o.MESSAGE_LIB_SEED,"utf8")],a||S)[0]}function ia(a,n){return l.PublicKey.findProgramAddressSync([Buffer.from(o.MESSAGE_LIB_SEED,"utf8"),a.toBytes()],n||A)[0]}function _e(a,n){return c(this,null,function*(){return(yield a.getAddressLookupTable(n)).value})}var ua=require("@orderly.network/types");function ma(a){let{publicKey:n,brokerId:e,expiration:t=365,timestamp:r=Date.now(),scope:s,tag:u,chainId:d}=a,i=k(P({brokerId:e,chainType:"SOL",orderlyKey:n,scope:s||"read,trading",chainId:d,timestamp:r},typeof u!="undefined"?{tag:u}:{}),{expiration:r+1e3*60*60*24*t}),m=(0,b.solidityPackedKeccak256)(["string"],[i.brokerId]),g=(0,b.solidityPackedKeccak256)(["string"],[i.orderlyKey]),h=(0,b.solidityPackedKeccak256)(["string"],[i.scope]),T=b.AbiCoder.defaultAbiCoder(),I=(0,C.keccak256)((0,E.hexToBytes)(T.encode(["bytes32","bytes32","bytes32","uint256","uint256","uint256"],[m,g,h,i.chainId,i.timestamp,i.expiration]))),_=(0,E.bytesToHex)(I),x=new TextEncoder().encode(_);return[i,x]}function da(a){let{chainId:n,registrationNonce:e,brokerId:t,timestamp:r}=a,s={brokerId:t,chainId:n,timestamp:r,registrationNonce:e},u=(0,b.solidityPackedKeccak256)(["string"],[s.brokerId]),d=b.AbiCoder.defaultAbiCoder(),i=(0,C.keccak256)((0,E.hexToBytes)(d.encode(["bytes32","uint256","uint256","uint256"],[u,s.chainId,s.timestamp,s.registrationNonce]))),m=(0,E.bytesToHex)(i),g=new TextEncoder().encode(m);return[s,g]}function la(a){let{chainId:n,receiver:e,token:t,amount:r,nonce:s,brokerId:u}=a,d=Date.now(),i={brokerId:u,chainId:n,receiver:e,token:t,amount:r,withdrawNonce:s,timestamp:d,chainType:"SOL"},m=(0,b.solidityPackedKeccak256)(["string"],[i.brokerId]),g=(0,b.solidityPackedKeccak256)(["string"],[i.token]),h=(0,C.keccak256)(Buffer.from("Orderly Network")),T=b.AbiCoder.defaultAbiCoder(),I=(0,C.keccak256)((0,E.hexToBytes)(T.encode(["bytes32","bytes32","uint256","bytes32","uint256","uint64","uint64","bytes32"],[m,g,n,(0,oa.decode)(i.receiver),i.amount,i.withdrawNonce,d,h]))),_=(0,E.bytesToHex)(I),x=new TextEncoder().encode(_);return[i,x]}function pa(a){let{settlePnlNonce:n,brokerId:e,chainId:t,timestamp:r}=a,s={brokerId:e,chainId:t,timestamp:r,chainType:"SOL",settleNonce:n},u=(0,b.solidityPackedKeccak256)(["string"],[e]),d=b.AbiCoder.defaultAbiCoder(),i=(0,C.keccak256)((0,E.hexToBytes)(d.encode(["bytes32","uint256","uint64","uint64"],[u,s.chainId,s.settleNonce,s.timestamp]))),m=(0,E.bytesToHex)(i),g=new TextEncoder().encode(m);return[s,g]}function xe(r){return c(this,arguments,function*({vaultAddress:a,userAddress:n,connection:e,depositData:t}){console.log("-- vaultAddress",a);let s=new p.PublicKey(a),u=we(s),d=new R.Program(me,s,{connection:e}),i=new p.PublicKey(n),m=ye(s),g=ge(s,m,u),h=Se(s,m,u),T=be(m,u),I=Ae(u),_=Pe(),x=ke(s,m,u),X=he(m,u),D=De(u),M=Ee(),G=Me(),J=Ie(),F=ra(S),$=ia(F),ee=fe(s),ae=ca(n,t),ne=yield d.methods.oappQuote(ae).accounts({oappConfig:m,peer:g,enforcedOptions:h,vaultAuthority:ee}).remainingAccounts([{pubkey:A,isWritable:!1,isSigner:!1},{pubkey:S,isWritable:!1,isSigner:!1},{pubkey:T,isWritable:!1,isSigner:!1},{pubkey:I,isWritable:!1,isSigner:!1},{pubkey:$,isWritable:!1,isSigner:!1},{pubkey:_,isWritable:!1,isSigner:!1},{pubkey:x,isWritable:!1,isSigner:!1},{pubkey:F,isWritable:!1,isSigner:!1},{pubkey:X,isWritable:!1,isSigner:!1},{pubkey:D,isWritable:!1,isSigner:!1},{pubkey:W,isWritable:!1,isSigner:!1},{pubkey:M,isWritable:!1,isSigner:!1},{pubkey:B,isWritable:!1,isSigner:!1},{pubkey:G,isWritable:!1,isSigner:!1},{pubkey:U,isWritable:!1,isSigner:!1},{pubkey:J,isWritable:!1,isSigner:!1},{pubkey:B,isWritable:!1,isSigner:!1},{pubkey:G,isWritable:!1,isSigner:!1}]).instruction(),te=yield e.getLatestBlockhash(),se=Te(s),z=yield _e(e,se);if(!z)throw console.log("-- lookup table account error"),new Error("-- lookup table account error");let re=new p.TransactionMessage({payerKey:i,recentBlockhash:te.blockhash,instructions:[ne]}).compileToV0Message([z]),ie=new p.VersionedTransaction(re),w=yield e.simulateTransaction(ie);if(console.log("-- feeRes",w),w.value.err){let O=typeof w.value.err=="object"?JSON.stringify(w.value.err):w.value.err;throw O.toString().includes("AccountNotFound")?new Error("Error: Account gas is insufficient."):new Error(`Error: ${O}`)}let Y=`Program return: ${d.programId} `,K=w.value.logs.find(O=>O.startsWith(Y));if(!K)throw new Error("Error: get deposit fee error");let oe=K.slice(Y.length),v=Buffer.from(oe,"base64");return console.log(v.readBigUInt64LE(0),v.readBigUInt64LE(1)),v.readBigUInt64LE(0)})}var ca=(a,n)=>{let e=n.brokerHash,t=Array.from(Buffer.from(e.slice(2),"hex")),r=n.tokenHash,s=Array.from(Buffer.from(r.slice(2),"hex")),u=n.accountId,d=Array.from(Buffer.from(u.slice(2),"hex")),i=new p.PublicKey(a);return{accountId:d,brokerHash:t,tokenHash:s,userAddress:Array.from(i.toBuffer()),tokenAmount:new R.BN(n.tokenAmount)}};function fa(s){return c(this,arguments,function*({vaultAddress:a,userAddress:n,connection:e,sendTransaction:t,depositData:r}){let u=r.brokerHash,d=r.tokenHash;console.log("-- vault address",a);let i=new p.PublicKey(a),m=new R.Program(me,i,{connection:e}),g=new p.PublicKey(r.USDCAddress),h=new p.PublicKey(n),T=V(g,h),I=fe(i),_=V(g,I),x=Je(i,u),X=$e(i,d),D=ye(i);console.log("-- oappconfig pda",D.toBase58());let M=we(i),G=ge(i,D,M),J=Se(i,D,M),F=ea(),$=be(D,M),ee=Ae(M),ae=aa(F),ne=Pe(),te=ke(i,D,M),se=na(),z=ta(),re=he(D,M),ie=De(M),w=sa(),Y=Ee(),K=Me(),oe=Ie(),v=ca(n,r),O=yield xe({vaultAddress:a,userAddress:n,connection:e,depositData:r}),Be={nativeFee:new R.BN(O.toString()),lzTokenFee:new R.BN(0)};console.log("--- value params",{vaultDepositParams:v,sendParam:Be});let ka=yield m.methods.deposit(v,Be).accounts({userTokenAccount:T,vaultAuthority:I,vaultTokenAccount:_,depositToken:g,user:h,peer:G,enforcedOptions:J,oappConfig:D,allowedBroker:x,allowedToken:X}).remainingAccounts([{isSigner:!1,isWritable:!1,pubkey:A},{isSigner:!1,isWritable:!1,pubkey:D},{isSigner:!1,isWritable:!1,pubkey:S},{isSigner:!1,isWritable:!1,pubkey:$},{isSigner:!1,isWritable:!1,pubkey:ee},{isSigner:!1,isWritable:!1,pubkey:ae},{isSigner:!1,isWritable:!1,pubkey:ne},{isSigner:!1,isWritable:!0,pubkey:te},{isSigner:!1,isWritable:!1,pubkey:se},{isSigner:!1,isWritable:!1,pubkey:A},{isSigner:!1,isWritable:!1,pubkey:z},{isSigner:!1,isWritable:!1,pubkey:re},{isSigner:!1,isWritable:!1,pubkey:ie},{isSigner:!0,isWritable:!1,pubkey:h},{isSigner:!1,isWritable:!1,pubkey:He},{isSigner:!1,isWritable:!1,pubkey:p.SystemProgram.programId},{isSigner:!1,isWritable:!1,pubkey:w},{isSigner:!1,isWritable:!1,pubkey:S},{isSigner:!1,isWritable:!1,pubkey:W},{isSigner:!1,isWritable:!0,pubkey:Y},{isSigner:!1,isWritable:!1,pubkey:B},{isSigner:!1,isWritable:!1,pubkey:K},{isSigner:!1,isWritable:!1,pubkey:U},{isSigner:!1,isWritable:!0,pubkey:oe},{isSigner:!1,isWritable:!1,pubkey:B},{isSigner:!1,isWritable:!1,pubkey:K}]).instruction(),ha=Te(i),Re=yield _e(e,ha);if(!Re){console.log("-- lookup table account error");return}let Da=p.ComputeBudgetProgram.setComputeUnitLimit({units:4e5}),Ea=yield e.getLatestBlockhash(),Ma=new p.TransactionMessage({payerKey:h,recentBlockhash:Ea.blockhash,instructions:[ka,Da]}).compileToV0Message([Re]),Ia=new p.VersionedTransaction(Ma),ve=yield t(Ia,e);return console.log("res",ve),ve})}function ya(a){let n=window.localStorage.getItem(ua.LedgerWalletKey);if(!n)return!1;let e=JSON.parse(n!=null?n:"[]");return console.log("-- addressArr",e),!!e.includes(a)}var Aa=require("ethereum-cryptography/utils"),Pa=require("@solana/spl-token");var y=require("@solana/web3.js");var Z=class extends ga.BaseWalletAdapter{constructor(){super();N(this,"chainNamespace",q.ChainNamespace.solana);N(this,"_address");N(this,"_chainId");N(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=(0,ba.encode)(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 c(this,null,function*(){if(ya(this._address)){let s=new y.Transaction;s.add(new y.TransactionInstruction({keys:[],programId:new y.PublicKey("ComputeBudget111111111111111111111111111111"),data:new Uint8Array([3,0,0,0,0,0,0,0,0])})),s.add(new y.TransactionInstruction({keys:[],programId:new y.PublicKey("ComputeBudget111111111111111111111111111111"),data:new Uint8Array([2,0,0,0,0])})),s.add(new y.TransactionInstruction({keys:[],programId:new y.PublicKey("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),data:e}));let u=new y.PublicKey(this.address);s.feePayer=u;let d=new Uint8Array(32).fill(0);s.recentBlockhash=new y.PublicKey(d).toString();let m=(yield this._provider.signTransaction(s)).signatures[0].signature;if(m)return this.uint8ArrayToHexString(m);throw console.log("-- sign message error",m),new Error("Unsupported signature")}let r=yield this._provider.signMessage(e);return"0x"+(0,Aa.bytesToHex)(r)})}generateRegisterAccountMessage(e){return c(this,null,function*(){let[t,r]=da(k(P({},e),{chainId:this.chainId})),s=yield this.signMessage(r);return{message:k(P({},t),{chainType:"SOL"}),signatured:s}})}generateWithdrawMessage(e){return c(this,null,function*(){let[t,r]=la(k(P({},e),{chainId:this.chainId})),s=yield this.signMessage(r);return{message:k(P({},t),{chainType:"SOL"}),domain:{name:"",version:"",chainId:this.chainId,verifyingContract:e.verifyContract},signatured:s}})}generateAddOrderlyKeyMessage(e){return c(this,null,function*(){let[t,r]=ma(k(P({},e),{chainId:this.chainId})),s=yield this.signMessage(r);return{message:k(P({},t),{chainType:"SOL"}),signatured:s}})}generateSettleMessage(e){return c(this,null,function*(){let[t,r]=pa(k(P({},e),{chainId:this.chainId})),s=yield this.signMessage(r);return{message:k(P({},t),{chainType:"SOL"}),domain:{name:"",version:"",chainId:this.chainId,verifyingContract:e.verifyContract},signatured:s}})}getBalance(){return c(this,null,function*(){return BigInt(0)})}call(e,t,r,s){return c(this,null,function*(){if(t==="balanceOf"){let u=new y.PublicKey(e),d=new y.PublicKey(this._address),i=V(u,d);return(yield(0,Pa.getAccount)(this._provider.connection,i,"confirmed")).amount}return t==="allowance"?q.MaxUint256:BigInt(0)})}sendTransaction(e,t,r,s){return c(this,null,function*(){if(console.log("-- solanan sendTransaction",{contractAddress:e,method:t,payload:r,options:s}),t==="deposit")return fa({vaultAddress:e,userAddress:this._address,connection:this._provider.connection,depositData:r.data[0],sendTransaction:this._provider.sendTransaction})})}callOnChain(e,t,r,s,u){return c(this,null,function*(){return console.log("-- params ",{chain:e,address:t,method:r,params:s}),r==="getDepositFee"?xe({vaultAddress:t,userAddress:this._address,connection:this._provider.connection,depositData:s[1]}):0})}pollTransactionReceiptWithBackoff(e,t,r,s){return c(this,null,function*(){})}};0&&(module.exports={DefaultSolanaWalletAdapter,version});
|
|
2
2
|
//# sourceMappingURL=index.js.map
|