@paraswap/dex-lib 2.35.2 → 2.35.3-quick-perps-proxy.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/build/abi/api3-proxy.json +7 -0
- package/build/abi/quickPerps/fast-price-events.json +70 -0
- package/build/abi/quickPerps/fast-price-feed.json +748 -0
- package/build/abi/quickPerps/reader.json +313 -0
- package/build/abi/quickPerps/vault-price-feed.json +477 -0
- package/build/abi/quickPerps/vault.json +1953 -0
- package/build/abi/uniswap-v3/pancakeswap-v3/PancakeswapV3QuoterV2.abi.json +285 -0
- package/build/abi/uniswap-v3/pancakeswap-v3/PancakeswapV3Router.abi.json +583 -0
- package/build/abi/woo-fi/WooFeeManager.abi.json +318 -0
- package/build/abi/woo-fi/WooPP.abi.json +548 -0
- package/build/abi/woo-fi/Wooracle.abi.json +260 -0
- package/build/dex/aave-v3/tokens/arbitrum.json +50 -0
- package/build/dex/aave-v3/tokens/avalanche.json +74 -0
- package/build/dex/aave-v3/tokens/fantom.json +62 -0
- package/build/dex/aave-v3/tokens/optimism.json +50 -0
- package/build/dex/aave-v3/tokens/polygon.json +116 -0
- package/build/dex/balancer-v2/LinearMath.d.ts +19 -0
- package/build/dex/balancer-v2/LinearMath.js +179 -0
- package/build/dex/balancer-v2/LinearMath.js.map +1 -0
- package/build/dex/balancer-v2/LinearPool.d.ts +47 -0
- package/build/dex/balancer-v2/LinearPool.js +324 -0
- package/build/dex/balancer-v2/LinearPool.js.map +1 -0
- package/build/dex/balancer-v2/PhantomStablePool.d.ts +47 -0
- package/build/dex/balancer-v2/PhantomStablePool.js +294 -0
- package/build/dex/balancer-v2/PhantomStablePool.js.map +1 -0
- package/build/dex/balancer-v2/StableMath.d.ts +9 -0
- package/build/dex/balancer-v2/StableMath.js +272 -0
- package/build/dex/balancer-v2/StableMath.js.map +1 -0
- package/build/dex/balancer-v2/balancer-v2-pool.d.ts +75 -0
- package/build/dex/balancer-v2/balancer-v2-pool.js +417 -0
- package/build/dex/balancer-v2/balancer-v2-pool.js.map +1 -0
- package/build/dex/quick-perps/pool.js +20 -6
- package/build/dex/quick-perps/pool.js.map +1 -1
- package/build/dex/quickswap-v3.d.ts +21 -0
- package/build/dex/quickswap-v3.js +40 -0
- package/build/dex/quickswap-v3.js.map +1 -0
- package/build/dex/test-dex/config.d.ts +4 -0
- package/build/dex/test-dex/config.js +15 -0
- package/build/dex/test-dex/config.js.map +1 -0
- package/build/dex/test-dex/test-dex-pool.d.ts +39 -0
- package/build/dex/test-dex/test-dex-pool.js +63 -0
- package/build/dex/test-dex/test-dex-pool.js.map +1 -0
- package/build/dex/test-dex/test-dex.d.ts +37 -0
- package/build/dex/test-dex/test-dex.js +126 -0
- package/build/dex/test-dex/test-dex.js.map +1 -0
- package/build/dex/test-dex/types.d.ts +6 -0
- package/build/dex/test-dex/types.js +3 -0
- package/build/dex/test-dex/types.js.map +1 -0
- package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.d.ts +12 -0
- package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.js +23 -0
- package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.js.map +1 -0
- package/build/dex/woo-fi/config.d.ts +4 -0
- package/build/dex/woo-fi/config.js +141 -0
- package/build/dex/woo-fi/config.js.map +1 -0
- package/build/dex/woo-fi/constants.d.ts +5 -0
- package/build/dex/woo-fi/constants.js +20 -0
- package/build/dex/woo-fi/constants.js.map +1 -0
- package/build/dex/woo-fi/types.d.ts +48 -0
- package/build/dex/woo-fi/types.js +3 -0
- package/build/dex/woo-fi/types.js.map +1 -0
- package/build/dex/woo-fi/woo-fi-decimal-math.d.ts +14 -0
- package/build/dex/woo-fi/woo-fi-decimal-math.js +42 -0
- package/build/dex/woo-fi/woo-fi-decimal-math.js.map +1 -0
- package/build/dex/woo-fi/woo-fi-math.d.ts +31 -0
- package/build/dex/woo-fi/woo-fi-math.js +300 -0
- package/build/dex/woo-fi/woo-fi-math.js.map +1 -0
- package/build/dex/woo-fi/woo-fi.d.ts +65 -0
- package/build/dex/woo-fi/woo-fi.js +480 -0
- package/build/dex/woo-fi/woo-fi.js.map +1 -0
- package/build/dex/woo-fi-v2/woo-fi-math.d.ts +16 -0
- package/build/dex/woo-fi-v2/woo-fi-math.js +137 -0
- package/build/dex/woo-fi-v2/woo-fi-math.js.map +1 -0
- package/build/lib/api3-feed.d.ts +4 -0
- package/build/lib/api3-feed.js +18 -0
- package/build/lib/api3-feed.js.map +1 -1
- package/package.json +1 -1
- package/src/abi/api3-proxy.json +7 -0
- package/src/dex/quick-perps/pool.ts +41 -7
- package/src/dex/quick-perps/quick-perps-events.test.ts +0 -1
- package/src/lib/api3-feed.ts +35 -0
- package/build/abi/algebra/AlgebraPool.abi.json +0 -727
- package/build/dex/algebra/algebra-pool.d.ts +0 -46
- package/build/dex/algebra/algebra-pool.js +0 -336
- package/build/dex/algebra/algebra-pool.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"woo-fi-math.js","sourceRoot":"","sources":["../../../src/dex/woo-fi-v2/woo-fi-math.ts"],"names":[],"mappings":"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"}
|
package/build/lib/api3-feed.d.ts
CHANGED
|
@@ -16,7 +16,11 @@ export declare class Api3FeedSubscriber<State> extends PartialEventSubscriber<St
|
|
|
16
16
|
static readonly ANSWER_UPDATED_BEACON_SET_DATA: string;
|
|
17
17
|
constructor(proxy: Address, api3Server: Address, dataFeedId: string, lens: Lens<DeepReadonly<State>, DeepReadonly<Api3FeedSubscriberState>>, logger: Logger);
|
|
18
18
|
static getApi3ServerV1MultiCallInput(proxy: Address): MultiCallInput;
|
|
19
|
+
static getDapiNameHashMultiCallInput(proxy: Address): MultiCallInput;
|
|
19
20
|
static getDataFeedId(proxy: Address): MultiCallInput;
|
|
21
|
+
static getFeedIdFromDapiNameHash(api3Server: Address, dapiNameHash: string): MultiCallInput;
|
|
22
|
+
static decodeFeedIdFromDapiNameHash(multicallOutput: MultiCallOutput): any;
|
|
23
|
+
static decodeDapiNameHash(multicallOutput: MultiCallOutput): any;
|
|
20
24
|
static decodeDataFeedId(multicallOutput: MultiCallOutput): any;
|
|
21
25
|
static decodeApi3ServerV1Result(multicallOutput: MultiCallOutput): Address;
|
|
22
26
|
processLog(state: DeepReadonly<Api3FeedSubscriberState>, log: Readonly<Log>, blockHeader: Readonly<BlockHeader>): DeepReadonly<Api3FeedSubscriberState> | null;
|
package/build/lib/api3-feed.js
CHANGED
|
@@ -20,12 +20,30 @@ class Api3FeedSubscriber extends composed_event_subscriber_1.PartialEventSubscri
|
|
|
20
20
|
callData: Api3FeedSubscriber.proxyInterface.encodeFunctionData('api3ServerV1'),
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
|
+
static getDapiNameHashMultiCallInput(proxy) {
|
|
24
|
+
return {
|
|
25
|
+
target: proxy,
|
|
26
|
+
callData: Api3FeedSubscriber.proxyInterface.encodeFunctionData('dapiNameHash'),
|
|
27
|
+
};
|
|
28
|
+
}
|
|
23
29
|
static getDataFeedId(proxy) {
|
|
24
30
|
return {
|
|
25
31
|
target: proxy,
|
|
26
32
|
callData: Api3FeedSubscriber.proxyInterface.encodeFunctionData('dataFeedId'),
|
|
27
33
|
};
|
|
28
34
|
}
|
|
35
|
+
static getFeedIdFromDapiNameHash(api3Server, dapiNameHash) {
|
|
36
|
+
return {
|
|
37
|
+
target: api3Server,
|
|
38
|
+
callData: Api3FeedSubscriber.api3ServerV1Iface.encodeFunctionData('dapiNameHashToDataFeedId', [dapiNameHash]),
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
static decodeFeedIdFromDapiNameHash(multicallOutput) {
|
|
42
|
+
return Api3FeedSubscriber.api3ServerV1Iface.decodeFunctionResult('dapiNameHashToDataFeedId', multicallOutput)[0];
|
|
43
|
+
}
|
|
44
|
+
static decodeDapiNameHash(multicallOutput) {
|
|
45
|
+
return Api3FeedSubscriber.proxyInterface.decodeFunctionResult('dapiNameHash', multicallOutput)[0];
|
|
46
|
+
}
|
|
29
47
|
static decodeDataFeedId(multicallOutput) {
|
|
30
48
|
return Api3FeedSubscriber.proxyInterface.decodeFunctionResult('dataFeedId', multicallOutput)[0];
|
|
31
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api3-feed.js","sourceRoot":"","sources":["../../src/lib/api3-feed.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"api3-feed.js","sourceRoot":"","sources":["../../src/lib/api3-feed.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/abi/api3-proxy.json
CHANGED
|
@@ -42,5 +42,12 @@
|
|
|
42
42
|
],
|
|
43
43
|
"stateMutability": "view",
|
|
44
44
|
"type": "function"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"inputs": [],
|
|
48
|
+
"name": "dapiNameHash",
|
|
49
|
+
"outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }],
|
|
50
|
+
"stateMutability": "view",
|
|
51
|
+
"type": "function"
|
|
45
52
|
}
|
|
46
53
|
]
|
|
@@ -283,7 +283,8 @@ export class QuickPerpsEventPool extends ComposedEventSubscriber<PoolState> {
|
|
|
283
283
|
for (let priceFeed of priceFeeds) {
|
|
284
284
|
const api3ServerAddressCallData =
|
|
285
285
|
Api3FeedSubscriber.getApi3ServerV1MultiCallInput(priceFeed);
|
|
286
|
-
const dataFeedIdCallData =
|
|
286
|
+
const dataFeedIdCallData =
|
|
287
|
+
Api3FeedSubscriber.getDapiNameHashMultiCallInput(priceFeed);
|
|
287
288
|
multiCallData.push(...[api3ServerAddressCallData, dataFeedIdCallData]);
|
|
288
289
|
multicallSlices.push([i, i + 2]);
|
|
289
290
|
i += 2;
|
|
@@ -315,24 +316,31 @@ export class QuickPerpsEventPool extends ComposedEventSubscriber<PoolState> {
|
|
|
315
316
|
await multiContract.methods.aggregate(multiCallData).call({}, blockNumber)
|
|
316
317
|
).returnData;
|
|
317
318
|
|
|
318
|
-
const
|
|
319
|
+
const api3ServerV1Prep: {
|
|
319
320
|
[address: string]: {
|
|
320
321
|
proxy: Address;
|
|
321
322
|
api3ServerV1: Address;
|
|
322
|
-
dataFeedId: string;
|
|
323
323
|
};
|
|
324
324
|
} = {};
|
|
325
|
+
const getFeedIdRequests: MultiCallInput[] = [];
|
|
326
|
+
|
|
325
327
|
for (let token of tokens) {
|
|
326
|
-
const [api3ServerAddressRes,
|
|
328
|
+
const [api3ServerAddressRes, dapiNameHashRes] = configResults.slice(
|
|
327
329
|
...multicallSlices.shift()!,
|
|
328
330
|
);
|
|
329
331
|
const serverV1Address =
|
|
330
332
|
Api3FeedSubscriber.decodeApi3ServerV1Result(api3ServerAddressRes);
|
|
331
|
-
const
|
|
332
|
-
|
|
333
|
+
const dapiNameHash =
|
|
334
|
+
Api3FeedSubscriber.decodeDapiNameHash(dapiNameHashRes);
|
|
335
|
+
getFeedIdRequests.push(
|
|
336
|
+
Api3FeedSubscriber.getFeedIdFromDapiNameHash(
|
|
337
|
+
serverV1Address,
|
|
338
|
+
dapiNameHash,
|
|
339
|
+
),
|
|
340
|
+
);
|
|
341
|
+
api3ServerV1Prep[token] = {
|
|
333
342
|
proxy: priceFeeds.shift(),
|
|
334
343
|
api3ServerV1: serverV1Address,
|
|
335
|
-
dataFeedId,
|
|
336
344
|
};
|
|
337
345
|
}
|
|
338
346
|
|
|
@@ -355,6 +363,32 @@ export class QuickPerpsEventPool extends ComposedEventSubscriber<PoolState> {
|
|
|
355
363
|
const vaultConfigResults = configResults.slice(...multicallSlices.shift()!);
|
|
356
364
|
const vaultConfig = Vault.getConfig(vaultConfigResults, tokens);
|
|
357
365
|
|
|
366
|
+
const feedIdResults = (
|
|
367
|
+
await multiContract.methods
|
|
368
|
+
.aggregate(getFeedIdRequests)
|
|
369
|
+
.call({}, blockNumber)
|
|
370
|
+
).returnData;
|
|
371
|
+
|
|
372
|
+
const api3ServerV1: {
|
|
373
|
+
[address: string]: {
|
|
374
|
+
proxy: Address;
|
|
375
|
+
api3ServerV1: Address;
|
|
376
|
+
dataFeedId: string;
|
|
377
|
+
};
|
|
378
|
+
} = {};
|
|
379
|
+
for (let [i, token] of tokens.entries()) {
|
|
380
|
+
const { proxy, api3ServerV1: api3ServerAddress } =
|
|
381
|
+
api3ServerV1Prep[token];
|
|
382
|
+
const dataFeedId = Api3FeedSubscriber.decodeFeedIdFromDapiNameHash(
|
|
383
|
+
feedIdResults[i],
|
|
384
|
+
);
|
|
385
|
+
api3ServerV1[token] = {
|
|
386
|
+
proxy,
|
|
387
|
+
api3ServerV1: api3ServerAddress,
|
|
388
|
+
dataFeedId,
|
|
389
|
+
};
|
|
390
|
+
}
|
|
391
|
+
|
|
358
392
|
return {
|
|
359
393
|
vaultAddress: dexParams.vault,
|
|
360
394
|
readerAddress: dexParams.reader,
|
package/src/lib/api3-feed.ts
CHANGED
|
@@ -51,6 +51,14 @@ export class Api3FeedSubscriber<State> extends PartialEventSubscriber<
|
|
|
51
51
|
};
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
+
static getDapiNameHashMultiCallInput(proxy: Address): MultiCallInput {
|
|
55
|
+
return {
|
|
56
|
+
target: proxy,
|
|
57
|
+
callData:
|
|
58
|
+
Api3FeedSubscriber.proxyInterface.encodeFunctionData('dapiNameHash'),
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
|
|
54
62
|
static getDataFeedId(proxy: Address): MultiCallInput {
|
|
55
63
|
return {
|
|
56
64
|
target: proxy,
|
|
@@ -59,6 +67,33 @@ export class Api3FeedSubscriber<State> extends PartialEventSubscriber<
|
|
|
59
67
|
};
|
|
60
68
|
}
|
|
61
69
|
|
|
70
|
+
static getFeedIdFromDapiNameHash(
|
|
71
|
+
api3Server: Address,
|
|
72
|
+
dapiNameHash: string,
|
|
73
|
+
): MultiCallInput {
|
|
74
|
+
return {
|
|
75
|
+
target: api3Server,
|
|
76
|
+
callData: Api3FeedSubscriber.api3ServerV1Iface.encodeFunctionData(
|
|
77
|
+
'dapiNameHashToDataFeedId',
|
|
78
|
+
[dapiNameHash],
|
|
79
|
+
),
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
static decodeFeedIdFromDapiNameHash(multicallOutput: MultiCallOutput) {
|
|
84
|
+
return Api3FeedSubscriber.api3ServerV1Iface.decodeFunctionResult(
|
|
85
|
+
'dapiNameHashToDataFeedId',
|
|
86
|
+
multicallOutput,
|
|
87
|
+
)[0];
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
static decodeDapiNameHash(multicallOutput: MultiCallOutput) {
|
|
91
|
+
return Api3FeedSubscriber.proxyInterface.decodeFunctionResult(
|
|
92
|
+
'dapiNameHash',
|
|
93
|
+
multicallOutput,
|
|
94
|
+
)[0];
|
|
95
|
+
}
|
|
96
|
+
|
|
62
97
|
static decodeDataFeedId(multicallOutput: MultiCallOutput) {
|
|
63
98
|
return Api3FeedSubscriber.proxyInterface.decodeFunctionResult(
|
|
64
99
|
'dataFeedId',
|