ryskv12
v3.0.1
Published
Rysk V12 client
Maintainers
Readme
Rysk V12 Node client
Node wrapper for ryskV12 cli
Setup
The package comes with a postinstall script that automatically pulls the latest release of ryskV12 cli.
If the script fails to do so please navigate to https://github.com/rysk-finance/ryskV12-cli/releases/latest and download the latest release in your project directory as ryskV12.
Run
Core execute method
The execute method spawns a subprocess and returns it.
You can then attach listeners to the process to capture stdout, stderr and events like "close" and "error".
// ...
public execute(args: Array<string> = []): ChildProcessWithoutNullStreams {
return spawn(this._cli_path, args, {
shell: true,
stdio: ["pipe", "pipe", "pipe"],
});
}
//...Instantiation
const privateKey = "0xYOUR_PRIVATE_KEY";
const env = Env.TESTNET; // Env.LOCAL | Env.TESTNET | Env.MAINNET
const ryskSDK = new Rysk(env, privateKey, "/path/to/ryskV12"); // Optional CLI pathCreate a Connection
const rfqChannel = "my-rfq-channel-id";
const rfqURI = "rfqs/<assetAddress>"; // Example websocket endpoint
const rfqProc = ryskSDK.execute(ryskSDK.connectArgs(rfqChannel, rfqURI));
const makerChannel = "maker-channel";
const makerURI = "maker";
const makerProc = ryskSDK.execute(ryskSDK.connectArgs(makerChannel, makerURI));Disconnect
const makerChannel = "maker-channel";
ryskSDK.execute(ryskSDK.disconnectArgs(makerChannel));Approve USDC spending
const chainId = 84532;
const amount = "1000000";
const rpcURL = "https://rpc...";
const proc = ryskSDK.execute(ryskSDK.approveArgs(chainId, amount, rpcURL));List USDC Balances
const makerChannel = "maker-channel";
const account = "0xabc";
const proc = ryskSDK.execute(ryskSDK.balancesArgs(makerChannel, account));Deposit / Withdraw
const makerChannel = "maker-channel";
const transferDetails: Transfer = {
amount: "500000",
asset: "0x...", // The asset address
chain_id: 84532,
is_deposit: true,
nonce: "some-unique-nonce",
};
const proc = ryskSDK.execute(
ryskSDK.transferArgs(makerChannel, transferDetails)
);List Positions
const makerChannel = "maker-channel";
const account = "0xabc";
const proc = ryskSDK.execute(ryskSDK.positionsArgs(makerChannel, account));Send a Quote
const makerChannel = "maker-channel";
const request_id = "some-uuid-from-server";
const quoteDetails: Quote = {
assetAddress: "0x...",
chainId: 84532,
expiry: 1678886400,
isPut: false,
isTakerBuy: true,
maker: "0x...",
nonce: "another-unique-nonce",
price: "0.01",
quantity: "1",
strike: "1000000",
validUntil: 1678886460,
usd: "0x...",
collateralAsset: "0x....",
};
const proc = ryskSDK.execute(
ryskSDK.quoteArgs(makerChannel, request_id, quoteDetails)
);Example
Check out the examples folder.
