DEPRECATED see our new protocol here
A TypeScript library for interacting with the dYdX protocol.
npm install --save @dydxprotocol/dydx.js
import { DYDX } from '@dydxprotocol/dydx.js';
const dydx = new DYDX();
await dydx.initialize(provider, networkId);
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 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)
);
npm install
npm run build