New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@dydxprotocol/starkex-lib

Package Overview
Dependencies
Maintainers
9
Versions
62
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@dydxprotocol/starkex-lib - npm Package Compare versions

Comparing version 0.4.1 to 0.5.0

__tests__/helpers/assets.test.ts

18

__tests__/keys.test.ts

@@ -61,3 +61,21 @@ /**

});
it('generates the expected key pairs', () => {
// Make sure that the mapping from buffer to key pair doesn't change unexpectedly.
expect(keyPairFromData(Buffer.from('0'))).toEqual({
publicKey: '069a33d37101d7089b606f92e4b41553c237a474ad9d6f62eeb6708415f98f4d',
privateKey: '002242959533856f2a03f3c7d9431e28ef4fe5cb2a15038c37f1d76d35dc508b',
});
expect(keyPairFromData(Buffer.from('a'))).toEqual({
publicKey: '01b831960e94e1825a1f88a02906662d84696fed516304bd1523ae8ba354affb',
privateKey: '01d61128b46faa109512e0e00fe9adf5ff52047ed61718eeeb7c0525dfcd2f8e',
});
expect(keyPairFromData(Buffer.from(
'really long input data for key generation with the keyPairFromData() function',
))).toEqual({
publicKey: '0179decc2752db9934392f19d74a13e3068f285caf55e9563c8ee881f022aaa2',
privateKey: '007c4946831bde597b73f1d5721af9c67731eafeb75c1b8e92ac457a61819a29',
});
});
});
});

22

__tests__/signable/api-request.test.ts

@@ -8,2 +8,3 @@ /**

ApiRequestParams,
KeyPair,
} from '../../src/types';

@@ -15,2 +16,7 @@ import { generateKeyPairUnsafe } from '../../src/keys';

// Mock params.
const mockKeyPair: KeyPair = {
publicKey: '3b865a18323b8d147a12c556bfb1d502516c325b1477a23ba6c77af31f020fd',
privateKey: '58c7d5a90b1776bde86ebac077e053ed85b0f7164f53b080304a531947f46e3',
};
const mockApiRequest: ApiRequestParams = {

@@ -22,10 +28,18 @@ isoTimestamp: '2020-10-19T20:31:20.000Z',

};
const mockSignature = (
'04940eee8f6d42c16cff2f5fd4e796aa194172076344e9ccf918b2bcccc97064' +
'068c11003b1ad010c5d0c6c9e8fe36d296fcac4c01cdaf3b455f8f6fee62784a'
);
describe('SignableApiRequest', () => {
it('signs and verifies a signature', () => {
const keyPair = generateKeyPairUnsafe();
it('produces the expected signature', () => {
const signable = new SignableApiRequest(mockApiRequest);
const signature = signable.sign(keyPair.privateKey);
const isValid = signable.verifySignature(signature, keyPair.publicKey);
const signature = signable.sign(mockKeyPair.privateKey);
expect(signature).toBe(mockSignature);
});
it('verifies a signature', () => {
const signable = new SignableApiRequest(mockApiRequest);
const isValid = signable.verifySignature(mockSignature, mockKeyPair.publicKey);
expect(isValid).toBe(true);

@@ -32,0 +46,0 @@ });

24

__tests__/signable/order.test.ts

@@ -5,3 +5,3 @@ /**

import Big from 'big.js';
import Big, { RoundingMode } from 'big.js';

@@ -36,3 +36,3 @@ import {

humanSize: '145.0005',
humanLimitFee: '0.03298534883328', // Quantum * 3
humanLimitFee: '0.032985',
market: DydxMarket.ETH_USD,

@@ -45,8 +45,8 @@ side: StarkwareOrderSide.BUY,

const mockSignature = (
'017df23741c85db85bcfe9fc2e1e8a9f2957d8d691333dc1c1d5619b77b02297' +
'06a6d056f34c8743bd1f3f9e2cbce48d56353f74cecba2f5ffd9db68683aeefb'
'073b286b35acfdee9d3c5e7b07fc1392d53a0fae2f960c9cf4e66b5cac0b8de5' +
'04c26bdadd93668d82668e3e3dd4e603093f4bfefb4e3570249024d074dbf182'
);
const mockSignatureEvenY = (
'01441d9cd615b1ce9bedbfe657b82e42ee073b04d9e9d2e07484675e02fbff43' +
'032a5f77482fedd617d2ebc5944b1585919dae99ede4468c07298ff78dca3694'
'032ec9c1a22f939a16bf729402a376fda3420d24a8f93b886b1f1664f10ec4de' +
'0532951bcb4f733ebb17e44d3fc368f4bd441dc74a2757f79531708165730333'
);

@@ -110,6 +110,10 @@

it('signs an order with quoteAmount instead of price', () => {
const roundedQuoteAmount = new Big(mockOrder.humanSize)
.times(mockOrder.humanPrice)
.round(6, RoundingMode.RoundUp)
.toFixed();
const orderWithQuoteAmount: OrderWithClientIdAndQuoteAmount = {
...mockOrder,
humanPrice: undefined,
humanQuoteAmount: new Big(mockOrder.humanSize).times(mockOrder.humanPrice).toFixed(),
humanQuoteAmount: roundedQuoteAmount,
};

@@ -174,5 +178,5 @@ const signature = SignableOrder

.toStarkware();
expect(starkwareOrder.quantumsAmountSynthetic).toEqual('1450005000000');
expect(starkwareOrder.quantumsAmountCollateral).toEqual('4615710');
expect(starkwareOrder.quantumsAmountFee).toEqual('3');
expect(starkwareOrder.quantumsAmountSynthetic).toEqual('14500050000');
expect(starkwareOrder.quantumsAmountCollateral).toEqual('50750272151');
expect(starkwareOrder.quantumsAmountFee).toEqual('32985');
});

@@ -179,0 +183,0 @@

@@ -25,3 +25,3 @@ /**

positionId: '12345',
humanAmount: '49.47802324992',
humanAmount: '49.478023',
expirationIsoTimestamp: '2020-09-17T04:15:55.028Z',

@@ -31,4 +31,4 @@ clientId: 'This is an ID that the client came up with to describe this withdrawal',

const mockSignature = (
'04baff76d91d155e6fbe8f5ff4a997cdd2b865506db10656fda040d94ca2f86c' +
'03622618798e85ef45adf60dc16bac632bd4f7f21bb2aa88777d65ca0fc011b6'
'033cb5733344f13b8527711e651ade3dd3ed61d0c700085c2d6e13a31fb7e748' +
'0088291b597390d15920576de379cf6d64a0f8ee08b2e61a5abf3b3fcfe563a0'
);

@@ -118,3 +118,3 @@

.toStarkware();
expect(starkwareWithdrawal.quantumsAmount).toEqual('4500');
expect(starkwareWithdrawal.quantumsAmount).toEqual('49478023');
});

@@ -121,0 +121,0 @@ });

@@ -41,4 +41,19 @@ "use strict";

});
it('generates the expected key pairs', () => {
// Make sure that the mapping from buffer to key pair doesn't change unexpectedly.
expect(keys_1.keyPairFromData(Buffer.from('0'))).toEqual({
publicKey: '069a33d37101d7089b606f92e4b41553c237a474ad9d6f62eeb6708415f98f4d',
privateKey: '002242959533856f2a03f3c7d9431e28ef4fe5cb2a15038c37f1d76d35dc508b',
});
expect(keys_1.keyPairFromData(Buffer.from('a'))).toEqual({
publicKey: '01b831960e94e1825a1f88a02906662d84696fed516304bd1523ae8ba354affb',
privateKey: '01d61128b46faa109512e0e00fe9adf5ff52047ed61718eeeb7c0525dfcd2f8e',
});
expect(keys_1.keyPairFromData(Buffer.from('really long input data for key generation with the keyPairFromData() function'))).toEqual({
publicKey: '0179decc2752db9934392f19d74a13e3068f285caf55e9563c8ee881f022aaa2',
privateKey: '007c4946831bde597b73f1d5721af9c67731eafeb75c1b8e92ac457a61819a29',
});
});
});
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5cy50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vX190ZXN0c19fL2tleXMudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7O0FBS0gsMENBQStDO0FBRS9DLHFCQUFxQjtBQUNyQixzQ0FHcUI7QUFFckIsTUFBTSwrQkFBK0IsR0FBRyxnQkFBZ0IsQ0FBQztBQUV6RCxRQUFRLENBQUMsMEJBQTBCLEVBQUUsR0FBRyxFQUFFO0lBRXhDLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLEVBQUU7UUFFakMsRUFBRSxDQUFDLHNCQUFzQixFQUFFLEdBQUcsRUFBRTtZQUM5QixNQUFNLE9BQU8sR0FBWSw0QkFBcUIsRUFBRSxDQUFDO1lBQ2pELE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLCtCQUErQixDQUFDLENBQUM7WUFDbkUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUN0RSxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywrQkFBK0IsRUFBRSxHQUFHLEVBQUU7WUFDdkMsTUFBTSxDQUNKLDRCQUFxQixFQUFFLENBQ3hCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FDWCw0QkFBcUIsRUFBRSxDQUN4QixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLEVBQUU7UUFFakMsRUFBRSxDQUFDLDBEQUEwRCxFQUFFLEdBQUcsRUFBRTtZQUNsRSxNQUFNLE9BQU8sR0FBRyxtQkFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2pDLE1BQU0sQ0FBQyxzQkFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLHNCQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNyRSxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywrQ0FBK0MsRUFBRSxHQUFHLEVBQUU7WUFDdkQsTUFBTSxDQUFDLHNCQUFlLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsc0JBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekYsTUFBTSxDQUFDLHNCQUFlLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsc0JBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekYsTUFBTSxDQUFDLHNCQUFlLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsc0JBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0YsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsOENBQThDLEVBQUUsR0FBRyxFQUFFO1lBQ3RELE1BQU0sT0FBTyxHQUFHLG1CQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0QyxRQUFRLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQ3pDLE1BQU0sQ0FBQyxzQkFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLHNCQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNuRSxNQUFNLENBQUMsc0JBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsc0JBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQzFFLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLG9DQUFvQyxFQUFFLEdBQUcsRUFBRTtZQUM1QyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDekUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIn0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5cy50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vX190ZXN0c19fL2tleXMudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7O0FBS0gsMENBQStDO0FBRS9DLHFCQUFxQjtBQUNyQixzQ0FHcUI7QUFFckIsTUFBTSwrQkFBK0IsR0FBRyxnQkFBZ0IsQ0FBQztBQUV6RCxRQUFRLENBQUMsMEJBQTBCLEVBQUUsR0FBRyxFQUFFO0lBRXhDLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLEVBQUU7UUFFakMsRUFBRSxDQUFDLHNCQUFzQixFQUFFLEdBQUcsRUFBRTtZQUM5QixNQUFNLE9BQU8sR0FBWSw0QkFBcUIsRUFBRSxDQUFDO1lBQ2pELE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLCtCQUErQixDQUFDLENBQUM7WUFDbkUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUN0RSxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywrQkFBK0IsRUFBRSxHQUFHLEVBQUU7WUFDdkMsTUFBTSxDQUNKLDRCQUFxQixFQUFFLENBQ3hCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FDWCw0QkFBcUIsRUFBRSxDQUN4QixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLEVBQUU7UUFFakMsRUFBRSxDQUFDLDBEQUEwRCxFQUFFLEdBQUcsRUFBRTtZQUNsRSxNQUFNLE9BQU8sR0FBRyxtQkFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2pDLE1BQU0sQ0FBQyxzQkFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLHNCQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNyRSxDQUFDLENBQUMsQ0FB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

@@ -10,2 +10,7 @@ "use strict";

const api_request_1 = require("../../src/signable/api-request");
// Mock params.
const mockKeyPair = {
publicKey: '3b865a18323b8d147a12c556bfb1d502516c325b1477a23ba6c77af31f020fd',
privateKey: '58c7d5a90b1776bde86ebac077e053ed85b0f7164f53b080304a531947f46e3',
};
const mockApiRequest = {

@@ -17,8 +22,13 @@ isoTimestamp: '2020-10-19T20:31:20.000Z',

};
const mockSignature = ('04940eee8f6d42c16cff2f5fd4e796aa194172076344e9ccf918b2bcccc97064' +
'068c11003b1ad010c5d0c6c9e8fe36d296fcac4c01cdaf3b455f8f6fee62784a');
describe('SignableApiRequest', () => {
it('signs and verifies a signature', () => {
const keyPair = keys_1.generateKeyPairUnsafe();
it('produces the expected signature', () => {
const signable = new api_request_1.SignableApiRequest(mockApiRequest);
const signature = signable.sign(keyPair.privateKey);
const isValid = signable.verifySignature(signature, keyPair.publicKey);
const signature = signable.sign(mockKeyPair.privateKey);
expect(signature).toBe(mockSignature);
});
it('verifies a signature', () => {
const signable = new api_request_1.SignableApiRequest(mockApiRequest);
const isValid = signable.verifySignature(mockSignature, mockKeyPair.publicKey);
expect(isValid).toBe(true);

@@ -34,2 +44,2 @@ });

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXJlcXVlc3QudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19fdGVzdHNfXy9zaWduYWJsZS9hcGktcmVxdWVzdC50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7QUFFSCwyQ0FHeUI7QUFDekIseUNBQXVEO0FBRXZELHFCQUFxQjtBQUNyQixnRUFBb0U7QUFFcEUsTUFBTSxjQUFjLEdBQXFCO0lBQ3ZDLFlBQVksRUFBRSwwQkFBMEI7SUFDeEMsTUFBTSxFQUFFLGlCQUFTLENBQUMsR0FBRztJQUNyQixXQUFXLEVBQUUsVUFBVTtJQUN2QixJQUFJLEVBQUUsRUFBRTtDQUNULENBQUM7QUFFRixRQUFRLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxFQUFFO0lBRWxDLEVBQUUsQ0FBQyxnQ0FBZ0MsRUFBRSxHQUFHLEVBQUU7UUFDeEMsTUFBTSxPQUFPLEdBQUcsNEJBQXFCLEVBQUUsQ0FBQztRQUN4QyxNQUFNLFFBQVEsR0FBRyxJQUFJLGdDQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BELE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2RSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHdEQUF3RCxFQUFFLEdBQUcsRUFBRTtRQUNoRSxNQUFNLE9BQU8sR0FBRyw0QkFBcUIsRUFBRSxDQUFDO1FBQ3hDLE1BQU0sUUFBUSxHQUFHLElBQUksZ0NBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDeEQsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDcEQsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsNEJBQXFCLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2RixNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMifQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXJlcXVlc3QudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19fdGVzdHNfXy9zaWduYWJsZS9hcGktcmVxdWVzdC50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7QUFFSCwyQ0FJeUI7QUFDekIseUNBQXVEO0FBRXZELHFCQUFxQjtBQUNyQixnRUFBb0U7QUFFcEUsZUFBZTtBQUNmLE1BQU0sV0FBVyxHQUFZO0lBQzNCLFNBQVMsRUFBRSxpRUFBaUU7SUFDNUUsVUFBVSxFQUFFLGlFQUFpRTtDQUM5RSxDQUFDO0FBQ0YsTUFBTSxjQUFjLEdBQXFCO0lBQ3ZDLFlBQVksRUFBRSwwQkFBMEI7SUFDeEMsTUFBTSxFQUFFLGlCQUFTLENBQUMsR0FBRztJQUNyQixXQUFXLEVBQUUsVUFBVTtJQUN2QixJQUFJLEVBQUUsRUFBRTtDQUNULENBQUM7QUFDRixNQUFNLGFBQWEsR0FBRyxDQUNwQixrRUFBa0U7SUFDbEUsa0VBQWtFLENBQ25FLENBQUM7QUFFRixRQUFRLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxFQUFFO0lBRWxDLEVBQUUsQ0FBQyxpQ0FBaUMsRUFBRSxHQUFHLEVBQUU7UUFDekMsTUFBTSxRQUFRLEdBQUcsSUFBSSxnQ0FBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN4RCxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4RCxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3hDLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHNCQUFzQixFQUFFLEdBQUcsRUFBRTtRQUM5QixNQUFNLFFBQVEsR0FBRyxJQUFJLGdDQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHdEQUF3RCxFQUFFLEdBQUcsRUFBRTtRQUNoRSxNQUFNLE9BQU8sR0FBRyw0QkFBcUIsRUFBRSxDQUFDO1FBQ3hDLE1BQU0sUUFBUSxHQUFHLElBQUksZ0NBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDeEQsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDcEQsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsNEJBQXFCLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2RixNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMifQ==

@@ -28,3 +28,3 @@ "use strict";

humanSize: '145.0005',
humanLimitFee: '0.03298534883328',
humanLimitFee: '0.032985',
market: types_1.DydxMarket.ETH_USD,

@@ -36,6 +36,6 @@ side: types_1.StarkwareOrderSide.BUY,

};
const mockSignature = ('017df23741c85db85bcfe9fc2e1e8a9f2957d8d691333dc1c1d5619b77b02297' +
'06a6d056f34c8743bd1f3f9e2cbce48d56353f74cecba2f5ffd9db68683aeefb');
const mockSignatureEvenY = ('01441d9cd615b1ce9bedbfe657b82e42ee073b04d9e9d2e07484675e02fbff43' +
'032a5f77482fedd617d2ebc5944b1585919dae99ede4468c07298ff78dca3694');
const mockSignature = ('073b286b35acfdee9d3c5e7b07fc1392d53a0fae2f960c9cf4e66b5cac0b8de5' +
'04c26bdadd93668d82668e3e3dd4e603093f4bfefb4e3570249024d074dbf182');
const mockSignatureEvenY = ('032ec9c1a22f939a16bf729402a376fda3420d24a8f93b886b1f1664f10ec4de' +
'0532951bcb4f733ebb17e44d3fc368f4bd441dc74a2757f79531708165730333');
describe('SignableOrder', () => {

@@ -88,6 +88,10 @@ describe('verifySignature()', () => {

it('signs an order with quoteAmount instead of price', () => {
const roundedQuoteAmount = new big_js_1.default(mockOrder.humanSize)
.times(mockOrder.humanPrice)
.round(6, 3 /* RoundUp */)
.toFixed();
const orderWithQuoteAmount = {
...mockOrder,
humanPrice: undefined,
humanQuoteAmount: new big_js_1.default(mockOrder.humanSize).times(mockOrder.humanPrice).toFixed(),
humanQuoteAmount: roundedQuoteAmount,
};

@@ -146,5 +150,5 @@ const signature = order_1.SignableOrder

.toStarkware();
expect(starkwareOrder.quantumsAmountSynthetic).toEqual('1450005000000');
expect(starkwareOrder.quantumsAmountCollateral).toEqual('4615710');
expect(starkwareOrder.quantumsAmountFee).toEqual('3');
expect(starkwareOrder.quantumsAmountSynthetic).toEqual('14500050000');
expect(starkwareOrder.quantumsAmountCollateral).toEqual('50750272151');
expect(starkwareOrder.quantumsAmountFee).toEqual('32985');
});

@@ -172,2 +176,2 @@ it('throws if the market is unknown', () => {

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXIudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19fdGVzdHNfXy9zaWduYWJsZS9vcmRlci50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7Ozs7QUFFSCxvREFBeUI7QUFFekIsMkNBUXlCO0FBQ3pCLHlDQUF1RDtBQUN2RCwrQ0FBc0Q7QUFDdEQsaUNBQTJDO0FBRTNDLHFCQUFxQjtBQUNyQixvREFBeUQ7QUFFekQsZUFBZTtBQUNmLE1BQU0sV0FBVyxHQUFZO0lBQzNCLFNBQVMsRUFBRSxpRUFBaUU7SUFDNUUsVUFBVSxFQUFFLGlFQUFpRTtDQUM5RSxDQUFDO0FBQ0YsTUFBTSxnQkFBZ0IsR0FBWTtJQUNoQyxTQUFTLEVBQUUsaUVBQWlFO0lBQzVFLFVBQVUsRUFBRSxpRUFBaUU7Q0FDOUUsQ0FBQztBQUNGLE1BQU0sU0FBUyxHQUFzQjtJQUNuQyxVQUFVLEVBQUUsT0FBTztJQUNuQixTQUFTLEVBQUUsVUFBVTtJQUNyQixhQUFhLEVBQUUsa0JBQWtCO0lBQ2pDLE1BQU0sRUFBRSxrQkFBVSxDQUFDLE9BQU87SUFDMUIsSUFBSSxFQUFFLDBCQUFrQixDQUFDLEdBQUc7SUFDNUIsc0JBQXNCLEVBQUUsMEJBQTBCO0lBQ2xELFVBQVUsRUFBRSxXQUFXO0lBQ3ZCLFFBQVEsRUFBRSxtRUFBbUU7Q0FDOUUsQ0FBQztBQUNGLE1BQU0sYUFBYSxHQUFHLENBQ3BCLGtFQUFrRTtJQUNsRSxrRUFBa0UsQ0FDbkUsQ0FBQztBQUNGLE1BQU0sa0JBQWtCLEdBQUcsQ0FDekIsa0VBQWtFO0lBQ2xFLGtFQUFrRSxDQUNuRSxDQUFDO0FBRUYsUUFBUSxDQUFDLGVBQWUsRUFBRSxHQUFHLEVBQUU7SUFFN0IsUUFBUSxDQUFDLG1CQUFtQixFQUFFLEdBQUcsRUFBRTtRQUVqQyxFQUFFLENBQUMsNENBQTRDLEVBQUUsR0FBRyxFQUFFO1lBQ3BELE1BQU0sTUFBTSxHQUFHLHFCQUFhO2lCQUN6QixTQUFT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
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXIudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19fdGVzdHNfXy9zaWduYWJsZS9vcmRlci50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7Ozs7QUFFSCxvREFBMkM7QUFFM0MsMkNBUXlCO0FBQ3pCLHlDQUF1RDtBQUN2RCwrQ0FBc0Q7QUFDdEQsaUNBQTJDO0FBRTNDLHFCQUFxQjtBQUNyQixvREFBeUQ7QUFFekQsZUFBZTtBQUNmLE1BQU0sV0FBVyxHQUFZO0lBQzNCLFNBQVMsRUFBRSxpRUFBaUU7SUFDNUUsVUFBVSxFQUFFLGlFQUFpRTtDQUM5RSxDQUFDO0FBQ0YsTUFBTSxnQkFBZ0IsR0FBWTtJQUNoQyxTQUFTLEVBQUUsaUVBQWlFO0lBQzVFLFVBQVUsRUFBRSxpRUFBaUU7Q0FDOUUsQ0FBQztBQUNGLE1BQU0sU0FBUyxHQUFzQjtJQUNuQyxVQUFVLEVBQUUsT0FBTztJQUNuQixTQUFTLEVBQUUsVUFBVTtJQUNyQixhQUFhLEVBQUUsVUFBVTtJQUN6QixNQUFNLEVBQUUsa0JBQVUsQ0FBQyxPQUFPO0lBQzFCLElBQUksRUFBRSwwQkFBa0IsQ0FBQyxHQUFHO0lBQzVCLHNCQUFzQixFQUFFLDBCQUEwQjtJQUNsRCxVQUFVLEVBQUUsV0FBVztJQUN2QixRQUFRLEVBQUUsbUVBQW1FO0NBQzlFLENBQUM7QUFDRixNQUFNLGFBQWEsR0FBRyxDQUNwQixrRUFBa0U7SUFDbEUsa0VBQWtFLENBQ25FLENBQUM7QUFDRixNQUFNLGtCQUFrQixHQUFHLENBQ3pCLGtFQUFrRTtJQUNsRSxrRUFBa0UsQ0FDbkUsQ0FBQztBQUVGLFFBQVEsQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFO0lBRTdCLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLEVBQUU7UUFFakMsRUFBRSxDQUFDLDRDQUE0QyxFQUFFLEdBQUcsRUFBRTtZQUNwRCxNQUFNLE1BQU0sR0FBRyxxQkFBYTtpQkFDekIsU0FBUyxD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

@@ -18,8 +18,8 @@ "use strict";

positionId: '12345',
humanAmount: '49.47802324992',
humanAmount: '49.478023',
expirationIsoTimestamp: '2020-09-17T04:15:55.028Z',
clientId: 'This is an ID that the client came up with to describe this withdrawal',
};
const mockSignature = ('04baff76d91d155e6fbe8f5ff4a997cdd2b865506db10656fda040d94ca2f86c' +
'03622618798e85ef45adf60dc16bac632bd4f7f21bb2aa88777d65ca0fc011b6');
const mockSignature = ('033cb5733344f13b8527711e651ade3dd3ed61d0c700085c2d6e13a31fb7e748' +
'0088291b597390d15920576de379cf6d64a0f8ee08b2e61a5abf3b3fcfe563a0');
describe('SignableWithdrawal', () => {

@@ -96,3 +96,3 @@ describe('verifySignature()', () => {

.toStarkware();
expect(starkwareWithdrawal.quantumsAmount).toEqual('4500');
expect(starkwareWithdrawal.quantumsAmount).toEqual('49478023');
});

@@ -113,2 +113,2 @@ });

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aGRyYXdhbC50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vX190ZXN0c19fL3NpZ25hYmxlL3dpdGhkcmF3YWwudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7O0FBUUgseUNBQXVEO0FBQ3ZELCtDQUFzRDtBQUN0RCxpQ0FBMkM7QUFFM0MscUJBQXFCO0FBQ3JCLDhEQUFtRTtBQUVuRSxlQUFlO0FBQ2YsTUFBTSxXQUFXLEdBQVk7SUFDM0IsU0FBUyxFQUFFLGlFQUFpRTtJQUM1RSxVQUFVLEVBQUUsaUVBQWlFO0NBQzlFLENBQUM7QUFDRixNQUFNLGNBQWMsR0FBMkI7SUFDN0MsVUFBVSxFQUFFLE9BQU87SUFDbkIsV0FBVyxFQUFFLGdCQUFnQjtJQUM3QixzQkFBc0IsRUFBRSwwQkFBMEI7SUFDbEQsUUFBUSxFQUFFLHdFQUF3RTtDQUNuRixDQUFDO0FBQ0YsTUFBTSxhQUFhLEdBQUcsQ0FDcEIsa0VBQWtFO0lBQ2xFLGtFQUFrRSxDQUNuRSxDQUFDO0FBRUYsUUFBUSxDQUFDLG9CQUFvQixFQUFFLEdBQUcsRUFBRTtJQUVsQyxRQUFRLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxFQUFFO1FBRWpDLEVBQUUsQ0FBQyxvQ0FBb0MsRUFBRSxHQUFHLEVBQUU7WUFDNUMsTUFBTSxNQUFNLEdBQUcsK0JBQWtCO2lCQUM5QixjQUFjLENBQUMsY0FBYyxDQUFDO2lCQUM5QixlQUFlLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN6RCxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHdDQUF3QyxFQUFFLEdBQUcsRUFBRTtZQUNoRCxrQ0FBa0M7WUFDbEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUs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
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aGRyYXdhbC50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vX190ZXN0c19fL3NpZ25hYmxlL3dpdGhkcmF3YWwudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7O0FBUUgseUNBQXVEO0FBQ3ZELCtDQUFzRDtBQUN0RCxpQ0FBMkM7QUFFM0MscUJBQXFCO0FBQ3JCLDhEQUFtRTtBQUVuRSxlQUFlO0FBQ2YsTUFBTSxXQUFXLEdBQVk7SUFDM0IsU0FBUyxFQUFFLGlFQUFpRTtJQUM1RSxVQUFVLEVBQUUsaUVBQWlFO0NBQzlFLENBQUM7QUFDRixNQUFNLGNBQWMsR0FBMkI7SUFDN0MsVUFBVSxFQUFFLE9BQU87SUFDbkIsV0FBVyxFQUFFLFdBQVc7SUFDeEIsc0JBQXNCLEVBQUUsMEJBQTBCO0lBQ2xELFFBQVEsRUFBRSx3RUFBd0U7Q0FDbkYsQ0FBQztBQUNGLE1BQU0sYUFBYSxHQUFHLENBQ3BCLGtFQUFrRTtJQUNsRSxrRUFBa0UsQ0FDbkUsQ0FBQztBQUVGLFFBQVEsQ0FBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUU7SUFFbEMsUUFBUSxDQUFDLG1CQUFtQixFQUFFLEdBQUcsRUFBRTtRQUVqQyxFQUFFLENBQUMsb0NBQW9DLEVBQUUsR0FBRyxFQUFFO1lBQzVDLE1BQU0sTUFBTSxHQUFHLCtCQUFrQjtpQkFDOUIsY0FBYyxDQUFDLGNBQWMsQ0FBQztpQkFDOUIsZUFBZSxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDekQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyx3Q0FBd0MsRUFBRSxHQUFHLEVBQUU7WUFDaEQsa0NBQWtDO1lBQ2xDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVB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

@@ -30,7 +30,7 @@ "use strict";

exports.ASSET_QUANTUM_SIZE = {
[types_1.DydxAsset.USDC]: '0.01099511627776',
[types_1.DydxAsset.BTC]: '100',
[types_1.DydxAsset.ETH]: '1e-10',
[types_1.DydxAsset.LINK]: '1e-11',
[types_1.DydxAsset.USDC]: '1e-6',
[types_1.DydxAsset.BTC]: '1e-10',
[types_1.DydxAsset.ETH]: '1e-8',
[types_1.DydxAsset.LINK]: '1e-7',
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FHaUI7QUFFSixRQUFBLGdCQUFnQixHQUFHLGlCQUFTLENBQUMsSUFBSSxDQUFDO0FBRWxDLFFBQUEsWUFBWSxHQUE4QjtJQUNyRCxDQUFDLGlCQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsbUVBQW1FO0lBQ3JGLENBQUMsaUJBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLO0lBQ3RCLENBQUMsaUJBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLO0lBQ3RCLENBQUMsaUJBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLO0NBQ3hCLENBQUM7QUFDVyxRQUFBLG1CQUFtQixHQUFHLG9CQUFZLENBQUMsd0JBQWdCLENBQUMsQ0FBQztBQUVyRCxRQUFBLG1CQUFtQixHQUFrQztJQUNoRSxDQUFDLGtCQUFVLENBQUMsT0FBTyxDQUFDLEVBQUUsaUJBQVMsQ0FBQyxHQUFHO0lBQ25DLENBQUMsa0JBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxpQkFBUyxDQUFDLEdBQUc7SUFDbkMsQ0FBQyxrQkFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLGlCQUFTLENBQUMsSUFBSTtDQUN0QyxDQUFDO0FBRUYsd0NBQXdDO0FBQzNCLFFBQUEsbUJBQW1CLEdBQStCO0lBQzdELENBQUMsa0JBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSw4Q0FBOEM7SUFDcEUsQ0FBQyxrQkFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLDhDQUE4QztJQUNwRSxDQUFDLGtCQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTTtDQUM5QixDQUFDO0FBRUY7Ozs7R0FJRztBQUNVLFFBQUEsa0JBQWtCLEdBQThCO0lBQzNELENBQUMsaUJBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxrQkFBa0I7SUFDcEMsQ0FBQyxpQkFBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUs7SUFDdEIsQ0FBQyxpQkFBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU87SUFDeEIsQ0FBQyxpQkFBUyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU87Q0FDMUIsQ0FBQyJ9
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FHaUI7QUFFSixRQUFBLGdCQUFnQixHQUFHLGlCQUFTLENBQUMsSUFBSSxDQUFDO0FBRWxDLFFBQUEsWUFBWSxHQUE4QjtJQUNyRCxDQUFDLGlCQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsbUVBQW1FO0lBQ3JGLENBQUMsaUJBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLO0lBQ3RCLENBQUMsaUJBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLO0lBQ3RCLENBQUMsaUJBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLO0NBQ3hCLENBQUM7QUFDVyxRQUFBLG1CQUFtQixHQUFHLG9CQUFZLENBQUMsd0JBQWdCLENBQUMsQ0FBQztBQUVyRCxRQUFBLG1CQUFtQixHQUFrQztJQUNoRSxDQUFDLGtCQUFVLENBQUMsT0FBTyxDQUFDLEVBQUUsaUJBQVMsQ0FBQyxHQUFHO0lBQ25DLENBQUMsa0JBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxpQkFBUyxDQUFDLEdBQUc7SUFDbkMsQ0FBQyxrQkFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLGlCQUFTLENBQUMsSUFBSTtDQUN0QyxDQUFDO0FBRUYsd0NBQXdDO0FBQzNCLFFBQUEsbUJBQW1CLEdBQStCO0lBQzdELENBQUMsa0JBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSw4Q0FBOEM7SUFDcEUsQ0FBQyxrQkFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLDhDQUE4QztJQUNwRSxDQUFDLGtCQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTTtDQUM5QixDQUFDO0FBRUY7Ozs7R0FJRztBQUNVLFFBQUEsa0JBQWtCLEdBQThCO0lBQzNELENBQUMsaUJBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNO0lBQ3hCLENBQUMsaUJBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPO0lBQ3hCLENBQUMsaUJBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNO0lBQ3ZCLENBQUMsaUJBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNO0NBQ3pCLENBQUMifQ==

@@ -8,15 +8,23 @@ /**

*
* Optionally, throw if the provided value is not a multiple of the quantum size.
* If the provided value is not a multiple of the quantum size, throw an error.
*/
export declare function toQuantumsExact(humanAmount: string, asset: DydxAsset): string;
/**
* Convert a human-readable asset amount to an integer amount of the asset's quantum size.
*
* Example:
* Suppose the quantum size in Starkware for synthetic ETH is 10^12 (1000 Gwei).
* Then humanAmountToQuantums(0.01), representing 0.01 ETH, will return a value of 10,000.
* If the provided value is not a multiple of the quantum size, round down.
*/
export declare function toQuantums(humanAmount: string, asset: DydxAsset, assertIntegerResult?: boolean): string;
export declare function toQuantumsRoundDown(humanAmount: string, asset: DydxAsset): string;
/**
* Convert a human-readable asset amount to an integer amount of the asset's quantum size.
*
* If the provided value is not a multiple of the quantum size, round up.
*/
export declare function toQuantumsRoundUp(humanAmount: string, asset: DydxAsset): string;
/**
* Convert a number of quantums to a human-readable asset amount.
*
* Example:
* Suppose the quantum size in Starkware for synthetic ETH is 10^12 (1000 Gwei).
* Then fromQuantums(100), representing 100,000 Gwei, will return a value of 0.0001.
* Suppose the quantum size in Starkware for synthetic ETH is 10^10 (10 Gwei).
* Then fromQuantums(1000, DydxAsset.ETH), representing 10,000 Gwei, returns a value of 0.00001.
*/

@@ -23,0 +31,0 @@ export declare function fromQuantums(quantumAmount: string, asset: DydxAsset): string;

@@ -9,3 +9,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.getStarkwareAmounts = exports.fromQuantums = exports.toQuantums = void 0;
exports.getStarkwareAmounts = exports.fromQuantums = exports.toQuantumsRoundUp = exports.toQuantumsRoundDown = exports.toQuantumsExact = void 0;
const big_js_1 = __importDefault(require("big.js"));

@@ -17,9 +17,27 @@ const constants_1 = require("../constants");

*
* Optionally, throw if the provided value is not a multiple of the quantum size.
* If the provided value is not a multiple of the quantum size, throw an error.
*/
function toQuantumsExact(humanAmount, asset) {
return toQuantumsHelper(humanAmount, asset, 0 /* RoundDown */, true);
}
exports.toQuantumsExact = toQuantumsExact;
/**
* Convert a human-readable asset amount to an integer amount of the asset's quantum size.
*
* Example:
* Suppose the quantum size in Starkware for synthetic ETH is 10^12 (1000 Gwei).
* Then humanAmountToQuantums(0.01), representing 0.01 ETH, will return a value of 10,000.
* If the provided value is not a multiple of the quantum size, round down.
*/
function toQuantums(humanAmount, asset, assertIntegerResult = true) {
function toQuantumsRoundDown(humanAmount, asset) {
return toQuantumsHelper(humanAmount, asset, 0 /* RoundDown */, false);
}
exports.toQuantumsRoundDown = toQuantumsRoundDown;
/**
* Convert a human-readable asset amount to an integer amount of the asset's quantum size.
*
* If the provided value is not a multiple of the quantum size, round up.
*/
function toQuantumsRoundUp(humanAmount, asset) {
return toQuantumsHelper(humanAmount, asset, 3 /* RoundUp */, false);
}
exports.toQuantumsRoundUp = toQuantumsRoundUp;
function toQuantumsHelper(humanAmount, asset, rm, assertIntegerResult) {
const amountBig = new big_js_1.default(humanAmount);

@@ -31,5 +49,4 @@ const quantumSize = constants_1.ASSET_QUANTUM_SIZE[asset];

}
return amountBig.div(quantumSize).toFixed(0);
return amountBig.div(quantumSize).round(0, rm).toFixed(0);
}
exports.toQuantums = toQuantums;
/**

@@ -39,7 +56,11 @@ * Convert a number of quantums to a human-readable asset amount.

* Example:
* Suppose the quantum size in Starkware for synthetic ETH is 10^12 (1000 Gwei).
* Then fromQuantums(100), representing 100,000 Gwei, will return a value of 0.0001.
* Suppose the quantum size in Starkware for synthetic ETH is 10^10 (10 Gwei).
* Then fromQuantums(1000, DydxAsset.ETH), representing 10,000 Gwei, returns a value of 0.00001.
*/
function fromQuantums(quantumAmount, asset) {
return new big_js_1.default(quantumAmount).mul(constants_1.ASSET_QUANTUM_SIZE[asset]).toFixed();
const quantumSize = constants_1.ASSET_QUANTUM_SIZE[asset];
if (!quantumSize) {
throw new Error(`Unknown asset ${asset}`);
}
return new big_js_1.default(quantumAmount).mul(quantumSize).toFixed();
}

@@ -61,8 +82,17 @@ exports.fromQuantums = fromQuantums;

}
// Determine amounts.
const humanCost = typeof humanQuoteAmount === 'string'
// Convert the synthetic amount to Starkware quantums.
const quantumsAmountSynthetic = toQuantumsExact(humanSize, syntheticAsset);
// Get the human-readable collateral asset amount (a.k.a. "quote amount").
const humanAmountCollateral = typeof humanQuoteAmount === 'string'
? humanQuoteAmount
: new big_js_1.default(humanSize).times(humanPrice).toFixed(); // Non-null assertion safe based on types.
const quantumsAmountSynthetic = toQuantums(humanSize, syntheticAsset);
const quantumsAmountCollateral = toQuantums(humanCost, constants_1.COLLATERAL_ASSET, false);
// If quoteAmount was specified, don't allow rounding.
// Otherwise, round differently depending on the order side.
let toQuantumsFnForCost = toQuantumsExact;
if (typeof humanQuoteAmount !== 'string') {
toQuantumsFnForCost = isBuyingSynthetic
? toQuantumsRoundUp
: toQuantumsRoundDown;
}
const quantumsAmountCollateral = toQuantumsFnForCost(humanAmountCollateral, constants_1.COLLATERAL_ASSET);
return {

@@ -77,2 +107,2 @@ quantumsAmountSynthetic,

exports.getStarkwareAmounts = getStarkwareAmounts;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hlbHBlcnMvYXNzZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7Ozs7O0FBRUgsb0RBQXlCO0FBRXpCLDRDQU1zQjtBQUN0QixvQ0FPa0I7QUFFbEI7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFnQixVQUFVLENBQ3hCLFdBQW1CLEVBQ25CLEtBQWdCLEVBQ2hCLHNCQUErQixJQUFJO0lBRW5DLE1BQU0sU0FBUyxHQUFHLElBQUksZ0JBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN2QyxNQUFNLFdBQVcsR0FBRyw4QkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzdDLElBQUksbUJBQW1CLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQzNDLE1BQU0sSUFBSSxLQUFLLENBQ2Isc0JBQXNCLFdBQVcsMENBQTBDLFdBQVcsRUFBRSxDQUN6RixDQUFDO0tBQ0g7SUFDRCxPQUFPLFNBQVMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFkRCxnQ0FjQztBQUVEOzs7Ozs7R0FNRztBQUNILFNBQWdCLFlBQVksQ0FDMUIsYUFBcUIsRUFDckIsS0FBZ0I7SUFFaEIsT0FBTyxJQUFJLGdCQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRyxDQUFDLDhCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7QUFDekUsQ0FBQztBQUxELG9DQUtDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLG1CQUFtQixDQUNqQyxNQUlpQztJQUVqQyxNQUFNLEVBQ0osTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxHQUN0RCxHQUFHLE1BQU0sQ0FBQztJQUVYLDZCQUE2QjtJQUM3QixNQUFNLGlCQUFpQixHQUFHLElBQUksS0FBSywwQkFBa0IsQ0FBQyxHQUFHLENBQUM7SUFDMUQsTUFBTSxjQUFjLEdBQUcsK0JBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkQsTUFBTSxnQkFBZ0IsR0FBRyx3QkFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtRQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixNQUFNLEVBQUUsQ0FBQyxDQUFDO0tBQzdDO0lBRUQscUJBQXFCO0lBQ3JCLE1BQU0sU0FBUyxHQUFHLE9BQU8sZ0JBQWdCLEtBQUssUUFBUTtRQUNwRCxDQUFDLENBQUMsZ0JBQWdCO1FBQ2xCLENBQUMsQ0FBQyxJQUFJLGdCQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsMENBQTBDO0lBQy9GLE1BQU0sdUJBQXVCLEdBQUcsVUFBVSxDQUFDLFNBQVMsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUN0RSxNQUFNLHdCQUF3QixHQUFHLFVBQVUsQ0FBQyxTQUFTLEVBQUUsNEJBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFaEYsT0FBTztRQUNMLHVCQUF1QjtRQUN2Qix3QkFBd0I7UUFDeEIsZ0JBQWdCO1FBQ2hCLGlCQUFpQixFQUFFLCtCQUFtQjtRQUN0QyxpQkFBaUI7S0FDbEIsQ0FBQztBQUNKLENBQUM7QUFqQ0Qsa0RBaUNDIn0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hlbHBlcnMvYXNzZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7Ozs7O0FBRUgsb0RBQTJDO0FBRTNDLDRDQU1zQjtBQUN0QixvQ0FPa0I7QUFFbEI7Ozs7R0FJRztBQUNILFNBQWdCLGVBQWUsQ0FDN0IsV0FBbUIsRUFDbkIsS0FBZ0I7SUFFaEIsT0FBTyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsS0FBSyxxQkFBMEIsSUFBSSxDQUFDLENBQUM7QUFDNUUsQ0FBQztBQUxELDBDQUtDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLG1CQUFtQixDQUNqQyxXQUFtQixFQUNuQixLQUFnQjtJQUVoQixPQUFPLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxLQUFLLHFCQUEwQixLQUFLLENBQUMsQ0FBQztBQUM3RSxDQUFDO0FBTEQsa0RBS0M7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsaUJBQWlCLENBQy9CLFdBQW1CLEVBQ25CLEtBQWdCO0lBRWhCLE9BQU8sZ0JBQWdCLENBQUMsV0FBVyxFQUFFLEtBQUssbUJBQXdCLEtBQUssQ0FBQyxDQUFDO0FBQzNFLENBQUM7QUFMRCw4Q0FLQztBQUVELFNBQVMsZ0JBQWdCLENBQ3ZCLFdBQW1CLEVBQ25CLEtBQWdCLEVBQ2hCLEVBQWdCLEVBQ2hCLG1CQUE0QjtJQUU1QixNQUFNLFNBQVMsR0FBRyxJQUFJLGdCQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdkMsTUFBTSxXQUFXLEdBQUcsOEJBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM3QyxJQUFJLG1CQUFtQixJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUMzQyxNQUFNLElBQUksS0FBSyxDQUNiLHNCQUFzQixXQUFXLDBDQUEwQyxXQUFXLEVBQUUsQ0FDekYsQ0FBQztLQUNIO0lBQ0QsT0FBTyxTQUFTLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVELENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFnQixZQUFZLENBQzFCLGFBQXFCLEVBQ3JCLEtBQWdCO0lBRWhCLE1BQU0sV0FBVyxHQUFHLDhCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLElBQUksQ0FBQyxXQUFXLEVBQUU7UUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsS0FBSyxFQUFFLENBQUMsQ0FBQztLQUMzQztJQUNELE9BQU8sSUFBSSxnQkFBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUMzRCxDQUFDO0FBVEQsb0NBU0M7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsbUJBQW1CLENBQ2pDLE1BSWlDO0lBRWpDLE1BQU0sRUFDSixNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEdBQ3RELEdBQUcsTUFBTSxDQUFDO0lBRVgsNkJBQTZCO0lBQzdCLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxLQUFLLDBCQUFrQixDQUFDLEdBQUcsQ0FBQztJQUMxRCxNQUFNLGNBQWMsR0FBRywrQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRCxNQUFNLGdCQUFnQixHQUFHLHdCQUFZLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEQsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1FBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLE1BQU0sRUFBRSxDQUFDLENBQUM7S0FDN0M7SUFFRCxzREFBc0Q7SUFDdEQsTUFBTSx1QkFBdUIsR0FBRyxlQUFlLENBQUMsU0FBUyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBRTNFLDBFQUEwRTtJQUMxRSxNQUFNLHFCQUFxQixHQUFHLE9BQU8sZ0JBQWdCLEtBQUssUUFBUTtRQUNoRSxDQUFDLENBQUMsZ0JBQWdCO1FBQ2xCLENBQUMsQ0FBQyxJQUFJLGdCQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsMENBQTBDO0lBRS9GLHNEQUFzRDtJQUN0RCw0REFBNEQ7SUFDNUQsSUFBSSxtQkFBbUIsR0FBRyxlQUFlLENBQUM7SUFDMUMsSUFBSSxPQUFPLGdCQUFnQixLQUFLLFFBQVEsRUFBRTtRQUN4QyxtQkFBbUIsR0FBRyxpQkFBaUI7WUFDckMsQ0FBQyxDQUFDLGlCQUFpQjtZQUNuQixDQUFDLENBQUMsbUJBQW1CLENBQUM7S0FDekI7SUFDRCxNQUFNLHdCQUF3QixHQUFHLG1CQUFtQixDQUFDLHFCQUFxQixFQUFFLDRCQUFnQixDQUFDLENBQUM7SUFFOUYsT0FBTztRQUNMLHVCQUF1QjtRQUN2Qix3QkFBd0I7UUFDeEIsZ0JBQWdCO1FBQ2hCLGlCQUFpQixFQUFFLCtCQUFtQjtRQUN0QyxpQkFBaUI7S0FDbEIsQ0FBQztBQUNKLENBQUM7QUE1Q0Qsa0RBNENDIn0=

@@ -19,3 +19,3 @@ "use strict";

function nonceFromClientId(clientId) {
const nonceHex = crypto_1.default.createHmac('sha256', '').update(clientId).digest('hex');
const nonceHex = crypto_1.default.createHash('sha256').update(clientId).digest('hex');
return util_1.hexToBn(nonceHex).mod(MAX_NONCE).toString();

@@ -28,2 +28,2 @@ }

exports.isoTimestampToEpochSeconds = isoTimestampToEpochSeconds;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9oZWxwZXJzL21pc2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7Ozs7QUFFSCxvREFBZ0M7QUFFaEMsa0RBQXVCO0FBRXZCLHNDQUFzQztBQUN0QyxxREFBZ0U7QUFFaEUsTUFBTSxTQUFTLEdBQUcsSUFBSSxlQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksZUFBRSxDQUFDLG1DQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFFdkU7O0dBRUc7QUFDSCxTQUFnQixpQkFBaUIsQ0FBQyxRQUFnQjtJQUNoRCxNQUFNLFFBQVEsR0FBRyxnQkFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRixPQUFPLGNBQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDckQsQ0FBQztBQUhELDhDQUdDO0FBRUQsU0FBZ0IsMEJBQTBCLENBQUMsWUFBb0I7SUFDN0QsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztBQUNsRSxDQUFDO0FBRkQsZ0VBRUMifQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9oZWxwZXJzL21pc2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7Ozs7QUFFSCxvREFBZ0M7QUFFaEMsa0RBQXVCO0FBRXZCLHNDQUFzQztBQUN0QyxxREFBZ0U7QUFFaEUsTUFBTSxTQUFTLEdBQUcsSUFBSSxlQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksZUFBRSxDQUFDLG1DQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFFdkU7O0dBRUc7QUFDSCxTQUFnQixpQkFBaUIsQ0FBQyxRQUFnQjtJQUNoRCxNQUFNLFFBQVEsR0FBRyxnQkFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hGLE9BQU8sY0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUNyRCxDQUFDO0FBSEQsOENBR0M7QUFFRCxTQUFnQiwwQkFBMEIsQ0FBQyxZQUFvQjtJQUM3RCxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO0FBQ2xFLENBQUM7QUFGRCxnRUFFQyJ9

@@ -22,7 +22,7 @@ "use strict";

this.message.body);
const hashHex = crypto_1.default.createHmac('sha256', '').update(messageString).digest('hex');
return util_1.hexToBn(hashHex).iushrn(5); // Remove the last five bits.
const hashHex = crypto_1.default.createHash('sha256').update(messageString).digest('hex');
return util_1.hexToBn(hashHex).iushrn(5); // Remove the last five bits so it fits in 251 bits.
}
}
exports.SignableApiRequest = SignableApiRequest;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2lnbmFibGUvYXBpLXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0RBQWdDO0FBSWhDLHNDQUFzQztBQUV0Qyx5Q0FBc0M7QUFFdEM7O0dBRUc7QUFDSCxNQUFhLGtCQUFtQixTQUFRLG1CQUEwQjtJQUVoRSxZQUNFLFVBQTRCO1FBRTVCLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRVMsYUFBYTtRQUNyQixNQUFNLGFBQWEsR0FBRyxDQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVk7WUFDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO1lBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVztZQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDbEIsQ0FBQztRQUNGLE1BQU0sT0FBTyxHQUFHLGdCQUFVLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hGLE9BQU8sY0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLDZCQUE2QjtJQUNsRSxDQUFDO0NBQ0Y7QUFsQkQsZ0RBa0JDIn0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2lnbmFibGUvYXBpLXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0RBQWdDO0FBSWhDLHNDQUFzQztBQUV0Qyx5Q0FBc0M7QUFFdEM7O0dBRUc7QUFDSCxNQUFhLGtCQUFtQixTQUFRLG1CQUEwQjtJQUVoRSxZQUNFLFVBQTRCO1FBRTVCLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRVMsYUFBYTtRQUNyQixNQUFNLGFBQWEsR0FBRyxDQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVk7WUFDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO1lBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVztZQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDbEIsQ0FBQztRQUNGLE1BQU0sT0FBTyxHQUFHLGdCQUFVLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEYsT0FBTyxjQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsb0RBQW9EO0lBQ3pGLENBQUM7Q0FDRjtBQWxCRCxnREFrQkMifQ==

@@ -39,3 +39,3 @@ "use strict";

// The fee is an amount, not a percentage, and is always denominated in the collateral asset.
const quantumsAmountFee = helpers_1.toQuantums(order.humanLimitFee, constants_1.COLLATERAL_ASSET);
const quantumsAmountFee = helpers_1.toQuantumsExact(order.humanLimitFee, constants_1.COLLATERAL_ASSET);
const assetIdFee = constants_1.ASSET_ID_MAP[constants_1.COLLATERAL_ASSET];

@@ -120,2 +120,2 @@ // Convert to a Unix timestamp (in seconds).

SignableOrder.fromOrder = SignableOrder.fromOrderWithClientId; // Alias.
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2lnbmFibGUvb3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsa0RBQXVCO0FBRXZCLDRDQUdzQjtBQUN0Qix3Q0FLb0I7QUFDcEIsZ0VBQW9EO0FBQ3BELHNDQUErQztBQUMvQyxvQ0FPa0I7QUFDbEIsMkNBRXFCO0FBQ3JCLHlDQUFzQztBQUV0QyxNQUFNLHFCQUFxQixHQUFHLENBQUMsQ0FBQztBQUNoQyxNQUFNLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztBQUU5Qjs7R0FFRztBQUNILE1BQWEsYUFBYyxTQUFRLG1CQUF3QjtJQUl6RCxNQUFNLENBQUMscUJBQXFCLENBQzFCLEtBQTBEO1FBRTFELG9EQUFvRDtRQUNwRCxNQUFNLEtBQUssR0FBRywyQkFBaUIsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsT0FBTyxhQUFhLENBQUMsa0JBQWtCLENBQUM7WUFDdEMsR0FBRyxLQUFLO1lBQ1IsUUFBUSxFQUFFLFNBQVM7WUFDbkIsS0FBSztTQUNOLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsa0JBQWtCLENBQ3ZCLEtBQW9EO1FBRXBELE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDMUIsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQztRQUVwQyx1RUFBdUU7UUFDdkUsTUFBTSxTQUFTLEdBQUcsMEJBQWtCLENBQUMscUJBQXFCLENBQUM7UUFFM0QsbUZBQW1GO1FBQ25GLHlDQUF5QztRQUN6QyxNQUFNLEVBQ0osdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4QixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLGlCQUFpQixHQUNsQixHQUFHLDZCQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRS9CLDZGQUE2RjtRQUM3RixNQUFNLGlCQUFpQixHQUFHLG9CQUFVLENBQUMs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
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2lnbmFibGUvb3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsa0RBQXVCO0FBRXZCLDRDQUdzQjtBQUN0Qix3Q0FLb0I7QUFDcEIsZ0VBQW9EO0FBQ3BELHNDQUErQztBQUMvQyxvQ0FPa0I7QUFDbEIsMkNBRXFCO0FBQ3JCLHlDQUFzQztBQUV0QyxNQUFNLHFCQUFxQixHQUFHLENBQUMsQ0FBQztBQUNoQyxNQUFNLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztBQUU5Qjs7R0FFRztBQUNILE1BQWEsYUFBYyxTQUFRLG1CQUF3QjtJQUl6RCxNQUFNLENBQUMscUJBQXFCLENBQzFCLEtBQTBEO1FBRTFELG9EQUFvRDtRQUNwRCxNQUFNLEtBQUssR0FBRywyQkFBaUIsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsT0FBTyxhQUFhLENBQUMsa0JBQWtCLENBQUM7WUFDdEMsR0FBRyxLQUFLO1lBQ1IsUUFBUSxFQUFFLFNBQVM7WUFDbkIsS0FBSztTQUNOLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsa0JBQWtCLENBQ3ZCLEtBQW9EO1FBRXBELE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDMUIsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQztRQUVwQyx1RUFBdUU7UUFDdkUsTUFBTSxTQUFTLEdBQUcsMEJBQWtCLENBQUMscUJBQXFCLENBQUM7UUFFM0QsbUZBQW1GO1FBQ25GLHlDQUF5QztRQUN6QyxNQUFNLEVBQ0osdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4QixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLGlCQUFpQixHQUNsQixHQUFHLDZCQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRS9CLDZGQUE2RjtRQUM3RixNQUFNLGlCQUFpQixHQUFHLHlCQUFlLENBQUMs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

@@ -20,7 +20,7 @@ "use strict";

this.message.starkKey);
const hashHex = crypto_1.default.createHmac('sha256', '').update(messageString).digest('hex');
return util_1.hexToBn(hashHex).iushrn(5); // Remove the last five bits.
const hashHex = crypto_1.default.createHash('sha256').update(messageString).digest('hex');
return util_1.hexToBn(hashHex).iushrn(5); // Remove the last five bits so it fits in 251 bits.
}
}
exports.SignableRegistration = SignableRegistration;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NpZ25hYmxlL3JlZ2lzdHJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxvREFBZ0M7QUFJaEMsc0NBQXNDO0FBRXRDLHlDQUFzQztBQUV0Qzs7R0FFRztBQUNILE1BQWEsb0JBQXFCLFNBQVEsbUJBQTRCO0lBRXBFLFlBQ0UsWUFBZ0M7UUFFaEMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFUyxhQUFhO1FBQ3JCLE1BQU0sYUFBYSxHQUFHLENBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZTtZQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FDdEIsQ0FBQztRQUNGLE1BQU0sT0FBTyxHQUFHLGdCQUFVLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hGLE9BQU8sY0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLDZCQUE2QjtJQUNsRSxDQUFDO0NBQ0Y7QUFoQkQsb0RBZ0JDIn0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NpZ25hYmxlL3JlZ2lzdHJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxvREFBZ0M7QUFJaEMsc0NBQXNDO0FBRXRDLHlDQUFzQztBQUV0Qzs7R0FFRztBQUNILE1BQWEsb0JBQXFCLFNBQVEsbUJBQTRCO0lBRXBFLFlBQ0UsWUFBZ0M7UUFFaEMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFUyxhQUFhO1FBQ3JCLE1BQU0sYUFBYSxHQUFHLENBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZTtZQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FDdEIsQ0FBQztRQUNGLE1BQU0sT0FBTyxHQUFHLGdCQUFVLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEYsT0FBTyxjQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsb0RBQW9EO0lBQ3pGLENBQUM7Q0FDRjtBQWhCRCxvREFnQkMifQ==

@@ -34,3 +34,3 @@ "use strict";

// The withdrawal asset is always the collateral asset.
const quantumsAmount = helpers_1.toQuantums(withdrawal.humanAmount, constants_1.COLLATERAL_ASSET);
const quantumsAmount = helpers_1.toQuantumsExact(withdrawal.humanAmount, constants_1.COLLATERAL_ASSET);
// Convert to a Unix timestamp (in seconds).

@@ -76,2 +76,2 @@ const expirationEpochSeconds = helpers_1.isoTimestampToEpochSeconds(withdrawal.expirationIsoTimestamp);

SignableWithdrawal.fromWithdrawal = SignableWithdrawal.fromWithdrawalWithClientId; // Alias.
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aGRyYXdhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWduYWJsZS93aXRoZHJhd2FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGtEQUF1QjtBQUV2Qiw0Q0FHc0I7QUFDdEIsd0NBSW9CO0FBQ3BCLGdFQUFvRDtBQUNwRCxzQ0FBK0M7QUFNL0MsMkNBQTJEO0FBQzNELHlDQUFzQztBQUV0QyxNQUFNLHNCQUFzQixHQUFHLGNBQU8sQ0FBQywrQkFBbUIsQ0FBQyxDQUFDO0FBQzVELE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxDQUFDO0FBQzVCLE1BQU0sdUJBQXVCLEdBQUcsRUFBRSxDQUFDO0FBRW5DOztHQUVHO0FBQ0gsTUFBYSxrQkFBbUIsU0FBUSxtQkFBNkI7SUFJbkUsTUFBTSxDQUFDLDBCQUEwQixDQUMvQixVQUFrQztRQUVsQyxvREFBb0Q7UUFDcEQsTUFBTSxLQUFLLEdBQUcsMkJBQWlCLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sa0JBQWtCLENBQUMsdUJBQXVCLENBQUM7WUFDaEQsR0FBRyxVQUFVO1lBQ2IsUUFBUSxFQUFFLFNBQVM7WUFDbkIsS0FBSztTQUNOLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsdUJBQXVCLENBQzVCLFVBQStCO1FBRS9CLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUM7UUFDekMsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUUvQix1REFBdUQ7UUFDdkQsTUFBTSxjQUFjLEdBQUcsb0JBQVUsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLDRCQUFnQixDQUFDLENBQUM7UUFFNUUsNENBQTRDO1FBQzVDLE1BQU0sc0JBQXNCLEdBQUcsb0NBQTBCLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFFN0YsT0FBTyxJQUFJLGtCQUFrQixDQUFDO1lBQzVCLFVBQVU7WUFDVixLQUFLO1lBQ0wsY0FBYztZQUNkLHNCQUFzQjtTQUN2QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVMsYUFBYTtRQUNyQixNQUFNLFlBQVksR0FBRyxjQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0RCxNQUFNLE9BQU8sR0FBRyxjQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QyxNQUFNLGdCQUFnQixHQUFHLGNBQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzlELE1BQU0sd0JBQXdCLEdBQUcsY0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUU5RSxJQUFJLFlBQVksQ0FBQyxTQUFTLEVBQUUsR0FBRyx3Q0FBNEIsQ0FBQyxVQUFVLEVBQUU7WUFDdEUsTUFBTSxJQUFJLEtBQUssQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO1NBQ2pFO1FBQ0QsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFLEdBQUcsd0NBQTRCLENBQUMsS0FBSyxFQUFFO1lBQzVELE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQztTQUNqRTtRQUNELElBQUksZ0JBQWdCLENBQUMsU0FBUyxFQUFFLEdBQUcsd0NBQTRCLENBQUMsY0FBYyxFQUFFO1lBQzlFLE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQztTQUNqRTtRQUNELElBQ0Usd0JBQXdCLENBQUMsU0FBUyxFQUFFLEdBQUcsd0NBQTRCLENBQUMsc0JBQXNCLEVBQzFGO1lBQ0EsTUFBTSxJQUFJLEtBQUssQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO1NBQ2pFO1FBRUQsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzthQUNqRCxNQUFNLENBQUMsd0NBQTRCLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQzthQUNsRSxNQUFNLENBQUMsd0NBQTRCLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQzthQUN4RCxNQUFNLENBQUMsd0NBQTRCLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO2FBQzFFLE1BQU0sQ0FBQyx3Q0FBNEIsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQzthQUMxRixNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUVuQyxPQUFPLDRCQUFRLENBQUMsc0JBQXNCLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDOztBQXJFSCxnREFzRUM7QUFwRVEsaUNBQWMsR0FBRyxrQkFBa0IsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLFNBQVMifQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aGRyYXdhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWduYWJsZS93aXRoZHJhd2FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGtEQUF1QjtBQUV2Qiw0Q0FHc0I7QUFDdEIsd0NBSW9CO0FBQ3BCLGdFQUFvRDtBQUNwRCxzQ0FBK0M7QUFNL0MsMkNBQTJEO0FBQzNELHlDQUFzQztBQUV0QyxNQUFNLHNCQUFzQixHQUFHLGNBQU8sQ0FBQywrQkFBbUIsQ0FBQyxDQUFDO0FBQzVELE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxDQUFDO0FBQzVCLE1BQU0sdUJBQXVCLEdBQUcsRUFBRSxDQUFDO0FBRW5DOztHQUVHO0FBQ0gsTUFBYSxrQkFBbUIsU0FBUSxtQkFBNkI7SUFJbkUsTUFBTSxDQUFDLDBCQUEwQixDQUMvQixVQUFrQztRQUVsQyxvREFBb0Q7UUFDcEQsTUFBTSxLQUFLLEdBQUcsMkJBQWlCLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sa0JBQWtCLENBQUMsdUJBQXVCLENBQUM7WUFDaEQsR0FBRyxVQUFVO1lBQ2IsUUFBUSxFQUFFLFNBQVM7WUFDbkIsS0FBSztTQUNOLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsdUJBQXVCLENBQzVCLFVBQStCO1FBRS9CLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUM7UUFDekMsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUUvQix1REFBdUQ7UUFDdkQsTUFBTSxjQUFjLEdBQUcseUJBQWUsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLDRCQUFnQixDQUFDLENBQUM7UUFFakYsNENBQTRDO1FBQzVDLE1BQU0sc0JBQXNCLEdBQUcsb0NBQTBCLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFFN0YsT0FBTyxJQUFJLGtCQUFrQixDQUFDO1lBQzVCLFVBQVU7WUFDVixLQUFLO1lBQ0wsY0FBYztZQUNkLHNCQUFzQjtTQUN2QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVMsYUFBYTtRQUNyQixNQUFNLFlBQVksR0FBRyxjQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0RCxNQUFNLE9BQU8sR0FBRyxjQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QyxNQUFNLGdCQUFnQixHQUFHLGNBQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzlELE1BQU0sd0JBQXdCLEdBQUcsY0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUU5RSxJQUFJLFlBQVksQ0FBQyxTQUFTLEVBQUUsR0FBRyx3Q0FBNEIsQ0FBQyxVQUFVLEVBQUU7WUFDdEUsTUFBTSxJQUFJLEtBQUssQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO1NBQ2pFO1FBQ0QsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFLEdBQUcsd0NBQTRCLENBQUMsS0FBSyxFQUFFO1lBQzVELE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQztTQUNqRTtRQUNELElBQUksZ0JBQWdCLENBQUMsU0FBUyxFQUFFLEdBQUcsd0NBQTRCLENBQUMsY0FBYyxFQUFFO1lBQzlFLE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQztTQUNqRTtRQUNELElBQ0Usd0JBQXdCLENBQUMsU0FBUyxFQUFFLEdBQUcsd0NBQTRCLENBQUMsc0JBQXNCLEVBQzFGO1lBQ0EsTUFBTSxJQUFJLEtBQUssQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO1NBQ2pFO1FBRUQsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzthQUNqRCxNQUFNLENBQUMsd0NBQTRCLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQzthQUNsRSxNQUFNLENBQUMsd0NBQTRCLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQzthQUN4RCxNQUFNLENBQUMsd0NBQTRCLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO2FBQzFFLE1BQU0sQ0FBQyx3Q0FBNEIsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQzthQUMxRixNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUVuQyxPQUFPLDRCQUFRLENBQUMsc0JBQXNCLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDOztBQXJFSCxnREFzRUM7QUFwRVEsaUNBQWMsR0FBRyxrQkFBa0IsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLFNBQVMifQ==
{
"name": "@dydxprotocol/starkex-lib",
"version": "0.4.1",
"version": "0.5.0",
"description": "Cryptographic functions for use with StarkEx",

@@ -5,0 +5,0 @@ "main": "build/src/index.js",

@@ -35,6 +35,6 @@ import {

export const ASSET_QUANTUM_SIZE: Record<DydxAsset, string> = {
[DydxAsset.USDC]: '0.01099511627776', // Pretending, for now, that USDC has 14 decimals.
[DydxAsset.BTC]: '100',
[DydxAsset.ETH]: '1e-10',
[DydxAsset.LINK]: '1e-11',
[DydxAsset.USDC]: '1e-6',
[DydxAsset.BTC]: '1e-10',
[DydxAsset.ETH]: '1e-8',
[DydxAsset.LINK]: '1e-7',
};

@@ -5,3 +5,3 @@ /**

import Big from 'big.js';
import Big, { RoundingMode } from 'big.js';

@@ -27,13 +27,41 @@ import {

*
* Optionally, throw if the provided value is not a multiple of the quantum size.
* If the provided value is not a multiple of the quantum size, throw an error.
*/
export function toQuantumsExact(
humanAmount: string,
asset: DydxAsset,
): string {
return toQuantumsHelper(humanAmount, asset, RoundingMode.RoundDown, true);
}
/**
* Convert a human-readable asset amount to an integer amount of the asset's quantum size.
*
* Example:
* Suppose the quantum size in Starkware for synthetic ETH is 10^12 (1000 Gwei).
* Then humanAmountToQuantums(0.01), representing 0.01 ETH, will return a value of 10,000.
* If the provided value is not a multiple of the quantum size, round down.
*/
export function toQuantums(
export function toQuantumsRoundDown(
humanAmount: string,
asset: DydxAsset,
assertIntegerResult: boolean = true,
): string {
return toQuantumsHelper(humanAmount, asset, RoundingMode.RoundDown, false);
}
/**
* Convert a human-readable asset amount to an integer amount of the asset's quantum size.
*
* If the provided value is not a multiple of the quantum size, round up.
*/
export function toQuantumsRoundUp(
humanAmount: string,
asset: DydxAsset,
): string {
return toQuantumsHelper(humanAmount, asset, RoundingMode.RoundUp, false);
}
function toQuantumsHelper(
humanAmount: string,
asset: DydxAsset,
rm: RoundingMode,
assertIntegerResult: boolean,
): string {
const amountBig = new Big(humanAmount);

@@ -47,3 +75,3 @@ const quantumSize = ASSET_QUANTUM_SIZE[asset];

}
return amountBig.div(quantumSize).toFixed(0);
return amountBig.div(quantumSize).round(0, rm).toFixed(0);
}

@@ -55,4 +83,4 @@

* Example:
* Suppose the quantum size in Starkware for synthetic ETH is 10^12 (1000 Gwei).
* Then fromQuantums(100), representing 100,000 Gwei, will return a value of 0.0001.
* Suppose the quantum size in Starkware for synthetic ETH is 10^10 (10 Gwei).
* Then fromQuantums(1000, DydxAsset.ETH), representing 10,000 Gwei, returns a value of 0.00001.
*/

@@ -63,3 +91,7 @@ export function fromQuantums(

): string {
return new Big(quantumAmount).mul(ASSET_QUANTUM_SIZE[asset]).toFixed();
const quantumSize = ASSET_QUANTUM_SIZE[asset];
if (!quantumSize) {
throw new Error(`Unknown asset ${asset}`);
}
return new Big(quantumAmount).mul(quantumSize).toFixed();
}

@@ -91,9 +123,20 @@

// Determine amounts.
const humanCost = typeof humanQuoteAmount === 'string'
// Convert the synthetic amount to Starkware quantums.
const quantumsAmountSynthetic = toQuantumsExact(humanSize, syntheticAsset);
// Get the human-readable collateral asset amount (a.k.a. "quote amount").
const humanAmountCollateral = typeof humanQuoteAmount === 'string'
? humanQuoteAmount
: new Big(humanSize).times(humanPrice!).toFixed(); // Non-null assertion safe based on types.
const quantumsAmountSynthetic = toQuantums(humanSize, syntheticAsset);
const quantumsAmountCollateral = toQuantums(humanCost, COLLATERAL_ASSET, false);
// If quoteAmount was specified, don't allow rounding.
// Otherwise, round differently depending on the order side.
let toQuantumsFnForCost = toQuantumsExact;
if (typeof humanQuoteAmount !== 'string') {
toQuantumsFnForCost = isBuyingSynthetic
? toQuantumsRoundUp
: toQuantumsRoundDown;
}
const quantumsAmountCollateral = toQuantumsFnForCost(humanAmountCollateral, COLLATERAL_ASSET);
return {

@@ -100,0 +143,0 @@ quantumsAmountSynthetic,

@@ -18,3 +18,3 @@ /**

export function nonceFromClientId(clientId: string): string {
const nonceHex = nodeCrypto.createHmac('sha256', '').update(clientId).digest('hex');
const nonceHex = nodeCrypto.createHash('sha256').update(clientId).digest('hex');
return hexToBn(nonceHex).mod(MAX_NONCE).toString();

@@ -21,0 +21,0 @@ }

@@ -27,5 +27,5 @@ import nodeCrypto from 'crypto';

);
const hashHex = nodeCrypto.createHmac('sha256', '').update(messageString).digest('hex');
return hexToBn(hashHex).iushrn(5); // Remove the last five bits.
const hashHex = nodeCrypto.createHash('sha256').update(messageString).digest('hex');
return hexToBn(hashHex).iushrn(5); // Remove the last five bits so it fits in 251 bits.
}
}

@@ -11,3 +11,3 @@ import BN from 'bn.js';

nonceFromClientId,
toQuantums,
toQuantumsExact,
} from '../helpers';

@@ -71,3 +71,3 @@ import { pedersen } from '../lib/starkex-resources';

// The fee is an amount, not a percentage, and is always denominated in the collateral asset.
const quantumsAmountFee = toQuantums(order.humanLimitFee, COLLATERAL_ASSET);
const quantumsAmountFee = toQuantumsExact(order.humanLimitFee, COLLATERAL_ASSET);
const assetIdFee = ASSET_ID_MAP[COLLATERAL_ASSET];

@@ -74,0 +74,0 @@

@@ -25,5 +25,5 @@ import nodeCrypto from 'crypto';

);
const hashHex = nodeCrypto.createHmac('sha256', '').update(messageString).digest('hex');
return hexToBn(hashHex).iushrn(5); // Remove the last five bits.
const hashHex = nodeCrypto.createHash('sha256').update(messageString).digest('hex');
return hexToBn(hashHex).iushrn(5); // Remove the last five bits so it fits in 251 bits.
}
}

@@ -10,3 +10,3 @@ import BN from 'bn.js';

nonceFromClientId,
toQuantums,
toQuantumsExact,
} from '../helpers';

@@ -53,3 +53,3 @@ import { pedersen } from '../lib/starkex-resources';

// The withdrawal asset is always the collateral asset.
const quantumsAmount = toQuantums(withdrawal.humanAmount, COLLATERAL_ASSET);
const quantumsAmount = toQuantumsExact(withdrawal.humanAmount, COLLATERAL_ASSET);

@@ -56,0 +56,0 @@ // Convert to a Unix timestamp (in seconds).

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc