1.11.0 • Published 4 months ago

@flowx-finance/sdk v1.11.0

Weekly downloads
-
License
-
Repository
-
Last release
4 months ago

Official FlowX Finance TypeScript SDK for Sui

An FlowX Typescript SDK is a software development kit that allows developers to interact with FlowX protocols using the Typescript programming language.

Features

  • Retrieve coin
  • Retrieve transaction block liquidity management V2 (add,remove)
  • Retrieve transaction block for swap aggregator

Getting Started

npm i @flowx-finance/sdk

Retrieve coin

Get instance of Coin[]

const coins = await coinProvider.getCoins({
  coinTypes: ['0x2::sui::SUI'],
});

Swap Aggregator

Get Swap Route

WARNING: amountOut FROM QUOTE WHEN USE WITH COMMISSION ONLY FOR DISPLAY, NOT FOR CALCULATE ONCHAIN.

To find best route for swap

const quoter = new AggregatorQuoter('mainnet');
const params: AggregatorQuoterQueryParams = {
  tokenIn: '0x2::sui::SUI',
  tokenOut: '0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf::coin::COIN',
  amountIn: '1000000000',
  includeSources: null, //optional
  excludeSources: null, //optional
  commission: null, //optional, and will be explain later
};

const routes = await quoter.getRoutes(params);

Use function getRoutes in instance AggregatorQuoter with it's arguments to create a Route

ArgumentsDescriptionTypeExample
tokenInToken to be swapped fromstring'0x2::sui::SUI'
tokenOutToken to be receivedstring'0x5d....f::coin::COIN'
amountInAmount of tokenIn to be swappedstring'1000000000'
includeSourcesOptional: Sources to include in aggregationnull | Protocol[]null
excludeSourcesOptional: Sources to exclude in aggregationnull | Protocol[]null
commissionOptional: Commission amount for the transaction, use when you want calculate commission with partner feenull | Commissionnull

Build Transaction for aggregator swap

Build transaction that you can use with SuiClient or Dapp-kit

const tradeBuilder = new TradeBuilder(NETWORK.MAINNET, routes); //routes get from quoter
const trade = tradeBuilder
  .sender('0xSenderAddress') //Optional if you want pass coin later
  .amountIn('1000000000')
  .slippage((1 / 100) * 1e6) // Slippage 1%
  .deadline(Date.now() + 3600) // 1 hour from now
  .commission(null) // Optional: commission will be explain later
  .amountOut('500000000000000000') //Deprecated in next version: Estimate amount out, be careful when use with Commission, usually should not be used, because we always calculate amount out from routes
  .build();
console.log(trade); // Output: Trade object with configured parameters
const txb = trade.swap({ client }) // You can also pass coinIn and exist TractionBlock if you want

Find route and build transaction with commission

The Commission class represents a commission configuration for transactions, defining the partner, commission type, and value. It includes methods for computing the commission amount based on the specified type.

const commission = new Commission('0xPartnerAddress', new Coin('0x2::sui:SUI'), CommissionType.PERCENTAGE, '500', true);

if CommissionType.PERCENTAGE then value should be input 1/100 * 1e6 it is example of 1% if CommissionType.FLAT then value should be the amount of token you want to fee include decimals Then you should pass commission variable to both tradeBuilder and getRoutes for exact values

1.10.5

7 months ago

1.10.4

8 months ago

1.10.3

8 months ago

1.10.2

8 months ago

1.10.9

7 months ago

1.10.8

7 months ago

1.10.7

7 months ago

1.10.6

7 months ago

1.9.13

9 months ago

1.9.12

9 months ago

1.9.11

9 months ago

1.9.10

9 months ago

1.9.8

9 months ago

1.9.7

11 months ago

1.9.6

11 months ago

1.9.5

11 months ago

1.9.4

11 months ago

1.9.3

11 months ago

1.9.2

11 months ago

1.11.0

4 months ago

1.9.1

11 months ago

1.9.0

11 months ago

1.10.24

5 months ago

1.10.25

4 months ago

1.10.22

5 months ago

1.10.23

5 months ago

1.10.20

5 months ago

1.10.21

5 months ago

1.10.15

6 months ago

1.10.16

6 months ago

1.10.13

6 months ago

1.8.8

12 months ago

1.10.14

6 months ago

1.8.7

12 months ago

1.10.11

7 months ago

1.10.12

7 months ago

1.10.10

7 months ago

1.10.19

5 months ago

1.10.1

8 months ago

1.10.0

8 months ago

1.10.17

5 months ago

1.10.18

5 months ago

1.8.6

1 year ago

1.8.5

1 year ago

1.8.2

1 year ago

1.8.4

1 year ago

1.8.3

1 year ago

1.8.1

1 year ago

1.8.0

1 year ago

1.7.0

1 year ago

1.6.2

1 year ago

1.6.2-0

1 year ago

1.6.1-0

1 year ago

1.6.0-0

1 year ago

1.5.6

1 year ago

1.5.5

1 year ago

1.5.4

1 year ago

1.5.3

1 year ago

1.5.2

1 year ago

1.5.1

1 year ago

1.5.0

1 year ago

1.4.0

1 year ago

1.3.2

1 year ago

1.3.1

1 year ago

1.3.0

1 year ago

1.2.2-3

1 year ago

1.2.2-2

1 year ago

1.2.2-1

1 year ago

1.2.2-0

1 year ago

1.2.1

1 year ago

1.2.0

1 year ago

1.1.0

1 year ago

1.0.0

1 year ago

0.0.1

1 year ago