@paraswap/dex-lib 3.11.5-fluid-dex-changes.2 → 3.11.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/.vscode/launch.json +53 -0
- package/.vscode/settings.json +2 -0
- package/.vscode/tasks.json +15 -0
- package/build/abi/fluid-dex/resolver.abi.json +4 -731
- package/build/abi/{cables/CablesMainnetRFQ.json → inception/inception-ineth-pool.json} +489 -510
- package/build/abi/inception/inception-ratio-feed.json +329 -0
- package/build/abi/inception/inception-vault.json +991 -0
- package/build/abi/uniswap-v3/AlienBaseV3Router.abi.json +52 -0
- package/build/abi/{integral/relayer.json → wombat/pool.json} +474 -721
- package/build/dex/aave-v1/aave-v1.d.ts +2 -1
- package/build/dex/aave-v1/aave-v1.js +23 -0
- package/build/dex/aave-v1/aave-v1.js.map +1 -1
- package/build/dex/aave-v2/tokens-avalanche.json +44 -0
- package/build/dex/aave-v2/tokens-mainnet.json +188 -0
- package/build/dex/aave-v2/tokens-polygon.json +44 -0
- package/build/dex/algebra/algebra.js +10 -18
- package/build/dex/algebra/algebra.js.map +1 -1
- package/build/dex/algebra/config.js +1 -1
- package/build/dex/algebra/config.js.map +1 -1
- package/build/dex/balancer-v3/abi/balancerBatchRouter.d.ts +729 -0
- package/build/dex/balancer-v3/abi/balancerBatchRouter.js +732 -0
- package/build/dex/balancer-v3/abi/balancerBatchRouter.js.map +1 -0
- package/build/dex/balancer-v3/abi/balancerRouter.d.ts +1406 -0
- package/build/dex/balancer-v3/abi/balancerRouter.js +1175 -0
- package/build/dex/balancer-v3/abi/balancerRouter.js.map +1 -0
- package/build/dex/balancer-v3/abi/vaultExtension.V3.d.ts +2081 -0
- package/build/dex/balancer-v3/abi/vaultExtension.V3.js +1851 -0
- package/build/dex/balancer-v3/abi/vaultExtension.V3.js.map +1 -0
- package/build/dex/balancer-v3/balancer-v3-pool.d.ts +76 -0
- package/build/dex/balancer-v3/balancer-v3-pool.js +383 -0
- package/build/dex/balancer-v3/balancer-v3-pool.js.map +1 -0
- package/build/dex/balancer-v3/balancer-v3.d.ts +57 -0
- package/build/dex/balancer-v3/balancer-v3.js +373 -0
- package/build/dex/balancer-v3/balancer-v3.js.map +1 -0
- package/build/dex/balancer-v3/config.d.ts +8 -0
- package/build/dex/balancer-v3/config.js +24 -0
- package/build/dex/balancer-v3/config.js.map +1 -0
- package/build/dex/balancer-v3/getOnChainState.d.ts +10 -0
- package/build/dex/balancer-v3/getOnChainState.js +158 -0
- package/build/dex/balancer-v3/getOnChainState.js.map +1 -0
- package/build/dex/balancer-v3/getPoolsApi.d.ts +2 -0
- package/build/dex/balancer-v3/getPoolsApi.js +81 -0
- package/build/dex/balancer-v3/getPoolsApi.js.map +1 -0
- package/build/dex/balancer-v3/getTopPoolsApi.d.ts +13 -0
- package/build/dex/balancer-v3/getTopPoolsApi.js +62 -0
- package/build/dex/balancer-v3/getTopPoolsApi.js.map +1 -0
- package/build/dex/balancer-v3/types.d.ts +63 -0
- package/build/dex/balancer-v3/types.js +3 -0
- package/build/dex/balancer-v3/types.js.map +1 -0
- package/build/dex/fluid-dex/config.js +1 -1
- package/build/dex/fluid-dex/fluid-dex-liquidity-proxy.js +1 -28
- package/build/dex/fluid-dex/fluid-dex-liquidity-proxy.js.map +1 -1
- package/build/dex/fluid-dex/fluid-dex.d.ts +10 -17
- package/build/dex/fluid-dex/fluid-dex.js +67 -219
- package/build/dex/fluid-dex/fluid-dex.js.map +1 -1
- package/build/dex/fluid-dex/types.d.ts +2 -22
- package/build/dex/inception/config.d.ts +4 -0
- package/build/dex/inception/config.js +109 -0
- package/build/dex/inception/config.js.map +1 -0
- package/build/dex/inception/inception-event-pool.d.ts +16 -0
- package/build/dex/inception/inception-event-pool.js +49 -0
- package/build/dex/inception/inception-event-pool.js.map +1 -0
- package/build/dex/inception/inception.d.ts +43 -0
- package/build/dex/inception/inception.js +180 -0
- package/build/dex/inception/inception.js.map +1 -0
- package/build/dex/inception/tokens.d.ts +9 -0
- package/build/dex/inception/tokens.js +28 -0
- package/build/dex/inception/tokens.js.map +1 -0
- package/build/dex/inception/types.d.ts +22 -0
- package/build/dex/inception/types.js +3 -0
- package/build/dex/inception/types.js.map +1 -0
- package/build/dex/inception/utils.d.ts +7 -0
- package/build/dex/inception/utils.js +58 -0
- package/build/dex/inception/utils.js.map +1 -0
- package/build/dex/jarvis.d.ts +2 -1
- package/build/dex/jarvis.js +58 -0
- package/build/dex/jarvis.js.map +1 -1
- package/build/dex/maker-psm/scripts/gem.abi.json +136 -0
- package/build/dex/maker-psm/scripts/validate-state.d.ts +0 -0
- package/build/dex/maker-psm/scripts/validate-state.js +185 -0
- package/build/dex/maker-psm/scripts/validate-state.js.map +1 -0
- package/build/dex/maker-psm/scripts/vat.abi.json +243 -0
- package/build/dex/platypus/platypus.d.ts +2 -1
- package/build/dex/platypus/platypus.js +45 -0
- package/build/dex/platypus/platypus.js.map +1 -1
- package/build/dex/solidly-v3/scripts/check-event-pool-event.d.ts +1 -0
- package/build/dex/solidly-v3/scripts/check-event-pool-event.js +53 -0
- package/build/dex/solidly-v3/scripts/check-event-pool-event.js.map +1 -0
- package/build/dex/stable-pool.js +1 -8
- package/build/dex/stable-pool.js.map +1 -1
- package/build/dex/swaap-v1/swaap-v1.d.ts +2 -1
- package/build/dex/swaap-v1/swaap-v1.js +14 -0
- package/build/dex/swaap-v1/swaap-v1.js.map +1 -1
- package/build/dex/uniswap-v3/config.js +1 -1
- package/build/dex/uniswap-v3/config.js.map +1 -1
- package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.d.ts +17 -0
- package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js +64 -0
- package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js.map +1 -0
- package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.d.ts +17 -0
- package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js +79 -0
- package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js.map +1 -0
- package/build/dex/uniswap-v3/uniswap-v3-pricing.d.ts +4 -0
- package/build/dex/uniswap-v3/uniswap-v3-pricing.js +43 -0
- package/build/dex/uniswap-v3/uniswap-v3-pricing.js.map +1 -0
- package/build/dex/uniswap-v3/uniswap-v3-worker.d.ts +1 -0
- package/build/dex/uniswap-v3/uniswap-v3-worker.js +10 -0
- package/build/dex/uniswap-v3/uniswap-v3-worker.js.map +1 -0
- package/build/dex/zerox/index.d.ts +4 -26
- package/build/dex/zerox/index.js +50 -42
- package/build/dex/zerox/index.js.map +1 -1
- package/build/dex/zerox/types.d.ts +29 -0
- package/build/dex/zerox/types.js +8 -1
- package/build/dex/zerox/types.js.map +1 -1
- package/build/executor/Executor03BytecodeBuilder.js +3 -8
- package/build/executor/Executor03BytecodeBuilder.js.map +1 -1
- package/package.json +1 -1
- package/src/abi/fluid-dex/resolver.abi.json +4 -731
- package/src/dex/algebra/algebra.ts +20 -19
- package/src/dex/algebra/config.ts +1 -2
- package/src/dex/fluid-dex/config.ts +1 -1
- package/src/dex/fluid-dex/fluid-dex-e2e.test.ts +6 -153
- package/src/dex/fluid-dex/fluid-dex-events.test.ts +4 -2
- package/src/dex/fluid-dex/fluid-dex-integration.test.ts +11 -79
- package/src/dex/fluid-dex/fluid-dex-liquidity-proxy.ts +0 -33
- package/src/dex/fluid-dex/fluid-dex.ts +104 -303
- package/src/dex/fluid-dex/types.ts +1 -25
- package/src/dex/uniswap-v3/config.ts +1 -2
- package/src/executor/Executor03BytecodeBuilder.ts +2 -10
- package/.idea/aws.xml +0 -17
- package/.idea/codeStyles/Project.xml +0 -19
- package/.idea/codeStyles/codeStyleConfig.xml +0 -5
- package/.idea/misc.xml +0 -6
- package/.idea/modules.xml +0 -8
- package/.idea/paraswap-dex-lib.iml +0 -9
- package/.idea/prettier.xml +0 -7
- package/.idea/vcs.xml +0 -6
- package/build/abi/integral/factory.json +0 -333
- package/build/abi/integral/oracle.json +0 -501
- package/build/abi/integral/pool.json +0 -1041
- package/build/dex/cables/cables.d.ts +0 -59
- package/build/dex/cables/cables.js +0 -599
- package/build/dex/cables/cables.js.map +0 -1
- package/build/dex/cables/config.d.ts +0 -4
- package/build/dex/cables/config.js +0 -15
- package/build/dex/cables/config.js.map +0 -1
- package/build/dex/cables/constants.d.ts +0 -20
- package/build/dex/cables/constants.js +0 -24
- package/build/dex/cables/constants.js.map +0 -1
- package/build/dex/cables/rate-fetcher.d.ts +0 -34
- package/build/dex/cables/rate-fetcher.js +0 -106
- package/build/dex/cables/rate-fetcher.js.map +0 -1
- package/build/dex/cables/types.d.ts +0 -113
- package/build/dex/cables/types.js +0 -19
- package/build/dex/cables/types.js.map +0 -1
- package/build/dex/cables/validators.d.ts +0 -5
- package/build/dex/cables/validators.js +0 -49
- package/build/dex/cables/validators.js.map +0 -1
- package/build/dex/fluid-dex/fluid-dex-generate-pool.d.ts +0 -49
- package/build/dex/fluid-dex/fluid-dex-generate-pool.js +0 -104
- package/build/dex/fluid-dex/fluid-dex-generate-pool.js.map +0 -1
- package/build/dex/integral/config.d.ts +0 -4
- package/build/dex/integral/config.js +0 -20
- package/build/dex/integral/config.js.map +0 -1
- package/build/dex/integral/context.d.ts +0 -40
- package/build/dex/integral/context.js +0 -158
- package/build/dex/integral/context.js.map +0 -1
- package/build/dex/integral/integral-factory.d.ts +0 -24
- package/build/dex/integral/integral-factory.js +0 -95
- package/build/dex/integral/integral-factory.js.map +0 -1
- package/build/dex/integral/integral-pool.d.ts +0 -50
- package/build/dex/integral/integral-pool.js +0 -149
- package/build/dex/integral/integral-pool.js.map +0 -1
- package/build/dex/integral/integral-pricing.d.ts +0 -18
- package/build/dex/integral/integral-pricing.js +0 -114
- package/build/dex/integral/integral-pricing.js.map +0 -1
- package/build/dex/integral/integral-relayer.d.ts +0 -42
- package/build/dex/integral/integral-relayer.js +0 -192
- package/build/dex/integral/integral-relayer.js.map +0 -1
- package/build/dex/integral/integral-token.d.ts +0 -27
- package/build/dex/integral/integral-token.js +0 -59
- package/build/dex/integral/integral-token.js.map +0 -1
- package/build/dex/integral/integral.d.ts +0 -41
- package/build/dex/integral/integral.js +0 -376
- package/build/dex/integral/integral.js.map +0 -1
- package/build/dex/integral/types.d.ts +0 -85
- package/build/dex/integral/types.js +0 -9
- package/build/dex/integral/types.js.map +0 -1
- package/build/dex/integral/utils-e2e.d.ts +0 -9
- package/build/dex/integral/utils-e2e.js +0 -131
- package/build/dex/integral/utils-e2e.js.map +0 -1
- package/build/dex/integral/utils.d.ts +0 -17
- package/build/dex/integral/utils.js +0 -94
- package/build/dex/integral/utils.js.map +0 -1
- package/build/dex/trader-joe-v2.1/optimizer.d.ts +0 -2
- package/build/dex/trader-joe-v2.1/optimizer.js +0 -47
- package/build/dex/trader-joe-v2.1/optimizer.js.map +0 -1
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getPoolsApi = void 0;
|
|
7
|
+
const axios_1 = __importDefault(require("axios"));
|
|
8
|
+
const config_1 = require("./config");
|
|
9
|
+
const utils_1 = require("ethers/lib/utils");
|
|
10
|
+
function createQuery(networkId, poolTypes, timestamp) {
|
|
11
|
+
const poolTypesString = poolTypes.map(type => `${type}`).join(', ');
|
|
12
|
+
const networkString = config_1.BalancerV3Config.BalancerV3[networkId].apiNetworkName;
|
|
13
|
+
// Build the where clause conditionally
|
|
14
|
+
const whereClause = {
|
|
15
|
+
chainIn: networkString,
|
|
16
|
+
protocolVersionIn: 3,
|
|
17
|
+
hasHook: false,
|
|
18
|
+
poolTypeIn: `[${poolTypesString}]`,
|
|
19
|
+
...(timestamp && { createTime: `{lt: ${timestamp}}` }),
|
|
20
|
+
};
|
|
21
|
+
// Convert where clause to string, filtering out undefined values
|
|
22
|
+
const whereString = Object.entries(whereClause)
|
|
23
|
+
.map(([key, value]) => `${key}: ${value}`)
|
|
24
|
+
.join(', ');
|
|
25
|
+
return `
|
|
26
|
+
query MyQuery {
|
|
27
|
+
poolGetAggregatorPools(
|
|
28
|
+
where: {${whereString}}
|
|
29
|
+
) {
|
|
30
|
+
id
|
|
31
|
+
type
|
|
32
|
+
poolTokens {
|
|
33
|
+
address
|
|
34
|
+
weight
|
|
35
|
+
isErc4626
|
|
36
|
+
underlyingToken {
|
|
37
|
+
address
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
`;
|
|
43
|
+
}
|
|
44
|
+
function toImmutablePoolStateMap(pools) {
|
|
45
|
+
return pools.reduce((map, pool) => {
|
|
46
|
+
const immutablePoolState = {
|
|
47
|
+
address: pool.id,
|
|
48
|
+
tokens: pool.poolTokens.map(t => t.address),
|
|
49
|
+
tokensUnderlying: pool.poolTokens.map(t => t.underlyingToken ? t.underlyingToken.address : null),
|
|
50
|
+
weights: pool.poolTokens.map(t => t.weight ? (0, utils_1.parseUnits)(t.weight, 18).toBigInt() : 0n),
|
|
51
|
+
poolType: pool.type,
|
|
52
|
+
// TODO add scalingFactors once API provides them
|
|
53
|
+
// scalingFactors: pool.poolTokens.map(t => parseUnits('1', 18).toBigInt()),
|
|
54
|
+
// TODO Hook support will be added in future PR
|
|
55
|
+
hookType: undefined,
|
|
56
|
+
};
|
|
57
|
+
map[pool.id] = immutablePoolState;
|
|
58
|
+
return map;
|
|
59
|
+
}, {});
|
|
60
|
+
}
|
|
61
|
+
// Any data from API will be immutable. Mutable data such as balances, etc will be fetched via onchain/event state.
|
|
62
|
+
async function getPoolsApi(network, timestamp) {
|
|
63
|
+
try {
|
|
64
|
+
const query = createQuery(network, Object.values(config_1.SUPPORTED_POOLS), timestamp);
|
|
65
|
+
const response = await axios_1.default.post(config_1.apiUrl, {
|
|
66
|
+
query,
|
|
67
|
+
}, {
|
|
68
|
+
headers: {
|
|
69
|
+
'Content-Type': 'application/json',
|
|
70
|
+
},
|
|
71
|
+
});
|
|
72
|
+
const pools = response.data.data.poolGetAggregatorPools;
|
|
73
|
+
return toImmutablePoolStateMap(pools);
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
// console.error('Error executing GraphQL query:', error);
|
|
77
|
+
throw error;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
exports.getPoolsApi = getPoolsApi;
|
|
81
|
+
//# sourceMappingURL=getPoolsApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPoolsApi.js","sourceRoot":"","sources":["../../../src/dex/balancer-v3/getPoolsApi.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,qCAAqE;AAErE,4CAA8C;AAuB9C,SAAS,WAAW,CAClB,SAAiB,EACjB,SAA4B,EAC5B,SAAkB;IAElB,MAAM,eAAe,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpE,MAAM,aAAa,GAAG,yBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC;IAC5E,uCAAuC;IACvC,MAAM,WAAW,GAAG;QAClB,OAAO,EAAE,aAAa;QACtB,iBAAiB,EAAE,CAAC;QACpB,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,IAAI,eAAe,GAAG;QAClC,GAAG,CAAC,SAAS,IAAI,EAAE,UAAU,EAAE,QAAQ,SAAS,GAAG,EAAE,CAAC;KACvD,CAAC;IAEF,iEAAiE;IACjE,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;SAC5C,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,KAAK,EAAE,CAAC;SACzC,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO;;;kBAGS,WAAW;;;;;;;;;;;;;;GAc1B,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAa;IAC5C,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QAChC,MAAM,kBAAkB,GAA6B;YACnD,OAAO,EAAE,IAAI,CAAC,EAAE;YAChB,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YAC3C,gBAAgB,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACxC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CACrD;YACD,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC/B,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,kBAAU,EAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CACpD;YACD,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,iDAAiD;YACjD,4EAA4E;YAC5E,+CAA+C;YAC/C,QAAQ,EAAE,SAAS;SACpB,CAAC;QAEF,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC;QAClC,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAA2B,CAAC,CAAC;AAClC,CAAC;AAED,mHAAmH;AAC5G,KAAK,UAAU,WAAW,CAC/B,OAAe,EACf,SAAkB;IAElB,IAAI;QACF,MAAM,KAAK,GAAG,WAAW,CACvB,OAAO,EACP,MAAM,CAAC,MAAM,CAAC,wBAAe,CAAC,EAC9B,SAAS,CACV,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAC/B,eAAM,EACN;YACE,KAAK;SACN,EACD;YACE,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;SACF,CACF,CAAC;QAEF,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC;QACxD,OAAO,uBAAuB,CAAC,KAAK,CAAC,CAAC;KACvC;IAAC,OAAO,KAAK,EAAE;QACd,0DAA0D;QAC1D,MAAM,KAAK,CAAC;KACb;AACH,CAAC;AA5BD,kCA4BC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
interface PoolToken {
|
|
2
|
+
address: string;
|
|
3
|
+
decimals: number;
|
|
4
|
+
}
|
|
5
|
+
interface Pool {
|
|
6
|
+
address: string;
|
|
7
|
+
poolTokens: PoolToken[];
|
|
8
|
+
dynamicData: {
|
|
9
|
+
totalLiquidity: string;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export declare function getTopPoolsApi(networkId: number, poolsFilter: string[], count: number): Promise<Pool[]>;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getTopPoolsApi = void 0;
|
|
7
|
+
const axios_1 = __importDefault(require("axios"));
|
|
8
|
+
const config_1 = require("./config");
|
|
9
|
+
function createQuery(networkId, poolsFilter, count) {
|
|
10
|
+
const networkString = config_1.BalancerV3Config.BalancerV3[networkId].apiNetworkName;
|
|
11
|
+
const poolIdString = poolsFilter.map(a => `"${a}"`).join(', ');
|
|
12
|
+
// Build the where clause conditionally
|
|
13
|
+
const whereClause = {
|
|
14
|
+
chainIn: networkString,
|
|
15
|
+
protocolVersionIn: 3,
|
|
16
|
+
hasHook: false,
|
|
17
|
+
idIn: `[${poolIdString}]`,
|
|
18
|
+
};
|
|
19
|
+
// Convert where clause to string, filtering out undefined values
|
|
20
|
+
const whereString = Object.entries(whereClause)
|
|
21
|
+
.map(([key, value]) => `${key}: ${value}`)
|
|
22
|
+
.join(', ');
|
|
23
|
+
return `
|
|
24
|
+
query MyQuery {
|
|
25
|
+
poolGetAggregatorPools(
|
|
26
|
+
where: {${whereString}}
|
|
27
|
+
first: ${count}
|
|
28
|
+
orderBy: totalLiquidity
|
|
29
|
+
orderDirection: desc
|
|
30
|
+
) {
|
|
31
|
+
address
|
|
32
|
+
poolTokens {
|
|
33
|
+
address
|
|
34
|
+
decimals
|
|
35
|
+
}
|
|
36
|
+
dynamicData {
|
|
37
|
+
totalLiquidity
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
`;
|
|
42
|
+
}
|
|
43
|
+
async function getTopPoolsApi(networkId, poolsFilter, count) {
|
|
44
|
+
try {
|
|
45
|
+
const query = createQuery(networkId, poolsFilter, count);
|
|
46
|
+
const response = await axios_1.default.post(config_1.apiUrl, {
|
|
47
|
+
query,
|
|
48
|
+
}, {
|
|
49
|
+
headers: {
|
|
50
|
+
'Content-Type': 'application/json',
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
const pools = response.data.data.poolGetAggregatorPools;
|
|
54
|
+
return pools;
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
// console.error('Error executing GraphQL query:', error);
|
|
58
|
+
throw error;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.getTopPoolsApi = getTopPoolsApi;
|
|
62
|
+
//# sourceMappingURL=getTopPoolsApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTopPoolsApi.js","sourceRoot":"","sources":["../../../src/dex/balancer-v3/getTopPoolsApi.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,qCAAoD;AAqBpD,SAAS,WAAW,CAClB,SAAiB,EACjB,WAAqB,EACrB,KAAa;IAEb,MAAM,aAAa,GAAG,yBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC;IAC5E,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,uCAAuC;IACvC,MAAM,WAAW,GAAG;QAClB,OAAO,EAAE,aAAa;QACtB,iBAAiB,EAAE,CAAC;QACpB,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,IAAI,YAAY,GAAG;KAC1B,CAAC;IAEF,iEAAiE;IACjE,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;SAC5C,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,KAAK,EAAE,CAAC;SACzC,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO;;;kBAGS,WAAW;iBACZ,KAAK;;;;;;;;;;;;;;GAcnB,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,cAAc,CAClC,SAAiB,EACjB,WAAqB,EACrB,KAAa;IAEb,IAAI;QACF,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAC/B,eAAM,EACN;YACE,KAAK;SACN,EACD;YACE,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;SACF,CACF,CAAC;QAEF,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC;QACxD,OAAO,KAAK,CAAC;KACd;IAAC,OAAO,KAAK,EAAE;QACd,0DAA0D;QAC1D,MAAM,KAAK,CAAC;KACb;AACH,CAAC;AAzBD,wCAyBC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { BufferState } from '@balancer-labs/balancer-maths';
|
|
2
|
+
import { Address } from '../../types';
|
|
3
|
+
export declare type CommonImmutablePoolState = {
|
|
4
|
+
address: string;
|
|
5
|
+
poolType: string;
|
|
6
|
+
tokens: string[];
|
|
7
|
+
tokensUnderlying: (string | null)[];
|
|
8
|
+
weights: bigint[];
|
|
9
|
+
hookType: string | undefined;
|
|
10
|
+
};
|
|
11
|
+
export interface CommonMutableState {
|
|
12
|
+
tokenRates: bigint[];
|
|
13
|
+
balancesLiveScaled18: bigint[];
|
|
14
|
+
swapFee: bigint;
|
|
15
|
+
aggregateSwapFee: bigint;
|
|
16
|
+
totalSupply: bigint;
|
|
17
|
+
isPoolPaused: boolean;
|
|
18
|
+
scalingFactors: bigint[];
|
|
19
|
+
hasHook: boolean;
|
|
20
|
+
}
|
|
21
|
+
declare type CommonPoolState = CommonImmutablePoolState & CommonMutableState;
|
|
22
|
+
export declare type PoolState = CommonPoolState | (CommonPoolState & StableMutableState);
|
|
23
|
+
export interface StableMutableState {
|
|
24
|
+
amp: bigint;
|
|
25
|
+
ampIsUpdating: boolean;
|
|
26
|
+
ampStartValue: bigint;
|
|
27
|
+
ampEndValue: bigint;
|
|
28
|
+
ampStartTime: bigint;
|
|
29
|
+
ampStopTime: bigint;
|
|
30
|
+
}
|
|
31
|
+
export declare type PoolStateMap = {
|
|
32
|
+
[address: string]: PoolState;
|
|
33
|
+
};
|
|
34
|
+
export declare type ImmutablePoolStateMap = {
|
|
35
|
+
[address: string]: CommonImmutablePoolState;
|
|
36
|
+
};
|
|
37
|
+
export declare type Step = {
|
|
38
|
+
pool: Address;
|
|
39
|
+
tokenOut: Address;
|
|
40
|
+
isBuffer: boolean;
|
|
41
|
+
swapInput: {
|
|
42
|
+
tokenIn: Address;
|
|
43
|
+
tokenOut: Address;
|
|
44
|
+
};
|
|
45
|
+
poolState: PoolState | BufferState;
|
|
46
|
+
};
|
|
47
|
+
export declare type BalancerV3Data = {
|
|
48
|
+
steps: Step[];
|
|
49
|
+
};
|
|
50
|
+
export declare type DexParams = {
|
|
51
|
+
apiNetworkName: string;
|
|
52
|
+
vaultAddress: string;
|
|
53
|
+
balancerRouterAddress: string;
|
|
54
|
+
balancerBatchRouterAddress: string;
|
|
55
|
+
};
|
|
56
|
+
export declare type TokenInfo = {
|
|
57
|
+
isBoosted: boolean;
|
|
58
|
+
underlyingToken: string | null;
|
|
59
|
+
mainToken: string;
|
|
60
|
+
index: number;
|
|
61
|
+
rate: bigint;
|
|
62
|
+
};
|
|
63
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/balancer-v3/types.ts"],"names":[],"mappings":""}
|
|
@@ -7,7 +7,7 @@ exports.FluidDexConfig = {
|
|
|
7
7
|
[constants_1.Network.MAINNET]: {
|
|
8
8
|
commonAddresses: {
|
|
9
9
|
liquidityProxy: '0x52aa899454998be5b000ad077a46bbe360f4e497',
|
|
10
|
-
resolver: '
|
|
10
|
+
resolver: '0xE8a07a32489BD9d5a00f01A55749Cf5cB854Fd13',
|
|
11
11
|
dexFactory: '0x91716C4EDA1Fb55e84Bf8b4c7085f84285c19085',
|
|
12
12
|
},
|
|
13
13
|
},
|
|
@@ -81,7 +81,7 @@ class FluidDexLiquidityProxy extends stateful_event_subscriber_1.StatefulEventSu
|
|
|
81
81
|
}
|
|
82
82
|
convertToFluidDexPoolState(poolReserves) {
|
|
83
83
|
const result = poolReserves.map(poolReserve => {
|
|
84
|
-
const [pool, token0, token1, feeHex, collateralReservesHex, debtReservesHex,
|
|
84
|
+
const [pool, token0, token1, feeHex, collateralReservesHex, debtReservesHex,] = poolReserve;
|
|
85
85
|
const fee = Number(feeHex.toString());
|
|
86
86
|
const collateralReserves = {
|
|
87
87
|
token0RealReserves: (0, utils_1.bigIntify)(collateralReservesHex[0]),
|
|
@@ -97,32 +97,6 @@ class FluidDexLiquidityProxy extends stateful_event_subscriber_1.StatefulEventSu
|
|
|
97
97
|
token0ImaginaryReserves: (0, utils_1.bigIntify)(debtReservesHex[4]),
|
|
98
98
|
token1ImaginaryReserves: (0, utils_1.bigIntify)(debtReservesHex[5]),
|
|
99
99
|
};
|
|
100
|
-
const withdrawableToken0 = {
|
|
101
|
-
available: (0, utils_1.bigIntify)(dexLimitsHex[0][0]),
|
|
102
|
-
expandsTo: (0, utils_1.bigIntify)(dexLimitsHex[0][1]),
|
|
103
|
-
expandsDuration: (0, utils_1.bigIntify)(dexLimitsHex[0][2]),
|
|
104
|
-
};
|
|
105
|
-
const withdrawableToken1 = {
|
|
106
|
-
available: (0, utils_1.bigIntify)(dexLimitsHex[1][0]),
|
|
107
|
-
expandsTo: (0, utils_1.bigIntify)(dexLimitsHex[1][1]),
|
|
108
|
-
expandsDuration: (0, utils_1.bigIntify)(dexLimitsHex[1][2]),
|
|
109
|
-
};
|
|
110
|
-
const borrowableToken0 = {
|
|
111
|
-
available: (0, utils_1.bigIntify)(dexLimitsHex[2][0]),
|
|
112
|
-
expandsTo: (0, utils_1.bigIntify)(dexLimitsHex[2][1]),
|
|
113
|
-
expandsDuration: (0, utils_1.bigIntify)(dexLimitsHex[2][2]),
|
|
114
|
-
};
|
|
115
|
-
const borrowableToken1 = {
|
|
116
|
-
available: (0, utils_1.bigIntify)(dexLimitsHex[3][0]),
|
|
117
|
-
expandsTo: (0, utils_1.bigIntify)(dexLimitsHex[3][1]),
|
|
118
|
-
expandsDuration: (0, utils_1.bigIntify)(dexLimitsHex[3][2]),
|
|
119
|
-
};
|
|
120
|
-
const dexLimits = {
|
|
121
|
-
withdrawableToken0,
|
|
122
|
-
withdrawableToken1,
|
|
123
|
-
borrowableToken0,
|
|
124
|
-
borrowableToken1,
|
|
125
|
-
};
|
|
126
100
|
return {
|
|
127
101
|
pool,
|
|
128
102
|
token0,
|
|
@@ -130,7 +104,6 @@ class FluidDexLiquidityProxy extends stateful_event_subscriber_1.StatefulEventSu
|
|
|
130
104
|
fee,
|
|
131
105
|
collateralReserves,
|
|
132
106
|
debtReserves,
|
|
133
|
-
dexLimits,
|
|
134
107
|
};
|
|
135
108
|
});
|
|
136
109
|
return { poolsReserves: result };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fluid-dex-liquidity-proxy.js","sourceRoot":"","sources":["../../../src/dex/fluid-dex/fluid-dex-liquidity-proxy.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"fluid-dex-liquidity-proxy.js","sourceRoot":"","sources":["../../../src/dex/fluid-dex/fluid-dex-liquidity-proxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { Token, Address, ExchangePrices, PoolPrices, AdapterExchangeParam, PoolL
|
|
|
4
4
|
import { SwapSide, Network } from '../../constants';
|
|
5
5
|
import { Context, IDex } from '../../dex/idex';
|
|
6
6
|
import { IDexHelper } from '../../dex-helper/idex-helper';
|
|
7
|
-
import {
|
|
7
|
+
import { FluidDexData, FluidDexPool, Pool } from './types';
|
|
8
8
|
import { SimpleExchange } from '../simple-exchange';
|
|
9
9
|
import { FluidDexFactory } from './fluid-dex-factory';
|
|
10
10
|
import { MultiResult } from '../../lib/multi-wrapper';
|
|
@@ -50,7 +50,7 @@ export declare class FluidDex extends SimpleExchange implements IDex<FluidDexDat
|
|
|
50
50
|
* @param outDecimals - The number of decimals for the output token.
|
|
51
51
|
* @returns The calculated output amount (as a BigInt).
|
|
52
52
|
*/
|
|
53
|
-
swapIn
|
|
53
|
+
private swapIn;
|
|
54
54
|
/**
|
|
55
55
|
* Calculates the output amount for a given input amount in a swap operation.
|
|
56
56
|
* @param swap0To1 - Direction of the swap. True if swapping token0 for token1, false otherwise.
|
|
@@ -59,14 +59,8 @@ export declare class FluidDex extends SimpleExchange implements IDex<FluidDexDat
|
|
|
59
59
|
* @param debtReserves - The reserves of the debt pool.
|
|
60
60
|
* @returns The calculated output amount.
|
|
61
61
|
*/
|
|
62
|
-
swapInAdjusted
|
|
63
|
-
|
|
64
|
-
* Calculates the currently available swappable amount for a token limit considering expansion since last syncTime.
|
|
65
|
-
* @param syncTime - timestamp in seconds when the limits were synced
|
|
66
|
-
* @param limit - token limit object containing available amount, expandsTo amount, and expandDuration
|
|
67
|
-
* @returns The calculated available swappable amount (borrowable or withdrawable)
|
|
68
|
-
*/
|
|
69
|
-
getExpandedLimit(syncTime: number, limit: TokenLimit): bigint;
|
|
62
|
+
private swapInAdjusted;
|
|
63
|
+
applyFee(amount: bigint, fee: bigint): bigint;
|
|
70
64
|
/**
|
|
71
65
|
* Given an input amount of asset and pair reserves, returns the maximum output amount of the other asset.
|
|
72
66
|
* @param amountIn - The amount of input asset.
|
|
@@ -74,7 +68,7 @@ export declare class FluidDex extends SimpleExchange implements IDex<FluidDexDat
|
|
|
74
68
|
* @param iReserveOut - Imaginary token reserve of output amount.
|
|
75
69
|
* @returns The maximum output amount of the other asset.
|
|
76
70
|
*/
|
|
77
|
-
getAmountOut
|
|
71
|
+
private getAmountOut;
|
|
78
72
|
/**
|
|
79
73
|
* Given an output amount of asset and pair reserves, returns the input amount of the other asset
|
|
80
74
|
* @param amountOut - Desired output amount of the asset.
|
|
@@ -82,7 +76,7 @@ export declare class FluidDex extends SimpleExchange implements IDex<FluidDexDat
|
|
|
82
76
|
* @param iReserveOut - Imaginary token reserve of output amount.
|
|
83
77
|
* @returns The input amount of the other asset.
|
|
84
78
|
*/
|
|
85
|
-
getAmountIn
|
|
79
|
+
private getAmountIn;
|
|
86
80
|
/**
|
|
87
81
|
* Calculates how much of a swap should go through the collateral pool for output amount.
|
|
88
82
|
* @param t - Total amount out.
|
|
@@ -95,7 +89,7 @@ export declare class FluidDex extends SimpleExchange implements IDex<FluidDexDat
|
|
|
95
89
|
* @note If a > t then entire trade route through col pool and col pool arbitrage with debt pool.
|
|
96
90
|
* @note If a > 0 & a < t then swap will route through both pools.
|
|
97
91
|
*/
|
|
98
|
-
swapRoutingOut
|
|
92
|
+
private swapRoutingOut;
|
|
99
93
|
/**
|
|
100
94
|
* Calculates how much of a swap should go through the collateral pool.
|
|
101
95
|
* @param t - Total amount in.
|
|
@@ -108,7 +102,7 @@ export declare class FluidDex extends SimpleExchange implements IDex<FluidDexDat
|
|
|
108
102
|
* @note If a > t then entire trade route through col pool and col pool arbitrage with debt pool.
|
|
109
103
|
* @note If a > 0 & a < t then swap will route through both pools.
|
|
110
104
|
*/
|
|
111
|
-
swapRoutingIn
|
|
105
|
+
private swapRoutingIn;
|
|
112
106
|
/**
|
|
113
107
|
* Calculates the input amount for a given output amount in a swap operation.
|
|
114
108
|
* @param {boolean} swap0to1 - Direction of the swap. True if swapping token0 for token1, false otherwise.
|
|
@@ -120,7 +114,7 @@ export declare class FluidDex extends SimpleExchange implements IDex<FluidDexDat
|
|
|
120
114
|
* @param {number} fee - The fee for the swap. 1e4 = 1%
|
|
121
115
|
* @returns {bigint} amountIn - The calculated input amount required for the swap.
|
|
122
116
|
*/
|
|
123
|
-
swapOut
|
|
117
|
+
private swapOut;
|
|
124
118
|
/**
|
|
125
119
|
* Calculates the input amount for a given output amount in a swap operation.
|
|
126
120
|
* @param {boolean} swap0to1 - Direction of the swap. True if swapping token0 for token1, false otherwise.
|
|
@@ -129,6 +123,5 @@ export declare class FluidDex extends SimpleExchange implements IDex<FluidDexDat
|
|
|
129
123
|
* @param {DebtReserves} debtReserves - The reserves of the debt pool.
|
|
130
124
|
* @returns {bigint} The calculated input amount required for the swap.
|
|
131
125
|
*/
|
|
132
|
-
swapOutAdjusted
|
|
133
|
-
private abs;
|
|
126
|
+
private swapOutAdjusted;
|
|
134
127
|
}
|