@dydxprotocol/dydx.js
TypeScript icon, indicating that this package has built-in type declarations

0.9.14 • Public • Published

CI Coverage Status License NPM Slack

A TypeScript library for interacting with the dYdX protocol.

Usage

Install

npm install --save @dydxprotocol/dydx.js

Initialize

import { DYDX } from '@dydxprotocol/dydx.js';

const dydx = new DYDX();
await dydx.initialize(provider, networkId);

Short & Leveraged Tokens

Mint

await dydx.shortToken.mint(
  positionId,
  trader,
  tokensToMint,
  payInHeldToken,
  exchangeWrapper,
  orderData,
  options,
);

Or mint with ETH:

await dydx.shortToken.mintWithETH(
  positionId,
  trader,
  tokensToMint,
  ethToSend,
  ethIsHeldToken,
  exchangeWrapper,
  orderData,
  options,
);

Or mint directly (you will put up all held token [DAI for sETH] and will receive owed token [WETH for sETH]):

// Set your allowance on our proxy contract - you only need to do this once
await dydx.token.setMaximumProxyAllowance(
  heldTokenAddress, // DAI address for sETH
  traderAddress, // your address
);

await dydx.shortToken.mintDirectly(
  positionId, // Can get from expo API
  trader, // your address
  tokensToMint, // BigNumber - Number of tokens to mint in base units (10^18 is 1 sETH)
);

Close

Close directly (you will pay all owed token owed to lenders [WETH for sETH] and will receive all held token collateral [DAI for sETH])

// Set your allowance on our proxy contract - you only need to do this once
await dydx.token.setMaximumProxyAllowance(
  owedTokenAddress, // WETH address for sETH
  traderAddress, // your address
);

await dydx.shortToken.closeDirectly(
  positionId, // Can get from expo API
  closer, // your address
  tokensToClose, // BigNumber - Number of tokens to close in base units (10^18 is 1 sETH)
);

Development

Install

npm install

Compile

npm run build

Readme

Keywords

none

Package Sidebar

Install

npm i @dydxprotocol/dydx.js

Weekly Downloads

2

Version

0.9.14

License

Apache-2.0

Unpacked Size

404 kB

Total Files

111

Last publish

Collaborators