UNPKG

@gateway.fm/gtw-dvf-client-js

Version:

DVF client js lib with gateway.fm rpc endpoints

27 lines (21 loc) 1.07 kB
const {post} = require('request-promise') const validateAssertions = require('../../lib/validators/validateAssertions') module.exports = async (dvf, token, amount, path, nonce, signature) => { validateAssertions(dvf, {amount, token}) const tempVaultId = dvf.config.DVF.tempStarkVaultId || '1' const depositAmount = dvf.util.prepareDepositAmount(amount, token) const starkDeposit = await dvf.stark.ledger.createDepositData(path, token, depositAmount, tempVaultId, nonce, signature) const data = { token, amount: depositAmount, nonce: starkDeposit.nonce, expireTime: starkDeposit.expireTime, starkVaultId: starkDeposit.starkVaultId, starkSignature: starkDeposit.starkSignature, starkPublicKey: starkDeposit.starkPublicKey } const url = dvf.config.api + '/v1/trading/w/deposit' const deposit = await post(url, {json: data, headers: { Authorization: dvf.config.apiKey}}) const ctDeposit = await dvf.contract.deposit(tempVaultId, token, amount, `0x${starkDeposit.starkPublicKey.x}`) return {...deposit, ...ctDeposit} }