@dydxprotocol/starkex-lib
Advanced tools
Comparing version 0.2.6 to 0.3.0
@@ -9,2 +9,3 @@ /** | ||
import Big from 'big.js'; | ||
import _ from 'lodash'; | ||
@@ -14,2 +15,3 @@ | ||
InternalOrder, | ||
InternalOrderWithPriceAndClientId, | ||
KeyPair, | ||
@@ -21,2 +23,3 @@ OrderSide, | ||
import { generateKeyPair } from '../src/keys'; | ||
import { nonceFromClientId } from '../src/helpers'; | ||
import { normalizeHex } from '../src/util'; | ||
@@ -90,5 +93,31 @@ | ||
it('signs an order with quoteAmount instead of price', () => { | ||
const originalOrder = signatureExample.order as InternalOrder; | ||
const order: InternalOrder = { | ||
...originalOrder, | ||
quoteAmount: new Big(originalOrder.size).times(originalOrder.price!).toFixed(), | ||
price: undefined, | ||
}; | ||
const privateKey: string = signatureExample.keyPair.privateKey; | ||
const expectedSignature: string = signatureExample.signature; | ||
const signature: string = Order.fromInternal(order).sign(privateKey); | ||
expect(signature).toEqual(expectedSignature); | ||
}); | ||
it('signs an order with nonce instead of clientId', () => { | ||
const originalOrder = signatureExample.order as InternalOrder; | ||
const order: InternalOrder = { | ||
...originalOrder, | ||
nonce: nonceFromClientId(originalOrder.clientId!), | ||
clientId: undefined, | ||
}; | ||
const privateKey: string = signatureExample.keyPair.privateKey; | ||
const expectedSignature: string = signatureExample.signature; | ||
const signature: string = Order.fromInternal(order).sign(privateKey); | ||
expect(signature).toEqual(expectedSignature); | ||
}); | ||
it('generates a different signature when the client ID is different', () => { | ||
const privateKey: string = signatureExample.keyPair.privateKey; | ||
const order: InternalOrder = signatureExample.order as InternalOrder; | ||
const order = signatureExample.order as InternalOrderWithPriceAndClientId; | ||
const newOrder = { | ||
@@ -95,0 +124,0 @@ ...order, |
@@ -13,5 +13,7 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const big_js_1 = __importDefault(require("big.js")); | ||
const lodash_1 = __importDefault(require("lodash")); | ||
const types_1 = require("../src/types"); | ||
const keys_1 = require("../src/keys"); | ||
const helpers_1 = require("../src/helpers"); | ||
const util_1 = require("../src/util"); | ||
@@ -71,2 +73,26 @@ // Module under test. | ||
}); | ||
it('signs an order with quoteAmount instead of price', () => { | ||
const originalOrder = signature_example_json_1.default.order; | ||
const order = { | ||
...originalOrder, | ||
quoteAmount: new big_js_1.default(originalOrder.size).times(originalOrder.price).toFixed(), | ||
price: undefined, | ||
}; | ||
const privateKey = signature_example_json_1.default.keyPair.privateKey; | ||
const expectedSignature = signature_example_json_1.default.signature; | ||
const signature = order_1.default.fromInternal(order).sign(privateKey); | ||
expect(signature).toEqual(expectedSignature); | ||
}); | ||
it('signs an order with nonce instead of clientId', () => { | ||
const originalOrder = signature_example_json_1.default.order; | ||
const order = { | ||
...originalOrder, | ||
nonce: helpers_1.nonceFromClientId(originalOrder.clientId), | ||
clientId: undefined, | ||
}; | ||
const privateKey = signature_example_json_1.default.keyPair.privateKey; | ||
const expectedSignature = signature_example_json_1.default.signature; | ||
const signature = order_1.default.fromInternal(order).sign(privateKey); | ||
expect(signature).toEqual(expectedSignature); | ||
}); | ||
it('generates a different signature when the client ID is different', () => { | ||
@@ -158,2 +184,2 @@ const privateKey = signature_example_json_1.default.keyPair.privateKey; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXJzLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9fX3Rlc3RzX18vb3JkZXJzLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7Ozs7QUFFSCxvREFBdUI7QUFFdkIsd0NBTXNCO0FBQ3RCLHNDQUE4QztBQUM5QyxzQ0FBMkM7QUFFM0MscUJBQXFCO0FBQ3JCLHlEQUFpQztBQUVqQyxlQUFlO0FBQ2YsMkZBQTZEO0FBRTdELE1BQU0sYUFBYSxHQUFZLGdCQUFDLENBQUMsU0FBUyxDQUFDLGdDQUFnQixDQUFDLE9BQU8sRUFBRSxtQkFBWSxDQUFDLENBQUM7QUFFbkYsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7SUFFdEIsUUFBUSxDQUFDLG1CQUFtQixFQUFFLEdBQUcsRUFBRTtRQUVqQyxFQUFFLENBQUMsNkNBQTZDLEVBQUUsR0FBRyxFQUFFO1lBQ3JELE1BQU0sS0FBSyxHQUFrQjtnQkFDM0IsR0FBSSxnQ0FBZ0IsQ0FBQyxLQUF1QjtnQkFDNUMsUUFBUSxFQUFFLGdDQUFnQixDQUFDLFlBQVksQ0FBQyxTQUFTO2FBQ2xELENBQUM7WUFDRixNQUFNLE1BQU0sR0FBRyxlQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLGVBQWUsQ0FBQyxnQ0FBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUMxRixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDRDQUE0QyxFQUFFLEdBQUcsRUFBRTtZQUNwRCxNQUFNLEtBQUssR0FBa0IsZ0NBQWdCLENBQUMsS0FBc0IsQ0FBQztZQUNyRSxNQUFNLFNBQVMsR0FBVyxnQ0FBZ0IsQ0FBQyxTQUFTLENBQUM7WUFDckQsTUFBTSxNQUFNLEdBQUcsZUFBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxlQUFlLENBQUMs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 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXJzLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9fX3Rlc3RzX18vb3JkZXJzLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7Ozs7QUFFSCxvREFBeUI7QUFDekIsb0RBQXVCO0FBRXZCLHdDQU9zQjtBQUN0QixzQ0FBOEM7QUFDOUMsNENBQW1EO0FBQ25ELHNDQUEyQztBQUUzQyxxQkFBcUI7QUFDckIseURBQWlDO0FBRWpDLGVBQWU7QUFDZiwyRkFBNkQ7QUFFN0QsTUFBTSxhQUFhLEdBQVksZ0JBQUMsQ0FBQyxTQUFTLENBQUMsZ0NBQWdCLENBQUMsT0FBTyxFQUFFLG1CQUFZLENBQUMsQ0FBQztBQUVuRixRQUFRLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRTtJQUV0QixRQUFRLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxFQUFFO1FBRWpDLEVBQUUsQ0FBQyw2Q0FBNkMsRUFBRSxHQUFHLEVBQUU7WUFDckQsTUFBTSxLQUFLLEdBQWtCO2dCQUMzQixHQUFJLGdDQUFnQixDQUFDLEtBQXVCO2dCQUM1QyxRQUFRLEVBQUUsZ0NBQWdCLENBQUMsWUFBWSxDQUFDLFNBQVM7YUFDbEQsQ0FBQztZQUNGLE1BQU0sTUFBTSxHQUFHLGVBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsZUFBZSxDQUFDLGdDQUFnQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQzFGLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsNENBQTRDLEVBQUUsR0FBRyxFQUFFO1lBQ3BELE1BQU0sS0FBSyxHQUFrQixnQ0FBZ0IsQ0FBQyxLQUFzQixDQUFDO1lBQ3JFLE1BQU0sU0FBUyxHQUFXLGdDQUFnQixDQUFDLFNBQVMsQ0FBQztZQUNyRCxNQUFNLE1BQU0sR0FBRyxlQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNwRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHdDQUF3QyxFQUFFLEdBQUcsRUFBRTtZQUNoRCxNQUFNLEtBQUssR0FBa0IsZ0NBQWdCLENBQUMsS0FBc0IsQ0FBQztZQUNyRSxNQUFNLFNBQVMsR0FBVyxnQ0FBZ0IsQ0FBQyxTQUFTLENBQUM7WUFFckQsa0NBQWtDO1lBQ2xDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQzFCLE1BQU0sWUFBWSxHQUFXLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDN0QsTUFBTSxNQUFNLEdBQUcsZUFBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ3ZFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDNUI7WUFFRCxrQ0FBa0M7WUFDbEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDMUIsTUFBTSxZQUFZLEdBQVcsaUJBQWlCLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDbEUsTUFBTSxNQUFNLEdBQUcsZUFBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ3ZFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDNUI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7UUFFdEIsRUFBRSxDQUFDLGdCQUFnQixFQUFFLEdBQUcsRUFBRTtZQUN4QixNQUFNLEtBQUssR0FBa0IsZ0NBQWdCLENBQUMsS0FBc0IsQ0FBQztZQUNyRSxNQUFNLFVBQVUsR0FBVyxnQ0FBZ0IsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1lBQy9ELE1BQU0saUJBQWlCLEdBQVcsZ0NBQWdCLENBQUMsU0FBUyxDQUFDO1lBQzdELE1BQU0sU0FBUyxHQUFXLGVBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3JFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUMvQyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSxHQUFHLEVBQUU7WUFDakMsTUFBTSxLQUFLLEdBQWtCLGdDQUFnQixDQUFDLEtBQXNCLENBQUM7WUFDckUsTUFBTSxVQUFVLEdBQVcsZ0NBQWdCLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQztZQUNwRSxNQUFNLGlCQUFpQixHQUFXLGdDQUFnQixDQUFDLGNBQWMsQ0FBQztZQUNsRSxNQUFNLFNBQVMsR0FBVyxlQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNyRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsa0RBQWtELEVBQUUsR0FBRyxFQUFFO1lBQzFELE1BQU0sYUFBYSxHQUFHLGdDQUFnQixDQUFDLEtBQXNCLENBQUM7WUFDOUQsTUFBTSxLQUFLLEdBQWtCO2dCQUMzQixHQUFHLGFBQWE7Z0JBQ2hCLFdBQVcsRUFBRSxJQUFJLGdCQUFHLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBTSxDQUFDLENBQUMsT0FBTyxFQUFFO2dCQUM5RSxLQUFLLEVBQUUsU0FBUzthQUNqQixDQUFDO1lBQ0YsTUFBTSxVQUFVLEdBQVcsZ0NBQWdCLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztZQUMvRCxNQUFNLGlCQUFpQixHQUFXLGdDQUFnQixDQUFDLFNBQVMsQ0FBQztZQUM3RCxNQUFNLFNBQVMsR0FBVyxlQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNyRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsK0NBQStDLEVBQUUsR0FBRyxFQUFFO1lBQ3ZELE1BQU0sYUFBYSxHQUFHLGdDQUFnQixDQUFDLEtBQXNCLENBQUM7WUFDOUQsTUFBTSxLQUFLLEdBQWtCO2dCQUMzQixHQUFHLGFBQWE7Z0JBQ2hCLEtBQUssRUFBRSwyQkFBaUIsQ0FBQyxhQUFhLENBQUMsUUFBUyxDQUFDO2dCQUNqRCxRQUFRLEVBQUUsU0FBUzthQUNwQixDQUFDO1lBQ0YsTUFBTSxVQUFVLEdBQVcsZ0NBQWdCLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztZQUMvRCxNQUFNLGlCQUFpQixHQUFXLGdDQUFnQixDQUFDLFNBQVMsQ0FBQztZQUM3RCxNQUFNLFNBQVMsR0FBVyxlQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNyRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsaUVBQWlFLEVBQUUsR0FBRyxFQUFFO1lBQ3pFLE1BQU0sVUFBVSxHQUFXLGdDQUFnQixDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7WUFDL0QsTUFBTSxLQUFLLEdBQUcsZ0NBQWdCLENBQUMsS0FBMEMsQ0FBQztZQUMxRSxNQUFNLFFBQVEsR0FBRztnQkFDZixHQUFHLEtBQUs7Z0JBQ1IsUUFBUSxFQUFFLEdBQUcsS0FBSyxDQUFDLFFBQVEsR0FBRzthQUMvQixDQUFDO1lBQ0YsTUFBTSxZQUFZLEdBQUcsZUFBSyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDbkUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsa0RBQWtELEVBQUUsR0FBRyxFQUFFO1lBQzFELE1BQU0sVUFBVSxHQUFXLGdDQUFnQixDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7WUFDL0QsTUFBTSxLQUFLLEdBQWtCLGdDQUFnQixDQUFDLEtBQXNCLENBQUM7WUFDckUsTUFBTSxRQUFRLEdBQUc7Z0JBQ2YsR0FBRyxLQUFLO2dCQUNSLElBQUksRUFBRSxpQkFBUyxDQUFDLElBQUk7YUFDckIsQ0FBQztZQUNGLE1BQU0sWUFBWSxHQUFHLGVBQUssQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ25FLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2xELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGtFQUFrRSxFQUFFLEdBQUcsRUFBRTtZQUMxRSxNQUFNLFVBQVUsR0FBVyxnQ0FBZ0IsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1lBQy9ELE1BQU0sS0FBSyxHQUFrQixnQ0FBZ0IsQ0FBQyxLQUFzQixDQUFDO1lBQ3JFLE1BQU0sUUFBUSxHQUFrQjtnQkFDOUIsR0FBRyxLQUFLO2dCQUNSLFVBQVUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7YUFDbkUsQ0FBQztZQUNGLE1BQU0sWUFBWSxHQUFHLGVBQUssQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ25FLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2xELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsZUFBZSxFQUFFLEdBQUcsRUFBRTtRQUU3QixFQUFFLENBQUMsd0JBQXdCLEVBQUUsR0FBRyxFQUFFO1lBQ2hDLE1BQU0sS0FBSyxHQUFrQixnQ0FBZ0IsQ0FBQyxLQUFzQixDQUFDO1lBQ3JFLE1BQU0sY0FBYyxHQUFtQixlQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQy9FLE1BQU0sQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQzlELE1BQU0sQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDL0QsTUFBTSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsaUNBQWlDLEVBQUUsR0FBRyxFQUFFO1lBQ3pDLE1BQU0sS0FBSyxHQUFrQjtnQkFDM0IsR0FBSSxnQ0FBZ0IsQ0FBQyxLQUF1QjtnQkFDNUMsTUFBTSxFQUFFLGFBQWdDO2FBQ3pDLENBQUM7WUFDRixNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xGLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTtRQUNwQixNQUFNLGFBQWEsR0FBa0IsZ0NBQWdCLENBQUMsS0FBc0IsQ0FBQztRQUU3RSxzQkFBc0I7UUFDdEIsSUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ25CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDMUIsTUFBTSxPQUFPLEdBQVksc0JBQWUsRUFBRSxDQUFDO1lBRTNDLGdGQUFnRjtZQUNoRixNQUFNLEtBQUssR0FBRyxlQUFLLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ2hELE1BQU0sZ0JBQWdCLEdBQVcsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDaEUsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLEVBQUU7Z0JBQzNDLHlDQUF5QztnQkFDekMsT0FBTyxDQUFDLEdBQUcsQ0FDVCwrQkFBK0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRztvQkFDekQsaUJBQWlCLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUNwRCxDQUFDO2dCQUNGLE1BQU0sR0FBRyxJQUFJLENBQUM7YUFDZjtZQUVELGlFQUFpRTtZQUNqRSxNQUFNLFFBQVEsR0FBRyxlQUFLLENBQUMsWUFBWSxDQUFDO2dCQUNsQyxHQUFHLGFBQWE7Z0JBQ2hCLFFBQVEsRUFBRSxPQUFPLENBQUMsU0FBUzthQUM1QixDQUFDLENBQUM7WUFDSCxNQUFNLGNBQWMsR0FBVyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNqRSxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsRUFBRTtnQkFDN0MseUNBQXlDO2dCQUN6QyxPQUFPLENBQUMsR0FBRyxDQUNULDZCQUE2QixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHO29CQUN2RCxpQkFBaUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUNsRCxDQUFDO2dCQUNGLE1BQU0sR0FBRyxJQUFJLENBQUM7YUFDZjtTQUNGO1FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDO0FBRUg7O0dBRUc7QUFDSCxTQUFTLGlCQUFpQixDQUFDLENBQVMsRUFBRSxDQUFTO0lBQzdDLE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEUsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNoRSxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIn0= |
/** | ||
* Helper functions exported by starkex-lib. | ||
*/ | ||
import { EcKeyPair, EcPublicKey, KeyPair, OrderSide, PerpetualMarket, SignatureStruct, Asset } from './types'; | ||
import { Asset, EcKeyPair, EcPublicKey, InternalOrder, KeyPair, SignatureStruct, StarkwareAmounts } from './types'; | ||
/** | ||
@@ -51,10 +51,6 @@ * Helper for if you want to access additional cryptographic functionality with a private key. | ||
* Get Starkware order fields, given paramters from an order and/or fill. | ||
* | ||
* Must provide either quoteAmount or price. | ||
*/ | ||
export declare function getStarkwareAmounts(market: PerpetualMarket, side: OrderSide, size: string, price: string): { | ||
amountSynthetic: string; | ||
amountCollateral: string; | ||
assetIdSynthetic: Asset; | ||
assetIdCollateral: Asset; | ||
isBuyingSynthetic: boolean; | ||
}; | ||
export declare function getStarkwareAmounts(params: Pick<InternalOrder, 'market' | 'side' | 'size' | 'quoteAmount' | 'price'>): StarkwareAmounts; | ||
/** | ||
@@ -61,0 +57,0 @@ * Generate a nonce deterministically from an ID set on the order by the client. |
@@ -130,4 +130,8 @@ "use strict"; | ||
* Get Starkware order fields, given paramters from an order and/or fill. | ||
* | ||
* Must provide either quoteAmount or price. | ||
*/ | ||
function getStarkwareAmounts(market, side, size, price) { | ||
function getStarkwareAmounts(params) { | ||
const { market, side, size, quoteAmount, price, } = params; | ||
// Determine side and assets. | ||
const isBuyingSynthetic = side === types_1.OrderSide.BUY; | ||
@@ -139,3 +143,6 @@ const assetIdSynthetic = constants_1.BASE_TOKEN[market]; | ||
const assetIdCollateral = constants_1.MARGIN_TOKEN; | ||
const cost = new big_js_1.default(size).times(price).toFixed(); | ||
// Determine amounts. | ||
const cost = typeof quoteAmount === 'string' | ||
? quoteAmount | ||
: new big_js_1.default(size).times(price).toFixed(); // Safe non-null assertion based on InternalOrder type. | ||
const amountSynthetic = toQuantum(size, assetIdSynthetic); | ||
@@ -165,2 +172,2 @@ const amountCollateral = toQuantum(cost, assetIdCollateral); | ||
exports.nonceFromClientId = nonceFromClientId; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVILG9EQUFnQztBQUVoQyxvREFBeUI7QUFDekIsa0RBQXVCO0FBQ3ZCLHlEQUEyQztBQUUzQywyQ0FLcUI7QUFDckIsbUNBUWlCO0FBQ2pCLGlDQUdnQjtBQUVoQjs7R0FFRztBQUNILFNBQWdCLFdBQVcsQ0FDekIsbUJBQXFDO0lBRXJDLE1BQU0sVUFBVSxHQUFXLE9BQU8sbUJBQW1CLEtBQUssUUFBUTtRQUNoRSxDQUFDLENBQUMsbUJBQW1CO1FBQ3JCLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUM7SUFDbkMsT0FBTyxNQUFNLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxtQkFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDNUQsQ0FBQztBQVBELGtDQU9DO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixpQkFBaUIsQ0FDL0IsU0FBaUIsRUFDakIsS0FBYztJQUVkLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDbkMsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLE1BQU0sR0FBRyxtQkFBWSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7SUFFaEUsMERBQTBEO0lBQzFELDJHQUEyRztJQUMzRyxFQUFFO0lBQ0Ysa0RBQWtEO0lBQ2xELDZKQUE2SjtJQUM3SixPQUFPLE1BQU0sQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzNELENBQUM7QUFiRCw4Q0FhQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixlQUFlLENBQzdCLFNBQW9CO0lBRXBCLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxVQUFVLEVBQUUs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 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVILG9EQUFnQztBQUVoQyxvREFBeUI7QUFDekIsa0RBQXVCO0FBQ3ZCLHlEQUEyQztBQUUzQywyQ0FLcUI7QUFDckIsbUNBU2lCO0FBQ2pCLGlDQUdnQjtBQUVoQjs7R0FFRztBQUNILFNBQWdCLFdBQVcsQ0FDekIsbUJBQXFDO0lBRXJDLE1BQU0sVUFBVSxHQUFXLE9BQU8sbUJBQW1CLEtBQUssUUFBUTtRQUNoRSxDQUFDLENBQUMsbUJBQW1CO1FBQ3JCLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUM7SUFDbkMsT0FBTyxNQUFNLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxtQkFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDNUQsQ0FBQztBQVBELGtDQU9DO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixpQkFBaUIsQ0FDL0IsU0FBaUIsRUFDakIsS0FBYztJQUVkLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDbkMsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLE1BQU0sR0FBRyxtQkFBWSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7SUFFaEUsMERBQTBEO0lBQzFELDJHQUEyRztJQUMzRyxFQUFFO0lBQ0Ysa0RBQWtEO0lBQ2xELDZKQUE2SjtJQUM3SixPQUFPLE1BQU0sQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzNELENBQUM7QUFiRCw4Q0FhQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixlQUFlLENBQzdCLFNBQW9CO0lBRXBCLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxVQUFVLEVBQUUs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 |
@@ -40,4 +40,6 @@ "use strict"; | ||
const orderType = types_1.OrderType.LIMIT; | ||
// Make the nonce by hashing the client-provided ID. Does not need to be a secure hash. | ||
const nonce = helpers_1.nonceFromClientId(order.clientId); | ||
// Nonce may be created by hashing the client-provided ID. Does not need to be a secure hash. | ||
const nonce = typeof order.nonce === 'string' | ||
? order.nonce | ||
: helpers_1.nonceFromClientId(order.clientId); // Safe non-null assertion based on InternalOrder type. | ||
// This is the public key x-coordinate as a hex string, without 0x prefix. | ||
@@ -47,3 +49,3 @@ const publicKey = order.starkKey; | ||
// well-defined and applied consistently. | ||
const { amountSynthetic, amountCollateral, assetIdSynthetic, assetIdCollateral, isBuyingSynthetic, } = helpers_1.getStarkwareAmounts(order.market, order.side, order.size, order.price); | ||
const { amountSynthetic, amountCollateral, assetIdSynthetic, assetIdCollateral, isBuyingSynthetic, } = helpers_1.getStarkwareAmounts(order); | ||
// The fee is an amount, not a percentage, and is always denominated in the margin token. | ||
@@ -104,2 +106,2 @@ const amountFee = helpers_1.toQuantum(order.limitFee, constants_1.MARGIN_TOKEN); | ||
exports.default = Order; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvb3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0RBQTRCO0FBRTVCLGtEQUF1QjtBQUN2Qix5REFBMkM7QUFFM0MsMkNBS3FCO0FBQ3JCLHVDQUltQjtBQUNuQiwwREFBa0M7QUFDbEMsbUNBSWlCO0FBQ2pCLGlDQUVnQjtBQUVoQjs7R0FFRztBQUNILE1BQXFCLEtBQU0sU0FBUSxrQkFBd0I7SUFFekQsTUFBTSxDQUFDLFlBQVksQ0FDakIsS0FBb0I7UUFFcEIsNkRBQTZEO1FBQzdELE1BQU0sU0FBUyxHQUFHLGlCQUFTLENBQUMsS0FBSyxDQUFDO1FBRWxDLHVGQUF1RjtRQUN2RixNQUFNLEtBQUssR0FBRywyQkFBaUIsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFaEQsMEVBQTBFO1FBQzFFLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFFakMsbUZBQW1GO1FBQ25GLHlDQUF5QztRQUN6QyxNQUFNLEVBQ0osZUFBZSxFQUNmLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLGlCQUFpQixHQUNsQixHQUFHLDZCQUFtQixDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUzRSx5RkFBeUY7UUFDekYsTUFBTSxTQUFTLEdBQUcsbUJBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLHdCQUFZLENBQUMsQ0FBQztRQUUxRCxnREFBZ0Q7UUFDaEQsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQztRQUVwQyxtREFBbUQ7UUFDbkQsMENBQTBDO1FBQzFDLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElB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 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvb3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0RBQTRCO0FBRTVCLGtEQUF1QjtBQUN2Qix5REFBMkM7QUFFM0MsMkNBS3FCO0FBQ3JCLHVDQUltQjtBQUNuQiwwREFBa0M7QUFDbEMsbUNBSWlCO0FBQ2pCLGlDQUVnQjtBQUVoQjs7R0FFRztBQUNILE1BQXFCLEtBQU0sU0FBUSxrQkFBd0I7SUFFekQsTUFBTSxDQUFDLFlBQVksQ0FDakIsS0FBb0I7UUFFcEIsNkRBQTZEO1FBQzdELE1BQU0sU0FBUyxHQUFHLGlCQUFTLENBQUMsS0FBSyxDQUFDO1FBRWxDLDZGQUE2RjtRQUM3RixNQUFNLEtBQUssR0FBRyxPQUFPLEtBQUssQ0FBQyxLQUFLLEtBQUssUUFBUTtZQUMzQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUs7WUFDYixDQUFDLENBQUMsMkJBQWlCLENBQUMsS0FBSyxDQUFDLFFBQVMsQ0FBQyxDQUFDLENBQUMsdURBQXVEO1FBRS9GLDBFQUEwRTtRQUMxRSxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBRWpDLG1GQUFtRjtRQUNuRix5Q0FBeUM7UUFDekMsTUFBTSxFQUNKLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixpQkFBaUIsR0FDbEIsR0FBRyw2QkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUvQix5RkFBeUY7UUFDekYsTUFBTSxTQUFTLEdBQUcsbUJBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLHdCQUFZLENBQUMsQ0FBQztRQUUxRCxnREFBZ0Q7UUFDaEQsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQztRQUVwQyxtREFBbUQ7UUFDbkQsMENBQTBDO1FBQzFDLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxJQUFJ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 |
@@ -40,8 +40,6 @@ import * as elliptic from 'elliptic'; | ||
} | ||
export interface InternalOrder { | ||
clientId: string; | ||
interface InternalOrderBase { | ||
starkKey: string; | ||
positionId: string; | ||
size: string; | ||
price: string; | ||
limitFee: string; | ||
@@ -52,2 +50,23 @@ market: PerpetualMarket; | ||
} | ||
interface WithPrice { | ||
price: string; | ||
quoteAmount?: undefined; | ||
} | ||
interface WithQuoteAmount { | ||
price?: undefined; | ||
quoteAmount: string; | ||
} | ||
interface WithClientId { | ||
clientId: string; | ||
nonce?: undefined; | ||
} | ||
interface WithNonce { | ||
clientId?: undefined; | ||
nonce: string; | ||
} | ||
export declare type InternalOrderWithPriceAndClientId = InternalOrderBase & WithPrice & WithClientId; | ||
export declare type InternalOrderWithQuoteAmountAndClientId = (InternalOrderBase & WithQuoteAmount & WithClientId); | ||
export declare type InternalOrderWithPriceAndNonce = InternalOrderBase & WithPrice & WithNonce; | ||
export declare type InternalOrderWithQuoteAmountAndNonce = InternalOrderBase & WithQuoteAmount & WithNonce; | ||
export declare type InternalOrder = (InternalOrderWithPriceAndClientId | InternalOrderWithQuoteAmountAndClientId | InternalOrderWithPriceAndNonce | InternalOrderWithQuoteAmountAndNonce); | ||
export declare enum ApiMethod { | ||
@@ -79,11 +98,13 @@ POST = "POST", | ||
} | ||
export interface StarkwareOrder extends StarkwareSignable { | ||
orderType: OrderType; | ||
export interface StarkwareAmounts { | ||
amountSynthetic: string; | ||
amountCollateral: string; | ||
amountFee: string; | ||
assetIdSynthetic: Asset; | ||
assetIdCollateral: Asset; | ||
isBuyingSynthetic: boolean; | ||
} | ||
export interface StarkwareOrder extends StarkwareAmounts, StarkwareSignable { | ||
orderType: OrderType; | ||
amountFee: string; | ||
positionId: string; | ||
isBuyingSynthetic: boolean; | ||
nonce: string; | ||
@@ -101,1 +122,2 @@ expirationTimestamp: string; | ||
export declare type TokenStruct = EthToken | Erc20Token; | ||
export {}; |
@@ -35,2 +35,2 @@ "use strict"; | ||
})(ApiMethod = exports.ApiMethod || (exports.ApiMethod = {})); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0EsSUFBWSxTQUVYO0FBRkQsV0FBWSxTQUFTO0lBQ25CLDRDQUErQixDQUFBO0FBQ2pDLENBQUMsRUFGVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQUVwQjtBQUVELDhDQUE4QztBQUM5QyxJQUFZLGVBSVg7QUFKRCxXQUFZLGVBQWU7SUFDekIsc0NBQW1CLENBQUE7SUFDbkIsc0NBQW1CLENBQUE7SUFDbkIsd0NBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQUpXLGVBQWUsR0FBZix1QkFBZSxLQUFmLHVCQUFlLFFBSTFCO0FBRUQsSUFBWSxLQU1YO0FBTkQsV0FBWSxLQUFLO0lBQ2Ysb0JBQVcsQ0FBQTtJQUNYLG9CQUFXLENBQUE7SUFDWCxzQkFBYSxDQUFBO0lBQ2Isc0JBQWEsQ0FBQTtJQUNiLHNCQUFhLENBQUE7QUFDZixDQUFDLEVBTlcsS0FBSyxHQUFMLGFBQUssS0FBTCxhQUFLLFFBTWhCO0FBRUQsSUFBWSxTQUdYO0FBSEQsV0FBWSxTQUFTO0lBQ25CLHdCQUFXLENBQUE7SUFDWCwwQkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUhXLFNBQVMsR0FBVCxpQkFBUyxLQUFULGlCQUFTLFFBR3BCO0FBc0NELElBQVksU0FLWDtBQUxELFdBQVksU0FBUztJQUNuQiwwQkFBYSxDQUFBO0lBQ2Isd0JBQVcsQ0FBQTtJQUNYLHdCQUFXLENBQUE7SUFDWCw4QkFBaUIsQ0FBQTtBQUNuQixDQUFDLEVBTFcsU0FBUyxHQUFULGlCQUFTLEtBQVQsaUJBQVMsUUFLcEIifQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0EsSUFBWSxTQUVYO0FBRkQsV0FBWSxTQUFTO0lBQ25CLDRDQUErQixDQUFBO0FBQ2pDLENBQUMsRUFGVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQUVwQjtBQUVELDhDQUE4QztBQUM5QyxJQUFZLGVBSVg7QUFKRCxXQUFZLGVBQWU7SUFDekIsc0NBQW1CLENBQUE7SUFDbkIsc0NBQW1CLENBQUE7SUFDbkIsd0NBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQUpXLGVBQWUsR0FBZix1QkFBZSxLQUFmLHVCQUFlLFFBSTFCO0FBRUQsSUFBWSxLQU1YO0FBTkQsV0FBWSxLQUFLO0lBQ2Ysb0JBQVcsQ0FBQTtJQUNYLG9CQUFXLENBQUE7SUFDWCxzQkFBYSxDQUFBO0lBQ2Isc0JBQWEsQ0FBQTtJQUNiLHNCQUFhLENBQUE7QUFDZixDQUFDLEVBTlcsS0FBSyxHQUFMLGFBQUssS0FBTCxhQUFLLFFBTWhCO0FBRUQsSUFBWSxTQUdYO0FBSEQsV0FBWSxTQUFTO0lBQ25CLHdCQUFXLENBQUE7SUFDWCwwQkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUhXLFNBQVMsR0FBVCxpQkFBUyxLQUFULGlCQUFTLFFBR3BCO0FBaUVELElBQVksU0FLWDtBQUxELFdBQVksU0FBUztJQUNuQiwwQkFBYSxDQUFBO0lBQ2Isd0JBQVcsQ0FBQTtJQUNYLHdCQUFXLENBQUE7SUFDWCw4QkFBaUIsQ0FBQTtBQUNuQixDQUFDLEVBTFcsU0FBUyxHQUFULGlCQUFTLEtBQVQsaUJBQVMsUUFLcEIifQ== |
{ | ||
"name": "@dydxprotocol/starkex-lib", | ||
"version": "0.2.6", | ||
"version": "0.3.0", | ||
"description": "Cryptographic functions for use with StarkEx", | ||
@@ -5,0 +5,0 @@ "main": "build/src/index.js", |
@@ -18,9 +18,10 @@ /** | ||
import { | ||
Asset, | ||
EcKeyPair, | ||
EcPublicKey, | ||
InternalOrder, | ||
KeyPair, | ||
OrderSide, | ||
PerpetualMarket, | ||
SignatureStruct, | ||
Asset, | ||
StarkwareAmounts, | ||
} from './types'; | ||
@@ -144,15 +145,13 @@ import { | ||
* Get Starkware order fields, given paramters from an order and/or fill. | ||
* | ||
* Must provide either quoteAmount or price. | ||
*/ | ||
export function getStarkwareAmounts( | ||
market: PerpetualMarket, | ||
side: OrderSide, | ||
size: string, | ||
price: string, | ||
): { | ||
amountSynthetic: string; | ||
amountCollateral: string; | ||
assetIdSynthetic: Asset; | ||
assetIdCollateral: Asset; | ||
isBuyingSynthetic: boolean; | ||
} { | ||
params: Pick<InternalOrder, 'market' | 'side' | 'size' | 'quoteAmount' | 'price'>, | ||
): StarkwareAmounts { | ||
const { | ||
market, side, size, quoteAmount, price, | ||
} = params; | ||
// Determine side and assets. | ||
const isBuyingSynthetic = side === OrderSide.BUY; | ||
@@ -164,5 +163,10 @@ const assetIdSynthetic = BASE_TOKEN[market]; | ||
const assetIdCollateral = MARGIN_TOKEN; | ||
const cost = new Big(size).times(price).toFixed(); | ||
// Determine amounts. | ||
const cost = typeof quoteAmount === 'string' | ||
? quoteAmount | ||
: new Big(size).times(price!).toFixed(); // Safe non-null assertion based on InternalOrder type. | ||
const amountSynthetic = toQuantum(size, assetIdSynthetic); | ||
const amountCollateral = toQuantum(cost, assetIdCollateral); | ||
return { | ||
@@ -169,0 +173,0 @@ amountSynthetic, |
@@ -38,4 +38,6 @@ import assert from 'assert'; | ||
// Make the nonce by hashing the client-provided ID. Does not need to be a secure hash. | ||
const nonce = nonceFromClientId(order.clientId); | ||
// Nonce may be created by hashing the client-provided ID. Does not need to be a secure hash. | ||
const nonce = typeof order.nonce === 'string' | ||
? order.nonce | ||
: nonceFromClientId(order.clientId!); // Safe non-null assertion based on InternalOrder type. | ||
@@ -53,3 +55,3 @@ // This is the public key x-coordinate as a hex string, without 0x prefix. | ||
isBuyingSynthetic, | ||
} = getStarkwareAmounts(order.market, order.side, order.size, order.price); | ||
} = getStarkwareAmounts(order); | ||
@@ -56,0 +58,0 @@ // The fee is an amount, not a percentage, and is always denominated in the margin token. |
@@ -52,8 +52,7 @@ import * as elliptic from 'elliptic'; | ||
export interface InternalOrder { | ||
clientId: string, | ||
// The order must specify either quoteAmount or price. | ||
interface InternalOrderBase { | ||
starkKey: string, | ||
positionId: string, | ||
size: string, | ||
price: string, | ||
limitFee: string, | ||
@@ -64,2 +63,30 @@ market: PerpetualMarket, | ||
} | ||
interface WithPrice { | ||
price: string, | ||
quoteAmount?: undefined, | ||
} | ||
interface WithQuoteAmount { | ||
price?: undefined, | ||
quoteAmount: string, | ||
} | ||
interface WithClientId { | ||
clientId: string, | ||
nonce?: undefined, | ||
} | ||
interface WithNonce { | ||
clientId?: undefined, | ||
nonce: string, | ||
} | ||
export type InternalOrderWithPriceAndClientId = InternalOrderBase & WithPrice & WithClientId; | ||
export type InternalOrderWithQuoteAmountAndClientId = ( | ||
InternalOrderBase & WithQuoteAmount & WithClientId | ||
); | ||
export type InternalOrderWithPriceAndNonce = InternalOrderBase & WithPrice & WithNonce; | ||
export type InternalOrderWithQuoteAmountAndNonce = InternalOrderBase & WithQuoteAmount & WithNonce; | ||
export type InternalOrder = ( | ||
InternalOrderWithPriceAndClientId | | ||
InternalOrderWithQuoteAmountAndClientId | | ||
InternalOrderWithPriceAndNonce | | ||
InternalOrderWithQuoteAmountAndNonce | ||
); | ||
@@ -97,11 +124,14 @@ export enum ApiMethod { | ||
export interface StarkwareOrder extends StarkwareSignable { | ||
orderType: OrderType; | ||
export interface StarkwareAmounts { | ||
amountSynthetic: string; | ||
amountCollateral: string; | ||
amountFee: string; | ||
assetIdSynthetic: Asset; | ||
assetIdCollateral: Asset; | ||
isBuyingSynthetic: boolean; | ||
} | ||
export interface StarkwareOrder extends StarkwareAmounts, StarkwareSignable { | ||
orderType: OrderType; | ||
amountFee: string; | ||
positionId: string; | ||
isBuyingSynthetic: boolean; | ||
nonce: string; // For signature. | ||
@@ -108,0 +138,0 @@ expirationTimestamp: string; // For signature. |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
161080
2825