@paraswap/dex-lib 4.7.26 → 4.7.27-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/dex/algebra-integral/algebra-integral-factory.d.ts +2 -0
- package/build/dex/algebra-integral/algebra-integral-factory.js +58 -0
- package/build/dex/algebra-integral/algebra-integral-factory.js.map +1 -1
- package/build/dex/algebra-integral/algebra-integral.d.ts +2 -0
- package/build/dex/algebra-integral/algebra-integral.js +25 -0
- package/build/dex/algebra-integral/algebra-integral.js.map +1 -1
- package/build/dex/algebra-integral/constants.d.ts +2 -0
- package/build/dex/algebra-integral/constants.js +5 -1
- package/build/dex/algebra-integral/constants.js.map +1 -1
- package/package.json +1 -1
- package/build/abi/PendleRouterStatic.json +0 -19
- package/build/abi/apex-defi/ApexDefiFactory.abi.json +0 -1749
- package/build/abi/apex-defi/ApexDefiRouter.abi.json +0 -1120
- package/build/abi/apex-defi/ApexDefiToken.abi.json +0 -229
- package/build/abi/apex-defi/ApexDefiWrapper.abi.json +0 -92
- package/build/abi/apex-defi/ApexDefiWrapperFactory.abi.json +0 -1107
- package/build/abi/ekubo-v3/core.json +0 -797
- package/build/abi/ekubo-v3/mev-capture-router.json +0 -936
- package/build/abi/ekubo-v3/quote-data-fetcher.json +0 -161
- package/build/abi/ekubo-v3/twamm-data-fetcher.json +0 -216
- package/build/abi/ekubo-v3/twamm.json +0 -613
- 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/pangolin-v3/PangolinV3StateMulticall.abi.json +0 -796
- package/build/abi/pendle/pendle-deployer.abi.json +0 -520
- package/build/abi/pendle/pendle-oracle.abi.json +0 -413
- 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/ring-v2/few-wrapped-token.json +0 -587
- package/build/abi/ring-v2/ring-v2-factory.json +0 -125
- package/build/abi/ring-v2/ring-v2-pool.json +0 -461
- package/build/abi/ring-v2/ring-v2-router.json +0 -332
- package/build/abi/stabull/stabull-curve.json +0 -738
- package/build/abi/stabull/stabull-router.json +0 -76
- package/build/abi/uniswap-v2/excalibur-pool.json +0 -881
- package/build/abi/uniswap-v2/mdex-factory.json +0 -759
- package/build/abi/uniswap-v4/hooks/SpotDynamicFeeManager.json +0 -26
- package/build/abi/uniswap-v4/hooks/SpotHook.json +0 -54
- package/build/abi/uniswap-v4/hooks/SpotPolicyManager.json +0 -45
- package/build/abi/uniswap-v4/hooks/cabalcoin-hook.abi.json +0 -682
- package/build/abi/uniswap-v4/hooks/fee-hook.abi.json +0 -1335
- package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying-factory.d.ts +0 -29
- package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying-factory.js +0 -153
- package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying-factory.js.map +0 -1
- package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying.d.ts +0 -40
- package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying.js +0 -323
- package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying.js.map +0 -1
- package/build/dex/aave-pt-to-underlying/config.d.ts +0 -3
- package/build/dex/aave-pt-to-underlying/config.js +0 -24
- package/build/dex/aave-pt-to-underlying/config.js.map +0 -1
- package/build/dex/aave-pt-to-underlying/constants.d.ts +0 -2
- package/build/dex/aave-pt-to-underlying/constants.js +0 -6
- package/build/dex/aave-pt-to-underlying/constants.js.map +0 -1
- package/build/dex/aave-pt-to-underlying/types.d.ts +0 -24
- package/build/dex/aave-pt-to-underlying/types.js +0 -3
- package/build/dex/aave-pt-to-underlying/types.js.map +0 -1
- package/build/dex/aave-pt-to-usdc/aave-pt-to-usdc.d.ts +0 -39
- package/build/dex/aave-pt-to-usdc/aave-pt-to-usdc.js +0 -244
- package/build/dex/aave-pt-to-usdc/aave-pt-to-usdc.js.map +0 -1
- package/build/dex/aave-pt-to-usdc/config.d.ts +0 -3
- package/build/dex/aave-pt-to-usdc/config.js +0 -47
- package/build/dex/aave-pt-to-usdc/config.js.map +0 -1
- package/build/dex/aave-pt-to-usdc/constants.d.ts +0 -2
- package/build/dex/aave-pt-to-usdc/constants.js +0 -6
- package/build/dex/aave-pt-to-usdc/constants.js.map +0 -1
- package/build/dex/aave-pt-to-usdc/types.d.ts +0 -22
- package/build/dex/aave-pt-to-usdc/types.js +0 -3
- package/build/dex/aave-pt-to-usdc/types.js.map +0 -1
- package/build/dex/apex-defi/apex-defi-factory.d.ts +0 -26
- package/build/dex/apex-defi/apex-defi-factory.js +0 -53
- package/build/dex/apex-defi/apex-defi-factory.js.map +0 -1
- package/build/dex/apex-defi/apex-defi-pool.d.ts +0 -55
- package/build/dex/apex-defi/apex-defi-pool.js +0 -247
- package/build/dex/apex-defi/apex-defi-pool.js.map +0 -1
- package/build/dex/apex-defi/apex-defi-wrapper-factory.d.ts +0 -57
- package/build/dex/apex-defi/apex-defi-wrapper-factory.js +0 -250
- package/build/dex/apex-defi/apex-defi-wrapper-factory.js.map +0 -1
- package/build/dex/apex-defi/apex-defi.d.ts +0 -97
- package/build/dex/apex-defi/apex-defi.js +0 -1021
- package/build/dex/apex-defi/apex-defi.js.map +0 -1
- package/build/dex/apex-defi/config.d.ts +0 -4
- package/build/dex/apex-defi/config.js +0 -138
- package/build/dex/apex-defi/config.js.map +0 -1
- package/build/dex/apex-defi/types.d.ts +0 -32
- package/build/dex/apex-defi/types.js +0 -3
- package/build/dex/apex-defi/types.js.map +0 -1
- package/build/dex/apex-defi/utils.d.ts +0 -46
- package/build/dex/apex-defi/utils.js +0 -133
- package/build/dex/apex-defi/utils.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/ekubo-v3/config.d.ts +0 -13
- package/build/dex/ekubo-v3/config.js +0 -23
- package/build/dex/ekubo-v3/config.js.map +0 -1
- package/build/dex/ekubo-v3/ekubo-v3-pool-manager.d.ts +0 -34
- package/build/dex/ekubo-v3/ekubo-v3-pool-manager.js +0 -421
- package/build/dex/ekubo-v3/ekubo-v3-pool-manager.js.map +0 -1
- package/build/dex/ekubo-v3/ekubo-v3.d.ts +0 -38
- package/build/dex/ekubo-v3/ekubo-v3.js +0 -274
- package/build/dex/ekubo-v3/ekubo-v3.js.map +0 -1
- package/build/dex/ekubo-v3/pools/base.d.ts +0 -42
- package/build/dex/ekubo-v3/pools/base.js +0 -307
- package/build/dex/ekubo-v3/pools/base.js.map +0 -1
- package/build/dex/ekubo-v3/pools/full-range.d.ts +0 -25
- package/build/dex/ekubo-v3/pools/full-range.js +0 -105
- package/build/dex/ekubo-v3/pools/full-range.js.map +0 -1
- package/build/dex/ekubo-v3/pools/math/constants.d.ts +0 -12
- package/build/dex/ekubo-v3/pools/math/constants.js +0 -16
- package/build/dex/ekubo-v3/pools/math/constants.js.map +0 -1
- package/build/dex/ekubo-v3/pools/math/delta.d.ts +0 -2
- package/build/dex/ekubo-v3/pools/math/delta.js +0 -51
- package/build/dex/ekubo-v3/pools/math/delta.js.map +0 -1
- package/build/dex/ekubo-v3/pools/math/sqrt-ratio.d.ts +0 -8
- package/build/dex/ekubo-v3/pools/math/sqrt-ratio.js +0 -113
- package/build/dex/ekubo-v3/pools/math/sqrt-ratio.js.map +0 -1
- package/build/dex/ekubo-v3/pools/math/swap.d.ts +0 -18
- package/build/dex/ekubo-v3/pools/math/swap.js +0 -128
- package/build/dex/ekubo-v3/pools/math/swap.js.map +0 -1
- package/build/dex/ekubo-v3/pools/math/tick.d.ts +0 -8
- package/build/dex/ekubo-v3/pools/math/tick.js +0 -129
- package/build/dex/ekubo-v3/pools/math/tick.js.map +0 -1
- package/build/dex/ekubo-v3/pools/math/twamm/exp2.d.ts +0 -1
- package/build/dex/ekubo-v3/pools/math/twamm/exp2.js +0 -86
- package/build/dex/ekubo-v3/pools/math/twamm/exp2.js.map +0 -1
- package/build/dex/ekubo-v3/pools/math/twamm/sqrt-ratio.d.ts +0 -1
- package/build/dex/ekubo-v3/pools/math/twamm/sqrt-ratio.js +0 -56
- package/build/dex/ekubo-v3/pools/math/twamm/sqrt-ratio.js.map +0 -1
- package/build/dex/ekubo-v3/pools/mev-capture.d.ts +0 -8
- package/build/dex/ekubo-v3/pools/mev-capture.js +0 -42
- package/build/dex/ekubo-v3/pools/mev-capture.js.map +0 -1
- package/build/dex/ekubo-v3/pools/oracle.d.ts +0 -8
- package/build/dex/ekubo-v3/pools/oracle.js +0 -18
- package/build/dex/ekubo-v3/pools/oracle.js.map +0 -1
- package/build/dex/ekubo-v3/pools/pool.d.ts +0 -56
- package/build/dex/ekubo-v3/pools/pool.js +0 -88
- package/build/dex/ekubo-v3/pools/pool.js.map +0 -1
- package/build/dex/ekubo-v3/pools/stableswap.d.ts +0 -22
- package/build/dex/ekubo-v3/pools/stableswap.js +0 -123
- package/build/dex/ekubo-v3/pools/stableswap.js.map +0 -1
- package/build/dex/ekubo-v3/pools/twamm.d.ts +0 -40
- package/build/dex/ekubo-v3/pools/twamm.js +0 -265
- package/build/dex/ekubo-v3/pools/twamm.js.map +0 -1
- package/build/dex/ekubo-v3/pools/utils.d.ts +0 -62
- package/build/dex/ekubo-v3/pools/utils.js +0 -160
- package/build/dex/ekubo-v3/pools/utils.js.map +0 -1
- package/build/dex/ekubo-v3/types.d.ts +0 -58
- package/build/dex/ekubo-v3/types.js +0 -3
- package/build/dex/ekubo-v3/types.js.map +0 -1
- package/build/dex/ekubo-v3/utils.d.ts +0 -10
- package/build/dex/ekubo-v3/utils.js +0 -54
- package/build/dex/ekubo-v3/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 -461
- package/build/dex/infusion/infusion.js.map +0 -1
- package/build/dex/infusion/types.d.ts +0 -45
- package/build/dex/infusion/types.js +0 -3
- 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/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-event-pool.d.ts +0 -43
- package/build/dex/maker-psm/maker-psm-event-pool.js +0 -132
- package/build/dex/maker-psm/maker-psm-event-pool.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 +0 -3
- package/build/dex/maker-psm/types.js.map +0 -1
- package/build/dex/miro-migrator/miro-migrator-state.d.ts +0 -27
- package/build/dex/miro-migrator/miro-migrator-state.js +0 -89
- package/build/dex/miro-migrator/miro-migrator-state.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 +0 -3
- 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/solidly/forks-override/aerodrome.d.ts +0 -14
- package/build/dex/solidly/forks-override/aerodrome.js +0 -50
- 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/stabull/config.d.ts +0 -3
- package/build/dex/stabull/config.js +0 -177
- package/build/dex/stabull/config.js.map +0 -1
- package/build/dex/stabull/stabull-pool.d.ts +0 -46
- package/build/dex/stabull/stabull-pool.js +0 -113
- package/build/dex/stabull/stabull-pool.js.map +0 -1
- package/build/dex/stabull/stabull.d.ts +0 -55
- package/build/dex/stabull/stabull.js +0 -286
- package/build/dex/stabull/stabull.js.map +0 -1
- package/build/dex/stabull/types.d.ts +0 -21
- package/build/dex/stabull/types.js +0 -3
- package/build/dex/stabull/types.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/forks/pangolin-v3/utils.d.ts +0 -4
- package/build/dex/uniswap-v3/forks/pangolin-v3/utils.js +0 -56
- package/build/dex/uniswap-v3/forks/pangolin-v3/utils.js.map +0 -1
- package/build/dex/uniswap-v4/contract-math/Position.d.ts +0 -9
- package/build/dex/uniswap-v4/contract-math/Position.js +0 -39
- package/build/dex/uniswap-v4/contract-math/Position.js.map +0 -1
- package/build/dex/uniswap-v4/hooks/arena.d.ts +0 -6
- package/build/dex/uniswap-v4/hooks/arena.js +0 -10
- package/build/dex/uniswap-v4/hooks/arena.js.map +0 -1
- package/build/dex/uniswap-v4/hooks/base-fee/base-fee-hook.d.ts +0 -0
- package/build/dex/uniswap-v4/hooks/base-fee/base-fee-hook.js +0 -2
- package/build/dex/uniswap-v4/hooks/base-fee/base-fee-hook.js.map +0 -1
- package/build/dex/uniswap-v4/hooks/cabalcoin-hook/cabalcoin-hook-pool.d.ts +0 -7
- package/build/dex/uniswap-v4/hooks/cabalcoin-hook/cabalcoin-hook-pool.js +0 -28
- package/build/dex/uniswap-v4/hooks/cabalcoin-hook/cabalcoin-hook-pool.js.map +0 -1
- package/build/dex/uniswap-v4/hooks/cabalcoin-hook/types.d.ts +0 -0
- package/build/dex/uniswap-v4/hooks/cabalcoin-hook/types.js +0 -2
- package/build/dex/uniswap-v4/hooks/cabalcoin-hook/types.js.map +0 -1
- package/build/dex/uniswap-v4/hooks/fee-hook/fee-hook-pool.d.ts +0 -7
- package/build/dex/uniswap-v4/hooks/fee-hook/fee-hook-pool.js +0 -28
- package/build/dex/uniswap-v4/hooks/fee-hook/fee-hook-pool.js.map +0 -1
- package/build/dex/uniswap-v4/hooks/fee-hook/types.d.ts +0 -0
- package/build/dex/uniswap-v4/hooks/fee-hook/types.js +0 -2
- package/build/dex/uniswap-v4/hooks/fee-hook/types.js.map +0 -1
- package/build/dex/uniswap-v4/hooks/index.d.ts +0 -1
- package/build/dex/uniswap-v4/hooks/index.js +0 -18
- package/build/dex/uniswap-v4/hooks/index.js.map +0 -1
- package/build/dex/uniswap-v4/hooks/spot.d.ts +0 -15
- package/build/dex/uniswap-v4/hooks/spot.js +0 -109
- package/build/dex/uniswap-v4/hooks/spot.js.map +0 -1
- package/build/dex/uniswap-v4/hooks/template.d.ts +0 -150
- package/build/dex/uniswap-v4/hooks/template.js +0 -104
- package/build/dex/uniswap-v4/hooks/template.js.map +0 -1
- package/build/dex/usdc-transmuter/usdc-transmuter-pool.d.ts +0 -26
- package/build/dex/usdc-transmuter/usdc-transmuter-pool.js +0 -75
- package/build/dex/usdc-transmuter/usdc-transmuter-pool.js.map +0 -1
- package/build/dex/usual/usual-usdc-usdc.d.ts +0 -17
- package/build/dex/usual/usual-usdc-usdc.js +0 -59
- package/build/dex/usual/usual-usdc-usdc.js.map +0 -1
- package/build/dex/yo/config.d.ts +0 -3
- package/build/dex/yo/config.js +0 -21
- package/build/dex/yo/config.js.map +0 -1
- package/build/dex/yo/types.d.ts +0 -13
- package/build/dex/yo/types.js +0 -3
- package/build/dex/yo/types.js.map +0 -1
- package/build/dex/yo/yo-pool.d.ts +0 -13
- package/build/dex/yo/yo-pool.js +0 -26
- package/build/dex/yo/yo-pool.js.map +0 -1
- package/build/dex/yo/yo.d.ts +0 -39
- package/build/dex/yo/yo.js +0 -248
- package/build/dex/yo/yo.js.map +0 -1
- package/build/implementations/api-paraswap-sdk.d.ts +0 -25
- package/build/implementations/api-paraswap-sdk.js +0 -102
- package/build/implementations/api-paraswap-sdk.js.map +0 -1
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { Network } from '../../constants';
|
|
2
|
-
import { IDexHelper } from '../../dex-helper/idex-helper';
|
|
3
|
-
import { UniswapV2, UniswapV2Pair } from '../uniswap-v2/uniswap-v2';
|
|
4
|
-
import { Interface } from '@ethersproject/abi';
|
|
5
|
-
import { DexParams } from './types';
|
|
6
|
-
import { DexConfigMap } from '../../types';
|
|
7
|
-
export declare const NomiswapV2Config: DexConfigMap<DexParams>;
|
|
8
|
-
export declare class NomiswapV2 extends UniswapV2 {
|
|
9
|
-
protected network: Network;
|
|
10
|
-
protected dexHelper: IDexHelper;
|
|
11
|
-
nomiswapPool: Interface;
|
|
12
|
-
static dexKeysWithNetwork: {
|
|
13
|
-
key: string;
|
|
14
|
-
networks: Network[];
|
|
15
|
-
}[];
|
|
16
|
-
constructor(network: Network, dexKey: string, dexHelper: IDexHelper);
|
|
17
|
-
protected getFeesMultiCallData(pair: UniswapV2Pair): {
|
|
18
|
-
callEntry: {
|
|
19
|
-
target: string;
|
|
20
|
-
callData: string;
|
|
21
|
-
};
|
|
22
|
-
callDecoder: (values: any[]) => number;
|
|
23
|
-
};
|
|
24
|
-
}
|
|
@@ -1,57 +0,0 @@
|
|
|
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.NomiswapV2 = exports.NomiswapV2Config = void 0;
|
|
7
|
-
const constants_1 = require("../../constants");
|
|
8
|
-
const utils_1 = require("../../utils");
|
|
9
|
-
const uniswap_v2_1 = require("../uniswap-v2/uniswap-v2");
|
|
10
|
-
const abi_1 = require("@ethersproject/abi");
|
|
11
|
-
const nomiswap_v2_pool_json_1 = __importDefault(require("../../abi/nomiswap-v2/nomiswap-v2-pool.json"));
|
|
12
|
-
exports.NomiswapV2Config = {
|
|
13
|
-
NomiswapV2: {
|
|
14
|
-
[constants_1.Network.BSC]: {
|
|
15
|
-
factoryAddress: '0xd6715A8be3944ec72738F0BFDC739d48C3c29349',
|
|
16
|
-
initCode: '0x83eb759f5ea0525124f03d4ac741bb4af0bb1c703d5f694bd42a8bd72e495a01',
|
|
17
|
-
poolGasCost: 120 * 1000,
|
|
18
|
-
feeCode: 0, // this is ignored as Nomiswap uses dynamic fees,
|
|
19
|
-
subgraphURL: '5CBKsDihF7KeBrNX4bgtb4tVFqy41PguVm88zBGpd4Hi',
|
|
20
|
-
},
|
|
21
|
-
},
|
|
22
|
-
// not exactly the same, but swapFee logic works in the same way
|
|
23
|
-
SwaprV2: {
|
|
24
|
-
[constants_1.Network.GNOSIS]: {
|
|
25
|
-
factoryAddress: '0x5D48C95AdfFD4B40c1AAADc4e08fc44117E02179',
|
|
26
|
-
initCode: '0xfcee8e246628cf9708fcb9d6f5d4aa0d96b62bb50f1af012a75a3292849e2dca',
|
|
27
|
-
poolGasCost: 120 * 1000,
|
|
28
|
-
feeCode: 25, // this is ignored as SwaprV2 uses dynamic fees,
|
|
29
|
-
subgraphURL: 'EWoa3JwNntAWtaLsLixTU25smp4R5tzGvs9rFXx9NHKZ',
|
|
30
|
-
},
|
|
31
|
-
},
|
|
32
|
-
};
|
|
33
|
-
class NomiswapV2 extends uniswap_v2_1.UniswapV2 {
|
|
34
|
-
network;
|
|
35
|
-
dexHelper;
|
|
36
|
-
nomiswapPool;
|
|
37
|
-
static dexKeysWithNetwork = (0, utils_1.getDexKeysWithNetwork)(exports.NomiswapV2Config);
|
|
38
|
-
constructor(network, dexKey, dexHelper) {
|
|
39
|
-
super(network, dexKey, dexHelper, true, exports.NomiswapV2Config[dexKey][network].factoryAddress, exports.NomiswapV2Config[dexKey][network].subgraphURL, exports.NomiswapV2Config[dexKey][network].initCode, exports.NomiswapV2Config[dexKey][network].feeCode, exports.NomiswapV2Config[dexKey][network].poolGasCost);
|
|
40
|
-
this.network = network;
|
|
41
|
-
this.dexHelper = dexHelper;
|
|
42
|
-
this.nomiswapPool = new abi_1.Interface(nomiswap_v2_pool_json_1.default);
|
|
43
|
-
}
|
|
44
|
-
getFeesMultiCallData(pair) {
|
|
45
|
-
const callEntry = {
|
|
46
|
-
target: pair.exchange,
|
|
47
|
-
callData: this.nomiswapPool.encodeFunctionData('swapFee', []),
|
|
48
|
-
};
|
|
49
|
-
const callDecoder = (values) => parseInt(this.nomiswapPool.decodeFunctionResult('swapFee', values)[0].toString()) * 10;
|
|
50
|
-
return {
|
|
51
|
-
callEntry,
|
|
52
|
-
callDecoder,
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
exports.NomiswapV2 = NomiswapV2;
|
|
57
|
-
//# sourceMappingURL=nomiswap-v2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nomiswap-v2.js","sourceRoot":"","sources":["../../../src/dex/uniswap-v2/nomiswap-v2.ts"],"names":[],"mappings":";;;;;;AAAA,+CAA0C;AAC1C,uCAAoD;AAEpD,yDAAoE;AACpE,4CAA+C;AAC/C,wGAA0E;AAI7D,QAAA,gBAAgB,GAA4B;IACvD,UAAU,EAAE;QACV,CAAC,mBAAO,CAAC,GAAG,CAAC,EAAE;YACb,cAAc,EAAE,4CAA4C;YAC5D,QAAQ,EACN,oEAAoE;YACtE,WAAW,EAAE,GAAG,GAAG,IAAI;YACvB,OAAO,EAAE,CAAC,EAAE,iDAAiD;YAC7D,WAAW,EAAE,8CAA8C;SAC5D;KACF;IACD,gEAAgE;IAChE,OAAO,EAAE;QACP,CAAC,mBAAO,CAAC,MAAM,CAAC,EAAE;YAChB,cAAc,EAAE,4CAA4C;YAC5D,QAAQ,EACN,oEAAoE;YACtE,WAAW,EAAE,GAAG,GAAG,IAAI;YACvB,OAAO,EAAE,EAAE,EAAE,gDAAgD;YAC7D,WAAW,EAAE,8CAA8C;SAC5D;KACF;CACF,CAAC;AAEF,MAAa,UAAW,SAAQ,sBAAS;IAO3B;IAEA;IARZ,YAAY,CAAY;IAEjB,MAAM,CAAC,kBAAkB,GAC9B,IAAA,6BAAqB,EAAC,wBAAgB,CAAC,CAAC;IAE1C,YACY,OAAgB,EAC1B,MAAc,EACJ,SAAqB;QAE/B,KAAK,CACH,OAAO,EACP,MAAM,EACN,SAAS,EACT,IAAI,EACJ,wBAAgB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,EAChD,wBAAgB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAC7C,wBAAgB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAC1C,wBAAgB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EACzC,wBAAgB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAC9C,CAAC;QAdQ,YAAO,GAAP,OAAO,CAAS;QAEhB,cAAS,GAAT,SAAS,CAAY;QAa/B,IAAI,CAAC,YAAY,GAAG,IAAI,eAAS,CAAC,+BAAe,CAAC,CAAC;IACrD,CAAC;IAES,oBAAoB,CAAC,IAAmB;QAChD,MAAM,SAAS,GAAG;YAChB,MAAM,EAAE,IAAI,CAAC,QAAS;YACtB,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,SAAS,EAAE,EAAE,CAAC;SAC9D,CAAC;QACF,MAAM,WAAW,GAAG,CAAC,MAAa,EAAE,EAAE,CACpC,QAAQ,CACN,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CACxE,GAAG,EAAE,CAAC;QACT,OAAO;YACL,SAAS;YACT,WAAW;SACZ,CAAC;IACJ,CAAC;;AAtCH,gCAuCC"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { MultiResult } from '../../../../lib/multi-wrapper';
|
|
2
|
-
import { BytesLike } from 'ethers';
|
|
3
|
-
import { DecodedStateMultiCallResultWithRelativeBitmaps } from '../../types';
|
|
4
|
-
export declare function decodeStateMultiCallResultWithRelativeBitmaps(result: MultiResult<BytesLike> | BytesLike): DecodedStateMultiCallResultWithRelativeBitmaps;
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.decodeStateMultiCallResultWithRelativeBitmaps = decodeStateMultiCallResultWithRelativeBitmaps;
|
|
4
|
-
const ethers_1 = require("ethers");
|
|
5
|
-
const decoders_1 = require("../../../../lib/decoders");
|
|
6
|
-
const ts_essentials_1 = require("ts-essentials");
|
|
7
|
-
function decodeStateMultiCallResultWithRelativeBitmaps(result) {
|
|
8
|
-
const [isSuccess, toDecode] = (0, decoders_1.extractSuccessAndValue)(result);
|
|
9
|
-
(0, ts_essentials_1.assert)(isSuccess && toDecode !== '0x', `decodeStateMultiCallResultWithRelativeBitmaps failed to get decodable result: ${result}`);
|
|
10
|
-
const decoded = ethers_1.ethers.utils.defaultAbiCoder.decode([
|
|
11
|
-
// I don't want to pass here any interface, so I just use it in ethers format
|
|
12
|
-
`
|
|
13
|
-
tuple(
|
|
14
|
-
address pool,
|
|
15
|
-
uint256 blockTimestamp,
|
|
16
|
-
tuple(
|
|
17
|
-
uint160 sqrtPriceX96,
|
|
18
|
-
int24 tick,
|
|
19
|
-
uint16 observationIndex,
|
|
20
|
-
uint16 observationCardinality,
|
|
21
|
-
uint16 observationCardinalityNext,
|
|
22
|
-
uint8 feeProtocol,
|
|
23
|
-
bool unlocked
|
|
24
|
-
) slot0,
|
|
25
|
-
uint128 liquidity,
|
|
26
|
-
int24 tickSpacing,
|
|
27
|
-
uint128 maxLiquidityPerTick,
|
|
28
|
-
tuple(
|
|
29
|
-
uint32 blockTimestamp,
|
|
30
|
-
int56 tickCumulative,
|
|
31
|
-
uint160 secondsPerLiquidityCumulativeX128,
|
|
32
|
-
bool initialized
|
|
33
|
-
) observation,
|
|
34
|
-
tuple(
|
|
35
|
-
int16 index,
|
|
36
|
-
uint256 value
|
|
37
|
-
)[] tickBitmap,
|
|
38
|
-
tuple(
|
|
39
|
-
int24 index,
|
|
40
|
-
tuple(
|
|
41
|
-
uint128 liquidityGross,
|
|
42
|
-
int128 liquidityNet,
|
|
43
|
-
int56 tickCumulativeOutside,
|
|
44
|
-
uint160 secondsPerLiquidityOutsideX128,
|
|
45
|
-
uint32 secondsOutside,
|
|
46
|
-
bool initialized
|
|
47
|
-
) value
|
|
48
|
-
)[] ticks
|
|
49
|
-
)
|
|
50
|
-
`,
|
|
51
|
-
], toDecode)[0];
|
|
52
|
-
// This conversion is not precise, because when we decode, we have more values
|
|
53
|
-
// But I typed only the ones that are used later
|
|
54
|
-
return decoded;
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/dex/uniswap-v3/forks/pangolin-v3/utils.ts"],"names":[],"mappings":";;AAMA,sGA2DC;AAhED,mCAA2C;AAE3C,uDAAkE;AAClE,iDAAuC;AAEvC,SAAgB,6CAA6C,CAC3D,MAA0C;IAE1C,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,IAAA,iCAAsB,EAAC,MAAM,CAAC,CAAC;IAE7D,IAAA,sBAAM,EACJ,SAAS,IAAI,QAAQ,KAAK,IAAI,EAC9B,iFAAiF,MAAM,EAAE,CAC1F,CAAC;IAEF,MAAM,OAAO,GAAG,eAAM,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CACjD;QACE,6EAA6E;QAC7E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAsCD;KACA,EACD,QAAQ,CACT,CAAC,CAAC,CAAC,CAAC;IAEL,8EAA8E;IAC9E,gDAAgD;IAChD,OAAO,OAAyD,CAAC;AACnE,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { PoolState, PositionState } from '../types';
|
|
2
|
-
export declare class Position {
|
|
3
|
-
static calculatePositionKey(owner: string, tickLower: bigint, tickUpper: bigint, salt: string): string;
|
|
4
|
-
static get(poolState: PoolState, owner: string, tickLower: bigint, tickUpper: bigint, salt: string): PositionState | undefined;
|
|
5
|
-
static update(poolState: PoolState, owner: string, tickLower: bigint, tickUpper: bigint, salt: string, liquidityDelta: bigint, feeGrowthInside0X128: bigint, feeGrowthInside1X128: bigint): {
|
|
6
|
-
feesOwed0: bigint;
|
|
7
|
-
feesOwed1: bigint;
|
|
8
|
-
};
|
|
9
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Position = void 0;
|
|
4
|
-
const utils_1 = require("../../../utils");
|
|
5
|
-
class Position {
|
|
6
|
-
static calculatePositionKey(owner, tickLower, tickUpper, salt) {
|
|
7
|
-
return `${owner}-${tickLower.toString()}-${tickUpper.toString()}-${salt}`;
|
|
8
|
-
}
|
|
9
|
-
static get(poolState, owner, tickLower, tickUpper, salt) {
|
|
10
|
-
const positionKey = Position.calculatePositionKey(owner, tickLower, tickUpper, salt);
|
|
11
|
-
return poolState.positions[positionKey];
|
|
12
|
-
}
|
|
13
|
-
static update(poolState, owner, tickLower, tickUpper, salt, liquidityDelta, feeGrowthInside0X128, feeGrowthInside1X128) {
|
|
14
|
-
const positionKey = Position.calculatePositionKey(owner, tickLower, tickUpper, salt);
|
|
15
|
-
let position = poolState.positions[positionKey];
|
|
16
|
-
(0, utils_1._require)(Boolean(position), 'Position does not exist', { position });
|
|
17
|
-
let { liquidity, feeGrowthInside0LastX128, feeGrowthInside1LastX128 } = position;
|
|
18
|
-
if (liquidityDelta === 0n) {
|
|
19
|
-
(0, utils_1._require)(liquidity !== 0n, 'Cannot update empty position', {
|
|
20
|
-
liquidityDelta,
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
liquidity += liquidityDelta;
|
|
25
|
-
}
|
|
26
|
-
const feesOwed0 = ((feeGrowthInside0X128 - feeGrowthInside0LastX128) * liquidity) /
|
|
27
|
-
BigInt(1 << 128);
|
|
28
|
-
const feesOwed1 = ((feeGrowthInside1X128 - feeGrowthInside1LastX128) * liquidity) /
|
|
29
|
-
BigInt(1 << 128);
|
|
30
|
-
poolState.positions[positionKey] = {
|
|
31
|
-
liquidity,
|
|
32
|
-
feeGrowthInside0LastX128: feeGrowthInside0X128,
|
|
33
|
-
feeGrowthInside1LastX128: feeGrowthInside1X128,
|
|
34
|
-
};
|
|
35
|
-
return { feesOwed0, feesOwed1 };
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
exports.Position = Position;
|
|
39
|
-
//# sourceMappingURL=Position.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Position.js","sourceRoot":"","sources":["../../../../src/dex/uniswap-v4/contract-math/Position.ts"],"names":[],"mappings":";;;AACA,0CAA0C;AAE1C,MAAa,QAAQ;IACZ,MAAM,CAAC,oBAAoB,CAChC,KAAa,EACb,SAAiB,EACjB,SAAiB,EACjB,IAAY;QAEZ,OAAO,GAAG,KAAK,IAAI,SAAS,CAAC,QAAQ,EAAE,IAAI,SAAS,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC;IAC5E,CAAC;IAED,MAAM,CAAC,GAAG,CACR,SAAoB,EACpB,KAAa,EACb,SAAiB,EACjB,SAAiB,EACjB,IAAY;QAEZ,MAAM,WAAW,GAAG,QAAQ,CAAC,oBAAoB,CAC/C,KAAK,EACL,SAAS,EACT,SAAS,EACT,IAAI,CACL,CAAC;QAEF,OAAO,SAAS,CAAC,SAAU,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,MAAM,CACX,SAAoB,EACpB,KAAa,EACb,SAAiB,EACjB,SAAiB,EACjB,IAAY,EACZ,cAAsB,EACtB,oBAA4B,EAC5B,oBAA4B;QAE5B,MAAM,WAAW,GAAG,QAAQ,CAAC,oBAAoB,CAC/C,KAAK,EACL,SAAS,EACT,SAAS,EACT,IAAI,CACL,CAAC;QACF,IAAI,QAAQ,GAAG,SAAS,CAAC,SAAU,CAAC,WAAW,CAAC,CAAC;QAEjD,IAAA,gBAAQ,EAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,yBAAyB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QAErE,IAAI,EAAE,SAAS,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,GACnE,QAAQ,CAAC;QAEX,IAAI,cAAc,KAAK,EAAE,EAAE,CAAC;YAC1B,IAAA,gBAAQ,EAAC,SAAS,KAAK,EAAE,EAAE,8BAA8B,EAAE;gBACzD,cAAc;aACf,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,SAAS,IAAI,cAAc,CAAC;QAC9B,CAAC;QAED,MAAM,SAAS,GACb,CAAC,CAAC,oBAAoB,GAAG,wBAAwB,CAAC,GAAG,SAAS,CAAC;YAC/D,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QACnB,MAAM,SAAS,GACb,CAAC,CAAC,oBAAoB,GAAG,wBAAwB,CAAC,GAAG,SAAS,CAAC;YAC/D,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAEnB,SAAS,CAAC,SAAU,CAAC,WAAW,CAAC,GAAG;YAClC,SAAS;YACT,wBAAwB,EAAE,oBAAoB;YAC9C,wBAAwB,EAAE,oBAAoB;SAC/C,CAAC;QAEF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IAClC,CAAC;CACF;AAzED,4BAyEC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ARENA_HOOK = void 0;
|
|
4
|
-
const constants_1 = require("../../../constants");
|
|
5
|
-
exports.ARENA_HOOK = {
|
|
6
|
-
name: 'ArenaHook',
|
|
7
|
-
address: '0xe32a5d788c568fc5a671255d17b618e70552e044',
|
|
8
|
-
networks: [constants_1.Network.AVALANCHE],
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=arena.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"arena.js","sourceRoot":"","sources":["../../../../src/dex/uniswap-v4/hooks/arena.ts"],"names":[],"mappings":";;;AAAA,kDAA6C;AAEhC,QAAA,UAAU,GAAG;IACxB,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,4CAA4C;IACrD,QAAQ,EAAE,CAAC,mBAAO,CAAC,SAAS,CAAC;CAC9B,CAAC"}
|
|
File without changes
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base-fee-hook.js","sourceRoot":"","sources":["../../../../../src/dex/uniswap-v4/hooks/base-fee/base-fee-hook.ts"],"names":[],"mappings":""}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { UniswapV4Pool } from '../../uniswap-v4-pool';
|
|
2
|
-
import { PoolState } from '../../types';
|
|
3
|
-
export declare class CabalcoinHookPool extends UniswapV4Pool {
|
|
4
|
-
private hookInterface;
|
|
5
|
-
constructor(...args: ConstructorParameters<typeof UniswapV4Pool>);
|
|
6
|
-
handleCustomFeeChangedEvent(event: any, poolState: PoolState): Promise<PoolState>;
|
|
7
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
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.CabalcoinHookPool = void 0;
|
|
7
|
-
const abi_1 = require("@ethersproject/abi");
|
|
8
|
-
const uniswap_v4_pool_1 = require("../../uniswap-v4-pool");
|
|
9
|
-
const uniswap_v4_pool_math_1 = require("../../contract-math/uniswap-v4-pool-math");
|
|
10
|
-
const cabalcoin_hook_abi_json_1 = __importDefault(require("../../../../abi/uniswap-v4/hooks/cabalcoin-hook.abi.json"));
|
|
11
|
-
class CabalcoinHookPool extends uniswap_v4_pool_1.UniswapV4Pool {
|
|
12
|
-
hookInterface = new abi_1.Interface(cabalcoin_hook_abi_json_1.default);
|
|
13
|
-
constructor(...args) {
|
|
14
|
-
super(...args);
|
|
15
|
-
this.addressesSubscribed.push(this.hooks);
|
|
16
|
-
this.logDecoders.push((log) => this.hookInterface.parseLog(log));
|
|
17
|
-
this.handlers['CustomFeeChanged'] =
|
|
18
|
-
this.handleCustomFeeChangedEvent.bind(this);
|
|
19
|
-
}
|
|
20
|
-
async handleCustomFeeChangedEvent(event, poolState) {
|
|
21
|
-
const id = event.args.id.toLowerCase();
|
|
22
|
-
uniswap_v4_pool_math_1.uniswapV4PoolMath.checkPoolInitialized(poolState);
|
|
23
|
-
poolState.fee = event.args.newFee.toString();
|
|
24
|
-
return poolState;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
exports.CabalcoinHookPool = CabalcoinHookPool;
|
|
28
|
-
//# sourceMappingURL=cabalcoin-hook-pool.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cabalcoin-hook-pool.js","sourceRoot":"","sources":["../../../../../src/dex/uniswap-v4/hooks/cabalcoin-hook/cabalcoin-hook-pool.ts"],"names":[],"mappings":";;;;;;AAAA,4CAA+C;AAC/C,2DAAsD;AAEtD,mFAA6E;AAE7E,uHAAwF;AAExF,MAAa,iBAAkB,SAAQ,+BAAa;IAC1C,aAAa,GAAG,IAAI,eAAS,CAAC,iCAAgB,CAAC,CAAC;IAExD,YAAY,GAAG,IAAiD;QAC9D,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QAEf,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAEtE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAC/B,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,KAAU,EAAE,SAAoB;QAChE,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;QACvC,wCAAiB,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAElD,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAE7C,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AArBD,8CAqBC"}
|
|
File without changes
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/dex/uniswap-v4/hooks/cabalcoin-hook/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { UniswapV4Pool } from '../../uniswap-v4-pool';
|
|
2
|
-
import { PoolState } from '../../types';
|
|
3
|
-
export declare class FeeHookPool extends UniswapV4Pool {
|
|
4
|
-
private hookInterface;
|
|
5
|
-
constructor(...args: ConstructorParameters<typeof UniswapV4Pool>);
|
|
6
|
-
handleCustomFeeChangedEvent(event: any, poolState: PoolState): Promise<PoolState>;
|
|
7
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
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.FeeHookPool = void 0;
|
|
7
|
-
const abi_1 = require("@ethersproject/abi");
|
|
8
|
-
const uniswap_v4_pool_1 = require("../../uniswap-v4-pool");
|
|
9
|
-
const uniswap_v4_pool_math_1 = require("../../contract-math/uniswap-v4-pool-math");
|
|
10
|
-
const fee_hook_abi_json_1 = __importDefault(require("../../../../abi/uniswap-v4/hooks/fee-hook.abi.json"));
|
|
11
|
-
class FeeHookPool extends uniswap_v4_pool_1.UniswapV4Pool {
|
|
12
|
-
hookInterface = new abi_1.Interface(fee_hook_abi_json_1.default);
|
|
13
|
-
constructor(...args) {
|
|
14
|
-
super(...args);
|
|
15
|
-
this.addressesSubscribed.push(this.hooks);
|
|
16
|
-
this.logDecoders.push((log) => this.hookInterface.parseLog(log));
|
|
17
|
-
this.handlers['CustomFeeChanged'] =
|
|
18
|
-
this.handleCustomFeeChangedEvent.bind(this);
|
|
19
|
-
}
|
|
20
|
-
async handleCustomFeeChangedEvent(event, poolState) {
|
|
21
|
-
const id = event.args.id.toLowerCase();
|
|
22
|
-
uniswap_v4_pool_math_1.uniswapV4PoolMath.checkPoolInitialized(poolState);
|
|
23
|
-
poolState.fee = event.args.newFee.toString();
|
|
24
|
-
return poolState;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
exports.FeeHookPool = FeeHookPool;
|
|
28
|
-
//# sourceMappingURL=fee-hook-pool.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fee-hook-pool.js","sourceRoot":"","sources":["../../../../../src/dex/uniswap-v4/hooks/fee-hook/fee-hook-pool.ts"],"names":[],"mappings":";;;;;;AAAA,4CAA+C;AAC/C,2DAAsD;AAEtD,mFAA6E;AAE7E,2GAA4E;AAE5E,MAAa,WAAY,SAAQ,+BAAa;IACpC,aAAa,GAAG,IAAI,eAAS,CAAC,2BAAU,CAAC,CAAC;IAElD,YAAY,GAAG,IAAiD;QAC9D,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QAEf,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAEtE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAC/B,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,KAAU,EAAE,SAAoB;QAChE,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;QACvC,wCAAiB,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAElD,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAE7C,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AArBD,kCAqBC"}
|
|
File without changes
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/dex/uniswap-v4/hooks/fee-hook/types.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './arena';
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./arena"), exports);
|
|
18
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/dex/uniswap-v4/hooks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { BaseUniswapV4Hook, HookAfterSwapParams, HookAfterSwapResult, HookBeforeSwapParams, HookBeforeSwapResult, HookFactoryParams } from './template';
|
|
2
|
-
export declare class SpotHook extends BaseUniswapV4Hook {
|
|
3
|
-
private policyManagerAddress?;
|
|
4
|
-
private dynamicFeeManagerAddress?;
|
|
5
|
-
private policyManagerContract?;
|
|
6
|
-
private dynamicFeeManagerContract?;
|
|
7
|
-
private feeCache;
|
|
8
|
-
constructor(params: HookFactoryParams);
|
|
9
|
-
bootstrap(): Promise<void>;
|
|
10
|
-
beforeSwap(params: HookBeforeSwapParams): Promise<HookBeforeSwapResult | void>;
|
|
11
|
-
afterSwap(params: HookAfterSwapParams): Promise<HookAfterSwapResult | void>;
|
|
12
|
-
private calculateHookFee;
|
|
13
|
-
private ensureContracts;
|
|
14
|
-
private loadFeeState;
|
|
15
|
-
}
|
|
@@ -1,109 +0,0 @@
|
|
|
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.SpotHook = void 0;
|
|
7
|
-
const core_1 = require("@paraswap/core");
|
|
8
|
-
const SpotHook_json_1 = __importDefault(require("../../../abi/uniswap-v4/hooks/SpotHook.json"));
|
|
9
|
-
const SpotPolicyManager_json_1 = __importDefault(require("../../../abi/uniswap-v4/hooks/SpotPolicyManager.json"));
|
|
10
|
-
const SpotDynamicFeeManager_json_1 = __importDefault(require("../../../abi/uniswap-v4/hooks/SpotDynamicFeeManager.json"));
|
|
11
|
-
const template_1 = require("./template");
|
|
12
|
-
class SpotHook extends template_1.BaseUniswapV4Hook {
|
|
13
|
-
policyManagerAddress;
|
|
14
|
-
dynamicFeeManagerAddress;
|
|
15
|
-
policyManagerContract;
|
|
16
|
-
dynamicFeeManagerContract;
|
|
17
|
-
feeCache = new Map();
|
|
18
|
-
constructor(params) {
|
|
19
|
-
super(params.hookAddress, 'Spot', params);
|
|
20
|
-
}
|
|
21
|
-
async bootstrap() {
|
|
22
|
-
await this.ensureContracts();
|
|
23
|
-
}
|
|
24
|
-
async beforeSwap(params) {
|
|
25
|
-
if (params.blockNumber === undefined)
|
|
26
|
-
return undefined;
|
|
27
|
-
const { dynamicFeePPM, protocolFeePPM } = await this.loadFeeState(params.pool.id, params.blockNumber);
|
|
28
|
-
const result = {
|
|
29
|
-
metadata: { dynamicFeePPM, protocolFeePPM },
|
|
30
|
-
lpFeeOverride: dynamicFeePPM,
|
|
31
|
-
};
|
|
32
|
-
if (params.side === core_1.SwapSide.SELL &&
|
|
33
|
-
params.amountSpecified < 0n &&
|
|
34
|
-
protocolFeePPM > 0n) {
|
|
35
|
-
const hookFee = this.calculateHookFee(-params.amountSpecified, dynamicFeePPM, protocolFeePPM);
|
|
36
|
-
if (hookFee > 0n) {
|
|
37
|
-
result.amountSpecified = params.amountSpecified + hookFee;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return result;
|
|
41
|
-
}
|
|
42
|
-
async afterSwap(params) {
|
|
43
|
-
const metadata = params.metadata;
|
|
44
|
-
if (!metadata ||
|
|
45
|
-
metadata.protocolFeePPM === 0n ||
|
|
46
|
-
params.side !== core_1.SwapSide.BUY ||
|
|
47
|
-
params.amountIn <= 0n) {
|
|
48
|
-
return undefined;
|
|
49
|
-
}
|
|
50
|
-
const hookFee = this.calculateHookFee(params.amountIn, metadata.dynamicFeePPM, metadata.protocolFeePPM);
|
|
51
|
-
if (hookFee === 0n) {
|
|
52
|
-
return undefined;
|
|
53
|
-
}
|
|
54
|
-
return {
|
|
55
|
-
deltaAmountIn: hookFee,
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
calculateHookFee(amount, dynamicFeePPM, protocolFeePPM) {
|
|
59
|
-
if (amount === 0n || dynamicFeePPM === 0n || protocolFeePPM === 0n) {
|
|
60
|
-
return 0n;
|
|
61
|
-
}
|
|
62
|
-
return (amount * dynamicFeePPM * protocolFeePPM) / 1000000000000n;
|
|
63
|
-
}
|
|
64
|
-
async ensureContracts() {
|
|
65
|
-
if (this.policyManagerContract && this.dynamicFeeManagerContract) {
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
const spotContract = new this.dexHelper.web3Provider.eth.Contract(SpotHook_json_1.default, this.hookAddress);
|
|
69
|
-
const [policyManager, dynamicFeeManager] = await Promise.all([
|
|
70
|
-
spotContract.methods.policyManager().call(),
|
|
71
|
-
spotContract.methods.dynamicFeeManager().call(),
|
|
72
|
-
]);
|
|
73
|
-
this.policyManagerAddress = policyManager.toLowerCase();
|
|
74
|
-
this.dynamicFeeManagerAddress = dynamicFeeManager.toLowerCase();
|
|
75
|
-
this.policyManagerContract = new this.dexHelper.web3Provider.eth.Contract(SpotPolicyManager_json_1.default, this.policyManagerAddress);
|
|
76
|
-
this.dynamicFeeManagerContract =
|
|
77
|
-
new this.dexHelper.web3Provider.eth.Contract(SpotDynamicFeeManager_json_1.default, this.dynamicFeeManagerAddress);
|
|
78
|
-
}
|
|
79
|
-
async loadFeeState(poolId, blockNumber) {
|
|
80
|
-
await this.ensureContracts();
|
|
81
|
-
const normalizedPoolId = poolId.toLowerCase();
|
|
82
|
-
const cached = this.feeCache.get(normalizedPoolId);
|
|
83
|
-
if (cached && cached.blockNumber === blockNumber) {
|
|
84
|
-
return cached;
|
|
85
|
-
}
|
|
86
|
-
const [manualFeeRaw, protocolFeeRaw, feeStateRaw] = await Promise.all([
|
|
87
|
-
this.policyManagerContract.methods.getManualFee(normalizedPoolId).call({}, blockNumber),
|
|
88
|
-
this.policyManagerContract.methods.getPoolPOLShare(normalizedPoolId).call({}, blockNumber),
|
|
89
|
-
this.dynamicFeeManagerContract.methods.getFeeState(normalizedPoolId).call({}, blockNumber),
|
|
90
|
-
]);
|
|
91
|
-
const manualFeeResponse = manualFeeRaw;
|
|
92
|
-
const manualFee = BigInt(manualFeeResponse.manualFee ?? manualFeeResponse[0]);
|
|
93
|
-
const hasManualFee = Boolean(manualFeeResponse.isSet ?? manualFeeResponse[1]);
|
|
94
|
-
const feeStateResponse = feeStateRaw;
|
|
95
|
-
const baseFee = BigInt(feeStateResponse.baseFeePpm ?? feeStateResponse[0]);
|
|
96
|
-
const surgeFee = BigInt(feeStateResponse.surgeFeePpm ?? feeStateResponse[1]);
|
|
97
|
-
const protocolFeePPM = BigInt(protocolFeeRaw);
|
|
98
|
-
const dynamicFeePPM = hasManualFee ? manualFee : baseFee + surgeFee;
|
|
99
|
-
const entry = {
|
|
100
|
-
blockNumber,
|
|
101
|
-
dynamicFeePPM,
|
|
102
|
-
protocolFeePPM,
|
|
103
|
-
};
|
|
104
|
-
this.feeCache.set(normalizedPoolId, entry);
|
|
105
|
-
return entry;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
exports.SpotHook = SpotHook;
|
|
109
|
-
//# sourceMappingURL=spot.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"spot.js","sourceRoot":"","sources":["../../../../src/dex/uniswap-v4/hooks/spot.ts"],"names":[],"mappings":"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"}
|