1.5.11 • Published 1 month ago

invisible-sdk v1.5.11

Weekly downloads
-
License
MIT
Repository
-
Last release
1 month ago

invisible-sdk

The market maker code for invisible Exchange.

Description

This ipackage includes all the logic to create and run your own mm strategies on Invisible L2. More examples can be found here: Examples

Order Examples

Examples of how to send send orders.

Spot orders

let privKey = "0x1234";
let marketMaker = await UserState.loginUser(privKey);

/// Send a spot Limit Order
let assetId = SYMBOLS_TO_IDS["ETH"];
let side = "Buy";
let expirationTime = 3600_000; // in seconds
let baseToken = assetId;
let quoteToken = COLLATERAL_TOKEN;
let baseAmount = null; // Used for sell order
let quoteAmount = 100; // User for buy order
let price = 1950.0;
let feeLimit = 0.1;
let tabAddress = null; // Address of the orderTab to use (notes if null)
let slippage = 0.01; // only for market order
let isMarket = false;
let ACTIVE_ORDERS = null;

let response = await sendSpotOrder(
  marketMaker,
  side,
  expirationTime,
  baseToken,
  quoteToken,
  baseAmount,
  quoteAmount,
  price,
  feeLimit,
  tabAddress,
  slippage,
  isMarket,
  ACTIVE_ORDERS
);

Perpetual orders

let privKey = "0x1234";
let marketMaker = await UserState.loginUser(privKey);

/// Send a spot Limit Order
let side = "Long";
let expirationTime = 3600_000; // in seconds
let positionEffectType = "Open"; // "Open"/"Modify"/"Close"
let positionAddress = null; // Used for modify/close orders
let syntheticToken = SYMBOLS_TO_IDS["BTC"];
let syntheticAmount = 0.1; // Used for sell order
let price = 37359.1;
let intialMargin = 2500.0;
let feeLimit = 0.1;
let slippage = 0.01;
let isMarket = false;
let ACTIVE_ORDERS = null;

let response = await sendPerpOrder(
  marketMaker,
  side,
  expirationTime,
  positionEffectType,
  positionAddress,
  syntheticToken,
  syntheticAmount,
  price,
  intialMargin,
  feeLimit,
  slippage,
  isMarket,
  ACTIVE_ORDERS
);

Modify orders

let privKey = "0x1234";
let marketMaker = await UserState.loginUser(privKey);

/// Send a Cancel Order
let orderId = 123;
let isBid = true; // true for bid, false for ask
let isPerp = true;
let assetId = SYMBOLS_TO_IDS["ETH"];
let marketId = SPOT_MARKET_IDS[assetId];
let res = await sendCancelOrder(marketMaker, orderId, isBid, isPerp, marketId);

/// Send an Amend Order
let newPrice = 1950.0;
let newExpirationTime = 3600_000; // in seconds
let tabAddress = null;
let match_only = false; // This will only match the orders within the new price range without updating them
let ACTIVE_ORDERS = null;
res = await sendAmendOrder(
  marketMaker,
  orderId,
  isBid,
  isPerp,
  marketId,
  newPrice,
  newExpirationTime,
  tabAddress,
  match_only,
  ACTIVE_ORDERS
);

All order types:

{
  sendSpotOrder,
  sendPerpOrder,
  sendCancelOrder,
  sendDeposit,
  sendWithdrawal,
  sendAmendOrder,
  sendSplitOrder,
  sendChangeMargin,
  sendLiquidationOrder,
  sendOpenOrderTab,
  sendCloseOrderTab,
  sendModifyOrderTab,
  sendRegisterMm,
  sendAddLiquidityUser,
  sendOnChainAddLiquidityMM,
  sendOnChainRemoveLiquidityUser,
  sendOnChainRemoveLiquidityMM,
}
1.5.11

1 month ago

1.5.10

3 months ago

1.5.9

3 months ago

1.5.8

3 months ago

1.5.7

3 months ago

1.5.6

3 months ago

1.5.5

4 months ago

1.5.4

4 months ago

1.5.3

4 months ago

1.5.2

4 months ago

1.5.1

4 months ago

1.5.0

4 months ago

1.4.20

5 months ago

1.4.19

5 months ago

1.4.18

5 months ago

1.4.15

5 months ago

1.4.14

5 months ago

1.4.17

5 months ago

1.4.16

5 months ago

1.4.9

5 months ago

1.4.11

5 months ago

1.4.8

5 months ago

1.4.10

5 months ago

1.4.7

5 months ago

1.4.13

5 months ago

1.4.12

5 months ago

1.4.6

5 months ago

1.4.5

5 months ago

1.4.4

5 months ago

1.4.3

5 months ago

1.4.2

5 months ago

1.4.1

5 months ago

1.4.0

5 months ago

1.3.13

5 months ago

1.3.12

5 months ago

1.3.11

5 months ago

1.3.10

5 months ago

1.3.9

5 months ago

1.3.8

5 months ago

1.3.7

5 months ago

1.3.6

5 months ago

1.3.4

5 months ago

1.3.3

5 months ago

1.3.2

5 months ago

1.3.1

5 months ago