@kodiak-finance/orderly-default-solana-adapter 2.7.4
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 +82 -0
- package/dist/index.d.ts +82 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +2 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +44 -0
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { Connection } from '@solana/web3.js';
|
|
2
|
+
import { BaseWalletAdapter, RegisterAccountInputs, Message, WithdrawInputs, SignatureDomain, InternalTransferInputs, AddOrderlyKeyInputs, SettleInputs, DexRequestInputs } from '@kodiak-finance/orderly-core';
|
|
3
|
+
import { ChainNamespace, API } from '@kodiak-finance/orderly-types';
|
|
4
|
+
import { WalletAdapterNetwork, SignerWalletAdapterProps, WalletAdapterProps } from '@solana/wallet-adapter-base';
|
|
5
|
+
|
|
6
|
+
declare global {
|
|
7
|
+
interface Window {
|
|
8
|
+
__ORDERLY_VERSION__?: {
|
|
9
|
+
[key: string]: string;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
declare const _default: "2.7.4";
|
|
14
|
+
|
|
15
|
+
interface SolanaAdapterOption {
|
|
16
|
+
provider: SolanaWalletProvider;
|
|
17
|
+
address: string;
|
|
18
|
+
chain: {
|
|
19
|
+
id: number;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
interface SolanaWalletProvider {
|
|
23
|
+
connection?: Connection;
|
|
24
|
+
rpcUrl?: string;
|
|
25
|
+
network: WalletAdapterNetwork;
|
|
26
|
+
signMessage: (message: Uint8Array) => Promise<Uint8Array>;
|
|
27
|
+
signTransaction: SignerWalletAdapterProps['signTransaction'];
|
|
28
|
+
sendTransaction: WalletAdapterProps['sendTransaction'];
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
declare class DefaultSolanaWalletAdapter extends BaseWalletAdapter<SolanaAdapterOption> {
|
|
32
|
+
chainNamespace: ChainNamespace;
|
|
33
|
+
private _address;
|
|
34
|
+
private _chainId;
|
|
35
|
+
private _provider;
|
|
36
|
+
private _connection;
|
|
37
|
+
constructor();
|
|
38
|
+
get address(): string;
|
|
39
|
+
get chainId(): number;
|
|
40
|
+
set chainId(chainId: number);
|
|
41
|
+
get connection(): Connection;
|
|
42
|
+
private setConfig;
|
|
43
|
+
private lifecycleName;
|
|
44
|
+
active(config: SolanaAdapterOption): void;
|
|
45
|
+
deactivate(): void;
|
|
46
|
+
update(config: SolanaAdapterOption): void;
|
|
47
|
+
generateSecretKey(): string;
|
|
48
|
+
uint8ArrayToHexString(uint8Array: Uint8Array): string;
|
|
49
|
+
signMessage(message: Uint8Array): Promise<string>;
|
|
50
|
+
generateRegisterAccountMessage(inputs: RegisterAccountInputs): Promise<Message>;
|
|
51
|
+
generateWithdrawMessage(inputs: WithdrawInputs): Promise<Message & {
|
|
52
|
+
domain: SignatureDomain;
|
|
53
|
+
}>;
|
|
54
|
+
generateInternalTransferMessage(inputs: InternalTransferInputs): Promise<Message & {
|
|
55
|
+
domain: SignatureDomain;
|
|
56
|
+
}>;
|
|
57
|
+
generateAddOrderlyKeyMessage(inputs: AddOrderlyKeyInputs): Promise<Message>;
|
|
58
|
+
generateSettleMessage(inputs: SettleInputs): Promise<Message & {
|
|
59
|
+
domain: SignatureDomain;
|
|
60
|
+
}>;
|
|
61
|
+
generateDexRequestMessage(inputs: DexRequestInputs): Promise<Message & {
|
|
62
|
+
domain: SignatureDomain;
|
|
63
|
+
}>;
|
|
64
|
+
getBalance(): Promise<bigint>;
|
|
65
|
+
call(address: string, method: string, params: any[], options?: {
|
|
66
|
+
abi: any;
|
|
67
|
+
}): Promise<bigint>;
|
|
68
|
+
sendTransaction(contractAddress: string, method: string, payload: {
|
|
69
|
+
from: string;
|
|
70
|
+
to?: string;
|
|
71
|
+
data: any[];
|
|
72
|
+
value?: bigint;
|
|
73
|
+
}, options: {
|
|
74
|
+
abi: any;
|
|
75
|
+
}): Promise<string | undefined>;
|
|
76
|
+
callOnChain(chain: API.NetworkInfos, address: string, method: string, params: any[], options: {
|
|
77
|
+
abi: any;
|
|
78
|
+
}): Promise<any>;
|
|
79
|
+
pollTransactionReceiptWithBackoff(txHash: string, baseInterval?: number, maxInterval?: number, maxRetries?: number): Promise<any>;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export { DefaultSolanaWalletAdapter, type SolanaWalletProvider, _default as version };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { Connection } from '@solana/web3.js';
|
|
2
|
+
import { BaseWalletAdapter, RegisterAccountInputs, Message, WithdrawInputs, SignatureDomain, InternalTransferInputs, AddOrderlyKeyInputs, SettleInputs, DexRequestInputs } from '@kodiak-finance/orderly-core';
|
|
3
|
+
import { ChainNamespace, API } from '@kodiak-finance/orderly-types';
|
|
4
|
+
import { WalletAdapterNetwork, SignerWalletAdapterProps, WalletAdapterProps } from '@solana/wallet-adapter-base';
|
|
5
|
+
|
|
6
|
+
declare global {
|
|
7
|
+
interface Window {
|
|
8
|
+
__ORDERLY_VERSION__?: {
|
|
9
|
+
[key: string]: string;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
declare const _default: "2.7.4";
|
|
14
|
+
|
|
15
|
+
interface SolanaAdapterOption {
|
|
16
|
+
provider: SolanaWalletProvider;
|
|
17
|
+
address: string;
|
|
18
|
+
chain: {
|
|
19
|
+
id: number;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
interface SolanaWalletProvider {
|
|
23
|
+
connection?: Connection;
|
|
24
|
+
rpcUrl?: string;
|
|
25
|
+
network: WalletAdapterNetwork;
|
|
26
|
+
signMessage: (message: Uint8Array) => Promise<Uint8Array>;
|
|
27
|
+
signTransaction: SignerWalletAdapterProps['signTransaction'];
|
|
28
|
+
sendTransaction: WalletAdapterProps['sendTransaction'];
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
declare class DefaultSolanaWalletAdapter extends BaseWalletAdapter<SolanaAdapterOption> {
|
|
32
|
+
chainNamespace: ChainNamespace;
|
|
33
|
+
private _address;
|
|
34
|
+
private _chainId;
|
|
35
|
+
private _provider;
|
|
36
|
+
private _connection;
|
|
37
|
+
constructor();
|
|
38
|
+
get address(): string;
|
|
39
|
+
get chainId(): number;
|
|
40
|
+
set chainId(chainId: number);
|
|
41
|
+
get connection(): Connection;
|
|
42
|
+
private setConfig;
|
|
43
|
+
private lifecycleName;
|
|
44
|
+
active(config: SolanaAdapterOption): void;
|
|
45
|
+
deactivate(): void;
|
|
46
|
+
update(config: SolanaAdapterOption): void;
|
|
47
|
+
generateSecretKey(): string;
|
|
48
|
+
uint8ArrayToHexString(uint8Array: Uint8Array): string;
|
|
49
|
+
signMessage(message: Uint8Array): Promise<string>;
|
|
50
|
+
generateRegisterAccountMessage(inputs: RegisterAccountInputs): Promise<Message>;
|
|
51
|
+
generateWithdrawMessage(inputs: WithdrawInputs): Promise<Message & {
|
|
52
|
+
domain: SignatureDomain;
|
|
53
|
+
}>;
|
|
54
|
+
generateInternalTransferMessage(inputs: InternalTransferInputs): Promise<Message & {
|
|
55
|
+
domain: SignatureDomain;
|
|
56
|
+
}>;
|
|
57
|
+
generateAddOrderlyKeyMessage(inputs: AddOrderlyKeyInputs): Promise<Message>;
|
|
58
|
+
generateSettleMessage(inputs: SettleInputs): Promise<Message & {
|
|
59
|
+
domain: SignatureDomain;
|
|
60
|
+
}>;
|
|
61
|
+
generateDexRequestMessage(inputs: DexRequestInputs): Promise<Message & {
|
|
62
|
+
domain: SignatureDomain;
|
|
63
|
+
}>;
|
|
64
|
+
getBalance(): Promise<bigint>;
|
|
65
|
+
call(address: string, method: string, params: any[], options?: {
|
|
66
|
+
abi: any;
|
|
67
|
+
}): Promise<bigint>;
|
|
68
|
+
sendTransaction(contractAddress: string, method: string, payload: {
|
|
69
|
+
from: string;
|
|
70
|
+
to?: string;
|
|
71
|
+
data: any[];
|
|
72
|
+
value?: bigint;
|
|
73
|
+
}, options: {
|
|
74
|
+
abi: any;
|
|
75
|
+
}): Promise<string | undefined>;
|
|
76
|
+
callOnChain(chain: API.NetworkInfos, address: string, method: string, params: any[], options: {
|
|
77
|
+
abi: any;
|
|
78
|
+
}): Promise<any>;
|
|
79
|
+
pollTransactionReceiptWithBackoff(txHash: string, baseInterval?: number, maxInterval?: number, maxRetries?: number): Promise<any>;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export { DefaultSolanaWalletAdapter, type SolanaWalletProvider, _default as version };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var Ca=Object.create;var U=Object.defineProperty,La=Object.defineProperties,Ha=Object.getOwnPropertyDescriptor,Na=Object.getOwnPropertyDescriptors,Wa=Object.getOwnPropertyNames,Ne=Object.getOwnPropertySymbols,Ua=Object.getPrototypeOf,We=Object.prototype.hasOwnProperty,Va=Object.prototype.propertyIsEnumerable;var ce=(a,n,e)=>n in a?U(a,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[n]=e,g=(a,n)=>{for(var e in n||(n={}))We.call(n,e)&&ce(a,e,n[e]);if(Ne)for(var e of Ne(n))Va.call(n,e)&&ce(a,e,n[e]);return a},h=(a,n)=>La(a,Na(n));var Ga=(a,n)=>{for(var e in n)U(a,e,{get:n[e],enumerable:!0})},Ue=(a,n,e,s)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of Wa(n))!We.call(a,r)&&r!==e&&U(a,r,{get:()=>n[r],enumerable:!(s=Ha(n,r))||s.enumerable});return a};var Fa=(a,n,e)=>(e=a!=null?Ca(Ua(a)):{},Ue(n||!a||!a.__esModule?U(e,"default",{value:a,enumerable:!0}):e,a)),za=a=>Ue(U({},"__esModule",{value:!0}),a);var N=(a,n,e)=>(ce(a,typeof n!="symbol"?n+"":n,e),e);var f=(a,n,e)=>new Promise((s,r)=>{var t=u=>{try{d(e.next(u))}catch(i){r(i)}},o=u=>{try{d(e.throw(u))}catch(i){r(i)}},d=u=>u.done?s(u.value):Promise.resolve(u.value).then(t,o);d((e=e.apply(a,n)).next())});var qa={};Ga(qa,{DefaultSolanaWalletAdapter:()=>$,version:()=>Ve});module.exports=za(qa);typeof window!="undefined"&&(window.__ORDERLY_VERSION__=window.__ORDERLY_VERSION__||{},window.__ORDERLY_VERSION__["@kodiak-finance/orderly-default-solana-adapter"]="2.7.4");var Ve="2.7.4";var wa=Fa(require("@noble/ed25519")),Ia=require("@solana/spl-token"),Ea=require("@solana/wallet-adapter-base"),p=require("@solana/web3.js"),xa=require("bs58"),Da=require("ethereum-cryptography/utils"),ee=require("@kodiak-finance/orderly-core"),ae=require("@kodiak-finance/orderly-types");var K=require("@coral-xyz/anchor"),y=require("@solana/web3.js"),Ke=require("bs58"),D=require("ethereum-cryptography/keccak"),b=require("ethereum-cryptography/utils"),S=require("ethers"),fa=require("@kodiak-finance/orderly-core"),J=require("@kodiak-finance/orderly-types");var V=require("@layerzerolabs/lz-v2-utilities"),A=require("@solana/web3.js"),w=new A.PublicKey("76y77prsiCMvXMjuoZ5VRrhG5qYBrUMYTE5WgHqgjEn6"),M=new A.PublicKey("7a4WjyR8VZ7yZz5XJAKm39BUGn5iT9CKcv2pmG9tdXVH"),G=new A.PublicKey("6doghB248px58JSSwG4qejQ46kFMW4AMj7vzJnWZHNZn"),B=new A.PublicKey("8ahPGPjEbpgGaZx2NV1iG5Shj7TDwvsjkEDcGWjt94TP"),Ge=M,Fe=M,F=new A.PublicKey("HtEYV4xB4wvsj5fgTkcfuChYpvGYzgzwvNhgDZQNh7wW"),ze="VaultAuthority",Ye="Broker",qe="Token",Qe="SolVault",pe=(0,V.addressToBytes32)("0x9Dc724b24146BeDD2dA28b8C4B74126169B8f312"),je=(0,V.addressToBytes32)("0x45b6C6266A7A2170617d8A27A50C642fd68b91c4"),Ze=(0,V.addressToBytes32)("0x5Bf771A65d057e778C5f0Ed52A0003316f94322D"),Xe=(0,V.addressToBytes32)("0xCecAe061aa078e13b5e70D5F9eCee90a3F2B6AeA"),Je=40200,$e=30213,Z=new A.PublicKey("BWp8HaYYhiNHekt3zgQhqoCrRftneGxxfgKmCZ6svHN"),ea=new A.PublicKey("BswrQQoPKAFojTuJutZcBMtigAgTghEH4M8ofn3EG2X2"),aa=new A.PublicKey("BbGKfxuPwDmu58BjPpd7PMG69TqnZjSpKaLDMgf9E9Dr"),na=new A.PublicKey("8iq7xCQt3bLdRRn4A46d5GuaXYinBoiAhbe2sUmZVzwg"),fe=new A.PublicKey("EYJq9eU4GMRUriUJBgGoZ8YLQBXcWaciXuSsEXE7ieQS"),ye=new A.PublicKey("5zBjLor7vEraAt4zp2H82sy9MSqFoDnNa1Lx6EYKTYRZ"),ge=new A.PublicKey("9shwxWDUNhtwkHocsUAmrNAQfBH2DHh4njdAEdHZZkF2"),X=new A.PublicKey("ErBmAD61mGFKvrFNaTJuxoPwqrS8GgtwtqJTJVjFWx9Q");var Se={version:"0.1.0",name:"solana_vault",instructions:[{name:"setVault",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:"SetVaultParams"}}]},{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:"depositSol",accounts:[{name:"user",isMut:!0,isSigner:!0},{name:"vaultAuthority",isMut:!0,isSigner:!1},{name:"solVault",isMut:!0,isSigner:!1,docs:["CHECKED: sol_vault is used for SOL deposit"]},{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:"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:"accountList",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"InitOAppParams"}}]},{name:"setAccountList",accounts:[{name:"admin",isMut:!0,isSigner:!0},{name:"oappConfig",isMut:!1,isSigner:!1},{name:"lzReceiveTypes",isMut:!0,isSigner:!1},{name:"accountsList",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetAccountListParams"}}]},{name:"setManagerRole",accounts:[{name:"owner",isMut:!0,isSigner:!0},{name:"vaultAuthority",isMut:!0,isSigner:!1},{name:"managerRole",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetManagerRoleParams"}}]},{name:"setBroker",accounts:[{name:"brokerManager",isMut:!0,isSigner:!0},{name:"allowedBroker",isMut:!0,isSigner:!1},{name:"managerRole",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetBrokerParams"}}]},{name:"setWithdrawBroker",accounts:[{name:"brokerManager",isMut:!0,isSigner:!0},{name:"withdrawBroker",isMut:!0,isSigner:!1},{name:"managerRole",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetWithdrawBrokerParams"}}]},{name:"setToken",accounts:[{name:"tokenManager",isMut:!0,isSigner:!0},{name:"allowedToken",isMut:!0,isSigner:!1},{name:"managerRole",isMut:!1,isSigner:!1},{name:"mintAccount",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetTokenParams"}}]},{name:"setWithdrawToken",accounts:[{name:"tokenManager",isMut:!0,isSigner:!0},{name:"withdrawToken",isMut:!0,isSigner:!1},{name:"managerRole",isMut:!1,isSigner:!1},{name:"mintAccount",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetWithdrawTokenParams"}}]},{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:"withdrawBrokerPda",isMut:!1,isSigner:!1},{name:"withdrawTokenPda",isMut:!1,isSigner:!1,docs:["CHECK"]},{name:"tokenMint",isMut:!1,isSigner:!1,docs:["CHECK"]},{name:"receiver",isMut:!0,isSigner:!1,docs:["CHECK"]},{name:"receiverTokenAccount",isMut:!0,isSigner:!1,docs:["UNCHECKED"]},{name:"vaultAuthority",isMut:!0,isSigner:!1},{name:"vaultTokenAccount",isMut:!0,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1,docs:["CHECKED: sol_vault is used for SOL withdrawal"]},{name:"associatedTokenProgram",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},{name:"accountList",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:"oAppLzReceiveTypesAccounts",type:{kind:"struct",fields:[{name:"oappConfig",type:"publicKey"},{name:"accountList",type:"publicKey"}]}},{name:"accountList",type:{kind:"struct",fields:[{name:"bump",type:"u8"},{name:"woofiProPda",type:"publicKey"},{name:"withdrawUsdcPda",type:"publicKey"},{name:"usdcMint",type:"publicKey"},{name:"withdrawUsdtPda",type:"publicKey"},{name:"usdtMint",type:"publicKey"},{name:"withdrawWsolPda",type:"publicKey"},{name:"wsolMint",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:"managerRole",type:{kind:"struct",fields:[{name:"roleHash",type:{array:["u8",32]}},{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"}]}},{name:"withdrawBroker",type:{kind:"struct",fields:[{name:"brokerHash",type:{array:["u8",32]}},{name:"brokerIndex",type:"u16"},{name:"allowed",type:"bool"},{name:"bump",type:"u8"}]}},{name:"withdrawToken",type:{kind:"struct",fields:[{name:"mintAccount",type:"publicKey"},{name:"tokenHash",type:{array:["u8",32]}},{name:"tokenDecimals",type:"u8"},{name:"tokenIndex",type:"u8"},{name:"allowed",type:"bool"},{name:"bump",type:"u8"}]}}],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:"AccountWithdrawSol",type:{kind:"struct",fields:[{name:"sender",type:{array:["u8",32]}},{name:"receiver",type:{array:["u8",32]}},{name:"brokerIndex",type:"u16"},{name:"tokenIndex",type:"u8"},{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:"InitOAppParams",type:{kind:"struct",fields:[{name:"admin",type:"publicKey"},{name:"accountList",type:"publicKey"},{name:"endpointProgram",type:{option:"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:"MessagingFee",type:{kind:"struct",fields:[{name:"nativeFee",type:"u64"},{name:"lzTokenFee",type:"u64"}]}},{name:"SetAccountListParams",type:{kind:"struct",fields:[{name:"woofiProPda",type:"publicKey"},{name:"withdrawUsdcPda",type:"publicKey"},{name:"usdcMint",type:"publicKey"},{name:"withdrawUsdtPda",type:"publicKey"},{name:"usdtMint",type:"publicKey"},{name:"withdrawWsolPda",type:"publicKey"},{name:"wsolMint",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:"SetBrokerParams",type:{kind:"struct",fields:[{name:"brokerManagerRole",type:{array:["u8",32]}},{name:"brokerHash",type:{array:["u8",32]}},{name:"allowed",type:"bool"}]}},{name:"SetManagerRoleParams",type:{kind:"struct",fields:[{name:"roleHash",type:{array:["u8",32]}},{name:"managerAddress",type:"publicKey"},{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:"tokenManagerRole",type:{array:["u8",32]}},{name:"mintAccount",type:"publicKey"},{name:"tokenHash",type:{array:["u8",32]}},{name:"allowed",type:"bool"}]}},{name:"SetVaultParams",type:{kind:"struct",fields:[{name:"owner",type:"publicKey"},{name:"depositNonce",type:"u64"},{name:"orderDelivery",type:"bool"},{name:"inboundNonce",type:"u64"},{name:"dstEid",type:"u32"},{name:"solChainId",type:"u128"}]}},{name:"SetWithdrawBrokerParams",type:{kind:"struct",fields:[{name:"brokerManagerRole",type:{array:["u8",32]}},{name:"brokerHash",type:{array:["u8",32]}},{name:"brokerIndex",type:"u16"},{name:"allowed",type:"bool"}]}},{name:"SetWithdrawTokenParams",type:{kind:"struct",fields:[{name:"tokenManagerRole",type:{array:["u8",32]}},{name:"tokenHash",type:{array:["u8",32]}},{name:"tokenIndex",type:"u8"},{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:"InvalidReceiver"},{name:"InvalidOptions"},{name:"InvalidEndpointProgram"},{name:"RateLimitExceeded"},{name:"WithdrawFailed"},{name:"InvalidInboundNonce"},{name:"InvalidReceiverTokenAccount"},{name:"InvalidAdminTokenAccount"},{name:"InvalidMessageType"},{name:"InvalidTokenIndex"}]}},{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:"SetWithdrawTokenIndex",fields:[{name:"tokenIndex",type:"u8",index:!1},{name:"tokenHash",type:{array:["u8",32]},index:!1},{name:"mintAccount",type:"publicKey",index:!1}]},{name:"ResetWithdrawTokenIndex",fields:[{name:"tokenIndex",type:"u8",index:!1},{name:"tokenHash",type:{array:["u8",32]},index:!1},{name:"mintAccount",type:"publicKey",index:!1}]},{name:"SetWithdrawBrokerEvent",fields:[{name:"brokerHash",type:{array:["u8",32]},index:!1},{name:"brokerIndex",type:"u16",index:!1}]},{name:"ResetWithdrawBrokerEvent",fields:[{name:"brokerHash",type:{array:["u8",32]},index:!1},{name:"brokerIndex",type:"u16",index:!1}]},{name:"SetManager",fields:[{name:"roleHash",type:{array:["u8",32]},index:!1},{name:"managerAddress",type:"publicKey",index:!1},{name:"allowed",type:"bool",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:"CreatedATA",fields:[{name:"accountId",type:{array:["u8",32]},index:!1},{name:"receiver",type:{array:["u8",32]},index:!1},{name:"receiverTokenAccount",type:{array:["u8",32]},index:!1},{name:"withdrawNonce",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:"FrozenWithdrawn",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"},{code:6006,name:"ManagerRoleNotAllowed",msg:"Manager role is not allowed"}]};var m=require("@layerzerolabs/lz-solana-sdk-v2"),ta=require("@solana/spl-token"),c=require("@solana/web3.js");var z=(a,n)=>(0,ta.getAssociatedTokenAddressSync)(a,n,!0);function be(a){return c.PublicKey.findProgramAddressSync([Buffer.from(ze,"utf8")],a)[0]}function sa(a){return c.PublicKey.findProgramAddressSync([Buffer.from(Qe,"utf8")],a)[0]}function ra(a,n){let e=Array.from(Buffer.from(n.slice(2),"hex"));return c.PublicKey.findProgramAddressSync([Buffer.from(Ye,"utf8"),Buffer.from(e)],a)[0]}function ia(a,n){let e=Array.from(Buffer.from(n.slice(2),"hex"));return c.PublicKey.findProgramAddressSync([Buffer.from(qe,"utf8"),Buffer.from(e)],a)[0]}function ke(a){return c.PublicKey.findProgramAddressSync([Buffer.from(m.OAPP_SEED,"utf8")],a)[0]}function Ae(a,n,e){let s=Buffer.alloc(4);return s.writeUInt32BE(e),c.PublicKey.findProgramAddressSync([Buffer.from(m.PEER_SEED,"utf8"),n.toBuffer(),s],a)[0]}function Pe(a,n,e){let s=Buffer.alloc(4);return s.writeUInt32BE(e),c.PublicKey.findProgramAddressSync([Buffer.from(m.ENFORCED_OPTIONS_SEED,"utf8"),n.toBuffer(),s],a)[0]}function oa(){return c.PublicKey.findProgramAddressSync([Buffer.from(m.MESSAGE_LIB_SEED,"utf8")],M)[0]}function he(a,n){let e=Buffer.alloc(4);return e.writeUInt32BE(n),c.PublicKey.findProgramAddressSync([Buffer.from(m.SEND_LIBRARY_CONFIG_SEED,"utf8"),a.toBuffer(),e],w)[0]}function Me(a){let n=Buffer.alloc(4);return n.writeUInt32BE(a),c.PublicKey.findProgramAddressSync([Buffer.from(m.SEND_LIBRARY_CONFIG_SEED,"utf8"),n],w)[0]}function ua(a){return c.PublicKey.findProgramAddressSync([Buffer.from(m.MESSAGE_LIB_SEED,"utf8"),a.toBuffer()],w)[0]}function we(){return c.PublicKey.findProgramAddressSync([Buffer.from(m.ENDPOINT_SEED,"utf8")],w)[0]}function Ya(a){let n=pe;return a.toBase58()===fe.toBase58()&&(n=pe),a.toBase58()===ye.toBase58()&&(n=je),a.toBase58()===ge.toBase58()&&(n=Ze),a.toBase58()===X.toBase58()&&(n=Xe),n}function Ie(a,n,e){let s=Buffer.alloc(4),r=Ya(a);return s.writeUInt32BE(e),c.PublicKey.findProgramAddressSync([Buffer.from(m.NONCE_SEED,"utf8"),n.toBuffer(),s,r],w)[0]}function ma(){return c.PublicKey.findProgramAddressSync([Buffer.from(m.EVENT_SEED,"utf8")],w)[0]}function da(){return c.PublicKey.findProgramAddressSync([Buffer.from(m.ULN_SEED,"utf8")],M)[0]}function Ee(a,n){let e=Buffer.alloc(4);return e.writeUInt32BE(n),c.PublicKey.findProgramAddressSync([Buffer.from(m.SEND_CONFIG_SEED,"utf8"),e,a.toBuffer()],M)[0]}function xe(a){let n=Buffer.alloc(4);return n.writeUInt32BE(a),c.PublicKey.findProgramAddressSync([Buffer.from(m.SEND_CONFIG_SEED,"utf8"),n],Ge)[0]}function la(){return c.PublicKey.findProgramAddressSync([Buffer.from(m.EVENT_SEED,"utf8")],M)[0]}function De(){return c.PublicKey.findProgramAddressSync([Buffer.from(m.EXECUTOR_CONFIG_SEED,"utf8")],G)[0]}function Te(){return c.PublicKey.findProgramAddressSync([Buffer.from(m.PRICE_FEED_SEED,"utf8")],B)[0]}function ve(){return c.PublicKey.findProgramAddressSync([Buffer.from(m.DVN_CONFIG_SEED,"utf8")],F)[0]}function Re(a){return a.toBase58()===X.toBase58()?$e:Je}function _e(a){return a.toBase58()===fe.toBase58()?(console.log("DEV_LOOKUP_TABLE_ADDRESS: ",Z.toBase58()),Z):a.toBase58()===ye.toBase58()?ea:a.toBase58()===ge.toBase58()?aa:a.toBase58()===X.toBase58()?na:Z}function ca(a){return c.PublicKey.findProgramAddressSync([Buffer.from(m.MESSAGE_LIB_SEED,"utf8")],a||M)[0]}function pa(a,n){return c.PublicKey.findProgramAddressSync([Buffer.from(m.MESSAGE_LIB_SEED,"utf8"),a.toBytes()],n||w)[0]}function Be(a,n){return f(this,null,function*(){return(yield a.getAddressLookupTable(n)).value})}function ya(a){let{publicKey:n,brokerId:e,expiration:s=365,timestamp:r=Date.now(),scope:t,tag:o,chainId:d,subAccountId:u}=a,i=g(g({brokerId:e,chainType:"SOL",orderlyKey:n,scope:t||J.DEFAUL_ORDERLY_KEY_SCOPE,chainId:d,timestamp:r,expiration:r+1e3*60*60*24*s},typeof o!="undefined"?{tag:o}:{}),typeof u!="undefined"?{subAccountId:u}:{}),l=(0,S.solidityPackedKeccak256)(["string"],[i.brokerId]),I=(0,S.solidityPackedKeccak256)(["string"],[i.orderlyKey]),x=(0,S.solidityPackedKeccak256)(["string"],[i.scope]),P=S.AbiCoder.defaultAbiCoder(),T=(0,D.keccak256)((0,b.hexToBytes)(P.encode(["bytes32","bytes32","bytes32","uint256","uint256","uint256"],[l,I,x,i.chainId,i.timestamp,i.expiration]))),E=(0,b.bytesToHex)(T),_=new TextEncoder().encode(E);return[i,_]}function ga(a){let{chainId:n,registrationNonce:e,brokerId:s,timestamp:r}=a,t={brokerId:s,chainId:n,timestamp:r,registrationNonce:e},o=(0,S.solidityPackedKeccak256)(["string"],[t.brokerId]),d=S.AbiCoder.defaultAbiCoder(),u=(0,D.keccak256)((0,b.hexToBytes)(d.encode(["bytes32","uint256","uint256","uint256"],[o,t.chainId,t.timestamp,t.registrationNonce]))),i=(0,b.bytesToHex)(u),l=new TextEncoder().encode(i);return[t,l]}function Sa(a){let{chainId:n,receiver:e,token:s,amount:r,nonce:t}=a,o={chainId:n,receiver:e,token:s,amount:r,transferNonce:t,chainType:"SOL"},d=(0,S.solidityPackedKeccak256)(["string"],[o.token]),u=S.AbiCoder.defaultAbiCoder(),i=(0,D.keccak256)((0,b.hexToBytes)(u.encode(["bytes32","bytes32","uint256","uint64","uint256"],[o.receiver,d,o.amount,o.transferNonce,n]))),l=(0,b.bytesToHex)(i),I=new TextEncoder().encode(l);return[o,I]}function ba(a){return f(this,null,function*(){let{payloadType:n,nonce:e,receiver:s,amount:r,vaultId:t,token:o,dexBrokerId:d,chainId:u}=a,i={payloadType:n,nonce:e,receiver:s,amount:r,vaultId:t,token:o,dexBrokerId:d,chainId:u},l;l=(0,Ke.decode)(s),new Uint8Array(32).set(l);let P=(0,b.hexToBytes)(t),T=(0,D.keccak256)(new TextEncoder().encode(o)),E=(0,D.keccak256)(new TextEncoder().encode(d)),_=S.AbiCoder.defaultAbiCoder(),O=(0,D.keccak256)((0,b.hexToBytes)(_.encode(["uint8","uint256","bytes32","uint256","bytes32","bytes32","bytes32","uint256"],[n,e,l,r,P,T,E,u]))),C=(0,b.bytesToHex)(O),k=new TextEncoder().encode(C);return[i,k]})}function ka(a){let{chainId:n,receiver:e,token:s,amount:r,nonce:t,brokerId:o}=a,d=Date.now(),u={brokerId:o,chainId:n,receiver:e,token:s,amount:r,withdrawNonce:t,timestamp:d,chainType:"SOL"},i=(0,S.solidityPackedKeccak256)(["string"],[u.brokerId]),l=(0,S.solidityPackedKeccak256)(["string"],[u.token]),I=(0,D.keccak256)(Buffer.from("Orderly Network")),x=S.AbiCoder.defaultAbiCoder(),P=(0,D.keccak256)((0,b.hexToBytes)(x.encode(["bytes32","bytes32","uint256","bytes32","uint256","uint64","uint64","bytes32"],[i,l,n,(0,Ke.decode)(u.receiver),u.amount,u.withdrawNonce,d,I]))),T=(0,b.bytesToHex)(P),E=new TextEncoder().encode(T);return[u,E]}function Aa(a){let{settlePnlNonce:n,brokerId:e,chainId:s,timestamp:r}=a,t={brokerId:e,chainId:s,timestamp:r,chainType:"SOL",settleNonce:n},o=(0,S.solidityPackedKeccak256)(["string"],[e]),d=S.AbiCoder.defaultAbiCoder(),u=(0,D.keccak256)((0,b.hexToBytes)(d.encode(["bytes32","uint256","uint64","uint64"],[o,t.chainId,t.settleNonce,t.timestamp]))),i=(0,b.bytesToHex)(u),l=new TextEncoder().encode(i);return[t,l]}function Oe(r){return f(this,arguments,function*({vaultAddress:a,userAddress:n,connection:e,depositData:s}){console.log("-- vaultAddress",a);let t=new y.PublicKey(a),o=Re(t),d=new K.Program(Se,t,{connection:e}),u=new y.PublicKey(n),i=ke(t),l=Ae(t,i,o),I=Pe(t,i,o),x=he(i,o),P=Me(o),T=we(),E=Ie(t,i,o),_=Ee(i,o),O=xe(o),C=De(),k=Te(),v=ve(),W=ca(M),Y=pa(W),ne=be(t),te=Pa(n,s),se=yield d.methods.oappQuote(te).accounts({oappConfig:i,peer:l,enforcedOptions:I,vaultAuthority:ne}).remainingAccounts([{pubkey:w,isWritable:!1,isSigner:!1},{pubkey:M,isWritable:!1,isSigner:!1},{pubkey:x,isWritable:!1,isSigner:!1},{pubkey:P,isWritable:!1,isSigner:!1},{pubkey:Y,isWritable:!1,isSigner:!1},{pubkey:T,isWritable:!1,isSigner:!1},{pubkey:E,isWritable:!1,isSigner:!1},{pubkey:W,isWritable:!1,isSigner:!1},{pubkey:_,isWritable:!1,isSigner:!1},{pubkey:O,isWritable:!1,isSigner:!1},{pubkey:G,isWritable:!1,isSigner:!1},{pubkey:C,isWritable:!1,isSigner:!1},{pubkey:B,isWritable:!1,isSigner:!1},{pubkey:k,isWritable:!1,isSigner:!1},{pubkey:F,isWritable:!1,isSigner:!1},{pubkey:v,isWritable:!1,isSigner:!1},{pubkey:B,isWritable:!1,isSigner:!1},{pubkey:k,isWritable:!1,isSigner:!1}]).instruction(),re=yield e.getLatestBlockhash(),ie=_e(t),q=yield Be(e,ie);if(!q)throw console.log("-- lookup table account error"),new Error("-- lookup table account error");let oe=new y.TransactionMessage({payerKey:u,recentBlockhash:re.blockhash,instructions:[se]}).compileToV0Message([q]),ue=new y.VersionedTransaction(oe),R=yield e.simulateTransaction(ue);if(console.log("-- feeRes",R),R.value.err){let H=typeof R.value.err=="object"?JSON.stringify(R.value.err):R.value.err;throw H.toString().includes("AccountNotFound")?new Error("Error: Account gas is insufficient."):new Error(`Error: ${H}`)}let Q=`Program return: ${d.programId} `,j=R.value.logs.find(H=>H.startsWith(Q));if(!j)throw new Error("Error: get deposit fee error");let me=j.slice(Q.length),L=Buffer.from(me,"base64");return console.log(L.readBigUInt64LE(0),L.readBigUInt64LE(1)),L.readBigUInt64LE(0)})}var Pa=(a,n)=>{let e=n.brokerHash,s=Array.from(Buffer.from(e.slice(2),"hex")),r=n.tokenHash,t=Array.from(Buffer.from(r.slice(2),"hex")),o=n.accountId,d=Array.from(Buffer.from(o.slice(2),"hex")),u=new y.PublicKey(a);return{accountId:d,brokerHash:s,tokenHash:t,userAddress:Array.from(u.toBuffer()),tokenAmount:new K.BN(n.tokenAmount)}};function ha(t){return f(this,arguments,function*({vaultAddress:a,userAddress:n,connection:e,sendTransaction:s,depositData:r}){let o=r.brokerHash,d=r.tokenHash,u=fa.utils.parseTokenHash("SOL"),i=d.toLowerCase()===u.toLowerCase();console.log("-- vault address",a);let l=new y.PublicKey(a),I=new K.Program(Se,l,{connection:e}),x=new y.PublicKey(r.tokenAddress),P=new y.PublicKey(n),T=z(x,P),E=be(l),_=z(x,E),O=ra(l,o),C=ia(l,d),k=ke(l);console.log("-- oappconfig pda",k.toBase58());let v=Re(l),W=Ae(l,k,v),Y=Pe(l,k,v),ne=oa(),te=he(k,v),se=Me(v),re=ua(ne),ie=we(),q=Ie(l,k,v),oe=ma(),ue=da(),R=Ee(k,v),Q=xe(v),j=la(),me=De(),L=Te(),H=ve(),de=Pa(n,r),Ce=()=>[{isSigner:!1,isWritable:!1,pubkey:w},{isSigner:!1,isWritable:!1,pubkey:k},{isSigner:!1,isWritable:!1,pubkey:M},{isSigner:!1,isWritable:!1,pubkey:te},{isSigner:!1,isWritable:!1,pubkey:se},{isSigner:!1,isWritable:!1,pubkey:re},{isSigner:!1,isWritable:!1,pubkey:ie},{isSigner:!1,isWritable:!0,pubkey:q},{isSigner:!1,isWritable:!1,pubkey:oe},{isSigner:!1,isWritable:!1,pubkey:w},{isSigner:!1,isWritable:!1,pubkey:ue},{isSigner:!1,isWritable:!1,pubkey:R},{isSigner:!1,isWritable:!1,pubkey:Q},{isSigner:!0,isWritable:!1,pubkey:P},{isSigner:!1,isWritable:!1,pubkey:Fe},{isSigner:!1,isWritable:!1,pubkey:y.SystemProgram.programId},{isSigner:!1,isWritable:!1,pubkey:j},{isSigner:!1,isWritable:!1,pubkey:M},{isSigner:!1,isWritable:!1,pubkey:G},{isSigner:!1,isWritable:!0,pubkey:me},{isSigner:!1,isWritable:!1,pubkey:B},{isSigner:!1,isWritable:!1,pubkey:L},{isSigner:!1,isWritable:!1,pubkey:F},{isSigner:!1,isWritable:!0,pubkey:H},{isSigner:!1,isWritable:!1,pubkey:B},{isSigner:!1,isWritable:!1,pubkey:L}],Ta=yield Oe({vaultAddress:a,userAddress:n,connection:e,depositData:r}),le={nativeFee:new K.BN(Ta.toString()),lzTokenFee:new K.BN(0)};console.log("--- value params",{vaultDepositParams:de,sendParam:le});let va=i?yield I.methods.depositSol(de,le).accounts({solVault:sa(l),vaultAuthority:E,user:P,peer:W,enforcedOptions:Y,oappConfig:k,allowedBroker:O,allowedToken:C}).remainingAccounts(Ce()).instruction():yield I.methods.deposit(de,le).accounts({userTokenAccount:T,vaultAuthority:E,vaultTokenAccount:_,depositToken:x,user:P,peer:W,enforcedOptions:Y,oappConfig:k,allowedBroker:O,allowedToken:C}).remainingAccounts(Ce()).instruction(),Ra=_e(l),Le=yield Be(e,Ra);if(!Le){console.log("-- lookup table account error");return}let _a=y.ComputeBudgetProgram.setComputeUnitLimit({units:4e5}),Ba=yield e.getLatestBlockhash(),Ka=new y.TransactionMessage({payerKey:P,recentBlockhash:Ba.blockhash,instructions:[va,_a]}).compileToV0Message([Le]),Oa=new y.VersionedTransaction(Ka),He=yield s(Oa,e);return console.log("res",He),He})}function Ma(a){let n=window.localStorage.getItem(J.LedgerWalletKey);if(!n)return!1;let e=JSON.parse(n!=null?n:"[]");return console.log("-- addressArr",e),!!e.includes(a)}var $=class extends ee.BaseWalletAdapter{constructor(){super();N(this,"chainNamespace",ae.ChainNamespace.solana);N(this,"_address");N(this,"_chainId");N(this,"_provider");N(this,"_connection")}get address(){return this._address}get chainId(){return this._chainId}set chainId(e){this._chainId=e}get connection(){if(this._connection)return this._connection;if(this._provider.rpcUrl)return this._connection=new p.Connection(this._provider.rpcUrl,{commitment:"confirmed"}),this._connection;if(this._provider.network===Ea.WalletAdapterNetwork.Devnet)return this._connection=new p.Connection((0,p.clusterApiUrl)(this._provider.network),{commitment:"confirmed"}),this._connection;let e=ee.SimpleDI.get("account"),s="/v1/solana-rpc-proxy";return this._connection=new p.Connection(`${e.apiBaseUrl}${s}`,{commitment:"confirmed",fetchMiddleware:(r,t,o)=>f(this,null,function*(){let d={url:s,method:t==null?void 0:t.method,data:JSON.parse(t==null?void 0:t.body)},u=yield this.signMessageByOrderlyKey(d);for(let i of Object.keys(u))(t==null?void 0:t.headers)[i]=u[i];return o(r,t)})}),this._connection}setConfig(e){this._address=e.address,this._chainId=e.chain.id,e.provider&&(this._provider=e.provider)}lifecycleName(e,s){console.log("lifecycle",e,s)}active(e){this.setConfig(e),this.lifecycleName("active",e)}deactivate(){this.lifecycleName("deactivate",{})}update(e){this.lifecycleName("update",e),this.setConfig(e)}generateSecretKey(){let e,s;do e=wa.utils.randomPrivateKey(),s=(0,xa.encode)(e);while(s.length!==44);return s}uint8ArrayToHexString(e){return Array.from(e).map(s=>s.toString(16).padStart(2,"0")).join("")}signMessage(e){return f(this,null,function*(){if(Ma(this._address)){let t=new p.Transaction;t.add(new p.TransactionInstruction({keys:[],programId:new p.PublicKey("ComputeBudget111111111111111111111111111111"),data:new Uint8Array([3,0,0,0,0,0,0,0,0])})),t.add(new p.TransactionInstruction({keys:[],programId:new p.PublicKey("ComputeBudget111111111111111111111111111111"),data:new Uint8Array([2,0,0,0,0])})),t.add(new p.TransactionInstruction({keys:[],programId:new p.PublicKey("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),data:e}));let o=new p.PublicKey(this.address);t.feePayer=o;let d=new Uint8Array(32).fill(0);t.recentBlockhash=new p.PublicKey(d).toString();let i=(yield this._provider.signTransaction(t)).signatures[0].signature;if(i)return this.uint8ArrayToHexString(i);throw console.log("-- sign message error",i),new Error("Unsupported signature")}let r=yield this._provider.signMessage(e);return"0x"+(0,Da.bytesToHex)(r)})}generateRegisterAccountMessage(e){return f(this,null,function*(){let[s,r]=ga(h(g({},e),{chainId:this.chainId})),t=yield this.signMessage(r);return{message:h(g({},s),{chainType:"SOL"}),signatured:t}})}generateWithdrawMessage(e){return f(this,null,function*(){let[s,r]=ka(h(g({},e),{chainId:this.chainId})),t=yield this.signMessage(r);return{message:h(g({},s),{chainType:"SOL"}),domain:{name:"",version:"",chainId:this.chainId,verifyingContract:e.verifyContract},signatured:t}})}generateInternalTransferMessage(e){return f(this,null,function*(){let[s,r]=Sa(h(g({},e),{chainId:this.chainId})),t=yield this.signMessage(r);return{message:h(g({},s),{chainType:"SOL"}),domain:{name:"",version:"",chainId:this.chainId,verifyingContract:e.verifyContract},signatured:t}})}generateAddOrderlyKeyMessage(e){return f(this,null,function*(){let[s,r]=ya(h(g({},e),{chainId:this.chainId})),t=yield this.signMessage(r);return{message:h(g({},s),{chainType:"SOL"}),signatured:t}})}generateSettleMessage(e){return f(this,null,function*(){let[s,r]=Aa(h(g({},e),{chainId:this.chainId})),t=yield this.signMessage(r);return{message:h(g({},s),{chainType:"SOL"}),domain:{name:"",version:"",chainId:this.chainId,verifyingContract:e.verifyContract},signatured:t}})}generateDexRequestMessage(e){return f(this,null,function*(){let[s,r]=yield ba(h(g({},e),{chainId:this.chainId})),t=yield this.signMessage(r);return{message:h(g({},e),{chainType:"SOL"}),signatured:t,domain:e.domain}})}getBalance(){return f(this,null,function*(){let e=new p.PublicKey(this.address),s=yield this.connection.getBalance(e);return BigInt(s)})}call(e,s,r,t){return f(this,null,function*(){if(s==="balanceOf"){let o=new p.PublicKey(e),d=new p.PublicKey(this._address),u=z(o,d),i=this.connection;return(yield(0,Ia.getAccount)(i,u,"confirmed")).amount}return s==="allowance"?ae.MaxUint256:BigInt(0)})}sendTransaction(e,s,r,t){return f(this,null,function*(){if(console.log("-- solanan sendTransaction",{contractAddress:e,method:s,payload:r,options:t}),s==="deposit")return ha({vaultAddress:e,userAddress:this._address,connection:this.connection,depositData:r.data[0],sendTransaction:this._provider.sendTransaction})})}callOnChain(e,s,r,t,o){return f(this,null,function*(){return console.log("-- params ",{chain:e,address:s,method:r,params:t}),r==="getDepositFee"?Oe({vaultAddress:s,userAddress:this._address,connection:this.connection,depositData:t[1]}):0})}pollTransactionReceiptWithBackoff(e,s,r,t){return f(this,null,function*(){return Promise.resolve({status:1})})}};0&&(module.exports={DefaultSolanaWalletAdapter,version});
|
|
2
|
+
//# sourceMappingURL=index.js.map
|