Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@dydxprotocol/starkex-lib

Package Overview
Dependencies
Maintainers
10
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.7.0 to 0.8.0

7

__tests__/signable/conditional-transfer.test.ts

@@ -33,4 +33,4 @@ /**

const mockSignature = (
'014dedad7bd42da36e81ce627e55be508a4afe019700dd478ea8134b3549d327' +
'0571d1dcbab6f25f4d2f3af054f359773289266c69df91c9608882f0a9b201d8'
'067e90143a21d8a6aca85207de5e124e9644f7adc18deb42c5cf1240766e57bb' +
'04a39c4fdadf214d7282a59d37b21e0d3ea7fe1fc0d0ee25c22a3dd9d5cb8307'
);

@@ -94,3 +94,3 @@

it('converts human amounts to quantum amounts', () => {
it('converts human amounts to quantum amounts and converts expiration to hours', () => {
const starkwareConditionalTransfer: StarkwareConditionalTransfer = (

@@ -100,2 +100,3 @@ new SignableConditionalTransfer(mockParams).toStarkware()

expect(starkwareConditionalTransfer.quantumsAmount).toEqual('49478023');
expect(starkwareConditionalTransfer.expirationEpochHours).toBe(444533);
});

@@ -102,0 +103,0 @@ });

@@ -44,8 +44,8 @@ /**

const mockSignature = (
'059487ea7c537f34516f4dc7c54ad30ab0096823269ba18aea0e64e13fb03462' +
'03be73ed4dafbf99baeeaee6dce315cd834b5e3257d4e74371d14cf8f2189a59'
'0398287472161cba0e6386ff0b2f25f39ba37c646b7bbadace80eee6b8e7157d' +
'01ba924272e1e42b3211b96bbbe012e7e8101e1b3e5b83ea90d161ad11fcced4'
);
const mockSignatureEvenY = (
'030644ef5b2de9e93f13df5a4cf8284e7256223366b5da29bf2002ed40825171' +
'03961ec47c34c49e97095c546895cc22afa6e563474615729720fd8b768c5b87'
'05cf391a69386f53693344bada2e0d245879f3c6a98971498b2862ff2f359c49' +
'0737deea7e201eaa86c8d6eeb2c1ca3ce89ac248b3fe1a6182301aa72d6e8e4f'
);

@@ -172,9 +172,12 @@

it('converts human amounts to quantum amounts', () => {
it('converts human amounts to quantum amounts and converts expiration to hours', () => {
const starkwareOrder: StarkwareOrder = SignableOrder
.fromOrder(mockOrder)
.toStarkware();
expect(starkwareOrder.quantumsAmountSynthetic).toEqual('14500050000');
expect(starkwareOrder.quantumsAmountCollateral).toEqual('50750272151');
expect(starkwareOrder.quantumsAmountFee).toEqual('6343784019');
expect(starkwareOrder.quantumsAmountSynthetic).toBe('14500050000');
expect(starkwareOrder.quantumsAmountCollateral).toBe('50750272151');
expect(starkwareOrder.quantumsAmountFee).toBe('6343784019');
// Order expiration should be rounded up, and should have a buffer added.
expect(starkwareOrder.expirationEpochHours).toBe(444581);
});

@@ -181,0 +184,0 @@

@@ -32,4 +32,4 @@ /**

const mockSignature = (
'0214a0ab2f3c065c5848ad9dbac6cc98509b66e76a8f563d5c8ffda01b0fa2e0' +
'07242b1c65d039fe645d122ecea7c3e58c8fda5814e0c152dbdeef4af706ad06'
'05e48c33f8205a5359c95f1bd7385c1c1f587e338a514298c07634c0b6c952ba' +
'0687d6980502a5d7fa84ef6fdc00104db22c43c7fb83e88ca84f19faa9ee3de1'
);

@@ -115,7 +115,8 @@

it('converts human amounts to quantum amounts', () => {
it('converts human amounts to quantum amounts and converts expiration to hours', () => {
const starkwareWithdrawal: StarkwareWithdrawal = SignableWithdrawal
.fromWithdrawal(mockWithdrawal)
.toStarkware();
expect(starkwareWithdrawal.quantumsAmount).toEqual('49478023');
expect(starkwareWithdrawal.quantumsAmount).toBe('49478023');
expect(starkwareWithdrawal.expirationEpochHours).toBe(444533);
});

@@ -122,0 +123,0 @@ });

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

};
const mockSignature = ('014dedad7bd42da36e81ce627e55be508a4afe019700dd478ea8134b3549d327' +
'0571d1dcbab6f25f4d2f3af054f359773289266c69df91c9608882f0a9b201d8');
const mockSignature = ('067e90143a21d8a6aca85207de5e124e9644f7adc18deb42c5cf1240766e57bb' +
'04a39c4fdadf214d7282a59d37b21e0d3ea7fe1fc0d0ee25c22a3dd9d5cb8307');
describe('SignableConditionalTransfer', () => {

@@ -77,5 +77,6 @@ describe('verifySignature()', () => {

describe('toStarkware()', () => {
it('converts human amounts to quantum amounts', () => {
it('converts human amounts to quantum amounts and converts expiration to hours', () => {
const starkwareConditionalTransfer = (new conditional_transfer_1.SignableConditionalTransfer(mockParams).toStarkware());
expect_1.default(starkwareConditionalTransfer.quantumsAmount).toEqual('49478023');
expect_1.default(starkwareConditionalTransfer.expirationEpochHours).toBe(444533);
});

@@ -93,2 +94,2 @@ });

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

@@ -36,6 +36,6 @@ "use strict";

};
const mockSignature = ('059487ea7c537f34516f4dc7c54ad30ab0096823269ba18aea0e64e13fb03462' +
'03be73ed4dafbf99baeeaee6dce315cd834b5e3257d4e74371d14cf8f2189a59');
const mockSignatureEvenY = ('030644ef5b2de9e93f13df5a4cf8284e7256223366b5da29bf2002ed40825171' +
'03961ec47c34c49e97095c546895cc22afa6e563474615729720fd8b768c5b87');
const mockSignature = ('0398287472161cba0e6386ff0b2f25f39ba37c646b7bbadace80eee6b8e7157d' +
'01ba924272e1e42b3211b96bbbe012e7e8101e1b3e5b83ea90d161ad11fcced4');
const mockSignatureEvenY = ('05cf391a69386f53693344bada2e0d245879f3c6a98971498b2862ff2f359c49' +
'0737deea7e201eaa86c8d6eeb2c1ca3ce89ac248b3fe1a6182301aa72d6e8e4f');
describe('SignableOrder', () => {

@@ -145,9 +145,11 @@ describe('verifySignature()', () => {

describe('toStarkware()', () => {
it('converts human amounts to quantum amounts', () => {
it('converts human amounts to quantum amounts and converts expiration to hours', () => {
const starkwareOrder = order_1.SignableOrder
.fromOrder(mockOrder)
.toStarkware();
expect_1.default(starkwareOrder.quantumsAmountSynthetic).toEqual('14500050000');
expect_1.default(starkwareOrder.quantumsAmountCollateral).toEqual('50750272151');
expect_1.default(starkwareOrder.quantumsAmountFee).toEqual('6343784019');
expect_1.default(starkwareOrder.quantumsAmountSynthetic).toBe('14500050000');
expect_1.default(starkwareOrder.quantumsAmountCollateral).toBe('50750272151');
expect_1.default(starkwareOrder.quantumsAmountFee).toBe('6343784019');
// Order expiration should be rounded up, and should have a buffer added.
expect_1.default(starkwareOrder.expirationEpochHours).toBe(444581);
});

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

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

@@ -26,4 +26,4 @@ "use strict";

};
const mockSignature = ('0214a0ab2f3c065c5848ad9dbac6cc98509b66e76a8f563d5c8ffda01b0fa2e0' +
'07242b1c65d039fe645d122ecea7c3e58c8fda5814e0c152dbdeef4af706ad06');
const mockSignature = ('05e48c33f8205a5359c95f1bd7385c1c1f587e338a514298c07634c0b6c952ba' +
'0687d6980502a5d7fa84ef6fdc00104db22c43c7fb83e88ca84f19faa9ee3de1');
describe('SignableWithdrawal', () => {

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

describe('toStarkware()', () => {
it('converts human amounts to quantum amounts', () => {
it('converts human amounts to quantum amounts and converts expiration to hours', () => {
const starkwareWithdrawal = withdrawal_1.SignableWithdrawal
.fromWithdrawal(mockWithdrawal)
.toStarkware();
expect_1.default(starkwareWithdrawal.quantumsAmount).toEqual('49478023');
expect_1.default(starkwareWithdrawal.quantumsAmount).toBe('49478023');
expect_1.default(starkwareWithdrawal.expirationEpochHours).toBe(444533);
});

@@ -117,2 +118,2 @@ });

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

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

export declare function nonceFromClientId(clientId: string): string;
export declare function isoTimestampToEpochSeconds(isoTimestamp: string): string;
/**
* Convert an ISO timestamp to an epoch timestamp in seconds, rounding down.
*/
export declare function isoTimestampToEpochSeconds(isoTimestamp: string): number;
/**
* Convert an ISO timestamp to an epoch timestamp in hours, rounding up.
*/
export declare function isoTimestampToEpochHours(isoTimestamp: string): number;
/**
* Add expiration buffer to ensure an order signature is valid when it arrives on-chain.
*/
export declare function addOrderExpirationBufferHours(expirationEpochHours: number): number;

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

Object.defineProperty(exports, "__esModule", { value: true });
exports.isoTimestampToEpochSeconds = exports.nonceFromClientId = void 0;
exports.addOrderExpirationBufferHours = exports.isoTimestampToEpochHours = exports.isoTimestampToEpochSeconds = exports.nonceFromClientId = void 0;
const crypto_1 = __importDefault(require("crypto"));

@@ -16,2 +16,4 @@ const bn_js_1 = __importDefault(require("bn.js"));

const MAX_NONCE = new bn_js_1.default(2).pow(new bn_js_1.default(constants_1.ORDER_FIELD_BIT_LENGTHS.nonce));
const ONE_SECOND_MS = 1000;
const ONE_HOUR_MS = 60 * 60 * ONE_SECOND_MS;
/**

@@ -25,6 +27,23 @@ * Generate a nonce deterministically from an arbitrary string provided by a client.

exports.nonceFromClientId = nonceFromClientId;
/**
* Convert an ISO timestamp to an epoch timestamp in seconds, rounding down.
*/
function isoTimestampToEpochSeconds(isoTimestamp) {
return `${Math.floor(new Date(isoTimestamp).getTime() / 1000)}`;
return Math.floor(new Date(isoTimestamp).getTime() / ONE_SECOND_MS);
}
exports.isoTimestampToEpochSeconds = isoTimestampToEpochSeconds;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9oZWxwZXJzL21pc2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7Ozs7QUFFSCxvREFBZ0M7QUFFaEMsa0RBQXVCO0FBRXZCLHNDQUFzQztBQUN0QyxxREFBZ0U7QUFFaEUsTUFBTSxTQUFTLEdBQUcsSUFBSSxlQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksZUFBRSxDQUFDLG1DQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFFdkU7O0dBRUc7QUFDSCxTQUFnQixpQkFBaUIsQ0FBQyxRQUFnQjtJQUNoRCxNQUFNLFFBQVEsR0FBRyxnQkFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hGLE9BQU8sY0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUNyRCxDQUFDO0FBSEQsOENBR0M7QUFFRCxTQUFnQiwwQkFBMEIsQ0FBQyxZQUFvQjtJQUM3RCxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO0FBQ2xFLENBQUM7QUFGRCxnRUFFQyJ9
/**
* Convert an ISO timestamp to an epoch timestamp in hours, rounding up.
*/
function isoTimestampToEpochHours(isoTimestamp) {
return Math.ceil(new Date(isoTimestamp).getTime() / ONE_HOUR_MS);
}
exports.isoTimestampToEpochHours = isoTimestampToEpochHours;
/**
* Add expiration buffer to ensure an order signature is valid when it arrives on-chain.
*/
function addOrderExpirationBufferHours(expirationEpochHours) {
return expirationEpochHours + constants_1.STARK_SIGNATURE_EXPIRATION_BUFFER_HOURS;
}
exports.addOrderExpirationBufferHours = addOrderExpirationBufferHours;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9oZWxwZXJzL21pc2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7Ozs7QUFFSCxvREFBZ0M7QUFFaEMsa0RBQXVCO0FBRXZCLHNDQUFzQztBQUN0QyxxREFHK0I7QUFFL0IsTUFBTSxTQUFTLEdBQUcsSUFBSSxlQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksZUFBRSxDQUFDLG1DQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDdkUsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDO0FBQzNCLE1BQU0sV0FBVyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsYUFBYSxDQUFDO0FBRTVDOztHQUVHO0FBQ0gsU0FBZ0IsaUJBQWlCLENBQUMsUUFBZ0I7SUFDaEQsTUFBTSxRQUFRLEdBQUcsZ0JBQVUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoRixPQUFPLGNBQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDckQsQ0FBQztBQUhELDhDQUdDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQiwwQkFBMEIsQ0FBQyxZQUFvQjtJQUM3RCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUcsYUFBYSxDQUFDLENBQUM7QUFDdEUsQ0FBQztBQUZELGdFQUVDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQix3QkFBd0IsQ0FBQyxZQUFvQjtJQUMzRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUM7QUFDbkUsQ0FBQztBQUZELDREQUVDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQiw2QkFBNkIsQ0FBQyxvQkFBNEI7SUFDeEUsT0FBTyxvQkFBb0IsR0FBRyxtREFBdUMsQ0FBQztBQUN4RSxDQUFDO0FBRkQsc0VBRUMifQ==

@@ -28,2 +28,6 @@ /// <reference types="node" />

/**
* Convert an integer number to a BN.
*/
export declare function intToBn(int: number): BN;
/**
* Convert a string to a BN equal to the left-aligned UTF-8 representation with a fixed bit length.

@@ -30,0 +34,0 @@ *

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

Object.defineProperty(exports, "__esModule", { value: true });
exports.utf8ToBn = exports.decToBn = exports.hexToBn = exports.bufferToBn = exports.randomBuffer = exports.normalizeHex32 = exports.bnToHex32 = void 0;
exports.utf8ToBn = exports.intToBn = exports.decToBn = exports.hexToBn = exports.bufferToBn = exports.randomBuffer = exports.normalizeHex32 = exports.bnToHex32 = void 0;
const bn_js_1 = __importDefault(require("bn.js"));

@@ -76,2 +76,12 @@ /**

/**
* Convert an integer number to a BN.
*/
function intToBn(int) {
if (!Number.isInteger(int)) {
throw new Error('intToBn: Input is not an integer');
}
return new bn_js_1.default(int);
}
exports.intToBn = intToBn;
/**
* Convert a string to a BN equal to the left-aligned UTF-8 representation with a fixed bit length.

@@ -94,2 +104,2 @@ *

exports.utf8ToBn = utf8ToBn;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxrREFBdUI7QUFFdkI7O0dBRUc7QUFDSCxNQUFNLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQztBQUVoQzs7R0FFRztBQUNILE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQztBQUUxQjs7R0FFRztBQUNILFNBQWdCLFNBQVMsQ0FBQyxFQUFNO0lBQzlCLE9BQU8sY0FBYyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FBRkQsOEJBRUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLGNBQWMsQ0FBQyxHQUFXO0lBQ3hDLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDekUsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLEVBQUUsRUFBRTtRQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLGdEQUFnRCxDQUFDLENBQUM7S0FDbkU7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDO0FBTkQsd0NBTUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLFlBQVksQ0FBQyxRQUFnQjtJQUMzQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDakIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNqQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7S0FDN0M7SUFDRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDNUIsQ0FBQztBQU5ELG9DQU1DO0FBRUQseUNBQXlDO0FBRXpDOztHQUVHO0FBQ0gsU0FBZ0IsVUFBVSxDQUFDLE1BQWM7SUFDdkMsT0FBTyxJQUFJLGVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFGRCxnQ0FFQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsT0FBTyxDQUFDLEdBQVc7SUFDakMsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDM0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO0tBQ3ZEO0lBQ0QsT0FBTyxJQUFJLGVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDakMsQ0FBQztBQU5ELDBCQU1DO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixPQUFPLENBQUMsR0FBVztJQUNqQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7S0FDNUQ7SUFDRCxPQUFPLElBQUksZUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3JCLENBQUM7QUFMRCwwQkFLQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixRQUFRLENBQ3RCLENBQVMsRUFDVCxPQUFlO0lBRWYsSUFBSSxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixPQUFPLDRCQUE0QixDQUFDLENBQUM7S0FDM0U7SUFDRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQy9DLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxPQUFPLEdBQUcsQ0FBQyxFQUFFO1FBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQUMsMkNBQTJDLE9BQU8sT0FBTyxDQUFDLENBQUM7S0FDNUU7SUFDRCxPQUFPLElBQUksZUFBRSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUMvQixDQUFDO0FBZEQsNEJBY0MifQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxrREFBdUI7QUFFdkI7O0dBRUc7QUFDSCxNQUFNLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQztBQUVoQzs7R0FFRztBQUNILE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQztBQUUxQjs7R0FFRztBQUNILFNBQWdCLFNBQVMsQ0FBQyxFQUFNO0lBQzlCLE9BQU8sY0FBYyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FBRkQsOEJBRUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLGNBQWMsQ0FBQyxHQUFXO0lBQ3hDLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDekUsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLEVBQUUsRUFBRTtRQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLGdEQUFnRCxDQUFDLENBQUM7S0FDbkU7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDO0FBTkQsd0NBTUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLFlBQVksQ0FBQyxRQUFnQjtJQUMzQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDakIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNqQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7S0FDN0M7SUFDRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDNUIsQ0FBQztBQU5ELG9DQU1DO0FBRUQseUNBQXlDO0FBRXpDOztHQUVHO0FBQ0gsU0FBZ0IsVUFBVSxDQUFDLE1BQWM7SUFDdkMsT0FBTyxJQUFJLGVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFGRCxnQ0FFQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsT0FBTyxDQUFDLEdBQVc7SUFDakMsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDM0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO0tBQ3ZEO0lBQ0QsT0FBTyxJQUFJLGVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDakMsQ0FBQztBQU5ELDBCQU1DO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixPQUFPLENBQUMsR0FBVztJQUNqQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7S0FDNUQ7SUFDRCxPQUFPLElBQUksZUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3JCLENBQUM7QUFMRCwwQkFLQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsT0FBTyxDQUFDLEdBQVc7SUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDMUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0tBQ3JEO0lBQ0QsT0FBTyxJQUFJLGVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNyQixDQUFDO0FBTEQsMEJBS0M7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsUUFBUSxDQUN0QixDQUFTLEVBQ1QsT0FBZTtJQUVmLElBQUksT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsT0FBTyw0QkFBNEIsQ0FBQyxDQUFDO0tBQzNFO0lBQ0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMvQyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssT0FBTyxHQUFHLENBQUMsRUFBRTtRQUNwQyxNQUFNLElBQUksS0FBSyxDQUFDLDJDQUEyQyxPQUFPLE9BQU8sQ0FBQyxDQUFDO0tBQzVFO0lBQ0QsT0FBTyxJQUFJLGVBQUUsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDL0IsQ0FBQztBQWRELDRCQWNDIn0=

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

const quantumsAmount = helpers_1.toQuantumsExact(transfer.humanAmount, constants_1.COLLATERAL_ASSET);
// Convert to a Unix timestamp (in seconds).
const expirationEpochSeconds = helpers_1.isoTimestampToEpochSeconds(transfer.expirationIsoTimestamp);
// Convert to a Unix timestamp (in hours).
const expirationEpochHours = helpers_1.isoTimestampToEpochHours(transfer.expirationIsoTimestamp);
super({

@@ -38,3 +38,3 @@ senderPositionId: transfer.senderPositionId,

nonce,
expirationEpochSeconds,
expirationEpochHours,
});

@@ -49,3 +49,3 @@ }

const nonceBn = util_1.decToBn(this.message.nonce);
const expirationEpochSecondsBn = util_1.decToBn(this.message.expirationEpochSeconds);
const expirationEpochSecondsBn = util_1.intToBn(this.message.expirationEpochHours);
if (senderPositionIdBn.bitLength() > constants_2.CONDITIONAL_TRANSFER_FIELD_BIT_LENGTHS.positionId) {

@@ -70,4 +70,4 @@ throw new Error('SignableOraclePrice: senderPositionId exceeds max value');

if (expirationEpochSecondsBn.bitLength() >
constants_2.CONDITIONAL_TRANSFER_FIELD_BIT_LENGTHS.expirationEpochSeconds) {
throw new Error('SignableOraclePrice: expirationEpochSeconds exceeds max value');
constants_2.CONDITIONAL_TRANSFER_FIELD_BIT_LENGTHS.expirationEpochHours) {
throw new Error('SignableOraclePrice: expirationEpochHours exceeds max value');
}

@@ -85,3 +85,3 @@ // The transfer asset and fee asset are always the collateral asset.

.iushln(constants_2.CONDITIONAL_TRANSFER_FIELD_BIT_LENGTHS.quantumsAmount).iadd(MAX_AMOUNT_FEE_BN)
.iushln(constants_2.CONDITIONAL_TRANSFER_FIELD_BIT_LENGTHS.expirationEpochSeconds).iadd(expirationEpochSecondsBn)
.iushln(constants_2.CONDITIONAL_TRANSFER_FIELD_BIT_LENGTHS.expirationEpochHours).iadd(expirationEpochSecondsBn)
.iushln(CONDITIONAL_TRANSFER_PADDING_BITS);

@@ -95,2 +95,2 @@ return starkex_resources_1.pedersen(starkex_resources_1.pedersen(transferPart1, transferPart2), transferPart3);

exports.SignableConditionalTransfer = SignableConditionalTransfer;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZGl0aW9uYWwtdHJhbnNmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2lnbmFibGUvY29uZGl0aW9uYWwtdHJhbnNmZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsa0RBQXVCO0FBRXZCLDRDQUdzQjtBQUN0Qix3Q0FJb0I7QUFDcEIsZ0VBQW9EO0FBQ3BELHNDQUlxQjtBQUtyQiwyQ0FBcUU7QUFDckUscURBQWlEO0FBRWpELDBEQUEwRDtBQUMxRCxNQUFNLGtCQUFrQixHQUFHLElBQUksZUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxlQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFcEMsTUFBTSxzQkFBc0IsR0FBRyxjQUFPLENBQUMsK0JBQW1CLENBQUMsQ0FBQztBQUM1RCxNQUFNLDJCQUEyQixHQUFHLENBQUMsQ0FBQztBQUN0QyxNQUFNLGlDQUFpQyxHQUFHLEVBQUUsQ0FBQztBQUU3Qzs7R0FFRztBQUNILE1BQWEsMkJBQTRCLFNBQVEsOEJBQTJDO0lBRTFGLFlBQ0UsUUFBbUM7UUFFbkMsTUFBTSxLQUFLLEdBQUcsMkJBQWlCLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRW5ELHFEQUFxRDtRQUNyRCxNQUFNLGNBQWMsR0FBRyx5QkFBZSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsNEJBQWdCLENBQUMsQ0FBQztRQUUvRSw0Q0FBNEM7UUFDNUMsTUFBTSxzQkFBc0IsR0FBRyxvQ0FBMEIsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUUzRixLQUFLLENBQUM7WUFDSixnQkFBZ0IsRUFBRSxRQUFRLENBQUMsZ0JBQWdCO1lBQzNDLGtCQUFrQixFQUFFLFFBQVEsQ0FBQyxrQkFBa0I7WUFDL0MsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLGlCQUFpQjtZQUM3QyxTQUFTLEVBQUUsUUFBUSxDQUFDLFNBQVM7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
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZGl0aW9uYWwtdHJhbnNmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2lnbmFibGUvY29uZGl0aW9uYWwtdHJhbnNmZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsa0RBQXVCO0FBRXZCLDRDQUdzQjtBQUN0Qix3Q0FJb0I7QUFDcEIsZ0VBQW9EO0FBQ3BELHNDQUtxQjtBQUtyQiwyQ0FBcUU7QUFDckUscURBQWlEO0FBRWpELDBEQUEwRDtBQUMxRCxNQUFNLGtCQUFrQixHQUFHLElBQUksZUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxlQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFcEMsTUFBTSxzQkFBc0IsR0FBRyxjQUFPLENBQUMsK0JBQW1CLENBQUMsQ0FBQztBQUM1RCxNQUFNLDJCQUEyQixHQUFHLENBQUMsQ0FBQztBQUN0QyxNQUFNLGlDQUFpQyxHQUFHLEVBQUUsQ0FBQztBQUU3Qzs7R0FFRztBQUNILE1BQWEsMkJBQTRCLFNBQVEsOEJBQTJDO0lBRTFGLFlBQ0UsUUFBbUM7UUFFbkMsTUFBTSxLQUFLLEdBQUcsMkJBQWlCLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRW5ELHFEQUFxRDtRQUNyRCxNQUFNLGNBQWMsR0FBRyx5QkFBZSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsNEJBQWdCLENBQUMsQ0FBQztRQUUvRSwwQ0FBMEM7UUFDMUMsTUFBTSxvQkFBb0IsR0FBRyxrQ0FBd0IsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUV2RixLQUFLLENBQUM7WUFDSixnQkFBZ0IsRUFBRSxRQUFRLENBQUMsZ0JBQWdCO1lBQzNDLGtCQUFrQixFQUFFLFFBQVEsQ0FBQyxrQkFBa0I7WUFDL0MsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLGlCQUFpQjtZQUM3QyxTQUFTLEVBQUUsUUFBUSxDQUFDLFNBQVM7WUFDN0IsY0FBYztZQUNkLEtBQUs7WUFDTCxvQkFBb0I7U0FDckIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVTLGFBQWE7UUFDckIsTUFBTSxrQkFBa0IsR0FBRyxjQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sb0JBQW9CLEdBQUcsY0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN0RSxNQUFNLG1CQUFtQixHQUFHLGNBQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDcEUsTUFBTSxXQUFXLEdBQUcsaUJBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sZ0JBQWdCLEdBQUcsY0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDOUQsTUFBTSxPQUFPLEdBQUcsY0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUMsTUFBTSx3QkFBd0IsR0FBRyxjQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRTVFLElBQUksa0JBQWtCLENBQUMsU0FBUyxFQUFFLEdBQUcsa0RBQXNDLENBQUMsVUFBVSxFQUFFO1lBQ3RGLE1BQU0sSUFBSSxLQUFLLENBQUMseURBQXlELENBQUMsQ0FBQztTQUM1RTtRQUNELElBQ0Usb0JBQW9CLENBQUMsU0FBUyxFQUFFLEdBQUcsa0RBQXNDLENBQUMsVUFBVSxFQUNwRjtZQUNBLE1BQU0sSUFBSSxLQUFLLENBQUMsMkRBQTJELENBQUMsQ0FBQztTQUM5RTtRQUNELElBQ0UsbUJBQW1CLENBQUMsU0FBUyxFQUFFLEdBQUcsa0RBQXNDLENBQUMsaUJBQWlCLEVBQzFGO1lBQ0EsTUFBTSxJQUFJLEtBQUssQ0FBQywwREFBMEQsQ0FBQyxDQUFDO1NBQzdFO1FBQ0QsSUFBSSxXQUFXLENBQUMsU0FBUyxFQUFFLEdBQUcsa0RBQXNDLENBQUMsU0FBUyxFQUFFO1lBQzlFLE1BQU0sSUFBSSxLQUFLLENBQUMsa0RBQWtELENBQUMsQ0FBQztTQUNyRTtRQUNELElBQUksZ0JBQWdCLENBQUMsU0FBUyxFQUFFLEdBQUcsa0RBQXNDLENBQUMsY0FBYyxFQUFFO1lBQ3hGLE1BQU0sSUFBSSxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQztTQUMxRTtRQUNELElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRSxHQUFHLGtEQUFzQyxDQUFDLEtBQUssRUFBRTtZQUN0RSxNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7U0FDakU7UUFDRCxJQUNFLHdCQUF3QixDQUFDLFNBQVMsRUFBRTtZQUNwQyxrREFBc0MsQ0FBQyxvQkFBb0IsRUFDM0Q7WUFDQSxNQUFNLElBQUksS0FBSyxDQUFDLDZEQUE2RCxDQUFDLENBQUM7U0FDaEY7UUFFRCxvRUFBb0U7UUFDcEUsb0RBQW9EO1FBQ3BELE1BQU0sUUFBUSxHQUFHLDRCQUFRLENBQUMsc0JBQXNCLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztRQUUxRSxNQUFNLGFBQWEsR0FBRyw0QkFBUSxDQUM1Qiw0QkFBUSxDQUNOLFFBQVEsRUFDUixtQkFBbUIsQ0FDcEIsRUFDRCxXQUFXLENBQ1osQ0FBQztRQUNGLE1BQU0sYUFBYSxHQUFHLElBQUksZUFBRSxDQUFDLGtCQUFrQixDQUFDO2FBQzdDLE1BQU0sQ0FBQyxrREFBc0MsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUM7YUFDcEYsTUFBTSxDQUFDLGtEQUFzQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQzthQUNsRixNQUFNLENBQUMsa0RBQXNDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sYUFBYSxHQUFHLElBQUksZUFBRSxDQUFDLDJCQUEyQixDQUFDO2FBQ3RELE1BQU0sQ0FBQyxrREFBc0MsQ0FBQyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7YUFDcEYsTUFBTSxDQUFDLGtEQUFzQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQzthQUNyRixNQUFNLENBQUMsa0RBQXNDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxJQUFJLENBQ3ZFLHdCQUF3QixDQUN6QjthQUNBLE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1FBRTdDLE9BQU8sNEJBQVEsQ0FDYiw0QkFBUSxDQUNOLGFBQWEsRUFDYixhQUFhLENBQ2QsRUFDRCxhQUFhLENBQ2QsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7Q0FDRjtBQWpHRCxrRUFpR0MifQ==

@@ -0,1 +1,2 @@

export declare const STARK_SIGNATURE_EXPIRATION_BUFFER_HOURS: number;
export declare const ORDER_FIELD_BIT_LENGTHS: {

@@ -8,3 +9,3 @@ assetIdSynthetic: number;

positionId: number;
expirationEpochSeconds: number;
expirationEpochHours: number;
};

@@ -16,3 +17,3 @@ export declare const WITHDRAWAL_FIELD_BIT_LENGTHS: {

quantumsAmount: number;
expirationEpochSeconds: number;
expirationEpochHours: number;
};

@@ -25,3 +26,3 @@ export declare const CONDITIONAL_TRANSFER_FIELD_BIT_LENGTHS: {

quantumsAmount: number;
expirationEpochSeconds: number;
expirationEpochHours: number;
condition: number;

@@ -28,0 +29,0 @@ };

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ORACLE_PRICE_FIELD_BIT_LENGTHS = exports.CONDITIONAL_TRANSFER_FIELD_BIT_LENGTHS = exports.WITHDRAWAL_FIELD_BIT_LENGTHS = exports.ORDER_FIELD_BIT_LENGTHS = void 0;
exports.ORACLE_PRICE_FIELD_BIT_LENGTHS = exports.CONDITIONAL_TRANSFER_FIELD_BIT_LENGTHS = exports.WITHDRAWAL_FIELD_BIT_LENGTHS = exports.ORDER_FIELD_BIT_LENGTHS = exports.STARK_SIGNATURE_EXPIRATION_BUFFER_HOURS = void 0;
exports.STARK_SIGNATURE_EXPIRATION_BUFFER_HOURS = 24 * 2; // Two days.
exports.ORDER_FIELD_BIT_LENGTHS = {

@@ -11,3 +12,3 @@ assetIdSynthetic: 128,

positionId: 64,
expirationEpochSeconds: 32,
expirationEpochHours: 32,
};

@@ -19,3 +20,3 @@ exports.WITHDRAWAL_FIELD_BIT_LENGTHS = {

quantumsAmount: 64,
expirationEpochSeconds: 32,
expirationEpochHours: 32,
};

@@ -28,3 +29,3 @@ exports.CONDITIONAL_TRANSFER_FIELD_BIT_LENGTHS = {

quantumsAmount: 64,
expirationEpochSeconds: 32,
expirationEpochHours: 32,
condition: 251,

@@ -38,2 +39,2 @@ };

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NpZ25hYmxlL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLHVCQUF1QixHQUFHO0lBQ3JDLGdCQUFnQixFQUFFLEdBQUc7SUFDckIsaUJBQWlCLEVBQUUsR0FBRztJQUN0QixVQUFVLEVBQUUsR0FBRztJQUNmLGNBQWMsRUFBRSxFQUFFO0lBQ2xCLEtBQUssRUFBRSxFQUFFO0lBQ1QsVUFBVSxFQUFFLEVBQUU7SUFDZCxzQkFBc0IsRUFBRSxFQUFFO0NBQzNCLENBQUM7QUFFVyxRQUFBLDRCQUE0QixHQUFHO0lBQzFDLE9BQU8sRUFBRSxHQUFHO0lBQ1osVUFBVSxFQUFFLEVBQUU7SUFDZCxLQUFLLEVBQUUsRUFBRTtJQUNULGNBQWMsRUFBRSxFQUFFO0lBQ2xCLHNCQUFzQixFQUFFLEVBQUU7Q0FDM0IsQ0FBQztBQUVXLFFBQUEsc0NBQXNDLEdBQUc7SUFDcEQsT0FBTyxFQUFFLEdBQUc7SUFDWixpQkFBaUIsRUFBRSxHQUFHO0lBQ3RCLFVBQVUsRUFBRSxFQUFFO0lBQ2QsS0FBSyxFQUFFLEVBQUU7SUFDVCxjQUFjLEVBQUUsRUFBRTtJQUNsQixzQkFBc0IsRUFBRSxFQUFFO0lBQzFCLFNBQVMsRUFBRSxHQUFHO0NBQ2YsQ0FBQztBQUVXLFFBQUEsOEJBQThCLEdBQUc7SUFDNUMsU0FBUyxFQUFFLEdBQUc7SUFDZCxVQUFVLEVBQUUsRUFBRTtJQUNkLEtBQUssRUFBRSxHQUFHO0lBQ1YscUJBQXFCLEVBQUUsRUFBRTtDQUMxQixDQUFDIn0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NpZ25hYmxlL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLHVDQUF1QyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxZQUFZO0FBRTlELFFBQUEsdUJBQXVCLEdBQUc7SUFDckMsZ0JBQWdCLEVBQUUsR0FBRztJQUNyQixpQkFBaUIsRUFBRSxHQUFHO0lBQ3RCLFVBQVUsRUFBRSxHQUFHO0lBQ2YsY0FBYyxFQUFFLEVBQUU7SUFDbEIsS0FBSyxFQUFFLEVBQUU7SUFDVCxVQUFVLEVBQUUsRUFBRTtJQUNkLG9CQUFvQixFQUFFLEVBQUU7Q0FDekIsQ0FBQztBQUVXLFFBQUEsNEJBQTRCLEdBQUc7SUFDMUMsT0FBTyxFQUFFLEdBQUc7SUFDWixVQUFVLEVBQUUsRUFBRTtJQUNkLEtBQUssRUFBRSxFQUFFO0lBQ1QsY0FBYyxFQUFFLEVBQUU7SUFDbEIsb0JBQW9CLEVBQUUsRUFBRTtDQUN6QixDQUFDO0FBRVcsUUFBQSxzQ0FBc0MsR0FBRztJQUNwRCxPQUFPLEVBQUUsR0FBRztJQUNaLGlCQUFpQixFQUFFLEdBQUc7SUFDdEIsVUFBVSxFQUFFLEVBQUU7SUFDZCxLQUFLLEVBQUUsRUFBRTtJQUNULGNBQWMsRUFBRSxFQUFFO0lBQ2xCLG9CQUFvQixFQUFFLEVBQUU7SUFDeEIsU0FBUyxFQUFFLEdBQUc7Q0FDZixDQUFDO0FBRVcsUUFBQSw4QkFBOEIsR0FBRztJQUM1QyxTQUFTLEVBQUUsR0FBRztJQUNkLFVBQVUsRUFBRSxFQUFFO0lBQ2QsS0FBSyxFQUFFLEdBQUc7SUFDVixxQkFBcUIsRUFBRSxFQUFFO0NBQzFCLENBQUMifQ==

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

const priceBn = util_1.decToBn(this.message.price);
const timestampEpochSecondsBn = util_1.decToBn(helpers_1.isoTimestampToEpochSeconds(this.message.isoTimestamp));
const timestampEpochSecondsBn = util_1.intToBn(helpers_1.isoTimestampToEpochSeconds(this.message.isoTimestamp));
const signedAssetId = util_1.hexToBn(this.message.signedAssetId);

@@ -47,2 +47,2 @@ if (priceBn.bitLength() > constants_1.ORACLE_PRICE_FIELD_BIT_LENGTHS.price) {

SignableOraclePrice.fromPrice = SignableOraclePrice.fromPriceWithAssetName; // Alias.
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JhY2xlLXByaWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NpZ25hYmxlL29yYWNsZS1wcmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSx3Q0FBd0Q7QUFDeEQsNERBQTJEO0FBQzNELHNDQUF5RDtBQUt6RCwyQ0FBNkQ7QUFDN0QscURBQWlEO0FBRWpEOztHQUVHO0FBQ0gsTUFBYSxtQkFBb0IsU0FBUSw4QkFBcUM7SUFJNUUsTUFBTSxDQUFDLHNCQUFzQixDQUMzQixNQUFnQztRQUVoQyxNQUFNLFdBQVcsR0FBRyxlQUFRLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSwwQ0FBOEIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6RixNQUFNLFlBQVksR0FBRyxlQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSwwQ0FBOEIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU1RixNQUFNLGFBQWEsR0FBRyxXQUFXO2FBQzlCLE1BQU0sQ0FBQywwQ0FBOEIsQ0FBQyxVQUFVLENBQUM7YUFDakQsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXRCLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQztZQUM3QixhQUFhLEVBQUUsYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDekMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO1lBQ25CLFlBQVksRUFBRSxNQUFNLENBQUMsWUFBWTtTQUNsQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLG9CQUFvQixDQUN6QixNQUE4QjtRQUU5QixPQUFPLElBQUksbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVTLGFBQWE7UUFDckIsTUFBTSxPQUFPLEdBQUcsY0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUMsTUFBTSx1QkFBdUIsR0FBRyxjQUFPLENBQUMsb0NBQTBCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQy9GLE1BQU0sYUFBYSxHQUFHLGNBQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTFELElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRSxHQUFHLDBDQUE4QixDQUFDLEtBQUssRUFBRTtZQUM5RCxNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7U0FDakU7UUFDRCxJQUNFLHVCQUF1QixDQUFDLFNBQVMsRUFBRSxHQUFHLDBDQUE4QixDQUFDLHFCQUFxQixFQUMxRjtZQUNBLE1BQU0sSUFBSSxLQUFLLENBQUMsOERBQThELENBQUMsQ0FBQztTQUNqRjtRQUVELE1BQU0saUJBQWlCLEdBQUcsT0FBTzthQUM5QixNQUFNLENBQUMsMENBQThCLENBQUMscUJBQXFCLENBQUM7YUFDNUQsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFFakMsT0FBTyxpQkFBUSxDQUFDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3BELENBQUM7O0FBOUNILGtEQStDQztBQTdDUSw2QkFBUyxHQUFHLG1CQUFtQixDQUFDLHNCQUFzQixDQUFDLENBQUMsU0FBUyJ9
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JhY2xlLXByaWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NpZ25hYmxlL29yYWNsZS1wcmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSx3Q0FBd0Q7QUFDeEQsNERBQTJEO0FBQzNELHNDQUtxQjtBQUtyQiwyQ0FBNkQ7QUFDN0QscURBQWlEO0FBRWpEOztHQUVHO0FBQ0gsTUFBYSxtQkFBb0IsU0FBUSw4QkFBcUM7SUFJNUUsTUFBTSxDQUFDLHNCQUFzQixDQUMzQixNQUFnQztRQUVoQyxNQUFNLFdBQVcsR0FBRyxlQUFRLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSwwQ0FBOEIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6RixNQUFNLFlBQVksR0FBRyxlQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSwwQ0FBOEIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU1RixNQUFNLGFBQWEsR0FBRyxXQUFXO2FBQzlCLE1BQU0sQ0FBQywwQ0FBOEIsQ0FBQyxVQUFVLENBQUM7YUFDakQsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXRCLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQztZQUM3QixhQUFhLEVBQUUsYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDekMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO1lBQ25CLFlBQVksRUFBRSxNQUFNLENBQUMsWUFBWTtTQUNsQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLG9CQUFvQixDQUN6QixNQUE4QjtRQUU5QixPQUFPLElBQUksbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVTLGFBQWE7UUFDckIsTUFBTSxPQUFPLEdBQUcsY0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUMsTUFBTSx1QkFBdUIsR0FBRyxjQUFPLENBQUMsb0NBQTBCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQy9GLE1BQU0sYUFBYSxHQUFHLGNBQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTFELElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRSxHQUFHLDBDQUE4QixDQUFDLEtBQUssRUFBRTtZQUM5RCxNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7U0FDakU7UUFDRCxJQUNFLHVCQUF1QixDQUFDLFNBQVMsRUFBRSxHQUFHLDBDQUE4QixDQUFDLHFCQUFxQixFQUMxRjtZQUNBLE1BQU0sSUFBSSxLQUFLLENBQUMsOERBQThELENBQUMsQ0FBQztTQUNqRjtRQUVELE1BQU0saUJBQWlCLEdBQUcsT0FBTzthQUM5QixNQUFNLENBQUMsMENBQThCLENBQUMscUJBQXFCLENBQUM7YUFDNUQsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFFakMsT0FBTyxpQkFBUSxDQUFDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3BELENBQUM7O0FBOUNILGtEQStDQztBQTdDUSw2QkFBUyxHQUFHLG1CQUFtQixDQUFDLHNCQUFzQixDQUFDLENBQUMsU0FBUyJ9

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

const assetIdFee = constants_1.ASSET_ID_MAP[constants_1.COLLATERAL_ASSET];
// Convert to a Unix timestamp (in seconds).
const expirationEpochSeconds = helpers_1.isoTimestampToEpochSeconds(order.expirationIsoTimestamp);
// Convert to a Unix timestamp (in hours) and add buffer to ensure signature is valid on-chain.
const expirationEpochHours = helpers_1.addOrderExpirationBufferHours(helpers_1.isoTimestampToEpochHours(order.expirationIsoTimestamp));
return new SignableOrder({

@@ -55,3 +55,3 @@ orderType,

isBuyingSynthetic,
expirationEpochSeconds,
expirationEpochHours,
});

@@ -68,3 +68,3 @@ }

const positionIdBn = util_1.decToBn(this.message.positionId);
const expirationEpochSecondsBn = util_1.decToBn(this.message.expirationEpochSeconds);
const expirationEpochSecondsBn = util_1.intToBn(this.message.expirationEpochHours);
const [assetIdSellBn, assetIdBuyBn] = this.message.isBuyingSynthetic

@@ -100,4 +100,4 @@ ? [assetIdCollateralBn, assetIdSyntheticBn]

}
if (expirationEpochSecondsBn.bitLength() > constants_2.ORDER_FIELD_BIT_LENGTHS.expirationEpochSeconds) {
throw new Error('SignableOrder: expirationEpochSeconds exceeds max value');
if (expirationEpochSecondsBn.bitLength() > constants_2.ORDER_FIELD_BIT_LENGTHS.expirationEpochHours) {
throw new Error('SignableOrder: expirationEpochHours exceeds max value');
}

@@ -112,3 +112,3 @@ const orderPart1 = new bn_js_1.default(quantumsAmountSellBn)

.iushln(constants_2.ORDER_FIELD_BIT_LENGTHS.positionId).iadd(positionIdBn) // Repeat (3/3).
.iushln(constants_2.ORDER_FIELD_BIT_LENGTHS.expirationEpochSeconds).iadd(expirationEpochSecondsBn)
.iushln(constants_2.ORDER_FIELD_BIT_LENGTHS.expirationEpochHours).iadd(expirationEpochSecondsBn)
.iushln(ORDER_PADDING_BITS);

@@ -124,2 +124,2 @@ const assetsBn = starkex_resources_1.pedersen(starkex_resources_1.pedersen(assetIdSellBn, assetIdBuyBn), assetIdFeeBn);

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

@@ -35,4 +35,4 @@ "use strict";

const quantumsAmount = helpers_1.toQuantumsExact(withdrawal.humanAmount, constants_1.COLLATERAL_ASSET);
// Convert to a Unix timestamp (in seconds).
const expirationEpochSeconds = helpers_1.isoTimestampToEpochSeconds(withdrawal.expirationIsoTimestamp);
// Convert to a Unix timestamp (in hours).
const expirationEpochHours = helpers_1.isoTimestampToEpochHours(withdrawal.expirationIsoTimestamp);
return new SignableWithdrawal({

@@ -42,3 +42,3 @@ positionId,

quantumsAmount,
expirationEpochSeconds,
expirationEpochHours,
});

@@ -50,3 +50,3 @@ }

const quantumsAmountBn = util_1.decToBn(this.message.quantumsAmount);
const expirationEpochSecondsBn = util_1.decToBn(this.message.expirationEpochSeconds);
const expirationEpochSecondsBn = util_1.intToBn(this.message.expirationEpochHours);
if (positionIdBn.bitLength() > constants_2.WITHDRAWAL_FIELD_BIT_LENGTHS.positionId) {

@@ -61,4 +61,4 @@ throw new Error('SignableOraclePrice: positionId exceeds max value');

}
if (expirationEpochSecondsBn.bitLength() > constants_2.WITHDRAWAL_FIELD_BIT_LENGTHS.expirationEpochSeconds) {
throw new Error('SignableOraclePrice: expirationEpochSeconds exceeds max value');
if (expirationEpochSecondsBn.bitLength() > constants_2.WITHDRAWAL_FIELD_BIT_LENGTHS.expirationEpochHours) {
throw new Error('SignableOraclePrice: expirationEpochHours exceeds max value');
}

@@ -69,3 +69,3 @@ const packedWithdrawalBn = new bn_js_1.default(WITHDRAWAL_PREFIX)

.iushln(constants_2.WITHDRAWAL_FIELD_BIT_LENGTHS.quantumsAmount).iadd(quantumsAmountBn)
.iushln(constants_2.WITHDRAWAL_FIELD_BIT_LENGTHS.expirationEpochSeconds).iadd(expirationEpochSecondsBn)
.iushln(constants_2.WITHDRAWAL_FIELD_BIT_LENGTHS.expirationEpochHours).iadd(expirationEpochSecondsBn)
.iushln(WITHDRAWAL_PADDING_BITS);

@@ -80,2 +80,2 @@ return starkex_resources_1.pedersen(COLLATERAL_ASSET_ID_BN, packedWithdrawalBn);

SignableWithdrawal.fromWithdrawal = SignableWithdrawal.fromWithdrawalWithClientId; // Alias.
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aGRyYXdhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWduYWJsZS93aXRoZHJhd2FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGtEQUF1QjtBQUV2Qiw0Q0FHc0I7QUFDdEIsd0NBSW9CO0FBQ3BCLGdFQUFvRDtBQUNwRCxzQ0FBK0M7QUFNL0MsMkNBQTJEO0FBQzNELHFEQUFpRDtBQUVqRCxNQUFNLHNCQUFzQixHQUFHLGNBQU8sQ0FBQywrQkFBbUIsQ0FBQyxDQUFDO0FBQzVELE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxDQUFDO0FBQzVCLE1BQU0sdUJBQXVCLEdBQUcsRUFBRSxDQUFDO0FBRW5DOztHQUVHO0FBQ0gsTUFBYSxrQkFBbUIsU0FBUSw4QkFBa0M7SUFJeEUsTUFBTSxDQUFDLDBCQUEwQixDQUMvQixVQUFrQztRQUVsQyxvREFBb0Q7UUFDcEQsTUFBTSxLQUFLLEdBQUcsMkJBQWlCLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sa0JBQWtCLENBQUMsdUJBQXVCLENBQUM7WUFDaEQsR0FBRyxVQUFVO1lBQ2IsUUFBUSxFQUFFLFNBQVM7WUFDbkIsS0FBSztTQUNOLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsdUJBQXVCLENBQzVCLFVBQStCO1FBRS9CLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUM7UUFDekMsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUUvQix1REFBdUQ7UUFDdkQsTUFBTSxjQUFjLEdBQUcseUJBQWUsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLDRCQUFnQixDQUFDLENBQUM7UUFFakYsNENBQTRDO1FBQzVDLE1BQU0sc0JBQXNCLEdBQUcsb0NBQTBCLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFFN0YsT0FBTyxJQUFJLGtCQUFrQixDQUFDO1lBQzVCLFVBQVU7WUFDVixLQUFLO1lBQ0wsY0FBYztZQUNkLHNCQUFzQjtTQUN2QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVMsYUFBYTtRQUNyQixNQUFNLFlBQVksR0FBRyxjQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0RCxNQUFNLE9BQU8sR0FBRyxjQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QyxNQUFNLGdCQUFnQixHQUFHLGNBQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzlELE1BQU0sd0JBQXdCLEdBQUcsY0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUU5RSxJQUFJLFlBQVksQ0FBQyxTQUFTLEVBQUUsR0FBRyx3Q0FBNEIsQ0FBQyxVQUFVLEVBQUU7WUFDdEUsTUFBTSxJQUFJLEtBQUssQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO1NBQ3RFO1FBQ0QsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFLEdBQUcsd0NBQTRCLENBQUMsS0FBSyxFQUFFO1lBQzVELE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQztTQUNqRTtRQUNELElBQUksZ0JBQWdCLENBQUMsU0FBUyxFQUFFLEdBQUcsd0NBQTRCLENBQUMsY0FBYyxFQUFFO1lBQzlFLE1BQU0sSUFBSSxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQztTQUMxRTtRQUNELElBQ0Usd0JBQXdCLENBQUMsU0FBUyxFQUFFLEdBQUcsd0NBQTRCLENBQUMsc0JBQXNCLEVBQzFGO1lBQ0EsTUFBTSxJQUFJLEtBQUssQ0FBQywrREFBK0QsQ0FBQyxDQUFDO1NBQ2xGO1FBRUQsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzthQUNqRCxNQUFNLENBQUMsd0NBQTRCLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQzthQUNsRSxNQUFNLENBQUMsd0NBQTRCLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQzthQUN4RCxNQUFNLENBQUMsd0NBQTRCLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO2FBQzFFLE1BQU0sQ0FBQyx3Q0FBNEIsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQzthQUMxRixNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUVuQyxPQUFPLDRCQUFRLENBQUMsc0JBQXNCLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDOztBQXJFSCxnREFzRUM7QUFwRVEsaUNBQWMsR0FBRyxrQkFBa0IsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLFNBQVMifQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aGRyYXdhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWduYWJsZS93aXRoZHJhd2FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGtEQUF1QjtBQUV2Qiw0Q0FHc0I7QUFDdEIsd0NBSW9CO0FBQ3BCLGdFQUFvRDtBQUNwRCxzQ0FJcUI7QUFNckIsMkNBQTJEO0FBQzNELHFEQUFpRDtBQUVqRCxNQUFNLHNCQUFzQixHQUFHLGNBQU8sQ0FBQywrQkFBbUIsQ0FBQyxDQUFDO0FBQzVELE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxDQUFDO0FBQzVCLE1BQU0sdUJBQXVCLEdBQUcsRUFBRSxDQUFDO0FBRW5DOztHQUVHO0FBQ0gsTUFBYSxrQkFBbUIsU0FBUSw4QkFBa0M7SUFJeEUsTUFBTSxDQUFDLDBCQUEwQixDQUMvQixVQUFrQztRQUVsQyxvREFBb0Q7UUFDcEQsTUFBTSxLQUFLLEdBQUcsMkJBQWlCLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sa0JBQWtCLENBQUMsdUJBQXVCLENBQUM7WUFDaEQsR0FBRyxVQUFVO1lBQ2IsUUFBUSxFQUFFLFNBQVM7WUFDbkIsS0FBSztTQUNOLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsdUJBQXVCLENBQzVCLFVBQStCO1FBRS9CLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUM7UUFDekMsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUUvQix1REFBdUQ7UUFDdkQsTUFBTSxjQUFjLEdBQUcseUJBQWUsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLDRCQUFnQixDQUFDLENBQUM7UUFFakYsMENBQTBDO1FBQzFDLE1BQU0sb0JBQW9CLEdBQUcsa0NBQXdCLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFFekYsT0FBTyxJQUFJLGtCQUFrQixDQUFDO1lBQzVCLFVBQVU7WUFDVixLQUFLO1lBQ0wsY0FBYztZQUNkLG9CQUFvQjtTQUNyQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVMsYUFBYTtRQUNyQixNQUFNLFlBQVksR0FBRyxjQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0RCxNQUFNLE9BQU8sR0FBRyxjQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QyxNQUFNLGdCQUFnQixHQUFHLGNBQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzlELE1BQU0sd0JBQXdCLEdBQUcsY0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUU1RSxJQUFJLFlBQVksQ0FBQyxTQUFTLEVBQUUsR0FBRyx3Q0FBNEIsQ0FBQyxVQUFVLEVBQUU7WUFDdEUsTUFBTSxJQUFJLEtBQUssQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO1NBQ3RFO1FBQ0QsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFLEdBQUcsd0NBQTRCLENBQUMsS0FBSyxFQUFFO1lBQzVELE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQztTQUNqRTtRQUNELElBQUksZ0JBQWdCLENBQUMsU0FBUyxFQUFFLEdBQUcsd0NBQTRCLENBQUMsY0FBYyxFQUFFO1lBQzlFLE1BQU0sSUFBSSxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQztTQUMxRTtRQUNELElBQ0Usd0JBQXdCLENBQUMsU0FBUyxFQUFFLEdBQUcsd0NBQTRCLENBQUMsb0JBQW9CLEVBQ3hGO1lBQ0EsTUFBTSxJQUFJLEtBQUssQ0FBQyw2REFBNkQsQ0FBQyxDQUFDO1NBQ2hGO1FBRUQsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzthQUNqRCxNQUFNLENBQUMsd0NBQTRCLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQzthQUNsRSxNQUFNLENBQUMsd0NBQTRCLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQzthQUN4RCxNQUFNLENBQUMsd0NBQTRCLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO2FBQzFFLE1BQU0sQ0FBQyx3Q0FBNEIsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQzthQUN4RixNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUVuQyxPQUFPLDRCQUFRLENBQUMsc0JBQXNCLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDOztBQXJFSCxnREFzRUM7QUFwRVEsaUNBQWMsR0FBRyxrQkFBa0IsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLFNBQVMifQ==

@@ -47,3 +47,3 @@ /// <reference types="node" />

nonce: string;
expirationEpochSeconds: string;
expirationEpochHours: number;
}

@@ -66,3 +66,3 @@ export interface ConditionalTransferParams {

nonce: string;
expirationEpochSeconds: string;
expirationEpochHours: number;
}

@@ -102,3 +102,3 @@ interface OrderParamsBase {

nonce: string;
expirationEpochSeconds: string;
expirationEpochHours: number;
}

@@ -105,0 +105,0 @@ export declare enum ApiMethod {

{
"name": "@dydxprotocol/starkex-lib",
"version": "0.7.0",
"version": "0.8.0",
"description": "Cryptographic functions for use with StarkEx",

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

@@ -10,5 +10,10 @@ /**

import { hexToBn } from '../lib/util';
import { ORDER_FIELD_BIT_LENGTHS } from '../signable/constants';
import {
ORDER_FIELD_BIT_LENGTHS,
STARK_SIGNATURE_EXPIRATION_BUFFER_HOURS,
} from '../signable/constants';
const MAX_NONCE = new BN(2).pow(new BN(ORDER_FIELD_BIT_LENGTHS.nonce));
const ONE_SECOND_MS = 1000;
const ONE_HOUR_MS = 60 * 60 * ONE_SECOND_MS;

@@ -23,4 +28,21 @@ /**

export function isoTimestampToEpochSeconds(isoTimestamp: string): string {
return `${Math.floor(new Date(isoTimestamp).getTime() / 1000)}`;
/**
* Convert an ISO timestamp to an epoch timestamp in seconds, rounding down.
*/
export function isoTimestampToEpochSeconds(isoTimestamp: string): number {
return Math.floor(new Date(isoTimestamp).getTime() / ONE_SECOND_MS);
}
/**
* Convert an ISO timestamp to an epoch timestamp in hours, rounding up.
*/
export function isoTimestampToEpochHours(isoTimestamp: string): number {
return Math.ceil(new Date(isoTimestamp).getTime() / ONE_HOUR_MS);
}
/**
* Add expiration buffer to ensure an order signature is valid when it arrives on-chain.
*/
export function addOrderExpirationBufferHours(expirationEpochHours: number): number {
return expirationEpochHours + STARK_SIGNATURE_EXPIRATION_BUFFER_HOURS;
}

@@ -73,2 +73,12 @@ import BN from 'bn.js';

/**
* Convert an integer number to a BN.
*/
export function intToBn(int: number): BN {
if (!Number.isInteger(int)) {
throw new Error('intToBn: Input is not an integer');
}
return new BN(int);
}
/**
* Convert a string to a BN equal to the left-aligned UTF-8 representation with a fixed bit length.

@@ -75,0 +85,0 @@ *

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

import {
isoTimestampToEpochSeconds,
isoTimestampToEpochHours,
nonceFromClientId,

@@ -18,2 +18,3 @@ toQuantumsExact,

hexToBn,
intToBn,
} from '../lib/util';

@@ -48,4 +49,4 @@ import {

// Convert to a Unix timestamp (in seconds).
const expirationEpochSeconds = isoTimestampToEpochSeconds(transfer.expirationIsoTimestamp);
// Convert to a Unix timestamp (in hours).
const expirationEpochHours = isoTimestampToEpochHours(transfer.expirationIsoTimestamp);

@@ -59,3 +60,3 @@ super({

nonce,
expirationEpochSeconds,
expirationEpochHours,
});

@@ -71,3 +72,3 @@ }

const nonceBn = decToBn(this.message.nonce);
const expirationEpochSecondsBn = decToBn(this.message.expirationEpochSeconds);
const expirationEpochSecondsBn = intToBn(this.message.expirationEpochHours);

@@ -98,5 +99,5 @@ if (senderPositionIdBn.bitLength() > CONDITIONAL_TRANSFER_FIELD_BIT_LENGTHS.positionId) {

expirationEpochSecondsBn.bitLength() >
CONDITIONAL_TRANSFER_FIELD_BIT_LENGTHS.expirationEpochSeconds
CONDITIONAL_TRANSFER_FIELD_BIT_LENGTHS.expirationEpochHours
) {
throw new Error('SignableOraclePrice: expirationEpochSeconds exceeds max value');
throw new Error('SignableOraclePrice: expirationEpochHours exceeds max value');
}

@@ -122,3 +123,3 @@

.iushln(CONDITIONAL_TRANSFER_FIELD_BIT_LENGTHS.quantumsAmount).iadd(MAX_AMOUNT_FEE_BN)
.iushln(CONDITIONAL_TRANSFER_FIELD_BIT_LENGTHS.expirationEpochSeconds).iadd(
.iushln(CONDITIONAL_TRANSFER_FIELD_BIT_LENGTHS.expirationEpochHours).iadd(
expirationEpochSecondsBn,

@@ -125,0 +126,0 @@ )

@@ -0,1 +1,3 @@

export const STARK_SIGNATURE_EXPIRATION_BUFFER_HOURS = 24 * 2; // Two days.
export const ORDER_FIELD_BIT_LENGTHS = {

@@ -8,3 +10,3 @@ assetIdSynthetic: 128,

positionId: 64,
expirationEpochSeconds: 32,
expirationEpochHours: 32,
};

@@ -17,3 +19,3 @@

quantumsAmount: 64,
expirationEpochSeconds: 32,
expirationEpochHours: 32,
};

@@ -27,3 +29,3 @@

quantumsAmount: 64,
expirationEpochSeconds: 32,
expirationEpochHours: 32,
condition: 251,

@@ -30,0 +32,0 @@ };

@@ -5,4 +5,9 @@ import BN from 'bn.js';

import { pedersen } from '../lib/starkex-resources/crypto';
import { decToBn, hexToBn, utf8ToBn } from '../lib/util';
import {
decToBn,
hexToBn,
intToBn,
utf8ToBn,
} from '../lib/util';
import {
OraclePriceWithAssetName,

@@ -46,3 +51,3 @@ OraclePriceWithAssetId,

const priceBn = decToBn(this.message.price);
const timestampEpochSecondsBn = decToBn(isoTimestampToEpochSeconds(this.message.isoTimestamp));
const timestampEpochSecondsBn = intToBn(isoTimestampToEpochSeconds(this.message.isoTimestamp));
const signedAssetId = hexToBn(this.message.signedAssetId);

@@ -49,0 +54,0 @@

@@ -8,4 +8,5 @@ import BN from 'bn.js';

import {
addOrderExpirationBufferHours,
getStarkwareAmounts,
isoTimestampToEpochSeconds,
isoTimestampToEpochHours,
nonceFromClientId,

@@ -15,4 +16,8 @@ getStarkwareLimitFeeAmount,

import { pedersen } from '../lib/starkex-resources';
import { decToBn, hexToBn } from '../lib/util';
import {
decToBn,
hexToBn,
intToBn,
} from '../lib/util';
import {
OrderWithNonce,

@@ -75,4 +80,6 @@ OrderWithNonceAndQuoteAmount,

// Convert to a Unix timestamp (in seconds).
const expirationEpochSeconds = isoTimestampToEpochSeconds(order.expirationIsoTimestamp);
// Convert to a Unix timestamp (in hours) and add buffer to ensure signature is valid on-chain.
const expirationEpochHours = addOrderExpirationBufferHours(
isoTimestampToEpochHours(order.expirationIsoTimestamp),
);

@@ -90,3 +97,3 @@ return new SignableOrder({

isBuyingSynthetic,
expirationEpochSeconds,
expirationEpochHours,
});

@@ -104,3 +111,3 @@ }

const positionIdBn = decToBn(this.message.positionId);
const expirationEpochSecondsBn = decToBn(this.message.expirationEpochSeconds);
const expirationEpochSecondsBn = intToBn(this.message.expirationEpochHours);

@@ -138,4 +145,4 @@ const [assetIdSellBn, assetIdBuyBn] = this.message.isBuyingSynthetic

}
if (expirationEpochSecondsBn.bitLength() > ORDER_FIELD_BIT_LENGTHS.expirationEpochSeconds) {
throw new Error('SignableOrder: expirationEpochSeconds exceeds max value');
if (expirationEpochSecondsBn.bitLength() > ORDER_FIELD_BIT_LENGTHS.expirationEpochHours) {
throw new Error('SignableOrder: expirationEpochHours exceeds max value');
}

@@ -152,3 +159,3 @@

.iushln(ORDER_FIELD_BIT_LENGTHS.positionId).iadd(positionIdBn) // Repeat (3/3).
.iushln(ORDER_FIELD_BIT_LENGTHS.expirationEpochSeconds).iadd(expirationEpochSecondsBn)
.iushln(ORDER_FIELD_BIT_LENGTHS.expirationEpochHours).iadd(expirationEpochSecondsBn)
.iushln(ORDER_PADDING_BITS);

@@ -155,0 +162,0 @@

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

import {
isoTimestampToEpochSeconds,
isoTimestampToEpochHours,
nonceFromClientId,

@@ -14,4 +14,8 @@ toQuantumsExact,

import { pedersen } from '../lib/starkex-resources';
import { decToBn, hexToBn } from '../lib/util';
import {
decToBn,
hexToBn,
intToBn,
} from '../lib/util';
import {
StarkwareWithdrawal,

@@ -56,4 +60,4 @@ WithdrawalWithNonce,

// Convert to a Unix timestamp (in seconds).
const expirationEpochSeconds = isoTimestampToEpochSeconds(withdrawal.expirationIsoTimestamp);
// Convert to a Unix timestamp (in hours).
const expirationEpochHours = isoTimestampToEpochHours(withdrawal.expirationIsoTimestamp);

@@ -64,3 +68,3 @@ return new SignableWithdrawal({

quantumsAmount,
expirationEpochSeconds,
expirationEpochHours,
});

@@ -73,3 +77,3 @@ }

const quantumsAmountBn = decToBn(this.message.quantumsAmount);
const expirationEpochSecondsBn = decToBn(this.message.expirationEpochSeconds);
const expirationEpochSecondsBn = intToBn(this.message.expirationEpochHours);

@@ -86,5 +90,5 @@ if (positionIdBn.bitLength() > WITHDRAWAL_FIELD_BIT_LENGTHS.positionId) {

if (
expirationEpochSecondsBn.bitLength() > WITHDRAWAL_FIELD_BIT_LENGTHS.expirationEpochSeconds
expirationEpochSecondsBn.bitLength() > WITHDRAWAL_FIELD_BIT_LENGTHS.expirationEpochHours
) {
throw new Error('SignableOraclePrice: expirationEpochSeconds exceeds max value');
throw new Error('SignableOraclePrice: expirationEpochHours exceeds max value');
}

@@ -96,3 +100,3 @@

.iushln(WITHDRAWAL_FIELD_BIT_LENGTHS.quantumsAmount).iadd(quantumsAmountBn)
.iushln(WITHDRAWAL_FIELD_BIT_LENGTHS.expirationEpochSeconds).iadd(expirationEpochSecondsBn)
.iushln(WITHDRAWAL_FIELD_BIT_LENGTHS.expirationEpochHours).iadd(expirationEpochSecondsBn)
.iushln(WITHDRAWAL_PADDING_BITS);

@@ -99,0 +103,0 @@

@@ -58,3 +58,3 @@ export enum StarkwareOrderType {

nonce: string; // For signature. A base-10 integer.
expirationEpochSeconds: string;
expirationEpochHours: number;
}

@@ -81,3 +81,3 @@

nonce: string; // For signature. A base-10 integer.
expirationEpochSeconds: string;
expirationEpochHours: number;
}

@@ -125,3 +125,3 @@

nonce: string; // For signature. A base-10 integer.
expirationEpochSeconds: string;
expirationEpochHours: number;
}

@@ -128,0 +128,0 @@

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