2.3.0 • Published 5 months ago

@1inch/fusion-sdk v2.3.0

Weekly downloads
-
License
-
Repository
github
Last release
5 months ago

SDK for 1inch Fusion Mode

Installation

Npm

npm install @1inch/fusion-sdk@2

Yarn

yarn add @1inch/fusion-sdk@2

Modules docs

How to swap with Fusion Mode

import {FusionSDK, NetworkEnum, OrderStatus, PrivateKeyProviderConnector, Web3Like,} from "@1inch/fusion-sdk";
import {computeAddress, formatUnits, JsonRpcProvider} from "ethers";

const PRIVATE_KEY = 'YOUR_PRIVATE_KEY'
const NODE_URL = 'YOUR_WEB3_NODE_URL'
const DEV_PORTAL_API_TOKEN = 'YOUR_DEV_PORTAL_API_TOKEN'

const ethersRpcProvider = new JsonRpcProvider(NODE_URL)

const ethersProviderConnector: Web3Like = {
    eth: {
        call(transactionConfig): Promise<string> {
            return ethersRpcProvider.call(transactionConfig)
        }
    },
    extend(): void {}
}

const connector = new PrivateKeyProviderConnector(
    PRIVATE_KEY,
    ethersProviderConnector
)

const sdk = new FusionSDK({
    url: 'https://api.1inch.dev/fusion',
    network: NetworkEnum.BINANCE,
    blockchainProvider: connector,
    authKey: DEV_PORTAL_API_TOKEN
})

async function main() {
    const params = {
        fromTokenAddress: '0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d', // USDC
        toTokenAddress: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',  // BNB
        amount: '10000000000000000000', // 10 USDC
        walletAddress: computeAddress(PRIVATE_KEY),
        source: 'sdk-test'
    }

    const quote = await sdk.getQuote(params)

    const dstTokenDecimals = 18
    console.log('Auction start amount', formatUnits(quote.presets[quote.recommendedPreset].auctionStartAmount, dstTokenDecimals))
    console.log('Auction end amount', formatUnits(quote.presets[quote.recommendedPreset].auctionEndAmount), dstTokenDecimals)

    const preparedOrder = await sdk.createOrder(params)

    const info = await sdk.submitOrder(preparedOrder.order, preparedOrder.quoteId)

    console.log('OrderHash', info.orderHash)

    const start = Date.now()

    while (true) {
        try {
            const data = await sdk.getOrderStatus(info.orderHash)

            if (data.status === OrderStatus.Filled) {
                console.log('fills', data.fills)
                break
            }

            if (data.status === OrderStatus.Expired) {
                console.log('Order Expired')
                break
            }
            
            if (data.status === OrderStatus.Cancelled) {
                console.log('Order Cancelled')
                break
            }
        } catch (e) {
            console.log(e)
        }

    }

    console.log('Order executed for', (Date.now() - start) / 1000, 'sec')
}

main()

Resolvers

settleOrders function usage and Resolver contract examples you can find here

2.2.5-rc.0

5 months ago

2.2.5-rc.1

5 months ago

2.2.5-rc.2

5 months ago

2.1.9

9 months ago

2.1.10

9 months ago

2.1.11

9 months ago

2.3.0

5 months ago

2.1.8-rc.0

9 months ago

2.1.8-rc.1

8 months ago

2.2.1

8 months ago

2.2.0

9 months ago

2.1.9-rc.1

9 months ago

2.2.3

7 months ago

2.2.2

8 months ago

2.2.4

5 months ago

2.2.4-rc.2

5 months ago

2.2.4-rc.1

5 months ago

2.2.4-rc.0

7 months ago

2.1.10-rc.2

9 months ago

2.1.10-rc.3

9 months ago

2.1.10-rc.0

9 months ago

2.1.10-rc.4

9 months ago

2.1.10-rc.5

9 months ago

2.2.3-rc.1

8 months ago

2.2.3-rc.0

8 months ago

2.1.6

11 months ago

2.1.7

10 months ago

2.1.11-rc.0

9 months ago

2.1.11-rc.2

5 months ago

2.1.11-rc.1

9 months ago

2.1.5-rc.3

1 year ago

2.1.5-rc.2

1 year ago

2.1.5-rc.1

1 year ago

2.1.5-rc.0

1 year ago

0.1.14-rc0

1 year ago

2.1.2

1 year ago

2.1.4

1 year ago

2.1.3

1 year ago

2.1.5

1 year ago

2.1.2-rc.0

1 year ago

2.1.1

1 year ago

2.1.0

1 year ago

2.0.2

1 year ago

2.0.1

1 year ago

2.0.0

1 year ago

1.0.1-rc.44

1 year ago

1.0.1-rc.43

1 year ago

1.0.1

1 year ago

1.0.1-rc.42

1 year ago

1.0.1-rc.41

1 year ago

1.0.1-rc.39

2 years ago

1.0.1-rc.38

2 years ago

1.0.1-rc.40

2 years ago

1.0.1-rc.36

2 years ago

1.0.1-rc.37

2 years ago

1.0.1-rc.35

2 years ago

1.0.1-rc.34

2 years ago

1.0.1-rc.32

2 years ago

1.0.1-rc.33

2 years ago

1.0.1-rc.31

2 years ago

1.0.1-rc.30

2 years ago

1.0.1-rc.29

2 years ago

1.0.1-rc.28

2 years ago

1.0.1-rc.27

2 years ago

1.0.1-rc.25

2 years ago

1.0.1-rc.26

2 years ago

1.0.1-rc.24

2 years ago

1.0.1-rc.22

2 years ago

1.0.1-rc.23

2 years ago

1.0.1-rc.20

2 years ago

1.0.1-rc.21

2 years ago

1.0.1-rc.17

2 years ago

1.0.1-rc.18

2 years ago

1.0.1-rc.19

2 years ago

1.0.1-rc.13

2 years ago

1.0.1-rc.14

2 years ago

1.0.1-rc.15

2 years ago

1.0.1-rc.16

2 years ago

1.0.1-rc.12

2 years ago

1.0.1-rc.10

2 years ago

1.0.1-rc.11

2 years ago

1.0.1-rc.9

2 years ago

1.0.1-rc.8

2 years ago

1.0.1-rc.7

2 years ago

1.0.1-rc.5

2 years ago

1.0.1-rc.6

2 years ago

1.0.1-rc.1

2 years ago

1.0.1-rc.0

2 years ago

1.0.1-rc.3

2 years ago

1.0.1-rc.2

2 years ago

1.0.1-rc.4

2 years ago

0.1.14

2 years ago

0.1.13

2 years ago

0.1.12

2 years ago

0.1.10

2 years ago

0.1.11

2 years ago

0.1.9

2 years ago

0.1.8

2 years ago

0.1.2

3 years ago

0.1.7

2 years ago

0.1.4

2 years ago

0.1.3

3 years ago

0.1.6

2 years ago

0.1.5

2 years ago

0.0.10

3 years ago

0.0.11

3 years ago

0.0.12

3 years ago

0.0.13

3 years ago

0.0.14

3 years ago

0.1.0

3 years ago

0.0.3

3 years ago

0.1.1

3 years ago

0.0.9

3 years ago

0.0.8

3 years ago

0.0.5

3 years ago

0.0.4

3 years ago

0.0.7

3 years ago

0.0.6

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago