mirror of
https://github.com/orionprotocol/sdk.git
synced 2026-03-13 21:52:36 +03:00
14
README.md
14
README.md
@@ -139,13 +139,16 @@ orionUnit.exchange
|
||||
// Each trading pair has its own quantity precision
|
||||
// You need to prepare (round) the quantity according to quantity precision
|
||||
|
||||
const pairConfig = await simpleFetch(orionAggregator.getPairConfig)('ORN-USDT');
|
||||
const pairConfig = await simpleFetch(orionAggregator.getPairConfig)("ORN-USDT");
|
||||
if (!pairConfig) throw new Error(`Pair config ORN-USDT not found`);
|
||||
|
||||
const { qtyPrecision } = pairConfig;
|
||||
|
||||
const amount = 23.5346563;
|
||||
const roundedAmount = new BigNumber(amount).dp(qtyPrecision, BigNumber.ROUND_FLOOR); // You can use you own Math lib
|
||||
const roundedAmount = new BigNumber(amount).dp(
|
||||
qtyPrecision,
|
||||
BigNumber.ROUND_FLOOR
|
||||
); // You can use you own Math lib
|
||||
|
||||
orionUnit.exchange
|
||||
.swapMarket({
|
||||
@@ -159,6 +162,7 @@ orionUnit.exchange
|
||||
options: {
|
||||
// All options are optional 🙂
|
||||
poolOnly: true, // You can specify whether you want to perform the exchange only through the pool
|
||||
instantSettlement: true, // Set true to ensure that funds can be instantly transferred to wallet (otherwise, there is a possibility of receiving funds to the balance of the exchange contract)
|
||||
logger: console.log,
|
||||
// Set it to true if you want the issues associated with
|
||||
// the lack of allowance to be automatically corrected
|
||||
@@ -195,9 +199,11 @@ orionUnit.farmingManager.removeAllLiquidity({
|
||||
```ts
|
||||
import { simpleFetch } from "@orionprotocol/sdk";
|
||||
|
||||
const orderbook = await simpleFetch(orionUnit.orionAggregator.getAggregatedOrderbook)(
|
||||
const orderbook = await simpleFetch(
|
||||
orionUnit.orionAggregator.getAggregatedOrderbook
|
||||
)(
|
||||
"ORN-USDT",
|
||||
20, // Depth
|
||||
20 // Depth
|
||||
);
|
||||
```
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@orionprotocol/sdk",
|
||||
"version": "0.13.2",
|
||||
"version": "0.14.0-rc.1",
|
||||
"description": "Orion Protocol SDK",
|
||||
"main": "./lib/esm/index.js",
|
||||
"module": "./lib/esm/index.js",
|
||||
|
||||
@@ -61,7 +61,8 @@ export default async function getSwapMarketFeeInfo({
|
||||
assetIn,
|
||||
assetOut,
|
||||
amount.toString(),
|
||||
options?.poolOnly ? ['ORION_POOL'] : undefined,
|
||||
false,
|
||||
options?.poolOnly ? 'pools' : undefined,
|
||||
);
|
||||
|
||||
if (swapInfo.orderInfo !== null && options?.poolOnly === true && options.poolOnly !== swapInfo.isThroughPoolOptimal) {
|
||||
|
||||
@@ -22,6 +22,7 @@ export type SwapMarketParams = {
|
||||
orionUnit: OrionUnit,
|
||||
options?: {
|
||||
poolOnly?: boolean,
|
||||
instantSettlement?: boolean,
|
||||
logger?: (message: string) => void,
|
||||
autoApprove?: boolean,
|
||||
developer?: {
|
||||
@@ -124,6 +125,7 @@ export default async function swapMarket({
|
||||
assetIn,
|
||||
assetOut,
|
||||
amount.toString(),
|
||||
options?.instantSettlement,
|
||||
options?.poolOnly ? ['ORION_POOL'] : undefined,
|
||||
);
|
||||
|
||||
|
||||
@@ -151,7 +151,8 @@ class OrionAggregator {
|
||||
assetIn: string,
|
||||
assetOut: string,
|
||||
amount: string,
|
||||
exchanges?: Exchange[],
|
||||
instantSettlement?: boolean,
|
||||
exchanges?: Exchange[] | 'cex' | 'pools',
|
||||
) => {
|
||||
const url = new URL(`${this.apiUrl}/api/v1/swap`);
|
||||
url.searchParams.append('assetIn', assetIn);
|
||||
@@ -162,9 +163,16 @@ class OrionAggregator {
|
||||
url.searchParams.append('amountOut', amount);
|
||||
}
|
||||
if (exchanges) {
|
||||
exchanges.forEach((exchange) => {
|
||||
url.searchParams.append('exchanges', exchange);
|
||||
});
|
||||
if (Array.isArray(exchanges)) {
|
||||
exchanges.forEach((exchange) => {
|
||||
url.searchParams.append('exchanges', exchange);
|
||||
});
|
||||
} else {
|
||||
url.searchParams.append('exchanges', exchanges);
|
||||
}
|
||||
}
|
||||
if (instantSettlement) {
|
||||
url.searchParams.append('instantSettlement', 'true');
|
||||
}
|
||||
|
||||
return fetchWithValidation(
|
||||
|
||||
@@ -70,8 +70,9 @@ type SwapSubscriptionRequest = {
|
||||
i: string, // asset in
|
||||
o: string, // asset out
|
||||
a: number // amount IN/OUT
|
||||
es?: Exchange[], // exchange list
|
||||
es?: Exchange[] | 'cex' | 'pools', // exchange list of all cex or all pools (ORION_POOL, UNISWAP, PANCAKESWAP etc)
|
||||
e?: boolean; // is amount IN? Value `false` means a = amount OUT, `true` if omitted
|
||||
is?: boolean; // instant settlement
|
||||
}
|
||||
|
||||
type BrokerTradableAtomicSwapBalanceSubscription = {
|
||||
|
||||
Reference in New Issue
Block a user