curvance 4.0.4 → 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 +595 -59
- package/dist/chains/arb-sepolia.json +44 -0
- package/dist/chains/arbitrum.d.ts.map +1 -1
- package/dist/chains/arbitrum.js +4 -2
- package/dist/chains/arbitrum.js.map +1 -1
- package/dist/chains/index.d.ts +4 -0
- package/dist/chains/index.d.ts.map +1 -1
- package/dist/chains/index.js +15 -0
- package/dist/chains/index.js.map +1 -1
- package/dist/chains/monad-mainnet.json +26 -1
- package/dist/chains/monad.d.ts.map +1 -1
- package/dist/chains/monad.js +4 -2
- package/dist/chains/monad.js.map +1 -1
- package/dist/chains/rpc.d.ts +57 -0
- package/dist/chains/rpc.d.ts.map +1 -0
- package/dist/chains/rpc.js +47 -0
- package/dist/chains/rpc.js.map +1 -0
- package/dist/classes/Api.d.ts +4 -3
- package/dist/classes/Api.d.ts.map +1 -1
- package/dist/classes/Api.js +7 -7
- package/dist/classes/Api.js.map +1 -1
- package/dist/classes/BorrowableCToken.d.ts +3 -2
- package/dist/classes/BorrowableCToken.d.ts.map +1 -1
- package/dist/classes/BorrowableCToken.js +6 -5
- package/dist/classes/BorrowableCToken.js.map +1 -1
- package/dist/classes/CToken.d.ts +11 -3
- package/dist/classes/CToken.d.ts.map +1 -1
- package/dist/classes/CToken.js +85 -79
- package/dist/classes/CToken.js.map +1 -1
- package/dist/classes/Calldata.d.ts +2 -2
- package/dist/classes/Calldata.d.ts.map +1 -1
- package/dist/classes/Calldata.js +2 -2
- package/dist/classes/Calldata.js.map +1 -1
- package/dist/classes/DexAggregators/IDexAgg.d.ts +2 -2
- package/dist/classes/DexAggregators/IDexAgg.d.ts.map +1 -1
- package/dist/classes/DexAggregators/Kuru.d.ts +2 -2
- package/dist/classes/DexAggregators/Kuru.d.ts.map +1 -1
- package/dist/classes/DexAggregators/Kuru.js +3 -4
- package/dist/classes/DexAggregators/Kuru.js.map +1 -1
- package/dist/classes/DexAggregators/KuruMainnet.d.ts +1 -0
- package/dist/classes/DexAggregators/KuruMainnet.d.ts.map +1 -0
- package/dist/classes/DexAggregators/KuruMainnet.js +228 -0
- package/dist/classes/DexAggregators/KuruMainnet.js.map +1 -0
- package/dist/classes/DexAggregators/KyberSwap.d.ts +2 -2
- package/dist/classes/DexAggregators/KyberSwap.d.ts.map +1 -1
- package/dist/classes/DexAggregators/KyberSwap.js +10 -8
- package/dist/classes/DexAggregators/KyberSwap.js.map +1 -1
- package/dist/classes/DexAggregators/MultiDexAgg.d.ts +2 -2
- package/dist/classes/DexAggregators/MultiDexAgg.d.ts.map +1 -1
- package/dist/classes/DexAggregators/MultiDexAgg.js +3 -3
- package/dist/classes/DexAggregators/MultiDexAgg.js.map +1 -1
- package/dist/classes/ERC20.d.ts +5 -3
- package/dist/classes/ERC20.d.ts.map +1 -1
- package/dist/classes/ERC20.js +20 -14
- package/dist/classes/ERC20.js.map +1 -1
- package/dist/classes/ERC4626.d.ts.map +1 -1
- package/dist/classes/ERC4626.js +3 -1
- package/dist/classes/ERC4626.js.map +1 -1
- package/dist/classes/Kuru.d.ts +59 -0
- package/dist/classes/Kuru.d.ts.map +1 -0
- package/dist/classes/Kuru.js +167 -0
- package/dist/classes/Kuru.js.map +1 -0
- package/dist/classes/KuruMainnet.d.ts +59 -0
- package/dist/classes/KuruMainnet.d.ts.map +1 -0
- package/dist/classes/KuruMainnet.js +167 -0
- package/dist/classes/KuruMainnet.js.map +1 -0
- package/dist/classes/Market.d.ts +13 -4
- package/dist/classes/Market.d.ts.map +1 -1
- package/dist/classes/Market.js +86 -28
- package/dist/classes/Market.js.map +1 -1
- package/dist/classes/NativeToken.d.ts +6 -3
- package/dist/classes/NativeToken.d.ts.map +1 -1
- package/dist/classes/NativeToken.js +11 -16
- package/dist/classes/NativeToken.js.map +1 -1
- package/dist/classes/OptimizerReader.d.ts +3 -3
- package/dist/classes/OptimizerReader.d.ts.map +1 -1
- package/dist/classes/OptimizerReader.js +1 -1
- package/dist/classes/OptimizerReader.js.map +1 -1
- package/dist/classes/OracleManager.d.ts +3 -3
- package/dist/classes/OracleManager.d.ts.map +1 -1
- package/dist/classes/OracleManager.js +1 -1
- package/dist/classes/OracleManager.js.map +1 -1
- package/dist/classes/PositionManager.d.ts +2 -2
- package/dist/classes/PositionManager.d.ts.map +1 -1
- package/dist/classes/PositionManager.js +4 -4
- package/dist/classes/PositionManager.js.map +1 -1
- package/dist/classes/ProtocolReader.d.ts +18 -4
- package/dist/classes/ProtocolReader.d.ts.map +1 -1
- package/dist/classes/ProtocolReader.js +177 -55
- package/dist/classes/ProtocolReader.js.map +1 -1
- package/dist/classes/Redstone.d.ts.map +1 -1
- package/dist/classes/Redstone.js +1 -2
- package/dist/classes/Redstone.js.map +1 -1
- package/dist/classes/Zapper.d.ts +4 -2
- package/dist/classes/Zapper.d.ts.map +1 -1
- package/dist/classes/Zapper.js +14 -13
- package/dist/classes/Zapper.js.map +1 -1
- package/dist/classes/index.d.ts +1 -1
- package/dist/classes/index.d.ts.map +1 -1
- package/dist/classes/index.js +6 -1
- package/dist/classes/index.js.map +1 -1
- package/dist/contracts/monad-mainnet.json +1 -1
- package/dist/helpers.d.ts +3 -1
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +34 -4
- package/dist/helpers.js.map +1 -1
- package/dist/integrations/snapshot.d.ts.map +1 -1
- package/dist/integrations/snapshot.js +4 -18
- package/dist/integrations/snapshot.js.map +1 -1
- package/dist/retry-provider.d.ts +81 -6
- package/dist/retry-provider.d.ts.map +1 -1
- package/dist/retry-provider.js +489 -35
- package/dist/retry-provider.js.map +1 -1
- package/dist/setup.d.ts +14 -3
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +56 -20
- package/dist/setup.js.map +1 -1
- package/dist/snapshot.d.ts +53 -0
- package/dist/snapshot.d.ts.map +1 -0
- package/dist/snapshot.js +103 -0
- package/dist/snapshot.js.map +1 -0
- package/dist/types.d.ts +2 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +3 -1
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// import Decimal from "decimal.js";
|
|
3
|
+
// import { address, curvance_provider, TokenInput } from "../../types";
|
|
4
|
+
// import { ERC20 } from "../ERC20";
|
|
5
|
+
// import { toBigInt, toDecimal, validateProviderAsSigner, WAD } from "../../helpers";
|
|
6
|
+
// import { ZapToken } from "../CToken";
|
|
7
|
+
// import { Swap } from "../Zapper";
|
|
8
|
+
// interface KuruJWTResponse {
|
|
9
|
+
// token: string;
|
|
10
|
+
// expires_at: number;
|
|
11
|
+
// rate_limit: {
|
|
12
|
+
// rps: number;
|
|
13
|
+
// burst: number;
|
|
14
|
+
// }
|
|
15
|
+
// }
|
|
16
|
+
// interface KuruQuoteResponse {
|
|
17
|
+
// type: string;
|
|
18
|
+
// status: string;
|
|
19
|
+
// output: string;
|
|
20
|
+
// minOut: string;
|
|
21
|
+
// transaction: {
|
|
22
|
+
// calldata: string;
|
|
23
|
+
// value: string;
|
|
24
|
+
// to: string;
|
|
25
|
+
// };
|
|
26
|
+
// gasPrices: {
|
|
27
|
+
// slow: string;
|
|
28
|
+
// standard: string;
|
|
29
|
+
// fast: string;
|
|
30
|
+
// rapid: string;
|
|
31
|
+
// extreme: string;
|
|
32
|
+
// };
|
|
33
|
+
// }
|
|
34
|
+
// const cached_jwt = new Map<string, KuruJWTResponse>();
|
|
35
|
+
// const cached_requests = new Map<string, number[]>();
|
|
36
|
+
// export default class KuruMainnet {
|
|
37
|
+
// static api = "https://ws.kuru.io/api"
|
|
38
|
+
// static router = "0xb3e6778480b2E488385E8205eA05E20060B813cb" as address; // KuruFlowEntrypoint
|
|
39
|
+
// jwt: string | null = null;
|
|
40
|
+
// rps = 1;
|
|
41
|
+
// dao = "0x0Acb7eF4D8733C719d60e0992B489b629bc55C02" as address;
|
|
42
|
+
// async loadJWT(wallet: string) {
|
|
43
|
+
// if(cached_jwt.has(wallet)) {
|
|
44
|
+
// const cached = cached_jwt.get(wallet)!;
|
|
45
|
+
// const currentTime = KuruMainnet.getCurrentTime();
|
|
46
|
+
// if(cached.expires_at > currentTime) {
|
|
47
|
+
// this.jwt = cached.token;
|
|
48
|
+
// this.rps = cached.rate_limit.rps;
|
|
49
|
+
// return;
|
|
50
|
+
// } else {
|
|
51
|
+
// cached_jwt.delete(wallet);
|
|
52
|
+
// }
|
|
53
|
+
// }
|
|
54
|
+
// const resp = await fetch(`${KuruMainnet.api}/generate-token`, {
|
|
55
|
+
// method: "POST",
|
|
56
|
+
// headers: {
|
|
57
|
+
// "Content-Type": "application/json",
|
|
58
|
+
// },
|
|
59
|
+
// body: JSON.stringify({
|
|
60
|
+
// user_address: wallet,
|
|
61
|
+
// }),
|
|
62
|
+
// keepalive: true
|
|
63
|
+
// });
|
|
64
|
+
// if(!resp.ok) {
|
|
65
|
+
// throw new Error(`Failed to fetch JWT: ${resp.status} ${resp.statusText}`);
|
|
66
|
+
// }
|
|
67
|
+
// const data = await resp.json() as KuruJWTResponse;
|
|
68
|
+
// this.jwt = data.token;
|
|
69
|
+
// this.rps = data.rate_limit.rps;
|
|
70
|
+
// cached_jwt.set(wallet, data);
|
|
71
|
+
// }
|
|
72
|
+
// async rateLimitSleep(wallet: string) {
|
|
73
|
+
// const now = KuruMainnet.getCurrentTime();
|
|
74
|
+
// const requests = cached_requests.get(wallet) || [];
|
|
75
|
+
// const windowStart = now - 2;
|
|
76
|
+
// const recentRequests = requests.filter(timestamp => timestamp > windowStart);
|
|
77
|
+
// if(recentRequests.length >= this.rps) {
|
|
78
|
+
// const earliestRequest = Math.min(...recentRequests);
|
|
79
|
+
// const sleepTime = (earliestRequest + 2) - now;
|
|
80
|
+
// await new Promise(resolve => setTimeout(resolve, sleepTime * 2000));
|
|
81
|
+
// }
|
|
82
|
+
// }
|
|
83
|
+
// static async getAvailableTokens(provider: curvance_provider, query: string | null = null) {
|
|
84
|
+
// const signer = validateProviderAsSigner(provider);
|
|
85
|
+
// const userAddress = signer.address;
|
|
86
|
+
// let endpoint = `https://api.kuru.io/api/v2/tokens/search?limit=20&userAddress=${userAddress}`;
|
|
87
|
+
// if(query) {
|
|
88
|
+
// endpoint += `&q=${encodeURIComponent(query)}`;
|
|
89
|
+
// }
|
|
90
|
+
// const resp = await fetch(endpoint, {
|
|
91
|
+
// method: "GET",
|
|
92
|
+
// headers: {
|
|
93
|
+
// "Content-Type": "application/json",
|
|
94
|
+
// }
|
|
95
|
+
// });
|
|
96
|
+
// if(!resp.ok) {
|
|
97
|
+
// throw new Error(`Failed to fetch available tokens: ${resp.status} ${resp.statusText}`);
|
|
98
|
+
// }
|
|
99
|
+
// const list = await resp.json() as {
|
|
100
|
+
// success: boolean;
|
|
101
|
+
// code: number;
|
|
102
|
+
// timestamp: number;
|
|
103
|
+
// data: {
|
|
104
|
+
// data: Array<{
|
|
105
|
+
// address: string;
|
|
106
|
+
// decimals: number;
|
|
107
|
+
// name: string;
|
|
108
|
+
// ticker: string;
|
|
109
|
+
// imageurl: string,
|
|
110
|
+
// twitter: string,
|
|
111
|
+
// website: string,
|
|
112
|
+
// is_verified: boolean,
|
|
113
|
+
// contract_renounced: boolean,
|
|
114
|
+
// is_erc20: boolean,
|
|
115
|
+
// is_mintable: boolean,
|
|
116
|
+
// is_strict: boolean,
|
|
117
|
+
// balance: string,
|
|
118
|
+
// last_price: string,
|
|
119
|
+
// quote_asset: string,
|
|
120
|
+
// market_address: string,
|
|
121
|
+
// total_supply: string,
|
|
122
|
+
// burned_supply: string
|
|
123
|
+
// }>
|
|
124
|
+
// }
|
|
125
|
+
// };
|
|
126
|
+
// let tokens: ZapToken[] = [];
|
|
127
|
+
// for(const token of list.data.data) {
|
|
128
|
+
// const erc20 = new ERC20(
|
|
129
|
+
// provider,
|
|
130
|
+
// token.address as address,
|
|
131
|
+
// {
|
|
132
|
+
// address: token.address as address,
|
|
133
|
+
// name: token.name,
|
|
134
|
+
// symbol: token.ticker,
|
|
135
|
+
// decimals: BigInt(token.decimals ?? 18),
|
|
136
|
+
// totalSupply: BigInt(token.total_supply ?? 0),
|
|
137
|
+
// balance: BigInt(token.balance ?? 0),
|
|
138
|
+
// image: token.imageurl,
|
|
139
|
+
// price: Decimal(token.last_price).div(WAD)
|
|
140
|
+
// },
|
|
141
|
+
// );
|
|
142
|
+
// tokens.push({
|
|
143
|
+
// interface: erc20,
|
|
144
|
+
// type: 'simple',
|
|
145
|
+
// quote: async(tokenIn: string, tokenOut: string, amount: TokenInput, slippageTolerance: bigint | null = null) => {
|
|
146
|
+
// const raw_amount = toBigInt(amount, 18n);
|
|
147
|
+
// const data = await KuruMainnet.quote(signer.address, tokenIn, tokenOut, raw_amount.toString(), slippageTolerance);
|
|
148
|
+
// return {
|
|
149
|
+
// output: toDecimal(BigInt(data.output ?? 0), BigInt(token.decimals ?? 18)),
|
|
150
|
+
// minOut: toDecimal(BigInt(data.minOut ?? 0), BigInt(token.decimals ?? 18)),
|
|
151
|
+
// max_slippage: data.max_slippage
|
|
152
|
+
// };
|
|
153
|
+
// }
|
|
154
|
+
// });
|
|
155
|
+
// }
|
|
156
|
+
// return tokens;
|
|
157
|
+
// }
|
|
158
|
+
// // Get current time in seconds
|
|
159
|
+
// static getCurrentTime() {
|
|
160
|
+
// return Math.floor(Date.now() / 1000);
|
|
161
|
+
// }
|
|
162
|
+
// static async quoteAction(wallet: string, tokenIn: string, tokenOut: string, amount: string, slippageTolerance: bigint | null = null) {
|
|
163
|
+
// const quote = await KuruMainnet.quote(wallet, tokenIn, tokenOut, amount, slippageTolerance);
|
|
164
|
+
// const action = {
|
|
165
|
+
// inputToken: tokenIn,
|
|
166
|
+
// inputAmount: BigInt(amount),
|
|
167
|
+
// outputToken: tokenOut,
|
|
168
|
+
// target: quote.transaction.to,
|
|
169
|
+
// slippage: slippageTolerance ?? 0n,
|
|
170
|
+
// call: `0x${quote.transaction.calldata}`
|
|
171
|
+
// } as Swap;
|
|
172
|
+
// return { action, quote };
|
|
173
|
+
// }
|
|
174
|
+
// static async quoteMin(wallet: string, tokenIn: string, tokenOut: string, amount: string, slippageTolerance: bigint | null = null) {
|
|
175
|
+
// const quote = await KuruMainnet.quote(wallet, tokenIn, tokenOut, amount, slippageTolerance);
|
|
176
|
+
// return quote.minOut;
|
|
177
|
+
// }
|
|
178
|
+
// static async quote(wallet: string, tokenIn: string, tokenOut: string, amount: string, slippageTolerance: bigint | null = null) {
|
|
179
|
+
// const kuru = new this();
|
|
180
|
+
// await kuru.loadJWT(wallet);
|
|
181
|
+
// await kuru.rateLimitSleep(wallet);
|
|
182
|
+
// const payload: {
|
|
183
|
+
// userAddress: string;
|
|
184
|
+
// tokenIn: string;
|
|
185
|
+
// tokenOut: string;
|
|
186
|
+
// amount: string;
|
|
187
|
+
// referrerAddress?: string;
|
|
188
|
+
// referrerFeeBps?: number;
|
|
189
|
+
// slippage_tolerance?: number;
|
|
190
|
+
// autoSlippage?: boolean;
|
|
191
|
+
// } = {
|
|
192
|
+
// userAddress: wallet,
|
|
193
|
+
// tokenIn: tokenIn,
|
|
194
|
+
// tokenOut: tokenOut,
|
|
195
|
+
// amount: amount,
|
|
196
|
+
// referrerAddress: kuru.dao,
|
|
197
|
+
// referrerFeeBps: 10,
|
|
198
|
+
// };
|
|
199
|
+
// if(!slippageTolerance) {
|
|
200
|
+
// payload.autoSlippage = true;
|
|
201
|
+
// } else {
|
|
202
|
+
// payload.slippage_tolerance = Number(slippageTolerance);
|
|
203
|
+
// }
|
|
204
|
+
// cached_requests.set(wallet, (cached_requests.get(wallet) || []).concat(KuruMainnet.getCurrentTime()));
|
|
205
|
+
// const resp = await fetch(`${KuruMainnet.api}/quote`, {
|
|
206
|
+
// method: "POST",
|
|
207
|
+
// headers: {
|
|
208
|
+
// "Content-Type": "application/json",
|
|
209
|
+
// "Authorization": `Bearer ${kuru.jwt}`
|
|
210
|
+
// },
|
|
211
|
+
// body: JSON.stringify(payload),
|
|
212
|
+
// });
|
|
213
|
+
// if(!resp.ok) {
|
|
214
|
+
// throw new Error(`Failed to fetch quote: ${resp.status} ${resp.statusText}`);
|
|
215
|
+
// }
|
|
216
|
+
// const data = await resp.json() as KuruQuoteResponse;
|
|
217
|
+
// return {
|
|
218
|
+
// ...data,
|
|
219
|
+
// max_slippage: KuruMainnet.getSlippage(BigInt(data.output ?? 0), BigInt(data.minOut ?? 0))
|
|
220
|
+
// };
|
|
221
|
+
// }
|
|
222
|
+
// static getSlippage(output: bigint, min_output: bigint) {
|
|
223
|
+
// const diff = output - min_output;
|
|
224
|
+
// const decimal = Decimal(diff).div(output).mul(100);
|
|
225
|
+
// return decimal ?? Decimal(100);
|
|
226
|
+
// }
|
|
227
|
+
// }
|
|
228
|
+
//# sourceMappingURL=KuruMainnet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KuruMainnet.js","sourceRoot":"","sources":["../../../src/classes/DexAggregators/KuruMainnet.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { address, bytes,
|
|
1
|
+
import { address, bytes, curvance_read_provider } from "../../types";
|
|
2
2
|
import { ZapToken } from "../CToken";
|
|
3
3
|
import IDexAgg from "./IDexAgg";
|
|
4
4
|
import { Swap } from "../Zapper";
|
|
@@ -78,7 +78,7 @@ export declare class KyberSwap implements IDexAgg {
|
|
|
78
78
|
chain: string;
|
|
79
79
|
client_id: string;
|
|
80
80
|
constructor(dao?: address, router?: address, chain?: string, api?: string);
|
|
81
|
-
getAvailableTokens(provider:
|
|
81
|
+
getAvailableTokens(provider: curvance_read_provider, query?: string | null, account?: address | null, page?: number, pageSize?: number): Promise<ZapToken[]>;
|
|
82
82
|
quoteAction(wallet: string, tokenIn: string, tokenOut: string, amount: bigint, slippage: bigint, feeBps?: bigint, feeReceiver?: address): Promise<{
|
|
83
83
|
action: Swap;
|
|
84
84
|
quote: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KyberSwap.d.ts","sourceRoot":"","sources":["../../../src/classes/DexAggregators/KyberSwap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"KyberSwap.d.ts","sourceRoot":"","sources":["../../../src/classes/DexAggregators/KyberSwap.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,9 +15,11 @@ const ethers_1 = require("ethers");
|
|
|
15
15
|
// embed the fee params we requested, but verify before submitting the tx.
|
|
16
16
|
// Without this, a misconfigured API response silently reverts on-chain
|
|
17
17
|
// at the KyberSwapChecker with no user-facing explanation.
|
|
18
|
-
/**
|
|
19
|
-
* as basis points,
|
|
20
|
-
|
|
18
|
+
/** Required flags: _FEE_IN_BPS (0x80) so the router interprets feeAmounts
|
|
19
|
+
* as basis points, plus executor v3 indicator (0x200) which KyberSwap's
|
|
20
|
+
* API always sets on Monad. Router-inert (consumed by executor only).
|
|
21
|
+
* Must match KyberSwapChecker.REQUIRED_FLAGS on-chain. */
|
|
22
|
+
const REQUIRED_FLAGS = 0x280n;
|
|
21
23
|
/** ABI type string for KyberSwap's SwapExecutionParams struct. */
|
|
22
24
|
const SWAP_PARAMS_TYPE = 'tuple(address callTarget, address approveTarget, ' +
|
|
23
25
|
'tuple(address srcToken, address dstToken, address[] srcReceivers, ' +
|
|
@@ -90,7 +92,7 @@ class KyberSwap {
|
|
|
90
92
|
this.chain = chain;
|
|
91
93
|
this.api = `${api}/${this.chain}`;
|
|
92
94
|
}
|
|
93
|
-
async getAvailableTokens(provider, query = null, page = 1, pageSize = 25) {
|
|
95
|
+
async getAvailableTokens(provider, query = null, account = null, page = 1, pageSize = 25) {
|
|
94
96
|
let zap_tokens = [];
|
|
95
97
|
let tokens_set = new Set();
|
|
96
98
|
for (const market of setup_1.all_markets) {
|
|
@@ -110,13 +112,13 @@ class KyberSwap {
|
|
|
110
112
|
interface: token.getAsset(true),
|
|
111
113
|
type: 'simple',
|
|
112
114
|
quote: async (tokenIn, tokenOut, amount, slippage) => {
|
|
113
|
-
const
|
|
114
|
-
const erc20in = new ERC20_1.ERC20(provider, tokenIn);
|
|
115
|
+
const wallet = account ?? helpers_1.EMPTY_ADDRESS;
|
|
116
|
+
const erc20in = new ERC20_1.ERC20(provider, tokenIn, undefined, undefined, null);
|
|
115
117
|
const decimalsIn = erc20in.decimals ?? await erc20in.contract.decimals();
|
|
116
118
|
const amount_bigint = (0, helpers_1.toBigInt)(amount, decimalsIn);
|
|
117
|
-
const erc20Out = new ERC20_1.ERC20(provider, tokenOut);
|
|
119
|
+
const erc20Out = new ERC20_1.ERC20(provider, tokenOut, undefined, undefined, null);
|
|
118
120
|
const decimalsOut = erc20Out.decimals ?? await erc20Out.contract.decimals();
|
|
119
|
-
const results = await this.quote(
|
|
121
|
+
const results = await this.quote(wallet, tokenIn, tokenOut, amount_bigint, FormatConverter_1.default.percentageToBps(slippage));
|
|
120
122
|
return {
|
|
121
123
|
minOut_raw: results.min_out,
|
|
122
124
|
output_raw: results.out,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KyberSwap.js","sourceRoot":"","sources":["../../../src/classes/DexAggregators/KyberSwap.ts"],"names":[],"mappings":";;;;;;AAIA,uCAA0C;AAC1C,
|
|
1
|
+
{"version":3,"file":"KyberSwap.js","sourceRoot":"","sources":["../../../src/classes/DexAggregators/KyberSwap.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { address,
|
|
1
|
+
import { address, curvance_read_provider } from "../../types";
|
|
2
2
|
import { ZapToken } from "../CToken";
|
|
3
3
|
import { Swap } from "../Zapper";
|
|
4
4
|
import IDexAgg, { Quote } from "./IDexAgg";
|
|
@@ -34,7 +34,7 @@ export declare class MultiDexAgg implements IDexAgg {
|
|
|
34
34
|
* Returns available tokens from all aggregators, deduplicated by address.
|
|
35
35
|
* Primary aggregator's tokens take precedence on conflicts.
|
|
36
36
|
*/
|
|
37
|
-
getAvailableTokens(provider:
|
|
37
|
+
getAvailableTokens(provider: curvance_read_provider, query?: string | null, account?: address | null): Promise<ZapToken[]>;
|
|
38
38
|
/**
|
|
39
39
|
* Fans out quoteAction to all aggregators, filters outliers, returns best.
|
|
40
40
|
* Each aggregator is called exactly once.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiDexAgg.d.ts","sourceRoot":"","sources":["../../../src/classes/DexAggregators/MultiDexAgg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,
|
|
1
|
+
{"version":3,"file":"MultiDexAgg.d.ts","sourceRoot":"","sources":["../../../src/classes/DexAggregators/MultiDexAgg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,sBAAsB,EAAc,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,OAAO,EAAE,EAAE,KAAK,EAAa,MAAM,WAAW,CAAC;AAEtD,MAAM,WAAW,iBAAiB;IAC9B,4FAA4F;IAC5F,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,sEAAsE;IACtE,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAaD;;;;;;;;;;;;;GAaG;AACH,qBAAa,WAAY,YAAW,OAAO;IACvC,OAAO,CAAC,WAAW,CAAY;IAC/B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,MAAM,CAA8B;IAE5C,yFAAyF;IACzF,IAAI,GAAG,IAAI,OAAO,CAA6B;IAC/C,IAAI,MAAM,IAAI,OAAO,CAAgC;gBAEzC,WAAW,EAAE,OAAO,EAAE,EAAE,MAAM,GAAE,iBAAsB;IAalE;;;OAGG;IACG,kBAAkB,CACpB,QAAQ,EAAE,sBAAsB,EAChC,KAAK,GAAE,MAAM,GAAG,IAAW,EAC3B,OAAO,GAAE,OAAO,GAAG,IAAW,GAC/B,OAAO,CAAC,QAAQ,EAAE,CAAC;IA0BtB;;;OAGG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC;IASvL;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAS5J;;OAEG;IACG,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;YAa1I,UAAU;YAuBV,gBAAgB;IAuB9B;;OAEG;IACH,OAAO,CAAC,YAAY;IAUpB;;OAEG;IACH,OAAO,CAAC,cAAc;IAMtB;;OAEG;IACH,OAAO,CAAC,SAAS;IA+CjB;;OAEG;IACH,OAAO,CAAC,eAAe;CAe1B"}
|
|
@@ -37,11 +37,11 @@ class MultiDexAgg {
|
|
|
37
37
|
* Returns available tokens from all aggregators, deduplicated by address.
|
|
38
38
|
* Primary aggregator's tokens take precedence on conflicts.
|
|
39
39
|
*/
|
|
40
|
-
async getAvailableTokens(provider, query = null) {
|
|
40
|
+
async getAvailableTokens(provider, query = null, account = null) {
|
|
41
41
|
if (this.aggregators.length === 1) {
|
|
42
|
-
return this.primary.getAvailableTokens(provider, query);
|
|
42
|
+
return this.primary.getAvailableTokens(provider, query, account);
|
|
43
43
|
}
|
|
44
|
-
const results = await Promise.allSettled(this.aggregators.map(agg => agg.getAvailableTokens(provider, query)));
|
|
44
|
+
const results = await Promise.allSettled(this.aggregators.map(agg => agg.getAvailableTokens(provider, query, account)));
|
|
45
45
|
const seen = new Set();
|
|
46
46
|
const tokens = [];
|
|
47
47
|
for (const result of results) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiDexAgg.js","sourceRoot":"","sources":["../../../src/classes/DexAggregators/MultiDexAgg.ts"],"names":[],"mappings":";;;AAuBA;;;;;;;;;;;;;GAaG;AACH,MAAa,WAAW;IACZ,WAAW,CAAY;IACvB,OAAO,CAAU;IACjB,MAAM,CAA8B;IAE5C,yFAAyF;IACzF,IAAI,GAAG,KAAc,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,IAAI,MAAM,KAAc,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAErD,YAAY,WAAsB,EAAE,SAA4B,EAAE;QAC9D,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,CAAC,CAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG;YACV,uBAAuB,EAAE,MAAM,CAAC,uBAAuB,IAAI,EAAE;YAC7D,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,MAAM;SAClD,CAAC;IACN,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB,
|
|
1
|
+
{"version":3,"file":"MultiDexAgg.js","sourceRoot":"","sources":["../../../src/classes/DexAggregators/MultiDexAgg.ts"],"names":[],"mappings":"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"}
|
package/dist/classes/ERC20.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TransactionResponse } from "ethers";
|
|
2
2
|
import { Contract } from "ethers";
|
|
3
3
|
import { StaticMarketAsset } from "./ProtocolReader";
|
|
4
|
-
import { address,
|
|
4
|
+
import { address, curvance_read_provider, curvance_signer, TokenInput, USD } from "../types";
|
|
5
5
|
import Decimal from "decimal.js";
|
|
6
6
|
export interface IERC20 {
|
|
7
7
|
balanceOf(account: address): Promise<bigint>;
|
|
@@ -14,11 +14,13 @@ export interface IERC20 {
|
|
|
14
14
|
allowance(owner: address, spender: address): Promise<bigint>;
|
|
15
15
|
}
|
|
16
16
|
export declare class ERC20 {
|
|
17
|
-
provider:
|
|
17
|
+
provider: curvance_read_provider;
|
|
18
|
+
signer: curvance_signer | null;
|
|
18
19
|
address: address;
|
|
19
20
|
contract: Contract & IERC20;
|
|
20
21
|
cache: StaticMarketAsset | undefined;
|
|
21
|
-
|
|
22
|
+
protected oracleManagerAddress: address | undefined;
|
|
23
|
+
constructor(provider: curvance_read_provider, address: address, cache?: StaticMarketAsset | undefined, oracleManagerAddress?: address | undefined, signer?: curvance_signer | null);
|
|
22
24
|
get name(): string | undefined;
|
|
23
25
|
get symbol(): string | undefined;
|
|
24
26
|
get decimals(): bigint | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ERC20.d.ts","sourceRoot":"","sources":["../../src/classes/ERC20.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ERC20.d.ts","sourceRoot":"","sources":["../../src/classes/ERC20.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAG7F,OAAO,OAAO,MAAM,YAAY,CAAC;AAGjC,MAAM,WAAW,MAAM;IACnB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACpE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACxE,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACxB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1B,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/B,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAChE;AAYD,qBAAa,KAAK;IACd,QAAQ,EAAE,sBAAsB,CAAC;IACjC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC5B,KAAK,EAAE,iBAAiB,GAAG,SAAS,CAAa;IACjD,SAAS,CAAC,oBAAoB,EAAE,OAAO,GAAG,SAAS,CAAC;gBAGhD,QAAQ,EAAE,sBAAsB,EAChC,OAAO,EAAE,OAAO,EAChB,KAAK,GAAE,iBAAiB,GAAG,SAAqB,EAChD,oBAAoB,GAAE,OAAO,GAAG,SAAqB,EACrD,MAAM,GAAE,eAAe,GAAG,IAA0B;IAUxD,IAAI,IAAI,uBAA+B;IACvC,IAAI,MAAM,uBAAiC;IAC3C,IAAI,QAAQ,uBAAmC;IAC/C,IAAI,WAAW,uBAAsC;IACrD,IAAI,KAAK,uBAAgC;IACzC,IAAI,OAAO,wBAAmG;IAC9G,IAAI,KAAK,wBAAgC;IAEnC,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAC5C,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IACtE,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAQnE,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU;IAMxC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IAIvC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAMnD,SAAS;IAMT,WAAW;IAMX,aAAa;IAMb,gBAAgB;IAMhB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAI1C,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAC7E,QAAQ,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAUvF,OAAO,CAAC,QAAQ;CAMnB"}
|
package/dist/classes/ERC20.js
CHANGED
|
@@ -9,24 +9,29 @@ const setup_1 = require("../setup");
|
|
|
9
9
|
const OracleManager_1 = require("./OracleManager");
|
|
10
10
|
const decimal_js_1 = __importDefault(require("decimal.js"));
|
|
11
11
|
const FormatConverter_1 = __importDefault(require("./FormatConverter"));
|
|
12
|
+
const ERC20_ABI = [
|
|
13
|
+
"function balanceOf(address owner) view returns (uint256)",
|
|
14
|
+
"function transfer(address to, uint256 amount) returns (bool)",
|
|
15
|
+
"function approve(address spender, uint256 amount) returns (bool)",
|
|
16
|
+
"function name() view returns (string)",
|
|
17
|
+
"function symbol() view returns (string)",
|
|
18
|
+
"function decimals() view returns (uint8)",
|
|
19
|
+
"function allowance(address owner, address spender) view returns (uint256)",
|
|
20
|
+
];
|
|
12
21
|
class ERC20 {
|
|
13
22
|
provider;
|
|
23
|
+
signer;
|
|
14
24
|
address;
|
|
15
25
|
contract;
|
|
16
26
|
cache = undefined;
|
|
17
|
-
|
|
27
|
+
oracleManagerAddress;
|
|
28
|
+
constructor(provider, address, cache = undefined, oracleManagerAddress = undefined, signer = setup_1.setup_config.signer) {
|
|
18
29
|
this.provider = provider;
|
|
30
|
+
this.signer = signer;
|
|
19
31
|
this.address = address;
|
|
20
32
|
this.cache = cache;
|
|
21
|
-
this.
|
|
22
|
-
|
|
23
|
-
"function transfer(address to, uint256 amount) returns (bool)",
|
|
24
|
-
"function approve(address spender, uint256 amount) returns (bool)",
|
|
25
|
-
"function name() view returns (string)",
|
|
26
|
-
"function symbol() view returns (string)",
|
|
27
|
-
"function decimals() view returns (uint8)",
|
|
28
|
-
"function allowance(address owner, address spender) view returns (uint256)",
|
|
29
|
-
]);
|
|
33
|
+
this.oracleManagerAddress = oracleManagerAddress;
|
|
34
|
+
this.contract = (0, helpers_1.contractSetup)(provider, address, ERC20_ABI);
|
|
30
35
|
}
|
|
31
36
|
get name() { return this.cache?.name; }
|
|
32
37
|
get symbol() { return this.cache?.symbol; }
|
|
@@ -43,15 +48,15 @@ class ERC20 {
|
|
|
43
48
|
async transfer(to, amount) {
|
|
44
49
|
const decimals = this.decimals ?? await this.contract.decimals();
|
|
45
50
|
const tokens = (0, helpers_1.toBigInt)(amount, decimals);
|
|
46
|
-
return this.
|
|
51
|
+
return (0, helpers_1.contractSetup)((0, helpers_1.requireSigner)(this.signer), this.address, ERC20_ABI).transfer(to, tokens);
|
|
47
52
|
}
|
|
48
53
|
async rawTransfer(to, amount) {
|
|
49
|
-
return this.
|
|
54
|
+
return (0, helpers_1.contractSetup)((0, helpers_1.requireSigner)(this.signer), this.address, ERC20_ABI).transfer(to, amount);
|
|
50
55
|
}
|
|
51
56
|
async approve(spender, amount) {
|
|
52
57
|
const decimals = this.decimals ?? await this.fetchDecimals();
|
|
53
58
|
const tokens = amount == null ? helpers_1.UINT256_MAX : (0, helpers_1.toBigInt)(amount, decimals);
|
|
54
|
-
return this.
|
|
59
|
+
return (0, helpers_1.contractSetup)((0, helpers_1.requireSigner)(this.signer), this.address, ERC20_ABI).approve(spender, tokens);
|
|
55
60
|
}
|
|
56
61
|
async fetchName() {
|
|
57
62
|
const name = await this.contract.name();
|
|
@@ -77,7 +82,8 @@ class ERC20 {
|
|
|
77
82
|
return this.contract.allowance(owner, spender);
|
|
78
83
|
}
|
|
79
84
|
async getPrice(inTokenInput, inUSD = true, getLower = false) {
|
|
80
|
-
const
|
|
85
|
+
const oracleManagerAddress = this.oracleManagerAddress ?? setup_1.setup_config.contracts.OracleManager;
|
|
86
|
+
const oracle_manager = new OracleManager_1.OracleManager(oracleManagerAddress, this.provider);
|
|
81
87
|
const price = await oracle_manager.getPrice(this.address, inUSD, getLower);
|
|
82
88
|
return inTokenInput ? (0, decimal_js_1.default)(price).div(helpers_1.WAD) : price;
|
|
83
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ERC20.js","sourceRoot":"","sources":["../../src/classes/ERC20.ts"],"names":[],"mappings":";;;;;;AACA,
|
|
1
|
+
{"version":3,"file":"ERC20.js","sourceRoot":"","sources":["../../src/classes/ERC20.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ERC4626.d.ts","sourceRoot":"","sources":["../../src/classes/ERC4626.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,MAAM,WAAW,QAAQ;IACrB,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1B,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACnD;AAED,qBAAa,OAAQ,SAAQ,KAAK;IAC9B,OAAO,CAAC,eAAe;IASjB,UAAU,CAAC,OAAO,EAAE,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC;IACzC,UAAU,CAAC,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ERC4626.d.ts","sourceRoot":"","sources":["../../src/classes/ERC4626.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,MAAM,WAAW,QAAQ;IACrB,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1B,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACnD;AAED,qBAAa,OAAQ,SAAQ,KAAK;IAC9B,OAAO,CAAC,eAAe;IASjB,UAAU,CAAC,OAAO,EAAE,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC;IACzC,UAAU,CAAC,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ5C,eAAe,CAAC,MAAM,EAAE,MAAM;IAI9B,eAAe,CAAC,MAAM,EAAE,MAAM;IAI9B,cAAc,CAAC,MAAM,EAAE,MAAM,GAAI,OAAO,CAAC,MAAM,CAAC;IAChD,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,GAAI,OAAO,CAAC,MAAM,CAAC;IACrE,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,GAAI,OAAO,CAAC,UAAU,CAAC;CAWjF"}
|
package/dist/classes/ERC4626.js
CHANGED
|
@@ -18,7 +18,9 @@ class ERC4626 extends ERC20_1.ERC20 {
|
|
|
18
18
|
}
|
|
19
19
|
async fetchAsset(asErc20) {
|
|
20
20
|
const vault_asset_address = await this.get4626Contract().asset();
|
|
21
|
-
return asErc20
|
|
21
|
+
return asErc20
|
|
22
|
+
? new ERC20_1.ERC20(this.provider, vault_asset_address, undefined, this.oracleManagerAddress, this.signer)
|
|
23
|
+
: vault_asset_address;
|
|
22
24
|
}
|
|
23
25
|
async convertToShares(assets) {
|
|
24
26
|
return this.get4626Contract().convertToShares(assets);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ERC4626.js","sourceRoot":"","sources":["../../src/classes/ERC4626.ts"],"names":[],"mappings":";;;;;;AAAA,wCAA2C;AAE3C,mCAAgC;AAChC,wEAAgD;AAShD,MAAa,OAAQ,SAAQ,aAAK;IACtB,eAAe;QACnB,OAAO,IAAA,uBAAa,EAAW,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE;YACxD,yCAAyC;YACzC,0DAA0D;YAC1D,0DAA0D;YAC1D,yDAAyD;SAC5D,CAAC,CAAC;IACP,CAAC;IAID,KAAK,CAAC,UAAU,CAAC,OAAgB;QAC7B,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,CAAC;QACjE,OAAO,OAAO,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"ERC4626.js","sourceRoot":"","sources":["../../src/classes/ERC4626.ts"],"names":[],"mappings":";;;;;;AAAA,wCAA2C;AAE3C,mCAAgC;AAChC,wEAAgD;AAShD,MAAa,OAAQ,SAAQ,aAAK;IACtB,eAAe;QACnB,OAAO,IAAA,uBAAa,EAAW,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE;YACxD,yCAAyC;YACzC,0DAA0D;YAC1D,0DAA0D;YAC1D,yDAAyD;SAC5D,CAAC,CAAC;IACP,CAAC;IAID,KAAK,CAAC,UAAU,CAAC,OAAgB;QAC7B,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,CAAC;QACjE,OAAO,OAAO;YACV,CAAC,CAAC,IAAI,aAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,mBAAmB,EAAE,SAAS,EAAE,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC;YAClG,CAAC,CAAC,mBAA8B,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAc;QAChC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAc;QAChC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IAKD,KAAK,CAAC,cAAc,CAAC,MAAc,EAAE,eAAwB,KAAK;QAC9D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAEnE,IAAG,YAAY,EAAE,CAAC;YACd,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACvE,OAAO,yBAAe,CAAC,eAAe,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACJ,OAAO,MAAM,CAAC;QAClB,CAAC;IACL,CAAC;CACJ;AAxCD,0BAwCC"}
|