@7kprotocol/sdk-ts 3.6.0 → 3.6.1-beta.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/README.md +1 -11
- package/lib/cjs/config/fetchClient.js +1 -9
- package/lib/cjs/constants/_7k.js +13 -10
- package/lib/cjs/constants/apiEndpoints.js +1 -1
- package/lib/cjs/features/metaAg/common.js +2 -2
- package/lib/cjs/features/metaAg/error.js +0 -4
- package/lib/cjs/features/metaAg/index.js +3 -8
- package/lib/cjs/features/prices/index.js +51 -20
- package/lib/cjs/index.js +1 -35
- package/lib/cjs/types/config/fetchClient.d.ts.map +1 -1
- package/lib/cjs/types/constants/_7k.d.ts +0 -3
- package/lib/cjs/types/constants/_7k.d.ts.map +1 -1
- package/lib/cjs/types/features/metaAg/common.d.ts +1 -1
- package/lib/cjs/types/features/metaAg/error.d.ts +1 -7
- package/lib/cjs/types/features/metaAg/error.d.ts.map +1 -1
- package/lib/cjs/types/features/metaAg/index.d.ts +1 -1
- package/lib/cjs/types/features/metaAg/index.d.ts.map +1 -1
- package/lib/cjs/types/features/prices/index.d.ts +16 -2
- package/lib/cjs/types/features/prices/index.d.ts.map +1 -1
- package/lib/cjs/types/index.d.ts +1 -32
- package/lib/cjs/types/index.d.ts.map +1 -1
- package/lib/cjs/types/metaAg.js +1 -3
- package/lib/cjs/types/types/metaAg.d.ts +2 -14
- package/lib/cjs/types/types/metaAg.d.ts.map +1 -1
- package/lib/cjs/types/utils/sui.d.ts +0 -31
- package/lib/cjs/types/utils/sui.d.ts.map +1 -1
- package/lib/cjs/types/utils/swap.d.ts +15 -0
- package/lib/cjs/types/utils/swap.d.ts.map +1 -0
- package/lib/cjs/utils/sui.js +3 -146
- package/lib/cjs/utils/swap.js +37 -0
- package/lib/esm/config/fetchClient.js +1 -9
- package/lib/esm/constants/_7k.js +12 -9
- package/lib/esm/constants/apiEndpoints.js +1 -1
- package/lib/esm/features/metaAg/common.js +1 -1
- package/lib/esm/features/metaAg/error.js +0 -4
- package/lib/esm/features/metaAg/index.js +2 -7
- package/lib/esm/features/prices/index.js +52 -21
- package/lib/esm/index.mjs +3 -31
- package/lib/esm/types/config/fetchClient.d.ts.map +1 -1
- package/lib/esm/types/constants/_7k.d.ts +0 -3
- package/lib/esm/types/constants/_7k.d.ts.map +1 -1
- package/lib/esm/types/features/metaAg/common.d.ts +1 -1
- package/lib/esm/types/features/metaAg/error.d.ts +1 -7
- package/lib/esm/types/features/metaAg/error.d.ts.map +1 -1
- package/lib/esm/types/features/metaAg/index.d.ts +1 -1
- package/lib/esm/types/features/metaAg/index.d.ts.map +1 -1
- package/lib/esm/types/features/prices/index.d.ts +16 -2
- package/lib/esm/types/features/prices/index.d.ts.map +1 -1
- package/lib/esm/types/index.d.ts +1 -32
- package/lib/esm/types/index.d.ts.map +1 -1
- package/lib/esm/types/metaAg.js +1 -3
- package/lib/esm/types/types/metaAg.d.ts +2 -14
- package/lib/esm/types/types/metaAg.d.ts.map +1 -1
- package/lib/esm/types/utils/sui.d.ts +0 -31
- package/lib/esm/types/utils/sui.d.ts.map +1 -1
- package/lib/esm/types/utils/swap.d.ts +15 -0
- package/lib/esm/types/utils/swap.d.ts.map +1 -0
- package/lib/esm/utils/sui.js +4 -147
- package/lib/esm/utils/swap.js +33 -0
- package/package.json +1 -1
- package/lib/cjs/config/index.js +0 -67
- package/lib/cjs/features/metaAg/providers/bluefin7kLegacy.js +0 -68
- package/lib/cjs/features/swap/buildTx.js +0 -198
- package/lib/cjs/features/swap/buildTxV2.js +0 -229
- package/lib/cjs/features/swap/config.js +0 -154
- package/lib/cjs/features/swap/estimateGasFee.js +0 -44
- package/lib/cjs/features/swap/executeTx.js +0 -52
- package/lib/cjs/features/swap/getQuote.js +0 -95
- package/lib/cjs/features/swap/getSwapHistory.js +0 -21
- package/lib/cjs/features/swap/index.js +0 -22
- package/lib/cjs/libs/groupSwapRoutes.js +0 -60
- package/lib/cjs/libs/protocols/aftermath/index.js +0 -35
- package/lib/cjs/libs/protocols/base.js +0 -41
- package/lib/cjs/libs/protocols/bluefin/index.js +0 -38
- package/lib/cjs/libs/protocols/bluefinx/client.js +0 -41
- package/lib/cjs/libs/protocols/bluefinx/index.js +0 -48
- package/lib/cjs/libs/protocols/bluefinx/types.js +0 -10
- package/lib/cjs/libs/protocols/bluemove/index.js +0 -24
- package/lib/cjs/libs/protocols/cetus/index.js +0 -44
- package/lib/cjs/libs/protocols/cetus_dlmm.js +0 -48
- package/lib/cjs/libs/protocols/constants.js +0 -5
- package/lib/cjs/libs/protocols/deepbookV3/sponsored.js +0 -30
- package/lib/cjs/libs/protocols/ferra_clmm.js +0 -44
- package/lib/cjs/libs/protocols/ferra_dlmm.js +0 -30
- package/lib/cjs/libs/protocols/flowx/index.js +0 -18
- package/lib/cjs/libs/protocols/flowxV3/index.js +0 -36
- package/lib/cjs/libs/protocols/fullsail/index.js +0 -39
- package/lib/cjs/libs/protocols/haedal_pmm/index.js +0 -31
- package/lib/cjs/libs/protocols/index.js +0 -55
- package/lib/cjs/libs/protocols/kriya/index.js +0 -30
- package/lib/cjs/libs/protocols/kriyaV3/index.js +0 -65
- package/lib/cjs/libs/protocols/magma/index.js +0 -40
- package/lib/cjs/libs/protocols/momentum/index.js +0 -49
- package/lib/cjs/libs/protocols/obric/index.js +0 -28
- package/lib/cjs/libs/protocols/sevenk/index.js +0 -55
- package/lib/cjs/libs/protocols/springsui/index.js +0 -24
- package/lib/cjs/libs/protocols/steamm/index.js +0 -160
- package/lib/cjs/libs/protocols/stsui/index.js +0 -24
- package/lib/cjs/libs/protocols/suiswap/index.js +0 -34
- package/lib/cjs/libs/protocols/turbos/index.js +0 -36
- package/lib/cjs/libs/protocols/utils.js +0 -7
- package/lib/cjs/libs/swapWithRoute.js +0 -22
- package/lib/cjs/types/aggregator.js +0 -19
- package/lib/cjs/types/config/index.d.ts +0 -30
- package/lib/cjs/types/config/index.d.ts.map +0 -1
- package/lib/cjs/types/features/metaAg/providers/bluefin7kLegacy.d.ts +0 -11
- package/lib/cjs/types/features/metaAg/providers/bluefin7kLegacy.d.ts.map +0 -1
- package/lib/cjs/types/features/swap/buildTx.d.ts +0 -17
- package/lib/cjs/types/features/swap/buildTx.d.ts.map +0 -1
- package/lib/cjs/types/features/swap/buildTxV2.d.ts +0 -20
- package/lib/cjs/types/features/swap/buildTxV2.d.ts.map +0 -1
- package/lib/cjs/types/features/swap/config.d.ts +0 -4
- package/lib/cjs/types/features/swap/config.d.ts.map +0 -1
- package/lib/cjs/types/features/swap/estimateGasFee.d.ts +0 -3
- package/lib/cjs/types/features/swap/estimateGasFee.d.ts.map +0 -1
- package/lib/cjs/types/features/swap/executeTx.d.ts +0 -24
- package/lib/cjs/types/features/swap/executeTx.d.ts.map +0 -1
- package/lib/cjs/types/features/swap/getQuote.d.ts +0 -27
- package/lib/cjs/types/features/swap/getQuote.d.ts.map +0 -1
- package/lib/cjs/types/features/swap/getSwapHistory.d.ts +0 -22
- package/lib/cjs/types/features/swap/getSwapHistory.d.ts.map +0 -1
- package/lib/cjs/types/features/swap/index.d.ts +0 -7
- package/lib/cjs/types/features/swap/index.d.ts.map +0 -1
- package/lib/cjs/types/libs/groupSwapRoutes.d.ts +0 -3
- package/lib/cjs/types/libs/groupSwapRoutes.d.ts.map +0 -1
- package/lib/cjs/types/libs/protocols/aftermath/index.d.ts +0 -9
- package/lib/cjs/types/libs/protocols/aftermath/index.d.ts.map +0 -1
- package/lib/cjs/types/libs/protocols/base.d.ts +0 -24
- package/lib/cjs/types/libs/protocols/base.d.ts.map +0 -1
- package/lib/cjs/types/libs/protocols/bluefin/index.d.ts +0 -9
- package/lib/cjs/types/libs/protocols/bluefin/index.d.ts.map +0 -1
- package/lib/cjs/types/libs/protocols/bluefinx/client.d.ts +0 -13
- package/lib/cjs/types/libs/protocols/bluefinx/client.d.ts.map +0 -1
- package/lib/cjs/types/libs/protocols/bluefinx/index.d.ts +0 -17
- package/lib/cjs/types/libs/protocols/bluefinx/index.d.ts.map +0 -1
- package/lib/cjs/types/libs/protocols/bluefinx/types.d.ts +0 -34
- package/lib/cjs/types/libs/protocols/bluefinx/types.d.ts.map +0 -1
- package/lib/cjs/types/libs/protocols/bluemove/index.d.ts +0 -9
- package/lib/cjs/types/libs/protocols/bluemove/index.d.ts.map +0 -1
- package/lib/cjs/types/libs/protocols/cetus/index.d.ts +0 -9
- package/lib/cjs/types/libs/protocols/cetus/index.d.ts.map +0 -1
- package/lib/cjs/types/libs/protocols/cetus_dlmm.d.ts +0 -9
- package/lib/cjs/types/libs/protocols/cetus_dlmm.d.ts.map +0 -1
- package/lib/cjs/types/libs/protocols/constants.d.ts +0 -3
- package/lib/cjs/types/libs/protocols/constants.d.ts.map +0 -1
- package/lib/cjs/types/libs/protocols/deepbookV3/sponsored.d.ts +0 -7
- package/lib/cjs/types/libs/protocols/deepbookV3/sponsored.d.ts.map +0 -1
- package/lib/cjs/types/libs/protocols/ferra_clmm.d.ts +0 -9
- package/lib/cjs/types/libs/protocols/ferra_clmm.d.ts.map +0 -1
- package/lib/cjs/types/libs/protocols/ferra_dlmm.d.ts +0 -9
- package/lib/cjs/types/libs/protocols/ferra_dlmm.d.ts.map +0 -1
- package/lib/cjs/types/libs/protocols/flowx/index.d.ts +0 -9
- package/lib/cjs/types/libs/protocols/flowx/index.d.ts.map +0 -1
- package/lib/cjs/types/libs/protocols/flowxV3/index.d.ts +0 -9
- package/lib/cjs/types/libs/protocols/flowxV3/index.d.ts.map +0 -1
- package/lib/cjs/types/libs/protocols/fullsail/index.d.ts +0 -9
- package/lib/cjs/types/libs/protocols/fullsail/index.d.ts.map +0 -1
- package/lib/cjs/types/libs/protocols/haedal_pmm/index.d.ts +0 -14
- package/lib/cjs/types/libs/protocols/haedal_pmm/index.d.ts.map +0 -1
- package/lib/cjs/types/libs/protocols/index.d.ts +0 -53
- package/lib/cjs/types/libs/protocols/index.d.ts.map +0 -1
- package/lib/cjs/types/libs/protocols/kriya/index.d.ts +0 -9
- package/lib/cjs/types/libs/protocols/kriya/index.d.ts.map +0 -1
- package/lib/cjs/types/libs/protocols/kriyaV3/index.d.ts +0 -9
- package/lib/cjs/types/libs/protocols/kriyaV3/index.d.ts.map +0 -1
- package/lib/cjs/types/libs/protocols/magma/index.d.ts +0 -9
- package/lib/cjs/types/libs/protocols/magma/index.d.ts.map +0 -1
- package/lib/cjs/types/libs/protocols/momentum/index.d.ts +0 -9
- package/lib/cjs/types/libs/protocols/momentum/index.d.ts.map +0 -1
- package/lib/cjs/types/libs/protocols/obric/index.d.ts +0 -14
- package/lib/cjs/types/libs/protocols/obric/index.d.ts.map +0 -1
- package/lib/cjs/types/libs/protocols/sevenk/index.d.ts +0 -18
- package/lib/cjs/types/libs/protocols/sevenk/index.d.ts.map +0 -1
- package/lib/cjs/types/libs/protocols/springsui/index.d.ts +0 -9
- package/lib/cjs/types/libs/protocols/springsui/index.d.ts.map +0 -1
- package/lib/cjs/types/libs/protocols/steamm/index.d.ts +0 -28
- package/lib/cjs/types/libs/protocols/steamm/index.d.ts.map +0 -1
- package/lib/cjs/types/libs/protocols/stsui/index.d.ts +0 -9
- package/lib/cjs/types/libs/protocols/stsui/index.d.ts.map +0 -1
- package/lib/cjs/types/libs/protocols/suiswap/index.d.ts +0 -9
- package/lib/cjs/types/libs/protocols/suiswap/index.d.ts.map +0 -1
- package/lib/cjs/types/libs/protocols/turbos/index.d.ts +0 -9
- package/lib/cjs/types/libs/protocols/turbos/index.d.ts.map +0 -1
- package/lib/cjs/types/libs/protocols/utils.d.ts +0 -2
- package/lib/cjs/types/libs/protocols/utils.d.ts.map +0 -1
- package/lib/cjs/types/libs/swapWithRoute.d.ts +0 -12
- package/lib/cjs/types/libs/swapWithRoute.d.ts.map +0 -1
- package/lib/cjs/types/sui.js +0 -2
- package/lib/cjs/types/tx.js +0 -2
- package/lib/cjs/types/types/aggregator.d.ts +0 -173
- package/lib/cjs/types/types/aggregator.d.ts.map +0 -1
- package/lib/cjs/types/types/sui.d.ts +0 -4
- package/lib/cjs/types/types/sui.d.ts.map +0 -1
- package/lib/cjs/types/types/tx.d.ts +0 -67
- package/lib/cjs/types/types/tx.d.ts.map +0 -1
- package/lib/cjs/types/types/utilities.d.ts +0 -5
- package/lib/cjs/types/types/utilities.d.ts.map +0 -1
- package/lib/cjs/types/utilities.js +0 -2
- package/lib/cjs/types/utils/number.d.ts +0 -2
- package/lib/cjs/types/utils/number.d.ts.map +0 -1
- package/lib/cjs/utils/number.js +0 -9
- package/lib/esm/config/index.js +0 -64
- package/lib/esm/features/metaAg/providers/bluefin7kLegacy.js +0 -66
- package/lib/esm/features/swap/buildTx.js +0 -188
- package/lib/esm/features/swap/buildTxV2.js +0 -223
- package/lib/esm/features/swap/config.js +0 -150
- package/lib/esm/features/swap/estimateGasFee.js +0 -41
- package/lib/esm/features/swap/executeTx.js +0 -48
- package/lib/esm/features/swap/getQuote.js +0 -91
- package/lib/esm/features/swap/getSwapHistory.js +0 -18
- package/lib/esm/features/swap/index.js +0 -6
- package/lib/esm/libs/groupSwapRoutes.js +0 -57
- package/lib/esm/libs/protocols/aftermath/index.js +0 -31
- package/lib/esm/libs/protocols/base.js +0 -42
- package/lib/esm/libs/protocols/bluefin/index.js +0 -34
- package/lib/esm/libs/protocols/bluefinx/client.js +0 -36
- package/lib/esm/libs/protocols/bluefinx/index.js +0 -44
- package/lib/esm/libs/protocols/bluefinx/types.js +0 -8
- package/lib/esm/libs/protocols/bluemove/index.js +0 -20
- package/lib/esm/libs/protocols/cetus/index.js +0 -40
- package/lib/esm/libs/protocols/cetus_dlmm.js +0 -44
- package/lib/esm/libs/protocols/constants.js +0 -2
- package/lib/esm/libs/protocols/deepbookV3/sponsored.js +0 -26
- package/lib/esm/libs/protocols/ferra_clmm.js +0 -40
- package/lib/esm/libs/protocols/ferra_dlmm.js +0 -26
- package/lib/esm/libs/protocols/flowx/index.js +0 -14
- package/lib/esm/libs/protocols/flowxV3/index.js +0 -32
- package/lib/esm/libs/protocols/fullsail/index.js +0 -35
- package/lib/esm/libs/protocols/haedal_pmm/index.js +0 -27
- package/lib/esm/libs/protocols/index.js +0 -52
- package/lib/esm/libs/protocols/kriya/index.js +0 -26
- package/lib/esm/libs/protocols/kriyaV3/index.js +0 -61
- package/lib/esm/libs/protocols/magma/index.js +0 -36
- package/lib/esm/libs/protocols/momentum/index.js +0 -45
- package/lib/esm/libs/protocols/obric/index.js +0 -24
- package/lib/esm/libs/protocols/sevenk/index.js +0 -51
- package/lib/esm/libs/protocols/springsui/index.js +0 -20
- package/lib/esm/libs/protocols/steamm/index.js +0 -156
- package/lib/esm/libs/protocols/stsui/index.js +0 -20
- package/lib/esm/libs/protocols/suiswap/index.js +0 -30
- package/lib/esm/libs/protocols/turbos/index.js +0 -32
- package/lib/esm/libs/protocols/utils.js +0 -4
- package/lib/esm/libs/swapWithRoute.js +0 -19
- package/lib/esm/types/aggregator.js +0 -14
- package/lib/esm/types/config/index.d.ts +0 -30
- package/lib/esm/types/config/index.d.ts.map +0 -1
- package/lib/esm/types/features/metaAg/providers/bluefin7kLegacy.d.ts +0 -11
- package/lib/esm/types/features/metaAg/providers/bluefin7kLegacy.d.ts.map +0 -1
- package/lib/esm/types/features/swap/buildTx.d.ts +0 -17
- package/lib/esm/types/features/swap/buildTx.d.ts.map +0 -1
- package/lib/esm/types/features/swap/buildTxV2.d.ts +0 -20
- package/lib/esm/types/features/swap/buildTxV2.d.ts.map +0 -1
- package/lib/esm/types/features/swap/config.d.ts +0 -4
- package/lib/esm/types/features/swap/config.d.ts.map +0 -1
- package/lib/esm/types/features/swap/estimateGasFee.d.ts +0 -3
- package/lib/esm/types/features/swap/estimateGasFee.d.ts.map +0 -1
- package/lib/esm/types/features/swap/executeTx.d.ts +0 -24
- package/lib/esm/types/features/swap/executeTx.d.ts.map +0 -1
- package/lib/esm/types/features/swap/getQuote.d.ts +0 -27
- package/lib/esm/types/features/swap/getQuote.d.ts.map +0 -1
- package/lib/esm/types/features/swap/getSwapHistory.d.ts +0 -22
- package/lib/esm/types/features/swap/getSwapHistory.d.ts.map +0 -1
- package/lib/esm/types/features/swap/index.d.ts +0 -7
- package/lib/esm/types/features/swap/index.d.ts.map +0 -1
- package/lib/esm/types/libs/groupSwapRoutes.d.ts +0 -3
- package/lib/esm/types/libs/groupSwapRoutes.d.ts.map +0 -1
- package/lib/esm/types/libs/protocols/aftermath/index.d.ts +0 -9
- package/lib/esm/types/libs/protocols/aftermath/index.d.ts.map +0 -1
- package/lib/esm/types/libs/protocols/base.d.ts +0 -24
- package/lib/esm/types/libs/protocols/base.d.ts.map +0 -1
- package/lib/esm/types/libs/protocols/bluefin/index.d.ts +0 -9
- package/lib/esm/types/libs/protocols/bluefin/index.d.ts.map +0 -1
- package/lib/esm/types/libs/protocols/bluefinx/client.d.ts +0 -13
- package/lib/esm/types/libs/protocols/bluefinx/client.d.ts.map +0 -1
- package/lib/esm/types/libs/protocols/bluefinx/index.d.ts +0 -17
- package/lib/esm/types/libs/protocols/bluefinx/index.d.ts.map +0 -1
- package/lib/esm/types/libs/protocols/bluefinx/types.d.ts +0 -34
- package/lib/esm/types/libs/protocols/bluefinx/types.d.ts.map +0 -1
- package/lib/esm/types/libs/protocols/bluemove/index.d.ts +0 -9
- package/lib/esm/types/libs/protocols/bluemove/index.d.ts.map +0 -1
- package/lib/esm/types/libs/protocols/cetus/index.d.ts +0 -9
- package/lib/esm/types/libs/protocols/cetus/index.d.ts.map +0 -1
- package/lib/esm/types/libs/protocols/cetus_dlmm.d.ts +0 -9
- package/lib/esm/types/libs/protocols/cetus_dlmm.d.ts.map +0 -1
- package/lib/esm/types/libs/protocols/constants.d.ts +0 -3
- package/lib/esm/types/libs/protocols/constants.d.ts.map +0 -1
- package/lib/esm/types/libs/protocols/deepbookV3/sponsored.d.ts +0 -7
- package/lib/esm/types/libs/protocols/deepbookV3/sponsored.d.ts.map +0 -1
- package/lib/esm/types/libs/protocols/ferra_clmm.d.ts +0 -9
- package/lib/esm/types/libs/protocols/ferra_clmm.d.ts.map +0 -1
- package/lib/esm/types/libs/protocols/ferra_dlmm.d.ts +0 -9
- package/lib/esm/types/libs/protocols/ferra_dlmm.d.ts.map +0 -1
- package/lib/esm/types/libs/protocols/flowx/index.d.ts +0 -9
- package/lib/esm/types/libs/protocols/flowx/index.d.ts.map +0 -1
- package/lib/esm/types/libs/protocols/flowxV3/index.d.ts +0 -9
- package/lib/esm/types/libs/protocols/flowxV3/index.d.ts.map +0 -1
- package/lib/esm/types/libs/protocols/fullsail/index.d.ts +0 -9
- package/lib/esm/types/libs/protocols/fullsail/index.d.ts.map +0 -1
- package/lib/esm/types/libs/protocols/haedal_pmm/index.d.ts +0 -14
- package/lib/esm/types/libs/protocols/haedal_pmm/index.d.ts.map +0 -1
- package/lib/esm/types/libs/protocols/index.d.ts +0 -53
- package/lib/esm/types/libs/protocols/index.d.ts.map +0 -1
- package/lib/esm/types/libs/protocols/kriya/index.d.ts +0 -9
- package/lib/esm/types/libs/protocols/kriya/index.d.ts.map +0 -1
- package/lib/esm/types/libs/protocols/kriyaV3/index.d.ts +0 -9
- package/lib/esm/types/libs/protocols/kriyaV3/index.d.ts.map +0 -1
- package/lib/esm/types/libs/protocols/magma/index.d.ts +0 -9
- package/lib/esm/types/libs/protocols/magma/index.d.ts.map +0 -1
- package/lib/esm/types/libs/protocols/momentum/index.d.ts +0 -9
- package/lib/esm/types/libs/protocols/momentum/index.d.ts.map +0 -1
- package/lib/esm/types/libs/protocols/obric/index.d.ts +0 -14
- package/lib/esm/types/libs/protocols/obric/index.d.ts.map +0 -1
- package/lib/esm/types/libs/protocols/sevenk/index.d.ts +0 -18
- package/lib/esm/types/libs/protocols/sevenk/index.d.ts.map +0 -1
- package/lib/esm/types/libs/protocols/springsui/index.d.ts +0 -9
- package/lib/esm/types/libs/protocols/springsui/index.d.ts.map +0 -1
- package/lib/esm/types/libs/protocols/steamm/index.d.ts +0 -28
- package/lib/esm/types/libs/protocols/steamm/index.d.ts.map +0 -1
- package/lib/esm/types/libs/protocols/stsui/index.d.ts +0 -9
- package/lib/esm/types/libs/protocols/stsui/index.d.ts.map +0 -1
- package/lib/esm/types/libs/protocols/suiswap/index.d.ts +0 -9
- package/lib/esm/types/libs/protocols/suiswap/index.d.ts.map +0 -1
- package/lib/esm/types/libs/protocols/turbos/index.d.ts +0 -9
- package/lib/esm/types/libs/protocols/turbos/index.d.ts.map +0 -1
- package/lib/esm/types/libs/protocols/utils.d.ts +0 -2
- package/lib/esm/types/libs/protocols/utils.d.ts.map +0 -1
- package/lib/esm/types/libs/swapWithRoute.d.ts +0 -12
- package/lib/esm/types/libs/swapWithRoute.d.ts.map +0 -1
- package/lib/esm/types/sui.js +0 -1
- package/lib/esm/types/tx.js +0 -1
- package/lib/esm/types/types/aggregator.d.ts +0 -173
- package/lib/esm/types/types/aggregator.d.ts.map +0 -1
- package/lib/esm/types/types/sui.d.ts +0 -4
- package/lib/esm/types/types/sui.d.ts.map +0 -1
- package/lib/esm/types/types/tx.d.ts +0 -67
- package/lib/esm/types/types/tx.d.ts.map +0 -1
- package/lib/esm/types/types/utilities.d.ts +0 -5
- package/lib/esm/types/types/utilities.d.ts.map +0 -1
- package/lib/esm/types/utilities.js +0 -1
- package/lib/esm/types/utils/number.d.ts +0 -2
- package/lib/esm/types/utils/number.d.ts.map +0 -1
- package/lib/esm/utils/number.js +0 -6
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { SUI_CLOCK_OBJECT_ID } from "@mysten/sui/utils";
|
|
2
|
-
import { SuiUtils } from "../../utils/sui";
|
|
3
|
-
import { BaseContract } from "./base";
|
|
4
|
-
export class FerraDLMMContract extends BaseContract {
|
|
5
|
-
async swap(tx) {
|
|
6
|
-
const config = this.config.ferra_dlmm;
|
|
7
|
-
const [xIn, yIn] = this.swapInfo.swapXtoY
|
|
8
|
-
? [this.inputCoinObject, SuiUtils.zeroCoin(tx, this.swapInfo.coinY.type)]
|
|
9
|
-
: [SuiUtils.zeroCoin(tx, this.swapInfo.coinX.type), this.inputCoinObject];
|
|
10
|
-
const [x, y] = tx.moveCall({
|
|
11
|
-
target: `${config.package}::lb_pair::swap`,
|
|
12
|
-
typeArguments: [this.swapInfo.coinX.type, this.swapInfo.coinY.type],
|
|
13
|
-
arguments: [
|
|
14
|
-
tx.object(config.globalConfig),
|
|
15
|
-
tx.object(this.swapInfo.poolId),
|
|
16
|
-
tx.pure.bool(this.swapInfo.swapXtoY),
|
|
17
|
-
tx.pure.u64(0), // min output amount
|
|
18
|
-
xIn,
|
|
19
|
-
yIn,
|
|
20
|
-
tx.object(SUI_CLOCK_OBJECT_ID),
|
|
21
|
-
],
|
|
22
|
-
});
|
|
23
|
-
SuiUtils.transferOrDestroyZeroCoin(tx, this.swapInfo.assetIn, this.swapInfo.swapXtoY ? x : y, this.currentAccount);
|
|
24
|
-
return this.swapInfo.swapXtoY ? y : x;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { BaseContract } from "../base";
|
|
2
|
-
export class FlowXContract extends BaseContract {
|
|
3
|
-
async swap(tx) {
|
|
4
|
-
const coinInType = this.swapInfo.assetIn;
|
|
5
|
-
const coinOutType = this.swapInfo.assetOut;
|
|
6
|
-
const config = this.config.flowx;
|
|
7
|
-
const [tokenOut] = tx.moveCall({
|
|
8
|
-
target: `${config.package}::router::swap_exact_input_direct`,
|
|
9
|
-
typeArguments: [coinInType, coinOutType],
|
|
10
|
-
arguments: [tx.object(config.container), this.inputCoinObject],
|
|
11
|
-
});
|
|
12
|
-
return tokenOut;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { SUI_CLOCK_OBJECT_ID } from "@mysten/sui/utils";
|
|
2
|
-
import { BaseContract } from "../base";
|
|
3
|
-
import { getDefaultSqrtPriceLimit } from "../utils";
|
|
4
|
-
export class FlowxV3Contract extends BaseContract {
|
|
5
|
-
async swap(tx) {
|
|
6
|
-
const [coinX, coinY] = this.swapInfo.pool.allTokens;
|
|
7
|
-
const swapXtoY = this.swapInfo.swapXtoY;
|
|
8
|
-
const swapFeeRate = this.swapInfo.extra.swapFeeRate;
|
|
9
|
-
if (!swapFeeRate) {
|
|
10
|
-
throw new Error("swapFeeRate is required");
|
|
11
|
-
}
|
|
12
|
-
const config = this.config.flowx_v3;
|
|
13
|
-
const [coinOut] = tx.moveCall({
|
|
14
|
-
target: `${config.package}::swap_router::swap_exact_input`,
|
|
15
|
-
typeArguments: [
|
|
16
|
-
swapXtoY ? coinX.address : coinY.address,
|
|
17
|
-
swapXtoY ? coinY.address : coinX.address,
|
|
18
|
-
],
|
|
19
|
-
arguments: [
|
|
20
|
-
tx.object(config.registry),
|
|
21
|
-
tx.pure.u64(swapFeeRate), // swap fee rate to lookup pool in the registry
|
|
22
|
-
this.inputCoinObject,
|
|
23
|
-
tx.pure.u64(0), // min amount out
|
|
24
|
-
tx.pure.u128(getDefaultSqrtPriceLimit(swapXtoY) + (swapXtoY ? 1n : -1n)), // sqrt price limit
|
|
25
|
-
tx.pure.u64("18446744073709551615"), // u64 max value
|
|
26
|
-
tx.object(config.version),
|
|
27
|
-
tx.object(SUI_CLOCK_OBJECT_ID),
|
|
28
|
-
],
|
|
29
|
-
});
|
|
30
|
-
return coinOut;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { BaseContract } from "../base";
|
|
2
|
-
import { SUI_CLOCK_OBJECT_ID } from "@mysten/sui/utils";
|
|
3
|
-
import { SuiUtils } from "../../../utils/sui";
|
|
4
|
-
import { getDefaultSqrtPriceLimit } from "../utils";
|
|
5
|
-
export class FullsailContract extends BaseContract {
|
|
6
|
-
async swap(tx) {
|
|
7
|
-
const [coinX, coinY] = this.swapInfo.pool.allTokens;
|
|
8
|
-
const swapXtoY = this.swapInfo.swapXtoY;
|
|
9
|
-
const sqrtPriceLimit = getDefaultSqrtPriceLimit(swapXtoY);
|
|
10
|
-
const typeArguments = [coinX.address, coinY.address];
|
|
11
|
-
const zeroOut = SuiUtils.zeroCoin(tx, swapXtoY ? coinY.address : coinX.address);
|
|
12
|
-
const config = this.config.fullsail;
|
|
13
|
-
const [receiveA, receiveB] = tx.moveCall({
|
|
14
|
-
target: `${config.package}::router::swap`,
|
|
15
|
-
typeArguments,
|
|
16
|
-
arguments: [
|
|
17
|
-
tx.object(config.globalConfig),
|
|
18
|
-
tx.object(config.rewarderGlobalVault),
|
|
19
|
-
tx.object(this.swapInfo.poolId),
|
|
20
|
-
swapXtoY ? this.inputCoinObject : zeroOut, // coin A
|
|
21
|
-
swapXtoY ? zeroOut : this.inputCoinObject, // coin B
|
|
22
|
-
tx.pure.bool(swapXtoY), // a to b or b to a
|
|
23
|
-
tx.pure.bool(true), // exact in or out
|
|
24
|
-
this.getInputCoinValue(tx), // swap amount
|
|
25
|
-
tx.pure.u128(sqrtPriceLimit.toString()), // sqrt price limit
|
|
26
|
-
tx.pure.bool(false),
|
|
27
|
-
tx.object(config.stats),
|
|
28
|
-
tx.object(config.priceProvider),
|
|
29
|
-
tx.object(SUI_CLOCK_OBJECT_ID),
|
|
30
|
-
],
|
|
31
|
-
});
|
|
32
|
-
SuiUtils.collectDust(tx, this.swapInfo.assetIn, swapXtoY ? receiveA : receiveB);
|
|
33
|
-
return swapXtoY ? receiveB : receiveA;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { SUI_CLOCK_OBJECT_ID } from "@mysten/sui/utils";
|
|
2
|
-
import { SuiUtils } from "../../../utils/sui";
|
|
3
|
-
import { BaseContract } from "../base";
|
|
4
|
-
export class HaedalPMMContract extends BaseContract {
|
|
5
|
-
async swap(tx) {
|
|
6
|
-
const [coinX, coinY] = this.swapInfo.pool.allTokens;
|
|
7
|
-
const xToY = this.swapInfo.swapXtoY;
|
|
8
|
-
const oracleX = this.getPythPriceInfoId(this.extra.oracles?.[0]);
|
|
9
|
-
const oracleY = this.getPythPriceInfoId(this.extra.oracles?.[1]);
|
|
10
|
-
const config = this.config.haedal_pmm;
|
|
11
|
-
const [coinOut] = tx.moveCall({
|
|
12
|
-
target: `${config.package}::trader::${xToY ? "sell_base_coin" : "sell_quote_coin"}`,
|
|
13
|
-
typeArguments: [coinX.address, coinY.address],
|
|
14
|
-
arguments: [
|
|
15
|
-
tx.object(this.swapInfo.poolId),
|
|
16
|
-
tx.object(SUI_CLOCK_OBJECT_ID),
|
|
17
|
-
tx.object(oracleX), // pyth pricefeed for x
|
|
18
|
-
tx.object(oracleY), // pyth pricefeed for y
|
|
19
|
-
this.inputCoinObject, // mutable coin
|
|
20
|
-
this.getInputCoinValue(tx), // swap amount
|
|
21
|
-
tx.pure.u64(0), // min output amount
|
|
22
|
-
],
|
|
23
|
-
});
|
|
24
|
-
SuiUtils.collectDust(tx, this.swapInfo.assetIn, this.inputCoinObject);
|
|
25
|
-
return coinOut;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { AfterMathContract } from "./aftermath";
|
|
2
|
-
import { BluefinContract } from "./bluefin";
|
|
3
|
-
import { BluefinXContract } from "./bluefinx";
|
|
4
|
-
import { BluemoveContract } from "./bluemove";
|
|
5
|
-
import { CetusContract } from "./cetus";
|
|
6
|
-
import { CetusDLMMContract } from "./cetus_dlmm";
|
|
7
|
-
import { SponsoredDeepBookV3Contract } from "./deepbookV3/sponsored";
|
|
8
|
-
import { FerraCLMMContract } from "./ferra_clmm";
|
|
9
|
-
import { FerraDLMMContract } from "./ferra_dlmm";
|
|
10
|
-
import { FlowXContract } from "./flowx";
|
|
11
|
-
import { FlowxV3Contract } from "./flowxV3";
|
|
12
|
-
import { FullsailContract } from "./fullsail";
|
|
13
|
-
import { HaedalPMMContract } from "./haedal_pmm";
|
|
14
|
-
import { KriyaContract } from "./kriya";
|
|
15
|
-
import { KriyaV3Contract } from "./kriyaV3";
|
|
16
|
-
import { MagmaContract } from "./magma";
|
|
17
|
-
import { MomentumContract } from "./momentum";
|
|
18
|
-
import { ObricContract } from "./obric";
|
|
19
|
-
import { SevenKV1 } from "./sevenk";
|
|
20
|
-
import { SpringSuiContract } from "./springsui";
|
|
21
|
-
import { SteammContract } from "./steamm";
|
|
22
|
-
import { StSuiContract } from "./stsui";
|
|
23
|
-
import { SuiswapContract } from "./suiswap";
|
|
24
|
-
import { TurbosContract } from "./turbos";
|
|
25
|
-
export const ProtocolContract = {
|
|
26
|
-
cetus: CetusContract,
|
|
27
|
-
turbos: TurbosContract,
|
|
28
|
-
bluemove: BluemoveContract,
|
|
29
|
-
kriya: KriyaContract,
|
|
30
|
-
suiswap: SuiswapContract,
|
|
31
|
-
aftermath: AfterMathContract,
|
|
32
|
-
deepbook_v3: SponsoredDeepBookV3Contract,
|
|
33
|
-
flowx: FlowXContract,
|
|
34
|
-
flowx_v3: FlowxV3Contract,
|
|
35
|
-
kriya_v3: KriyaV3Contract,
|
|
36
|
-
bluefin: BluefinContract,
|
|
37
|
-
springsui: SpringSuiContract,
|
|
38
|
-
obric: ObricContract,
|
|
39
|
-
stsui: StSuiContract,
|
|
40
|
-
steamm: SteammContract,
|
|
41
|
-
steamm_oracle_quoter: SteammContract,
|
|
42
|
-
steamm_oracle_quoter_v2: SteammContract,
|
|
43
|
-
magma: MagmaContract,
|
|
44
|
-
haedal_pmm: HaedalPMMContract,
|
|
45
|
-
momentum: MomentumContract,
|
|
46
|
-
bluefinx: BluefinXContract,
|
|
47
|
-
sevenk_v1: SevenKV1,
|
|
48
|
-
fullsail: FullsailContract,
|
|
49
|
-
cetus_dlmm: CetusDLMMContract,
|
|
50
|
-
ferra_dlmm: FerraDLMMContract,
|
|
51
|
-
ferra_clmm: FerraCLMMContract,
|
|
52
|
-
};
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { BaseContract } from "../base";
|
|
2
|
-
import { normalizeTokenType } from "../../../utils/token";
|
|
3
|
-
export class KriyaContract extends BaseContract {
|
|
4
|
-
async swap(tx) {
|
|
5
|
-
const swapXtoY = this.swapInfo.swapXtoY;
|
|
6
|
-
const coinInType = normalizeTokenType(this.swapInfo.assetIn);
|
|
7
|
-
const coinOutType = normalizeTokenType(this.swapInfo.assetOut);
|
|
8
|
-
const poolId = this.swapInfo.poolId;
|
|
9
|
-
const inputCoinObject = this.inputCoinObject;
|
|
10
|
-
const config = this.config.kriya;
|
|
11
|
-
const [tokenOut] = tx.moveCall({
|
|
12
|
-
target: `${config.package}::spot_dex::${swapXtoY ? "swap_token_x" : "swap_token_y"}`,
|
|
13
|
-
typeArguments: [
|
|
14
|
-
swapXtoY ? coinInType : coinOutType,
|
|
15
|
-
swapXtoY ? coinOutType : coinInType,
|
|
16
|
-
],
|
|
17
|
-
arguments: [
|
|
18
|
-
tx.object(poolId),
|
|
19
|
-
inputCoinObject,
|
|
20
|
-
this.getInputCoinValue(tx),
|
|
21
|
-
tx.pure.u64(0),
|
|
22
|
-
],
|
|
23
|
-
});
|
|
24
|
-
return tokenOut;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { BaseContract } from "../base";
|
|
2
|
-
import { SUI_CLOCK_OBJECT_ID } from "@mysten/sui/utils";
|
|
3
|
-
import { normalizeTokenType } from "../../../utils/token";
|
|
4
|
-
export class KriyaV3Contract extends BaseContract {
|
|
5
|
-
async swap(tx) {
|
|
6
|
-
const swapXtoY = this.swapInfo.swapXtoY;
|
|
7
|
-
const coinInType = normalizeTokenType(this.swapInfo.assetIn);
|
|
8
|
-
const coinOutType = normalizeTokenType(this.swapInfo.assetOut);
|
|
9
|
-
const poolId = this.swapInfo.poolId;
|
|
10
|
-
const LowLimitPrice = 4295048017;
|
|
11
|
-
const limitPrice = BigInt("79226673515401279992447579050");
|
|
12
|
-
const { package: PACKAGE_ID, version: VERSION_ID } = this.config.kriya_v3;
|
|
13
|
-
const [receive_a, receive_b, flash_receipt] = tx.moveCall({
|
|
14
|
-
target: `${PACKAGE_ID}::trade::flash_swap`,
|
|
15
|
-
typeArguments: this.getTypeParams(),
|
|
16
|
-
arguments: [
|
|
17
|
-
tx.object(poolId),
|
|
18
|
-
tx.pure.bool(swapXtoY),
|
|
19
|
-
tx.pure.bool(true),
|
|
20
|
-
this.getInputCoinValue(tx),
|
|
21
|
-
tx.pure.u128(swapXtoY ? LowLimitPrice : limitPrice),
|
|
22
|
-
tx.object(SUI_CLOCK_OBJECT_ID),
|
|
23
|
-
tx.object(VERSION_ID),
|
|
24
|
-
],
|
|
25
|
-
});
|
|
26
|
-
tx.moveCall({
|
|
27
|
-
target: `0x2::balance::destroy_zero`,
|
|
28
|
-
arguments: [swapXtoY ? receive_a : receive_b],
|
|
29
|
-
typeArguments: [coinInType],
|
|
30
|
-
});
|
|
31
|
-
const [zeroOutCoin] = tx.moveCall({
|
|
32
|
-
target: `0x2::balance::zero`,
|
|
33
|
-
arguments: [],
|
|
34
|
-
typeArguments: [coinOutType],
|
|
35
|
-
});
|
|
36
|
-
const inputCoinBalance = tx.moveCall({
|
|
37
|
-
target: `0x2::coin::into_balance`,
|
|
38
|
-
typeArguments: [coinInType],
|
|
39
|
-
arguments: [this.inputCoinObject],
|
|
40
|
-
});
|
|
41
|
-
const pay_coin_a = swapXtoY ? inputCoinBalance : zeroOutCoin;
|
|
42
|
-
const pay_coin_b = swapXtoY ? zeroOutCoin : inputCoinBalance;
|
|
43
|
-
tx.moveCall({
|
|
44
|
-
target: `${PACKAGE_ID}::trade::repay_flash_swap`,
|
|
45
|
-
typeArguments: this.getTypeParams(),
|
|
46
|
-
arguments: [
|
|
47
|
-
tx.object(poolId),
|
|
48
|
-
flash_receipt,
|
|
49
|
-
pay_coin_a,
|
|
50
|
-
pay_coin_b,
|
|
51
|
-
tx.object(VERSION_ID),
|
|
52
|
-
],
|
|
53
|
-
});
|
|
54
|
-
const [tokenOut] = tx.moveCall({
|
|
55
|
-
target: `0x2::coin::from_balance`,
|
|
56
|
-
typeArguments: [coinOutType],
|
|
57
|
-
arguments: [swapXtoY ? receive_b : receive_a],
|
|
58
|
-
});
|
|
59
|
-
return tokenOut;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { BaseContract } from "../base";
|
|
2
|
-
import { SUI_CLOCK_OBJECT_ID } from "@mysten/sui/utils";
|
|
3
|
-
import { getDefaultSqrtPriceLimit } from "../utils";
|
|
4
|
-
import { SuiUtils } from "../../../utils/sui";
|
|
5
|
-
export class MagmaContract extends BaseContract {
|
|
6
|
-
async swap(tx) {
|
|
7
|
-
const [coinX, coinY] = this.swapInfo.pool.allTokens;
|
|
8
|
-
const swapXtoY = this.swapInfo.swapXtoY;
|
|
9
|
-
const sqrtPriceLimit = getDefaultSqrtPriceLimit(swapXtoY);
|
|
10
|
-
const typeArguments = [coinX.address, coinY.address];
|
|
11
|
-
const [zeroOut] = tx.moveCall({
|
|
12
|
-
target: "0x2::coin::zero",
|
|
13
|
-
typeArguments: [swapXtoY ? coinY.address : coinX.address],
|
|
14
|
-
});
|
|
15
|
-
const amountIn = SuiUtils.getCoinValue(swapXtoY ? coinX.address : coinY.address, this.inputCoinObject, tx);
|
|
16
|
-
const config = this.config.magma;
|
|
17
|
-
const [receiveA, receiveB] = tx.moveCall({
|
|
18
|
-
target: `${config.package}::router::swap`,
|
|
19
|
-
typeArguments,
|
|
20
|
-
arguments: [
|
|
21
|
-
tx.object(config.globalConfig),
|
|
22
|
-
tx.object(this.swapInfo.poolId),
|
|
23
|
-
swapXtoY ? this.inputCoinObject : zeroOut, // coin A
|
|
24
|
-
swapXtoY ? zeroOut : this.inputCoinObject, // coin B
|
|
25
|
-
tx.pure.bool(swapXtoY), // a to b or b to a
|
|
26
|
-
tx.pure.bool(true), // exact in or out
|
|
27
|
-
amountIn, // swap amount
|
|
28
|
-
tx.pure.u128(sqrtPriceLimit.toString()), // sqrt price limit
|
|
29
|
-
tx.pure.bool(false),
|
|
30
|
-
tx.object(SUI_CLOCK_OBJECT_ID),
|
|
31
|
-
],
|
|
32
|
-
});
|
|
33
|
-
SuiUtils.collectDust(tx, this.swapInfo.assetIn, swapXtoY ? receiveA : receiveB);
|
|
34
|
-
return swapXtoY ? receiveB : receiveA;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { BaseContract } from "../base";
|
|
2
|
-
import { SUI_CLOCK_OBJECT_ID } from "@mysten/sui/utils";
|
|
3
|
-
import { getDefaultSqrtPriceLimit } from "../utils";
|
|
4
|
-
import { SuiUtils } from "../../../utils/sui";
|
|
5
|
-
export class MomentumContract extends BaseContract {
|
|
6
|
-
async swap(tx) {
|
|
7
|
-
const [coinX, coinY] = this.swapInfo.pool.allTokens;
|
|
8
|
-
const swapXtoY = this.swapInfo.swapXtoY;
|
|
9
|
-
const sqrtPriceLimit = getDefaultSqrtPriceLimit(swapXtoY);
|
|
10
|
-
const typeArguments = [coinX.address, coinY.address];
|
|
11
|
-
const { package: packageId, version } = this.config.momentum;
|
|
12
|
-
const [receiveA, receiveB, debt] = tx.moveCall({
|
|
13
|
-
target: `${packageId}::trade::flash_swap`,
|
|
14
|
-
typeArguments,
|
|
15
|
-
arguments: [
|
|
16
|
-
tx.object(this.swapInfo.poolId),
|
|
17
|
-
tx.pure.bool(swapXtoY), // a2b
|
|
18
|
-
tx.pure.bool(true), // exact in
|
|
19
|
-
this.getInputCoinValue(tx),
|
|
20
|
-
tx.pure.u128(sqrtPriceLimit.toString()), // sqrt price limit
|
|
21
|
-
tx.object(SUI_CLOCK_OBJECT_ID),
|
|
22
|
-
tx.object(version),
|
|
23
|
-
],
|
|
24
|
-
});
|
|
25
|
-
tx.moveCall({
|
|
26
|
-
target: `${packageId}::trade::repay_flash_swap`,
|
|
27
|
-
typeArguments,
|
|
28
|
-
arguments: [
|
|
29
|
-
tx.object(this.swapInfo.poolId),
|
|
30
|
-
debt,
|
|
31
|
-
swapXtoY
|
|
32
|
-
? SuiUtils.coinIntoBalance(tx, coinX.address, this.inputCoinObject)
|
|
33
|
-
: SuiUtils.zeroBalance(tx, coinX.address),
|
|
34
|
-
swapXtoY
|
|
35
|
-
? SuiUtils.zeroBalance(tx, coinY.address)
|
|
36
|
-
: SuiUtils.coinIntoBalance(tx, coinY.address, this.inputCoinObject),
|
|
37
|
-
tx.object(version),
|
|
38
|
-
],
|
|
39
|
-
});
|
|
40
|
-
const receiveACoin = SuiUtils.coinFromBalance(tx, coinX.address, receiveA);
|
|
41
|
-
const receiveBCoin = SuiUtils.coinFromBalance(tx, coinY.address, receiveB);
|
|
42
|
-
SuiUtils.collectDust(tx, this.swapInfo.assetIn, swapXtoY ? receiveACoin : receiveBCoin);
|
|
43
|
-
return swapXtoY ? receiveBCoin : receiveACoin;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { SUI_CLOCK_OBJECT_ID } from "@mysten/sui/utils";
|
|
2
|
-
import { BaseContract } from "../base";
|
|
3
|
-
export class ObricContract extends BaseContract {
|
|
4
|
-
async swap(tx) {
|
|
5
|
-
const [coinX, coinY] = this.swapInfo.pool.allTokens;
|
|
6
|
-
const xToY = this.swapInfo.swapXtoY;
|
|
7
|
-
const oracleX = this.getPythPriceInfoId(this.extra.oracles?.[0]);
|
|
8
|
-
const oracleY = this.getPythPriceInfoId(this.extra.oracles?.[1]);
|
|
9
|
-
const { package: PACKAGE_ID, pythState: PYTH_STATE } = this.config.obric;
|
|
10
|
-
const [coinOut] = tx.moveCall({
|
|
11
|
-
target: `${PACKAGE_ID}::v2::${xToY ? "swap_x_to_y" : "swap_y_to_x"}`,
|
|
12
|
-
typeArguments: [coinX.address, coinY.address],
|
|
13
|
-
arguments: [
|
|
14
|
-
tx.object(this.swapInfo.poolId),
|
|
15
|
-
tx.object(SUI_CLOCK_OBJECT_ID),
|
|
16
|
-
tx.object(PYTH_STATE),
|
|
17
|
-
tx.object(oracleX), // pyth pricefeed for x
|
|
18
|
-
tx.object(oracleY), // pyth pricefeed for y
|
|
19
|
-
this.inputCoinObject,
|
|
20
|
-
],
|
|
21
|
-
});
|
|
22
|
-
return coinOut;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { normalizeStructTag, parseStructTag, SUI_CLOCK_OBJECT_ID, toHex, } from "@mysten/sui/utils";
|
|
2
|
-
import { BaseContract } from "../base";
|
|
3
|
-
export class SevenKV1 extends BaseContract {
|
|
4
|
-
async swap(tx) {
|
|
5
|
-
const x2y = this.swapInfo.swapXtoY;
|
|
6
|
-
const config = this.config.sevenk_v1;
|
|
7
|
-
const [coinOut] = tx.moveCall({
|
|
8
|
-
target: `${config.package}::pool_v1::${x2y ? "swap_x_to_y" : "swap_y_to_x"}`,
|
|
9
|
-
typeArguments: parseStructTag(this.extra.poolStructTag).typeParams.map(normalizeStructTag),
|
|
10
|
-
arguments: [
|
|
11
|
-
tx.object(this.swapInfo.poolId),
|
|
12
|
-
this.getOraclePriceUpdate(tx),
|
|
13
|
-
this.inputCoinObject,
|
|
14
|
-
tx.pure.u64(0),
|
|
15
|
-
],
|
|
16
|
-
});
|
|
17
|
-
return coinOut;
|
|
18
|
-
}
|
|
19
|
-
getOraclePriceUpdate(tx) {
|
|
20
|
-
const oracleX = this.extra.oracles?.[0]?.Pyth?.bytes;
|
|
21
|
-
const oracleY = this.extra.oracles?.[1]?.Pyth?.bytes;
|
|
22
|
-
if (!oracleX ||
|
|
23
|
-
!oracleY ||
|
|
24
|
-
!this.extra.oracleConfigX ||
|
|
25
|
-
!this.extra.oracleConfigY) {
|
|
26
|
-
throw new Error(`Invalid oracle info for getOraclePriceUpdate`);
|
|
27
|
-
}
|
|
28
|
-
const [holder] = tx.moveCall({
|
|
29
|
-
target: `${this.config.sevenk_v1.oracle}::oracle::new_holder`,
|
|
30
|
-
});
|
|
31
|
-
tx.moveCall({
|
|
32
|
-
target: `${this.config.sevenk_v1.oracle}::pyth::get_price`,
|
|
33
|
-
arguments: [
|
|
34
|
-
tx.object(this.extra.oracleConfigX),
|
|
35
|
-
holder,
|
|
36
|
-
tx.object(this.pythMap["0x" + toHex(Uint8Array.from(oracleX))]),
|
|
37
|
-
tx.object(SUI_CLOCK_OBJECT_ID),
|
|
38
|
-
],
|
|
39
|
-
});
|
|
40
|
-
tx.moveCall({
|
|
41
|
-
target: `${this.config.sevenk_v1.oracle}::pyth::get_price`,
|
|
42
|
-
arguments: [
|
|
43
|
-
tx.object(this.extra.oracleConfigY),
|
|
44
|
-
holder,
|
|
45
|
-
tx.object(this.pythMap["0x" + toHex(Uint8Array.from(oracleY))]),
|
|
46
|
-
tx.object(SUI_CLOCK_OBJECT_ID),
|
|
47
|
-
],
|
|
48
|
-
});
|
|
49
|
-
return holder;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { SUI_SYSTEM_STATE_OBJECT_ID } from "@mysten/sui/utils";
|
|
2
|
-
import { BaseContract } from "../base";
|
|
3
|
-
export class SpringSuiContract extends BaseContract {
|
|
4
|
-
async swap(tx) {
|
|
5
|
-
// coinX is always SUI
|
|
6
|
-
const coinY = this.swapInfo.pool.allTokens[1];
|
|
7
|
-
const isStake = this.swapInfo.swapXtoY;
|
|
8
|
-
const { package: PACKAGE_ID } = this.config.springsui;
|
|
9
|
-
const [coinOut] = tx.moveCall({
|
|
10
|
-
target: `${PACKAGE_ID}::liquid_staking::${isStake ? "mint" : "redeem"}`,
|
|
11
|
-
typeArguments: [coinY.address],
|
|
12
|
-
arguments: [
|
|
13
|
-
tx.object(this.swapInfo.poolId),
|
|
14
|
-
isStake ? tx.object(SUI_SYSTEM_STATE_OBJECT_ID) : this.inputCoinObject,
|
|
15
|
-
isStake ? this.inputCoinObject : tx.object(SUI_SYSTEM_STATE_OBJECT_ID),
|
|
16
|
-
],
|
|
17
|
-
});
|
|
18
|
-
return coinOut;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
import { normalizeStructTag, parseStructTag, SUI_CLOCK_OBJECT_ID, } from "@mysten/sui/utils";
|
|
2
|
-
import { SuiUtils } from "../../../utils/sui";
|
|
3
|
-
import { BaseContract } from "../base";
|
|
4
|
-
export class SteammContract extends BaseContract {
|
|
5
|
-
async swap(tx) {
|
|
6
|
-
if (this.extra.poolStructTag.includes("omm::OracleQuoter")) {
|
|
7
|
-
return this.ommSwap(tx, "v1");
|
|
8
|
-
}
|
|
9
|
-
else if (this.extra.poolStructTag.includes("omm_v2::OracleQuoterV2")) {
|
|
10
|
-
return this.ommSwap(tx, "v2");
|
|
11
|
-
}
|
|
12
|
-
else if (this.extra.poolStructTag.includes("cpmm::CpQuoter")) {
|
|
13
|
-
return this.cpmmSwap(tx);
|
|
14
|
-
}
|
|
15
|
-
throw new Error(`Unsupported pool type: ${this.extra.poolStructTag}`);
|
|
16
|
-
}
|
|
17
|
-
cpmmSwap(tx) {
|
|
18
|
-
const extra = this.extra;
|
|
19
|
-
if (!extra ||
|
|
20
|
-
!extra.bankAStructTag ||
|
|
21
|
-
!extra.bankBStructTag ||
|
|
22
|
-
!extra.poolStructTag ||
|
|
23
|
-
!extra.bankA ||
|
|
24
|
-
!extra.bankB ||
|
|
25
|
-
!extra.lendingMarketA ||
|
|
26
|
-
!extra.lendingMarketB) {
|
|
27
|
-
throw new Error(`Invalid extra info for cpmmSwap`);
|
|
28
|
-
}
|
|
29
|
-
// the pool script v1 only support same lending market
|
|
30
|
-
if (extra.lendingMarketA !== extra.lendingMarketB) {
|
|
31
|
-
throw new Error(`Invalid lending market for cpmmSwap`);
|
|
32
|
-
}
|
|
33
|
-
const [btokenA, bTokenB, _quoter, lp] = parseStructTag(extra.poolStructTag).typeParams;
|
|
34
|
-
const [lendingMarket, coinTypeA, _bTokenA] = parseStructTag(extra.bankAStructTag).typeParams;
|
|
35
|
-
const [_lendingMarket, coinTypeB, _bTokenB] = parseStructTag(extra.bankBStructTag).typeParams;
|
|
36
|
-
const xToY = this.swapInfo.swapXtoY;
|
|
37
|
-
const coinA = xToY
|
|
38
|
-
? this.inputCoinObject
|
|
39
|
-
: SuiUtils.zeroCoin(tx, normalizeStructTag(coinTypeA));
|
|
40
|
-
const coinB = !xToY
|
|
41
|
-
? this.inputCoinObject
|
|
42
|
-
: SuiUtils.zeroCoin(tx, normalizeStructTag(coinTypeB));
|
|
43
|
-
tx.moveCall({
|
|
44
|
-
target: `${this.config.steamm.script}::pool_script::cpmm_swap`,
|
|
45
|
-
typeArguments: [
|
|
46
|
-
lendingMarket,
|
|
47
|
-
coinTypeA,
|
|
48
|
-
coinTypeB,
|
|
49
|
-
btokenA,
|
|
50
|
-
bTokenB,
|
|
51
|
-
lp,
|
|
52
|
-
].map(normalizeStructTag),
|
|
53
|
-
arguments: [
|
|
54
|
-
tx.object(this.swapInfo.poolId),
|
|
55
|
-
tx.object(extra.bankA),
|
|
56
|
-
tx.object(extra.bankB),
|
|
57
|
-
tx.object(extra.lendingMarketA),
|
|
58
|
-
coinA,
|
|
59
|
-
coinB,
|
|
60
|
-
tx.pure.bool(xToY),
|
|
61
|
-
this.getInputCoinValue(tx),
|
|
62
|
-
tx.pure.u64(0),
|
|
63
|
-
tx.object(SUI_CLOCK_OBJECT_ID),
|
|
64
|
-
],
|
|
65
|
-
});
|
|
66
|
-
const coinIn = xToY ? coinA : coinB;
|
|
67
|
-
const coinOut = xToY ? coinB : coinA;
|
|
68
|
-
SuiUtils.collectDust(tx, this.swapInfo.assetIn, coinIn);
|
|
69
|
-
return coinOut;
|
|
70
|
-
}
|
|
71
|
-
ommSwap(tx, version) {
|
|
72
|
-
const extra = this.swapInfo.extra;
|
|
73
|
-
if (!extra ||
|
|
74
|
-
!extra.bankAStructTag ||
|
|
75
|
-
!extra.bankBStructTag ||
|
|
76
|
-
!extra.poolStructTag ||
|
|
77
|
-
!extra.bankA ||
|
|
78
|
-
!extra.bankB ||
|
|
79
|
-
!extra.lendingMarketA ||
|
|
80
|
-
!extra.lendingMarketB) {
|
|
81
|
-
throw new Error(`Invalid extra info for cpmmSwap`);
|
|
82
|
-
}
|
|
83
|
-
// the pool script v1 only support same lending market
|
|
84
|
-
if (extra.lendingMarketA !== extra.lendingMarketB) {
|
|
85
|
-
throw new Error(`Invalid lending market for ommSwap`);
|
|
86
|
-
}
|
|
87
|
-
const [btokenA, bTokenB, _quoter, lp] = parseStructTag(extra.poolStructTag).typeParams;
|
|
88
|
-
const [lendingMarket, coinTypeA, _bTokenA] = parseStructTag(extra.bankAStructTag).typeParams;
|
|
89
|
-
const [_lendingMarket, coinTypeB, _bTokenB] = parseStructTag(extra.bankBStructTag).typeParams;
|
|
90
|
-
const xToY = this.swapInfo.swapXtoY;
|
|
91
|
-
const coinA = xToY
|
|
92
|
-
? this.inputCoinObject
|
|
93
|
-
: SuiUtils.zeroCoin(tx, normalizeStructTag(coinTypeA));
|
|
94
|
-
const coinB = !xToY
|
|
95
|
-
? this.inputCoinObject
|
|
96
|
-
: SuiUtils.zeroCoin(tx, normalizeStructTag(coinTypeB));
|
|
97
|
-
const [priceA, priceB] = this.getOraclePriceUpdate(tx);
|
|
98
|
-
tx.moveCall({
|
|
99
|
-
target: `${this.config.steamm.script}::pool_script_v2::${version === "v1" ? "omm_swap" : "omm_v2_swap"}`,
|
|
100
|
-
typeArguments: [
|
|
101
|
-
lendingMarket,
|
|
102
|
-
coinTypeA,
|
|
103
|
-
coinTypeB,
|
|
104
|
-
btokenA,
|
|
105
|
-
bTokenB,
|
|
106
|
-
lp,
|
|
107
|
-
].map(normalizeStructTag),
|
|
108
|
-
arguments: [
|
|
109
|
-
tx.object(this.swapInfo.poolId),
|
|
110
|
-
tx.object(extra.bankA),
|
|
111
|
-
tx.object(extra.bankB),
|
|
112
|
-
tx.object(extra.lendingMarketA),
|
|
113
|
-
priceA,
|
|
114
|
-
priceB,
|
|
115
|
-
coinA,
|
|
116
|
-
coinB,
|
|
117
|
-
tx.pure.bool(xToY),
|
|
118
|
-
this.getInputCoinValue(tx),
|
|
119
|
-
tx.pure.u64(0),
|
|
120
|
-
tx.object(SUI_CLOCK_OBJECT_ID),
|
|
121
|
-
],
|
|
122
|
-
});
|
|
123
|
-
const coinIn = xToY ? coinA : coinB;
|
|
124
|
-
const coinOut = xToY ? coinB : coinA;
|
|
125
|
-
SuiUtils.collectDust(tx, this.swapInfo.assetIn, coinIn);
|
|
126
|
-
return coinOut;
|
|
127
|
-
}
|
|
128
|
-
getOraclePriceUpdate(tx) {
|
|
129
|
-
const oracleA = this.getPythPriceInfoId(this.extra.oracles?.[0]);
|
|
130
|
-
const oracleB = this.getPythPriceInfoId(this.extra.oracles?.[1]);
|
|
131
|
-
const registry = this.extra.oracleRegistry;
|
|
132
|
-
const indexes = this.extra.oracleIndexes;
|
|
133
|
-
if (!registry || indexes?.length !== 2) {
|
|
134
|
-
throw new Error(`Invalid oracle info for getOraclePriceUpdate`);
|
|
135
|
-
}
|
|
136
|
-
const [a] = tx.moveCall({
|
|
137
|
-
target: `${this.config.steamm.oracle}::oracles::get_pyth_price`,
|
|
138
|
-
arguments: [
|
|
139
|
-
tx.object(registry),
|
|
140
|
-
tx.object(oracleA),
|
|
141
|
-
tx.pure.u64(indexes[0]),
|
|
142
|
-
tx.object(SUI_CLOCK_OBJECT_ID),
|
|
143
|
-
],
|
|
144
|
-
});
|
|
145
|
-
const [b] = tx.moveCall({
|
|
146
|
-
target: `${this.config.steamm.oracle}::oracles::get_pyth_price`,
|
|
147
|
-
arguments: [
|
|
148
|
-
tx.object(registry),
|
|
149
|
-
tx.object(oracleB),
|
|
150
|
-
tx.pure.u64(indexes[1]),
|
|
151
|
-
tx.object(SUI_CLOCK_OBJECT_ID),
|
|
152
|
-
],
|
|
153
|
-
});
|
|
154
|
-
return [a, b];
|
|
155
|
-
}
|
|
156
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { SUI_SYSTEM_STATE_OBJECT_ID } from "@mysten/sui/utils";
|
|
2
|
-
import { BaseContract } from "../base";
|
|
3
|
-
export class StSuiContract extends BaseContract {
|
|
4
|
-
async swap(tx) {
|
|
5
|
-
// coinX is always SUI
|
|
6
|
-
const coinY = this.swapInfo.pool.allTokens[1];
|
|
7
|
-
const isStake = this.swapInfo.swapXtoY;
|
|
8
|
-
const { package: PACKAGE_ID } = this.config.stsui;
|
|
9
|
-
const [coinOut] = tx.moveCall({
|
|
10
|
-
target: `${PACKAGE_ID}::liquid_staking::${isStake ? "mint" : "redeem"}`,
|
|
11
|
-
typeArguments: [coinY.address],
|
|
12
|
-
arguments: [
|
|
13
|
-
tx.object(this.swapInfo.poolId),
|
|
14
|
-
isStake ? tx.object(SUI_SYSTEM_STATE_OBJECT_ID) : this.inputCoinObject,
|
|
15
|
-
isStake ? this.inputCoinObject : tx.object(SUI_SYSTEM_STATE_OBJECT_ID),
|
|
16
|
-
],
|
|
17
|
-
});
|
|
18
|
-
return coinOut;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { SUI_CLOCK_OBJECT_ID } from "@mysten/sui/utils";
|
|
2
|
-
import { BaseContract } from "../base";
|
|
3
|
-
import { SuiUtils } from "../../../utils/sui";
|
|
4
|
-
export class SuiswapContract extends BaseContract {
|
|
5
|
-
async swap(tx) {
|
|
6
|
-
const poolId = this.swapInfo.poolId;
|
|
7
|
-
const swapXtoY = this.swapInfo.swapXtoY;
|
|
8
|
-
const inputCoin = this.inputCoinObject;
|
|
9
|
-
const typeArguments = [this.swapInfo.coinX.type, this.swapInfo.coinY.type];
|
|
10
|
-
const callFunc = swapXtoY
|
|
11
|
-
? "do_swap_x_to_y_direct"
|
|
12
|
-
: "do_swap_y_to_x_direct";
|
|
13
|
-
const { package: PACKAGE_ID } = this.config.suiswap;
|
|
14
|
-
const inputAmount = this.getInputCoinValue(tx);
|
|
15
|
-
const [tokenIn, tokenOut] = tx.moveCall({
|
|
16
|
-
target: `${PACKAGE_ID}::pool::${callFunc}`,
|
|
17
|
-
typeArguments,
|
|
18
|
-
arguments: [
|
|
19
|
-
tx.object(poolId),
|
|
20
|
-
tx.makeMoveVec({
|
|
21
|
-
elements: [inputCoin],
|
|
22
|
-
}),
|
|
23
|
-
inputAmount,
|
|
24
|
-
tx.object(SUI_CLOCK_OBJECT_ID),
|
|
25
|
-
],
|
|
26
|
-
});
|
|
27
|
-
SuiUtils.collectDust(tx, this.swapInfo.assetIn, tokenIn);
|
|
28
|
-
return tokenOut;
|
|
29
|
-
}
|
|
30
|
-
}
|