@paraswap/dex-lib 3.7.0-stata.4 → 3.7.0-stata.5
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/build/dex/aave-v3-stata/aave-v3-stata.js +9 -7
- package/build/dex/aave-v3-stata/aave-v3-stata.js.map +1 -1
- package/build/dex/aave-v3-stata/tokens.js +1 -1
- package/build/dex/aave-v3-stata/tokens.js.map +1 -1
- package/package.json +1 -1
- package/src/dex/aave-v3-stata/aave-v3-stata.ts +18 -8
- package/src/dex/aave-v3-stata/tokens.ts +1 -1
|
@@ -38,6 +38,7 @@ const utils_2 = require("./utils");
|
|
|
38
38
|
const tokens_1 = require("./tokens");
|
|
39
39
|
const decoders_1 = require("../../lib/decoders");
|
|
40
40
|
const Token_json_1 = __importDefault(require("../../abi/aavev3stata/Token.json"));
|
|
41
|
+
const utils_3 = require("../../executor/utils");
|
|
41
42
|
// import { IStaticATokenLM_ABI } from '@bgd-labs/aave-address-book';
|
|
42
43
|
// slimmed down version of @bgd-labs/aave-address-book
|
|
43
44
|
// required as version of web3-utils used is buggy
|
|
@@ -136,9 +137,7 @@ class AaveV3Stata extends simple_exchange_1.SimpleExchange {
|
|
|
136
137
|
return null;
|
|
137
138
|
}
|
|
138
139
|
}
|
|
139
|
-
const
|
|
140
|
-
const stataAddressLower = stata.address.toLowerCase();
|
|
141
|
-
// following what is done on wstETH
|
|
140
|
+
const stataAddressLower = stataToken.address.toLowerCase();
|
|
142
141
|
if (!this.state[stataAddressLower]?.blockNumber ||
|
|
143
142
|
blockNumber > this.state[stataAddressLower].blockNumber) {
|
|
144
143
|
const cached = await this.dexHelper.cache.get(this.dexKey, this.network, `state_${stataAddressLower}`);
|
|
@@ -148,7 +147,7 @@ class AaveV3Stata extends simple_exchange_1.SimpleExchange {
|
|
|
148
147
|
else {
|
|
149
148
|
const results = await this.dexHelper.multiWrapper.tryAggregate(true, [
|
|
150
149
|
{
|
|
151
|
-
target:
|
|
150
|
+
target: stataToken.address,
|
|
152
151
|
callData: AaveV3Stata.stata.encodeFunctionData('rate'),
|
|
153
152
|
decodeFunction: decoders_1.uint256ToBigInt,
|
|
154
153
|
},
|
|
@@ -157,7 +156,7 @@ class AaveV3Stata extends simple_exchange_1.SimpleExchange {
|
|
|
157
156
|
blockNumber,
|
|
158
157
|
rate: results[0].returnData,
|
|
159
158
|
};
|
|
160
|
-
this.dexHelper.cache.setex(this.dexKey, this.network,
|
|
159
|
+
this.dexHelper.cache.setex(this.dexKey, this.network, `state_${stataAddressLower}`, 60, utils_1.Utils.Serialize(this.state[stataAddressLower]));
|
|
161
160
|
}
|
|
162
161
|
}
|
|
163
162
|
return [
|
|
@@ -187,7 +186,7 @@ class AaveV3Stata extends simple_exchange_1.SimpleExchange {
|
|
|
187
186
|
data: {
|
|
188
187
|
srcType: src,
|
|
189
188
|
destType: dest,
|
|
190
|
-
exchange:
|
|
189
|
+
exchange: stataToken.address,
|
|
191
190
|
},
|
|
192
191
|
poolAddresses: [stataAddressLower],
|
|
193
192
|
},
|
|
@@ -272,6 +271,7 @@ class AaveV3Stata extends simple_exchange_1.SimpleExchange {
|
|
|
272
271
|
getDexParam(srcToken, destToken, srcAmount, destAmount, recipient, data, side, _, executorAddress) {
|
|
273
272
|
const { exchange, srcType, destType } = data;
|
|
274
273
|
let swapData;
|
|
274
|
+
let returnAmountPos = undefined;
|
|
275
275
|
if (side === constants_1.SwapSide.SELL) {
|
|
276
276
|
if (srcType === types_1.TokenType.STATA_TOKEN) {
|
|
277
277
|
// e.g. sell srcAmount 100 srcToken stataUSDC for destToken USDC
|
|
@@ -281,6 +281,7 @@ class AaveV3Stata extends simple_exchange_1.SimpleExchange {
|
|
|
281
281
|
executorAddress,
|
|
282
282
|
destType === types_1.TokenType.UNDERLYING, // withdraw from aToken
|
|
283
283
|
]);
|
|
284
|
+
returnAmountPos = (0, utils_3.extractReturnAmountPosition)(AaveV3Stata.stata, types_1.StataFunctions.redeem, '', 1);
|
|
284
285
|
}
|
|
285
286
|
else {
|
|
286
287
|
// sell srcAmount 100 srcToken USDC for destToken stataUSDC
|
|
@@ -290,6 +291,7 @@ class AaveV3Stata extends simple_exchange_1.SimpleExchange {
|
|
|
290
291
|
0,
|
|
291
292
|
srcType === types_1.TokenType.UNDERLYING, // deposit to aave
|
|
292
293
|
]);
|
|
294
|
+
returnAmountPos = (0, utils_3.extractReturnAmountPosition)(AaveV3Stata.stata, types_1.StataFunctions.deposit);
|
|
293
295
|
}
|
|
294
296
|
}
|
|
295
297
|
else {
|
|
@@ -314,7 +316,7 @@ class AaveV3Stata extends simple_exchange_1.SimpleExchange {
|
|
|
314
316
|
dexFuncHasRecipient: true,
|
|
315
317
|
exchangeData: swapData,
|
|
316
318
|
targetExchange: exchange,
|
|
317
|
-
returnAmountPos
|
|
319
|
+
returnAmountPos,
|
|
318
320
|
};
|
|
319
321
|
}
|
|
320
322
|
// This is called once before getTopPoolsForToken is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aave-v3-stata.js","sourceRoot":"","sources":["../../../src/dex/aave-v3-stata/aave-v3-stata.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,+CAAoD;AACpD,2EAA6D;AAC7D,uCAAyE;AAGzE,mCAA+E;AAC/E,wDAAoD;AACpD,qCAAuD;AACvD,4CAA+C;AAC/C,mCAAyC;AACzC,qCAIkB;AAClB,iDAAqD;AACrD,kFAAwD;
|
|
1
|
+
{"version":3,"file":"aave-v3-stata.js","sourceRoot":"","sources":["../../../src/dex/aave-v3-stata/aave-v3-stata.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,7 +37,7 @@ function getTokenType(network, address) {
|
|
|
37
37
|
}
|
|
38
38
|
exports.getTokenType = getTokenType;
|
|
39
39
|
function getTokenFromAddress(network, address) {
|
|
40
|
-
return TokensByAddress[network][address.toLowerCase()];
|
|
40
|
+
return TokensByAddress[network]?.[address.toLowerCase()];
|
|
41
41
|
}
|
|
42
42
|
exports.getTokenFromAddress = getTokenFromAddress;
|
|
43
43
|
//# sourceMappingURL=tokens.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/dex/aave-v3-stata/tokens.ts"],"names":[],"mappings":";;;AACA,mCAAgD;AAEnC,QAAA,MAAM,GACjB,EAAE,CAAC;AAEL,MAAM,eAAe,GAEjB,EAAE,CAAC;AAEP,SAAgB,kBAAkB,CAAC,OAAgB,EAAE,MAAoB;IACvE,IAAI,cAAM,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE;QACjC,cAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;KACtB;IAED,IAAI,eAAe,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE;QAC1C,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;KAC/B;IAED,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE;QACxB,+CAA+C;QAC/C,qDAAqD;QACrD,iEAAiE;QAEjE,cAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;QAC3C,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;QAChD,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;QACnD,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC;KAC1D;AACH,CAAC;AAnBD,gDAmBC;AAED,SAAgB,YAAY,CAAC,OAAgB,EAAE,OAAe;IAC5D,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;IAEvD,IAAI,CAAC,KAAK;QAAE,OAAO,iBAAS,CAAC,OAAO,CAAC;IACrC,IAAI,KAAK,CAAC,OAAO,KAAK,YAAY;QAAE,OAAO,iBAAS,CAAC,WAAW,CAAC;IACjE,IAAI,KAAK,CAAC,UAAU,KAAK,YAAY;QAAE,OAAO,iBAAS,CAAC,UAAU,CAAC;IACnE,IAAI,KAAK,CAAC,gBAAgB,KAAK,YAAY;QAAE,OAAO,iBAAS,CAAC,OAAO,CAAC;IACtE,OAAO,iBAAS,CAAC,OAAO,CAAC;AAC3B,CAAC;AATD,oCASC;AAED,SAAgB,mBAAmB,CACjC,OAAgB,EAChB,OAAe;IAEf,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/dex/aave-v3-stata/tokens.ts"],"names":[],"mappings":";;;AACA,mCAAgD;AAEnC,QAAA,MAAM,GACjB,EAAE,CAAC;AAEL,MAAM,eAAe,GAEjB,EAAE,CAAC;AAEP,SAAgB,kBAAkB,CAAC,OAAgB,EAAE,MAAoB;IACvE,IAAI,cAAM,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE;QACjC,cAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;KACtB;IAED,IAAI,eAAe,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE;QAC1C,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;KAC/B;IAED,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE;QACxB,+CAA+C;QAC/C,qDAAqD;QACrD,iEAAiE;QAEjE,cAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;QAC3C,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;QAChD,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;QACnD,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC;KAC1D;AACH,CAAC;AAnBD,gDAmBC;AAED,SAAgB,YAAY,CAAC,OAAgB,EAAE,OAAe;IAC5D,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;IAEvD,IAAI,CAAC,KAAK;QAAE,OAAO,iBAAS,CAAC,OAAO,CAAC;IACrC,IAAI,KAAK,CAAC,OAAO,KAAK,YAAY;QAAE,OAAO,iBAAS,CAAC,WAAW,CAAC;IACjE,IAAI,KAAK,CAAC,UAAU,KAAK,YAAY;QAAE,OAAO,iBAAS,CAAC,UAAU,CAAC;IACnE,IAAI,KAAK,CAAC,gBAAgB,KAAK,YAAY;QAAE,OAAO,iBAAS,CAAC,OAAO,CAAC;IACtE,OAAO,iBAAS,CAAC,OAAO,CAAC;AAC3B,CAAC;AATD,oCASC;AAED,SAAgB,mBAAmB,CACjC,OAAgB,EAChB,OAAe;IAEf,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;AAC3D,CAAC;AALD,kDAKC"}
|
package/package.json
CHANGED
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
} from './tokens';
|
|
28
28
|
import { uint256ToBigInt } from '../../lib/decoders';
|
|
29
29
|
import TokenABI from '../../abi/aavev3stata/Token.json';
|
|
30
|
-
import {
|
|
30
|
+
import { extractReturnAmountPosition } from '../../executor/utils';
|
|
31
31
|
// import { IStaticATokenLM_ABI } from '@bgd-labs/aave-address-book';
|
|
32
32
|
// slimmed down version of @bgd-labs/aave-address-book
|
|
33
33
|
// required as version of web3-utils used is buggy
|
|
@@ -188,10 +188,8 @@ export class AaveV3Stata
|
|
|
188
188
|
}
|
|
189
189
|
}
|
|
190
190
|
|
|
191
|
-
const
|
|
192
|
-
const stataAddressLower = stata.address.toLowerCase();
|
|
191
|
+
const stataAddressLower = stataToken.address.toLowerCase();
|
|
193
192
|
|
|
194
|
-
// following what is done on wstETH
|
|
195
193
|
if (
|
|
196
194
|
!this.state[stataAddressLower]?.blockNumber ||
|
|
197
195
|
blockNumber > this.state[stataAddressLower].blockNumber
|
|
@@ -208,7 +206,7 @@ export class AaveV3Stata
|
|
|
208
206
|
true,
|
|
209
207
|
[
|
|
210
208
|
{
|
|
211
|
-
target:
|
|
209
|
+
target: stataToken.address,
|
|
212
210
|
callData: AaveV3Stata.stata.encodeFunctionData('rate'),
|
|
213
211
|
decodeFunction: uint256ToBigInt,
|
|
214
212
|
},
|
|
@@ -222,7 +220,7 @@ export class AaveV3Stata
|
|
|
222
220
|
this.dexHelper.cache.setex(
|
|
223
221
|
this.dexKey,
|
|
224
222
|
this.network,
|
|
225
|
-
|
|
223
|
+
`state_${stataAddressLower}`,
|
|
226
224
|
60,
|
|
227
225
|
Utils.Serialize(this.state[stataAddressLower]),
|
|
228
226
|
);
|
|
@@ -255,7 +253,7 @@ export class AaveV3Stata
|
|
|
255
253
|
data: {
|
|
256
254
|
srcType: src,
|
|
257
255
|
destType: dest,
|
|
258
|
-
exchange:
|
|
256
|
+
exchange: stataToken.address,
|
|
259
257
|
},
|
|
260
258
|
poolAddresses: [stataAddressLower],
|
|
261
259
|
},
|
|
@@ -356,6 +354,7 @@ export class AaveV3Stata
|
|
|
356
354
|
): DexExchangeParam {
|
|
357
355
|
const { exchange, srcType, destType } = data;
|
|
358
356
|
let swapData;
|
|
357
|
+
let returnAmountPos = undefined;
|
|
359
358
|
|
|
360
359
|
if (side === SwapSide.SELL) {
|
|
361
360
|
if (srcType === TokenType.STATA_TOKEN) {
|
|
@@ -366,6 +365,13 @@ export class AaveV3Stata
|
|
|
366
365
|
executorAddress, // owner
|
|
367
366
|
destType === TokenType.UNDERLYING, // withdraw from aToken
|
|
368
367
|
]);
|
|
368
|
+
|
|
369
|
+
returnAmountPos = extractReturnAmountPosition(
|
|
370
|
+
AaveV3Stata.stata,
|
|
371
|
+
StataFunctions.redeem,
|
|
372
|
+
'',
|
|
373
|
+
1,
|
|
374
|
+
);
|
|
369
375
|
} else {
|
|
370
376
|
// sell srcAmount 100 srcToken USDC for destToken stataUSDC
|
|
371
377
|
swapData = AaveV3Stata.stata.encodeFunctionData(
|
|
@@ -377,6 +383,10 @@ export class AaveV3Stata
|
|
|
377
383
|
srcType === TokenType.UNDERLYING, // deposit to aave
|
|
378
384
|
],
|
|
379
385
|
);
|
|
386
|
+
returnAmountPos = extractReturnAmountPosition(
|
|
387
|
+
AaveV3Stata.stata,
|
|
388
|
+
StataFunctions.deposit,
|
|
389
|
+
);
|
|
380
390
|
}
|
|
381
391
|
} else {
|
|
382
392
|
if (srcType === TokenType.STATA_TOKEN) {
|
|
@@ -403,7 +413,7 @@ export class AaveV3Stata
|
|
|
403
413
|
dexFuncHasRecipient: true,
|
|
404
414
|
exchangeData: swapData,
|
|
405
415
|
targetExchange: exchange,
|
|
406
|
-
returnAmountPos
|
|
416
|
+
returnAmountPos,
|
|
407
417
|
};
|
|
408
418
|
}
|
|
409
419
|
|