@dydxprotocol/starkex-lib
Advanced tools
Comparing version 0.4.1 to 0.5.0
@@ -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', | ||
}); | ||
}); | ||
}); | ||
}); |
@@ -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 @@ }); |
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXIudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19fdGVzdHNfXy9zaWduYWJsZS9vcmRlci50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7Ozs7QUFFSCxvREFBMkM7QUFFM0MsMkNBUXlCO0FBQ3pCLHlDQUF1RDtBQUN2RCwrQ0FBc0Q7QUFDdEQsaUNBQTJDO0FBRTNDLHFCQUFxQjtBQUNyQixvREFBeUQ7QUFFekQsZUFBZTtBQUNmLE1BQU0sV0FBVyxHQUFZO0lBQzNCLFNBQVMsRUFBRSxpRUFBaUU7SUFDNUUsVUFBVSxFQUFFLGlFQUFpRTtDQUM5RSxDQUFDO0FBQ0YsTUFBTSxnQkFBZ0IsR0FBWTtJQUNoQyxTQUFTLEVBQUUsaUVBQWlFO0lBQzVFLFVBQVUsRUFBRSxpRUFBaUU7Q0FDOUUsQ0FBQztBQUNGLE1BQU0sU0FBUyxHQUFzQjtJQUNuQyxVQUFVLEVBQUUsT0FBTztJQUNuQixTQUFTLEVBQUUsVUFBVTtJQUNyQixhQUFhLEVBQUUsVUFBVTtJQUN6QixNQUFNLEVBQUUsa0JBQVUsQ0FBQyxPQUFPO0lBQzFCLElBQUksRUFBRSwwQkFBa0IsQ0FBQyxHQUFHO0lBQzVCLHNCQUFzQixFQUFFLDBCQUEwQjtJQUNsRCxVQUFVLEVBQUUsV0FBVztJQUN2QixRQUFRLEVBQUUsbUVBQW1FO0NBQzlFLENBQUM7QUFDRixNQUFNLGFBQWEsR0FBRyxDQUNwQixrRUFBa0U7SUFDbEUsa0VBQWtFLENBQ25FLENBQUM7QUFDRixNQUFNLGtCQUFrQixHQUFHLENBQ3pCLGtFQUFrRTtJQUNsRSxrRUFBa0UsQ0FDbkUsQ0FBQztBQUVGLFFBQVEsQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFO0lBRTdCLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLEVBQUU7UUFFakMsRUFBRSxDQUFDLDRDQUE0QyxFQUFFLEdBQUcsRUFBRTtZQUNwRCxNQUFNLE1BQU0sR0FBRyxxQkFBYTtpQkFDekIsU0FBUyxDQUFDLFNBQVMsQ0FBQztpQkFDcEIsZUFBZSxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDekQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyw2Q0FBNkMsRUFBRSxHQUFHLEVBQUU7WUFDckQsTUFBTSxNQUFNLEdBQUcscUJBQWE7aUJBQ3pCLFNBQVMsQ0FBQyxTQUFTLENBQUM7aUJBQ3BCLGVBQWUsQ0FBQyxrQkFBa0IsRUFBRSxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNuRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHdDQUF3QyxFQUFFLEdBQUcsRUFBRTtZQUNoRCxrQ0FBa0M7WUFDbEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDMUIsTUFBTSxZQUFZLEdBQVcsd0JBQWlCLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNqRSxNQUFNLE1BQU0sR0FBRyxxQkFBYTtxQkFDekIsU0FBUyxDQUFDLFNBQVMsQ0FBQztxQkFDcEIsZUFBZSxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ3hELE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDNUI7WUFFRCxrQ0FBa0M7WUFDbEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDMUIsTUFBTSxZQUFZLEdBQVcsd0JBQWlCLENBQUMsYUFBYSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDdEUsTUFBTSxNQUFNLEdBQUcscUJBQWE7cUJBQ3pCLFNBQVMsQ0FBQyxTQUFTLENBQUM7cUJBQ3BCLGVBQWUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUN4RCxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzVCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFO1FBRXRCLEVBQUUsQ0FBQyx3QkFBd0IsRUFBRSxHQUFHLEVBQUU7WUFDaEMsTUFBTSxTQUFTLEdBQUcscUJBQWE7aUJBQzVCLFNBQVMsQ0FBQyxTQUFTLENBQUM7aUJBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDaEMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSxHQUFHLEVBQUU7WUFDakMsTUFBTSxTQUFTLEdBQUcscUJBQWE7aUJBQzVCLFNBQVMsQ0FBQyxTQUFTLENBQUM7aUJBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNyQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsa0RBQWtELEVBQUUsR0FBRyxFQUFFO1lBQzFELE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxnQkFBRyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUM7aUJBQ3BELEtBQUssQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDO2lCQUMzQixLQUFLLENBQUMsQ0FBQyxrQkFBdUI7aUJBQzlCLE9BQU8sRUFBRSxDQUFDO1lBQ2IsTUFBTSxvQkFBb0IsR0FBb0M7Z0JBQzVELEdBQUcsU0FBUztnQkFDWixVQUFVLEVBQUUsU0FBUztnQkFDckIsZ0JBQWdCLEVBQUUsa0JBQWtCO2FBQ3JDLENBQUM7WUFDRixNQUFNLFNBQVMsR0FBRyxxQkFBYTtpQkFDNUIsU0FBUyxDQUFDLG9CQUFvQixDQUFDO2lCQUMvQixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2hDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsK0NBQStDLEVBQUUsR0FBRyxFQUFFO1lBQ3ZELE1BQU0sY0FBYyxHQUFtQjtnQkFDckMsR0FBRyxTQUFTO2dCQUNaLFFBQVEsRUFBRSxTQUFTO2dCQUNuQixLQUFLLEVBQUUsMkJBQWlCLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQzthQUM3QyxDQUFDO1lBQ0YsTUFBTSxTQUFTLEdBQUcscUJBQWE7aUJBQzVCLGtCQUFrQixDQUFDLGNBQWMsQ0FBQztpQkFDbEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNoQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGlFQUFpRSxFQUFFLEdBQUcsRUFBRTtZQUN6RSxNQUFNLEtBQUssR0FBRztnQkFDWixHQUFHLFNBQVM7Z0JBQ1osUUFBUSxFQUFFLEdBQUcsU0FBUyxDQUFDLFFBQVEsR0FBRzthQUNuQyxDQUFDO1lBQ0YsTUFBTSxTQUFTLEdBQUcscUJBQWE7aUJBQzVCLFNBQVMsQ0FBQyxLQUFLLENBQUM7aUJBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDaEMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsa0RBQWtELEVBQUUsR0FBRyxFQUFFO1lBQzFELE1BQU0sS0FBSyxHQUFHO2dCQUNaLEdBQUcsU0FBUztnQkFDWixJQUFJLEVBQUUsMEJBQWtCLENBQUMsSUFBSTthQUM5QixDQUFDO1lBQ0YsTUFBTSxTQUFTLEdBQUcscUJBQWE7aUJBQzVCLFNBQVMsQ0FBQyxLQUFLLENBQUM7aUJBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDaEMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsbUVBQW1FLEVBQUUsR0FBRyxFQUFFO1lBQzNFLE1BQU0sS0FBSyxHQUFHO2dCQUNaLEdBQUcsU0FBUztnQkFDWixVQUFVLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO2FBQ3ZFLENBQUM7WUFDRixNQUFNLFNBQVMsR0FBRyxxQkFBYTtpQkFDNUIsU0FBUyxDQUFDLEtBQUssQ0FBQztpQkFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNoQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMvQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLGVBQWUsRUFBRSxHQUFHLEVBQUU7UUFFN0IsRUFBRSxDQUFDLDJDQUEyQyxFQUFFLEdBQUcsRUFBRTtZQUNuRCxNQUFNLGNBQWMsR0FBbUIscUJBQWE7aUJBQ2pELFNBQVMsQ0FBQyxTQUFTLENBQUM7aUJBQ3BCLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sQ0FBQyxjQUFjLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDdEUsTUFBTSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN2RSxNQUFNLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGlDQUFpQyxFQUFFLEdBQUcsRUFBRTtZQUN6QyxNQUFNLEtBQUssR0FBRztnQkFDWixHQUFHLFNBQVM7Z0JBQ1osTUFBTSxFQUFFLGFBQTJCO2FBQ3BDLENBQUM7WUFDRixNQUFNLENBQ0osR0FBRyxFQUFFLENBQUMscUJBQWEsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQ25ELENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxZQUFZLEVBQUUsR0FBRyxFQUFFO1FBQ3BCLCtCQUErQjtRQUMvQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzFCLE1BQU0sT0FBTyxHQUFZLDRCQUFxQixFQUFFLENBQUM7WUFDakQsTUFBTSxhQUFhLEdBQUcscUJBQWEsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDekQsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7WUFFekQsK0RBQStEO1lBQy9ELE1BQU0sQ0FDSixhQUFhLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQzVELENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRWIsbUVBQW1FO1lBQ25FLE1BQU0sQ0FDSixhQUFhLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsU0FBUyxDQUFDLENBQ2hFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2Y7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIn0= |
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2lnbmFibGUvb3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsa0RBQXVCO0FBRXZCLDRDQUdzQjtBQUN0Qix3Q0FLb0I7QUFDcEIsZ0VBQW9EO0FBQ3BELHNDQUErQztBQUMvQyxvQ0FPa0I7QUFDbEIsMkNBRXFCO0FBQ3JCLHlDQUFzQztBQUV0QyxNQUFNLHFCQUFxQixHQUFHLENBQUMsQ0FBQztBQUNoQyxNQUFNLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztBQUU5Qjs7R0FFRztBQUNILE1BQWEsYUFBYyxTQUFRLG1CQUF3QjtJQUl6RCxNQUFNLENBQUMscUJBQXFCLENBQzFCLEtBQTBEO1FBRTFELG9EQUFvRDtRQUNwRCxNQUFNLEtBQUssR0FBRywyQkFBaUIsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsT0FBTyxhQUFhLENBQUMsa0JBQWtCLENBQUM7WUFDdEMsR0FBRyxLQUFLO1lBQ1IsUUFBUSxFQUFFLFNBQVM7WUFDbkIsS0FBSztTQUNOLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsa0JBQWtCLENBQ3ZCLEtBQW9EO1FBRXBELE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDMUIsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQztRQUVwQyx1RUFBdUU7UUFDdkUsTUFBTSxTQUFTLEdBQUcsMEJBQWtCLENBQUMscUJBQXFCLENBQUM7UUFFM0QsbUZBQW1GO1FBQ25GLHlDQUF5QztRQUN6QyxNQUFNLEVBQ0osdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4QixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLGlCQUFpQixHQUNsQixHQUFHLDZCQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRS9CLDZGQUE2RjtRQUM3RixNQUFNLGlCQUFpQixHQUFHLHlCQUFlLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSw0QkFBZ0IsQ0FBQyxDQUFDO1FBQ2pGLE1BQU0sVUFBVSxHQUFHLHdCQUFZLENBQUMsNEJBQWdCLENBQUMsQ0FBQztRQUVsRCw0Q0FBNEM7UUFDNUMsTUFBTSxzQkFBc0IsR0FBRyxvQ0FBMEIsQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUV4RixPQUFPLElBQUksYUFBYSxDQUFDO1lBQ3ZCLFNBQVM7WUFDVCxLQUFLO1lBQ0wsdUJBQXVCO1lBQ3ZCLHdCQUF3QjtZQUN4QixpQkFBaUI7WUFDakIsZ0JBQWdCO1lBQ2hCLGlCQUFpQjtZQUNqQixVQUFVO1lBQ1YsVUFBVTtZQUNWLGlCQUFpQjtZQUNqQixzQkFBc0I7U0FDdkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVTLGFBQWE7UUFDckIsTUFBTSxrQkFBa0IsR0FBRyxjQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sbUJBQW1CLEdBQUcsY0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNwRSxNQUFNLFlBQVksR0FBRyxjQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0RCxNQUFNLHlCQUF5QixHQUFHLGNBQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDaEYsTUFBTSwwQkFBMEIsR0FBRyxjQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ2xGLE1BQU0sbUJBQW1CLEdBQUcsY0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNwRSxNQUFNLE9BQU8sR0FBRyxjQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QyxNQUFNLFlBQVksR0FBRyxjQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0RCxNQUFNLHdCQUF3QixHQUFHLGNBQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFFOUUsTUFBTSxDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQjtZQUNsRSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsRUFBRSxrQkFBa0IsQ0FBQztZQUMzQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxtQkFBbUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCO1lBQ2hGLENBQUMsQ0FBQyxDQUFDLDBCQUEwQixFQUFFLHlCQUF5QixDQUFDO1lBQ3pELENBQUMsQ0FBQyxDQUFDLHlCQUF5QixFQUFFLDBCQUEwQixDQUFDLENBQUM7UUFFNUQsSUFBSSxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsR0FBRyxtQ0FBdUIsQ0FBQyxnQkFBZ0IsRUFBRTtZQUM3RSxNQUFNLElBQUksS0FBSyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7U0FDdEU7UUFDRCxJQUFJLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxHQUFHLG1DQUF1QixDQUFDLGlCQUFpQixFQUFFO1lBQy9FLE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztTQUN2RTtRQUNELElBQUksWUFBWSxDQUFDLFNBQVMsRUFBRSxHQUFHLG1DQUF1QixDQUFDLFVBQVUsRUFBRTtZQUNqRSxNQUFNLElBQUksS0FBSyxDQUFDLDZDQUE2QyxDQUFDLENBQUM7U0FDaEU7UUFDRCxJQUFJLHlCQUF5QixDQUFDLFNBQVMsRUFBRSxHQUFHLG1DQUF1QixDQUFDLGNBQWMsRUFBRTtZQUNsRixNQUFNLElBQUksS0FBSyxDQUFDLDBEQUEwRCxDQUFDLENBQUM7U0FDN0U7UUFDRCxJQUFJLDBCQUEwQixDQUFDLFNBQVMsRUFBRSxHQUFHLG1DQUF1QixDQUFDLGNBQWMsRUFBRTtZQUNuRixNQUFNLElBQUksS0FBSyxDQUFDLDJEQUEyRCxDQUFDLENBQUM7U0FDOUU7UUFDRCxJQUFJLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxHQUFHLG1DQUF1QixDQUFDLGNBQWMsRUFBRTtZQUM1RSxNQUFNLElBQUksS0FBSyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7U0FDdkU7UUFDRCxJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUUsR0FBRyxtQ0FBdUIsQ0FBQyxLQUFLLEVBQUU7WUFDdkQsTUFBTSxJQUFJLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO1NBQzNEO1FBQ0QsSUFBSSxZQUFZLENBQUMsU0FBUyxFQUFFLEdBQUcsbUNBQXVCLENBQUMsVUFBVSxFQUFFO1lBQ2pFLE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQztTQUNoRTtRQUNELElBQUksd0JBQXdCLENBQUMsU0FBUyxFQUFFLEdBQUcsbUNBQXVCLENBQUMsc0JBQXNCLEVBQUU7WUFDekYsTUFBTSxJQUFJLEtBQUssQ0FBQyx5REFBeUQsQ0FBQyxDQUFDO1NBQzVFO1FBRUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxlQUFFLENBQUMsb0JBQW9CLENBQUM7YUFDNUMsTUFBTSxDQUFDLG1DQUF1QixDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQzthQUN4RSxNQUFNLENBQUMsbUNBQXVCLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDO2FBQ3hFLE1BQU0sQ0FBQyxtQ0FBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFdkQsTUFBTSxVQUFVLEdBQUcsSUFBSSxlQUFFLENBQUMscUJBQXFCLENBQUM7YUFDN0MsTUFBTSxDQUFDLG1DQUF1QixDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxnQkFBZ0I7YUFDOUUsTUFBTSxDQUFDLG1DQUF1QixDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxnQkFBZ0I7YUFDOUUsTUFBTSxDQUFDLG1DQUF1QixDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxnQkFBZ0I7YUFDOUUsTUFBTSxDQUFDLG1DQUF1QixDQUFDLHNCQUFzQixDQUFDLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDO2FBQ3JGLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRTlCLE1BQU0sUUFBUSxHQUFHLDRCQUFRLENBQUMsNEJBQVEsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDL0UsT0FBTyw0QkFBUSxDQUFDLDRCQUFRLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7O0FBekhILHNDQTBIQztBQXhIUSx1QkFBUyxHQUFHLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLFNBQVMifQ== |
@@ -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). |
412441
103
8070