UNPKG

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

Version:

DVF client js lib with gateway.fm rpc endpoints

37 lines (29 loc) 1.11 kB
const validateProps = require('../validators/validateProps') const validateAssertions = require('../validators/validateAssertions') const starkSignedOrder = async (dvf, starkPrivateKey, starkMessage) => { validateAssertions(dvf, { starkPrivateKey }) const { starkKeyPair, starkPublicKey } = await dvf.stark.createKeyPair( starkPrivateKey ) const starkSignature = dvf.stark.sign(starkKeyPair, starkMessage) return { starkPublicKey, starkSignature } } module.exports = async (dvf, orderData) => { validateProps(dvf, ['amount', 'symbol', 'price'], orderData) const { starkOrder, starkMessage } = await dvf.stark.createOrder(orderData) let starkPublicKey, starkSignature if (orderData.starkPrivateKey) { ({starkPublicKey, starkSignature} = await starkSignedOrder(dvf, orderData.starkPrivateKey, starkMessage)) } else if (orderData.ledgerPath) { ({starkPublicKey, starkSignature} = await dvf.stark.ledger.createSignedOrder(orderData.ledgerPath, starkOrder, { starkMessage })) } return { starkPublicKey, starkOrder, starkMessage, starkSignature } }