@paraswap/dex-lib 5.1.20 → 5.1.21
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/pancakeswap-infinity/cl-pool-manager.json +80 -0
- package/build/dex/bebop/bebop.d.ts +1 -0
- package/build/dex/bebop/bebop.js +3 -0
- package/build/dex/bebop/bebop.js.map +1 -1
- package/build/dex/curve-v1/curve-v1.d.ts +3 -1
- package/build/dex/curve-v1/curve-v1.js +19 -0
- package/build/dex/curve-v1/curve-v1.js.map +1 -1
- package/build/dex/curve-v1/forks/curve-forks/curve-forks.d.ts +1 -0
- package/build/dex/curve-v1/forks/curve-forks/curve-forks.js +3 -0
- package/build/dex/curve-v1/forks/curve-forks/curve-forks.js.map +1 -1
- package/build/dex/curve-v1-factory/constants.d.ts +3 -0
- package/build/dex/curve-v1-factory/constants.js +7 -1
- package/build/dex/curve-v1-factory/constants.js.map +1 -1
- package/build/dex/curve-v1-factory/curve-api-pools.d.ts +17 -0
- package/build/dex/curve-v1-factory/curve-api-pools.js +82 -0
- package/build/dex/curve-v1-factory/curve-api-pools.js.map +1 -0
- package/build/dex/curve-v1-factory/curve-v1-factory.d.ts +2 -1
- package/build/dex/curve-v1-factory/curve-v1-factory.js +19 -0
- package/build/dex/curve-v1-factory/curve-v1-factory.js.map +1 -1
- package/build/dex/curve-v1-factory/curve-v1-pool-manager.d.ts +1 -0
- package/build/dex/curve-v1-factory/curve-v1-pool-manager.js +5 -0
- package/build/dex/curve-v1-factory/curve-v1-pool-manager.js.map +1 -1
- package/build/dex/fluid-dex/scripts/measure-calc-time.js +178 -0
- package/build/dex/fluid-dex/scripts/measure-calc-time.js.map +1 -0
- package/build/dex/uniswap-v4/api-go/compare-pricing.d.ts +1 -0
- package/build/dex/uniswap-v4/api-go/compare-pricing.js +187 -0
- package/build/dex/uniswap-v4/api-go/compare-pricing.js.map +1 -0
- package/build/dex/uniswap-v4/api-go/compare-states.d.ts +1 -0
- package/build/dex/uniswap-v4/api-go/compare-states.js +149 -0
- package/build/dex/uniswap-v4/api-go/compare-states.js.map +1 -0
- package/build/dex/uniswap-v4/api-go/fetch-pool-key.d.ts +0 -0
- package/build/dex/uniswap-v4/api-go/fetch-pool-key.js +140 -0
- package/build/dex/uniswap-v4/api-go/fetch-pool-key.js.map +1 -0
- package/build/executor/__test-utils__/snapshot-test-helpers.d.ts +10 -0
- package/build/executor/__test-utils__/snapshot-test-helpers.js +72 -0
- package/build/executor/__test-utils__/snapshot-test-helpers.js.map +1 -0
- package/build/executor/address-utils.d.ts +2 -0
- package/build/executor/address-utils.js +7 -0
- package/build/executor/address-utils.js.map +1 -0
- package/build/executor/approval.d.ts +9 -0
- package/build/executor/approval.js +29 -0
- package/build/executor/approval.js.map +1 -0
- package/build/executor/encoding-context.d.ts +4 -0
- package/build/executor/encoding-context.js +54 -0
- package/build/executor/encoding-context.js.map +1 -0
- package/build/executor/encoding-types.d.ts +75 -0
- package/build/{dex/quick-perps/types.js → executor/encoding-types.js} +1 -1
- package/build/executor/encoding-types.js.map +1 -0
- package/build/executor/factory.d.ts +4 -0
- package/build/executor/factory.js +23 -0
- package/build/executor/factory.js.map +1 -0
- package/build/executor/route-plan.d.ts +8 -0
- package/build/executor/route-plan.js +109 -0
- package/build/executor/route-plan.js.map +1 -0
- package/build/generic-swap-transaction-builder/dex-encoder/direct-methods.d.ts +6 -0
- package/build/generic-swap-transaction-builder/dex-encoder/direct-methods.js +39 -0
- package/build/generic-swap-transaction-builder/dex-encoder/direct-methods.js.map +1 -0
- package/build/generic-swap-transaction-builder/dex-encoder/index.d.ts +4 -0
- package/build/generic-swap-transaction-builder/dex-encoder/index.js +21 -0
- package/build/generic-swap-transaction-builder/dex-encoder/index.js.map +1 -0
- package/build/generic-swap-transaction-builder/dex-encoder/ports.d.ts +26 -0
- package/build/{dex/maker-psm/types.js → generic-swap-transaction-builder/dex-encoder/ports.js} +1 -1
- package/build/generic-swap-transaction-builder/dex-encoder/ports.js.map +1 -0
- package/build/generic-swap-transaction-builder/dex-encoder/ts-adapter.d.ts +22 -0
- package/build/generic-swap-transaction-builder/dex-encoder/ts-adapter.js +299 -0
- package/build/generic-swap-transaction-builder/dex-encoder/ts-adapter.js.map +1 -0
- package/build/generic-swap-transaction-builder/dex-encoder/types.d.ts +207 -0
- package/build/generic-swap-transaction-builder/dex-encoder/types.js +194 -0
- package/build/generic-swap-transaction-builder/dex-encoder/types.js.map +1 -0
- package/build/generic-swap-transaction-builder/orchestration.d.ts +65 -0
- package/build/generic-swap-transaction-builder/orchestration.js +198 -0
- package/build/generic-swap-transaction-builder/orchestration.js.map +1 -0
- package/build/generic-swap-transaction-builder/resolved/build-transaction.d.ts +13 -0
- package/build/generic-swap-transaction-builder/resolved/build-transaction.js +343 -0
- package/build/generic-swap-transaction-builder/resolved/build-transaction.js.map +1 -0
- package/build/generic-swap-transaction-builder/resolved/index.d.ts +4 -0
- package/build/generic-swap-transaction-builder/resolved/index.js +21 -0
- package/build/generic-swap-transaction-builder/resolved/index.js.map +1 -0
- package/build/generic-swap-transaction-builder/resolved/route-plan.d.ts +2 -0
- package/build/generic-swap-transaction-builder/resolved/route-plan.js +11 -0
- package/build/generic-swap-transaction-builder/resolved/route-plan.js.map +1 -0
- package/build/generic-swap-transaction-builder/resolved/types.d.ts +67 -0
- package/build/generic-swap-transaction-builder/resolved/types.js.map +1 -0
- package/build/generic-swap-transaction-builder/resolved/validation.d.ts +10 -0
- package/build/generic-swap-transaction-builder/resolved/validation.js +69 -0
- package/build/generic-swap-transaction-builder/resolved/validation.js.map +1 -0
- package/package.json +13 -15
- package/build/abi/BProtocol.json +0 -1155
- package/build/abi/Jarvis.json +0 -1172
- package/build/abi/MStableAsset.json +0 -1545
- package/build/abi/OneInchLp.json +0 -1304
- package/build/abi/Onebit.json +0 -736
- package/build/abi/Shell.json +0 -1294
- package/build/abi/TraderJoeV2Router.json +0 -50
- package/build/abi/idle-dao/idle-cdo-factory.json +0 -38
- package/build/abi/idle-dao/idle-cdo.json +0 -1245
- package/build/abi/infusion/InfusionFactory.json +0 -147
- package/build/abi/infusion/InfusionPair.json +0 -658
- package/build/abi/infusion/InfusionRouter.json +0 -442
- package/build/abi/maker-psm/pot.json +0 -322
- package/build/abi/maker-psm/psm.json +0 -243
- package/build/abi/maker-psm/vat.json +0 -363
- package/build/abi/nomiswap-v2/nomiswap-v2-pool.json +0 -773
- package/build/abi/quick-perps/fast-price-events.json +0 -70
- package/build/abi/quick-perps/fast-price-feed.json +0 -741
- package/build/abi/quick-perps/reader.json +0 -313
- package/build/abi/quick-perps/vault-price-feed.json +0 -323
- package/build/abi/quick-perps/vault.json +0 -1953
- package/build/abi/uniswap-v2/excalibur-pool.json +0 -881
- package/build/abi/uniswap-v2/mdex-factory.json +0 -759
- package/build/abi/wUSDM.json +0 -757
- package/build/abi/zrx.v2.json +0 -1967
- package/build/abi/zrx.v3.json +0 -3454
- package/build/abi/zrx.v4.json +0 -2193
- package/build/dex/OneInchLp.d.ts +0 -24
- package/build/dex/OneInchLp.js +0 -43
- package/build/dex/OneInchLp.js.map +0 -1
- package/build/dex/bProtocol/bProtocol.d.ts +0 -15
- package/build/dex/bProtocol/bProtocol.js +0 -56
- package/build/dex/bProtocol/bProtocol.js.map +0 -1
- package/build/dex/bProtocol/types.d.ts +0 -11
- package/build/dex/bProtocol/types.js +0 -8
- package/build/dex/bProtocol/types.js.map +0 -1
- package/build/dex/ekubo/pools/base-pool.d.ts +0 -47
- package/build/dex/ekubo/pools/base-pool.js +0 -184
- package/build/dex/ekubo/pools/base-pool.js.map +0 -1
- package/build/dex/ekubo/pools/iface.d.ts +0 -46
- package/build/dex/ekubo/pools/iface.js +0 -75
- package/build/dex/ekubo/pools/iface.js.map +0 -1
- package/build/dex/ekubo/pools/math/price.d.ts +0 -7
- package/build/dex/ekubo/pools/math/price.js +0 -112
- package/build/dex/ekubo/pools/math/price.js.map +0 -1
- package/build/dex/ekubo/pools/oracle-pool.d.ts +0 -10
- package/build/dex/ekubo/pools/oracle-pool.js +0 -19
- package/build/dex/ekubo/pools/oracle-pool.js.map +0 -1
- package/build/dex/ekubo/pools/pool-utils.d.ts +0 -44
- package/build/dex/ekubo/pools/pool-utils.js +0 -240
- package/build/dex/ekubo/pools/pool-utils.js.map +0 -1
- package/build/dex/idle-dao/config.d.ts +0 -5
- package/build/dex/idle-dao/config.js +0 -24
- package/build/dex/idle-dao/config.js.map +0 -1
- package/build/dex/idle-dao/idle-dao.d.ts +0 -42
- package/build/dex/idle-dao/idle-dao.js +0 -279
- package/build/dex/idle-dao/idle-dao.js.map +0 -1
- package/build/dex/idle-dao/token_list.d.ts +0 -4
- package/build/dex/idle-dao/token_list.js +0 -289
- package/build/dex/idle-dao/token_list.js.map +0 -1
- package/build/dex/idle-dao/tokens.d.ts +0 -9
- package/build/dex/idle-dao/tokens.js +0 -68
- package/build/dex/idle-dao/tokens.js.map +0 -1
- package/build/dex/idle-dao/types.d.ts +0 -35
- package/build/dex/idle-dao/types.js +0 -11
- package/build/dex/idle-dao/types.js.map +0 -1
- package/build/dex/idle-dao/utils.d.ts +0 -8
- package/build/dex/idle-dao/utils.js +0 -149
- package/build/dex/idle-dao/utils.js.map +0 -1
- package/build/dex/infusion/config.d.ts +0 -3
- package/build/dex/infusion/config.js +0 -20
- package/build/dex/infusion/config.js.map +0 -1
- package/build/dex/infusion/infusion-stable-pool.d.ts +0 -4
- package/build/dex/infusion/infusion-stable-pool.js +0 -74
- package/build/dex/infusion/infusion-stable-pool.js.map +0 -1
- package/build/dex/infusion/infusion.d.ts +0 -51
- package/build/dex/infusion/infusion.js +0 -500
- package/build/dex/infusion/infusion.js.map +0 -1
- package/build/dex/infusion/types.d.ts +0 -45
- package/build/dex/infusion/types.js.map +0 -1
- package/build/dex/infusion/utils/isStablePair.d.ts +0 -2
- package/build/dex/infusion/utils/isStablePair.js +0 -18
- package/build/dex/infusion/utils/isStablePair.js.map +0 -1
- package/build/dex/jarvis.d.ts +0 -56
- package/build/dex/jarvis.js +0 -163
- package/build/dex/jarvis.js.map +0 -1
- package/build/dex/mStable.d.ts +0 -44
- package/build/dex/mStable.js +0 -75
- package/build/dex/mStable.js.map +0 -1
- package/build/dex/maker-psm/config.d.ts +0 -11
- package/build/dex/maker-psm/config.js +0 -53
- package/build/dex/maker-psm/config.js.map +0 -1
- package/build/dex/maker-psm/maker-psm.d.ts +0 -103
- package/build/dex/maker-psm/maker-psm.js +0 -493
- package/build/dex/maker-psm/maker-psm.js.map +0 -1
- package/build/dex/maker-psm/types.d.ts +0 -39
- package/build/dex/maker-psm/types.js.map +0 -1
- package/build/dex/onebit/onebit.d.ts +0 -16
- package/build/dex/onebit/onebit.js +0 -61
- package/build/dex/onebit/onebit.js.map +0 -1
- package/build/dex/onebit/types.d.ts +0 -14
- package/build/dex/onebit/types.js +0 -8
- package/build/dex/onebit/types.js.map +0 -1
- package/build/dex/quick-perps/config.d.ts +0 -11
- package/build/dex/quick-perps/config.js +0 -27
- package/build/dex/quick-perps/config.js.map +0 -1
- package/build/dex/quick-perps/fast-price-feed.d.ts +0 -26
- package/build/dex/quick-perps/fast-price-feed.js +0 -184
- package/build/dex/quick-perps/fast-price-feed.js.map +0 -1
- package/build/dex/quick-perps/pool.d.ts +0 -21
- package/build/dex/quick-perps/pool.js +0 -229
- package/build/dex/quick-perps/pool.js.map +0 -1
- package/build/dex/quick-perps/quick-perps.d.ts +0 -53
- package/build/dex/quick-perps/quick-perps.js +0 -247
- package/build/dex/quick-perps/quick-perps.js.map +0 -1
- package/build/dex/quick-perps/types.d.ts +0 -98
- package/build/dex/quick-perps/types.js.map +0 -1
- package/build/dex/quick-perps/usdq.d.ts +0 -15
- package/build/dex/quick-perps/usdq.js +0 -62
- package/build/dex/quick-perps/usdq.js.map +0 -1
- package/build/dex/quick-perps/vault-price-feed.d.ts +0 -43
- package/build/dex/quick-perps/vault-price-feed.js +0 -203
- package/build/dex/quick-perps/vault-price-feed.js.map +0 -1
- package/build/dex/quick-perps/vault-utils.d.ts +0 -8
- package/build/dex/quick-perps/vault-utils.js +0 -42
- package/build/dex/quick-perps/vault-utils.js.map +0 -1
- package/build/dex/quick-perps/vault.d.ts +0 -46
- package/build/dex/quick-perps/vault.js +0 -182
- package/build/dex/quick-perps/vault.js.map +0 -1
- package/build/dex/se-vlr/config.d.ts +0 -3
- package/build/dex/se-vlr/config.js +0 -24
- package/build/dex/se-vlr/config.js.map +0 -1
- package/build/dex/se-vlr/se-vlr-pool.d.ts +0 -39
- package/build/dex/se-vlr/se-vlr-pool.js +0 -70
- package/build/dex/se-vlr/se-vlr-pool.js.map +0 -1
- package/build/dex/se-vlr/se-vlr.d.ts +0 -35
- package/build/dex/se-vlr/se-vlr.js +0 -131
- package/build/dex/se-vlr/se-vlr.js.map +0 -1
- package/build/dex/se-vlr/types.d.ts +0 -6
- package/build/dex/se-vlr/types.js +0 -3
- package/build/dex/se-vlr/types.js.map +0 -1
- package/build/dex/shell.d.ts +0 -25
- package/build/dex/shell.js +0 -41
- package/build/dex/shell.js.map +0 -1
- package/build/dex/solidly/forks-override/aerodrome.d.ts +0 -14
- package/build/dex/solidly/forks-override/aerodrome.js +0 -46
- package/build/dex/solidly/forks-override/aerodrome.js.map +0 -1
- package/build/dex/solidly/forks-override/chronos.d.ts +0 -23
- package/build/dex/solidly/forks-override/chronos.js +0 -141
- package/build/dex/solidly/forks-override/chronos.js.map +0 -1
- package/build/dex/solidly/forks-override/usdfi.d.ts +0 -8
- package/build/dex/solidly/forks-override/usdfi.js +0 -15
- package/build/dex/solidly/forks-override/usdfi.js.map +0 -1
- package/build/dex/solidly/forks-override/velocimeter.d.ts +0 -23
- package/build/dex/solidly/forks-override/velocimeter.js +0 -77
- package/build/dex/solidly/forks-override/velocimeter.js.map +0 -1
- package/build/dex/tessera/types.d.ts +0 -3
- package/build/dex/tessera/types.js +0 -3
- package/build/dex/tessera/types.js.map +0 -1
- package/build/dex/trader-joe-v2.d.ts +0 -40
- package/build/dex/trader-joe-v2.js +0 -74
- package/build/dex/trader-joe-v2.js.map +0 -1
- package/build/dex/uniswap-v2/dfyn.d.ts +0 -19
- package/build/dex/uniswap-v2/dfyn.js +0 -61
- package/build/dex/uniswap-v2/dfyn.js.map +0 -1
- package/build/dex/uniswap-v2/excalibur.d.ts +0 -24
- package/build/dex/uniswap-v2/excalibur.js +0 -47
- package/build/dex/uniswap-v2/excalibur.js.map +0 -1
- package/build/dex/uniswap-v2/mdex.d.ts +0 -24
- package/build/dex/uniswap-v2/mdex.js +0 -50
- package/build/dex/uniswap-v2/mdex.js.map +0 -1
- package/build/dex/uniswap-v2/nomiswap-v2.d.ts +0 -24
- package/build/dex/uniswap-v2/nomiswap-v2.js +0 -57
- package/build/dex/uniswap-v2/nomiswap-v2.js.map +0 -1
- package/build/dex/uniswap-v3/scripts/bench-all-dexes.js +0 -160
- package/build/dex/uniswap-v3/scripts/bench-all-dexes.js.map +0 -1
- package/build/dex/uniswap-v3/uniswap-v3-new.d.ts +0 -94
- package/build/dex/uniswap-v3/uniswap-v3-new.js +0 -923
- package/build/dex/uniswap-v3/uniswap-v3-new.js.map +0 -1
- package/build/dex/uniswap-v4/contract-math/Position.d.ts +0 -3
- package/build/dex/uniswap-v4/contract-math/Position.js +0 -10
- package/build/dex/uniswap-v4/contract-math/Position.js.map +0 -1
- package/build/dex/usual-bond/config.d.ts +0 -3
- package/build/dex/usual-bond/config.js +0 -13
- package/build/dex/usual-bond/config.js.map +0 -1
- package/build/dex/usual-bond/types.d.ts +0 -7
- package/build/dex/usual-bond/types.js +0 -3
- package/build/dex/usual-bond/types.js.map +0 -1
- package/build/dex/usual-bond/usual-bond.d.ts +0 -35
- package/build/dex/usual-bond/usual-bond.js +0 -176
- package/build/dex/usual-bond/usual-bond.js.map +0 -1
- package/build/dex/wusdm/config.d.ts +0 -3
- package/build/dex/wusdm/config.js +0 -43
- package/build/dex/wusdm/config.js.map +0 -1
- package/build/dex/wusdm/constants.d.ts +0 -2
- package/build/dex/wusdm/constants.js +0 -6
- package/build/dex/wusdm/constants.js.map +0 -1
- package/build/dex/wusdm/types.d.ts +0 -18
- package/build/dex/wusdm/types.js +0 -11
- package/build/dex/wusdm/types.js.map +0 -1
- package/build/dex/wusdm/wusdm-pool.d.ts +0 -21
- package/build/dex/wusdm/wusdm-pool.js +0 -74
- package/build/dex/wusdm/wusdm-pool.js.map +0 -1
- package/build/dex/wusdm/wusdm.d.ts +0 -46
- package/build/dex/wusdm/wusdm.js +0 -243
- package/build/dex/wusdm/wusdm.js.map +0 -1
- package/build/dex/zerox/config.d.ts +0 -2
- package/build/dex/zerox/config.js +0 -33
- package/build/dex/zerox/config.js.map +0 -1
- package/build/dex/zerox/index.d.ts +0 -22
- package/build/dex/zerox/index.js +0 -225
- package/build/dex/zerox/index.js.map +0 -1
- package/build/dex/zerox/order.d.ts +0 -88
- package/build/dex/zerox/order.js +0 -53
- package/build/dex/zerox/order.js.map +0 -1
- package/build/dex/zerox/types.d.ts +0 -73
- package/build/dex/zerox/types.js +0 -21
- package/build/dex/zerox/types.js.map +0 -1
- /package/build/dex/{uniswap-v3/scripts/bench-all-dexes.d.ts → fluid-dex/scripts/measure-calc-time.d.ts} +0 -0
- /package/build/{dex/infusion → generic-swap-transaction-builder/resolved}/types.js +0 -0
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"inputs": [
|
|
4
|
+
{
|
|
5
|
+
"components": [
|
|
6
|
+
{
|
|
7
|
+
"internalType": "Currency",
|
|
8
|
+
"name": "currency0",
|
|
9
|
+
"type": "address"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"internalType": "Currency",
|
|
13
|
+
"name": "currency1",
|
|
14
|
+
"type": "address"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"internalType": "contract IHooks",
|
|
18
|
+
"name": "hooks",
|
|
19
|
+
"type": "address"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"internalType": "contract IPoolManager",
|
|
23
|
+
"name": "poolManager",
|
|
24
|
+
"type": "address"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"internalType": "uint24",
|
|
28
|
+
"name": "fee",
|
|
29
|
+
"type": "uint24"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"internalType": "bytes32",
|
|
33
|
+
"name": "parameters",
|
|
34
|
+
"type": "bytes32"
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"internalType": "struct PoolKey",
|
|
38
|
+
"name": "key",
|
|
39
|
+
"type": "tuple"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"components": [
|
|
43
|
+
{
|
|
44
|
+
"internalType": "bool",
|
|
45
|
+
"name": "zeroForOne",
|
|
46
|
+
"type": "bool"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"internalType": "int256",
|
|
50
|
+
"name": "amountSpecified",
|
|
51
|
+
"type": "int256"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"internalType": "uint160",
|
|
55
|
+
"name": "sqrtPriceLimitX96",
|
|
56
|
+
"type": "uint160"
|
|
57
|
+
}
|
|
58
|
+
],
|
|
59
|
+
"internalType": "struct ICLPoolManager.SwapParams",
|
|
60
|
+
"name": "params",
|
|
61
|
+
"type": "tuple"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"internalType": "bytes",
|
|
65
|
+
"name": "hookData",
|
|
66
|
+
"type": "bytes"
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
"name": "swap",
|
|
70
|
+
"outputs": [
|
|
71
|
+
{
|
|
72
|
+
"internalType": "BalanceDelta",
|
|
73
|
+
"name": "delta",
|
|
74
|
+
"type": "int256"
|
|
75
|
+
}
|
|
76
|
+
],
|
|
77
|
+
"stateMutability": "nonpayable",
|
|
78
|
+
"type": "function"
|
|
79
|
+
}
|
|
80
|
+
]
|
|
@@ -63,4 +63,5 @@ export declare class Bebop extends SimpleExchangeWithRestrictions implements IDe
|
|
|
63
63
|
getAllCachedPrices(): Promise<BebopPricingResponse | null>;
|
|
64
64
|
getCachedTokens(): Promise<TokenDataMap | null>;
|
|
65
65
|
releaseResources(): AsyncOrSync<void>;
|
|
66
|
+
minUsdTradeValue(): number;
|
|
66
67
|
}
|
package/build/dex/bebop/bebop.js
CHANGED
|
@@ -750,6 +750,9 @@ class Bebop extends simple_exchange_with_restrictions_1.SimpleExchangeWithRestri
|
|
|
750
750
|
this.rateFetcher.stop();
|
|
751
751
|
}
|
|
752
752
|
}
|
|
753
|
+
minUsdTradeValue() {
|
|
754
|
+
return 1;
|
|
755
|
+
}
|
|
753
756
|
}
|
|
754
757
|
exports.Bebop = Bebop;
|
|
755
758
|
const sleep = (time) => new Promise(resolve => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bebop.js","sourceRoot":"","sources":["../../../src/dex/bebop/bebop.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bebop.js","sourceRoot":"","sources":["../../../src/dex/bebop/bebop.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Interface } from '@ethersproject/abi';
|
|
2
2
|
import { NumberAsString, OptimalSwapExchange } from '@paraswap/core';
|
|
3
3
|
import BigNumber from 'bignumber.js';
|
|
4
|
-
import { AdapterExchangeParam, Address, DexExchangeParam, ExchangePrices, ExchangeTxInfo, PoolLiquidity, PoolPrices, PreprocessTransactionOptions, SimpleExchangeParam, Token, TransferFeeParams, TxInfo } from '../../types';
|
|
4
|
+
import { AdapterExchangeParam, Address, DexExchangeParam, ExchangePrices, ExchangeTxInfo, PoolLiquidity, PoolPrices, PoolReserves, PreprocessTransactionOptions, SimpleExchangeParam, Token, TransferFeeParams, TxInfo } from '../../types';
|
|
5
5
|
import { Network, SwapSide } from '../../constants';
|
|
6
6
|
import { CurvePool } from './pools/curve-pool';
|
|
7
7
|
import { CurveMetapool } from './pools/curve-metapool';
|
|
@@ -25,6 +25,7 @@ export declare class CurveV1 extends SimpleExchange implements IDex<CurveV1Data,
|
|
|
25
25
|
private decimalsCoinsAndUnderlying;
|
|
26
26
|
protected pools: Record<string, PoolConfig>;
|
|
27
27
|
protected allApiPools: ApiPool[];
|
|
28
|
+
protected curveApiSlug: string | null;
|
|
28
29
|
protected eventSupportedPools: string[];
|
|
29
30
|
protected baseTokens: Record<string, TokenWithReasonableVolume>;
|
|
30
31
|
protected disableFeeOnTransferTokenAddresses: Set<string>;
|
|
@@ -79,4 +80,5 @@ export declare class CurveV1 extends SimpleExchange implements IDex<CurveV1Data,
|
|
|
79
80
|
fetchAllApiPools(): Promise<void>;
|
|
80
81
|
updatePoolState(): Promise<void>;
|
|
81
82
|
getTopPoolsForToken(tokenAddress: Address, limit: number): Promise<PoolLiquidity[]>;
|
|
83
|
+
getPoolReserves(): Promise<PoolReserves[]>;
|
|
82
84
|
}
|
|
@@ -81,6 +81,7 @@ const encoder_1 = require("../../lib/curve/encoder");
|
|
|
81
81
|
const packer_1 = require("./packer");
|
|
82
82
|
const utils_2 = require("ethers/lib/utils");
|
|
83
83
|
const constants_3 = require("../curve-v1-factory/constants");
|
|
84
|
+
const curve_api_pools_1 = require("../curve-v1-factory/curve-api-pools");
|
|
84
85
|
const CURVE_DEFAULT_CHUNKS = 10;
|
|
85
86
|
const CURVE_LENDING_POOL_GAS = 340 * 1000;
|
|
86
87
|
const CURVE_POOL_GAS = 200 * 1000;
|
|
@@ -100,6 +101,9 @@ class CurveV1 extends simple_exchange_1.SimpleExchange {
|
|
|
100
101
|
decimalsCoinsAndUnderlying = {};
|
|
101
102
|
pools;
|
|
102
103
|
allApiPools = [];
|
|
104
|
+
// Curve API registry the configured pools live in. Forks of the protocol
|
|
105
|
+
// are not served by the API and set this to null.
|
|
106
|
+
curveApiSlug = constants_3.CURVE_API_MAIN_SLUG;
|
|
103
107
|
eventSupportedPools;
|
|
104
108
|
baseTokens;
|
|
105
109
|
disableFeeOnTransferTokenAddresses;
|
|
@@ -893,6 +897,21 @@ class CurveV1 extends simple_exchange_1.SimpleExchange {
|
|
|
893
897
|
.sort((a, b) => b.liquidityUSD - a.liquidityUSD)
|
|
894
898
|
.slice(0, limit);
|
|
895
899
|
}
|
|
900
|
+
// Enumerated mode. Balances come from the Curve API main registry
|
|
901
|
+
// (`coins[].poolBalance`) for the configured pools; pools the API does not
|
|
902
|
+
// list or marks broken are skipped.
|
|
903
|
+
async getPoolReserves() {
|
|
904
|
+
if (!this.curveApiSlug)
|
|
905
|
+
return [];
|
|
906
|
+
const apiPools = await (0, curve_api_pools_1.fetchCurveApiPools)(this.dexHelper, this.network, this.curveApiSlug, this.logger);
|
|
907
|
+
if (!apiPools)
|
|
908
|
+
return [];
|
|
909
|
+
return Object.values(this.pools).flatMap(pool => {
|
|
910
|
+
const apiPool = apiPools[pool.address.toLowerCase()];
|
|
911
|
+
const reserves = apiPool && (0, curve_api_pools_1.curveApiPoolReserves)(this.dexKey, apiPool, pool.coins);
|
|
912
|
+
return reserves ? [reserves] : [];
|
|
913
|
+
});
|
|
914
|
+
}
|
|
896
915
|
}
|
|
897
916
|
exports.CurveV1 = CurveV1;
|
|
898
917
|
//# sourceMappingURL=curve-v1.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"curve-v1.js","sourceRoot":"","sources":["../../../src/dex/curve-v1/curve-v1.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"curve-v1.js","sourceRoot":"","sources":["../../../src/dex/curve-v1/curve-v1.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAuE;AACvE,oDAAuB;AAEvB,iDAAuC;AACvC,gEAAqC;AACrC,sEAA4C;AAC5C,gFAAsD;AACtD,qCAAmD;AAiBnD,+CAMyB;AACzB,2EAA6D;AAC7D,iGAAoE;AAGpE,0CAAuE;AACvE,+CAAwE;AACxE,+CAAwE;AACxE,6CAAqE;AACrE,+CAAwE;AACxE,+CAAwE;AACxE,iDAA2E;AAC3E,+CAAwE;AACxE,+CAAwE;AACxE,+CAAwE;AACxE,+CAAwE;AACxE,+CAAwE;AACxE,qDAG6B;AAC7B,+CAAwE;AACxE,+CAAwE;AACxE,+CAAwE;AACxE,6CAAqE;AACrE,+CAAwE;AACxE,+CAAwE;AACxE,6CAAqE;AACrE,iDAA2E;AAC3E,uCASqB;AACrB,mEAAiD;AACjD,wDAG4B;AAI5B,iDAA4E;AAC5E,mEAA+D;AAE/D,mCAUiB;AACjB,iEAAwD;AACxD,qEAAgE;AAChE,2CAAwE;AACxE,qDAAwD;AACxD,qCAA6C;AAC7C,4CAAkE;AAClE,6DAIuC;AACvC,yEAG6C;AAE7C,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEhC,MAAM,sBAAsB,GAAG,GAAG,GAAG,IAAI,CAAC;AAC1C,MAAM,cAAc,GAAG,GAAG,GAAG,IAAI,CAAC;AAElC,MAAM,KAAK,GAAG,IAAI,cAAQ,EAAE,CAAC;AAE7B,MAAa,OACX,SAAQ,gCAAc;IAuCV;IAEA;IAGA;IAzCZ,uBAAuB,CAAY;IACnC,iBAAiB,GAAG,GAAG,CAAC;IAExB,UAAU,GAAG,IAAI,KAAK,EAA6B,CAAC;IAC5C,gBAAgB,GAGpB,EAAE,CAAC;IACA,aAAa,CAAY;IAExB,MAAM,CAAS;IAEd,4BAA4B,GAAG,KAAK,CAAC;IACrC,wBAAwB,GAAG,IAAI,CAAC;IAEjC,0BAA0B,GAA2B,EAAE,CAAC;IAEtD,KAAK,CAA6B;IAClC,WAAW,GAAc,EAAE,CAAC;IACtC,yEAAyE;IACzE,kDAAkD;IACxC,YAAY,GAAkB,+BAAmB,CAAC;IAClD,mBAAmB,CAAW;IAC9B,UAAU,CAA4C;IAEtD,kCAAkC,CAAc;IAEjD,eAAe,GAAG,IAAI,eAAS,CAAC,yBAAa,CAAC,CAAC;IAE/C,uBAAuB,GAAG,CAAC,CAAC;IAC5B,wBAAwB,GAAG,CAAC,CAAC;IAE/B,MAAM,CAAC,kBAAkB,GAC9B,IAAA,6BAAqB,EAAC,sBAAa,CAAC,CAAC;IAEvC,YACY,OAAgB,EAC1B,MAAc,EACJ,SAAqB,EAC/B,SAAS,GAAG,sBAAa,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAEhC,WAAW,iBAAQ,CAAC,OAAO,CAAC;QAEtC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAPf,YAAO,GAAP,OAAO,CAAS;QAEhB,cAAS,GAAT,SAAS,CAAY;QAGrB,aAAQ,GAAR,QAAQ,CAAoB;QAGtC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAE9C,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACb,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEtC,GAAG,CAAC,GAAG,CAAC,GAAG;gBACT,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBACzD,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC/C,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE;gBACvC,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;oBAC3B,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE;oBAClC,CAAC,CAAC,QAAQ,CAAC,SAAS;gBACtB,YAAY,EAAE,QAAQ,CAAC,YAAY;gBACnC,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,YAAY,EAAE,QAAQ,CAAC,YAAY;gBACnC,YAAY,EAAE,QAAQ,CAAC,YAAY;oBACjC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE;oBACrC,CAAC,CAAC,SAAS;gBACb,wBAAwB,EAAE,QAAQ,CAAC,wBAAwB;aAC5D,CAAC;YAEF,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAClE,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;QAEF,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,CAExD,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACb,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC5C,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG;gBACvB,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE;gBACxC,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;aAC7C,CAAC;YACF,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,IAAI,CAAC,kCAAkC;YACrC,SAAS,CAAC,kCAAkC;gBAC1C,CAAC,CAAC,IAAI,GAAG,CACL,KAAK,CAAC,IAAI,CACR,SAAS,CAAC,kCAAkC,CAAC,MAAM,EAAE,CACtD,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAClC;gBACH,CAAC,CAAC,IAAI,GAAG,EAAU,CAAC;QAExB,IAAI,CAAC,uBAAuB,GAAG,IAAI,eAAS,CAAC,oBAA0B,CAAC,CAAC;QAEzE,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE1C,IAAI,CAAC,aAAa,GAAG,IAAI,eAAS,CAAC,6BAAqB,CAAC,CAAC;IAC5D,CAAC;IAES,gBAAgB,CAAC,OAAgB;QACzC,OAAO,CACL,IAAI,CAAC,UAAU,CAAC,IAAI,CAClB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,OAAO,CAAC,WAAW,EAAE,CACtD,IAAI,IAAI,CACV,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,IAAW,EAAE,EAAS;QAClC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,cAAc,CAAC,IAAW,EAAE,EAAS;QACnC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAC/C,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAC3C,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE,CACvD,GAAG,CAAC,WAAW,EAAE,CAClB,CAAC;YACF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;YAEnE,qFAAqF;YACrF,IACE,UAAU,CAAC,MAAM;gBACjB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;oBAChE,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;gBAEpE,OAAO,IAAI,CAAC;YACd,6EAA6E;YAC7E,IACE,MAAM,CAAC,SAAS;gBAChB,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAC9B,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAEhC,OAAO,IAAI,CAAC;YAEd,iDAAiD;YACjD,OAAO,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,KAAY,EACZ,GAAU,EACV,IAAc,EACd,WAAmB;QAEnB,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC9C,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,oBAAoB;QAClB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,QAAgB,EAAE,EAAE;YACnE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACvE,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;IAED,gEAAgE;IAChE,gBAAgB,CACd,IAAW,EACX,EAAS,EACT,SAAiB,EACjB,aAAqB;QAErB,OAAO,oBAAoB,CAAC;QAC5B,0DAA0D;QAC1D,mBAAmB;QACnB,2BAA2B;IAC7B,CAAC;IAED,oBAAoB,CAAC,WAAoB;QACvC,QAAQ,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC;YAClC,KAAK,gBAAgB;gBACnB,OAAO,IAAI,kBAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACpD,KAAK,kBAAe;gBAClB,OAAO,IAAI,mBAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACnD,KAAK,kBAAe;gBAClB,OAAO,IAAI,mBAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACnD,KAAK,iBAAc;gBACjB,OAAO,IAAI,iBAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAClD,KAAK,kBAAe;gBAClB,OAAO,IAAI,mBAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACnD,KAAK,kBAAe;gBAClB,OAAO,IAAI,mBAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACnD,KAAK,mBAAgB;gBACnB,OAAO,IAAI,qBAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACpD,KAAK,kBAAe;gBAClB,OAAO,IAAI,mBAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACnD,KAAK,kBAAe;gBAClB,OAAO,IAAI,mBAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACnD,KAAK,kBAAe;gBAClB,OAAO,IAAI,mBAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACnD,KAAK,kBAAe;gBAClB,OAAO,IAAI,mBAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACnD,KAAK,kBAAe;gBAClB,OAAO,IAAI,mBAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACnD,KAAK,qBAAkB;gBACrB,OAAO,IAAI,yBAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACtD,KAAK,kBAAe;gBAClB,OAAO,IAAI,mBAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACnD,KAAK,kBAAe;gBAClB,OAAO,IAAI,mBAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACnD,KAAK,kBAAe;gBAClB,OAAO,IAAI,mBAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACnD,KAAK,iBAAc;gBACjB,OAAO,IAAI,iBAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAClD,KAAK,kBAAe;gBAClB,OAAO,IAAI,mBAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACnD,KAAK,kBAAe;gBAClB,OAAO,IAAI,mBAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACnD,KAAK,iBAAc;gBACjB,OAAO,IAAI,iBAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAClD,KAAK,mBAAgB;gBACnB,OAAO,IAAI,qBAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACpD;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IAED,4FAA4F;IAC5F,6FAA6F;IAC7F,iFAAiF;IACjF,KAAK,CAAC,iBAAiB,CACrB,aAAuB,EACvB,WAAmB;QAEnB,MAAM,gBAAgB,GAAG,IAAI,KAAK,EAAU,CAAC;QAC7C,IAAI,CAAC,WAAW;YAAE,OAAO,gBAAgB,CAAC;QAE1C,oEAAoE;QACpE,MAAM,WAAW,GAAkC,EAAE,CAAC;QACtD,MAAM,eAAe,GAA6C,EAAE,CAAC;QAErE,KAAK,MAAM,WAAW,IAAI,aAAa,EAAE,CAAC;YACxC,IAAI,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;gBAAE,SAAS;YAEjD,MAAM,GAAG,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;YACtC,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACnD,IAAI,eAAe,EAAE,CAAC;gBACpB,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBACtC,SAAS;YACX,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;YACvD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CACb,SAAS,IAAI,CAAC,MAAM,kDAAkD,WAAW,EAAE,CACpF,CAAC;YACJ,CAAC;YAED,MAAM,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC9D,CAAC,CAAC,WAAW,EAAE,CAChB,CAAC;YACF,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/C,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAChD,CAAC;YAED,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;QAED,wEAAwE;QACxE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAC1E,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC/B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,GAAG,YAAY,CAAC;YACnE,CAAC;YACD,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACrC,CAAC;QAED,oDAAoD;QACpD,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC;YAChD,MAAM,CAAC,CAAC;QACV,CAAC;gBAAS,CAAC;YACT,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC/B,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,oCAAoC;QACpC,KAAK,MAAM,WAAW,IAAI,aAAa,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAChD,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACzC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QAED,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,KAAoC,EACpC,WAAmB;QAEnB,MAAM,UAAU,GAAG,MAAM,IAAA,sCAAiB,EACxC,KAAK,EACL,IAAI,CAAC,SAAS,CAAC,aAAa,EAC5B,WAAW,CACZ,CAAC;QAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE;gBACrC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAQ;aAC5B,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,SAAgB,EAChB,OAAc,EACd,OAAoB,EACpB,cAAsB,EACtB,KAAe,EACf,OAAmC,EACnC,WAAmB;QAEnB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAE1E,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,2BAA2B,gBAAgB,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,SAAS,CAC3E,CAAC;YACF,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,KAAK,CAAC,CAAC,CAAC,GAAG;gBACT,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;gBAClB,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAC3B,KAAK,CAAC,CAAC,CAAC,EACR,OAAO,CAAC,CAAC,CAAC,EACV,OAAO,EACP,cAAc,EACd,WAAW,CACZ;aACF,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,SAAgB,EAChB,OAAc,EACd,OAAiB,EACjB,KAAe,EACf,OAAmC,EACnC,WAAmB;QAEnB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QAClC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAE,CAAC;QAEnC,oEAAoE;QACpE,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CACzC,SAAS,EACT,OAAO,EACP,SAAS,EACT,MAAM,CACP,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC;QAElD,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC9B,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAEhB,MAAM,QAAQ,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,CAClC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CACzC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAC/B,CACF,CAAC;QAEF,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAClC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACvB,MAAM,EAAE,CAAC;YACT,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAC7C,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,EACpD,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CACxC;SACF,CAAC,CAAC,CACJ,CAAC;QAEF,uCAAuC;QACvC,yCAAyC;QACzC,wBAAwB;QACxB,MAAM,IAAI,GAAG,CACX,MAAM,OAAO,CAAC,GAAG,CACf,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAC,YAAY,EAAC,EAAE;YAChC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,aAAK,CAAC,cAAc,CACvC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO;qBACjC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC;qBACjC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,EACrB,IAAI,EACJ,sCAAsC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAC/D,CAAC;gBACF,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACrB,OAAO,KAAK,CAAmB,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;oBACvD,OAAO,EAAE,KAAK;oBACd,UAAU,EAAE,IAAI;iBACjB,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CACH,CACF,CAAC,IAAI,EAAE,CAAC;QAET,iFAAiF;QACjF,MAAM,aAAa,GAAG,CAAC,EAAY,EAAY,EAAE,CAAC;YAChD,EAAE,CAAC,CAAC,CAAC;YACL,GAAG,IAAA,mBAAW,EACZ,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EACjB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAChB,oBAAQ,CAAC,IAAI,CACd;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE;YAC3B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO;gBAAE,OAAO,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC9D,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvC,CAAC,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,+CAA+C;QAC/C,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7C,OAAO;gBACL,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC;gBAC3B,QAAQ,EAAE,CAAC;aACZ,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,aAAa,CAAC;IACvB,CAAC;IAES,WAAW,CAAC,MAAmB,EAAE,KAAa;QACtD,OAAO,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,0BAAI,CAAC,CAAC;IACjD,CAAC;IAED,iBAAiB,CACf,QAAgB,EAChB,YAAsB,EACtB,OAAoB,EACpB,cAAsB,EACtB,WAAmB;QAEnB,IAAI,KAAK,GAAG,IAAI,KAAK,CAAY,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,0BAAI,CAAC,CAAC;QAE5D,IAAI,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAExC,IAAI,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CACb,SAAS,IAAI,CAAC,MAAM,wCAAwC,CAC7D,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK;YACR,MAAM,IAAI,KAAK,CACb,SAAS,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,kCAAkC,WAAW,YAAY,CAC3F,CAAC;QAEJ,IAAI,WAAW,EAAE,CAAC;YAChB,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAC/B,SAAS,EACT,OAAO,EACP,OAAO,CAAC,CAAC,CAAC,EACV,KAAY,CACb,CAAC;YAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;oBACnC,CAAC,CAAC,0BAAI;oBACN,CAAC,CAAC,IAAI,CAAC,iBAAiB,CACpB,SAAS,EACT,OAAO,EACP,OAAO,CAAC,CAAC,CAAC,EACV,KAAY,CACb,CAAC;YACR,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,KAAY,CAAC,CAAC;YAErE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;oBACnC,CAAC,CAAC,0BAAI;oBACN,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,KAAY,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAED,IAAI,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,oBAAoB,CAAC,WAAoB;QACvC,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7E,CAAC;IAEM,iBAAiB,CAAC,IAAY;QACnC,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,KAAY,EACZ,GAAU,EACV,OAAiB,EACjB,IAAc,EACd,WAAmB;IACnB,0EAA0E;IAC1E,UAAqB,EACrB,eAAkC;QAChC,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,CAAC;QACZ,UAAU,EAAE,CAAC;KACd;QAED,IAAI,CAAC;YACH,IAAI,IAAI,KAAK,oBAAQ,CAAC,GAAG,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAC;YACd,CAAC;YAED,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC5C,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAExC,MAAM,mCAAmC,GACvC,IAAI,CAAC,kCAAkC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;gBACxD,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAA,0CAAkC,EAAC,YAAY,CAAC,CAAC;YAEvD,MAAM,oCAAoC,GACxC,IAAI,CAAC,kCAAkC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;gBACtD,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAA,2CAAmC,EAAC,YAAY,CAAC,CAAC;YAExD,4FAA4F;YAC5F,uEAAuE;YACvE,yCAAyC;YACzC,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBACjE,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC1C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;wBAC7B,OAAO,KAAK,CAAC;oBACf,CAAC;gBACH,CAAC;gBAED,IAAI,mCAAmC,EAAE,CAAC;oBACxC,yDAAyD;oBACzD,OAAO,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC;gBACtC,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,MAAM,eAAe,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5D,MAAM,gBAAgB,GAAG,eAAe,CAAC,MAAM,CAC7C,CAAC,GAAoD,EAAE,EAAE,EAAE,EAAE;gBAC3D,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;gBACtD,OAAO,GAAG,CAAC;YACb,CAAC,EACD,EAAE,CACH,CAAC;YAEF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjC,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,eAAe,GAAG;gBACtB,IAAA,oBAAY,EAAC,KAAK,CAAC,QAAQ,CAAC;gBAC5B,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;aACpB,CAAC;YACF,MAAM,qBAAqB,GAAG,mCAAmC;gBAC/D,CAAC,CAAC,IAAA,qCAAgB,EACd,IAAA,qCAAgB,EACd,eAAe,EACf,IAAI,EACJ,YAAY,CAAC,MAAM,EACnB,wCAA4B,CAC7B,EACD,IAAI,EACJ,YAAY,CAAC,SAAS,EACtB,IAAI,CAAC,uBAAuB,CAC7B;gBACH,CAAC,CAAC,eAAe,CAAC;YAEpB,IAAI,OAAO,GAAG,IAAI,KAAK,EAAE,CAAC;YAE1B,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAC5C,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAC7B,CAAC;YACF,MAAM,gBAAgB,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC;YACpE,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAChD,KAAK,EACL,GAAG,EACH,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,sBAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAC3D,KAAK,CAAC,QAAQ,EACd,UAAU,EACV,gBAAgB,EAChB,WAAW,CACZ,CAAC;gBACF,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACzC,CAAC;YAED,gGAAgG;YAChG,MAAM,iBAAiB,GAAG,CAAC,WAAoB,EAAE,EAAE,CACjD,CAAC,OAAO,CAAC,IAAI,CACX,aAAa,CAAC,EAAE,CACd,aAAa,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,WAAW,EAAE,CACrE,CAAC;YACJ,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAE/D,MAAM,kBAAkB,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC;YAExE,qEAAqE;YACrE,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;gBACxB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,CAC9C,KAAK,EACL,GAAG,EACH,qBAAqB,EACrB,YAAY,EACZ,kBAAkB,EAClB,WAAW,CACZ,CAAC;gBACF,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAC1C,CAAC;YAED,MAAM,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAEzD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAC/B,CAAC,GAA8B,EAAE,MAAW,EAAE,GAAW,EAAE,EAAE;gBAC3D,IACE,MAAM,CAAC,QAAQ,KAAK,wBAAY;oBAChC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,oBAAoB,CAAC;oBAExD,OAAO,GAAG,CAAC;gBAEb,MAAM,UAAU,GACd,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;gBACtD,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;gBAC5D,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC;gBAEjC,IAAI,oCAAoC,EAAE,CAAC;oBACzC,MAAM,CAAC,KAAK,GAAG,IAAA,qCAAgB,EAC7B,MAAM,CAAC,KAAK,EACZ,IAAI,EACJ,YAAY,CAAC,UAAU,EACvB,IAAI,CAAC,wBAAwB,CAC9B,CAAC;gBACJ,CAAC;gBAED,GAAG,CAAC,IAAI,CAAC;oBACP,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACtC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;oBACrB,IAAI,EAAE;wBACJ,QAAQ,EAAE,MAAM,CAAC,QAAQ;wBACzB,CAAC;wBACD,CAAC;wBACD,cAAc,EAAE,QAAQ,KAAK,CAAC;wBAC9B,QAAQ,EAAE,CAAC;qBACZ;oBACD,QAAQ,EAAE,IAAI,CAAC,MAAM;oBACrB,eAAe,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBAC1D,OAAO,EAAE,UAAU,CAAC,SAAS;wBAC3B,CAAC,CAAC,sBAAsB;wBACxB,CAAC,CAAC,cAAc;oBAClB,aAAa,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;iBACjC,CAAC,CAAC;gBACH,OAAO,GAAG,CAAC;YACb,CAAC,EACD,EAAE,CACH,CAAC;YACF,OAAO,UAAU,CAAC;QACpB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,WAAW,KAAK,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,SAAS,IAAI,CAAC,MAAM,yDAAyD,CAC9E,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,MAAM,YAAY,EAAE,CAAC,CAAC,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,cAAc,CACZ,IAAW,EACX,EAAS,EACT,IAAiB;QAEjB,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAC/C,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,gBAAgB,GACpB,IAAI,CAAC,UAAU,CAAC,MAAM;YACtB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC;YAC1D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,CAAC;QAE3D,MAAM,SAAS,GAAG,gBAAgB;YAChC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC;YACjE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,CAAC;QAE/D,MAAM,OAAO,GAAG,gBAAgB;YAC9B,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC;YAC/D,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,CAAC;QAE7D,MAAM,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1C,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,eAAe,CACb,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAiB,EACjB,IAAc;QAEd,IAAI,IAAI,KAAK,oBAAQ,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAEhE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAC3C;YACE,YAAY,EAAE;gBACZ,CAAC,EAAE,QAAQ;gBACX,CAAC,EAAE,QAAQ;gBACX,QAAQ,EAAE,SAAS;gBACnB,cAAc,EAAE,MAAM;aACvB;SACF,EACD,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,CACnC,CAAC;QAEF,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,QAAQ;YAC7B,OAAO;YACP,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,UAAmC;QACpD,OAAO,CACL,iBAAiB,CAAC,YAAY;YAC9B,iBAAiB,CAAC,YAAY;YAC9B,iBAAiB,CAAC,KAAK;YACvB,iBAAiB,CAAC,KAAK;YACvB,iBAAiB,CAAC,SAAS;YAC3B,iBAAiB,CAAC,IAAI,CACvB,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,IAAc;QACxB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,qBAAqB;QAC1B,OAAO,CAAC,8BAAkB,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,mBAAqD,EACrD,QAAe,EACf,EAAS,EACT,EAAY,EACZ,OAAqC;QAErC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAC5B,OAAO;gBACL,mBAAmB;gBACnB;oBACE,QAAQ,EAAE,MAAM,CAAC,IAAA,uDAAqC,GAAE,CAAC;iBAC1D;aACF,CAAC;QACJ,CAAC;QAED,IAAA,sBAAM,EACJ,mBAAmB,CAAC,IAAI,KAAK,SAAS,EACtC,8CAA8C,CAC/C,CAAC;QAEF,IAAI,UAA+B,CAAC;QAEpC,IAAI,CAAC;YACH,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,WAAW,CAC7D,OAAO,CAAC,wBAAwB,EAChC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,EAC/C,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAClC,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,2DAA2D,EAC3D,CAAC,CACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL;gBACE,GAAG,mBAAmB;gBACtB,IAAI,EAAE;oBACJ,GAAG,mBAAmB,CAAC,IAAI;oBAC3B,UAAU;iBACX;aACF;YACD;gBACE,QAAQ,EAAE,MAAM,CAAC,IAAA,uDAAqC,GAAE,CAAC;aAC1D;SACF,CAAC;IACJ,CAAC;IAED,cAAc,CACZ,QAAiB,EACjB,SAAkB,EAClB,SAAyB,EACzB,UAA0B,EAC1B,cAA8B,EAC9B,IAAiB,EACjB,IAAc,EACd,MAAc,EACd,IAAY,EACZ,UAA0B,EAC1B,QAAwB,EACxB,OAAe,EACf,WAAmB,EACnB,cAAsB;QAEtB,IAAI,cAAc,KAAK,8BAAkB,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,2BAA2B,cAAc,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,IAAA,sBAAM,EAAC,IAAI,KAAK,oBAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAEpD,IAAI,UAAU,GAAY,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QAC5C,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,UAAU,GAAuB;YACrC,QAAQ;YACR,SAAS;YACT,IAAI,CAAC,QAAQ;YACb,SAAS;YACT,UAAU;YACV,cAAc;YACd,UAAU;YACV,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;YACjB,OAAO;YACP,UAAU;YACV,IAAI,CAAC,cAAc;gBACjB,CAAC,CAAC,uBAAe,CAAC,mBAAmB;gBACrC,CAAC,CAAC,uBAAe,CAAC,QAAQ;YAC5B,WAAW;YACX,gEAAgE;YAChE,KAAK;YACL,MAAM;YACN,IAAA,qBAAa,EAAC,IAAI,CAAC;SACpB,CAAC;QAEF,MAAM,OAAO,GAAG,CAAC,GAAG,MAA0B,EAAE,EAAE;YAChD,OAAO,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,8BAAkB,EAAE;gBACjE,MAAM;aACP,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,OAAO;YACP,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,gBAAgB,CACd,QAAiB,EACjB,SAAkB,EAClB,UAA0B,EAC1B,QAAwB,EACxB,YAA4B,EAC5B,IAAiB,EACjB,IAAc,EACd,MAAc,EACd,IAAY,EACZ,aAAqB,EACrB,WAAmB,EACnB,WAAmB,EACnB,cAAsB;QAEtB,IAAI,cAAc,KAAK,iCAAqB,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,2BAA2B,cAAc,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,IAAA,sBAAM,EAAC,IAAI,KAAK,oBAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAEpD,MAAM,QAAQ,GAAG,IAAA,iBAAS,EAAC;YACzB,IAAA,kBAAU,EAAC,IAAA,qBAAa,EAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACnC,IAAA,kBAAU,EAAC,IAAA,eAAO,EAAC,WAAW,CAAC,EAAE,EAAE,CAAC;SACrC,CAAC,CAAC;QAEH,MAAM,UAAU,GAAyB;YACvC,IAAA,uBAAa,EACX,IAAI,CAAC,QAAQ,EACb,CAAC,IAAI,CAAC,UAAU,EAAE,iDAAiD;YACnE,IAAA,oBAAY,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,oBAAY,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC5D,IAAI,CAAC,cAAc;gBACjB,CAAC,CAAC,uBAAe,CAAC,mBAAmB;gBACrC,CAAC,CAAC,uBAAe,CAAC,QAAQ,CAC7B,CAAC,QAAQ,EAAE;YACZ,IAAA,0BAAiB,EAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YAC5C,QAAQ;YACR,SAAS;YACT,UAAU;YACV,QAAQ;YACR,YAAY;YACZ,QAAQ;YACR,WAAW;SACZ,CAAC;QAEF,MAAM,YAAY,GAAsB,CAAC,UAAU,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;QAE5E,MAAM,OAAO,GAAG,CAAC,GAAG,MAAyB,EAAE,EAAE;YAC/C,OAAO,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAChD,iCAAqB,EACrB,CAAC,GAAG,MAAM,CAAC,CACZ,CAAC;QACJ,CAAC,CAAC;QAEF,OAAO;YACL,OAAO;YACP,MAAM,EAAE,YAAY;YACpB,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,uBAAuB;QAC5B,OAAO,CAAC,iCAAqB,CAAC,CAAC;IACjC,CAAC;IAED,WAAW,CACT,QAAiB,EACjB,SAAkB,EAClB,SAAyB,EACzB,UAA0B,EAC1B,SAAkB,EAClB,IAAiB,EACjB,IAAc;QAEd,IAAI,IAAI,KAAK,oBAAQ,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAEhE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;QAChD,MAAM,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9D,MAAM,UAAU,GAAG,cAAc;YAC/B,CAAC,CAAC,0BAAkB,CAAC,mBAAmB;YACxC,CAAC,CAAC,0BAAkB,CAAC,QAAQ,CAAC;QAChC,MAAM,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CAClE,UAAU,EACV,WAAW,CACZ,CAAC;QAEF,OAAO;YACL,YAAY;YACZ,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,kCAAkC,EAAE,IAAI;YACxC,mBAAmB,EAAE,KAAK;YAC1B,cAAc,EAAE,QAAQ;YACxB,eAAe,EAAE,SAAS;SAC3B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAiB,EACjB,IAAc;QAEd,IAAI,IAAI,KAAK,oBAAQ,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAEhE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;QAChD,MAAM,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9D,MAAM,UAAU,GAAG,cAAc;YAC/B,CAAC,CAAC,0BAAkB,CAAC,mBAAmB;YACxC,CAAC,CAAC,0BAAkB,CAAC,QAAQ,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CAC9D,UAAU,EACV,WAAW,CACZ,CAAC;QAEF,OAAO,IAAI,CAAC,qCAAqC,CAC/C,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,QAAQ,EACR,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,KAAK,IAAI,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACrD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,CACpD,SAAS,EACT,SAAS,CAAC,gBAAgB,CAC3B,CAAC;YAEF,MAAM,WAAW,GACf,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC,QAAQ,CAAC;YAEhE,SAAS,CAAC,UAAU,GAAG,QAAQ,GAAG,WAAW,CAAC;QAChD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAC5C,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACZ,MAAM,uBAAuB,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAEpD,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;gBACjB,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;gBACnC,IAAI,KAAK,KAAK,yBAAa,EAAE,CAAC;oBAC5B,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;gBAC9C,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,IAAI,CAAC;wBACR,MAAM,EAAE,KAAK;wBACb,QAAQ,EAAE,6BAAU,CAAC,kBAAkB,CAAC,UAAU,CAAC;wBACnD,cAAc,EAAE,4BAAiB;wBACjC,EAAE,EAAE,CAAC,QAAgB,EAAE,EAAE;4BACvB,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,GAAG,QAAQ,CAAC;wBAClE,CAAC;qBACF,CAAC,CAAC;gBACL,CAAC;gBAED,OAAO,IAAI,CAAC;YACd,CAAC,EAAE,EAAE,CAAC,CAAC;YAEP,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAC1C,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACd,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;gBACjC,IAAI,IAAI,KAAK,yBAAa,EAAE,CAAC;oBAC3B,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7C,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,IAAI,CAAC;wBACR,MAAM,EAAE,IAAI;wBACZ,QAAQ,EAAE,6BAAU,CAAC,kBAAkB,CAAC,UAAU,CAAC;wBACnD,cAAc,EAAE,4BAAiB;wBACjC,EAAE,EAAE,CAAC,QAAgB,EAAE,EAAE;4BACvB,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gCACjD,QAAQ,CAAC;wBACb,CAAC;qBACF,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,EACD,EAAE,CACH,CAAC;YAEF,GAAG,CAAC,IAAI,CAAC,GAAG,uBAAuB,EAAE,GAAG,kBAAkB,CAAC,CAAC;YAC5D,OAAO,GAAG,CAAC;QACb,CAAC,EACD,EAAE,CACH,CAAC;QAEF,OAAO,IAAI,CAAC,SAAS,CAAC,YAAa,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,IAAI,CAAC;YACH,oFAAoF;YACpF,yEAAyE;YACzE,0DAA0D;YAC1D,gEAAgE;YAChE,sCAAsC;YACtC,0DAA0D;YAC1D,+DAA+D;YAE/D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAC5C,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACZ,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA0B,IAAI,CAAC,EAAE;oBAC/D,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;oBACzC,IAAI,aAAa,KAAK,yBAAa,EAAE,CAAC;wBACpC,OAAO;4BACL,MAAM,EACJ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE;4BAC7D,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO;iCAC3C,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;iCACzC,SAAS,EAAE;4BACd,cAAc,EAAE,8BAAmB;yBACpC,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,OAAO;4BACL,MAAM,EAAE,aAAa;4BACrB,QAAQ,EAAE,6BAAU,CAAC,kBAAkB,CAAC,WAAW,EAAE;gCACnD,IAAI,CAAC,OAAO;6BACb,CAAC;4BACF,cAAc,EAAE,8BAAmB;yBACpC,CAAC;oBACJ,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;gBACvB,OAAO,GAAG,CAAC;YACb,CAAC,EACD,EAAE,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAa,CAAC,YAAY,CAC7D,IAAI,EACJ,KAAK,CACN,CAAC;YAEF,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACjE,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;gBAE3B,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;oBACvD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;oBACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;oBAEvD,OAAO,GAAG,GAAG,OAAO,CAAC,UAAU,GAAG,EAAE,IAAI,QAAQ,CAAC;gBACnD,CAAC,EAAE,CAAC,CAAC,CAAC;gBAEN,IAAI,YAAY,GAAG,CAAC,CAAC;gBACrB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBACnB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;wBACrC,MAAM,IAAI,KAAK,CACb,sBAAsB,IAAI,CAAC,SAAS,QAAQ,IAAI,CAAC,MAAM,EAAE,CAC1D,CAAC;oBACJ,CAAC;oBACD,YAAY;wBACV,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,UAAW,CAAC,CAAC;gBACvE,CAAC;gBAED,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;YACnC,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;YACrD,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,OAAO,GAAG,yBAAa,CAAC;QAC9B,MAAM,WAAW,GAAG,8BAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,GAAG,GAAG,GAAG,OAAO,IAAI,WAAW,EAAE,CAAC;QAExC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAGlD,GAAG,CAAC,CAAC;YAER,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAClD,GAAG,CAAC;oBACJ,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE;iBACjC,CAAC,CAAC,CAAC;YACN,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,oBAAoB,IAAI,CAAC,MAAM,OAAO,GAAG,iCAAiC,CAC3E,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,MAAM,EAAE,CAAC;YACzD,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC7B,CAAC;QAED,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAClC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3B,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,YAAqB,EACrB,KAAa;QAEb,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;YACpD,OAAO,EAAE,YAAY;YACrB,QAAQ,EAAE,EAAE;SACb,CAAC,CAAC,OAAO,CAAC;QACX,4DAA4D;QAC5D,sEAAsE;QACtE,iEAAiE;QACjE,4CAA4C;QAC5C,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CACnD,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACZ,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAC7B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,aAAa,CAAC,WAAW,EAAE,CAC/D,CAAC;YACF,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CACvC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,aAAa,CAAC,WAAW,EAAE,CAC/D,CAAC;YACF,IAAI,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,eAAe,GAAG,YAAY;gBAC5B,CAAC,CAAC,gBAAC,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC;gBAC5C,CAAC,CAAC,eAAe,CAAC;YAEpB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CACnC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAC9C,CAAC;YAEF,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,gBAAgB,IAAI,CAAC,OAAO,4DAA4D,CACzF,CAAC;gBACF,OAAO,GAAG,CAAC;YACb,CAAC;YAED,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;gBAC3B,GAAG,CAAC,IAAI,CAAC;oBACP,QAAQ,EAAE,IAAI,CAAC,MAAM;oBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,YAAY,EAAE,OAAO,EAAE,QAAQ,IAAI,IAAI,CAAC,YAAa;oBACrD,eAAe,EAAE,gBAAC,CAAC,IAAI,CAAC,eAAe,CAAC;yBACrC,MAAM,CACL,CAAC,MAAc,EAAE,EAAE,CACjB,MAAM,CAAC,WAAW,EAAE,KAAK,aAAa,CAAC,WAAW,EAAE,CACvD;yBACA,GAAG,CAAC,YAAY,CAAC,EAAE;wBAClB,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;wBAC3C,OAAO;4BACL,OAAO;4BACP,QAAQ,EAAE,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC;yBACnD,CAAC;oBACJ,CAAC,CAAC;iBACL,CAAC,CAAC;YACL,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EACD,EAAE,CACH,CAAC;QACF,OAAO,YAAY;aAChB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;aAC/C,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,kEAAkE;IAClE,2EAA2E;IAC3E,oCAAoC;IACpC,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,EAAE,CAAC;QAElC,MAAM,QAAQ,GAAG,MAAM,IAAA,oCAAkB,EACvC,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,MAAM,CACZ,CAAC;QACF,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAC;QAEzB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YACrD,MAAM,QAAQ,GACZ,OAAO,IAAI,IAAA,sCAAoB,EAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACpE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;;AA9vCH,0BA+vCC"}
|
|
@@ -4,6 +4,7 @@ import { Network } from '../../../../constants';
|
|
|
4
4
|
import { IDexHelper } from '../../../../dex-helper';
|
|
5
5
|
export declare class CurveFork extends CurveV1 {
|
|
6
6
|
protected network: Network;
|
|
7
|
+
protected curveApiSlug: null;
|
|
7
8
|
static dexKeysWithNetwork: {
|
|
8
9
|
key: string;
|
|
9
10
|
networks: Network[];
|
|
@@ -11,6 +11,9 @@ const StableSwap3Pool_json_1 = __importDefault(require("../../../../abi/curve-v1
|
|
|
11
11
|
const config_1 = require("./config");
|
|
12
12
|
class CurveFork extends curve_v1_1.CurveV1 {
|
|
13
13
|
network;
|
|
14
|
+
// Ellipsis, Acryptos etc. are not Curve deployments and are absent from
|
|
15
|
+
// the Curve API, so they report no reserves.
|
|
16
|
+
curveApiSlug = null;
|
|
14
17
|
static dexKeysWithNetwork = (0, utils_1.getDexKeysWithNetwork)(config_1.CurveForksConfig);
|
|
15
18
|
constructor(network, dexKey, dexHelper, dexConfig = config_1.CurveForksConfig[dexKey][network], adapters = config_1.Adapters[network]) {
|
|
16
19
|
super(network, dexKey, dexHelper, dexConfig, adapters);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"curve-forks.js","sourceRoot":"","sources":["../../../../../src/dex/curve-v1/forks/curve-forks/curve-forks.ts"],"names":[],"mappings":";;;;;;AAAA,6CAAwE;AACxE,6CAAyC;AACzC,8CAA8C;AAE9C,yGAA4E;AAG5E,qCAAsD;AAEtD,MAAa,SAAU,SAAQ,kBAAO;
|
|
1
|
+
{"version":3,"file":"curve-forks.js","sourceRoot":"","sources":["../../../../../src/dex/curve-v1/forks/curve-forks/curve-forks.ts"],"names":[],"mappings":";;;;;;AAAA,6CAAwE;AACxE,6CAAyC;AACzC,8CAA8C;AAE9C,yGAA4E;AAG5E,qCAAsD;AAEtD,MAAa,SAAU,SAAQ,kBAAO;IASxB;IARZ,wEAAwE;IACxE,6CAA6C;IACnC,YAAY,GAAG,IAAI,CAAC;IAEvB,MAAM,CAAC,kBAAkB,GAC9B,IAAA,6BAAqB,EAAC,yBAAgB,CAAC,CAAC;IAE1C,YACY,OAAgB,EAC1B,MAAc,EACd,SAAqB,EACrB,SAAS,GAAG,yBAAgB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAC7C,QAAQ,GAAG,iBAAQ,CAAC,OAAO,CAAC;QAE5B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAN7C,YAAO,GAAP,OAAO,CAAS;IAO5B,CAAC;IAED,oBAAoB,CAAC,WAAmB;QACtC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAC3C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,WAAW,EAAE,CAC3D,CAAC;QACF,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,+DAA+D;QAC/D,0BAA0B;QAC1B,6CAA6C;QAC7C,wEAAwE;QACxE,+BAA+B;QAC/B,wBAAwB;QACxB,qBAAqB;QACrB,yBAAyB;QACzB,oBAAoB;QACpB,mBAAmB;QACnB,sBAAsB;QACtB,2BAA2B;QAC3B,yBAAyB;QACzB,qBAAqB;QACrB,2BAA2B;QAC3B,6CAA6C;QAC7C,yBAAyB;QACzB,oBAAoB;QACpB,eAAe;QACf,MAAM;QACN,IAAI;QACJ,IACE,MAAM,CAAC,YAAY,KAAK,SAAS;YACjC,MAAM,CAAC,YAAY,KAAK,SAAS;YACjC,MAAM,CAAC,UAAU,KAAK,SAAS;YAC/B,MAAM,CAAC,UAAU,KAAK,SAAS,EAC/B,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QAED,OAAO,IAAI,kBAAS,CAClB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,UAAU,EACjB,8BAAe,EACf,MAAM,CAAC,KAAK,CAAC,MAAM,EACnB,MAAM,CAAC,YAAa,CAAC,GAAG,CAAC,oBAAY,CAAC,EACtC,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,KAAK,CACb,CAAC;IACJ,CAAC;;AAlEH,8BAmEC"}
|
|
@@ -11,6 +11,9 @@ export declare const CURVE_API_URL = "https://api.curve.finance/v1/getPools";
|
|
|
11
11
|
export declare const CURVE_CORE_API_URL = "https://api-core.curve.finance/v1/getPools";
|
|
12
12
|
export declare const CURVE_API_BY_NETWORK: Record<number, string>;
|
|
13
13
|
export declare const CURVE_API_SLUGS_BY_NETWORK: Record<number, string[]>;
|
|
14
|
+
export declare const CURVE_API_POOLS_TTL_MS: number;
|
|
15
|
+
export declare const CURVE_API_POOLS_TIMEOUT_MS: number;
|
|
16
|
+
export declare const CURVE_API_MAIN_SLUG = "/main";
|
|
14
17
|
export declare const NETWORK_ID_TO_NAME: Record<number, string>;
|
|
15
18
|
export declare const FACTORY_MAX_PLAIN_COINS = 4;
|
|
16
19
|
export declare const FACTORY_MAX_PLAIN_IMPLEMENTATIONS_FOR_COIN = 10;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DIRECT_METHOD_NAME_V6 = exports.DIRECT_METHOD_NAME = exports.FACTORY_MAX_PLAIN_IMPLEMENTATIONS_FOR_COIN = exports.FACTORY_MAX_PLAIN_COINS = exports.NETWORK_ID_TO_NAME = exports.CURVE_API_SLUGS_BY_NETWORK = exports.CURVE_API_BY_NETWORK = exports.CURVE_CORE_API_URL = exports.CURVE_API_URL = exports.CONVERGENCE_ERROR_PREFIX = exports.LIQUIDITY_FETCH_TIMEOUT_MS = exports.MIN_LIQUIDITY_IN_USD = exports.POOL_EXCHANGE_GAS_COST = exports.MAX_ALLOWED_STATE_DELAY_FACTOR = exports.LIQUIDITY_UPDATE_PERIOD_MS = exports.STATE_UPDATE_RETRY_PERIOD_MS = exports.STATE_UPDATE_PERIOD_MS = exports.MIN_AMOUNT_TO_RECEIVE = void 0;
|
|
3
|
+
exports.DIRECT_METHOD_NAME_V6 = exports.DIRECT_METHOD_NAME = exports.FACTORY_MAX_PLAIN_IMPLEMENTATIONS_FOR_COIN = exports.FACTORY_MAX_PLAIN_COINS = exports.NETWORK_ID_TO_NAME = exports.CURVE_API_MAIN_SLUG = exports.CURVE_API_POOLS_TIMEOUT_MS = exports.CURVE_API_POOLS_TTL_MS = exports.CURVE_API_SLUGS_BY_NETWORK = exports.CURVE_API_BY_NETWORK = exports.CURVE_CORE_API_URL = exports.CURVE_API_URL = exports.CONVERGENCE_ERROR_PREFIX = exports.LIQUIDITY_FETCH_TIMEOUT_MS = exports.MIN_LIQUIDITY_IN_USD = exports.POOL_EXCHANGE_GAS_COST = exports.MAX_ALLOWED_STATE_DELAY_FACTOR = exports.LIQUIDITY_UPDATE_PERIOD_MS = exports.STATE_UPDATE_RETRY_PERIOD_MS = exports.STATE_UPDATE_PERIOD_MS = exports.MIN_AMOUNT_TO_RECEIVE = void 0;
|
|
4
4
|
const constants_1 = require("../../constants");
|
|
5
5
|
exports.MIN_AMOUNT_TO_RECEIVE = 1;
|
|
6
6
|
exports.STATE_UPDATE_PERIOD_MS = 5 * 1000;
|
|
@@ -21,6 +21,12 @@ exports.CURVE_API_BY_NETWORK = {
|
|
|
21
21
|
exports.CURVE_API_SLUGS_BY_NETWORK = {
|
|
22
22
|
[constants_1.Network.PLASMA]: ['/factory-stable-ng'],
|
|
23
23
|
};
|
|
24
|
+
// Pool reserves are read from the same registry endpoints. Responses are up
|
|
25
|
+
// to ~2MB (factory-stable-ng on mainnet), so they are cached in-process.
|
|
26
|
+
exports.CURVE_API_POOLS_TTL_MS = 60 * 1000;
|
|
27
|
+
exports.CURVE_API_POOLS_TIMEOUT_MS = 8 * 1000;
|
|
28
|
+
// Registry slug of the legacy (non-factory) pools priced by CurveV1.
|
|
29
|
+
exports.CURVE_API_MAIN_SLUG = '/main';
|
|
24
30
|
exports.NETWORK_ID_TO_NAME = {
|
|
25
31
|
[constants_1.Network.MAINNET]: 'ethereum',
|
|
26
32
|
[constants_1.Network.POLYGON]: 'polygon',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/dex/curve-v1-factory/constants.ts"],"names":[],"mappings":";;;AAAA,+CAA0C;AAE7B,QAAA,qBAAqB,GAAG,CAAC,CAAC;AAE1B,QAAA,sBAAsB,GAAG,CAAC,GAAG,IAAI,CAAC;AAElC,QAAA,4BAA4B,GAAG,IAAI,CAAC;AAEpC,QAAA,0BAA0B,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAE3C,QAAA,8BAA8B,GAAG,CAAC,CAAC;AAEnC,QAAA,sBAAsB,GAAG,GAAG,GAAG,IAAI,CAAC;AAEjD,2DAA2D;AAC9C,QAAA,oBAAoB,GAAG,EAAE,CAAC;AAE1B,QAAA,0BAA0B,GAAG,KAAK,CAAC;AAEnC,QAAA,wBAAwB,GAAG,gBAAgB,CAAC;AAEzD,iCAAiC;AACpB,QAAA,aAAa,GAAG,uCAAuC,CAAC;AACxD,QAAA,kBAAkB,GAAG,4CAA4C,CAAC;AAClE,QAAA,oBAAoB,GAA2B;IAC1D,CAAC,mBAAO,CAAC,MAAM,CAAC,EAAE,0BAAkB;CACrC,CAAC;AACW,QAAA,0BAA0B,GAA6B;IAClE,CAAC,mBAAO,CAAC,MAAM,CAAC,EAAE,CAAC,oBAAoB,CAAC;CACzC,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/dex/curve-v1-factory/constants.ts"],"names":[],"mappings":";;;AAAA,+CAA0C;AAE7B,QAAA,qBAAqB,GAAG,CAAC,CAAC;AAE1B,QAAA,sBAAsB,GAAG,CAAC,GAAG,IAAI,CAAC;AAElC,QAAA,4BAA4B,GAAG,IAAI,CAAC;AAEpC,QAAA,0BAA0B,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAE3C,QAAA,8BAA8B,GAAG,CAAC,CAAC;AAEnC,QAAA,sBAAsB,GAAG,GAAG,GAAG,IAAI,CAAC;AAEjD,2DAA2D;AAC9C,QAAA,oBAAoB,GAAG,EAAE,CAAC;AAE1B,QAAA,0BAA0B,GAAG,KAAK,CAAC;AAEnC,QAAA,wBAAwB,GAAG,gBAAgB,CAAC;AAEzD,iCAAiC;AACpB,QAAA,aAAa,GAAG,uCAAuC,CAAC;AACxD,QAAA,kBAAkB,GAAG,4CAA4C,CAAC;AAClE,QAAA,oBAAoB,GAA2B;IAC1D,CAAC,mBAAO,CAAC,MAAM,CAAC,EAAE,0BAAkB;CACrC,CAAC;AACW,QAAA,0BAA0B,GAA6B;IAClE,CAAC,mBAAO,CAAC,MAAM,CAAC,EAAE,CAAC,oBAAoB,CAAC;CACzC,CAAC;AACF,4EAA4E;AAC5E,yEAAyE;AAC5D,QAAA,sBAAsB,GAAG,EAAE,GAAG,IAAI,CAAC;AACnC,QAAA,0BAA0B,GAAG,CAAC,GAAG,IAAI,CAAC;AACnD,qEAAqE;AACxD,QAAA,mBAAmB,GAAG,OAAO,CAAC;AAC9B,QAAA,kBAAkB,GAA2B;IACxD,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE,UAAU;IAC7B,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE,SAAS;IAC5B,CAAC,mBAAO,CAAC,KAAK,CAAC,EAAE,OAAO;IACxB,CAAC,mBAAO,CAAC,SAAS,CAAC,EAAE,WAAW;IAChC,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE,UAAU;IAC9B,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE,UAAU;IAC9B,CAAC,mBAAO,CAAC,IAAI,CAAC,EAAE,MAAM;IACtB,CAAC,mBAAO,CAAC,MAAM,CAAC,EAAE,QAAQ;IAC1B,CAAC,mBAAO,CAAC,MAAM,CAAC,EAAE,MAAM;CACzB,CAAC;AAEF,0EAA0E;AAC1E,YAAY;AACC,QAAA,uBAAuB,GAAG,CAAC,CAAC;AAC5B,QAAA,0CAA0C,GAAG,EAAE,CAAC;AAEhD,QAAA,kBAAkB,GAAG,mBAAmB,CAAC;AACzC,QAAA,qBAAqB,GAAG,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { IDexHelper } from '../../dex-helper';
|
|
2
|
+
import { Logger, PoolReserves } from '../../types';
|
|
3
|
+
export type CurveApiPoolCoin = {
|
|
4
|
+
address: string;
|
|
5
|
+
decimals: string;
|
|
6
|
+
poolBalance: string;
|
|
7
|
+
};
|
|
8
|
+
export type CurveApiPool = {
|
|
9
|
+
address: string;
|
|
10
|
+
isBroken?: boolean;
|
|
11
|
+
coins: CurveApiPoolCoin[];
|
|
12
|
+
};
|
|
13
|
+
export type CurveApiPools = Record<string, CurveApiPool>;
|
|
14
|
+
export declare function resetCurveApiPoolsCache(): void;
|
|
15
|
+
export declare function curveApiPoolsUrl(network: number, slug: string): string | null;
|
|
16
|
+
export declare function fetchCurveApiPools(dexHelper: IDexHelper, network: number, slug: string, logger: Logger): Promise<CurveApiPools | null>;
|
|
17
|
+
export declare function curveApiPoolReserves(dexKey: string, pool: CurveApiPool, supportedCoins: string[]): PoolReserves | null;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resetCurveApiPoolsCache = resetCurveApiPoolsCache;
|
|
4
|
+
exports.curveApiPoolsUrl = curveApiPoolsUrl;
|
|
5
|
+
exports.fetchCurveApiPools = fetchCurveApiPools;
|
|
6
|
+
exports.curveApiPoolReserves = curveApiPoolReserves;
|
|
7
|
+
const pools_storage_1 = require("../../lib/pools-storage");
|
|
8
|
+
const constants_1 = require("./constants");
|
|
9
|
+
// One cache per process: CurveV1, CurveV1Factory and CurveV1StableNg share
|
|
10
|
+
// the registry responses, so the API is hit once per slug per TTL however
|
|
11
|
+
// many classes or callers ask.
|
|
12
|
+
const cache = new Map();
|
|
13
|
+
function resetCurveApiPoolsCache() {
|
|
14
|
+
cache.clear();
|
|
15
|
+
}
|
|
16
|
+
// `null` when the network is unknown to the API or the slug is not served
|
|
17
|
+
// for it.
|
|
18
|
+
function curveApiPoolsUrl(network, slug) {
|
|
19
|
+
const networkName = constants_1.NETWORK_ID_TO_NAME[network];
|
|
20
|
+
if (!networkName)
|
|
21
|
+
return null;
|
|
22
|
+
const allowedSlugs = constants_1.CURVE_API_SLUGS_BY_NETWORK[network];
|
|
23
|
+
if (allowedSlugs && !allowedSlugs.includes(slug))
|
|
24
|
+
return null;
|
|
25
|
+
const baseUrl = constants_1.CURVE_API_BY_NETWORK[network] ?? constants_1.CURVE_API_URL;
|
|
26
|
+
return `${baseUrl}/${networkName}${slug}`;
|
|
27
|
+
}
|
|
28
|
+
// Fetches `getPools/<network><slug>` with an in-process TTL cache and
|
|
29
|
+
// in-flight deduplication. A failed request resolves to `null` and is not
|
|
30
|
+
// cached, so the next caller retries.
|
|
31
|
+
function fetchCurveApiPools(dexHelper, network, slug, logger) {
|
|
32
|
+
const url = curveApiPoolsUrl(network, slug);
|
|
33
|
+
if (!url)
|
|
34
|
+
return Promise.resolve(null);
|
|
35
|
+
const now = Date.now();
|
|
36
|
+
const cached = cache.get(url);
|
|
37
|
+
if (cached && now - cached.fetchedAt < constants_1.CURVE_API_POOLS_TTL_MS) {
|
|
38
|
+
return cached.pools;
|
|
39
|
+
}
|
|
40
|
+
const pools = dexHelper.httpRequest
|
|
41
|
+
.get(url, constants_1.CURVE_API_POOLS_TIMEOUT_MS)
|
|
42
|
+
.then(response => {
|
|
43
|
+
if (!response.success || !Array.isArray(response.data?.poolData)) {
|
|
44
|
+
throw new Error('unexpected response shape');
|
|
45
|
+
}
|
|
46
|
+
const byAddress = {};
|
|
47
|
+
for (const pool of response.data.poolData) {
|
|
48
|
+
byAddress[pool.address.toLowerCase()] = pool;
|
|
49
|
+
}
|
|
50
|
+
return byAddress;
|
|
51
|
+
})
|
|
52
|
+
.catch(e => {
|
|
53
|
+
cache.delete(url);
|
|
54
|
+
logger.error(`fetchCurveApiPools ${url} failed:`, e);
|
|
55
|
+
return null;
|
|
56
|
+
});
|
|
57
|
+
cache.set(url, { fetchedAt: now, pools });
|
|
58
|
+
return pools;
|
|
59
|
+
}
|
|
60
|
+
// Plain reserves over the coins the adapter prices: every listed coin swaps
|
|
61
|
+
// to every other one, and `poolBalance` is the raw payout capacity of that
|
|
62
|
+
// coin. The API may list coins the adapter does not support (legacy USDT
|
|
63
|
+
// pool: cDAI, cUSDC and USDT, while CurveV1 prices only cDAI <-> cUSDC), so
|
|
64
|
+
// only `supportedCoins` are kept. Metapool underlying swaps are not listed;
|
|
65
|
+
// the base pool is reported as its own pool. `null` for a broken pool or one
|
|
66
|
+
// with fewer than two supported coins.
|
|
67
|
+
function curveApiPoolReserves(dexKey, pool, supportedCoins) {
|
|
68
|
+
if (pool.isBroken)
|
|
69
|
+
return null;
|
|
70
|
+
const supported = new Set(supportedCoins.map(c => c.toLowerCase()));
|
|
71
|
+
const coins = pool.coins.filter(c => supported.has(c.address.toLowerCase()));
|
|
72
|
+
if (coins.length < 2)
|
|
73
|
+
return null;
|
|
74
|
+
const address = pool.address.toLowerCase();
|
|
75
|
+
return {
|
|
76
|
+
dex: dexKey,
|
|
77
|
+
id: address,
|
|
78
|
+
address,
|
|
79
|
+
reserves: (0, pools_storage_1.toReserves)(coins.map(c => c.address), coins.map(c => BigInt(c.poolBalance))),
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=curve-api-pools.js.map
|