@paraswap/dex-lib 3.8.35 → 3.8.36-susds
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/abi/lite-psm/usdsPsm.json +163 -0
- package/build/abi/sdai/SavingsUSDS.abi.json +720 -0
- package/build/dex/lite-psm/config.js +5 -1
- package/build/dex/lite-psm/config.js.map +1 -1
- package/build/dex/lite-psm/lite-psm.d.ts +4 -2
- package/build/dex/lite-psm/lite-psm.js +39 -26
- package/build/dex/lite-psm/lite-psm.js.map +1 -1
- package/build/dex/lite-psm/types.d.ts +2 -2
- package/build/dex/spark/config.js +25 -0
- package/build/dex/spark/config.js.map +1 -1
- package/build/dex/spark/scripts/validate-state.js +1 -1
- package/build/dex/spark/scripts/validate-state.js.map +1 -1
- package/build/dex/spark/spark-sdai-pool.d.ts +4 -1
- package/build/dex/spark/spark-sdai-pool.js +6 -7
- package/build/dex/spark/spark-sdai-pool.js.map +1 -1
- package/build/dex/spark/spark.d.ts +3 -3
- package/build/dex/spark/spark.js +4 -4
- package/build/dex/spark/spark.js.map +1 -1
- package/build/dex/spark/types.d.ts +6 -0
- package/build/dex/spark/types.js.map +1 -1
- package/build/dex/spark/utils.d.ts +3 -1
- package/build/dex/spark/utils.js +43 -7
- package/build/dex/spark/utils.js.map +1 -1
- package/build/dex/usual-bond/usual-bond.js +5 -11
- package/build/dex/usual-bond/usual-bond.js.map +1 -1
- package/package.json +1 -1
- package/src/abi/lite-psm/usdsPsm.json +163 -0
- package/src/abi/sdai/SavingsUSDS.abi.json +720 -0
- package/src/dex/lite-psm/config.ts +5 -1
- package/src/dex/lite-psm/lite-psm-e2e.test.ts +68 -1
- package/src/dex/lite-psm/lite-psm.ts +52 -31
- package/src/dex/lite-psm/types.ts +3 -2
- package/src/dex/spark/config.ts +24 -0
- package/src/dex/spark/scripts/validate-state.ts +1 -0
- package/src/dex/spark/spark-e2e.test.ts +28 -9
- package/src/dex/spark/spark-events.test.ts +77 -62
- package/src/dex/spark/spark-integration.test.ts +141 -7
- package/src/dex/spark/spark-sdai-pool.ts +10 -5
- package/src/dex/spark/spark.ts +6 -2
- package/src/dex/spark/types.ts +6 -0
- package/src/dex/spark/utils.ts +83 -19
- package/tests/constants-e2e.ts +6 -1
|
@@ -10,6 +10,11 @@ exports.LitePsmConfig = {
|
|
|
10
10
|
address: '0x6b175474e89094c44da98b954eedeac495271d0f',
|
|
11
11
|
decimals: 18,
|
|
12
12
|
},
|
|
13
|
+
usds: {
|
|
14
|
+
address: '0xdc035d45d973e3ec169d2276ddab16f1e407384f',
|
|
15
|
+
decimals: 18,
|
|
16
|
+
},
|
|
17
|
+
usdsPsmAddress: '0xA188EEC8F81263234dA3622A406892F3D630f98c',
|
|
13
18
|
vatAddress: '0x35d1b3f3d7966a1dfe207aa4514c12a259a0492b',
|
|
14
19
|
pools: [
|
|
15
20
|
{
|
|
@@ -17,7 +22,6 @@ exports.LitePsmConfig = {
|
|
|
17
22
|
address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
|
|
18
23
|
decimals: 6,
|
|
19
24
|
},
|
|
20
|
-
gemJoinAddress: '0xf6e72db5454dd049d0788e411b06cfaf16853042',
|
|
21
25
|
pocketAddress: '0x37305b1cd40574e4c5ce33f8e8306be057fd7341',
|
|
22
26
|
psmAddress: '0xf6e72db5454dd049d0788e411b06cfaf16853042',
|
|
23
27
|
identifier: '0x4c4954452d50534d2d555344432d410000000000000000000000000000000000', // bytes32("LITE-PSM-USDC-A")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/lite-psm/config.ts"],"names":[],"mappings":";;;AAEA,+CAA0C;AAE1C,0CAA0C;AAC7B,QAAA,aAAa,GAA4B;IACpD,OAAO,EAAE;QACP,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,GAAG,EAAE;gBACH,OAAO,EAAE,4CAA4C;gBACrD,QAAQ,EAAE,EAAE;aACb;YACD,UAAU,EAAE,4CAA4C;YACxD,KAAK,EAAE;gBACL;oBACE,GAAG,EAAE;wBACH,OAAO,EAAE,4CAA4C;wBACrD,QAAQ,EAAE,CAAC;qBACZ;oBACD,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/lite-psm/config.ts"],"names":[],"mappings":";;;AAEA,+CAA0C;AAE1C,0CAA0C;AAC7B,QAAA,aAAa,GAA4B;IACpD,OAAO,EAAE;QACP,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,GAAG,EAAE;gBACH,OAAO,EAAE,4CAA4C;gBACrD,QAAQ,EAAE,EAAE;aACb;YACD,IAAI,EAAE;gBACJ,OAAO,EAAE,4CAA4C;gBACrD,QAAQ,EAAE,EAAE;aACb;YACD,cAAc,EAAE,4CAA4C;YAC5D,UAAU,EAAE,4CAA4C;YACxD,KAAK,EAAE;gBACL;oBACE,GAAG,EAAE;wBACH,OAAO,EAAE,4CAA4C;wBACrD,QAAQ,EAAE,CAAC;qBACZ;oBACD,aAAa,EAAE,4CAA4C;oBAC3D,UAAU,EAAE,4CAA4C;oBACxD,UAAU,EACR,oEAAoE,EAAE,6BAA6B;iBACtG;aACF;SACF;KACF;CACF,CAAC"}
|
|
@@ -10,6 +10,8 @@ export declare class LitePsm extends SimpleExchange implements IDex<LitePsmData,
|
|
|
10
10
|
protected network: Network;
|
|
11
11
|
protected dexHelper: IDexHelper;
|
|
12
12
|
protected dai: Token;
|
|
13
|
+
protected usds: Token;
|
|
14
|
+
protected usdsPsm: Address;
|
|
13
15
|
protected vatAddress: Address;
|
|
14
16
|
protected poolConfigs: PoolConfig[];
|
|
15
17
|
protected eventPools: {
|
|
@@ -22,7 +24,7 @@ export declare class LitePsm extends SimpleExchange implements IDex<LitePsmData,
|
|
|
22
24
|
networks: Network[];
|
|
23
25
|
}[];
|
|
24
26
|
logger: Logger;
|
|
25
|
-
constructor(network: Network, dexKey: string, dexHelper: IDexHelper, dai?: Token, vatAddress?: Address, poolConfigs?: PoolConfig[]);
|
|
27
|
+
constructor(network: Network, dexKey: string, dexHelper: IDexHelper, dai?: Token, usds?: Token, usdsPsm?: Address, vatAddress?: Address, poolConfigs?: PoolConfig[]);
|
|
26
28
|
static getDirectFunctionNameV6(): string[];
|
|
27
29
|
initializePricing(blockNumber: number): Promise<void>;
|
|
28
30
|
getAdapters(side: SwapSide): {
|
|
@@ -32,7 +34,7 @@ export declare class LitePsm extends SimpleExchange implements IDex<LitePsmData,
|
|
|
32
34
|
getEventPool(srcToken: Token, destToken: Token): LitePsmEventPool | null;
|
|
33
35
|
getPoolIdentifiers(srcToken: Token, destToken: Token, side: SwapSide, blockNumber: number): Promise<string[]>;
|
|
34
36
|
getPoolState(pool: LitePsmEventPool, blockNumber: number): Promise<PoolState>;
|
|
35
|
-
computePrices(
|
|
37
|
+
computePrices(isDestGem: boolean, to18ConversionFactor: bigint, side: SwapSide, amounts: bigint[], poolState: PoolState): bigint[];
|
|
36
38
|
getPricesVolume(srcToken: Token, destToken: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[]): Promise<null | ExchangePrices<LitePsmData>>;
|
|
37
39
|
getCalldataGasCost(poolPrices: PoolPrices<LitePsmData>): number | number[];
|
|
38
40
|
getPsmParams(srcToken: string, srcAmount: string, destAmount: string, data: LitePsmData, side: SwapSide): {
|
|
@@ -34,6 +34,7 @@ const utils_1 = require("../../utils");
|
|
|
34
34
|
const simple_exchange_1 = require("../simple-exchange");
|
|
35
35
|
const config_1 = require("./config");
|
|
36
36
|
const psm_json_1 = __importDefault(require("../../abi/lite-psm/psm.json"));
|
|
37
|
+
const usdsPsm_json_1 = __importDefault(require("../../abi/lite-psm/usdsPsm.json"));
|
|
37
38
|
const bigint_constants_1 = require("../../bigint-constants");
|
|
38
39
|
const types_1 = require("../../executor/types");
|
|
39
40
|
const bytes_1 = require("@ethersproject/bytes");
|
|
@@ -41,15 +42,18 @@ const core_1 = require("@paraswap/core");
|
|
|
41
42
|
const ethers_1 = require("ethers");
|
|
42
43
|
const lite_psm_event_pool_1 = require("./lite-psm-event-pool");
|
|
43
44
|
const utils_2 = require("../../executor/utils");
|
|
44
|
-
const
|
|
45
|
+
const daiPsmInterface = new abi_1.Interface(psm_json_1.default);
|
|
46
|
+
const usdsPsmInterface = new abi_1.Interface(usdsPsm_json_1.default);
|
|
45
47
|
const WAD = bigint_constants_1.BI_POWS[18];
|
|
46
48
|
const ceilDiv = (a, b) => (a + b - 1n) / b;
|
|
47
49
|
class LitePsm extends simple_exchange_1.SimpleExchange {
|
|
48
|
-
constructor(network, dexKey, dexHelper, dai = config_1.LitePsmConfig[dexKey][network].dai, vatAddress = config_1.LitePsmConfig[dexKey][network].vatAddress, poolConfigs = config_1.LitePsmConfig[dexKey][network].pools) {
|
|
50
|
+
constructor(network, dexKey, dexHelper, dai = config_1.LitePsmConfig[dexKey][network].dai, usds = config_1.LitePsmConfig[dexKey][network].usds, usdsPsm = config_1.LitePsmConfig[dexKey][network].usdsPsmAddress, vatAddress = config_1.LitePsmConfig[dexKey][network].vatAddress, poolConfigs = config_1.LitePsmConfig[dexKey][network].pools) {
|
|
49
51
|
super(dexHelper, dexKey);
|
|
50
52
|
this.network = network;
|
|
51
53
|
this.dexHelper = dexHelper;
|
|
52
54
|
this.dai = dai;
|
|
55
|
+
this.usds = usds;
|
|
56
|
+
this.usdsPsm = usdsPsm;
|
|
53
57
|
this.vatAddress = vatAddress;
|
|
54
58
|
this.poolConfigs = poolConfigs;
|
|
55
59
|
// warning: There is limit on swap
|
|
@@ -81,6 +85,8 @@ class LitePsm extends simple_exchange_1.SimpleExchange {
|
|
|
81
85
|
const destAddress = destToken.address.toLowerCase();
|
|
82
86
|
return ((srcAddress === this.dai.address && this.eventPools[destAddress]) ||
|
|
83
87
|
(destAddress === this.dai.address && this.eventPools[srcAddress]) ||
|
|
88
|
+
(srcAddress === this.usds.address && this.eventPools[destAddress]) ||
|
|
89
|
+
(destAddress === this.usds.address && this.eventPools[srcAddress]) ||
|
|
84
90
|
null);
|
|
85
91
|
}
|
|
86
92
|
// Returns list of pool identifiers that can be used
|
|
@@ -100,7 +106,7 @@ class LitePsm extends simple_exchange_1.SimpleExchange {
|
|
|
100
106
|
pool.setState(onChainState, blockNumber);
|
|
101
107
|
return onChainState;
|
|
102
108
|
}
|
|
103
|
-
computePrices(
|
|
109
|
+
computePrices(isDestGem, to18ConversionFactor, side, amounts, poolState) {
|
|
104
110
|
const sellGemCheck = (dart) => {
|
|
105
111
|
return dart <= poolState.daiBalance;
|
|
106
112
|
};
|
|
@@ -109,7 +115,7 @@ class LitePsm extends simple_exchange_1.SimpleExchange {
|
|
|
109
115
|
};
|
|
110
116
|
return amounts.map(a => {
|
|
111
117
|
if (side === constants_1.SwapSide.SELL) {
|
|
112
|
-
if (
|
|
118
|
+
if (isDestGem) {
|
|
113
119
|
const gemAmt18 = (a * WAD) / (WAD + poolState.tout);
|
|
114
120
|
if (buyGemCheck(gemAmt18))
|
|
115
121
|
return gemAmt18 / to18ConversionFactor;
|
|
@@ -121,7 +127,7 @@ class LitePsm extends simple_exchange_1.SimpleExchange {
|
|
|
121
127
|
}
|
|
122
128
|
}
|
|
123
129
|
else {
|
|
124
|
-
if (
|
|
130
|
+
if (isDestGem) {
|
|
125
131
|
const gemAmt18 = to18ConversionFactor * a;
|
|
126
132
|
if (buyGemCheck(gemAmt18))
|
|
127
133
|
return gemAmt18 + (gemAmt18 * poolState.tout) / WAD;
|
|
@@ -148,24 +154,27 @@ class LitePsm extends simple_exchange_1.SimpleExchange {
|
|
|
148
154
|
return null;
|
|
149
155
|
const poolState = await this.getPoolState(eventPool, blockNumber);
|
|
150
156
|
const unitVolume = (0, utils_1.getBigIntPow)((side === constants_1.SwapSide.SELL ? srcToken : destToken).decimals);
|
|
151
|
-
const
|
|
152
|
-
const
|
|
153
|
-
const
|
|
154
|
-
|
|
157
|
+
const srcLower = srcToken.address.toLowerCase();
|
|
158
|
+
const isSrcDai = srcLower === this.dai.address;
|
|
159
|
+
const isDaiSwap = isSrcDai || destToken.address.toLowerCase() === this.dai.address;
|
|
160
|
+
const isDestGem = isSrcDai || srcLower === this.usds.address;
|
|
161
|
+
const gem = isDestGem ? destToken : srcToken;
|
|
162
|
+
const toll = (side === constants_1.SwapSide.SELL && isDestGem) ||
|
|
163
|
+
(side === constants_1.SwapSide.BUY && !isDestGem)
|
|
155
164
|
? poolState.tout
|
|
156
165
|
: poolState.tin;
|
|
157
|
-
const [unit, ...prices] = this.computePrices(
|
|
166
|
+
const [unit, ...prices] = this.computePrices(isDestGem, eventPool.to18ConversionFactor, side, [unitVolume, ...amounts], poolState);
|
|
167
|
+
const psm = isDaiSwap ? eventPool.poolConfig.psmAddress : this.usdsPsm;
|
|
158
168
|
return [
|
|
159
169
|
{
|
|
160
170
|
prices,
|
|
161
171
|
unit,
|
|
162
172
|
data: {
|
|
163
173
|
toll: toll.toString(),
|
|
164
|
-
psmAddress:
|
|
165
|
-
gemJoinAddress: eventPool.poolConfig.gemJoinAddress,
|
|
174
|
+
psmAddress: psm,
|
|
166
175
|
gemDecimals: gem.decimals,
|
|
167
176
|
},
|
|
168
|
-
poolAddresses: [
|
|
177
|
+
poolAddresses: [psm],
|
|
169
178
|
exchange: this.dexKey,
|
|
170
179
|
gasCost: 50000,
|
|
171
180
|
poolIdentifier,
|
|
@@ -183,10 +192,11 @@ class LitePsm extends simple_exchange_1.SimpleExchange {
|
|
|
183
192
|
CALLDATA_GAS_COST.wordNonZeroBytes(poolPrices.data.gemDecimals === 6 ? 4 : 1));
|
|
184
193
|
}
|
|
185
194
|
getPsmParams(srcToken, srcAmount, destAmount, data, side) {
|
|
186
|
-
const
|
|
195
|
+
const isDestGem = srcToken.toLowerCase() === this.dai.address ||
|
|
196
|
+
srcToken.toLowerCase() === this.usds.address;
|
|
187
197
|
const to18ConversionFactor = (0, utils_1.getBigIntPow)(18 - data.gemDecimals);
|
|
188
198
|
if (side === constants_1.SwapSide.SELL) {
|
|
189
|
-
if (
|
|
199
|
+
if (isDestGem) {
|
|
190
200
|
const gemAmt18 = (BigInt(srcAmount) * WAD) / (WAD + BigInt(data.toll));
|
|
191
201
|
return {
|
|
192
202
|
isGemSell: false,
|
|
@@ -198,7 +208,7 @@ class LitePsm extends simple_exchange_1.SimpleExchange {
|
|
|
198
208
|
}
|
|
199
209
|
}
|
|
200
210
|
else {
|
|
201
|
-
if (
|
|
211
|
+
if (isDestGem) {
|
|
202
212
|
return { isGemSell: false, gemAmount: destAmount };
|
|
203
213
|
}
|
|
204
214
|
else {
|
|
@@ -228,9 +238,7 @@ class LitePsm extends simple_exchange_1.SimpleExchange {
|
|
|
228
238
|
// isApproved is only used in direct method and available only for v6, then no need to check approve for v5
|
|
229
239
|
// because it's either done in getSimpleParam or approve call in the adapter smart contract
|
|
230
240
|
if (options.version === core_1.ParaSwapVersion.V6 && options.isDirectMethod) {
|
|
231
|
-
isApproved = await this.dexHelper.augustusApprovals.hasApproval(options.executionContractAddress, srcToken.address,
|
|
232
|
-
? optimalSwapExchange.data.psmAddress
|
|
233
|
-
: optimalSwapExchange.data.gemJoinAddress);
|
|
241
|
+
isApproved = await this.dexHelper.augustusApprovals.hasApproval(options.executionContractAddress, srcToken.address, optimalSwapExchange.data.psmAddress);
|
|
234
242
|
}
|
|
235
243
|
return [
|
|
236
244
|
{
|
|
@@ -242,7 +250,12 @@ class LitePsm extends simple_exchange_1.SimpleExchange {
|
|
|
242
250
|
}
|
|
243
251
|
getDexParam(srcToken, destToken, srcAmount, destAmount, recipient, data, side) {
|
|
244
252
|
const { isGemSell, gemAmount } = this.getPsmParams(srcToken, srcAmount, destAmount, data, side);
|
|
245
|
-
|
|
253
|
+
const isDaiSwap = destToken.toLowerCase() === this.dai.address ||
|
|
254
|
+
srcToken.toLowerCase() === this.dai.address;
|
|
255
|
+
let exchangeData = (isDaiSwap ? daiPsmInterface : usdsPsmInterface).encodeFunctionData(isGemSell ? 'sellGem' : 'buyGem', [
|
|
256
|
+
recipient,
|
|
257
|
+
gemAmount,
|
|
258
|
+
]);
|
|
246
259
|
// append toll and to18ConversionFactor & set specialDexFlag = SWAP_ON_MAKER_PSM to
|
|
247
260
|
// - `buyGem` on Ex1 & Ex2
|
|
248
261
|
// - `sellGem` on Ex3
|
|
@@ -262,9 +275,9 @@ class LitePsm extends simple_exchange_1.SimpleExchange {
|
|
|
262
275
|
exchangeData,
|
|
263
276
|
targetExchange: data.psmAddress,
|
|
264
277
|
specialDexFlag,
|
|
265
|
-
spender:
|
|
278
|
+
spender: data.psmAddress,
|
|
266
279
|
returnAmountPos: side === constants_1.SwapSide.SELL && isGemSell
|
|
267
|
-
? (0, utils_2.extractReturnAmountPosition)(
|
|
280
|
+
? (0, utils_2.extractReturnAmountPosition)(isDaiSwap ? daiPsmInterface : usdsPsmInterface, 'sellGem', isDaiSwap ? 'daiOutWad' : 'usdsOutWad')
|
|
268
281
|
: undefined,
|
|
269
282
|
};
|
|
270
283
|
}
|
|
@@ -296,7 +309,7 @@ class LitePsm extends simple_exchange_1.SimpleExchange {
|
|
|
296
309
|
data.toll,
|
|
297
310
|
to18ConversionFactor.toString(),
|
|
298
311
|
data.psmAddress,
|
|
299
|
-
data.
|
|
312
|
+
data.psmAddress,
|
|
300
313
|
metadata,
|
|
301
314
|
beneficiaryDirectionApproveFlag.toString(),
|
|
302
315
|
];
|
|
@@ -318,8 +331,8 @@ class LitePsm extends simple_exchange_1.SimpleExchange {
|
|
|
318
331
|
return (2 *
|
|
319
332
|
parseInt(((buyLimit > sellLimit ? sellLimit : buyLimit) / bigint_constants_1.BI_POWS[18]).toString()));
|
|
320
333
|
};
|
|
321
|
-
const
|
|
322
|
-
const validPoolConfigs =
|
|
334
|
+
const isDaiOrUsds = _tokenAddress === this.dai.address || _tokenAddress === this.usds.address;
|
|
335
|
+
const validPoolConfigs = isDaiOrUsds
|
|
323
336
|
? this.poolConfigs
|
|
324
337
|
: this.eventPools[_tokenAddress]
|
|
325
338
|
? [this.eventPools[_tokenAddress].poolConfig]
|
|
@@ -331,7 +344,7 @@ class LitePsm extends simple_exchange_1.SimpleExchange {
|
|
|
331
344
|
exchange: this.dexKey,
|
|
332
345
|
address: p.psmAddress,
|
|
333
346
|
liquidityUSD: minLiq(poolStates[i], p.gem.decimals),
|
|
334
|
-
connectorTokens:
|
|
347
|
+
connectorTokens: isDaiOrUsds ? [p.gem] : [this.dai, this.usds],
|
|
335
348
|
}));
|
|
336
349
|
}
|
|
337
350
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lite-psm.js","sourceRoot":"","sources":["../../../src/dex/lite-psm/lite-psm.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lite-psm.js","sourceRoot":"","sources":["../../../src/dex/lite-psm/lite-psm.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,20 +8,20 @@ export declare type PoolState = {
|
|
|
8
8
|
};
|
|
9
9
|
export declare type LitePsmData = {
|
|
10
10
|
psmAddress: Address;
|
|
11
|
-
gemJoinAddress: Address;
|
|
12
11
|
gemDecimals: number;
|
|
13
12
|
toll: string;
|
|
14
13
|
isApproved?: boolean;
|
|
15
14
|
};
|
|
16
15
|
export declare type PoolConfig = {
|
|
17
16
|
gem: Token;
|
|
18
|
-
gemJoinAddress: Address;
|
|
19
17
|
pocketAddress: Address;
|
|
20
18
|
psmAddress: Address;
|
|
21
19
|
identifier: string;
|
|
22
20
|
};
|
|
23
21
|
export declare type DexParams = {
|
|
24
22
|
dai: Token;
|
|
23
|
+
usds: Token;
|
|
24
|
+
usdsPsmAddress: Address;
|
|
25
25
|
vatAddress: Address;
|
|
26
26
|
pools: PoolConfig[];
|
|
27
27
|
};
|
|
@@ -1,14 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.Adapters = exports.SDaiConfig = void 0;
|
|
4
7
|
const constants_1 = require("../../constants");
|
|
5
8
|
const core_1 = require("@paraswap/core");
|
|
9
|
+
const pot_json_1 = __importDefault(require("../../abi/maker-psm/pot.json"));
|
|
10
|
+
const SavingsUSDS_abi_json_1 = __importDefault(require("../../abi/sdai/SavingsUSDS.abi.json"));
|
|
11
|
+
const abi_1 = require("@ethersproject/abi");
|
|
6
12
|
exports.SDaiConfig = {
|
|
7
13
|
Spark: {
|
|
8
14
|
[constants_1.Network.MAINNET]: {
|
|
9
15
|
sdaiAddress: '0x83F20F44975D03b1b09e64809B757c47f942BEeA',
|
|
10
16
|
daiAddress: '0x6B175474E89094C44Da98b954EedeAC495271d0F',
|
|
11
17
|
potAddress: '0x197E90f9FAD81970bA7976f33CbD77088E5D7cf7',
|
|
18
|
+
savingsRate: {
|
|
19
|
+
symbol: 'dsr',
|
|
20
|
+
// bytes32 repr of "dsr" string
|
|
21
|
+
topic: '0x6473720000000000000000000000000000000000000000000000000000000000',
|
|
22
|
+
},
|
|
23
|
+
poolInterface: new abi_1.Interface(pot_json_1.default),
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
sUSDS: {
|
|
27
|
+
[constants_1.Network.MAINNET]: {
|
|
28
|
+
sdaiAddress: '0xa3931d71877C0E7a3148CB7Eb4463524FEc27fbD',
|
|
29
|
+
daiAddress: '0xdC035D45d973E3EC169d2276DDab16f1e407384F',
|
|
30
|
+
potAddress: '0xa3931d71877C0E7a3148CB7Eb4463524FEc27fbD',
|
|
31
|
+
savingsRate: {
|
|
32
|
+
symbol: 'ssr',
|
|
33
|
+
// bytes32 repr of "ssr" string
|
|
34
|
+
topic: '0x7373720000000000000000000000000000000000000000000000000000000000',
|
|
35
|
+
},
|
|
36
|
+
poolInterface: new abi_1.Interface(SavingsUSDS_abi_json_1.default),
|
|
12
37
|
},
|
|
13
38
|
},
|
|
14
39
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/spark/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/spark/config.ts"],"names":[],"mappings":";;;;;;AAEA,+CAA0C;AAC1C,yCAA0C;AAC1C,4EAAkD;AAClD,+FAAiE;AACjE,4CAA+C;AAElC,QAAA,UAAU,GAA8B;IACnD,KAAK,EAAE;QACL,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,WAAW,EAAE,4CAA4C;YACzD,UAAU,EAAE,4CAA4C;YACxD,UAAU,EAAE,4CAA4C;YACxD,WAAW,EAAE;gBACX,MAAM,EAAE,KAAK;gBACb,+BAA+B;gBAC/B,KAAK,EACH,oEAAoE;aACvE;YACD,aAAa,EAAE,IAAI,eAAS,CAAC,kBAAM,CAAC;SACrC;KACF;IACD,KAAK,EAAE;QACL,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,WAAW,EAAE,4CAA4C;YACzD,UAAU,EAAE,4CAA4C;YACxD,UAAU,EAAE,4CAA4C;YACxD,WAAW,EAAE;gBACX,MAAM,EAAE,KAAK;gBACb,+BAA+B;gBAC/B,KAAK,EACH,oEAAoE;aACvE;YACD,aAAa,EAAE,IAAI,eAAS,CAAC,8BAAc,CAAC;SAC7C;KACF;CACF,CAAC;AAEW,QAAA,QAAQ,GAIjB;IACF,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;QACjB,CAAC,eAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAClD,CAAC,eAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;KACrD;CACF,CAAC"}
|
|
@@ -48,7 +48,7 @@ function compareAndLogDifferences(obj1, obj2, keyNames, checkEachKey = false) {
|
|
|
48
48
|
return isValid;
|
|
49
49
|
}
|
|
50
50
|
async function isPoolStateEqualToReal(state, blockNumber) {
|
|
51
|
-
const expected = await (0, utils_1.getOnChainState)(dexHelper.multiContract, potAddress, new abi_1.Interface(pot_json_1.default), blockNumber);
|
|
51
|
+
const expected = await (0, utils_1.getOnChainState)(dexHelper.multiContract, potAddress, new abi_1.Interface(pot_json_1.default), 'dsr', blockNumber);
|
|
52
52
|
const isValidState = compareAndLogDifferences(state, expected, [
|
|
53
53
|
'rho',
|
|
54
54
|
'dsr',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-state.js","sourceRoot":"","sources":["../../../../src/dex/spark/scripts/validate-state.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate-state.js","sourceRoot":"","sources":["../../../../src/dex/spark/scripts/validate-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,11 +4,14 @@ import type { IDexHelper } from '../../dex-helper';
|
|
|
4
4
|
import type { AsyncOrSync, DeepReadonly } from 'ts-essentials';
|
|
5
5
|
import type { Address, BlockHeader, Log, Logger } from '../../types';
|
|
6
6
|
import type { SparkSDaiPoolState } from './types';
|
|
7
|
+
import { Network } from '../../constants';
|
|
7
8
|
export declare class SparkSDaiEventPool extends StatefulEventSubscriber<SparkSDaiPoolState> {
|
|
8
9
|
protected dexHelper: IDexHelper;
|
|
9
10
|
private potAddress;
|
|
10
11
|
private potInterface;
|
|
11
|
-
|
|
12
|
+
private savingsRateTopic;
|
|
13
|
+
private savingsRateSymbol;
|
|
14
|
+
constructor(parentName: string, network: Network, poolName: string, dexHelper: IDexHelper, potAddress: Address, potInterface: Interface, logger: Logger, savingsRateTopic: string, savingsRateSymbol: 'ssr' | 'dsr');
|
|
12
15
|
protected processLog(state: DeepReadonly<SparkSDaiPoolState>, log: Readonly<Log>, blockHeader: Readonly<BlockHeader>): AsyncOrSync<DeepReadonly<SparkSDaiPoolState> | null>;
|
|
13
16
|
generateState(blockNumber?: number | 'latest'): Promise<DeepReadonly<SparkSDaiPoolState>>;
|
|
14
17
|
convertToSDai(daiAmount: bigint, blockNumber: number): bigint;
|
|
@@ -12,10 +12,6 @@ const HALF = RAY / TWO;
|
|
|
12
12
|
const FILE_TOPICHASH = `0x29ae811400000000000000000000000000000000000000000000000000000000`;
|
|
13
13
|
// function drip()
|
|
14
14
|
const DRIP_TOPICHASH = `0x9f678cca00000000000000000000000000000000000000000000000000000000`;
|
|
15
|
-
// function cage()
|
|
16
|
-
const CAGE_TOPICHASH = `0x6924500900000000000000000000000000000000000000000000000000000000`;
|
|
17
|
-
// bytes32 repr of "dsr" string
|
|
18
|
-
const DSR_TOPIC = `0x6473720000000000000000000000000000000000000000000000000000000000`;
|
|
19
15
|
const rpow = (x, n) => {
|
|
20
16
|
if (!x && !n)
|
|
21
17
|
return RAY;
|
|
@@ -42,15 +38,18 @@ const calcChi = (state, currentTimestamp) => {
|
|
|
42
38
|
return now > rho ? (rpow(dsr, now - rho) * chi) / RAY : chi;
|
|
43
39
|
};
|
|
44
40
|
class SparkSDaiEventPool extends stateful_event_subscriber_1.StatefulEventSubscriber {
|
|
45
|
-
constructor(parentName, poolName, dexHelper, potAddress, potInterface, logger) {
|
|
41
|
+
constructor(parentName, network, poolName, dexHelper, potAddress, potInterface, logger, savingsRateTopic, savingsRateSymbol) {
|
|
46
42
|
super(parentName, poolName, dexHelper, logger);
|
|
47
43
|
this.dexHelper = dexHelper;
|
|
48
44
|
this.potAddress = potAddress;
|
|
49
45
|
this.potInterface = potInterface;
|
|
46
|
+
this.savingsRateTopic = savingsRateTopic;
|
|
47
|
+
this.savingsRateSymbol = savingsRateSymbol;
|
|
50
48
|
this.addressesSubscribed = [potAddress];
|
|
51
49
|
}
|
|
52
50
|
processLog(state, log, blockHeader) {
|
|
53
|
-
if (log.topics[0] === FILE_TOPICHASH &&
|
|
51
|
+
if (log.topics[0] === FILE_TOPICHASH &&
|
|
52
|
+
log.topics[2] === this.savingsRateTopic) {
|
|
54
53
|
return {
|
|
55
54
|
...state,
|
|
56
55
|
dsr: BigInt(log.topics[3]).toString(),
|
|
@@ -66,7 +65,7 @@ class SparkSDaiEventPool extends stateful_event_subscriber_1.StatefulEventSubscr
|
|
|
66
65
|
return null;
|
|
67
66
|
}
|
|
68
67
|
async generateState(blockNumber = 'latest') {
|
|
69
|
-
return (0, utils_1.getOnChainState)(this.dexHelper.multiContract, this.potAddress, this.potInterface, blockNumber);
|
|
68
|
+
return (0, utils_1.getOnChainState)(this.dexHelper.multiContract, this.potAddress, this.potInterface, this.savingsRateSymbol, blockNumber);
|
|
70
69
|
}
|
|
71
70
|
convertToSDai(daiAmount, blockNumber) {
|
|
72
71
|
const state = this.getState(blockNumber);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spark-sdai-pool.js","sourceRoot":"","sources":["../../../src/dex/spark/spark-sdai-pool.ts"],"names":[],"mappings":";;;AAAA,6DAAiD;AACjD,+EAA0E;AAO1E,mCAA0C;
|
|
1
|
+
{"version":3,"file":"spark-sdai-pool.js","sourceRoot":"","sources":["../../../src/dex/spark/spark-sdai-pool.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ export declare class Spark extends SimpleExchange implements IDex<SparkData, Spa
|
|
|
12
12
|
readonly daiAddress: string;
|
|
13
13
|
readonly sdaiAddress: string;
|
|
14
14
|
readonly potAddress: string;
|
|
15
|
+
readonly abiInterface: Interface;
|
|
15
16
|
protected adapters: {
|
|
16
17
|
[side: string]: {
|
|
17
18
|
name: string;
|
|
@@ -19,7 +20,6 @@ export declare class Spark extends SimpleExchange implements IDex<SparkData, Spa
|
|
|
19
20
|
}[];
|
|
20
21
|
};
|
|
21
22
|
protected sdaiInterface: Interface;
|
|
22
|
-
protected potInterface: Interface;
|
|
23
23
|
readonly hasConstantPriceLargeAmounts = true;
|
|
24
24
|
readonly isFeeOnTransferSupported = false;
|
|
25
25
|
static dexKeysWithNetwork: {
|
|
@@ -28,12 +28,12 @@ export declare class Spark extends SimpleExchange implements IDex<SparkData, Spa
|
|
|
28
28
|
}[];
|
|
29
29
|
readonly eventPool: SparkSDaiEventPool;
|
|
30
30
|
logger: Logger;
|
|
31
|
-
constructor(network: Network, dexKey: string, dexHelper: IDexHelper, daiAddress?: string, sdaiAddress?: string, potAddress?: string, adapters?: {
|
|
31
|
+
constructor(network: Network, dexKey: string, dexHelper: IDexHelper, daiAddress?: string, sdaiAddress?: string, potAddress?: string, abiInterface?: Interface, adapters?: {
|
|
32
32
|
[side: string]: {
|
|
33
33
|
name: string;
|
|
34
34
|
index: number;
|
|
35
35
|
}[];
|
|
36
|
-
}, sdaiInterface?: Interface
|
|
36
|
+
}, sdaiInterface?: Interface);
|
|
37
37
|
getAdapters(side: SwapSide): {
|
|
38
38
|
name: string;
|
|
39
39
|
index: number;
|
package/build/dex/spark/spark.js
CHANGED
|
@@ -33,7 +33,6 @@ const constants_1 = require("../../constants");
|
|
|
33
33
|
const utils_1 = require("../../utils");
|
|
34
34
|
const config_1 = require("./config");
|
|
35
35
|
const CALLDATA_GAS_COST = __importStar(require("../../calldata-gas-cost"));
|
|
36
|
-
const pot_json_1 = __importDefault(require("../../abi/maker-psm/pot.json"));
|
|
37
36
|
const SavingsDai_abi_json_1 = __importDefault(require("../../abi/sdai/SavingsDai.abi.json"));
|
|
38
37
|
const utils_2 = require("ethers/lib/utils");
|
|
39
38
|
const spark_sdai_pool_1 = require("./spark-sdai-pool");
|
|
@@ -41,20 +40,21 @@ const bigint_constants_1 = require("../../bigint-constants");
|
|
|
41
40
|
const constants_2 = require("./constants");
|
|
42
41
|
const utils_3 = require("../../executor/utils");
|
|
43
42
|
class Spark extends simple_exchange_1.SimpleExchange {
|
|
44
|
-
constructor(network, dexKey, dexHelper, daiAddress = config_1.SDaiConfig[dexKey][network].daiAddress, sdaiAddress = config_1.SDaiConfig[dexKey][network].sdaiAddress, potAddress = config_1.SDaiConfig[dexKey][network].potAddress,
|
|
43
|
+
constructor(network, dexKey, dexHelper, daiAddress = config_1.SDaiConfig[dexKey][network].daiAddress, sdaiAddress = config_1.SDaiConfig[dexKey][network].sdaiAddress, potAddress = config_1.SDaiConfig[dexKey][network].potAddress, abiInterface = config_1.SDaiConfig[dexKey][network]
|
|
44
|
+
.poolInterface, adapters = config_1.Adapters[network] || {}, sdaiInterface = new utils_2.Interface(SavingsDai_abi_json_1.default)) {
|
|
45
45
|
super(dexHelper, dexKey);
|
|
46
46
|
this.network = network;
|
|
47
47
|
this.dexHelper = dexHelper;
|
|
48
48
|
this.daiAddress = daiAddress;
|
|
49
49
|
this.sdaiAddress = sdaiAddress;
|
|
50
50
|
this.potAddress = potAddress;
|
|
51
|
+
this.abiInterface = abiInterface;
|
|
51
52
|
this.adapters = adapters;
|
|
52
53
|
this.sdaiInterface = sdaiInterface;
|
|
53
|
-
this.potInterface = potInterface;
|
|
54
54
|
this.hasConstantPriceLargeAmounts = true;
|
|
55
55
|
this.isFeeOnTransferSupported = false;
|
|
56
56
|
this.logger = dexHelper.getLogger(dexKey);
|
|
57
|
-
this.eventPool = new spark_sdai_pool_1.SparkSDaiEventPool(this.dexKey, `${this.daiAddress}_${this.sdaiAddress}`, dexHelper, this.potAddress, this.
|
|
57
|
+
this.eventPool = new spark_sdai_pool_1.SparkSDaiEventPool(this.dexKey, this.network, `${this.daiAddress}_${this.sdaiAddress}`, dexHelper, this.potAddress, this.abiInterface, this.logger, config_1.SDaiConfig[dexKey][network].savingsRate.topic, config_1.SDaiConfig[dexKey][network].savingsRate.symbol);
|
|
58
58
|
}
|
|
59
59
|
getAdapters(side) {
|
|
60
60
|
return this.adapters[side] || null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spark.js","sourceRoot":"","sources":["../../../src/dex/spark/spark.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAAoD;AAEpD,mCAAqE;AACrE,+CAAoD;AACpD,uCAAoD;AACpD,qCAAgD;AAchD,2EAA6D;
|
|
1
|
+
{"version":3,"file":"spark.js","sourceRoot":"","sources":["../../../src/dex/spark/spark.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Interface } from '@ethersproject/abi';
|
|
1
2
|
import { Address } from '../../types';
|
|
2
3
|
export declare type SparkData = {
|
|
3
4
|
exchange: Address;
|
|
@@ -6,6 +7,11 @@ export declare type SparkParams = {
|
|
|
6
7
|
sdaiAddress: Address;
|
|
7
8
|
daiAddress: Address;
|
|
8
9
|
potAddress: Address;
|
|
10
|
+
savingsRate: {
|
|
11
|
+
symbol: 'dsr' | 'ssr';
|
|
12
|
+
topic: string;
|
|
13
|
+
};
|
|
14
|
+
poolInterface: Interface;
|
|
9
15
|
};
|
|
10
16
|
export declare enum SparkSDaiFunctions {
|
|
11
17
|
deposit = "deposit",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/spark/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/spark/types.ts"],"names":[],"mappings":";;;AAgBA,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,yCAAmB,CAAA;IACnB,uCAAiB,CAAA;IACjB,2CAAqB,CAAA;IACrB,mCAAa,CAAA;AACf,CAAC,EALW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAK7B"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { Contract } from 'web3-eth-contract';
|
|
2
2
|
import { SparkSDaiPoolState } from './types';
|
|
3
3
|
import { Interface } from '@ethersproject/abi';
|
|
4
|
-
export declare function getOnChainState(multiContract: Contract, potAddress: string, potInterface: Interface, blockNumber: number | 'latest'): Promise<SparkSDaiPoolState>;
|
|
4
|
+
export declare function getOnChainState(multiContract: Contract, potAddress: string, potInterface: Interface, savingsRateSymbol: 'dsr' | 'ssr', blockNumber: number | 'latest'): Promise<SparkSDaiPoolState>;
|
|
5
|
+
export declare function getOnChainStateSDAI(multiContract: Contract, potAddress: string, potInterface: Interface, blockNumber: number | 'latest'): Promise<SparkSDaiPoolState>;
|
|
6
|
+
export declare function getOnChainStateUSDS(multiContract: Contract, potAddress: string, potInterface: Interface, blockNumber: number | 'latest'): Promise<SparkSDaiPoolState>;
|