@reyaxyz/sdk 0.142.8 → 0.142.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -6,5 +6,5 @@
|
|
|
6
6
|
|
|
7
7
|
| Statements | Branches | Functions | Lines |
|
|
8
8
|
| --------------------------- | ----------------------- | ------------------------- | ----------------- |
|
|
9
|
-
|  |  |  |  |
|
|
10
10
|
|
|
@@ -50,7 +50,7 @@ var encodeSpotLimitOrderInputs = function (isBuy, limitPx, qty) {
|
|
|
50
50
|
return ethers_1.AbiCoder.defaultAbiCoder().encode(['int256', 'uint256'], [baseDelta, price]);
|
|
51
51
|
};
|
|
52
52
|
var createSpotOrder = function (params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
53
|
-
var reyaChainId, config, inputs, creationTimestampMs, deadline, spotNonce, _a, serializedSignature, nonce, signerAddress, apiConfig, orderEntryApi, response;
|
|
53
|
+
var reyaChainId, config, inputs, creationTimestampMs, defaultDeadlineSeconds, deadline, spotNonce, _a, serializedSignature, nonce, signerAddress, apiConfig, orderEntryApi, response;
|
|
54
54
|
var _b;
|
|
55
55
|
return __generator(this, function (_c) {
|
|
56
56
|
switch (_c.label) {
|
|
@@ -59,7 +59,8 @@ var createSpotOrder = function (params) { return __awaiter(void 0, void 0, void
|
|
|
59
59
|
config = (0, config_1.getSdkConfig)();
|
|
60
60
|
inputs = encodeSpotLimitOrderInputs(params.isBuy, params.limitPx, params.qty);
|
|
61
61
|
creationTimestampMs = Date.now();
|
|
62
|
-
|
|
62
|
+
defaultDeadlineSeconds = Math.floor(creationTimestampMs / 1000) + 30;
|
|
63
|
+
deadline = (_b = params.expiresAfter) !== null && _b !== void 0 ? _b : defaultDeadlineSeconds;
|
|
63
64
|
spotNonce = BigInt(creationTimestampMs);
|
|
64
65
|
return [4 /*yield*/, (0, common_1.signOrdersGatewayOrder)(params.signer, reyaChainId, params.accountId, params.marketId, params.exchangeId, [], common_1.OrdersGatewayOrderType.LIMIT_ORDER_SPOT, inputs, deadline, creationTimestampMs, spotNonce)];
|
|
65
66
|
case 1:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orderV2.js","sourceRoot":"/","sources":["services/orders/orderV2.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAyD;AACzD,kDAM6B;AAC7B,0CAIyB;AACzB,+CAAqD;AACrD,uCAA4C;AAc5C,IAAM,0BAA0B,GAAG,UACjC,KAAc,EACd,OAAe,EACf,GAAW;IAEX,IAAM,SAAS,GAAG,KAAK;QACrB,CAAC,CAAC,IAAA,cAAK,EAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC,IAAA,cAAK,EAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,IAAM,KAAK,GAAG,IAAA,cAAK,EAAC,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,OAAO,iBAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,CACtC,CAAC,QAAQ,EAAE,SAAS,CAAC,EACrB,CAAC,SAAS,EAAE,KAAK,CAAC,CACnB,CAAC;AACJ,CAAC,CAAC;AAEK,IAAM,eAAe,GAAG,UAC7B,MAA6B;;;;;;gBAEvB,WAAW,GAAG,IAAA,wBAAc,GAAE,CAAC;gBAC/B,MAAM,GAAG,IAAA,qBAAY,GAAE,CAAC;gBAExB,MAAM,GAAG,0BAA0B,CACvC,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,GAAG,CACX,CAAC;gBAEI,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACjC,QAAQ,GAAG,MAAA,MAAM,CAAC,YAAY,mCAAI,
|
|
1
|
+
{"version":3,"file":"orderV2.js","sourceRoot":"/","sources":["services/orders/orderV2.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAyD;AACzD,kDAM6B;AAC7B,0CAIyB;AACzB,+CAAqD;AACrD,uCAA4C;AAc5C,IAAM,0BAA0B,GAAG,UACjC,KAAc,EACd,OAAe,EACf,GAAW;IAEX,IAAM,SAAS,GAAG,KAAK;QACrB,CAAC,CAAC,IAAA,cAAK,EAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC,IAAA,cAAK,EAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,IAAM,KAAK,GAAG,IAAA,cAAK,EAAC,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,OAAO,iBAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,CACtC,CAAC,QAAQ,EAAE,SAAS,CAAC,EACrB,CAAC,SAAS,EAAE,KAAK,CAAC,CACnB,CAAC;AACJ,CAAC,CAAC;AAEK,IAAM,eAAe,GAAG,UAC7B,MAA6B;;;;;;gBAEvB,WAAW,GAAG,IAAA,wBAAc,GAAE,CAAC;gBAC/B,MAAM,GAAG,IAAA,qBAAY,GAAE,CAAC;gBAExB,MAAM,GAAG,0BAA0B,CACvC,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,GAAG,CACX,CAAC;gBAEI,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACjC,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACrE,QAAQ,GAAG,MAAA,MAAM,CAAC,YAAY,mCAAI,sBAAsB,CAAC;gBAGzD,SAAS,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;gBAEP,qBAAM,IAAA,+BAAsB,EACjE,MAAM,CAAC,MAAM,EACb,WAAW,EACX,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,UAAU,EACjB,EAAE,EACF,+BAAsB,CAAC,gBAAgB,EACvC,MAAM,EACN,QAAQ,EACR,mBAAmB,EACnB,SAAS,CACV,EAAA;;gBAZK,KAAiC,SAYtC,EAZO,mBAAmB,yBAAA,EAAE,KAAK,WAAA;gBAcZ,qBAAM,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAA;;gBAAhD,aAAa,GAAG,SAAgC;gBAEhD,SAAS,GAAG,IAAI,0BAAa,CAAC;oBAClC,QAAQ,EAAE,UAAG,MAAM,CAAC,WAAW,QAAK;iBACrC,CAAC,CAAC;gBAEG,aAAa,GAAG,IAAI,0BAAa,CAAC,SAAS,CAAC,CAAC;gBAElC,qBAAM,aAAa,CAAC,WAAW,CAAC;wBAC/C,kBAAkB,EAAE;4BAClB,UAAU,EAAE,MAAM,CAAC,UAAU;4BAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;4BACrB,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;4BACnB,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,GAAG,EAAE,MAAM,CAAC,GAAG;4BACf,SAAS,EAAE,sBAAS,CAAC,KAAK;4BAC1B,WAAW,EAAE,wBAAW,CAAC,GAAG;4BAC5B,SAAS,EAAE,mBAAmB;4BAC9B,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;4BACvB,YAAY,EAAE,aAAa;4BAC3B,YAAY,EAAE,QAAQ;yBACvB;qBACF,CAAC,EAAA;;gBAfI,QAAQ,GAAG,SAef;gBAEF,sBAAO,QAAQ,EAAC;;;KACjB,CAAC;AA3DW,QAAA,eAAe,mBA2D1B","sourcesContent":["import { Signer, JsonRpcSigner, AbiCoder } from 'ethers';\nimport {\n OrderEntryApi,\n Configuration,\n CreateOrderResponse,\n OrderType,\n TimeInForce,\n} from '@reyaxyz/api-v2-sdk';\nimport {\n signOrdersGatewayOrder,\n OrdersGatewayOrderType,\n scale,\n} from '@reyaxyz/common';\nimport { getReyaNetwork } from '../../utils/network';\nimport { getSdkConfig } from '../../config';\n\nexport type CreateSpotOrderParams = {\n signer: Signer | JsonRpcSigner;\n accountId: number;\n exchangeId: number;\n marketId: number;\n isBuy: boolean;\n limitPx: string;\n qty: string;\n symbol: string;\n expiresAfter?: number;\n};\n\nconst encodeSpotLimitOrderInputs = (\n isBuy: boolean,\n limitPx: string,\n qty: string,\n): string => {\n const baseDelta = isBuy\n ? scale(18)(parseFloat(qty))\n : -scale(18)(parseFloat(qty));\n const price = scale(18)(parseFloat(limitPx));\n return AbiCoder.defaultAbiCoder().encode(\n ['int256', 'uint256'],\n [baseDelta, price],\n );\n};\n\nexport const createSpotOrder = async (\n params: CreateSpotOrderParams,\n): Promise<CreateOrderResponse> => {\n const reyaChainId = getReyaNetwork();\n const config = getSdkConfig();\n\n const inputs = encodeSpotLimitOrderInputs(\n params.isBuy,\n params.limitPx,\n params.qty,\n );\n\n const creationTimestampMs = Date.now();\n const defaultDeadlineSeconds = Math.floor(creationTimestampMs / 1000) + 30; // 30 seconds from now\n const deadline = params.expiresAfter ?? defaultDeadlineSeconds;\n\n // For spot orders, nonce is just the timestamp (uint64)\n const spotNonce = BigInt(creationTimestampMs);\n\n const { serializedSignature, nonce } = await signOrdersGatewayOrder(\n params.signer,\n reyaChainId,\n params.accountId,\n params.marketId,\n params.exchangeId,\n [],\n OrdersGatewayOrderType.LIMIT_ORDER_SPOT,\n inputs,\n deadline,\n creationTimestampMs,\n spotNonce, // custom nonce for spot orders\n );\n\n const signerAddress = await params.signer.getAddress();\n\n const apiConfig = new Configuration({\n basePath: `${config.apiEndpoint}/v2`,\n });\n\n const orderEntryApi = new OrderEntryApi(apiConfig);\n\n const response = await orderEntryApi.createOrder({\n createOrderRequest: {\n exchangeId: params.exchangeId,\n symbol: params.symbol,\n accountId: params.accountId,\n isBuy: params.isBuy,\n limitPx: params.limitPx,\n qty: params.qty,\n orderType: OrderType.LIMIT,\n timeInForce: TimeInForce.IOC,\n signature: serializedSignature,\n nonce: nonce.toString(),\n signerWallet: signerAddress,\n expiresAfter: deadline,\n },\n });\n\n return response;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orderV2.d.ts","sourceRoot":"/","sources":["services/orders/orderV2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAY,MAAM,QAAQ,CAAC;AACzD,OAAO,EAGL,mBAAmB,EAGpB,MAAM,qBAAqB,CAAC;AAS7B,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAiBF,eAAO,MAAM,eAAe,WAClB,qBAAqB,KAC5B,QAAQ,mBAAmB,
|
|
1
|
+
{"version":3,"file":"orderV2.d.ts","sourceRoot":"/","sources":["services/orders/orderV2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAY,MAAM,QAAQ,CAAC;AACzD,OAAO,EAGL,mBAAmB,EAGpB,MAAM,qBAAqB,CAAC;AAS7B,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAiBF,eAAO,MAAM,eAAe,WAClB,qBAAqB,KAC5B,QAAQ,mBAAmB,CAyD7B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reyaxyz/sdk",
|
|
3
|
-
"version": "0.142.
|
|
3
|
+
"version": "0.142.10",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public",
|
|
6
6
|
"registry": "https://registry.npmjs.org"
|
|
@@ -30,12 +30,12 @@
|
|
|
30
30
|
"test:spot-order": "npx ts-node scripts/test-spot-order.ts"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@reyaxyz/api-v2-sdk": "0.301.
|
|
33
|
+
"@reyaxyz/api-v2-sdk": "0.301.7",
|
|
34
34
|
"@reyaxyz/common": "0.329.1",
|
|
35
35
|
"axios": "1.6.2",
|
|
36
36
|
"bignumber.js": "9.1.2",
|
|
37
37
|
"ethers": "6.9.0"
|
|
38
38
|
},
|
|
39
39
|
"packageManager": "pnpm@8.3.1",
|
|
40
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "8ab8e15bed31d92e29acb111078f27fcf5880bcf"
|
|
41
41
|
}
|
|
@@ -54,7 +54,8 @@ export const createSpotOrder = async (
|
|
|
54
54
|
);
|
|
55
55
|
|
|
56
56
|
const creationTimestampMs = Date.now();
|
|
57
|
-
const
|
|
57
|
+
const defaultDeadlineSeconds = Math.floor(creationTimestampMs / 1000) + 30; // 30 seconds from now
|
|
58
|
+
const deadline = params.expiresAfter ?? defaultDeadlineSeconds;
|
|
58
59
|
|
|
59
60
|
// For spot orders, nonce is just the timestamp (uint64)
|
|
60
61
|
const spotNonce = BigInt(creationTimestampMs);
|