@scallop-io/scallop-swap-sdk 4.0.0 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -5
- package/dist/{base-tXJdbzpP.d.ts → base-D9ApraXl.d.cts} +1 -1
- package/dist/base-D9ApraXl.d.ts +217 -0
- package/dist/chunk-3CBW5I4K.cjs +2 -0
- package/dist/chunk-5N4RDKGD.js +1 -0
- package/dist/chunk-PUC4ABCH.js +2 -0
- package/dist/chunk-YKJ7DP7U.cjs +1 -0
- package/dist/index.cjs +1 -38
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/sdk/7k.cjs +1 -2
- package/dist/sdk/7k.js +0 -1
- package/dist/sdk/aftermath.cjs +1 -12
- package/dist/sdk/aftermath.d.cts +7 -6
- package/dist/sdk/aftermath.d.ts +7 -6
- package/dist/sdk/aftermath.js +1 -10
- package/dist/sdk/cetus.cjs +2 -17
- package/dist/sdk/cetus.d.cts +8 -4
- package/dist/sdk/cetus.d.ts +8 -4
- package/dist/sdk/cetus.js +2 -11
- package/dist/sdk/flowx.cjs +1 -13
- package/dist/sdk/flowx.d.cts +1 -1
- package/dist/sdk/flowx.d.ts +1 -1
- package/dist/sdk/flowx.js +1 -11
- package/package.json +34 -31
- package/src/class/base.ts +1 -1
- package/src/index.ts +1 -2
- package/src/sdk/aftermath.ts +30 -12
- package/src/sdk/cetus.ts +22 -8
- package/src/sdk/index.ts +0 -1
- package/src/sdk/util.ts +10 -4
- package/dist/chunk-DOMXI4CB.js +0 -3
- package/dist/chunk-Q2MQ6ISF.cjs +0 -18
- package/dist/chunk-RJTK6ARK.cjs +0 -5
- package/dist/chunk-WDS4CSDY.js +0 -9
package/README.md
CHANGED
|
@@ -1,21 +1,29 @@
|
|
|
1
1
|
### Scallop Swap Meta Aggregator SDK
|
|
2
2
|
|
|
3
|
-
A unified SDK that aggregates existing swap aggregators on Sui, including Aftermath, Cetus,
|
|
3
|
+
A unified SDK that aggregates existing swap aggregators on Sui, including Aftermath, Cetus, and FlowX and provides a generic `SwapSdkBase` class for seamless integration and extension with future swap aggregators.
|
|
4
4
|
|
|
5
5
|
#### Adding a Custom SDK Integration
|
|
6
6
|
|
|
7
7
|
Extend `SwapSdkBase` with your own SDK-specific generic types:
|
|
8
8
|
|
|
9
9
|
```typescript
|
|
10
|
-
import {
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
import {
|
|
11
|
+
SwapSdkBase,
|
|
12
|
+
SwapSdkConstructorParams,
|
|
13
|
+
} from '@scallop-io/scallop-swap-sdk';
|
|
14
|
+
|
|
15
|
+
class MyDexSwap extends SwapSdkBase<
|
|
16
|
+
MyPoolType,
|
|
17
|
+
MyRawRoute,
|
|
18
|
+
MyFetchSettings,
|
|
19
|
+
MyClient
|
|
20
|
+
> {
|
|
13
21
|
constructor(params: SwapSdkConstructorParams<MyFetchSettings>) {
|
|
14
22
|
super('mydex', params);
|
|
15
23
|
this.client = new MyClient(/* ... */);
|
|
16
24
|
}
|
|
17
25
|
|
|
18
|
-
// Implement abstract methods: fetchRoute, buildSwapTransaction, setFetchRouteSettings, calcSlippage
|
|
26
|
+
// Implement abstract methods: fetchRoute, buildSwapTransaction, setFetchRouteSettings, calcSlippage, ensureClient
|
|
19
27
|
}
|
|
20
28
|
```
|
|
21
29
|
|
|
@@ -214,4 +214,4 @@ declare abstract class SwapSdkBase<PoolType = string, RawRouteResultType = any,
|
|
|
214
214
|
}>;
|
|
215
215
|
}
|
|
216
216
|
|
|
217
|
-
export { type AggregatorEvents as A, type Coin as C, type
|
|
217
|
+
export { type AggregatorEvents as A, type Coin as C, type FetchRouteParams as F, SwapSdkBase as S, TypedEventEmitter as T, type SwapSdkConstructorParams as a, type FetchRouteResult as b, type SwapParams as c, type FormattedRouteResult as d, type SwapRoute as e, type FetchRoutesOptions as f, type SwapBuildResult as g, type AggregatorEvent as h, type AggregatorStatusEvent as i, type AllSwapSdkPoolStatusEvent as j, type SlippageChangedEvent as k, type SwapCoinInfo as l, type SwapPath as m, type SwapSdkBaseInterface as n, type SwapSdkEvents as o, type SwapSdkPoolStatusEvent as p };
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
import * as _mysten_sui_client from '@mysten/sui/client';
|
|
2
|
+
import { ClientWithCoreApi } from '@mysten/sui/client';
|
|
3
|
+
import { Transaction, TransactionObjectArgument } from '@mysten/sui/transactions';
|
|
4
|
+
import { SuiGrpcClient } from '@mysten/sui/grpc';
|
|
5
|
+
import { EventEmitter } from 'events';
|
|
6
|
+
|
|
7
|
+
interface Coin {
|
|
8
|
+
type: string;
|
|
9
|
+
amount: bigint;
|
|
10
|
+
}
|
|
11
|
+
interface SwapCoinInfo {
|
|
12
|
+
coinIn: Coin;
|
|
13
|
+
coinOut: Coin;
|
|
14
|
+
}
|
|
15
|
+
interface SwapPath extends SwapCoinInfo {
|
|
16
|
+
protocolName: string;
|
|
17
|
+
}
|
|
18
|
+
interface SwapRoute extends SwapCoinInfo {
|
|
19
|
+
paths: SwapPath[];
|
|
20
|
+
splitPercentage?: number;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Common interface for route result (for frontend display purposes)
|
|
24
|
+
*/
|
|
25
|
+
interface FormattedRouteResult {
|
|
26
|
+
routes: SwapRoute[];
|
|
27
|
+
coinIn: Coin;
|
|
28
|
+
coinOut: Coin;
|
|
29
|
+
name: string;
|
|
30
|
+
}
|
|
31
|
+
type FetchRouteResult<T> = {
|
|
32
|
+
rawRouteResult: T;
|
|
33
|
+
formattedResult: FormattedRouteResult;
|
|
34
|
+
};
|
|
35
|
+
type FetchRoutesOptions = {
|
|
36
|
+
onRouteFound?: (route: FetchRouteResult<any>) => void;
|
|
37
|
+
onError?: (error: {
|
|
38
|
+
name: string;
|
|
39
|
+
reason: unknown;
|
|
40
|
+
}) => void;
|
|
41
|
+
abortSignal?: AbortSignal;
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
type FetchRouteParams = {
|
|
45
|
+
coinInType: string;
|
|
46
|
+
coinOutType: string;
|
|
47
|
+
swapAmount: bigint;
|
|
48
|
+
};
|
|
49
|
+
type SwapParams<T> = {
|
|
50
|
+
route?: FetchRouteResult<T>;
|
|
51
|
+
/**
|
|
52
|
+
* In decimal, e.g. 0.01 for 1% slippage
|
|
53
|
+
*/
|
|
54
|
+
slippage: number;
|
|
55
|
+
minAmountOut?: bigint;
|
|
56
|
+
txExtensionParams?: {
|
|
57
|
+
initTx: Transaction;
|
|
58
|
+
coinIn: TransactionObjectArgument;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
type SwapBuildResult<MergeResult extends boolean> = MergeResult extends true ? {
|
|
62
|
+
tx: Transaction;
|
|
63
|
+
coinOutType: string;
|
|
64
|
+
} : {
|
|
65
|
+
tx: Transaction;
|
|
66
|
+
coinOutType: string;
|
|
67
|
+
coinOut: TransactionObjectArgument;
|
|
68
|
+
};
|
|
69
|
+
interface SwapSdkConstructorParams<T> {
|
|
70
|
+
suiClient?: ClientWithCoreApi;
|
|
71
|
+
fetchTimeoutInMs?: number;
|
|
72
|
+
walletAddress: string;
|
|
73
|
+
fetchSettings?: T;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Base interface for Swap SDK
|
|
77
|
+
*/
|
|
78
|
+
interface SwapSdkBaseInterface<PoolType = string, RawRouteResultType = any, FetchRouteSettings = any, SdkClient = ClientWithCoreApi> {
|
|
79
|
+
/**
|
|
80
|
+
* SDK specific client
|
|
81
|
+
*/
|
|
82
|
+
client?: SdkClient;
|
|
83
|
+
/**
|
|
84
|
+
* How long the route fetch request should wait before timing out (in milliseconds)
|
|
85
|
+
*/
|
|
86
|
+
fetchTimeoutInMs?: number;
|
|
87
|
+
/**
|
|
88
|
+
* Pools or DEXes available in the SDK
|
|
89
|
+
*/
|
|
90
|
+
pools?: PoolType[];
|
|
91
|
+
/**
|
|
92
|
+
* Map of pools or DEXes available in the SDK for quick lookup
|
|
93
|
+
*/
|
|
94
|
+
poolsMap?: Map<PoolType, boolean>;
|
|
95
|
+
/**
|
|
96
|
+
* Fetch route settings based on SDK-specific settings
|
|
97
|
+
*/
|
|
98
|
+
fetchSettings?: FetchRouteSettings;
|
|
99
|
+
/**
|
|
100
|
+
* Set fetch route settings based on SDK-specific settings
|
|
101
|
+
* @param settings
|
|
102
|
+
* @returns
|
|
103
|
+
*/
|
|
104
|
+
setFetchRouteSettings: (settings: FetchRouteSettings) => void;
|
|
105
|
+
togglePoolStatus: (pool: PoolType, enabled?: boolean) => void;
|
|
106
|
+
toggleAllPoolStatus: (enabled: boolean) => void;
|
|
107
|
+
setSuiClient: (client: SuiGrpcClient) => void;
|
|
108
|
+
setWalletAddress: (address: string) => void;
|
|
109
|
+
/**
|
|
110
|
+
* Calculate slippage for the specific protocol.
|
|
111
|
+
* Each protocol may have different way to represent slippage, e.g. in decimal, in bps, etc.
|
|
112
|
+
* This function will convert a unified slippage input (in decimal) to the protocol specific slippage value.
|
|
113
|
+
* @param slippageInDecimal
|
|
114
|
+
* @returns SDK specific slippage value
|
|
115
|
+
*/
|
|
116
|
+
calcSlippage: (slippageInDecimal: number) => number;
|
|
117
|
+
fetchRoute: (params: FetchRouteParams) => Promise<FetchRouteResult<RawRouteResultType>>;
|
|
118
|
+
/**
|
|
119
|
+
* Select coinIn for swap transaction
|
|
120
|
+
* @param tx
|
|
121
|
+
* @param amount
|
|
122
|
+
* @param coinType
|
|
123
|
+
* @returns Promise<TransactionObjectArgument>
|
|
124
|
+
*/
|
|
125
|
+
selectCoinInForSwap: (tx: Transaction, amount: bigint, coinType: string) => Promise<TransactionObjectArgument>;
|
|
126
|
+
buildSwapTransaction: (params: SwapParams<RawRouteResultType>) => Promise<{
|
|
127
|
+
tx: Transaction;
|
|
128
|
+
coinOut: TransactionObjectArgument;
|
|
129
|
+
}>;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
type SwapSdkPoolStatusEvent<PoolType> = {
|
|
133
|
+
name: string;
|
|
134
|
+
pool: PoolType;
|
|
135
|
+
enabled: boolean;
|
|
136
|
+
};
|
|
137
|
+
type AllSwapSdkPoolStatusEvent = {
|
|
138
|
+
name: string;
|
|
139
|
+
enabled: boolean;
|
|
140
|
+
};
|
|
141
|
+
type SwapSdkEvents<PoolType> = {
|
|
142
|
+
poolStatusChanged: SwapSdkPoolStatusEvent<PoolType>;
|
|
143
|
+
allPoolStatusChanged: AllSwapSdkPoolStatusEvent;
|
|
144
|
+
};
|
|
145
|
+
type SlippageChangedEvent = {
|
|
146
|
+
slippageInDecimal: number;
|
|
147
|
+
};
|
|
148
|
+
type AggregatorStatusEvent = {
|
|
149
|
+
name: string;
|
|
150
|
+
enabled: boolean;
|
|
151
|
+
};
|
|
152
|
+
type AggregatorEvent = {
|
|
153
|
+
name: string;
|
|
154
|
+
};
|
|
155
|
+
type AggregatorEvents<PoolType> = {
|
|
156
|
+
poolStatusChanged: SwapSdkPoolStatusEvent<PoolType>;
|
|
157
|
+
allPoolStatusChanged: AllSwapSdkPoolStatusEvent;
|
|
158
|
+
aggregatorStatusChanged: AggregatorStatusEvent;
|
|
159
|
+
aggregatorRemoved: AggregatorEvent;
|
|
160
|
+
aggregatorAdded: AggregatorEvent;
|
|
161
|
+
aggregatorSlippageChanged: SlippageChangedEvent;
|
|
162
|
+
aggregatorFetchStart: AggregatorEvent;
|
|
163
|
+
aggregatorFetchEnd: AggregatorEvent;
|
|
164
|
+
};
|
|
165
|
+
|
|
166
|
+
declare class TypedEventEmitter<Events extends Record<string, any>> extends EventEmitter {
|
|
167
|
+
on<K extends keyof Events & (string | symbol)>(event: K, listener: (payload: Events[K]) => void): this;
|
|
168
|
+
once<K extends keyof Events & (string | symbol)>(event: K, listener: (payload: Events[K]) => void): this;
|
|
169
|
+
off<K extends keyof Events & (string | symbol)>(event: K, listener: (payload: Events[K]) => void): this;
|
|
170
|
+
emit<K extends keyof Events & (string | symbol)>(event: K, payload: Events[K]): boolean;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
declare abstract class SwapSdkBase<PoolType = string, RawRouteResultType = any, FetchRouteSettings = any, SdkClient = any> implements SwapSdkBaseInterface<PoolType, RawRouteResultType, FetchRouteSettings, SdkClient> {
|
|
174
|
+
protected rawRouteResult?: RawRouteResultType;
|
|
175
|
+
readonly name: string;
|
|
176
|
+
readonly events: TypedEventEmitter<SwapSdkEvents<PoolType>>;
|
|
177
|
+
client?: SdkClient;
|
|
178
|
+
suiClient: ClientWithCoreApi;
|
|
179
|
+
fetchTimeoutInMs?: number;
|
|
180
|
+
walletAddress: string;
|
|
181
|
+
fetchSettings?: FetchRouteSettings;
|
|
182
|
+
poolsMap: Map<PoolType, boolean>;
|
|
183
|
+
constructor(name: string, params: SwapSdkConstructorParams<FetchRouteSettings>);
|
|
184
|
+
abstract ensureClient(): Promise<SdkClient>;
|
|
185
|
+
get pools(): PoolType[];
|
|
186
|
+
protected validateWalletAddress(): asserts this is typeof SwapSdkBase & {
|
|
187
|
+
walletAddress: string;
|
|
188
|
+
};
|
|
189
|
+
protected validateClient(): asserts this is typeof SwapSdkBase & {
|
|
190
|
+
client: SdkClient;
|
|
191
|
+
};
|
|
192
|
+
setWalletAddress(address: string): void;
|
|
193
|
+
setSuiClient(client: ClientWithCoreApi): void;
|
|
194
|
+
abstract calcSlippage(slippageInDecimal: number): number;
|
|
195
|
+
togglePoolStatus(pool: PoolType, enabled?: boolean): void;
|
|
196
|
+
toggleAllPoolStatus(enabled: boolean): void;
|
|
197
|
+
getEnabledPools(): PoolType[];
|
|
198
|
+
protected normalizeFetchRouteParams(params: FetchRouteParams): FetchRouteParams;
|
|
199
|
+
protected withTimeout<T>(fn: Promise<T>, abortSignal?: AbortSignal): Promise<T>;
|
|
200
|
+
selectCoinInForSwap(tx: Transaction, amount: bigint, coinType: string): Promise<{
|
|
201
|
+
NestedResult: [number, number];
|
|
202
|
+
$kind: "NestedResult";
|
|
203
|
+
} | {
|
|
204
|
+
$kind: "Input";
|
|
205
|
+
Input: number;
|
|
206
|
+
type?: "object";
|
|
207
|
+
}>;
|
|
208
|
+
protected selectCoins(coinType: string, amount: string): Promise<_mysten_sui_client.SuiClientTypes.Coin[]>;
|
|
209
|
+
abstract setFetchRouteSettings(settings: FetchRouteSettings): void;
|
|
210
|
+
abstract fetchRoute(params: FetchRouteParams, abortSignal?: AbortSignal): Promise<FetchRouteResult<RawRouteResultType>>;
|
|
211
|
+
abstract buildSwapTransaction(params: SwapParams<RawRouteResultType>): Promise<{
|
|
212
|
+
tx: Transaction;
|
|
213
|
+
coinOut: TransactionObjectArgument;
|
|
214
|
+
}>;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
export { type AggregatorEvents as A, type Coin as C, type FetchRouteParams as F, SwapSdkBase as S, TypedEventEmitter as T, type SwapSdkConstructorParams as a, type FetchRouteResult as b, type SwapParams as c, type FormattedRouteResult as d, type SwapRoute as e, type FetchRoutesOptions as f, type SwapBuildResult as g, type AggregatorEvent as h, type AggregatorStatusEvent as i, type AllSwapSdkPoolStatusEvent as j, type SlippageChangedEvent as k, type SwapCoinInfo as l, type SwapPath as m, type SwapSdkBaseInterface as n, type SwapSdkEvents as o, type SwapSdkPoolStatusEvent as p };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var utils=require('@mysten/sui/utils'),bignumber_js=require('bignumber.js'),events=require('events'),grpc=require('@mysten/sui/grpc'),suiKit=require('@scallop-io/sui-kit');var A=utils.normalizeStructTag(utils.SUI_TYPE_ARG),p=n=>utils.normalizeStructTag(n)===A,f=async(n,t,e,r)=>{let i=[],s=bignumber_js.BigNumber(e),l=null;try{do{let{objects:o,hasNextPage:a,cursor:c}=await n.core.listCoins({coinType:t,owner:r,limit:50,cursor:l});if(i.push(...o),s=s.minus(o.reduce((v,R)=>v.plus(bignumber_js.BigNumber(R.balance)),bignumber_js.BigNumber(0))),s.lte(0)||(l=c??null,!a))break}while(l)}catch(o){throw new Error(o?.message??"Failed to fetch coins")}if(i.length===0)throw new Error(`No available coin for type ${t} found in wallet ${r}`);if(s.gt(0))throw new Error(`Insufficient balance for coin type ${t} in wallet ${r}`);return i},S=async(n,t,e,r,i)=>{try{if(p(r))n.mergeCoins(n.gas,[t]);else {let{objects:s}=await e.core.listCoins({coinType:r,owner:i,limit:1});if(!s.length)throw new Error(`No existing ${r} coin found to merge with`);let l=n.objectRef({objectId:s[0].objectId,version:s[0].version,digest:s[0].digest});s.length===1?n.mergeCoins(l,[t]):n.mergeCoins(l,[t,...s.slice(1).map(o=>n.objectRef({objectId:o.objectId,version:o.version,digest:o.digest}))]);}}catch{n.transferObjects([t],n.pure.address(i));}},b=n=>n[0].toUpperCase()+n.slice(1),O=n=>n.split("_").map(b).join(" ");var u=class extends events.EventEmitter{on(t,e){return super.on(t,e)}once(t,e){return super.once(t,e)}off(t,e){return super.off(t,e)}emit(t,e){return super.emit(t,e)}};var y=class{rawRouteResult;name="";events=new u;client;suiClient;fetchTimeoutInMs;walletAddress;fetchSettings;poolsMap=new Map;constructor(t,e){this.suiClient=e.suiClient??new grpc.SuiGrpcClient({baseUrl:"https://fullnode.mainnet.sui.io:443",network:"mainnet"}).core,this.fetchTimeoutInMs=e.fetchTimeoutInMs??4e3,this.walletAddress=e.walletAddress,this.name=t.toLowerCase(),e.fetchSettings&&this.setFetchRouteSettings(e.fetchSettings);}get pools(){return Array.from(this.poolsMap.keys())}validateWalletAddress(){if(!this.walletAddress||this.walletAddress.length===0)throw new Error("Wallet address is not set")}validateClient(){if(!this.client)throw new Error("SDK client is not set")}setWalletAddress(t){this.walletAddress=t;}setSuiClient(t){this.suiClient=t;}togglePoolStatus(t,e){let r=e??!(this.poolsMap.get(t)??true);this.poolsMap.set(t,r),this.events.emit("poolStatusChanged",{name:this.name,pool:t,enabled:r});}toggleAllPoolStatus(t){this.pools.forEach(e=>{this.poolsMap.set(e,t);}),this.events.emit("allPoolStatusChanged",{name:this.name,enabled:t});}getEnabledPools(){return Array.from(this.poolsMap.entries()).filter(([t,e])=>e).map(([t,e])=>t)}normalizeFetchRouteParams(t){return {...t,coinInType:utils.normalizeStructTag(t.coinInType),coinOutType:utils.normalizeStructTag(t.coinOutType)}}async withTimeout(t,e){let r,i,s=[t,new Promise((l,o)=>{r=setTimeout(()=>{o(new Error(`${this.name} fetch route timeout`));},this.fetchTimeoutInMs);})];e&&s.push(new Promise((l,o)=>{if(e.aborted){o(e.reason??new Error(`${this.name} fetch route aborted`));return}i=()=>o(e.reason??new Error(`${this.name} fetch route aborted`)),e.addEventListener("abort",i,{once:true});}));try{return await Promise.race(s)}finally{r&&clearTimeout(r),e&&i&&e.removeEventListener("abort",i);}}async selectCoinInForSwap(t,e,r){let i=bignumber_js.BigNumber(e.toString());if(p(r)){let[s]=t.splitCoins(t.gas,[i.toString()]);return s}else {let s=await this.selectCoins(r,i.toString()),l=s.reduce((a,c)=>a.plus(bignumber_js.BigNumber(c.balance)),bignumber_js.BigNumber(0)),o=t.objectRef({objectId:s[0].objectId,version:s[0].version,digest:s[0].digest});if(s.length>1&&t.mergeCoins(o,s.slice(1).map(a=>t.objectRef({objectId:a.objectId,version:a.version,digest:a.digest}))),l.gt(i)){let[a]=t.splitCoins(o,[i.toString()]);return a}else return o}}async selectCoins(t,e){return this.validateWalletAddress(),await f(this.suiClient,t,e,this.walletAddress)}};var g=class{constructor(t,e){this.client=t;e&&e.forEach(r=>this.cache.set(r.coinType,r));}client;cache=new Map;setClient(t){this.client=t;}async getCoinMetadata(t){let e=utils.normalizeStructTag(t);if(this.cache.has(e))return this.cache.get(e);let{coinMetadata:r}=await this.client.core.getCoinMetadata({coinType:e}),i=r;if(!i)throw new Error(`Coin metadata not found for coin type: ${e}`);return this.cache.set(e,i),i}};var C=class{coinMetadata;suiKit;events=new u;_slippage=.003;signerMode=false;aggregatorMap=new Map;activeAggregator=new Map;_fetchingStatus=new Map;poolStatusForwarders=new Map;allPoolStatusForwarders=new Map;walletAddress;client;constructor(t){if(this.client=t.client??new grpc.SuiGrpcClient({baseUrl:t.fullnodeUrl||"https://fullnode.mainnet.sui.io:443",network:"mainnet"}),this.coinMetadata=new g(this.client),this.signerMode=!!(t.secretKey||t.mnemonics),t.secretKey||t.mnemonics)this.suiKit=new suiKit.SuiKit({...t,suiClients:[this.client]}),this.walletAddress=this.suiKit.currentAddress;else if(t.walletAddress!==void 0)this.walletAddress=t.walletAddress;else throw new Error("One of secretKey, mnemonics or walletAddress must be provided")}async init(){await Promise.all(this.aggregators.map(t=>t.ensureClient()));}forwardPoolStatusChangeEvent(t){this.events.emit("poolStatusChanged",t);}addAggregator(t){for(let e of t)if(!this.aggregatorMap.has(e.name)){this.aggregatorMap.set(e.name,e),this.activeAggregator.set(e.name,true),this._fetchingStatus.set(e.name,false);let r=s=>this.forwardPoolStatusChangeEvent(s);this.poolStatusForwarders.set(e.name,r),e.events.on("poolStatusChanged",r);let i=s=>this.events.emit("allPoolStatusChanged",s);this.allPoolStatusForwarders.set(e.name,i),e.events.on("allPoolStatusChanged",i),this.events.emit("aggregatorAdded",{name:e.name});}}getActiveAggregators(){return Array.from(this.activeAggregator.entries()).filter(([t,e])=>e).map(([t,e])=>t)}getAggregator(t){return this.aggregatorMap.get(t)}toggleAggregator(t,e){if(!this.activeAggregator.has(t))throw new Error(`Aggregator ${t} not found`);this.activeAggregator.set(t,e),this.events.emit("aggregatorStatusChanged",{name:t,enabled:e});}removeAggregator(t){let e=this.aggregatorMap.get(t);if(!e)throw new Error(`Aggregator ${t} not found`);let r=this.poolStatusForwarders.get(t);r&&e.events.off("poolStatusChanged",r),this.poolStatusForwarders.delete(t);let i=this.allPoolStatusForwarders.get(t);i&&e.events.off("allPoolStatusChanged",i),this.allPoolStatusForwarders.delete(t),this.aggregatorMap.delete(t),this.activeAggregator.delete(t),this._fetchingStatus.delete(t),this.events.emit("aggregatorRemoved",{name:t});}get aggregators(){return Array.from(this.aggregatorMap.values())}get fetchingStatus(){return Object.fromEntries(this._fetchingStatus)}get slippage(){return this._slippage}setSlippage(t){this._slippage=t,this.events.emit("aggregatorSlippageChanged",{slippageInDecimal:t});}setFetchTimeoutInMs(t){this.aggregators.forEach(e=>{e.fetchTimeoutInMs=t;});}#t(){if(!this.suiKit)throw new Error("SuiKit is not initialized.")}setSuiClient(t){this.aggregators.forEach(e=>{e.setSuiClient(t);}),this.coinMetadata.setClient(t),this.client=t;}setWalletAddress(t){if(this.signerMode)throw new Error("Cannot change wallet address when SuiKit is initialized with secretKey or mnemonics.");this.walletAddress=t,this.aggregators.forEach(e=>{e.setWalletAddress(t);});}async getCoinMetadata(t){return this.coinMetadata.getCoinMetadata(t)}async fetchRoutes(t,e){let r=this.aggregators.filter(({name:o})=>this.activeAggregator.get(o)===true),i=[],s=[],l=r.map(async o=>{this._fetchingStatus.set(o.name,true),this.events.emit("aggregatorFetchStart",{name:o.name});try{let a=await o.fetchRoute(t,e?.abortSignal);i.push(a),e?.onRouteFound?.(a);}catch(a){let c={name:o.name,reason:a};s.push(c),e?.onError?.(c);}finally{this._fetchingStatus.set(o.name,false),this.events.emit("aggregatorFetchEnd",{name:o.name});}});return await Promise.all(l),{routes:i.sort((o,a)=>bignumber_js.BigNumber(a.formattedResult.coinOut.amount).comparedTo(o.formattedResult.coinOut.amount)??0),errors:s}}async buildRouteTransaction(t,e={}){let{mergeResult:r=true,txExtensionParams:i}=e,s=this.aggregatorMap.get(t.formattedResult.name);if(!s)throw new Error(`Aggregator ${t.formattedResult.name} not found in the aggregator list`);let{tx:l,coinOut:o}=await s.buildSwapTransaction({route:t,slippage:e.slippage??this.slippage,txExtensionParams:i}),a=t.formattedResult.coinOut.type;return r?(await S(l,o,this.client,a,this.walletAddress),{tx:l,coinOutType:a}):{tx:l,coinOut:o,coinOutType:a}}async executeSwapTransaction(t,e=false){return this.#t(),e?(t.setSender(this.walletAddress),this.suiKit.dryRunTxn(t)):this.suiKit.signAndSendTxn(t)}};
|
|
2
|
+
exports.a=p;exports.b=f;exports.c=S;exports.d=O;exports.e=u;exports.f=y;exports.g=g;exports.h=C;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function i(n,r){let e;return async()=>{if(e)return e;try{return e=await r(),e}catch(t){throw t?.code==="ERR_MODULE_NOT_FOUND"||t?.code==="MODULE_NOT_FOUND"?new Error(`${n} is required but not installed. Install it with: pnpm add ${n}`):t}}}export{i as a};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {normalizeStructTag,SUI_TYPE_ARG}from'@mysten/sui/utils';import {BigNumber}from'bignumber.js';import {EventEmitter}from'events';import {SuiGrpcClient}from'@mysten/sui/grpc';import {SuiKit}from'@scallop-io/sui-kit';var A=normalizeStructTag(SUI_TYPE_ARG),p=n=>normalizeStructTag(n)===A,f=async(n,t,e,r)=>{let i=[],s=BigNumber(e),l=null;try{do{let{objects:o,hasNextPage:a,cursor:c}=await n.core.listCoins({coinType:t,owner:r,limit:50,cursor:l});if(i.push(...o),s=s.minus(o.reduce((v,R)=>v.plus(BigNumber(R.balance)),BigNumber(0))),s.lte(0)||(l=c??null,!a))break}while(l)}catch(o){throw new Error(o?.message??"Failed to fetch coins")}if(i.length===0)throw new Error(`No available coin for type ${t} found in wallet ${r}`);if(s.gt(0))throw new Error(`Insufficient balance for coin type ${t} in wallet ${r}`);return i},S=async(n,t,e,r,i)=>{try{if(p(r))n.mergeCoins(n.gas,[t]);else {let{objects:s}=await e.core.listCoins({coinType:r,owner:i,limit:1});if(!s.length)throw new Error(`No existing ${r} coin found to merge with`);let l=n.objectRef({objectId:s[0].objectId,version:s[0].version,digest:s[0].digest});s.length===1?n.mergeCoins(l,[t]):n.mergeCoins(l,[t,...s.slice(1).map(o=>n.objectRef({objectId:o.objectId,version:o.version,digest:o.digest}))]);}}catch{n.transferObjects([t],n.pure.address(i));}},b=n=>n[0].toUpperCase()+n.slice(1),O=n=>n.split("_").map(b).join(" ");var u=class extends EventEmitter{on(t,e){return super.on(t,e)}once(t,e){return super.once(t,e)}off(t,e){return super.off(t,e)}emit(t,e){return super.emit(t,e)}};var y=class{rawRouteResult;name="";events=new u;client;suiClient;fetchTimeoutInMs;walletAddress;fetchSettings;poolsMap=new Map;constructor(t,e){this.suiClient=e.suiClient??new SuiGrpcClient({baseUrl:"https://fullnode.mainnet.sui.io:443",network:"mainnet"}).core,this.fetchTimeoutInMs=e.fetchTimeoutInMs??4e3,this.walletAddress=e.walletAddress,this.name=t.toLowerCase(),e.fetchSettings&&this.setFetchRouteSettings(e.fetchSettings);}get pools(){return Array.from(this.poolsMap.keys())}validateWalletAddress(){if(!this.walletAddress||this.walletAddress.length===0)throw new Error("Wallet address is not set")}validateClient(){if(!this.client)throw new Error("SDK client is not set")}setWalletAddress(t){this.walletAddress=t;}setSuiClient(t){this.suiClient=t;}togglePoolStatus(t,e){let r=e??!(this.poolsMap.get(t)??true);this.poolsMap.set(t,r),this.events.emit("poolStatusChanged",{name:this.name,pool:t,enabled:r});}toggleAllPoolStatus(t){this.pools.forEach(e=>{this.poolsMap.set(e,t);}),this.events.emit("allPoolStatusChanged",{name:this.name,enabled:t});}getEnabledPools(){return Array.from(this.poolsMap.entries()).filter(([t,e])=>e).map(([t,e])=>t)}normalizeFetchRouteParams(t){return {...t,coinInType:normalizeStructTag(t.coinInType),coinOutType:normalizeStructTag(t.coinOutType)}}async withTimeout(t,e){let r,i,s=[t,new Promise((l,o)=>{r=setTimeout(()=>{o(new Error(`${this.name} fetch route timeout`));},this.fetchTimeoutInMs);})];e&&s.push(new Promise((l,o)=>{if(e.aborted){o(e.reason??new Error(`${this.name} fetch route aborted`));return}i=()=>o(e.reason??new Error(`${this.name} fetch route aborted`)),e.addEventListener("abort",i,{once:true});}));try{return await Promise.race(s)}finally{r&&clearTimeout(r),e&&i&&e.removeEventListener("abort",i);}}async selectCoinInForSwap(t,e,r){let i=BigNumber(e.toString());if(p(r)){let[s]=t.splitCoins(t.gas,[i.toString()]);return s}else {let s=await this.selectCoins(r,i.toString()),l=s.reduce((a,c)=>a.plus(BigNumber(c.balance)),BigNumber(0)),o=t.objectRef({objectId:s[0].objectId,version:s[0].version,digest:s[0].digest});if(s.length>1&&t.mergeCoins(o,s.slice(1).map(a=>t.objectRef({objectId:a.objectId,version:a.version,digest:a.digest}))),l.gt(i)){let[a]=t.splitCoins(o,[i.toString()]);return a}else return o}}async selectCoins(t,e){return this.validateWalletAddress(),await f(this.suiClient,t,e,this.walletAddress)}};var g=class{constructor(t,e){this.client=t;e&&e.forEach(r=>this.cache.set(r.coinType,r));}client;cache=new Map;setClient(t){this.client=t;}async getCoinMetadata(t){let e=normalizeStructTag(t);if(this.cache.has(e))return this.cache.get(e);let{coinMetadata:r}=await this.client.core.getCoinMetadata({coinType:e}),i=r;if(!i)throw new Error(`Coin metadata not found for coin type: ${e}`);return this.cache.set(e,i),i}};var C=class{coinMetadata;suiKit;events=new u;_slippage=.003;signerMode=false;aggregatorMap=new Map;activeAggregator=new Map;_fetchingStatus=new Map;poolStatusForwarders=new Map;allPoolStatusForwarders=new Map;walletAddress;client;constructor(t){if(this.client=t.client??new SuiGrpcClient({baseUrl:t.fullnodeUrl||"https://fullnode.mainnet.sui.io:443",network:"mainnet"}),this.coinMetadata=new g(this.client),this.signerMode=!!(t.secretKey||t.mnemonics),t.secretKey||t.mnemonics)this.suiKit=new SuiKit({...t,suiClients:[this.client]}),this.walletAddress=this.suiKit.currentAddress;else if(t.walletAddress!==void 0)this.walletAddress=t.walletAddress;else throw new Error("One of secretKey, mnemonics or walletAddress must be provided")}async init(){await Promise.all(this.aggregators.map(t=>t.ensureClient()));}forwardPoolStatusChangeEvent(t){this.events.emit("poolStatusChanged",t);}addAggregator(t){for(let e of t)if(!this.aggregatorMap.has(e.name)){this.aggregatorMap.set(e.name,e),this.activeAggregator.set(e.name,true),this._fetchingStatus.set(e.name,false);let r=s=>this.forwardPoolStatusChangeEvent(s);this.poolStatusForwarders.set(e.name,r),e.events.on("poolStatusChanged",r);let i=s=>this.events.emit("allPoolStatusChanged",s);this.allPoolStatusForwarders.set(e.name,i),e.events.on("allPoolStatusChanged",i),this.events.emit("aggregatorAdded",{name:e.name});}}getActiveAggregators(){return Array.from(this.activeAggregator.entries()).filter(([t,e])=>e).map(([t,e])=>t)}getAggregator(t){return this.aggregatorMap.get(t)}toggleAggregator(t,e){if(!this.activeAggregator.has(t))throw new Error(`Aggregator ${t} not found`);this.activeAggregator.set(t,e),this.events.emit("aggregatorStatusChanged",{name:t,enabled:e});}removeAggregator(t){let e=this.aggregatorMap.get(t);if(!e)throw new Error(`Aggregator ${t} not found`);let r=this.poolStatusForwarders.get(t);r&&e.events.off("poolStatusChanged",r),this.poolStatusForwarders.delete(t);let i=this.allPoolStatusForwarders.get(t);i&&e.events.off("allPoolStatusChanged",i),this.allPoolStatusForwarders.delete(t),this.aggregatorMap.delete(t),this.activeAggregator.delete(t),this._fetchingStatus.delete(t),this.events.emit("aggregatorRemoved",{name:t});}get aggregators(){return Array.from(this.aggregatorMap.values())}get fetchingStatus(){return Object.fromEntries(this._fetchingStatus)}get slippage(){return this._slippage}setSlippage(t){this._slippage=t,this.events.emit("aggregatorSlippageChanged",{slippageInDecimal:t});}setFetchTimeoutInMs(t){this.aggregators.forEach(e=>{e.fetchTimeoutInMs=t;});}#t(){if(!this.suiKit)throw new Error("SuiKit is not initialized.")}setSuiClient(t){this.aggregators.forEach(e=>{e.setSuiClient(t);}),this.coinMetadata.setClient(t),this.client=t;}setWalletAddress(t){if(this.signerMode)throw new Error("Cannot change wallet address when SuiKit is initialized with secretKey or mnemonics.");this.walletAddress=t,this.aggregators.forEach(e=>{e.setWalletAddress(t);});}async getCoinMetadata(t){return this.coinMetadata.getCoinMetadata(t)}async fetchRoutes(t,e){let r=this.aggregators.filter(({name:o})=>this.activeAggregator.get(o)===true),i=[],s=[],l=r.map(async o=>{this._fetchingStatus.set(o.name,true),this.events.emit("aggregatorFetchStart",{name:o.name});try{let a=await o.fetchRoute(t,e?.abortSignal);i.push(a),e?.onRouteFound?.(a);}catch(a){let c={name:o.name,reason:a};s.push(c),e?.onError?.(c);}finally{this._fetchingStatus.set(o.name,false),this.events.emit("aggregatorFetchEnd",{name:o.name});}});return await Promise.all(l),{routes:i.sort((o,a)=>BigNumber(a.formattedResult.coinOut.amount).comparedTo(o.formattedResult.coinOut.amount)??0),errors:s}}async buildRouteTransaction(t,e={}){let{mergeResult:r=true,txExtensionParams:i}=e,s=this.aggregatorMap.get(t.formattedResult.name);if(!s)throw new Error(`Aggregator ${t.formattedResult.name} not found in the aggregator list`);let{tx:l,coinOut:o}=await s.buildSwapTransaction({route:t,slippage:e.slippage??this.slippage,txExtensionParams:i}),a=t.formattedResult.coinOut.type;return r?(await S(l,o,this.client,a,this.walletAddress),{tx:l,coinOutType:a}):{tx:l,coinOut:o,coinOutType:a}}async executeSwapTransaction(t,e=false){return this.#t(),e?(t.setSender(this.walletAddress),this.suiKit.dryRunTxn(t)):this.suiKit.signAndSendTxn(t)}};
|
|
2
|
+
export{p as a,f as b,S as c,O as d,u as e,y as f,g,C as h};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';function i(n,r){let e;return async()=>{if(e)return e;try{return e=await r(),e}catch(t){throw t?.code==="ERR_MODULE_NOT_FOUND"||t?.code==="MODULE_NOT_FOUND"?new Error(`${n} is required but not installed. Install it with: pnpm add ${n}`):t}}}exports.a=i;
|
package/dist/index.cjs
CHANGED
|
@@ -1,38 +1 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunkQ2MQ6ISF_cjs = require('./chunk-Q2MQ6ISF.cjs');
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
Object.defineProperty(exports, "Aggregator", {
|
|
8
|
-
enumerable: true,
|
|
9
|
-
get: function () { return chunkQ2MQ6ISF_cjs.h; }
|
|
10
|
-
});
|
|
11
|
-
Object.defineProperty(exports, "CoinMetadataRegistry", {
|
|
12
|
-
enumerable: true,
|
|
13
|
-
get: function () { return chunkQ2MQ6ISF_cjs.g; }
|
|
14
|
-
});
|
|
15
|
-
Object.defineProperty(exports, "SwapSdkBase", {
|
|
16
|
-
enumerable: true,
|
|
17
|
-
get: function () { return chunkQ2MQ6ISF_cjs.f; }
|
|
18
|
-
});
|
|
19
|
-
Object.defineProperty(exports, "TypedEventEmitter", {
|
|
20
|
-
enumerable: true,
|
|
21
|
-
get: function () { return chunkQ2MQ6ISF_cjs.e; }
|
|
22
|
-
});
|
|
23
|
-
Object.defineProperty(exports, "isSuiType", {
|
|
24
|
-
enumerable: true,
|
|
25
|
-
get: function () { return chunkQ2MQ6ISF_cjs.a; }
|
|
26
|
-
});
|
|
27
|
-
Object.defineProperty(exports, "mergeWithExistingOrTransfer", {
|
|
28
|
-
enumerable: true,
|
|
29
|
-
get: function () { return chunkQ2MQ6ISF_cjs.c; }
|
|
30
|
-
});
|
|
31
|
-
Object.defineProperty(exports, "selectCoins", {
|
|
32
|
-
enumerable: true,
|
|
33
|
-
get: function () { return chunkQ2MQ6ISF_cjs.b; }
|
|
34
|
-
});
|
|
35
|
-
Object.defineProperty(exports, "transformProperCase", {
|
|
36
|
-
enumerable: true,
|
|
37
|
-
get: function () { return chunkQ2MQ6ISF_cjs.d; }
|
|
38
|
-
});
|
|
1
|
+
'use strict';var chunk3CBW5I4K_cjs=require('./chunk-3CBW5I4K.cjs');Object.defineProperty(exports,"Aggregator",{enumerable:true,get:function(){return chunk3CBW5I4K_cjs.h}});Object.defineProperty(exports,"CoinMetadataRegistry",{enumerable:true,get:function(){return chunk3CBW5I4K_cjs.g}});Object.defineProperty(exports,"SwapSdkBase",{enumerable:true,get:function(){return chunk3CBW5I4K_cjs.f}});Object.defineProperty(exports,"TypedEventEmitter",{enumerable:true,get:function(){return chunk3CBW5I4K_cjs.e}});Object.defineProperty(exports,"isSuiType",{enumerable:true,get:function(){return chunk3CBW5I4K_cjs.a}});Object.defineProperty(exports,"mergeWithExistingOrTransfer",{enumerable:true,get:function(){return chunk3CBW5I4K_cjs.c}});Object.defineProperty(exports,"selectCoins",{enumerable:true,get:function(){return chunk3CBW5I4K_cjs.b}});Object.defineProperty(exports,"transformProperCase",{enumerable:true,get:function(){return chunk3CBW5I4K_cjs.d}});
|
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { T as TypedEventEmitter, A as AggregatorEvents, S as SwapSdkBase,
|
|
2
|
-
export { h as AggregatorEvent, i as AggregatorStatusEvent, j as AllSwapSdkPoolStatusEvent, C as Coin,
|
|
1
|
+
import { T as TypedEventEmitter, A as AggregatorEvents, S as SwapSdkBase, F as FetchRouteParams, f as FetchRoutesOptions, b as FetchRouteResult, g as SwapBuildResult } from './base-D9ApraXl.cjs';
|
|
2
|
+
export { h as AggregatorEvent, i as AggregatorStatusEvent, j as AllSwapSdkPoolStatusEvent, C as Coin, d as FormattedRouteResult, k as SlippageChangedEvent, l as SwapCoinInfo, c as SwapParams, m as SwapPath, e as SwapRoute, n as SwapSdkBaseInterface, a as SwapSdkConstructorParams, o as SwapSdkEvents, p as SwapSdkPoolStatusEvent } from './base-D9ApraXl.cjs';
|
|
3
3
|
import * as _mysten_sui_client from '@mysten/sui/client';
|
|
4
4
|
import { ClientWithCoreApi, SuiClientTypes } from '@mysten/sui/client';
|
|
5
5
|
import { Transaction, TransactionObjectArgument } from '@mysten/sui/transactions';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { T as TypedEventEmitter, A as AggregatorEvents, S as SwapSdkBase,
|
|
2
|
-
export { h as AggregatorEvent, i as AggregatorStatusEvent, j as AllSwapSdkPoolStatusEvent, C as Coin,
|
|
1
|
+
import { T as TypedEventEmitter, A as AggregatorEvents, S as SwapSdkBase, F as FetchRouteParams, f as FetchRoutesOptions, b as FetchRouteResult, g as SwapBuildResult } from './base-D9ApraXl.js';
|
|
2
|
+
export { h as AggregatorEvent, i as AggregatorStatusEvent, j as AllSwapSdkPoolStatusEvent, C as Coin, d as FormattedRouteResult, k as SlippageChangedEvent, l as SwapCoinInfo, c as SwapParams, m as SwapPath, e as SwapRoute, n as SwapSdkBaseInterface, a as SwapSdkConstructorParams, o as SwapSdkEvents, p as SwapSdkPoolStatusEvent } from './base-D9ApraXl.js';
|
|
3
3
|
import * as _mysten_sui_client from '@mysten/sui/client';
|
|
4
4
|
import { ClientWithCoreApi, SuiClientTypes } from '@mysten/sui/client';
|
|
5
5
|
import { Transaction, TransactionObjectArgument } from '@mysten/sui/transactions';
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export{h as Aggregator,g as CoinMetadataRegistry,f as SwapSdkBase,e as TypedEventEmitter,a as isSuiType,c as mergeWithExistingOrTransfer,b as selectCoins,d as transformProperCase}from'./chunk-PUC4ABCH.js';
|
package/dist/sdk/7k.cjs
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
1
|
+
'use strict';
|
package/dist/sdk/7k.js
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
|
package/dist/sdk/aftermath.cjs
CHANGED
|
@@ -1,12 +1 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunkRJTK6ARK_cjs = require('../chunk-RJTK6ARK.cjs');
|
|
4
|
-
var chunkQ2MQ6ISF_cjs = require('../chunk-Q2MQ6ISF.cjs');
|
|
5
|
-
var jsonRpc = require('@mysten/sui/jsonRpc');
|
|
6
|
-
var bignumber_js = require('bignumber.js');
|
|
7
|
-
var transactions = require('@mysten/sui/transactions');
|
|
8
|
-
var utils = require('@mysten/sui/utils');
|
|
9
|
-
|
|
10
|
-
var l={faucet:{packages:{faucet:"",suiFrensGenesisWrapper:""},objects:{faucet:"",suiFrensMint:""}},staking:{packages:{events:"0x7f6ce7ade63857c4fd16ef7783fed2dfc4d7fb7e40615abdb653030b76aef0c6",lsd:"0x1575034d2729907aefca1ac757d6ccfcd3fc7e9e77927523c06007d8353ad836",afsui:"0xf325ce1300e8dac124071d3152c5c5ee6174914f8bc2161e88329cf579246efc"},objects:{stakedSuiVault:"0x2f8f6d5da7f13ea37daa397724280483ed062769813b6f31e9788e59cc88994d",stakedSuiVaultState:"0x55486449e41d89cfbdb20e005c1c5c1007858ad5b4d5d7c047d2b3b592fe8791",safe:"0xeb685899830dd5837b47007809c76d91a098d52aabbf61e8ac467c59e5cc4610",treasury:"0xd2b95022244757b0ab9f74e2ee2fb2c3bf29dce5590fa6993a85d64bd219d7e8",referralVault:"0x4ce9a19b594599536c53edb25d22532f82f18038dc8ef618afd00fbbfb9845ef",validatorConfigsTable:"0x8536350cfb8a8efdd133a1e087b55416d431f7e8b894f77b55b20c4b799ebad9",aftermathValidator:"0xd30018ec3f5ff1a3c75656abf927a87d7f0529e6dc89c7ddd1bd27ecb05e3db2"}},pools:{packages:{amm:"0xc4049b2d1cc0f6e017fda8260e4377cecd236bd7f56a54fee120816e72e2e0dd",ammInterface:"0x8d8bba50c626753589aa5abbc006c9fa07736f55f4e6fb57481682997c0b0d52",events:"0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c",eventsV2:"0xc4049b2d1cc0f6e017fda8260e4377cecd236bd7f56a54fee120816e72e2e0dd"},objects:{poolRegistry:"0xfcc774493db2c45c79f688f88d28023a3e7d98e4ee9f48bbf5c7990f651577ae",protocolFeeVault:"0xf194d9b1bcad972e45a7dd67dd49b3ee1e3357a00a50850c52cd51bb450e13b4",treasury:"0x28e499dff5e864a2eafe476269a4f5035f1c16f338da7be18b103499abf271ce",insuranceFund:"0xf0c40d67b078000e18032334c3325c47b9ec9f3d9ae4128be820d54663d14e3b",lpCoinsTable:"0x7f3bb65251feccacc7f48461239be1008233b85594114f7bf304e5e5b340bf59"},other:{createLpCoinPackageCompilations:{0:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgEAAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[167,102,246,194,32,223,3,45,134,147,18,9,59,94,154,58,126,34,119,96,13,193,175,198,63,222,118,4,234,110,46,214]}',1:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgEBAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[68,93,25,253,95,37,116,117,115,245,79,81,250,68,193,193,125,175,148,139,217,235,215,33,240,45,78,14,3,86,156,253]}',2:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgECAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[226,124,21,102,7,55,200,164,249,68,13,253,43,195,52,31,88,207,26,30,152,251,208,57,135,126,235,45,23,164,119,82]}',3:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgEDAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[1,144,16,189,84,90,47,167,188,222,48,174,25,190,46,185,6,221,67,91,132,40,116,30,179,102,100,127,83,12,109,13]}',4:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgEEAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[188,181,24,0,200,201,56,67,47,157,254,230,47,200,183,173,203,125,184,180,21,175,170,42,167,82,194,112,35,226,84,160]}',5:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgEFAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[139,229,11,229,58,97,20,164,146,173,45,172,225,131,71,62,84,106,77,218,122,249,243,255,146,34,28,60,77,35,55,138]}',6:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgEGAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[57,76,77,44,68,157,60,123,68,75,189,64,53,35,82,187,207,42,126,62,112,57,251,96,190,255,39,160,152,130,157,52]}',7:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgEHAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[123,60,245,235,196,138,131,187,192,81,41,5,55,144,176,99,178,245,228,90,186,155,175,11,175,182,127,251,112,69,207,36]}',8:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgEIAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[62,140,187,2,13,226,252,216,57,79,25,215,73,0,30,117,240,181,17,67,90,160,116,93,0,185,100,177,98,158,120,249]}',9:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgEJAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[224,168,250,132,113,73,22,162,90,31,20,5,146,218,102,211,9,26,235,144,153,60,68,242,99,43,182,103,163,123,70,243]}',10:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgEKAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[230,2,103,229,53,229,25,139,165,170,103,184,37,95,22,138,144,54,70,94,84,1,166,69,226,228,2,111,190,177,88,67]}',11:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgELAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[47,22,229,32,128,229,189,95,254,208,76,7,63,57,67,181,242,47,139,87,115,116,187,69,186,231,157,193,217,175,119,251]}',12:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgEMAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[84,220,49,85,231,231,205,206,223,231,112,68,34,157,61,115,234,156,6,203,2,158,212,203,215,170,136,228,68,193,188,13]}',13:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgENAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[237,140,135,226,69,221,118,110,149,250,210,127,140,11,253,163,73,64,189,152,115,51,234,40,195,87,188,107,171,233,96,99]}',14:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgEOAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[178,202,9,164,149,122,241,165,109,17,64,83,161,86,55,194,230,149,60,174,236,221,205,150,98,176,28,228,122,182,83,85]}',15:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgEPAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[162,91,42,1,93,167,63,154,173,142,135,15,249,131,197,24,69,164,212,169,231,169,19,38,42,86,25,84,219,229,233,20]}',16:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgEQAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[79,121,127,12,72,247,127,165,243,18,184,175,76,20,119,251,245,47,31,190,247,87,15,198,47,204,130,99,18,94,161,74]}',17:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgERAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[40,28,55,168,44,135,53,11,9,113,97,54,212,21,163,15,203,241,151,5,117,250,3,22,135,69,113,175,166,166,111,19]}',18:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgESAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[173,252,173,67,1,192,123,156,242,232,253,247,12,147,190,24,152,41,3,166,219,90,110,43,48,139,30,235,10,219,209,58]}'}}},daoFeePools:{packages:{amm:"0x5ad6890968efcf3d20899e0cec735214f1067b96e77e77d86408989998468bb2",events:"0x6f60a091637054e23915b8745c0c0d47b1d49618ee3435b5f68eccf6a44fb53d"},objects:{version:"0xb4bfb0f917f12ad2a772bea9b4f22431f6f5f9653162c3ae6fae5b99b21392b7"}},farms:{packages:{vaults:"0x7ce31301b506b4ed327523061fe95d9c347082fa60da39733f74ffad9a53f8f5",vaultsInitial:"0x4f0a1a923dd063757fd37e04a9c2cee8980008e94433c9075c390065f98e9e4b",vaultsV2:"0x2d6755e10132fc1eab5e8a4a3e7ddfdacc31884621592d95fce48ecf1e157db9",eventsV2:"0x79ee374b9e3c60c00a19fdbeaea25731bbea8f2cab9bb61bb712543e0ba55b7a"},objects:{version:"0xdc372fa9b6a538382efc560478a786fcf04e6e34850100020056c98c5c387193"}},dca:{packages:{dca:"0x409e2ace51cc5821be41a667e4cb9afa64cde49a7f940c68109db24b39ca93b8",events:"0x002134246a32eec18e68f1f5aadb8edd34856298ae6d32c145d28f3ca46c7fd1",eventsV2:"0x409e2ace51cc5821be41a667e4cb9afa64cde49a7f940c68109db24b39ca93b8"},objects:{config:"0x1b26465e9c688e3a3d2301f26e25091bc0f91708d953dc220f5697faa8ba9bd6"}},limitOrders:{packages:{limitOrders:"0xe57ee3613b7dece546f8a2d8a53145cbab41d32b86037b94f9ebfcbcfa66885a",events:"0xe57ee3613b7dece546f8a2d8a53145cbab41d32b86037b94f9ebfcbcfa66885a"}},sharedCustody:{address:"0xafe2fafac0b048c9c70a61cc1798400a85173df96b30118c40af6f3382b5a777",publicKey:"AMylYwVSuJQmTmDm6KuPlNwLnTtkk63HqOByubxxsVeC"},referralVault:{packages:{referralVault:"0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf"},objects:{referralVault:"0x35d35b0e5b177593d8c3a801462485572fc30861e6ce96a55af6dc4730709278"}},suiFrens:{packages:{suiFrens:"",suiFrensBullshark:"",accessories:"",suiFrensVault:"",suiFrensVaultCapyLabsExtension:""},objects:{capyLabsApp:"",suiFrensVault:"",suiFrensVaultStateV1:"",suiFrensVaultStateV1MetadataTable:"",suiFrensVaultCapyLabsExtension:""}},router:{packages:{utils:"0xdc15721baa82ba64822d585a7349a1508f76d94ae80e899b06e48369c257750e"}},dynamicGas:{sponsorAddress:"0xae4ba5f592e695a46d58a0579aa5d4f6ebead46be0f2d5bd229d5c292290548c"},perpetuals:{packages:{events:"0x21d001e8b07da2e3facb3e2d636bbaef43ba3c978bd84810368840b7d57c5068"},objects:{registry:"0xd0b3ea6b7a2f5887543a5a493aa70bcd0ec1a2d9c03d830504234df3e8c6a609"}},perpetualsVaults:{other:{createLpCoinPackageCompilation:'{"modules":["oRzrCwYAAAAKAQAOAg4eAywsBFgIBWBZB7kB4gEImwOAAQabBGcKggUFDIcFLAASAwcBDQIGAhMCFAIVAAICAAIBBwEAAAMADAEAAQMDDAEAAQUEAgAGBQcAAAoAAQABCwEDAAIRBgcBAAMICQoBAgQOBgEBDAQPDwEBDAUQDA0ABgwEBQACBQMIBAsFDgIIAAcIBAACCwIBCAALAwEIAAECAQoCAQgFAQkAAQsBAQkAAQgABwkAAgoCCgIKAgsBAQgFBwgEAgsDAQkACwIBCQABCwIBCAABBggEAQUBCwMBCAACCQAFDENvaW5NZXRhZGF0YQZPcHRpb24IVEVNUExBVEULVHJlYXN1cnlDYXAJVHhDb250ZXh0A1VybARjb2luCWNvbnN0YW50cw9jcmVhdGVfY3VycmVuY3kLZHVtbXlfZmllbGQEaW5pdAtscF9kZWNpbWFscxVuZXdfdW5zYWZlX2Zyb21fYnl0ZXMGb3B0aW9uFHB1YmxpY19mcmVlemVfb2JqZWN0D3B1YmxpY190cmFuc2ZlcgZzZW5kZXIEc29tZQh0ZW1wbGF0ZQh0cmFuc2Zlcgp0eF9jb250ZXh0A3VybAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAp4geY2XwRD2s2t7PYVDqpJGMi7y/Y2DrXnvMyXUc7wvCgIJCFRFTVBMQVRFCgIKCUNPSU4gTkFNRQoCERBDT0lOIERFU0NSSVBUSU9OCgI3Nmh0dHBzOi8vYWZ0ZXJtYXRoLmZpbmFuY2UvY29pbnMvcGVycGV0dWFscy9kZWZhdWx0LnN2ZwACAQkBAAAAAAIUCwARAQcABwEHAgcDEQc4AAoBOAEMAgwDCwI4AgsDCwEuEQY4AwIA"],"dependencies":["0x46234ba81f3a5ba6571383233df0f9ea5fe60a3a327537be1f5fec447bced693","0x9e20798d97c110f6b36b7b3d8543aa9246322ef2fd8d83ad79ef3325d473bc2f","0xa8172ed2a6f14cd0ee55124326685713d6f765039e7c5339f7a0b57be06fddb5","0x21d001e8b07da2e3facb3e2d636bbaef43ba3c978bd84810368840b7d57c5068","0x0000000000000000000000000000000000000000000000000000000000000001","0x0000000000000000000000000000000000000000000000000000000000000002"],"digest":[197,20,191,110,212,210,250,216,46,69,171,178,75,240,176,17,254,237,222,251,192,94,195,175,10,216,89,18,238,154,114,144]}'}},scallop:{objects:{version:"",afSuiMarket:"",coinDecimalsRegistry:"",xOracle:""}},nftAmm:{packages:{nftAmm:""},objects:{protocolFeeVault:"",treasury:"",insuranceFund:"",referralVault:""}},nfts:{packages:{mystenTransferPolicy:"0x0cb4bcc0560340eb1a1b929cabe56b33fc6449820ec8c1980d69bb98b649b802"}}};var u=chunkRJTK6ARK_cjs.a("aftermath-ts-sdk",()=>import('aftermath-ts-sdk')),p=["Aftermath","Bolt","Bluefin","BlueMove","Cetus","DeepBook","DeepBookV3","DoubleUpPump","FlowX","FlowXClmm","FullSail","HopFun","Kriya","KriyaClmm","Magma","Metastable","Momentum","MovePump","Obric","SpringSui","Steamm","SuiAi","SuiSwap","Turbos","TurbosFun","BlastFun"],x=class extends chunkQ2MQ6ISF_cjs.f{afApi;_afParams;constructor(A){super("aftermath",A),this._afParams=A,this.poolsMap=new Map(p.map(a=>[a,true]));}async ensureClient(){if(!this.client){let{AftermathApi:A,Aftermath:a}=await u(),e=this.suiClient.network;this.afApi=new A(new jsonRpc.SuiJsonRpcClient({url:jsonRpc.getJsonRpcFullnodeUrl(e),network:e}),this._afParams.addresses??l),this.client=new a("MAINNET",this.afApi);}return this.client}async getRouter(){return (await this.ensureClient()).Router()}setFetchRouteSettings(A){this.fetchSettings=A;}calcSlippage(A){return A}parseRawRouteToFormattedResult(A){let a=A.coinIn.amount,e={...A,name:this.name};return e.routes.forEach(b=>{let t=b.paths[0].coinIn.amount;b.splitPercentage=bignumber_js.BigNumber(t.toString()).div(a.toString()).times(100).toNumber();}),e}async fetchRoute(A,a){let e=await this.getRouter(),b=this.normalizeFetchRouteParams(A),{coinInType:t,coinOutType:f,swapAmount:d}=b;this.rawRouteResult=void 0;let c=await this.withTimeout(e.getCompleteTradeRouteGivenAmountIn({...this.fetchSettings,protocolWhitelist:this.getEnabledPools(),coinInType:t,coinOutType:f,coinInAmount:d},a));if(!c)throw new Error(`${this.name} fetch route returned empty response`);return this.rawRouteResult=c,{formattedResult:this.parseRawRouteToFormattedResult(c),rawRouteResult:c}}async buildSwapTransaction(A){this.validateWalletAddress();let a=await this.getRouter(),{txExtensionParams:e,slippage:b,route:t}=A,f=t?.rawRouteResult??this.rawRouteResult;if(!f)throw new Error(`${this.name} build swap transaction failed: no route available`);let d=null,c=null;if(e){let{initTx:r,coinIn:n}=e;d=r,c=n;}else d=new transactions.Transaction,d.setSender(this.walletAddress),c=await this.selectCoinInForSwap(d,BigInt(f.coinIn.amount.toString()),utils.normalizeStructTag(f.coinIn.type));let{tx:g,coinOutId:s}=await a.addTransactionForCompleteTradeRoute({walletAddress:this.walletAddress,completeRoute:f,slippage:this.calcSlippage(b),tx:d,coinInId:c});if(!s)throw new Error(`${this.name} build swap transaction failed`);return {tx:g,coinOut:s}}};
|
|
11
|
-
|
|
12
|
-
exports.AftermathSwap = x;
|
|
1
|
+
'use strict';var chunkYKJ7DP7U_cjs=require('../chunk-YKJ7DP7U.cjs'),chunk3CBW5I4K_cjs=require('../chunk-3CBW5I4K.cjs'),jsonRpc=require('@mysten/sui/jsonRpc'),bignumber_js=require('bignumber.js'),transactions=require('@mysten/sui/transactions'),utils=require('@mysten/sui/utils');var s={faucet:{packages:{faucet:"",suiFrensGenesisWrapper:""},objects:{faucet:"",suiFrensMint:""}},staking:{packages:{events:"0x7f6ce7ade63857c4fd16ef7783fed2dfc4d7fb7e40615abdb653030b76aef0c6",lsd:"0x1575034d2729907aefca1ac757d6ccfcd3fc7e9e77927523c06007d8353ad836",afsui:"0xf325ce1300e8dac124071d3152c5c5ee6174914f8bc2161e88329cf579246efc"},objects:{stakedSuiVault:"0x2f8f6d5da7f13ea37daa397724280483ed062769813b6f31e9788e59cc88994d",stakedSuiVaultState:"0x55486449e41d89cfbdb20e005c1c5c1007858ad5b4d5d7c047d2b3b592fe8791",safe:"0xeb685899830dd5837b47007809c76d91a098d52aabbf61e8ac467c59e5cc4610",treasury:"0xd2b95022244757b0ab9f74e2ee2fb2c3bf29dce5590fa6993a85d64bd219d7e8",referralVault:"0x4ce9a19b594599536c53edb25d22532f82f18038dc8ef618afd00fbbfb9845ef",validatorConfigsTable:"0x8536350cfb8a8efdd133a1e087b55416d431f7e8b894f77b55b20c4b799ebad9",aftermathValidator:"0xd30018ec3f5ff1a3c75656abf927a87d7f0529e6dc89c7ddd1bd27ecb05e3db2"}},pools:{packages:{amm:"0xc4049b2d1cc0f6e017fda8260e4377cecd236bd7f56a54fee120816e72e2e0dd",ammInterface:"0x8d8bba50c626753589aa5abbc006c9fa07736f55f4e6fb57481682997c0b0d52",events:"0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c",eventsV2:"0xc4049b2d1cc0f6e017fda8260e4377cecd236bd7f56a54fee120816e72e2e0dd"},objects:{poolRegistry:"0xfcc774493db2c45c79f688f88d28023a3e7d98e4ee9f48bbf5c7990f651577ae",protocolFeeVault:"0xf194d9b1bcad972e45a7dd67dd49b3ee1e3357a00a50850c52cd51bb450e13b4",treasury:"0x28e499dff5e864a2eafe476269a4f5035f1c16f338da7be18b103499abf271ce",insuranceFund:"0xf0c40d67b078000e18032334c3325c47b9ec9f3d9ae4128be820d54663d14e3b",lpCoinsTable:"0x7f3bb65251feccacc7f48461239be1008233b85594114f7bf304e5e5b340bf59"},other:{createLpCoinPackageCompilations:{0:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgEAAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[167,102,246,194,32,223,3,45,134,147,18,9,59,94,154,58,126,34,119,96,13,193,175,198,63,222,118,4,234,110,46,214]}',1:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgEBAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[68,93,25,253,95,37,116,117,115,245,79,81,250,68,193,193,125,175,148,139,217,235,215,33,240,45,78,14,3,86,156,253]}',2:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgECAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[226,124,21,102,7,55,200,164,249,68,13,253,43,195,52,31,88,207,26,30,152,251,208,57,135,126,235,45,23,164,119,82]}',3:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgEDAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[1,144,16,189,84,90,47,167,188,222,48,174,25,190,46,185,6,221,67,91,132,40,116,30,179,102,100,127,83,12,109,13]}',4:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgEEAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[188,181,24,0,200,201,56,67,47,157,254,230,47,200,183,173,203,125,184,180,21,175,170,42,167,82,194,112,35,226,84,160]}',5:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgEFAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[139,229,11,229,58,97,20,164,146,173,45,172,225,131,71,62,84,106,77,218,122,249,243,255,146,34,28,60,77,35,55,138]}',6:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgEGAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[57,76,77,44,68,157,60,123,68,75,189,64,53,35,82,187,207,42,126,62,112,57,251,96,190,255,39,160,152,130,157,52]}',7:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgEHAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[123,60,245,235,196,138,131,187,192,81,41,5,55,144,176,99,178,245,228,90,186,155,175,11,175,182,127,251,112,69,207,36]}',8:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgEIAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[62,140,187,2,13,226,252,216,57,79,25,215,73,0,30,117,240,181,17,67,90,160,116,93,0,185,100,177,98,158,120,249]}',9:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgEJAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[224,168,250,132,113,73,22,162,90,31,20,5,146,218,102,211,9,26,235,144,153,60,68,242,99,43,182,103,163,123,70,243]}',10:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgEKAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[230,2,103,229,53,229,25,139,165,170,103,184,37,95,22,138,144,54,70,94,84,1,166,69,226,228,2,111,190,177,88,67]}',11:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgELAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[47,22,229,32,128,229,189,95,254,208,76,7,63,57,67,181,242,47,139,87,115,116,187,69,186,231,157,193,217,175,119,251]}',12:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgEMAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[84,220,49,85,231,231,205,206,223,231,112,68,34,157,61,115,234,156,6,203,2,158,212,203,215,170,136,228,68,193,188,13]}',13:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgENAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[237,140,135,226,69,221,118,110,149,250,210,127,140,11,253,163,73,64,189,152,115,51,234,40,195,87,188,107,171,233,96,99]}',14:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgEOAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[178,202,9,164,149,122,241,165,109,17,64,83,161,86,55,194,230,149,60,174,236,221,205,150,98,176,28,228,122,182,83,85]}',15:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgEPAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[162,91,42,1,93,167,63,154,173,142,135,15,249,131,197,24,69,164,212,169,231,169,19,38,42,86,25,84,219,229,233,20]}',16:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgEQAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[79,121,127,12,72,247,127,165,243,18,184,175,76,20,119,251,245,47,31,190,247,87,15,198,47,204,130,99,18,94,161,74]}',17:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgERAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[40,28,55,168,44,135,53,11,9,113,97,54,212,21,163,15,203,241,151,5,117,250,3,22,135,69,113,175,166,166,111,19]}',18:'{"modules":["oRzrCwYAAAAKAQAGAgYIAw4LBBkCBRsRByxPCHtgBtsBAwreAQUM4wEPAAICAwEHAAACAAIBAgAABgABAAEEAwEBAgECAggABwgBAAEIAAMJAAIHCAEFQUZfTFAJVHhDb250ZXh0BWFmX2xwDWFtbV9pbnRlcmZhY2UOY3JlYXRlX2xwX2NvaW4LZHVtbXlfZmllbGQEaW5pdAp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYl3CzUCu45mKHWYg3oiSlkwVBm4KKF2LVzkQ7Ux11QAgESAAIBBQEAAAAAAQULAAcACwE4AAIA"],"dependencies":["0xefe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c","0x0625dc2cd40aee3998a1d6620de8892964c15066e0a285d8b573910ed4c75d50","0x712579292f80c11a0c9de4ff553d6e5c4757105e83a8a3129823d2b39e65d062","0xa6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f","0x0000000000000000000000000000000000000000000000000000000000000001","0x2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06","0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf","0x0000000000000000000000000000000000000000000000000000000000000002","0x64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a","0x73baa782c55003b3a359dec04b189312565d18e7309d4a51f5f112f891e3b2ab"],"digest":[173,252,173,67,1,192,123,156,242,232,253,247,12,147,190,24,152,41,3,166,219,90,110,43,48,139,30,235,10,219,209,58]}'}}},daoFeePools:{packages:{amm:"0x5ad6890968efcf3d20899e0cec735214f1067b96e77e77d86408989998468bb2",events:"0x6f60a091637054e23915b8745c0c0d47b1d49618ee3435b5f68eccf6a44fb53d"},objects:{version:"0xb4bfb0f917f12ad2a772bea9b4f22431f6f5f9653162c3ae6fae5b99b21392b7"}},farms:{packages:{vaults:"0x7ce31301b506b4ed327523061fe95d9c347082fa60da39733f74ffad9a53f8f5",vaultsInitial:"0x4f0a1a923dd063757fd37e04a9c2cee8980008e94433c9075c390065f98e9e4b",vaultsV2:"0x2d6755e10132fc1eab5e8a4a3e7ddfdacc31884621592d95fce48ecf1e157db9",eventsV2:"0x79ee374b9e3c60c00a19fdbeaea25731bbea8f2cab9bb61bb712543e0ba55b7a"},objects:{version:"0xdc372fa9b6a538382efc560478a786fcf04e6e34850100020056c98c5c387193"}},dca:{packages:{dca:"0x409e2ace51cc5821be41a667e4cb9afa64cde49a7f940c68109db24b39ca93b8",events:"0x002134246a32eec18e68f1f5aadb8edd34856298ae6d32c145d28f3ca46c7fd1",eventsV2:"0x409e2ace51cc5821be41a667e4cb9afa64cde49a7f940c68109db24b39ca93b8"},objects:{config:"0x1b26465e9c688e3a3d2301f26e25091bc0f91708d953dc220f5697faa8ba9bd6"}},limitOrders:{packages:{limitOrders:"0xe57ee3613b7dece546f8a2d8a53145cbab41d32b86037b94f9ebfcbcfa66885a",events:"0xe57ee3613b7dece546f8a2d8a53145cbab41d32b86037b94f9ebfcbcfa66885a"}},sharedCustody:{address:"0xafe2fafac0b048c9c70a61cc1798400a85173df96b30118c40af6f3382b5a777",publicKey:"AMylYwVSuJQmTmDm6KuPlNwLnTtkk63HqOByubxxsVeC"},referralVault:{packages:{referralVault:"0xc66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf"},objects:{referralVault:"0x35d35b0e5b177593d8c3a801462485572fc30861e6ce96a55af6dc4730709278"}},suiFrens:{packages:{suiFrens:"",suiFrensBullshark:"",accessories:"",suiFrensVault:"",suiFrensVaultCapyLabsExtension:""},objects:{capyLabsApp:"",suiFrensVault:"",suiFrensVaultStateV1:"",suiFrensVaultStateV1MetadataTable:"",suiFrensVaultCapyLabsExtension:""}},router:{packages:{utils:"0xdc15721baa82ba64822d585a7349a1508f76d94ae80e899b06e48369c257750e"}},dynamicGas:{sponsorAddress:"0xae4ba5f592e695a46d58a0579aa5d4f6ebead46be0f2d5bd229d5c292290548c"},perpetuals:{packages:{events:"0x21d001e8b07da2e3facb3e2d636bbaef43ba3c978bd84810368840b7d57c5068"},objects:{registry:"0xd0b3ea6b7a2f5887543a5a493aa70bcd0ec1a2d9c03d830504234df3e8c6a609"}},perpetualsVaults:{other:{createLpCoinPackageCompilation:'{"modules":["oRzrCwYAAAAKAQAOAg4eAywsBFgIBWBZB7kB4gEImwOAAQabBGcKggUFDIcFLAASAwcBDQIGAhMCFAIVAAICAAIBBwEAAAMADAEAAQMDDAEAAQUEAgAGBQcAAAoAAQABCwEDAAIRBgcBAAMICQoBAgQOBgEBDAQPDwEBDAUQDA0ABgwEBQACBQMIBAsFDgIIAAcIBAACCwIBCAALAwEIAAECAQoCAQgFAQkAAQsBAQkAAQgABwkAAgoCCgIKAgsBAQgFBwgEAgsDAQkACwIBCQABCwIBCAABBggEAQUBCwMBCAACCQAFDENvaW5NZXRhZGF0YQZPcHRpb24IVEVNUExBVEULVHJlYXN1cnlDYXAJVHhDb250ZXh0A1VybARjb2luCWNvbnN0YW50cw9jcmVhdGVfY3VycmVuY3kLZHVtbXlfZmllbGQEaW5pdAtscF9kZWNpbWFscxVuZXdfdW5zYWZlX2Zyb21fYnl0ZXMGb3B0aW9uFHB1YmxpY19mcmVlemVfb2JqZWN0D3B1YmxpY190cmFuc2ZlcgZzZW5kZXIEc29tZQh0ZW1wbGF0ZQh0cmFuc2Zlcgp0eF9jb250ZXh0A3VybAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAp4geY2XwRD2s2t7PYVDqpJGMi7y/Y2DrXnvMyXUc7wvCgIJCFRFTVBMQVRFCgIKCUNPSU4gTkFNRQoCERBDT0lOIERFU0NSSVBUSU9OCgI3Nmh0dHBzOi8vYWZ0ZXJtYXRoLmZpbmFuY2UvY29pbnMvcGVycGV0dWFscy9kZWZhdWx0LnN2ZwACAQkBAAAAAAIUCwARAQcABwEHAgcDEQc4AAoBOAEMAgwDCwI4AgsDCwEuEQY4AwIA"],"dependencies":["0x46234ba81f3a5ba6571383233df0f9ea5fe60a3a327537be1f5fec447bced693","0x9e20798d97c110f6b36b7b3d8543aa9246322ef2fd8d83ad79ef3325d473bc2f","0xa8172ed2a6f14cd0ee55124326685713d6f765039e7c5339f7a0b57be06fddb5","0x21d001e8b07da2e3facb3e2d636bbaef43ba3c978bd84810368840b7d57c5068","0x0000000000000000000000000000000000000000000000000000000000000001","0x0000000000000000000000000000000000000000000000000000000000000002"],"digest":[197,20,191,110,212,210,250,216,46,69,171,178,75,240,176,17,254,237,222,251,192,94,195,175,10,216,89,18,238,154,114,144]}'}},scallop:{objects:{version:"",afSuiMarket:"",coinDecimalsRegistry:"",xOracle:""}},nftAmm:{packages:{nftAmm:""},objects:{protocolFeeVault:"",treasury:"",insuranceFund:"",referralVault:""}},nfts:{packages:{mystenTransferPolicy:"0x0cb4bcc0560340eb1a1b929cabe56b33fc6449820ec8c1980d69bb98b649b802"}}};var u=chunkYKJ7DP7U_cjs.a("aftermath-ts-sdk",()=>import('aftermath-ts-sdk')),p=["Aftermath","Bolt","Bluefin","BlueMove","Cetus","DeepBook","DeepBookV3","DoubleUpPump","FlowX","FlowXClmm","FullSail","HopFun","Kriya","KriyaClmm","Magma","Metastable","Momentum","MovePump","Obric","SpringSui","Steamm","SuiAi","SuiSwap","Turbos","TurbosFun","BlastFun"],r=class extends chunk3CBW5I4K_cjs.f{constructor(A){super("aftermath",A);this.params=A;this.poolsMap=new Map(p.map(e=>[e,true])),this.params.addresses||(console.warn("[AftermathSwap] No custom addresses provided, using default config addresses. If you are using a different deployment of Aftermath, please provide the corresponding addresses in the constructor params."),this.params.addresses=s);}params;afApi;async ensureClient(A){if(!this.client||A){let{AftermathApi:e,Aftermath:a}=await u(),c=this.suiClient.network;this.afApi=new e(new jsonRpc.SuiJsonRpcClient({url:jsonRpc.getJsonRpcFullnodeUrl(c),network:c}),this.params.addresses??s),this.client=await a.create({network:"MAINNET",addresses:this.params.addresses??s,api:this.afApi});}return this.client}async setSuiClient(A){super.setSuiClient(A),await this.ensureClient(true).catch(e=>{console.error("Failed to initialize Aftermath client with new Sui client",e);});}async getRouter(){return (await this.ensureClient()).Router()}setFetchRouteSettings(A){this.fetchSettings=A;}calcSlippage(A){return A}parseRawRouteToFormattedResult(A){let e=A.coinIn.amount,a={...A,name:this.name};return a.routes.forEach(c=>{let t=c.paths[0].coinIn.amount;c.splitPercentage=bignumber_js.BigNumber(t.toString()).div(e.toString()).times(100).toNumber();}),a}async fetchRoute(A,e){let a=await this.getRouter(),c=this.normalizeFetchRouteParams(A),{coinInType:t,coinOutType:b,swapAmount:f}=c;this.rawRouteResult=void 0;let d=await this.withTimeout(a.getCompleteTradeRouteGivenAmountIn({...this.fetchSettings,protocolWhitelist:this.getEnabledPools(),coinInType:t,coinOutType:b,coinInAmount:f},e));if(!d)throw new Error(`${this.name} fetch route returned empty response`);return this.rawRouteResult=d,{formattedResult:this.parseRawRouteToFormattedResult(d),rawRouteResult:d}}async buildSwapTransaction(A){this.validateWalletAddress();let e=await this.getRouter(),{txExtensionParams:a,slippage:c,route:t}=A,b=t?.rawRouteResult??this.rawRouteResult;if(!b)throw new Error(`${this.name} build swap transaction failed: no route available`);let f=null,d=null;if(a){let{initTx:g,coinIn:i}=a;f=g,d=i;}else f=new transactions.Transaction,f.setSender(this.walletAddress),d=await this.selectCoinInForSwap(f,BigInt(b.coinIn.amount.toString()),utils.normalizeStructTag(b.coinIn.type));let{tx:x,coinOutId:o}=await e.addTransactionForCompleteTradeRoute({walletAddress:this.walletAddress,completeRoute:b,slippage:this.calcSlippage(c),tx:f,coinInId:d});if(!o)throw new Error(`${this.name} build swap transaction failed`);return {tx:x,coinOut:o}}};exports.AftermathSwap=r;
|
package/dist/sdk/aftermath.d.cts
CHANGED
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
import * as _mysten_sui_transactions from '@mysten/sui/transactions';
|
|
2
2
|
import { Transaction } from '@mysten/sui/transactions';
|
|
3
|
-
import { RouterProtocolName, RouterCompleteTradeRoute, ApiRouterPartialCompleteTradeRouteBody, Aftermath,
|
|
3
|
+
import { RouterProtocolName, RouterCompleteTradeRoute, ApiRouterPartialCompleteTradeRouteBody, Aftermath, ConfigAddresses } from 'aftermath-ts-sdk';
|
|
4
4
|
export { Aftermath, RouterCompleteTradeRoute } from 'aftermath-ts-sdk';
|
|
5
|
-
import { S as SwapSdkBase, a as SwapSdkConstructorParams,
|
|
6
|
-
import '@mysten/sui/client';
|
|
5
|
+
import { S as SwapSdkBase, a as SwapSdkConstructorParams, F as FetchRouteParams, b as FetchRouteResult, c as SwapParams } from '../base-D9ApraXl.cjs';
|
|
6
|
+
import { ClientWithCoreApi } from '@mysten/sui/client';
|
|
7
7
|
import '@mysten/sui/grpc';
|
|
8
8
|
import 'events';
|
|
9
9
|
|
|
10
10
|
type FetchRouteSettings = Omit<ApiRouterPartialCompleteTradeRouteBody, 'coinInType' | 'coinOutType' | 'coinInAmount' | 'protocolWhitelist' | 'protocolBlacklist'>;
|
|
11
11
|
|
|
12
12
|
declare class AftermathSwap extends SwapSdkBase<RouterProtocolName, RouterCompleteTradeRoute, FetchRouteSettings, Aftermath> {
|
|
13
|
-
|
|
14
|
-
private
|
|
13
|
+
private readonly params;
|
|
14
|
+
private afApi?;
|
|
15
15
|
constructor(params: SwapSdkConstructorParams<FetchRouteSettings> & {
|
|
16
16
|
addresses?: ConfigAddresses;
|
|
17
17
|
});
|
|
18
|
-
ensureClient(): Promise<Aftermath>;
|
|
18
|
+
ensureClient(force?: boolean): Promise<Aftermath>;
|
|
19
|
+
setSuiClient(client: ClientWithCoreApi): Promise<void>;
|
|
19
20
|
private getRouter;
|
|
20
21
|
setFetchRouteSettings(settings: FetchRouteSettings): void;
|
|
21
22
|
calcSlippage(slippageInDecimal: number): number;
|
package/dist/sdk/aftermath.d.ts
CHANGED
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
import * as _mysten_sui_transactions from '@mysten/sui/transactions';
|
|
2
2
|
import { Transaction } from '@mysten/sui/transactions';
|
|
3
|
-
import { RouterProtocolName, RouterCompleteTradeRoute, ApiRouterPartialCompleteTradeRouteBody, Aftermath,
|
|
3
|
+
import { RouterProtocolName, RouterCompleteTradeRoute, ApiRouterPartialCompleteTradeRouteBody, Aftermath, ConfigAddresses } from 'aftermath-ts-sdk';
|
|
4
4
|
export { Aftermath, RouterCompleteTradeRoute } from 'aftermath-ts-sdk';
|
|
5
|
-
import { S as SwapSdkBase, a as SwapSdkConstructorParams,
|
|
6
|
-
import '@mysten/sui/client';
|
|
5
|
+
import { S as SwapSdkBase, a as SwapSdkConstructorParams, F as FetchRouteParams, b as FetchRouteResult, c as SwapParams } from '../base-D9ApraXl.js';
|
|
6
|
+
import { ClientWithCoreApi } from '@mysten/sui/client';
|
|
7
7
|
import '@mysten/sui/grpc';
|
|
8
8
|
import 'events';
|
|
9
9
|
|
|
10
10
|
type FetchRouteSettings = Omit<ApiRouterPartialCompleteTradeRouteBody, 'coinInType' | 'coinOutType' | 'coinInAmount' | 'protocolWhitelist' | 'protocolBlacklist'>;
|
|
11
11
|
|
|
12
12
|
declare class AftermathSwap extends SwapSdkBase<RouterProtocolName, RouterCompleteTradeRoute, FetchRouteSettings, Aftermath> {
|
|
13
|
-
|
|
14
|
-
private
|
|
13
|
+
private readonly params;
|
|
14
|
+
private afApi?;
|
|
15
15
|
constructor(params: SwapSdkConstructorParams<FetchRouteSettings> & {
|
|
16
16
|
addresses?: ConfigAddresses;
|
|
17
17
|
});
|
|
18
|
-
ensureClient(): Promise<Aftermath>;
|
|
18
|
+
ensureClient(force?: boolean): Promise<Aftermath>;
|
|
19
|
+
setSuiClient(client: ClientWithCoreApi): Promise<void>;
|
|
19
20
|
private getRouter;
|
|
20
21
|
setFetchRouteSettings(settings: FetchRouteSettings): void;
|
|
21
22
|
calcSlippage(slippageInDecimal: number): number;
|