2.0.4 • Published 2 years ago

@ragetrade/sdk v2.0.4

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Rage Trade SDK

Install

Ethers.js is a peer dependency so that needs to be installed in the project as well.

npm install @ragetrade/sdk ethers

Quick debugging

npx ragetrade

Opens a repl with the rage trade sdk loaded. Also the contracts are exposed as global variables.

ragetrade> sdk.fromQ128('0x0140000000000000000000000000000000')
1.25
ragetrade> await sdk.sqrtPriceX96ToPrice('0x03e08db11fa9d95156495b', 6, 18)
3500

Reading data

import { StaticJsonRpcProvider } from '@ethersproject/providers';
import { core, tricryptoVault } from '@ragetrade/sdk';

const provider = new StaticJsonRpcProvider('arbitrum testnet node url');

// in your code

const { clearingHouse } = await core.getContracts(provider);
const num = await clearingHouse.numAccounts();
console.log(num); // BigNumber { _hex: '0x05', _isBigNumber: true }
console.log(num.toNumber()); // 5

const { curveYieldStrategy } = await tricryptoVault.getContracts(provider);
const tvl = await curveYieldStrategy.vaultMarketValue();
console.log(tvl); // BigNumber

Getting user data

import { core, tricryptoVault } from '@ragetrade/sdk';

// number[]
const accountIds = await getAccountIdsByAddress('0xAddress', 'arbmain');

// prints out all collaterals, token positions, liquidity positions for the account
const accountInfo = await getAccountInfo(2, 'arbmain');

Using Fallback Data Sources

import { getDefaultDataSourceSync, pools, VaultName } from '@ragetrade/sdk';
const ds = getDefaultDataSourceSync(
  'arbmain' /* optionally pass in ethers provider or array of ethers providers or data sources */
);

const prices = await ds.getPrices(pools.arbmain[0].poolId);
// { realPrice: number; virtualPrice: number; realTwapPrice: number; virtualTwapPrice: number; }
const vaultInfo = await ds.getVaultInfo('tricrypto' /* as VaultName */);
// { totalSupply: number; totalAssets: number; assetPrice: number; sharePrice: number; depositCap: number; vaultMarketValue: number; }

Making transaction: create account

import { StaticJsonRpcProvider } from '@ethersproject/providers';
import { Wallet } from '@ethersproject/wallet';
import { core, parseUsdc } from '@ragetrade/sdk';

const provider = new StaticJsonRpcProvider('arbitrum testnet node url');
const signer = new Wallet('private key', provider);

// creating account

const { clearingHouse } = await core.getContracts(signer);
const myAccountNum = await clearingHouse.callStatic.createAccount();
const tx = await clearingHouse.createAccount();
await tx.wait();

Making transaction: add money to account

import { core, formatUsdc, parseUsdc } from '@ragetrade/sdk';

const { clearingHouse, rBase } = await core.getContracts(signer);

const balance = await rBase.balanceOf(signer.address);
console.log(balance); // BigNumber { _hex: '0x05f5e100', _isBigNumber: true }
console.log(formatUsdc(balance)); // 100.0

const accountNo = 3;
const amount = parseUsdc('10'); // BigNumber { _hex: '0x989680', _isBigNumber: true }
const tx1 = await rBase.approve(clearingHouse.address, amount);
await tx1.wait();
const tx2 = await clearingHouse.addMargin(accountNo, amount);
const collateralTokenId = '0x' + c.rBase.address.slice(34, 42);
await c.clearingHouse.addMargin(3, collateralTokenId, amount);
await tx2.wait();

Initializing new pool

await rageTradeFactory.connect(w).initializePool({
  deployVTokenParams: {
    vTokenName: 'vWETH2',
    vTokenSymbol: 'vWETH2',
    rTokenDecimals: 18,
  },
  rageTradePoolInitialSettings: {
    initialMarginRatio: 20000,
    maintainanceMarginRatio: 10000,
    twapDuration: 60,
    whitelisted: false,
    oracle: '0x7DC0A2fE40a77DD435B0AE260320E5C58c12557a',
  },
  liquidityFeePips: 500,
  protocolFeePips: 500,
});

Timelock

import { core, generateTimelockSchedule } from '@ragetrade/sdk';

const { clearingHouse, timelock } = await core.getContracts(signer);

// single
const schedule = await generateTimelockSchedule(timelock, [
  clearingHouse.populateTransaction.withdrawProtocolFee(),
]);

// batch
const schedule = await generateTimelockSchedule(timelock, [
  clearingHouse.populateTransaction.withdrawProtocolFee(),
  clearingHouse.populateTransaction.updateProtocolSettings(...args),
]);
1.1.0-alpha.10

2 years ago

2.0.3

2 years ago

2.0.2

2 years ago

2.0.4

2 years ago

2.0.1

2 years ago

2.0.0

2 years ago

1.1.0-alpha.9

2 years ago

1.1.0-alpha.8

2 years ago

1.1.0-alpha

2 years ago

1.1.0-alpha.7

2 years ago

1.1.0-alpha.2

2 years ago

1.1.0-alpha.5

2 years ago

1.1.0-alpha.6

2 years ago

1.1.0-alpha.3

2 years ago

1.1.0-alpha.4

2 years ago

1.0.0-alpha.52

3 years ago

1.0.0-alpha.51

3 years ago

1.0.0-alpha.53

3 years ago

1.0.0-alpha.50

3 years ago

1.0.0-alpha.30

3 years ago

1.0.0-alpha.32

3 years ago

1.0.0-alpha.31

3 years ago

1.0.0-alpha.38

3 years ago

1.0.0-alpha.37

3 years ago

1.0.0-alpha.39

3 years ago

1.0.0-alpha.34

3 years ago

1.0.0-alpha.33

3 years ago

1.0.0-alpha.36

3 years ago

1.0.0-alpha.35

3 years ago

1.0.0-alpha.41

3 years ago

1.0.0-alpha.40

3 years ago

1.0.0-alpha.43

3 years ago

1.0.0-alpha.42

3 years ago

1.0.0-alpha.49

3 years ago

1.0.0-alpha.48

3 years ago

1.0.0-alpha.45

3 years ago

1.0.0-alpha.44

3 years ago

1.0.0-alpha.47

3 years ago

1.0.0-alpha.46

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago

1.0.0-alpha.19

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.0-alpha.10

3 years ago

1.0.0-alpha.16

3 years ago

1.0.0-alpha.15

3 years ago

1.0.0-alpha.18

3 years ago

1.0.0-alpha.17

3 years ago

1.0.0-alpha.12

3 years ago

1.0.0-alpha.11

3 years ago

1.0.0-alpha.14

3 years ago

1.0.0-alpha.13

3 years ago

1.0.0-alpha.21

3 years ago

1.0.0-alpha.20

3 years ago

1.0.0-alpha.27

3 years ago

1.0.0-alpha.26

3 years ago

1.0.0-alpha.29

3 years ago

1.0.0-alpha.28

3 years ago

1.0.0-alpha.23

3 years ago

1.0.0-alpha.22

3 years ago

1.0.0-alpha.25

3 years ago

1.0.0-alpha.24

3 years ago

1.0.0-alpha.9

3 years ago

1.0.0-alpha.8

3 years ago

1.0.0-alpha.7

3 years ago

1.0.0-alpha.6

3 years ago

1.0.0-alpha.5

3 years ago

1.0.0-alpha.4

3 years ago

1.0.0-alpha.3

3 years ago

1.0.0-alpha.2

3 years ago

1.0.0-alpha.1

3 years ago

0.10.1-gmx

3 years ago

0.11.0-alpha

3 years ago

0.10.3-gmx

3 years ago

1.0.0-alpha

3 years ago

0.11.8

3 years ago

0.10.4-gmx

3 years ago

0.11.9

3 years ago

0.11.0

3 years ago

0.11.1

3 years ago

0.11.2

3 years ago

0.11.3

3 years ago

0.11.4

3 years ago

0.11.5

3 years ago

0.11.6

3 years ago

0.11.7

3 years ago

0.11.1-alpha

3 years ago

0.10.2-gmx

3 years ago

0.10.0-alpha.3

3 years ago

0.10.0-alpha.2

3 years ago

0.10.0-alpha.5

3 years ago

0.10.0-alpha.4

3 years ago

0.10.0-alpha.1

3 years ago

0.10.0-alpha.0

3 years ago

0.9.0

3 years ago

0.9.2

3 years ago

0.9.1

3 years ago

0.9.7

3 years ago

0.9.4

3 years ago

0.9.3

3 years ago

0.9.6

3 years ago

0.9.5

3 years ago

0.10.0-gmx

3 years ago

0.10.0

3 years ago

0.8.0

3 years ago

0.7.22

3 years ago

0.7.21

3 years ago

0.7.24

3 years ago

0.7.23

3 years ago

0.7.20

3 years ago

0.7.13

3 years ago

0.7.19

3 years ago

0.7.18

3 years ago

0.7.15

3 years ago

0.7.14

3 years ago

0.7.17

3 years ago

0.7.16

3 years ago

0.5.10

3 years ago

0.5.11

3 years ago

0.5.12

3 years ago

0.5.13

3 years ago

0.7.2

3 years ago

0.5.4

3 years ago

0.7.1

3 years ago

0.7.4

3 years ago

0.5.6

3 years ago

0.7.3

3 years ago

0.5.5

3 years ago

0.7.0

3 years ago

0.7.11

3 years ago

0.7.10

3 years ago

0.7.9

3 years ago

0.7.12

3 years ago

0.7.6

3 years ago

0.5.8

3 years ago

0.7.5

3 years ago

0.5.7

3 years ago

0.7.8

3 years ago

0.7.7

3 years ago

0.5.9

3 years ago

0.6.0

3 years ago

0.5.3

3 years ago

0.5.0

3 years ago

0.4.1

3 years ago

0.4.0

3 years ago

0.3.1

3 years ago

0.5.2

3 years ago

0.4.3

3 years ago

0.5.1

3 years ago

0.4.2

3 years ago

0.3.0

3 years ago

0.2.14

3 years ago

0.2.13

3 years ago

0.2.12

3 years ago

0.2.11

3 years ago

0.2.10

3 years ago

0.2.9

3 years ago

0.2.8

3 years ago

0.2.7

3 years ago

0.2.6

3 years ago

0.2.5

3 years ago

0.2.4

3 years ago

0.2.3

3 years ago

0.2.2

3 years ago

0.2.1

3 years ago

0.2.0

3 years ago

0.1.10

3 years ago

0.1.9

3 years ago

0.1.8

3 years ago

0.1.7

3 years ago

0.1.6

3 years ago

0.1.5

3 years ago

0.1.4

3 years ago

0.1.3

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.1.0

3 years ago