curvance 5.2.0 → 5.2.2

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 CHANGED
@@ -701,7 +701,8 @@ const marketSnapshot = snapshotMarket(market)
701
701
  The `OptimizerReader` reads yield-rebalancing vaults that allocate across markets.
702
702
 
703
703
  ```ts
704
- import { ERC20, LendingOptimizer, OptimizerReader } from "curvance"
704
+ import Decimal from "decimal.js"
705
+ import { ERC20, LendingOptimizer, OptimizerReader, setupChain } from "curvance"
705
706
 
706
707
  const optimizerReader = new OptimizerReader(optimizerReaderAddress, provider)
707
708
 
@@ -724,11 +725,23 @@ await optimizerReader.isBad(optimizerAddress)
724
725
  // Returns bad cToken markets for the optimizer
725
726
 
726
727
  const asset = new ERC20(provider, assetAddress, undefined, undefined, signer)
727
- const vault = new LendingOptimizer(optimizerAddress, asset, provider, signer)
728
+ const setup = await setupChain("monad-mainnet", signer)
729
+ const vault = new LendingOptimizer(optimizerAddress, asset, provider, signer, {
730
+ setup: setup.setupConfigSnapshot,
731
+ dexAgg: setup.dexAgg,
732
+ })
728
733
 
729
734
  await vault.deposit(amount, account)
730
735
  await vault.withdraw(amount, account, account)
731
736
  await vault.redeem(shares, account, account)
737
+
738
+ const zap = {
739
+ type: "optimizer",
740
+ inputToken: usdcAddress,
741
+ slippage: new Decimal("0.01"),
742
+ } as const
743
+ await vault.approveZapAsset(zap, amount)
744
+ await vault.deposit(amount, zap, account)
732
745
  ```
733
746
 
734
747
  ## ❯ TypeScript Types
@@ -0,0 +1,177 @@
1
+ [
2
+ {
3
+ "type": "constructor",
4
+ "inputs": [
5
+ {
6
+ "name": "cr",
7
+ "type": "address",
8
+ "internalType": "contract ICentralRegistry"
9
+ },
10
+ {
11
+ "name": "wNative",
12
+ "type": "address",
13
+ "internalType": "address"
14
+ }
15
+ ],
16
+ "stateMutability": "nonpayable"
17
+ },
18
+ {
19
+ "type": "function",
20
+ "name": "centralRegistry",
21
+ "inputs": [],
22
+ "outputs": [
23
+ {
24
+ "name": "",
25
+ "type": "address",
26
+ "internalType": "contract ICentralRegistry"
27
+ }
28
+ ],
29
+ "stateMutability": "view"
30
+ },
31
+ {
32
+ "type": "function",
33
+ "name": "swapAndDeposit",
34
+ "inputs": [
35
+ {
36
+ "name": "optimizer",
37
+ "type": "address",
38
+ "internalType": "address"
39
+ },
40
+ {
41
+ "name": "depositAsWrappedNative",
42
+ "type": "bool",
43
+ "internalType": "bool"
44
+ },
45
+ {
46
+ "name": "swapAction",
47
+ "type": "tuple",
48
+ "internalType": "struct SwapperLib.Swap",
49
+ "components": [
50
+ {
51
+ "name": "inputToken",
52
+ "type": "address",
53
+ "internalType": "address"
54
+ },
55
+ {
56
+ "name": "inputAmount",
57
+ "type": "uint256",
58
+ "internalType": "uint256"
59
+ },
60
+ {
61
+ "name": "outputToken",
62
+ "type": "address",
63
+ "internalType": "address"
64
+ },
65
+ {
66
+ "name": "target",
67
+ "type": "address",
68
+ "internalType": "address"
69
+ },
70
+ {
71
+ "name": "slippage",
72
+ "type": "uint256",
73
+ "internalType": "uint256"
74
+ },
75
+ {
76
+ "name": "call",
77
+ "type": "bytes",
78
+ "internalType": "bytes"
79
+ }
80
+ ]
81
+ },
82
+ {
83
+ "name": "expectedShares",
84
+ "type": "uint256",
85
+ "internalType": "uint256"
86
+ },
87
+ {
88
+ "name": "receiver",
89
+ "type": "address",
90
+ "internalType": "address"
91
+ }
92
+ ],
93
+ "outputs": [
94
+ {
95
+ "name": "shares",
96
+ "type": "uint256",
97
+ "internalType": "uint256"
98
+ }
99
+ ],
100
+ "stateMutability": "payable"
101
+ },
102
+ {
103
+ "type": "function",
104
+ "name": "wrappedNative",
105
+ "inputs": [],
106
+ "outputs": [
107
+ {
108
+ "name": "",
109
+ "type": "address",
110
+ "internalType": "address"
111
+ }
112
+ ],
113
+ "stateMutability": "view"
114
+ },
115
+ {
116
+ "type": "error",
117
+ "name": "CentralRegistryLib__InvalidCentralRegistry",
118
+ "inputs": []
119
+ },
120
+ {
121
+ "type": "error",
122
+ "name": "LowLevelCallsHelper__CallFailed",
123
+ "inputs": []
124
+ },
125
+ {
126
+ "type": "error",
127
+ "name": "LowLevelCallsHelper__InsufficientBalance",
128
+ "inputs": []
129
+ },
130
+ {
131
+ "type": "error",
132
+ "name": "OptimizerZapper__AssetMismatch",
133
+ "inputs": []
134
+ },
135
+ {
136
+ "type": "error",
137
+ "name": "OptimizerZapper__ExecutionError",
138
+ "inputs": []
139
+ },
140
+ {
141
+ "type": "error",
142
+ "name": "Reentrancy",
143
+ "inputs": []
144
+ },
145
+ {
146
+ "type": "error",
147
+ "name": "SwapperLib__SameTokens",
148
+ "inputs": []
149
+ },
150
+ {
151
+ "type": "error",
152
+ "name": "SwapperLib__Slippage",
153
+ "inputs": [
154
+ {
155
+ "name": "slippage",
156
+ "type": "uint256",
157
+ "internalType": "uint256"
158
+ }
159
+ ]
160
+ },
161
+ {
162
+ "type": "error",
163
+ "name": "SwapperLib__TokenPrice",
164
+ "inputs": [
165
+ {
166
+ "name": "inputToken",
167
+ "type": "address",
168
+ "internalType": "address"
169
+ }
170
+ ]
171
+ },
172
+ {
173
+ "type": "error",
174
+ "name": "SwapperLib__UnknownCalldata",
175
+ "inputs": []
176
+ }
177
+ ]
@@ -1,9 +1,13 @@
1
1
  import { Contract, TransactionResponse } from "ethers";
2
2
  import Decimal from "decimal.js";
3
- import { address, curvance_provider, curvance_read_provider, curvance_signer, TokenInput } from "../types";
3
+ import type { SetupConfigSnapshot } from "../setup";
4
+ import { address, bytes, curvance_provider, curvance_read_provider, curvance_signer, Percentage, TokenInput } from "../types";
4
5
  import { Calldata } from "./Calldata";
5
6
  import { ERC20 } from "./ERC20";
6
7
  import type { AllocationBound, ReallocationAction } from "./OptimizerReader";
8
+ import type IDexAgg from "./DexAggregators/IDexAgg";
9
+ import { OptimizerZapper } from "./OptimizerZapper";
10
+ import { NativeToken } from "./NativeToken";
7
11
  export interface ILendingOptimizer {
8
12
  asset(): Promise<address>;
9
13
  decimals(): Promise<bigint>;
@@ -13,6 +17,7 @@ export interface ILendingOptimizer {
13
17
  convertToShares(assets: bigint): Promise<bigint>;
14
18
  convertToAssets(shares: bigint): Promise<bigint>;
15
19
  maxDeposit(receiver: address): Promise<bigint>;
20
+ maxRedeem(owner: address): Promise<bigint>;
16
21
  maxWithdraw(owner: address): Promise<bigint>;
17
22
  mintPaused(): Promise<bigint>;
18
23
  "deposit(uint256,address)"(assets: bigint, receiver: address): Promise<TransactionResponse>;
@@ -24,20 +29,62 @@ export interface OptimizerRebalance {
24
29
  actions: ReallocationAction[];
25
30
  bounds: AllocationBound[];
26
31
  }
32
+ export interface LendingOptimizerOptions {
33
+ setup?: SetupConfigSnapshot;
34
+ dexAgg?: IDexAgg;
35
+ optimizerZapper?: address;
36
+ }
37
+ export type OptimizerZapInstructions = 'none' | {
38
+ type: 'optimizer';
39
+ inputToken: address;
40
+ slippage: Percentage;
41
+ };
42
+ export interface OptimizerDepositToken {
43
+ interface: ERC20 | NativeToken;
44
+ type: 'none' | 'optimizer';
45
+ quote?: (tokenIn: string, tokenOut: string, amount: TokenInput, slippage: Percentage) => Promise<{
46
+ minOut_raw: bigint;
47
+ output_raw: bigint;
48
+ minOut: Decimal;
49
+ output: Decimal;
50
+ extra?: any;
51
+ }>;
52
+ }
53
+ export interface OptimizerZapBuildResult {
54
+ calldata: bytes;
55
+ calldata_overrides: {
56
+ [key: string]: any;
57
+ };
58
+ zapper: OptimizerZapper | null;
59
+ expectedShares?: bigint | undefined;
60
+ inputAssets: bigint;
61
+ }
27
62
  export declare class LendingOptimizer extends Calldata<ILendingOptimizer> {
28
63
  provider: curvance_read_provider;
29
64
  signer: curvance_signer | null;
30
65
  address: address;
31
66
  contract: Contract & ILendingOptimizer;
32
67
  asset: ERC20;
33
- constructor(address: address, asset: ERC20, provider?: curvance_provider | null, signer?: curvance_signer | null);
68
+ setup: SetupConfigSnapshot | undefined;
69
+ dexAgg: IDexAgg | undefined;
70
+ optimizerZapperAddress: address | undefined;
71
+ constructor(address: address, asset: ERC20, provider?: curvance_provider | null, signerOrOptions?: curvance_signer | null | LendingOptimizerOptions, options?: LendingOptimizerOptions);
34
72
  totalAssets(): Promise<bigint>;
35
73
  balanceOf(account: address): Promise<bigint>;
36
74
  convertToShares(assets: bigint): Promise<bigint>;
37
75
  convertToAssets(shares: bigint): Promise<bigint>;
38
76
  maxDeposit(receiver: address): Promise<bigint>;
77
+ maxRedeem(owner: address): Promise<bigint>;
39
78
  maxWithdraw(owner: address): Promise<bigint>;
40
79
  deposit(amount: TokenInput | Decimal, receiver?: address | null): Promise<TransactionResponse>;
80
+ deposit(amount: TokenInput | Decimal, zap: OptimizerZapInstructions, receiver?: address | null): Promise<TransactionResponse>;
81
+ private directDeposit;
82
+ getOptimizerZapper(): OptimizerZapper;
83
+ getZapDepositCalldata(amount: TokenInput | Decimal, zap: OptimizerZapInstructions, receiver?: address | null): Promise<OptimizerZapBuildResult>;
84
+ approveZapAsset(instructions: OptimizerZapInstructions, amount: TokenInput | null): Promise<TransactionResponse | undefined>;
85
+ isZapAssetApproved(instructions: OptimizerZapInstructions, amount: bigint): Promise<boolean>;
86
+ getDepositTokens(search?: string | null): Promise<OptimizerDepositToken[]>;
87
+ private zapDeposit;
41
88
  withdraw(amount: TokenInput | Decimal, receiver?: address | null, owner?: address | null): Promise<TransactionResponse>;
42
89
  /**
43
90
  * Redeem shares directly. Bigint-only so callers can pass the exact
@@ -46,7 +93,20 @@ export declare class LendingOptimizer extends Calldata<ILendingOptimizer> {
46
93
  * for the "Max" UX.
47
94
  */
48
95
  redeem(shares: bigint, receiver?: address | null, owner?: address | null): Promise<TransactionResponse>;
96
+ /**
97
+ * Redeem the owner's currently redeemable share amount. This is the
98
+ * optimizer "Max" path for callers that do not need to prefetch shares.
99
+ */
100
+ redeemAll(receiver?: address | null, owner?: address | null): Promise<TransactionResponse>;
49
101
  rebalance(rebalance: OptimizerRebalance): Promise<TransactionResponse>;
50
102
  private getAssetLabel;
103
+ private static isOptions;
104
+ private isOptimizerZapInstruction;
105
+ private requireOptimizerZapContext;
106
+ private getZapInputDecimals;
107
+ private getZapAssetAmount;
108
+ private resolveZapApprovalTarget;
109
+ private checkZapAssetApproval;
110
+ private getOptimizerZapExpectedShares;
51
111
  }
52
112
  //# sourceMappingURL=LendingOptimizer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LendingOptimizer.d.ts","sourceRoot":"","sources":["../../src/classes/LendingOptimizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AACvD,OAAO,OAAO,MAAM,YAAY,CAAC;AAGjC,OAAO,EAAE,OAAO,EAAS,iBAAiB,EAAE,sBAAsB,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAClH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAc7E,MAAM,WAAW,iBAAiB;IAC9B,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1B,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/B,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/B,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD,UAAU,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/C,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC5F,mCAAmC,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACrH,iCAAiC,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACnH,SAAS,CAAC,OAAO,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACrG;AAED,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,MAAM,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED,qBAAa,gBAAiB,SAAQ,QAAQ,CAAC,iBAAiB,CAAC;IAC7D,QAAQ,EAAE,sBAAsB,CAAC;IACjC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,GAAG,iBAAiB,CAAC;IACvC,KAAK,EAAE,KAAK,CAAC;gBAGT,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,QAAQ,GAAE,iBAAiB,GAAG,IAAW,EACzC,MAAM,CAAC,EAAE,eAAe,GAAG,IAAI;IAgC7B,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAI9B,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAI5C,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIhD,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIhD,UAAU,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAI9C,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAI5C,OAAO,CACT,MAAM,EAAE,UAAU,GAAG,OAAO,EAC5B,QAAQ,GAAE,OAAO,GAAG,IAAW,GAChC,OAAO,CAAC,mBAAmB,CAAC;IAyBzB,QAAQ,CACV,MAAM,EAAE,UAAU,GAAG,OAAO,EAC5B,QAAQ,GAAE,OAAO,GAAG,IAAW,EAC/B,KAAK,GAAE,OAAO,GAAG,IAAW,GAC7B,OAAO,CAAC,mBAAmB,CAAC;IAmB/B;;;;;OAKG;IACG,MAAM,CACR,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,OAAO,GAAG,IAAW,EAC/B,KAAK,GAAE,OAAO,GAAG,IAAW,GAC7B,OAAO,CAAC,mBAAmB,CAAC;IAiBzB,SAAS,CACX,SAAS,EAAE,kBAAkB,GAC9B,OAAO,CAAC,mBAAmB,CAAC;YAQjB,aAAa;CAW9B"}
1
+ {"version":3,"file":"LendingOptimizer.d.ts","sourceRoot":"","sources":["../../src/classes/LendingOptimizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AACvD,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC9H,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAc5C,MAAM,WAAW,iBAAiB;IAC9B,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1B,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/B,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/B,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD,UAAU,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/C,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3C,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC5F,mCAAmC,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACrH,iCAAiC,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACnH,SAAS,CAAC,OAAO,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACrG;AAED,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,MAAM,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACpC,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,MAAM,wBAAwB,GAAG,MAAM,GAAG;IAC5C,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,UAAU,CAAC;CACxB,CAAC;AAEF,MAAM,WAAW,qBAAqB;IAClC,SAAS,EAAE,KAAK,GAAG,WAAW,CAAC;IAC/B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,KAAK,OAAO,CAAC;QAC7F,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,OAAO,CAAC;QAChB,MAAM,EAAE,OAAO,CAAC;QAChB,KAAK,CAAC,EAAE,GAAG,CAAC;KACf,CAAC,CAAC;CACN;AAED,MAAM,WAAW,uBAAuB;IACpC,QAAQ,EAAE,KAAK,CAAC;IAChB,kBAAkB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAC3C,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,gBAAiB,SAAQ,QAAQ,CAAC,iBAAiB,CAAC;IAC7D,QAAQ,EAAE,sBAAsB,CAAC;IACjC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,GAAG,iBAAiB,CAAC;IACvC,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACvC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,sBAAsB,EAAE,OAAO,GAAG,SAAS,CAAC;gBAGxC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,QAAQ,GAAE,iBAAiB,GAAG,IAAW,EACzC,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,GAAG,uBAAuB,EAClE,OAAO,CAAC,EAAE,uBAAuB;IAyC/B,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAI9B,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAI5C,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIhD,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIhD,UAAU,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAI9C,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1C,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAI5C,OAAO,CACT,MAAM,EAAE,UAAU,GAAG,OAAO,EAC5B,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,GAC1B,OAAO,CAAC,mBAAmB,CAAC;IACzB,OAAO,CACT,MAAM,EAAE,UAAU,GAAG,OAAO,EAC5B,GAAG,EAAE,wBAAwB,EAC7B,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,GAC1B,OAAO,CAAC,mBAAmB,CAAC;YAgBjB,aAAa;IA4B3B,kBAAkB,IAAI,eAAe;IAM/B,qBAAqB,CACvB,MAAM,EAAE,UAAU,GAAG,OAAO,EAC5B,GAAG,EAAE,wBAAwB,EAC7B,QAAQ,GAAE,OAAO,GAAG,IAAW,GAChC,OAAO,CAAC,uBAAuB,CAAC;IAiD7B,eAAe,CAAC,YAAY,EAAE,wBAAwB,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IASjF,kBAAkB,CAAC,YAAY,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAW5F,gBAAgB,CAAC,MAAM,GAAE,MAAM,GAAG,IAAW,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;YAyDxE,UAAU;IAmBlB,QAAQ,CACV,MAAM,EAAE,UAAU,GAAG,OAAO,EAC5B,QAAQ,GAAE,OAAO,GAAG,IAAW,EAC/B,KAAK,GAAE,OAAO,GAAG,IAAW,GAC7B,OAAO,CAAC,mBAAmB,CAAC;IAmB/B;;;;;OAKG;IACG,MAAM,CACR,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,OAAO,GAAG,IAAW,EAC/B,KAAK,GAAE,OAAO,GAAG,IAAW,GAC7B,OAAO,CAAC,mBAAmB,CAAC;IAiB/B;;;OAGG;IACG,SAAS,CACX,QAAQ,GAAE,OAAO,GAAG,IAAW,EAC/B,KAAK,GAAE,OAAO,GAAG,IAAW,GAC7B,OAAO,CAAC,mBAAmB,CAAC;IAczB,SAAS,CACX,SAAS,EAAE,kBAAkB,GAC9B,OAAO,CAAC,mBAAmB,CAAC;YAQjB,aAAa;IAY3B,OAAO,CAAC,MAAM,CAAC,SAAS;IAMxB,OAAO,CAAC,yBAAyB;IAKjC,OAAO,CAAC,0BAA0B;YA+BpB,mBAAmB;YAqBnB,iBAAiB;YAIjB,wBAAwB;YA0BxB,qBAAqB;IAwBnC,OAAO,CAAC,6BAA6B;CASxC"}
@@ -7,8 +7,11 @@ exports.LendingOptimizer = void 0;
7
7
  const decimal_js_1 = __importDefault(require("decimal.js"));
8
8
  const helpers_1 = require("../helpers");
9
9
  const Calldata_1 = require("./Calldata");
10
+ const ERC20_1 = require("./ERC20");
10
11
  const FormatConverter_1 = __importDefault(require("./FormatConverter"));
11
12
  const LendingOptimizer_json_1 = __importDefault(require("../abis/LendingOptimizer.json"));
13
+ const OptimizerZapper_1 = require("./OptimizerZapper");
14
+ const NativeToken_1 = require("./NativeToken");
12
15
  function getSetupConfig() {
13
16
  return require("../setup").setup_config;
14
17
  }
@@ -24,12 +27,20 @@ class LendingOptimizer extends Calldata_1.Calldata {
24
27
  address;
25
28
  contract;
26
29
  asset;
27
- constructor(address, asset, provider = null, signer) {
30
+ setup;
31
+ dexAgg;
32
+ optimizerZapperAddress;
33
+ constructor(address, asset, provider = null, signerOrOptions, options) {
28
34
  super();
35
+ const signerOptions = LendingOptimizer.isOptions(signerOrOptions) ? signerOrOptions : options ?? {};
36
+ const explicitSigner = LendingOptimizer.isOptions(signerOrOptions)
37
+ ? null
38
+ : signerOrOptions;
29
39
  const legacySigner = provider != null && "address" in provider
30
40
  ? provider
31
41
  : null;
32
42
  const defaultReadProvider = resolveDefaultReadProvider();
43
+ const defaultSetup = getSetupConfig();
33
44
  const assetProvider = asset.provider;
34
45
  const assetSigner = provider == null && assetProvider != null
35
46
  ? asset.signer ?? null
@@ -45,9 +56,13 @@ class LendingOptimizer extends Calldata_1.Calldata {
45
56
  }
46
57
  this.provider = resolvedProvider;
47
58
  const canInheritDefaultSigner = provider == null && (assetProvider == null || assetProvider === defaultReadProvider);
48
- this.signer = signer ?? legacySigner ?? assetSigner ?? (canInheritDefaultSigner ? resolveDefaultSigner() : null);
59
+ this.signer = explicitSigner ?? legacySigner ?? assetSigner ?? (canInheritDefaultSigner ? resolveDefaultSigner() : null);
49
60
  this.address = address;
50
61
  this.asset = asset;
62
+ this.setup = signerOptions.setup ?? (canInheritDefaultSigner ? defaultSetup : undefined);
63
+ this.dexAgg = signerOptions.dexAgg;
64
+ const setupZappers = this.setup?.contracts?.zappers;
65
+ this.optimizerZapperAddress = signerOptions.optimizerZapper ?? setupZappers?.optimizerZapper;
51
66
  this.contract = (0, helpers_1.contractSetup)(resolvedProvider, address, LendingOptimizer_json_1.default);
52
67
  }
53
68
  async totalAssets() {
@@ -65,10 +80,22 @@ class LendingOptimizer extends Calldata_1.Calldata {
65
80
  async maxDeposit(receiver) {
66
81
  return this.contract.maxDeposit(receiver);
67
82
  }
83
+ async maxRedeem(owner) {
84
+ return this.contract.maxRedeem(owner);
85
+ }
68
86
  async maxWithdraw(owner) {
69
87
  return this.contract.maxWithdraw(owner);
70
88
  }
71
- async deposit(amount, receiver = null) {
89
+ async deposit(amount, zapOrReceiver = null, receiver = null) {
90
+ if (this.isOptimizerZapInstruction(zapOrReceiver)) {
91
+ if (zapOrReceiver === 'none') {
92
+ return this.directDeposit(amount, receiver);
93
+ }
94
+ return this.zapDeposit(amount, zapOrReceiver, receiver);
95
+ }
96
+ return this.directDeposit(amount, zapOrReceiver ?? receiver);
97
+ }
98
+ async directDeposit(amount, receiver = null) {
72
99
  const signer = (0, helpers_1.requireSigner)(this.signer);
73
100
  const from = signer.address;
74
101
  receiver ??= from;
@@ -85,6 +112,116 @@ class LendingOptimizer extends Calldata_1.Calldata {
85
112
  const calldata = this.contract.interface.encodeFunctionData("deposit(uint256,address)", [assets, receiver]);
86
113
  return this.executeCallData(calldata);
87
114
  }
115
+ getOptimizerZapper() {
116
+ const signer = (0, helpers_1.requireSigner)(this.signer);
117
+ const { setup, dexAgg, optimizerZapper } = this.requireOptimizerZapContext();
118
+ return new OptimizerZapper_1.OptimizerZapper(optimizerZapper, signer, setup, dexAgg);
119
+ }
120
+ async getZapDepositCalldata(amount, zap, receiver = null) {
121
+ const signer = (0, helpers_1.requireSigner)(this.signer);
122
+ receiver ??= signer.address;
123
+ if (zap === 'none') {
124
+ const decimals = this.asset.decimals ?? await this.asset.fetchDecimals();
125
+ const assets = FormatConverter_1.default.decimalToBigInt(new decimal_js_1.default(amount), decimals);
126
+ if (assets === 0n) {
127
+ throw new Error("LendingOptimizer.deposit: amount resolves to zero");
128
+ }
129
+ return {
130
+ calldata: this.contract.interface.encodeFunctionData("deposit(uint256,address)", [assets, receiver]),
131
+ calldata_overrides: {},
132
+ zapper: null,
133
+ inputAssets: assets,
134
+ };
135
+ }
136
+ const inputAssets = await this.getZapAssetAmount(amount, zap);
137
+ if (inputAssets === 0n) {
138
+ throw new Error("LendingOptimizer.deposit: amount resolves to zero");
139
+ }
140
+ const zapper = this.getOptimizerZapper();
141
+ const slippage = FormatConverter_1.default.percentageToBps(zap.slippage);
142
+ const calldata = await zapper.getDepositCalldata(this, zap.inputToken, inputAssets, slippage, receiver);
143
+ const calldata_overrides = zap.inputToken.toLowerCase() === helpers_1.NATIVE_ADDRESS.toLowerCase()
144
+ ? { value: inputAssets }
145
+ : {};
146
+ return {
147
+ calldata,
148
+ calldata_overrides,
149
+ zapper,
150
+ expectedShares: this.getOptimizerZapExpectedShares(zapper, calldata),
151
+ inputAssets,
152
+ };
153
+ }
154
+ async approveZapAsset(instructions, amount) {
155
+ const approvalTarget = await this.resolveZapApprovalTarget(instructions);
156
+ if (approvalTarget == null) {
157
+ return;
158
+ }
159
+ return approvalTarget.token.approve(approvalTarget.spender, amount);
160
+ }
161
+ async isZapAssetApproved(instructions, amount) {
162
+ const approvalTarget = await this.resolveZapApprovalTarget(instructions);
163
+ if (approvalTarget == null) {
164
+ return true;
165
+ }
166
+ const owner = (0, helpers_1.requireSigner)(this.signer).address;
167
+ const allowance = await approvalTarget.token.allowance(owner, approvalTarget.spender);
168
+ return allowance >= amount;
169
+ }
170
+ async getDepositTokens(search = null) {
171
+ let tokens = [{
172
+ interface: this.asset,
173
+ type: 'none',
174
+ }];
175
+ const tokensExclude = [this.asset.address.toLowerCase()];
176
+ const setup = this.setup;
177
+ const dexAgg = this.dexAgg;
178
+ const canZap = this.optimizerZapperAddress != null
179
+ && this.optimizerZapperAddress.toLowerCase() !== helpers_1.EMPTY_ADDRESS.toLowerCase()
180
+ && typeof dexAgg?.router === "string"
181
+ && dexAgg.router.toLowerCase() !== helpers_1.EMPTY_ADDRESS.toLowerCase()
182
+ && setup != null;
183
+ if (canZap) {
184
+ const account = this.signer?.address ?? setup.account;
185
+ const dexTokens = await dexAgg.getAvailableTokens(this.provider, search, account);
186
+ const optimizerTokens = dexTokens
187
+ .filter((token) => !tokensExclude.includes(token.interface.address.toLowerCase()))
188
+ .map((token) => {
189
+ const optimizerToken = {
190
+ interface: token.interface,
191
+ type: 'optimizer',
192
+ };
193
+ if (token.quote != undefined) {
194
+ optimizerToken.quote = token.quote;
195
+ }
196
+ return optimizerToken;
197
+ });
198
+ tokens = tokens.concat(optimizerTokens);
199
+ if (!tokensExclude.includes(helpers_1.NATIVE_ADDRESS.toLowerCase())) {
200
+ tokens.push({
201
+ interface: new NativeToken_1.NativeToken(setup.chain, this.provider, setup.contracts.OracleManager, this.signer, account, setup.assets),
202
+ type: 'optimizer',
203
+ });
204
+ }
205
+ }
206
+ if (search) {
207
+ const lowerSearch = search.toLowerCase();
208
+ tokens = tokens.filter(token => (token.interface.name ?? '').toLowerCase().includes(lowerSearch) ||
209
+ (token.interface.symbol ?? '').toLowerCase().includes(lowerSearch));
210
+ }
211
+ return tokens;
212
+ }
213
+ async zapDeposit(amount, zap, receiver) {
214
+ const inputAssets = await this.getZapAssetAmount(amount, zap);
215
+ if (inputAssets === 0n) {
216
+ throw new Error("LendingOptimizer.deposit: amount resolves to zero");
217
+ }
218
+ await this.checkZapAssetApproval(zap, inputAssets);
219
+ const { calldata, calldata_overrides, zapper } = await this.getZapDepositCalldata(amount, zap, receiver);
220
+ if (zapper == null) {
221
+ throw new Error("Optimizer zapper is not configured");
222
+ }
223
+ return zapper.executeCallData(calldata, calldata_overrides);
224
+ }
88
225
  async withdraw(amount, receiver = null, owner = null) {
89
226
  const signer = (0, helpers_1.requireSigner)(this.signer);
90
227
  const from = signer.address;
@@ -115,6 +252,21 @@ class LendingOptimizer extends Calldata_1.Calldata {
115
252
  const calldata = this.contract.interface.encodeFunctionData("redeem(uint256,address,address)", [shares, receiver, owner]);
116
253
  return this.executeCallData(calldata);
117
254
  }
255
+ /**
256
+ * Redeem the owner's currently redeemable share amount. This is the
257
+ * optimizer "Max" path for callers that do not need to prefetch shares.
258
+ */
259
+ async redeemAll(receiver = null, owner = null) {
260
+ const signer = (0, helpers_1.requireSigner)(this.signer);
261
+ const from = signer.address;
262
+ receiver ??= from;
263
+ owner ??= from;
264
+ const shares = await this.maxRedeem(owner);
265
+ if (shares === 0n) {
266
+ throw new Error("LendingOptimizer.redeemAll: no shares are currently redeemable");
267
+ }
268
+ return this.redeem(shares, receiver, owner);
269
+ }
118
270
  async rebalance(rebalance) {
119
271
  const calldata = this.contract.interface.encodeFunctionData("rebalance", [rebalance.actions, rebalance.bounds]);
120
272
  return this.executeCallData(calldata);
@@ -130,6 +282,95 @@ class LendingOptimizer extends Calldata_1.Calldata {
130
282
  return this.asset.address;
131
283
  }
132
284
  }
285
+ static isOptions(value) {
286
+ return typeof value === "object"
287
+ && value != null
288
+ && !("address" in value);
289
+ }
290
+ isOptimizerZapInstruction(value) {
291
+ return value === 'none'
292
+ || (typeof value === "object" && value != null && value.type === 'optimizer');
293
+ }
294
+ requireOptimizerZapContext() {
295
+ if (this.setup == null) {
296
+ throw new Error("LendingOptimizer optimizer zaps require a setup snapshot. " +
297
+ "Pass { setup: setupResult.setupConfigSnapshot, dexAgg: setupResult.dexAgg } to the constructor.");
298
+ }
299
+ if (this.dexAgg == null) {
300
+ throw new Error("LendingOptimizer optimizer zaps require a setup-bound DEX aggregator. " +
301
+ "Pass the dexAgg returned by setupChain(...).");
302
+ }
303
+ if (this.optimizerZapperAddress == null ||
304
+ this.optimizerZapperAddress.toLowerCase() === helpers_1.EMPTY_ADDRESS.toLowerCase()) {
305
+ throw new Error(`OptimizerZapper is not configured for ${this.setup.chain}.`);
306
+ }
307
+ return {
308
+ setup: this.setup,
309
+ dexAgg: this.dexAgg,
310
+ optimizerZapper: this.optimizerZapperAddress,
311
+ };
312
+ }
313
+ async getZapInputDecimals(instructions) {
314
+ if (instructions === 'none') {
315
+ return this.asset.decimals ?? await this.asset.fetchDecimals();
316
+ }
317
+ if (instructions.inputToken.toLowerCase() === helpers_1.NATIVE_ADDRESS.toLowerCase()) {
318
+ return 18n;
319
+ }
320
+ if (instructions.inputToken.toLowerCase() === this.asset.address.toLowerCase()) {
321
+ return this.asset.decimals ?? await this.asset.fetchDecimals();
322
+ }
323
+ const inputErc20 = new ERC20_1.ERC20(this.provider, instructions.inputToken, undefined, this.setup?.contracts.OracleManager, this.signer);
324
+ return inputErc20.decimals ?? await inputErc20.fetchDecimals();
325
+ }
326
+ async getZapAssetAmount(amount, instructions) {
327
+ return FormatConverter_1.default.decimalToBigInt(new decimal_js_1.default(amount), await this.getZapInputDecimals(instructions));
328
+ }
329
+ async resolveZapApprovalTarget(instructions) {
330
+ if (instructions === 'none') {
331
+ throw new Error("Optimizer zap instructions must be provided");
332
+ }
333
+ if (instructions.inputToken.toLowerCase() === helpers_1.NATIVE_ADDRESS.toLowerCase()) {
334
+ return null;
335
+ }
336
+ const { optimizerZapper } = this.requireOptimizerZapContext();
337
+ return {
338
+ token: new ERC20_1.ERC20(this.provider, instructions.inputToken, undefined, this.setup?.contracts.OracleManager, this.signer),
339
+ spender: optimizerZapper,
340
+ spenderLabel: "OptimizerZapper",
341
+ };
342
+ }
343
+ async checkZapAssetApproval(instructions, amount) {
344
+ const approvalTarget = await this.resolveZapApprovalTarget(instructions);
345
+ if (approvalTarget == null) {
346
+ return;
347
+ }
348
+ const owner = (0, helpers_1.requireSigner)(this.signer).address;
349
+ const allowance = await approvalTarget.token.allowance(owner, approvalTarget.spender);
350
+ if (allowance >= amount) {
351
+ return;
352
+ }
353
+ let tokenLabel = approvalTarget.token.symbol ?? approvalTarget.token.address;
354
+ if (approvalTarget.token.symbol == undefined) {
355
+ try {
356
+ tokenLabel = await approvalTarget.token.fetchSymbol();
357
+ }
358
+ catch {
359
+ tokenLabel = approvalTarget.token.address;
360
+ }
361
+ }
362
+ throw new Error(`Please approve the ${tokenLabel} token for ${approvalTarget.spenderLabel}`);
363
+ }
364
+ getOptimizerZapExpectedShares(zapper, calldata) {
365
+ try {
366
+ const decoded = zapper.contract.interface.decodeFunctionData("swapAndDeposit", calldata);
367
+ const expectedShares = decoded[3];
368
+ return typeof expectedShares === "bigint" ? expectedShares : BigInt(expectedShares);
369
+ }
370
+ catch {
371
+ return undefined;
372
+ }
373
+ }
133
374
  }
134
375
  exports.LendingOptimizer = LendingOptimizer;
135
376
  //# sourceMappingURL=LendingOptimizer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LendingOptimizer.js","sourceRoot":"","sources":["../../src/classes/LendingOptimizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LendingOptimizer.js","sourceRoot":"","sources":["../../src/classes/LendingOptimizer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { Contract, TransactionResponse } from "ethers";
2
+ import { address, bytes, curvance_signer } from "../types";
3
+ import { Calldata } from "./Calldata";
4
+ import type { SetupConfigSnapshot } from "../setup";
5
+ import type IDexAgg from "./DexAggregators/IDexAgg";
6
+ import type { LendingOptimizer } from "./LendingOptimizer";
7
+ import type { Swap } from "./Zapper";
8
+ export interface IOptimizerZapper {
9
+ swapAndDeposit(optimizer: address, depositAsWrappedNative: boolean, swapAction: Swap, expectedShares: bigint, receiver: address): Promise<TransactionResponse>;
10
+ }
11
+ export declare class OptimizerZapper extends Calldata<IOptimizerZapper> {
12
+ signer: curvance_signer;
13
+ contract: Contract & IOptimizerZapper;
14
+ address: address;
15
+ setup: SetupConfigSnapshot;
16
+ dexAgg: IDexAgg;
17
+ constructor(address: address, signer: curvance_signer, setup: SetupConfigSnapshot, dexAgg: IDexAgg);
18
+ deposit(optimizer: LendingOptimizer, inputToken: address, amount: bigint, slippage: bigint, receiver?: address): Promise<TransactionResponse>;
19
+ getDepositCalldata(optimizer: LendingOptimizer, inputToken: address, amount: bigint, slippage: bigint, receiver?: address): Promise<bytes>;
20
+ getNativeDepositCalldata(optimizer: LendingOptimizer, amount: bigint, wrapped?: boolean, receiver?: address): Promise<bytes>;
21
+ private getOptimizerAsset;
22
+ private getExpectedShares;
23
+ }
24
+ //# sourceMappingURL=OptimizerZapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OptimizerZapper.d.ts","sourceRoot":"","sources":["../../src/classes/OptimizerZapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAIrC,MAAM,WAAW,gBAAgB;IAC7B,cAAc,CACV,SAAS,EAAE,OAAO,EAClB,sBAAsB,EAAE,OAAO,EAC/B,UAAU,EAAE,IAAI,EAChB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,OAAO,GAClB,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACnC;AAED,qBAAa,eAAgB,SAAQ,QAAQ,CAAC,gBAAgB,CAAC;IAC3D,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE,QAAQ,GAAG,gBAAgB,CAAC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,mBAAmB,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;gBAEJ,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,OAAO;IAe5F,OAAO,CACT,SAAS,EAAE,gBAAgB,EAC3B,UAAU,EAAE,OAAO,EACnB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,GAAE,OAAwC,GACnD,OAAO,CAAC,mBAAmB,CAAC;IAQzB,kBAAkB,CACpB,SAAS,EAAE,gBAAgB,EAC3B,UAAU,EAAE,OAAO,EACnB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,GAAE,OAAwC,GACnD,OAAO,CAAC,KAAK,CAAC;IAoEX,wBAAwB,CAC1B,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,OAAe,EACxB,QAAQ,GAAE,OAAwC,GACnD,OAAO,CAAC,KAAK,CAAC;YAqBH,iBAAiB;YAIjB,iBAAiB;CAIlC"}
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.OptimizerZapper = void 0;
7
+ const helpers_1 = require("../helpers");
8
+ const Calldata_1 = require("./Calldata");
9
+ const OptimizerZapper_json_1 = __importDefault(require("../abis/OptimizerZapper.json"));
10
+ const OPTIMIZER_ZAP_SHARES_BUFFER_BPS = 2n;
11
+ class OptimizerZapper extends Calldata_1.Calldata {
12
+ signer;
13
+ contract;
14
+ address;
15
+ setup;
16
+ dexAgg;
17
+ constructor(address, signer, setup, dexAgg) {
18
+ super();
19
+ this.address = address;
20
+ this.signer = signer;
21
+ this.setup = setup;
22
+ if (dexAgg == undefined) {
23
+ throw new Error("OptimizerZapper requires a setup-bound DEX aggregator. " +
24
+ "Pass the dexAgg returned by setupChain(...).");
25
+ }
26
+ this.dexAgg = dexAgg;
27
+ this.contract = (0, helpers_1.contractSetup)(signer, address, OptimizerZapper_json_1.default);
28
+ }
29
+ async deposit(optimizer, inputToken, amount, slippage, receiver = this.signer.address) {
30
+ const calldata = await this.getDepositCalldata(optimizer, inputToken, amount, slippage, receiver);
31
+ const overrides = inputToken.toLowerCase() === helpers_1.NATIVE_ADDRESS.toLowerCase()
32
+ ? { value: amount }
33
+ : {};
34
+ return this.executeCallData(calldata, overrides);
35
+ }
36
+ async getDepositCalldata(optimizer, inputToken, amount, slippage, receiver = this.signer.address) {
37
+ const outputToken = await this.getOptimizerAsset(optimizer);
38
+ const isNative = inputToken.toLowerCase() === helpers_1.NATIVE_ADDRESS.toLowerCase();
39
+ const wrappedNative = this.setup.assets.wrapped_native;
40
+ if (isNative && outputToken.toLowerCase() === wrappedNative.toLowerCase()) {
41
+ return this.getNativeDepositCalldata(optimizer, amount, true, receiver);
42
+ }
43
+ const swapInputToken = isNative ? wrappedNative : inputToken;
44
+ if (swapInputToken.toLowerCase() === outputToken.toLowerCase()) {
45
+ const swap = {
46
+ inputToken: isNative ? helpers_1.NATIVE_ADDRESS : inputToken,
47
+ inputAmount: amount,
48
+ outputToken,
49
+ target: helpers_1.EMPTY_ADDRESS,
50
+ slippage: 0n,
51
+ call: helpers_1.EMPTY_BYTES,
52
+ };
53
+ const expectedShares = await this.getExpectedShares(optimizer, amount);
54
+ return this.getCallData("swapAndDeposit", [
55
+ optimizer.address,
56
+ isNative,
57
+ swap,
58
+ expectedShares,
59
+ receiver,
60
+ ]);
61
+ }
62
+ const feeBps = this.setup.feePolicy.getFeeBps({
63
+ operation: "zap",
64
+ inputToken: isNative ? helpers_1.NATIVE_ADDRESS : inputToken,
65
+ outputToken,
66
+ inputAmount: amount,
67
+ currentLeverage: null,
68
+ targetLeverage: null,
69
+ });
70
+ const feeReceiver = feeBps > 0n ? this.setup.feePolicy.feeReceiver : undefined;
71
+ const quote = await this.dexAgg.quote(this.address, swapInputToken, outputToken, amount, slippage, feeBps, feeReceiver);
72
+ const swap = {
73
+ inputToken: isNative ? helpers_1.NATIVE_ADDRESS : inputToken,
74
+ inputAmount: amount,
75
+ outputToken,
76
+ target: quote.to,
77
+ slippage: (0, helpers_1.toContractSwapSlippage)(slippage, feeBps),
78
+ call: quote.calldata,
79
+ };
80
+ const expectedShares = await this.getExpectedShares(optimizer, BigInt(quote.min_out));
81
+ return this.getCallData("swapAndDeposit", [
82
+ optimizer.address,
83
+ isNative,
84
+ swap,
85
+ expectedShares,
86
+ receiver,
87
+ ]);
88
+ }
89
+ async getNativeDepositCalldata(optimizer, amount, wrapped = false, receiver = this.signer.address) {
90
+ const outputToken = wrapped ? this.setup.assets.wrapped_native : helpers_1.NATIVE_ADDRESS;
91
+ const swap = {
92
+ inputToken: helpers_1.NATIVE_ADDRESS,
93
+ inputAmount: amount,
94
+ outputToken,
95
+ target: helpers_1.EMPTY_ADDRESS,
96
+ slippage: 0n,
97
+ call: helpers_1.EMPTY_BYTES,
98
+ };
99
+ const expectedShares = await this.getExpectedShares(optimizer, amount);
100
+ return this.getCallData("swapAndDeposit", [
101
+ optimizer.address,
102
+ wrapped,
103
+ swap,
104
+ expectedShares,
105
+ receiver,
106
+ ]);
107
+ }
108
+ async getOptimizerAsset(optimizer) {
109
+ return optimizer.contract.asset();
110
+ }
111
+ async getExpectedShares(optimizer, assets) {
112
+ const shares = await optimizer.convertToShares(assets);
113
+ return shares * (helpers_1.BPS - OPTIMIZER_ZAP_SHARES_BUFFER_BPS) / helpers_1.BPS;
114
+ }
115
+ }
116
+ exports.OptimizerZapper = OptimizerZapper;
117
+ //# sourceMappingURL=OptimizerZapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OptimizerZapper.js","sourceRoot":"","sources":["../../src/classes/OptimizerZapper.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export * from './Market';
7
7
  export * from './CToken';
8
8
  export * from './ERC20';
9
9
  export * from './Zapper';
10
+ export * from './OptimizerZapper';
10
11
  export * from './Calldata';
11
12
  export * from './BorrowableCToken';
12
13
  export * from './NativeToken';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/classes/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/classes/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
@@ -27,6 +27,7 @@ __exportStar(require("./Market"), exports);
27
27
  __exportStar(require("./CToken"), exports);
28
28
  __exportStar(require("./ERC20"), exports);
29
29
  __exportStar(require("./Zapper"), exports);
30
+ __exportStar(require("./OptimizerZapper"), exports);
30
31
  __exportStar(require("./Calldata"), exports);
31
32
  __exportStar(require("./BorrowableCToken"), exports);
32
33
  __exportStar(require("./NativeToken"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/classes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,oDAAkC;AAClC,qDAAmC;AACnC,kDAAgC;AAChC,wCAAsB;AACtB,2CAAyB;AACzB,2CAAyB;AACzB,0CAAwB;AACxB,2CAAyB;AACzB,6CAA2B;AAC3B,qDAAmC;AACnC,gDAA8B;AAC9B,oDAAkC;AAClC,mDAAiC;AACjC,qDAA+D;AAAtD,mIAAA,OAAO,OAAmB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/classes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,oDAAkC;AAClC,qDAAmC;AACnC,kDAAgC;AAChC,wCAAsB;AACtB,2CAAyB;AACzB,2CAAyB;AACzB,0CAAwB;AACxB,2CAAyB;AACzB,oDAAkC;AAClC,6CAA2B;AAC3B,qDAAmC;AACnC,gDAA8B;AAC9B,oDAAkC;AAClC,mDAAiC;AACjC,qDAA+D;AAAtD,mIAAA,OAAO,OAAmB"}
@@ -16,6 +16,7 @@ export declare const chains: {
16
16
  readonly nativeVaultZapper: string;
17
17
  readonly vaultZapper: string;
18
18
  readonly simpleZapper: string;
19
+ readonly optimizerZapper: string;
19
20
  };
20
21
  readonly "VaultAggregator-AUSD-sAUSD": string;
21
22
  readonly "StaticPriceAggregator-loAZND": string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGjB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGjB,CAAC"}
@@ -14,7 +14,8 @@
14
14
  "zappers": {
15
15
  "nativeVaultZapper": "0xF562745Ac9bf3466d5eD829819a27Ef0324EF407",
16
16
  "vaultZapper": "0x8DA05a1Ad927fFB0A6B0E045b11b94e8d2256366",
17
- "simpleZapper": "0x7b01E1D9c403aAAF7d960202Fee913F48C43E53c"
17
+ "simpleZapper": "0x7b01E1D9c403aAAF7d960202Fee913F48C43E53c",
18
+ "optimizerZapper": "0x190FD44CCFF0Da43Fd60EB496236C3066011a3cA"
18
19
  },
19
20
  "VaultAggregator-AUSD-sAUSD": "0x73Af3E1848636D4DE6A61050D5487d6f09A7A1Be",
20
21
  "StaticPriceAggregator-loAZND": "0x6eCb16faf9b0c0F7098204e0FE685D2960b4C0Ba",
@@ -256,7 +257,7 @@
256
257
  "Optimizers": {
257
258
  "cAUSD+": "0x37Bf94D8Af2Fbbf562Da5a3f1b0787b3515D10dd"
258
259
  },
259
- "OptimizerReader": "0x2aE8D1f9b2bD10f03AEA27a95697380e1BE878D9",
260
+ "OptimizerReader": "0x6834b6DFbE949A4059266dB3055f353Cd956215A",
260
261
  "ProtocolReader": "0x55C7c1fe1DACB014aD3b21951728B5E580662268",
261
262
  "CombinedAggregator-ezETH": "0xd5F84C4497621768f3F08b65ad7019BdF183b1fd",
262
263
  "CombinedAggregator-earnAUSD": "0xf80CC9965d260d7cD96E41b9734F031279dCDf2f",
package/dist/helpers.d.ts CHANGED
@@ -133,6 +133,7 @@ export declare function getContractAddresses(chain: ChainRpcPrefix): {
133
133
  readonly nativeVaultZapper: string;
134
134
  readonly vaultZapper: string;
135
135
  readonly simpleZapper: string;
136
+ readonly optimizerZapper: string;
136
137
  };
137
138
  readonly "VaultAggregator-AUSD-sAUSD": string;
138
139
  readonly "StaticPriceAggregator-loAZND": string;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"merkl.d.ts","sourceRoot":"","sources":["../../src/integrations/merkl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merkl.d.ts","sourceRoot":"","sources":["../../src/integrations/merkl.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ exports.fetchMerklCampaignsBySymbol = fetchMerklCampaignsBySymbol;
7
7
  exports.fetchMerklOpportunities = fetchMerklOpportunities;
8
8
  const validation_1 = require("../validation");
9
9
  const MERKL_API_BASE_URL = 'https://api.merkl.xyz/v4';
10
+ const MERKL_PROXY_URL = 'https://api2.curvance.com/merkl/proxy';
10
11
  const PROTOCOL_ID = 'curvance';
11
12
  function isRecord(value) {
12
13
  return typeof value === 'object' && value != null;
@@ -29,6 +30,11 @@ function validateOptionalChainId(chainId, context) {
29
30
  }
30
31
  return chainId;
31
32
  }
33
+ function proxyMerklUrl(url) {
34
+ const proxyUrl = new URL(MERKL_PROXY_URL);
35
+ proxyUrl.searchParams.set('url', url.toString());
36
+ return proxyUrl.toString();
37
+ }
32
38
  function isAddressLike(value) {
33
39
  return /^0x[a-fA-F0-9]{40}$/.test(value);
34
40
  }
@@ -389,7 +395,7 @@ async function fetchMerklUserRewards({ wallet, chainId, signal, }) {
389
395
  if (validatedChainId != undefined) {
390
396
  url.searchParams.set('chainId', String(validatedChainId));
391
397
  }
392
- const response = await (0, validation_1.fetchWithTimeout)(url.toString(), { signal: signal ?? null, cache: 'no-store' });
398
+ const response = await (0, validation_1.fetchWithTimeout)(proxyMerklUrl(url), { signal: signal ?? null, cache: 'no-store' });
393
399
  if (!response.ok) {
394
400
  throw new Error('Failed to fetch Merkl rewards');
395
401
  }
@@ -413,7 +419,7 @@ async function fetchMerklCampaignsBySymbol({ tokenSymbol, chainId, signal, }) {
413
419
  if (validatedChainId != undefined) {
414
420
  url.searchParams.set('chainId', String(validatedChainId));
415
421
  }
416
- const response = await (0, validation_1.fetchWithTimeout)(url.toString(), { signal: signal ?? null, cache: 'no-store' });
422
+ const response = await (0, validation_1.fetchWithTimeout)(proxyMerklUrl(url), { signal: signal ?? null, cache: 'no-store' });
417
423
  if (!response.ok) {
418
424
  throw new Error('Failed to fetch Merkl campaigns');
419
425
  }
@@ -432,7 +438,7 @@ async function fetchMerklOpportunities({ signal, action, chainId, }) {
432
438
  if (validatedChainId != undefined) {
433
439
  url.searchParams.set('chainId', String(validatedChainId));
434
440
  }
435
- const response = await (0, validation_1.fetchWithTimeout)(url.toString(), { signal: signal ?? null, cache: 'no-store' });
441
+ const response = await (0, validation_1.fetchWithTimeout)(proxyMerklUrl(url), { signal: signal ?? null, cache: 'no-store' });
436
442
  if (!response.ok) {
437
443
  throw new Error('Failed to fetch Merkl opportunities');
438
444
  }
@@ -1 +1 @@
1
- {"version":3,"file":"merkl.js","sourceRoot":"","sources":["../../src/integrations/merkl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merkl.js","sourceRoot":"","sources":["../../src/integrations/merkl.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "curvance",
3
- "version": "5.2.0",
3
+ "version": "5.2.2",
4
4
  "packageManager": "npm@11.14.1",
5
5
  "engines": {
6
6
  "npm": ">=11.14.1 <12"
@@ -37,8 +37,8 @@
37
37
  "build": "node node_modules/typescript/bin/tsc",
38
38
  "test": "npm run test:transport",
39
39
  "test:all": "node --test --test-concurrency=1 --require ts-node/register tests/*.test.ts",
40
- "test:transport": "node --test --test-concurrency=1 --require ts-node/register tests/contract-gas-buffer.test.ts tests/retry-fallback.test.ts tests/rpc-ranking.test.ts tests/rpc-config-shape.test.ts tests/protocol-reader.test.ts tests/setup-race.test.ts tests/query-budget.test.ts tests/conversion.test.ts tests/erc20.test.ts tests/feePolicy.test.ts tests/validation.test.ts tests/api.test.ts tests/market-refresh.test.ts tests/market-boot.test.ts tests/merkl.test.ts tests/detached-context.test.ts tests/market-get-all-indexes.test.ts tests/snapshot-multichain.test.ts tests/dex-aggregators.test.ts tests/calldata-compat.test.ts tests/leverage-math.test.ts tests/ctoken-deposits.test.ts tests/ctoken-collateral-removal.test.ts tests/ctoken-snapshot.test.ts tests/borrowable-helpers.test.ts tests/zapper-calldata.test.ts tests/leverage-vault-behavior.test.ts tests/ctoken-leverage-planning.test.ts tests/ctoken-leverage-execution.test.ts tests/market-leverage-preview.test.ts tests/market-position-health-units.test.ts tests/optimizer-reader.test.ts tests/lending-optimizer.test.ts tests/source-invariants.test.ts",
41
- "test:fork": "node --test --test-concurrency=1 --require ts-node/register tests/fork-integration.ts tests/basic.test.ts tests/arb-basic.test.ts tests/optimizer.test.ts tests/leverage.test.ts tests/zap.test.ts tests/dual-fork-switch.test.ts",
40
+ "test:transport": "node --test --test-concurrency=1 --require ts-node/register tests/contract-gas-buffer.test.ts tests/retry-fallback.test.ts tests/rpc-ranking.test.ts tests/rpc-config-shape.test.ts tests/protocol-reader.test.ts tests/setup-race.test.ts tests/query-budget.test.ts tests/conversion.test.ts tests/erc20.test.ts tests/feePolicy.test.ts tests/validation.test.ts tests/api.test.ts tests/market-refresh.test.ts tests/market-boot.test.ts tests/merkl.test.ts tests/detached-context.test.ts tests/market-get-all-indexes.test.ts tests/snapshot-multichain.test.ts tests/dex-aggregators.test.ts tests/calldata-compat.test.ts tests/leverage-math.test.ts tests/ctoken-deposits.test.ts tests/ctoken-collateral-removal.test.ts tests/ctoken-snapshot.test.ts tests/borrowable-helpers.test.ts tests/zapper-calldata.test.ts tests/optimizer-zapper.test.ts tests/leverage-vault-behavior.test.ts tests/ctoken-leverage-planning.test.ts tests/ctoken-leverage-execution.test.ts tests/market-leverage-preview.test.ts tests/market-position-health-units.test.ts tests/optimizer-reader.test.ts tests/lending-optimizer.test.ts tests/source-invariants.test.ts",
41
+ "test:fork": "node --test --test-concurrency=1 --require ts-node/register tests/fork-integration.ts tests/basic.test.ts tests/arb-basic.test.ts tests/optimizer.test.ts tests/optimizer-zap.test.ts tests/leverage.test.ts tests/zap.test.ts tests/dual-fork-switch.test.ts",
42
42
  "test:dist-smoke": "npm run build && node tests/dist-smoke.cjs",
43
43
  "test:leverage": "ts-node tests/leverage.test.ts",
44
44
  "test:zap": "ts-node tests/zap.test.ts",