@nadohq/shared 0.1.0-alpha.4 → 0.1.0-alpha.40

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.
Files changed (140) hide show
  1. package/dist/abis/index.cjs +12 -12
  2. package/dist/abis/index.cjs.map +1 -1
  3. package/dist/abis/index.d.cts +6 -6
  4. package/dist/abis/index.d.ts +6 -6
  5. package/dist/abis/index.js +6 -6
  6. package/dist/abis/index.js.map +1 -1
  7. package/dist/consts/chainEnvToChain.cjs +2 -2
  8. package/dist/consts/chainEnvToChain.cjs.map +1 -1
  9. package/dist/consts/chainEnvToChain.d.cts +308 -39
  10. package/dist/consts/chainEnvToChain.d.ts +308 -39
  11. package/dist/consts/chainEnvToChain.js +3 -3
  12. package/dist/consts/chainEnvToChain.js.map +1 -1
  13. package/dist/consts/productIds.cjs +1 -1
  14. package/dist/consts/productIds.cjs.map +1 -1
  15. package/dist/consts/productIds.d.cts +1 -1
  16. package/dist/consts/productIds.d.ts +1 -1
  17. package/dist/consts/productIds.js +1 -1
  18. package/dist/consts/productIds.js.map +1 -1
  19. package/dist/deployments/core/deployment.inkMainnet.json +13 -0
  20. package/dist/deployments/core/deployment.inkSepolia.json +13 -0
  21. package/dist/deployments/index.cjs +6 -6
  22. package/dist/deployments/index.cjs.map +1 -1
  23. package/dist/deployments/index.js +5 -5
  24. package/dist/deployments/index.js.map +1 -1
  25. package/dist/eip712/eip712ValueTypes.d.cts +1 -1
  26. package/dist/eip712/eip712ValueTypes.d.ts +1 -1
  27. package/dist/eip712/getNadoEIP712Domain.cjs.map +1 -1
  28. package/dist/eip712/getNadoEIP712Domain.js.map +1 -1
  29. package/dist/eip712/index.cjs +13 -13
  30. package/dist/eip712/index.cjs.map +1 -1
  31. package/dist/eip712/index.d.cts +9 -9
  32. package/dist/eip712/index.d.ts +9 -9
  33. package/dist/eip712/index.js +6 -6
  34. package/dist/eip712/index.js.map +1 -1
  35. package/dist/index.d.cts +33 -33
  36. package/dist/index.d.ts +33 -33
  37. package/dist/types/ChainEnv.cjs +1 -1
  38. package/dist/types/ChainEnv.cjs.map +1 -1
  39. package/dist/types/ChainEnv.d.cts +2 -2
  40. package/dist/types/ChainEnv.d.ts +2 -2
  41. package/dist/types/ChainEnv.js +1 -1
  42. package/dist/types/ChainEnv.js.map +1 -1
  43. package/dist/types/index.cjs +7 -7
  44. package/dist/types/index.cjs.map +1 -1
  45. package/dist/types/index.d.cts +4 -4
  46. package/dist/types/index.d.ts +4 -4
  47. package/dist/types/index.js +3 -3
  48. package/dist/types/index.js.map +1 -1
  49. package/dist/types/orderAppendixTypes.cjs.map +1 -1
  50. package/dist/types/orderAppendixTypes.d.cts +7 -3
  51. package/dist/types/orderAppendixTypes.d.ts +7 -3
  52. package/dist/utils/createDeterministicLinkedSignerPrivateKey.cjs.map +1 -1
  53. package/dist/utils/createDeterministicLinkedSignerPrivateKey.js.map +1 -1
  54. package/dist/utils/index.cjs +12 -12
  55. package/dist/utils/index.cjs.map +1 -1
  56. package/dist/utils/index.d.cts +21 -21
  57. package/dist/utils/index.d.ts +21 -21
  58. package/dist/utils/index.js +6 -6
  59. package/dist/utils/index.js.map +1 -1
  60. package/dist/utils/math/index.cjs +8 -8
  61. package/dist/utils/math/index.cjs.map +1 -1
  62. package/dist/utils/math/index.d.cts +4 -4
  63. package/dist/utils/math/index.d.ts +4 -4
  64. package/dist/utils/math/index.js +4 -4
  65. package/dist/utils/math/index.js.map +1 -1
  66. package/dist/utils/orders/appendix/appendixIsolatedValue.cjs +50 -0
  67. package/dist/utils/orders/appendix/appendixIsolatedValue.cjs.map +1 -0
  68. package/dist/utils/orders/appendix/appendixIsolatedValue.d.cts +26 -0
  69. package/dist/utils/orders/appendix/appendixIsolatedValue.d.ts +26 -0
  70. package/dist/utils/orders/appendix/appendixIsolatedValue.js +31 -0
  71. package/dist/utils/orders/appendix/appendixIsolatedValue.js.map +1 -0
  72. package/dist/utils/orders/appendix/{appendixTWAPValue.cjs → appendixTwapValue.cjs} +14 -15
  73. package/dist/utils/orders/appendix/appendixTwapValue.cjs.map +1 -0
  74. package/dist/utils/orders/appendix/appendixTwapValue.d.cts +29 -0
  75. package/dist/utils/orders/appendix/appendixTwapValue.d.ts +29 -0
  76. package/dist/utils/orders/appendix/appendixTwapValue.js +25 -0
  77. package/dist/utils/orders/appendix/appendixTwapValue.js.map +1 -0
  78. package/dist/utils/orders/appendix/index.cjs +6 -6
  79. package/dist/utils/orders/appendix/index.cjs.map +1 -1
  80. package/dist/utils/orders/appendix/index.d.cts +3 -3
  81. package/dist/utils/orders/appendix/index.d.ts +3 -3
  82. package/dist/utils/orders/appendix/index.js +3 -3
  83. package/dist/utils/orders/appendix/index.js.map +1 -1
  84. package/dist/utils/orders/appendix/orderAppendix.test.cjs +11 -12
  85. package/dist/utils/orders/appendix/orderAppendix.test.cjs.map +1 -1
  86. package/dist/utils/orders/appendix/orderAppendix.test.js +11 -12
  87. package/dist/utils/orders/appendix/orderAppendix.test.js.map +1 -1
  88. package/dist/utils/orders/appendix/packOrderAppendix.cjs +7 -7
  89. package/dist/utils/orders/appendix/packOrderAppendix.cjs.map +1 -1
  90. package/dist/utils/orders/appendix/packOrderAppendix.js +7 -7
  91. package/dist/utils/orders/appendix/packOrderAppendix.js.map +1 -1
  92. package/dist/utils/orders/appendix/types.cjs.map +1 -1
  93. package/dist/utils/orders/appendix/types.d.cts +2 -2
  94. package/dist/utils/orders/appendix/types.d.ts +2 -2
  95. package/dist/utils/orders/appendix/unpackOrderAppendix.cjs +7 -6
  96. package/dist/utils/orders/appendix/unpackOrderAppendix.cjs.map +1 -1
  97. package/dist/utils/orders/appendix/unpackOrderAppendix.js +7 -6
  98. package/dist/utils/orders/appendix/unpackOrderAppendix.js.map +1 -1
  99. package/dist/utils/orders/index.cjs +3 -3
  100. package/dist/utils/orders/index.cjs.map +1 -1
  101. package/dist/utils/orders/index.d.cts +5 -5
  102. package/dist/utils/orders/index.d.ts +5 -5
  103. package/dist/utils/orders/index.js +1 -1
  104. package/dist/utils/orders/index.js.map +1 -1
  105. package/dist/utils/productTypeFilter.cjs.map +1 -1
  106. package/dist/utils/productTypeFilter.js.map +1 -1
  107. package/package.json +6 -2
  108. package/src/abis/index.ts +6 -6
  109. package/src/consts/chainEnvToChain.ts +2 -2
  110. package/src/consts/productIds.ts +1 -1
  111. package/src/deployments/core/deployment.inkMainnet.json +13 -0
  112. package/src/deployments/core/deployment.inkSepolia.json +13 -0
  113. package/src/deployments/index.ts +5 -5
  114. package/src/eip712/getNadoEIP712Domain.ts +1 -1
  115. package/src/eip712/index.ts +6 -6
  116. package/src/types/ChainEnv.ts +1 -1
  117. package/src/types/index.ts +3 -3
  118. package/src/types/orderAppendixTypes.ts +6 -2
  119. package/src/utils/createDeterministicLinkedSignerPrivateKey.ts +1 -1
  120. package/src/utils/index.ts +6 -6
  121. package/src/utils/math/index.ts +4 -4
  122. package/src/utils/orders/appendix/appendixIsolatedValue.ts +49 -0
  123. package/src/utils/orders/appendix/appendixTwapValue.ts +46 -0
  124. package/src/utils/orders/appendix/index.ts +3 -3
  125. package/src/utils/orders/appendix/orderAppendix.test.ts +10 -11
  126. package/src/utils/orders/appendix/packOrderAppendix.ts +8 -8
  127. package/src/utils/orders/appendix/types.ts +5 -5
  128. package/src/utils/orders/appendix/unpackOrderAppendix.ts +8 -7
  129. package/src/utils/orders/index.ts +1 -1
  130. package/src/utils/productTypeFilter.ts +2 -2
  131. package/dist/deployments/core/deployment.InkSepolia.json +0 -13
  132. package/dist/deployments/core/deployment.arbitrumOne.json +0 -18
  133. package/dist/utils/orders/appendix/appendixTWAPValue.cjs.map +0 -1
  134. package/dist/utils/orders/appendix/appendixTWAPValue.d.cts +0 -31
  135. package/dist/utils/orders/appendix/appendixTWAPValue.d.ts +0 -31
  136. package/dist/utils/orders/appendix/appendixTWAPValue.js +0 -26
  137. package/dist/utils/orders/appendix/appendixTWAPValue.js.map +0 -1
  138. package/src/deployments/core/deployment.InkSepolia.json +0 -13
  139. package/src/deployments/core/deployment.arbitrumOne.json +0 -18
  140. package/src/utils/orders/appendix/appendixTWAPValue.ts +0 -51
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/utils/orders/appendix/index.ts"],"sourcesContent":["export * from './appendixTWAPValue';\nexport * from './unpackOrderAppendix';\nexport * from './packOrderAppendix';\nexport * from './types';\nexport * from './bitMaskValue';\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,6BAAc,oCAAd;AACA,6BAAc,sCADd;AAEA,6BAAc,oCAFd;AAGA,6BAAc,wBAHd;AAIA,6BAAc,+BAJd;","names":[]}
1
+ {"version":3,"sources":["../../../../src/utils/orders/appendix/index.ts"],"sourcesContent":["export * from './appendixTwapValue';\nexport * from './bitMaskValue';\nexport * from './packOrderAppendix';\nexport * from './types';\nexport * from './unpackOrderAppendix';\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,6BAAc,oCAAd;AACA,6BAAc,+BADd;AAEA,6BAAc,oCAFd;AAGA,6BAAc,wBAHd;AAIA,6BAAc,sCAJd;","names":[]}
@@ -1,8 +1,8 @@
1
- export { packTWAPOrderAppendixValue, unpackTWAPOrderAppendixValue } from './appendixTWAPValue.cjs';
2
- export { unpackOrderAppendix } from './unpackOrderAppendix.cjs';
1
+ export { packTwapOrderAppendixValue, unpackTwapOrderAppendixValue } from './appendixTwapValue.cjs';
2
+ export { bitMaskValue } from './bitMaskValue.cjs';
3
3
  export { packOrderAppendix } from './packOrderAppendix.cjs';
4
4
  export { PackedOrderAppendixBits } from './types.cjs';
5
- export { bitMaskValue } from './bitMaskValue.cjs';
5
+ export { unpackOrderAppendix } from './unpackOrderAppendix.cjs';
6
6
  import '../../../types/orderAppendixTypes.cjs';
7
7
  import '../../math/bigDecimal.cjs';
8
8
  import 'bignumber.js';
@@ -1,8 +1,8 @@
1
- export { packTWAPOrderAppendixValue, unpackTWAPOrderAppendixValue } from './appendixTWAPValue.js';
2
- export { unpackOrderAppendix } from './unpackOrderAppendix.js';
1
+ export { packTwapOrderAppendixValue, unpackTwapOrderAppendixValue } from './appendixTwapValue.js';
2
+ export { bitMaskValue } from './bitMaskValue.js';
3
3
  export { packOrderAppendix } from './packOrderAppendix.js';
4
4
  export { PackedOrderAppendixBits } from './types.js';
5
- export { bitMaskValue } from './bitMaskValue.js';
5
+ export { unpackOrderAppendix } from './unpackOrderAppendix.js';
6
6
  import '../../../types/orderAppendixTypes.js';
7
7
  import '../../math/bigDecimal.js';
8
8
  import 'bignumber.js';
@@ -1,7 +1,7 @@
1
1
  // src/utils/orders/appendix/index.ts
2
- export * from "./appendixTWAPValue.js";
3
- export * from "./unpackOrderAppendix.js";
2
+ export * from "./appendixTwapValue.js";
3
+ export * from "./bitMaskValue.js";
4
4
  export * from "./packOrderAppendix.js";
5
5
  export * from "./types.js";
6
- export * from "./bitMaskValue.js";
6
+ export * from "./unpackOrderAppendix.js";
7
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/utils/orders/appendix/index.ts"],"sourcesContent":["export * from './appendixTWAPValue';\nexport * from './unpackOrderAppendix';\nexport * from './packOrderAppendix';\nexport * from './types';\nexport * from './bitMaskValue';\n"],"mappings":";AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../../src/utils/orders/appendix/index.ts"],"sourcesContent":["export * from './appendixTwapValue';\nexport * from './bitMaskValue';\nexport * from './packOrderAppendix';\nexport * from './types';\nexport * from './unpackOrderAppendix';\n"],"mappings":";AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
@@ -50,7 +50,7 @@ var import_unpackOrderAppendix = require("./unpackOrderAppendix.cjs");
50
50
  };
51
51
  const packed = (0, import_packOrderAppendix.packOrderAppendix)(appendix);
52
52
  const unpacked = (0, import_unpackOrderAppendix.unpackOrderAppendix)(packed);
53
- (0, import_globals.expect)(packed).toBe(4096n);
53
+ (0, import_globals.expect)(packed).toBe(4097n);
54
54
  (0, import_globals.expect)(unpacked.orderExecutionType).toBe(appendix.orderExecutionType);
55
55
  (0, import_globals.expect)(unpacked.triggerType).toBe(appendix.triggerType);
56
56
  (0, import_globals.expect)(unpacked.reduceOnly).toBeFalsy();
@@ -63,7 +63,7 @@ var import_unpackOrderAppendix = require("./unpackOrderAppendix.cjs");
63
63
  };
64
64
  const packed = (0, import_packOrderAppendix.packOrderAppendix)(appendix);
65
65
  const unpacked = (0, import_unpackOrderAppendix.unpackOrderAppendix)(packed);
66
- (0, import_globals.expect)(packed).toBe(6144n);
66
+ (0, import_globals.expect)(packed).toBe(6145n);
67
67
  (0, import_globals.expect)(unpacked.reduceOnly).toBe(true);
68
68
  });
69
69
  (0, import_globals.it)("should handle all orderExecutionType values", () => {
@@ -94,12 +94,12 @@ var import_unpackOrderAppendix = require("./unpackOrderAppendix.cjs");
94
94
  const appendix = {
95
95
  orderExecutionType: "default",
96
96
  triggerType: "price",
97
- isolated: { margin: 123456789012345678901234n }
97
+ isolated: { margin: 12345678901000000000000n }
98
98
  };
99
99
  const packed = (0, import_packOrderAppendix.packOrderAppendix)(appendix);
100
100
  const unpacked = (0, import_unpackOrderAppendix.unpackOrderAppendix)(packed);
101
- (0, import_globals.expect)(packed).toBe(530242871277196831127717244047616n);
102
- (0, import_globals.expect)(unpacked.isolated?.margin).toBe(123456789012345678901234n);
101
+ (0, import_globals.expect)(packed).toBe(227737579102942800187821658369n);
102
+ (0, import_globals.expect)(unpacked.isolated?.margin).toBe(appendix.isolated?.margin);
103
103
  });
104
104
  (0, import_globals.it)("should handle TWAP fields", () => {
105
105
  const appendix = {
@@ -109,7 +109,7 @@ var import_unpackOrderAppendix = require("./unpackOrderAppendix.cjs");
109
109
  };
110
110
  const packed = (0, import_packOrderAppendix.packOrderAppendix)(appendix);
111
111
  const unpacked = (0, import_unpackOrderAppendix.unpackOrderAppendix)(packed);
112
- (0, import_globals.expect)(packed).toBe(792281717376363744483197591552n);
112
+ (0, import_globals.expect)(packed).toBe(792281717376363744483197591553n);
113
113
  (0, import_globals.expect)(unpacked.twap).toMatchObject({ numOrders: 10, slippageFrac: 5e-3 });
114
114
  });
115
115
  (0, import_globals.it)("should handle max values for all fields for iso orders", () => {
@@ -117,17 +117,17 @@ var import_unpackOrderAppendix = require("./unpackOrderAppendix.cjs");
117
117
  orderExecutionType: "post_only",
118
118
  triggerType: void 0,
119
119
  reduceOnly: true,
120
- isolated: { margin: 79228162514264337593543950335n }
121
- // 2^96-1
120
+ isolated: { margin: 18446744073709551615n }
121
+ // 2^64-1
122
122
  };
123
123
  const packed = (0, import_packOrderAppendix.packOrderAppendix)(appendix);
124
124
  const unpacked = (0, import_unpackOrderAppendix.unpackOrderAppendix)(packed);
125
125
  (0, import_globals.expect)(unpacked.orderExecutionType).toBe(appendix.orderExecutionType);
126
126
  (0, import_globals.expect)(unpacked.triggerType).toBe(appendix.triggerType);
127
127
  (0, import_globals.expect)(unpacked.reduceOnly).toBe(appendix.reduceOnly);
128
- (0, import_globals.expect)(unpacked.isolated?.margin).toBe(79228162514264337593543950335n);
128
+ (0, import_globals.expect)(unpacked.isolated?.margin).toBe(18446744000000000000n);
129
129
  (0, import_globals.expect)(unpacked.twap).toBe(void 0);
130
- (0, import_globals.expect)(packed).toBe(340282366920938463463374607427473248000n);
130
+ (0, import_globals.expect)(packed).toBe(340282365561237229015142145n);
131
131
  });
132
132
  (0, import_globals.it)("should handle max values for all fields for TWAP orders", () => {
133
133
  const appendix = {
@@ -135,7 +135,6 @@ var import_unpackOrderAppendix = require("./unpackOrderAppendix.cjs");
135
135
  triggerType: "twap_custom_amounts",
136
136
  reduceOnly: true,
137
137
  twap: {
138
- // max 32-bit unsigned int
139
138
  numOrders: 4294967295,
140
139
  slippageFrac: 1e-6
141
140
  }
@@ -147,7 +146,7 @@ var import_unpackOrderAppendix = require("./unpackOrderAppendix.cjs");
147
146
  (0, import_globals.expect)(unpacked.reduceOnly).toBe(appendix.reduceOnly);
148
147
  (0, import_globals.expect)(unpacked.twap?.slippageFrac).toBe(1e-6);
149
148
  (0, import_globals.expect)(unpacked.twap?.numOrders).toBe(4294967295);
150
- (0, import_globals.expect)(packed).toBe(340282366841710300967557013911933828608n);
149
+ (0, import_globals.expect)(packed).toBe(340282366841710300967557013911933828609n);
151
150
  });
152
151
  });
153
152
  /*! Bundled license information:
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../node_modules/@jest/globals/build/index.js","../../../../src/utils/orders/appendix/orderAppendix.test.ts"],"sourcesContent":["/*!\n * /**\n * * Copyright (c) Meta Platforms, Inc. and affiliates.\n * *\n * * This source code is licensed under the MIT license found in the\n * * LICENSE file in the root directory of this source tree.\n * * /\n */\n/******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\nvar __webpack_exports__ = {};\n\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// eslint-disable-next-line @typescript-eslint/no-namespace\n\nthrow new Error('Do not import `@jest/globals` outside of the Jest test environment');\nmodule.exports = __webpack_exports__;\n/******/ })()\n;","import { describe, expect, it } from '@jest/globals';\nimport { OrderAppendix, OrderExecutionType } from '../../../types';\nimport { packOrderAppendix } from './packOrderAppendix';\nimport { unpackOrderAppendix } from './unpackOrderAppendix';\n\ndescribe('OrderAppendix packing/unpacking', () => {\n it('should pack and unpack an order appendix without iso/twap values', () => {\n const appendix: OrderAppendix = {\n orderExecutionType: 'default',\n triggerType: 'price',\n };\n const packed = packOrderAppendix(appendix);\n const unpacked = unpackOrderAppendix(packed);\n expect(packed).toBe(4096n);\n expect(unpacked.orderExecutionType).toBe(appendix.orderExecutionType);\n expect(unpacked.triggerType).toBe(appendix.triggerType);\n expect(unpacked.reduceOnly).toBeFalsy();\n });\n\n it('should handle reduceOnly true', () => {\n const appendix: OrderAppendix = {\n orderExecutionType: 'default',\n triggerType: 'price',\n reduceOnly: true,\n };\n const packed = packOrderAppendix(appendix);\n const unpacked = unpackOrderAppendix(packed);\n expect(packed).toBe(6144n);\n expect(unpacked.reduceOnly).toBe(true);\n });\n\n it('should handle all orderExecutionType values', () => {\n const types: OrderExecutionType[] = ['default', 'ioc', 'fok', 'post_only'];\n for (const type of types) {\n const appendix: OrderAppendix = {\n orderExecutionType: type,\n triggerType: 'price',\n };\n const packed = packOrderAppendix(appendix);\n const unpacked = unpackOrderAppendix(packed);\n expect(unpacked.orderExecutionType).toBe(type);\n }\n });\n\n it('should handle all triggerType values', () => {\n const triggers = ['price', 'twap', 'twap_custom_amounts'] as const;\n for (const trigger of triggers) {\n const appendix: OrderAppendix = {\n orderExecutionType: 'default',\n triggerType: trigger,\n };\n const packed = packOrderAppendix(appendix);\n const unpacked = unpackOrderAppendix(packed);\n expect(unpacked.triggerType).toBe(trigger);\n }\n });\n\n it('should handle isolated margin', () => {\n const appendix: OrderAppendix = {\n orderExecutionType: 'default',\n triggerType: 'price',\n\n isolated: { margin: 123456789012345678901234n },\n };\n const packed = packOrderAppendix(appendix);\n const unpacked = unpackOrderAppendix(packed);\n expect(packed).toBe(530242871277196831127717244047616n);\n expect(unpacked.isolated?.margin).toBe(123456789012345678901234n);\n });\n\n it('should handle TWAP fields', () => {\n const appendix: OrderAppendix = {\n orderExecutionType: 'default',\n triggerType: 'twap',\n\n twap: { numOrders: 10, slippageFrac: 0.005 },\n };\n const packed = packOrderAppendix(appendix);\n const unpacked = unpackOrderAppendix(packed);\n expect(packed).toBe(792281717376363744483197591552n);\n expect(unpacked.twap).toMatchObject({ numOrders: 10, slippageFrac: 0.005 });\n });\n\n it('should handle max values for all fields for iso orders', () => {\n const appendix: OrderAppendix = {\n orderExecutionType: 'post_only',\n triggerType: undefined,\n reduceOnly: true,\n isolated: { margin: 79228162514264337593543950335n }, // 2^96-1\n };\n const packed = packOrderAppendix(appendix);\n const unpacked = unpackOrderAppendix(packed);\n expect(unpacked.orderExecutionType).toBe(appendix.orderExecutionType);\n expect(unpacked.triggerType).toBe(appendix.triggerType);\n expect(unpacked.reduceOnly).toBe(appendix.reduceOnly);\n expect(unpacked.isolated?.margin).toBe(79228162514264337593543950335n);\n expect(unpacked.twap).toBe(undefined);\n expect(packed).toBe(340282366920938463463374607427473248000n);\n });\n\n it('should handle max values for all fields for TWAP orders', () => {\n const appendix: OrderAppendix = {\n orderExecutionType: 'post_only',\n triggerType: 'twap_custom_amounts',\n reduceOnly: true,\n twap: {\n // max 32-bit unsigned int\n numOrders: 4294967295,\n slippageFrac: 0.000001,\n },\n };\n const packed = packOrderAppendix(appendix);\n const unpacked = unpackOrderAppendix(packed);\n expect(unpacked.orderExecutionType).toBe(appendix.orderExecutionType);\n expect(unpacked.triggerType).toBe(appendix.triggerType);\n expect(unpacked.reduceOnly).toBe(appendix.reduceOnly);\n expect(unpacked.twap?.slippageFrac).toBe(0.000001);\n expect(unpacked.twap?.numOrders).toBe(4294967295);\n expect(packed).toBe(340282366841710300967557013911933828608n);\n });\n});\n"],"mappings":"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","names":["exports","module"]}
1
+ {"version":3,"sources":["../../../../../../node_modules/@jest/globals/build/index.js","../../../../src/utils/orders/appendix/orderAppendix.test.ts"],"sourcesContent":["/*!\n * /**\n * * Copyright (c) Meta Platforms, Inc. and affiliates.\n * *\n * * This source code is licensed under the MIT license found in the\n * * LICENSE file in the root directory of this source tree.\n * * /\n */\n/******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\nvar __webpack_exports__ = {};\n\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// eslint-disable-next-line @typescript-eslint/no-namespace\n\nthrow new Error('Do not import `@jest/globals` outside of the Jest test environment');\nmodule.exports = __webpack_exports__;\n/******/ })()\n;","import { describe, expect, it } from '@jest/globals';\nimport { OrderAppendix, OrderExecutionType } from '../../../types';\nimport { packOrderAppendix } from './packOrderAppendix';\nimport { unpackOrderAppendix } from './unpackOrderAppendix';\n\ndescribe('OrderAppendix packing/unpacking', () => {\n it('should pack and unpack an order appendix without iso/twap values', () => {\n const appendix: OrderAppendix = {\n orderExecutionType: 'default',\n triggerType: 'price',\n };\n const packed = packOrderAppendix(appendix);\n const unpacked = unpackOrderAppendix(packed);\n expect(packed).toBe(4097n);\n expect(unpacked.orderExecutionType).toBe(appendix.orderExecutionType);\n expect(unpacked.triggerType).toBe(appendix.triggerType);\n expect(unpacked.reduceOnly).toBeFalsy();\n });\n\n it('should handle reduceOnly true', () => {\n const appendix: OrderAppendix = {\n orderExecutionType: 'default',\n triggerType: 'price',\n reduceOnly: true,\n };\n const packed = packOrderAppendix(appendix);\n const unpacked = unpackOrderAppendix(packed);\n expect(packed).toBe(6145n);\n expect(unpacked.reduceOnly).toBe(true);\n });\n\n it('should handle all orderExecutionType values', () => {\n const types: OrderExecutionType[] = ['default', 'ioc', 'fok', 'post_only'];\n for (const type of types) {\n const appendix: OrderAppendix = {\n orderExecutionType: type,\n triggerType: 'price',\n };\n const packed = packOrderAppendix(appendix);\n const unpacked = unpackOrderAppendix(packed);\n expect(unpacked.orderExecutionType).toBe(type);\n }\n });\n\n it('should handle all triggerType values', () => {\n const triggers = ['price', 'twap', 'twap_custom_amounts'] as const;\n for (const trigger of triggers) {\n const appendix: OrderAppendix = {\n orderExecutionType: 'default',\n triggerType: trigger,\n };\n const packed = packOrderAppendix(appendix);\n const unpacked = unpackOrderAppendix(packed);\n expect(unpacked.triggerType).toBe(trigger);\n }\n });\n\n it('should handle isolated margin', () => {\n const appendix: OrderAppendix = {\n orderExecutionType: 'default',\n triggerType: 'price',\n\n isolated: { margin: 12345678901000000000000n },\n };\n const packed = packOrderAppendix(appendix);\n const unpacked = unpackOrderAppendix(packed);\n expect(packed).toBe(227737579102942800187821658369n);\n expect(unpacked.isolated?.margin).toBe(appendix.isolated?.margin);\n });\n\n it('should handle TWAP fields', () => {\n const appendix: OrderAppendix = {\n orderExecutionType: 'default',\n triggerType: 'twap',\n\n twap: { numOrders: 10, slippageFrac: 0.005 },\n };\n const packed = packOrderAppendix(appendix);\n const unpacked = unpackOrderAppendix(packed);\n expect(packed).toBe(792281717376363744483197591553n);\n expect(unpacked.twap).toMatchObject({ numOrders: 10, slippageFrac: 0.005 });\n });\n\n it('should handle max values for all fields for iso orders', () => {\n const appendix: OrderAppendix = {\n orderExecutionType: 'post_only',\n triggerType: undefined,\n reduceOnly: true,\n isolated: { margin: 18446744073709551615n }, // 2^64-1\n };\n const packed = packOrderAppendix(appendix);\n const unpacked = unpackOrderAppendix(packed);\n expect(unpacked.orderExecutionType).toBe(appendix.orderExecutionType);\n expect(unpacked.triggerType).toBe(appendix.triggerType);\n expect(unpacked.reduceOnly).toBe(appendix.reduceOnly);\n expect(unpacked.isolated?.margin).toBe(18446744000000000000n);\n expect(unpacked.twap).toBe(undefined);\n expect(packed).toBe(340282365561237229015142145n);\n });\n\n it('should handle max values for all fields for TWAP orders', () => {\n const appendix: OrderAppendix = {\n orderExecutionType: 'post_only',\n triggerType: 'twap_custom_amounts',\n reduceOnly: true,\n twap: {\n numOrders: 4294967295,\n slippageFrac: 0.000001,\n },\n };\n const packed = packOrderAppendix(appendix);\n const unpacked = unpackOrderAppendix(packed);\n expect(unpacked.orderExecutionType).toBe(appendix.orderExecutionType);\n expect(unpacked.triggerType).toBe(appendix.triggerType);\n expect(unpacked.reduceOnly).toBe(appendix.reduceOnly);\n expect(unpacked.twap?.slippageFrac).toBe(0.000001);\n expect(unpacked.twap?.numOrders).toBe(4294967295);\n expect(packed).toBe(340282366841710300967557013911933828609n);\n });\n});\n"],"mappings":"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","names":["exports","module"]}
@@ -17,7 +17,7 @@ import { unpackOrderAppendix } from "./unpackOrderAppendix.js";
17
17
  };
18
18
  const packed = packOrderAppendix(appendix);
19
19
  const unpacked = unpackOrderAppendix(packed);
20
- (0, import_globals.expect)(packed).toBe(4096n);
20
+ (0, import_globals.expect)(packed).toBe(4097n);
21
21
  (0, import_globals.expect)(unpacked.orderExecutionType).toBe(appendix.orderExecutionType);
22
22
  (0, import_globals.expect)(unpacked.triggerType).toBe(appendix.triggerType);
23
23
  (0, import_globals.expect)(unpacked.reduceOnly).toBeFalsy();
@@ -30,7 +30,7 @@ import { unpackOrderAppendix } from "./unpackOrderAppendix.js";
30
30
  };
31
31
  const packed = packOrderAppendix(appendix);
32
32
  const unpacked = unpackOrderAppendix(packed);
33
- (0, import_globals.expect)(packed).toBe(6144n);
33
+ (0, import_globals.expect)(packed).toBe(6145n);
34
34
  (0, import_globals.expect)(unpacked.reduceOnly).toBe(true);
35
35
  });
36
36
  (0, import_globals.it)("should handle all orderExecutionType values", () => {
@@ -61,12 +61,12 @@ import { unpackOrderAppendix } from "./unpackOrderAppendix.js";
61
61
  const appendix = {
62
62
  orderExecutionType: "default",
63
63
  triggerType: "price",
64
- isolated: { margin: 123456789012345678901234n }
64
+ isolated: { margin: 12345678901000000000000n }
65
65
  };
66
66
  const packed = packOrderAppendix(appendix);
67
67
  const unpacked = unpackOrderAppendix(packed);
68
- (0, import_globals.expect)(packed).toBe(530242871277196831127717244047616n);
69
- (0, import_globals.expect)(unpacked.isolated?.margin).toBe(123456789012345678901234n);
68
+ (0, import_globals.expect)(packed).toBe(227737579102942800187821658369n);
69
+ (0, import_globals.expect)(unpacked.isolated?.margin).toBe(appendix.isolated?.margin);
70
70
  });
71
71
  (0, import_globals.it)("should handle TWAP fields", () => {
72
72
  const appendix = {
@@ -76,7 +76,7 @@ import { unpackOrderAppendix } from "./unpackOrderAppendix.js";
76
76
  };
77
77
  const packed = packOrderAppendix(appendix);
78
78
  const unpacked = unpackOrderAppendix(packed);
79
- (0, import_globals.expect)(packed).toBe(792281717376363744483197591552n);
79
+ (0, import_globals.expect)(packed).toBe(792281717376363744483197591553n);
80
80
  (0, import_globals.expect)(unpacked.twap).toMatchObject({ numOrders: 10, slippageFrac: 5e-3 });
81
81
  });
82
82
  (0, import_globals.it)("should handle max values for all fields for iso orders", () => {
@@ -84,17 +84,17 @@ import { unpackOrderAppendix } from "./unpackOrderAppendix.js";
84
84
  orderExecutionType: "post_only",
85
85
  triggerType: void 0,
86
86
  reduceOnly: true,
87
- isolated: { margin: 79228162514264337593543950335n }
88
- // 2^96-1
87
+ isolated: { margin: 18446744073709551615n }
88
+ // 2^64-1
89
89
  };
90
90
  const packed = packOrderAppendix(appendix);
91
91
  const unpacked = unpackOrderAppendix(packed);
92
92
  (0, import_globals.expect)(unpacked.orderExecutionType).toBe(appendix.orderExecutionType);
93
93
  (0, import_globals.expect)(unpacked.triggerType).toBe(appendix.triggerType);
94
94
  (0, import_globals.expect)(unpacked.reduceOnly).toBe(appendix.reduceOnly);
95
- (0, import_globals.expect)(unpacked.isolated?.margin).toBe(79228162514264337593543950335n);
95
+ (0, import_globals.expect)(unpacked.isolated?.margin).toBe(18446744000000000000n);
96
96
  (0, import_globals.expect)(unpacked.twap).toBe(void 0);
97
- (0, import_globals.expect)(packed).toBe(340282366920938463463374607427473248000n);
97
+ (0, import_globals.expect)(packed).toBe(340282365561237229015142145n);
98
98
  });
99
99
  (0, import_globals.it)("should handle max values for all fields for TWAP orders", () => {
100
100
  const appendix = {
@@ -102,7 +102,6 @@ import { unpackOrderAppendix } from "./unpackOrderAppendix.js";
102
102
  triggerType: "twap_custom_amounts",
103
103
  reduceOnly: true,
104
104
  twap: {
105
- // max 32-bit unsigned int
106
105
  numOrders: 4294967295,
107
106
  slippageFrac: 1e-6
108
107
  }
@@ -114,7 +113,7 @@ import { unpackOrderAppendix } from "./unpackOrderAppendix.js";
114
113
  (0, import_globals.expect)(unpacked.reduceOnly).toBe(appendix.reduceOnly);
115
114
  (0, import_globals.expect)(unpacked.twap?.slippageFrac).toBe(1e-6);
116
115
  (0, import_globals.expect)(unpacked.twap?.numOrders).toBe(4294967295);
117
- (0, import_globals.expect)(packed).toBe(340282366841710300967557013911933828608n);
116
+ (0, import_globals.expect)(packed).toBe(340282366841710300967557013911933828609n);
118
117
  });
119
118
  });
120
119
  //# sourceMappingURL=orderAppendix.test.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/utils/orders/appendix/orderAppendix.test.ts"],"sourcesContent":["import { describe, expect, it } from '@jest/globals';\nimport { OrderAppendix, OrderExecutionType } from '../../../types';\nimport { packOrderAppendix } from './packOrderAppendix';\nimport { unpackOrderAppendix } from './unpackOrderAppendix';\n\ndescribe('OrderAppendix packing/unpacking', () => {\n it('should pack and unpack an order appendix without iso/twap values', () => {\n const appendix: OrderAppendix = {\n orderExecutionType: 'default',\n triggerType: 'price',\n };\n const packed = packOrderAppendix(appendix);\n const unpacked = unpackOrderAppendix(packed);\n expect(packed).toBe(4096n);\n expect(unpacked.orderExecutionType).toBe(appendix.orderExecutionType);\n expect(unpacked.triggerType).toBe(appendix.triggerType);\n expect(unpacked.reduceOnly).toBeFalsy();\n });\n\n it('should handle reduceOnly true', () => {\n const appendix: OrderAppendix = {\n orderExecutionType: 'default',\n triggerType: 'price',\n reduceOnly: true,\n };\n const packed = packOrderAppendix(appendix);\n const unpacked = unpackOrderAppendix(packed);\n expect(packed).toBe(6144n);\n expect(unpacked.reduceOnly).toBe(true);\n });\n\n it('should handle all orderExecutionType values', () => {\n const types: OrderExecutionType[] = ['default', 'ioc', 'fok', 'post_only'];\n for (const type of types) {\n const appendix: OrderAppendix = {\n orderExecutionType: type,\n triggerType: 'price',\n };\n const packed = packOrderAppendix(appendix);\n const unpacked = unpackOrderAppendix(packed);\n expect(unpacked.orderExecutionType).toBe(type);\n }\n });\n\n it('should handle all triggerType values', () => {\n const triggers = ['price', 'twap', 'twap_custom_amounts'] as const;\n for (const trigger of triggers) {\n const appendix: OrderAppendix = {\n orderExecutionType: 'default',\n triggerType: trigger,\n };\n const packed = packOrderAppendix(appendix);\n const unpacked = unpackOrderAppendix(packed);\n expect(unpacked.triggerType).toBe(trigger);\n }\n });\n\n it('should handle isolated margin', () => {\n const appendix: OrderAppendix = {\n orderExecutionType: 'default',\n triggerType: 'price',\n\n isolated: { margin: 123456789012345678901234n },\n };\n const packed = packOrderAppendix(appendix);\n const unpacked = unpackOrderAppendix(packed);\n expect(packed).toBe(530242871277196831127717244047616n);\n expect(unpacked.isolated?.margin).toBe(123456789012345678901234n);\n });\n\n it('should handle TWAP fields', () => {\n const appendix: OrderAppendix = {\n orderExecutionType: 'default',\n triggerType: 'twap',\n\n twap: { numOrders: 10, slippageFrac: 0.005 },\n };\n const packed = packOrderAppendix(appendix);\n const unpacked = unpackOrderAppendix(packed);\n expect(packed).toBe(792281717376363744483197591552n);\n expect(unpacked.twap).toMatchObject({ numOrders: 10, slippageFrac: 0.005 });\n });\n\n it('should handle max values for all fields for iso orders', () => {\n const appendix: OrderAppendix = {\n orderExecutionType: 'post_only',\n triggerType: undefined,\n reduceOnly: true,\n isolated: { margin: 79228162514264337593543950335n }, // 2^96-1\n };\n const packed = packOrderAppendix(appendix);\n const unpacked = unpackOrderAppendix(packed);\n expect(unpacked.orderExecutionType).toBe(appendix.orderExecutionType);\n expect(unpacked.triggerType).toBe(appendix.triggerType);\n expect(unpacked.reduceOnly).toBe(appendix.reduceOnly);\n expect(unpacked.isolated?.margin).toBe(79228162514264337593543950335n);\n expect(unpacked.twap).toBe(undefined);\n expect(packed).toBe(340282366920938463463374607427473248000n);\n });\n\n it('should handle max values for all fields for TWAP orders', () => {\n const appendix: OrderAppendix = {\n orderExecutionType: 'post_only',\n triggerType: 'twap_custom_amounts',\n reduceOnly: true,\n twap: {\n // max 32-bit unsigned int\n numOrders: 4294967295,\n slippageFrac: 0.000001,\n },\n };\n const packed = packOrderAppendix(appendix);\n const unpacked = unpackOrderAppendix(packed);\n expect(unpacked.orderExecutionType).toBe(appendix.orderExecutionType);\n expect(unpacked.triggerType).toBe(appendix.triggerType);\n expect(unpacked.reduceOnly).toBe(appendix.reduceOnly);\n expect(unpacked.twap?.slippageFrac).toBe(0.000001);\n expect(unpacked.twap?.numOrders).toBe(4294967295);\n expect(packed).toBe(340282366841710300967557013911933828608n);\n });\n});\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../../src/utils/orders/appendix/orderAppendix.test.ts"],"sourcesContent":["import { describe, expect, it } from '@jest/globals';\nimport { OrderAppendix, OrderExecutionType } from '../../../types';\nimport { packOrderAppendix } from './packOrderAppendix';\nimport { unpackOrderAppendix } from './unpackOrderAppendix';\n\ndescribe('OrderAppendix packing/unpacking', () => {\n it('should pack and unpack an order appendix without iso/twap values', () => {\n const appendix: OrderAppendix = {\n orderExecutionType: 'default',\n triggerType: 'price',\n };\n const packed = packOrderAppendix(appendix);\n const unpacked = unpackOrderAppendix(packed);\n expect(packed).toBe(4097n);\n expect(unpacked.orderExecutionType).toBe(appendix.orderExecutionType);\n expect(unpacked.triggerType).toBe(appendix.triggerType);\n expect(unpacked.reduceOnly).toBeFalsy();\n });\n\n it('should handle reduceOnly true', () => {\n const appendix: OrderAppendix = {\n orderExecutionType: 'default',\n triggerType: 'price',\n reduceOnly: true,\n };\n const packed = packOrderAppendix(appendix);\n const unpacked = unpackOrderAppendix(packed);\n expect(packed).toBe(6145n);\n expect(unpacked.reduceOnly).toBe(true);\n });\n\n it('should handle all orderExecutionType values', () => {\n const types: OrderExecutionType[] = ['default', 'ioc', 'fok', 'post_only'];\n for (const type of types) {\n const appendix: OrderAppendix = {\n orderExecutionType: type,\n triggerType: 'price',\n };\n const packed = packOrderAppendix(appendix);\n const unpacked = unpackOrderAppendix(packed);\n expect(unpacked.orderExecutionType).toBe(type);\n }\n });\n\n it('should handle all triggerType values', () => {\n const triggers = ['price', 'twap', 'twap_custom_amounts'] as const;\n for (const trigger of triggers) {\n const appendix: OrderAppendix = {\n orderExecutionType: 'default',\n triggerType: trigger,\n };\n const packed = packOrderAppendix(appendix);\n const unpacked = unpackOrderAppendix(packed);\n expect(unpacked.triggerType).toBe(trigger);\n }\n });\n\n it('should handle isolated margin', () => {\n const appendix: OrderAppendix = {\n orderExecutionType: 'default',\n triggerType: 'price',\n\n isolated: { margin: 12345678901000000000000n },\n };\n const packed = packOrderAppendix(appendix);\n const unpacked = unpackOrderAppendix(packed);\n expect(packed).toBe(227737579102942800187821658369n);\n expect(unpacked.isolated?.margin).toBe(appendix.isolated?.margin);\n });\n\n it('should handle TWAP fields', () => {\n const appendix: OrderAppendix = {\n orderExecutionType: 'default',\n triggerType: 'twap',\n\n twap: { numOrders: 10, slippageFrac: 0.005 },\n };\n const packed = packOrderAppendix(appendix);\n const unpacked = unpackOrderAppendix(packed);\n expect(packed).toBe(792281717376363744483197591553n);\n expect(unpacked.twap).toMatchObject({ numOrders: 10, slippageFrac: 0.005 });\n });\n\n it('should handle max values for all fields for iso orders', () => {\n const appendix: OrderAppendix = {\n orderExecutionType: 'post_only',\n triggerType: undefined,\n reduceOnly: true,\n isolated: { margin: 18446744073709551615n }, // 2^64-1\n };\n const packed = packOrderAppendix(appendix);\n const unpacked = unpackOrderAppendix(packed);\n expect(unpacked.orderExecutionType).toBe(appendix.orderExecutionType);\n expect(unpacked.triggerType).toBe(appendix.triggerType);\n expect(unpacked.reduceOnly).toBe(appendix.reduceOnly);\n expect(unpacked.isolated?.margin).toBe(18446744000000000000n);\n expect(unpacked.twap).toBe(undefined);\n expect(packed).toBe(340282365561237229015142145n);\n });\n\n it('should handle max values for all fields for TWAP orders', () => {\n const appendix: OrderAppendix = {\n orderExecutionType: 'post_only',\n triggerType: 'twap_custom_amounts',\n reduceOnly: true,\n twap: {\n numOrders: 4294967295,\n slippageFrac: 0.000001,\n },\n };\n const packed = packOrderAppendix(appendix);\n const unpacked = unpackOrderAppendix(packed);\n expect(unpacked.orderExecutionType).toBe(appendix.orderExecutionType);\n expect(unpacked.triggerType).toBe(appendix.triggerType);\n expect(unpacked.reduceOnly).toBe(appendix.reduceOnly);\n expect(unpacked.twap?.slippageFrac).toBe(0.000001);\n expect(unpacked.twap?.numOrders).toBe(4294967295);\n expect(packed).toBe(340282366841710300967557013911933828609n);\n });\n});\n"],"mappings":"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","names":[]}
@@ -23,16 +23,16 @@ __export(packOrderAppendix_exports, {
23
23
  packOrderAppendix: () => packOrderAppendix
24
24
  });
25
25
  module.exports = __toCommonJS(packOrderAppendix_exports);
26
- var import_toBigInt = require("../../math/toBigInt.cjs");
27
- var import_appendixTWAPValue = require("./appendixTWAPValue.cjs");
26
+ var import_appendixIsolatedValue = require("./appendixIsolatedValue.cjs");
27
+ var import_appendixTwapValue = require("./appendixTwapValue.cjs");
28
28
  var import_bitMaskValue = require("./bitMaskValue.cjs");
29
29
  function mapOrderAppendixToBitValues(appendix) {
30
30
  const value = (() => {
31
31
  if (appendix.twap) {
32
- return (0, import_appendixTWAPValue.packTWAPOrderAppendixValue)(appendix.twap);
32
+ return (0, import_appendixTwapValue.packTwapOrderAppendixValue)(appendix.twap);
33
33
  }
34
34
  if (appendix.isolated) {
35
- return (0, import_toBigInt.toBigInt)(appendix.isolated.margin);
35
+ return (0, import_appendixIsolatedValue.packIsolatedOrderAppendixValue)(appendix.isolated);
36
36
  }
37
37
  return 0n;
38
38
  })();
@@ -67,13 +67,13 @@ function mapOrderAppendixToBitValues(appendix) {
67
67
  reduceOnly: appendix.reduceOnly ? 1 : 0,
68
68
  orderType,
69
69
  isolated: appendix.isolated ? 1 : 0,
70
- version: 0
70
+ version: 1
71
71
  };
72
72
  }
73
73
  function packOrderAppendix(appendix) {
74
74
  const bits = mapOrderAppendixToBitValues(appendix);
75
- let packed = (0, import_bitMaskValue.bitMaskValue)(bits.value, 96);
76
- packed = packed << 18n | (0, import_bitMaskValue.bitMaskValue)(bits.reserved, 18);
75
+ let packed = (0, import_bitMaskValue.bitMaskValue)(bits.value, 64);
76
+ packed = packed << 50n | (0, import_bitMaskValue.bitMaskValue)(bits.reserved, 50);
77
77
  packed = packed << 2n | (0, import_bitMaskValue.bitMaskValue)(bits.trigger, 2);
78
78
  packed = packed << 1n | (0, import_bitMaskValue.bitMaskValue)(bits.reduceOnly, 1);
79
79
  packed = packed << 2n | (0, import_bitMaskValue.bitMaskValue)(bits.orderType, 2);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/utils/orders/appendix/packOrderAppendix.ts"],"sourcesContent":["import { OrderAppendix } from '../../../types/orderAppendixTypes';\nimport { toBigInt } from '../../math/toBigInt';\nimport { packTWAPOrderAppendixValue } from './appendixTWAPValue';\nimport { bitMaskValue } from './bitMaskValue';\nimport { PackedOrderAppendixBits } from './types';\n\nfunction mapOrderAppendixToBitValues(\n appendix: OrderAppendix,\n): PackedOrderAppendixBits {\n const value = (() => {\n if (appendix.twap) {\n return packTWAPOrderAppendixValue(appendix.twap);\n }\n if (appendix.isolated) {\n return toBigInt(appendix.isolated.margin);\n }\n return 0n;\n })();\n const trigger = (() => {\n switch (appendix.triggerType) {\n case 'price':\n return 1;\n case 'twap':\n return 2;\n case 'twap_custom_amounts':\n return 3;\n default:\n return 0;\n }\n })();\n const orderType = (() => {\n switch (appendix.orderExecutionType) {\n case 'default':\n return 0;\n case 'ioc':\n return 1;\n case 'fok':\n return 2;\n case 'post_only':\n return 3;\n }\n })();\n\n return {\n value,\n reserved: 0,\n trigger,\n reduceOnly: appendix.reduceOnly ? 1 : 0,\n orderType,\n isolated: appendix.isolated ? 1 : 0,\n version: 0,\n };\n}\n\n/**\n * Pack the OrderAppendix fields into a single bigint.\n * @param appendix\n */\nexport function packOrderAppendix(appendix: OrderAppendix): bigint {\n const bits = mapOrderAppendixToBitValues(appendix);\n\n // Ensure value is within 96 bits\n let packed = bitMaskValue(bits.value, 96);\n packed = (packed << 18n) | bitMaskValue(bits.reserved, 18);\n packed = (packed << 2n) | bitMaskValue(bits.trigger, 2);\n packed = (packed << 1n) | bitMaskValue(bits.reduceOnly, 1);\n packed = (packed << 2n) | bitMaskValue(bits.orderType, 2);\n packed = (packed << 1n) | bitMaskValue(bits.isolated, 1);\n packed = (packed << 8n) | bitMaskValue(bits.version, 8);\n return packed;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,sBAAyB;AACzB,+BAA2C;AAC3C,0BAA6B;AAG7B,SAAS,4BACP,UACyB;AACzB,QAAM,SAAS,MAAM;AACnB,QAAI,SAAS,MAAM;AACjB,iBAAO,qDAA2B,SAAS,IAAI;AAAA,IACjD;AACA,QAAI,SAAS,UAAU;AACrB,iBAAO,0BAAS,SAAS,SAAS,MAAM;AAAA,IAC1C;AACA,WAAO;AAAA,EACT,GAAG;AACH,QAAM,WAAW,MAAM;AACrB,YAAQ,SAAS,aAAa;AAAA,MAC5B,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT;AACE,eAAO;AAAA,IACX;AAAA,EACF,GAAG;AACH,QAAM,aAAa,MAAM;AACvB,YAAQ,SAAS,oBAAoB;AAAA,MACnC,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,IACX;AAAA,EACF,GAAG;AAEH,SAAO;AAAA,IACL;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA,YAAY,SAAS,aAAa,IAAI;AAAA,IACtC;AAAA,IACA,UAAU,SAAS,WAAW,IAAI;AAAA,IAClC,SAAS;AAAA,EACX;AACF;AAMO,SAAS,kBAAkB,UAAiC;AACjE,QAAM,OAAO,4BAA4B,QAAQ;AAGjD,MAAI,aAAS,kCAAa,KAAK,OAAO,EAAE;AACxC,WAAU,UAAU,UAAO,kCAAa,KAAK,UAAU,EAAE;AACzD,WAAU,UAAU,SAAM,kCAAa,KAAK,SAAS,CAAC;AACtD,WAAU,UAAU,SAAM,kCAAa,KAAK,YAAY,CAAC;AACzD,WAAU,UAAU,SAAM,kCAAa,KAAK,WAAW,CAAC;AACxD,WAAU,UAAU,SAAM,kCAAa,KAAK,UAAU,CAAC;AACvD,WAAU,UAAU,SAAM,kCAAa,KAAK,SAAS,CAAC;AACtD,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../../../src/utils/orders/appendix/packOrderAppendix.ts"],"sourcesContent":["import { OrderAppendix } from '../../../types/orderAppendixTypes';\nimport { packIsolatedOrderAppendixValue } from './appendixIsolatedValue';\nimport { packTwapOrderAppendixValue } from './appendixTwapValue';\nimport { bitMaskValue } from './bitMaskValue';\nimport { PackedOrderAppendixBits } from './types';\n\nfunction mapOrderAppendixToBitValues(\n appendix: OrderAppendix,\n): PackedOrderAppendixBits {\n const value = (() => {\n if (appendix.twap) {\n return packTwapOrderAppendixValue(appendix.twap);\n }\n if (appendix.isolated) {\n return packIsolatedOrderAppendixValue(appendix.isolated);\n }\n return 0n;\n })();\n const trigger = (() => {\n switch (appendix.triggerType) {\n case 'price':\n return 1;\n case 'twap':\n return 2;\n case 'twap_custom_amounts':\n return 3;\n default:\n return 0;\n }\n })();\n const orderType = (() => {\n switch (appendix.orderExecutionType) {\n case 'default':\n return 0;\n case 'ioc':\n return 1;\n case 'fok':\n return 2;\n case 'post_only':\n return 3;\n }\n })();\n\n return {\n value,\n reserved: 0,\n trigger,\n reduceOnly: appendix.reduceOnly ? 1 : 0,\n orderType,\n isolated: appendix.isolated ? 1 : 0,\n version: 1,\n };\n}\n\n/**\n * Pack the OrderAppendix fields into a single bigint.\n * @param appendix\n */\nexport function packOrderAppendix(appendix: OrderAppendix): bigint {\n const bits = mapOrderAppendixToBitValues(appendix);\n\n // Ensure value is within 64 bits\n let packed = bitMaskValue(bits.value, 64);\n packed = (packed << 50n) | bitMaskValue(bits.reserved, 50);\n packed = (packed << 2n) | bitMaskValue(bits.trigger, 2);\n packed = (packed << 1n) | bitMaskValue(bits.reduceOnly, 1);\n packed = (packed << 2n) | bitMaskValue(bits.orderType, 2);\n packed = (packed << 1n) | bitMaskValue(bits.isolated, 1);\n packed = (packed << 8n) | bitMaskValue(bits.version, 8);\n return packed;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mCAA+C;AAC/C,+BAA2C;AAC3C,0BAA6B;AAG7B,SAAS,4BACP,UACyB;AACzB,QAAM,SAAS,MAAM;AACnB,QAAI,SAAS,MAAM;AACjB,iBAAO,qDAA2B,SAAS,IAAI;AAAA,IACjD;AACA,QAAI,SAAS,UAAU;AACrB,iBAAO,6DAA+B,SAAS,QAAQ;AAAA,IACzD;AACA,WAAO;AAAA,EACT,GAAG;AACH,QAAM,WAAW,MAAM;AACrB,YAAQ,SAAS,aAAa;AAAA,MAC5B,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT;AACE,eAAO;AAAA,IACX;AAAA,EACF,GAAG;AACH,QAAM,aAAa,MAAM;AACvB,YAAQ,SAAS,oBAAoB;AAAA,MACnC,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,IACX;AAAA,EACF,GAAG;AAEH,SAAO;AAAA,IACL;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA,YAAY,SAAS,aAAa,IAAI;AAAA,IACtC;AAAA,IACA,UAAU,SAAS,WAAW,IAAI;AAAA,IAClC,SAAS;AAAA,EACX;AACF;AAMO,SAAS,kBAAkB,UAAiC;AACjE,QAAM,OAAO,4BAA4B,QAAQ;AAGjD,MAAI,aAAS,kCAAa,KAAK,OAAO,EAAE;AACxC,WAAU,UAAU,UAAO,kCAAa,KAAK,UAAU,EAAE;AACzD,WAAU,UAAU,SAAM,kCAAa,KAAK,SAAS,CAAC;AACtD,WAAU,UAAU,SAAM,kCAAa,KAAK,YAAY,CAAC;AACzD,WAAU,UAAU,SAAM,kCAAa,KAAK,WAAW,CAAC;AACxD,WAAU,UAAU,SAAM,kCAAa,KAAK,UAAU,CAAC;AACvD,WAAU,UAAU,SAAM,kCAAa,KAAK,SAAS,CAAC;AACtD,SAAO;AACT;","names":[]}
@@ -1,16 +1,16 @@
1
1
  import "../../../chunk-5WRI5ZAA.js";
2
2
 
3
3
  // src/utils/orders/appendix/packOrderAppendix.ts
4
- import { toBigInt } from "../../math/toBigInt.js";
5
- import { packTWAPOrderAppendixValue } from "./appendixTWAPValue.js";
4
+ import { packIsolatedOrderAppendixValue } from "./appendixIsolatedValue.js";
5
+ import { packTwapOrderAppendixValue } from "./appendixTwapValue.js";
6
6
  import { bitMaskValue } from "./bitMaskValue.js";
7
7
  function mapOrderAppendixToBitValues(appendix) {
8
8
  const value = (() => {
9
9
  if (appendix.twap) {
10
- return packTWAPOrderAppendixValue(appendix.twap);
10
+ return packTwapOrderAppendixValue(appendix.twap);
11
11
  }
12
12
  if (appendix.isolated) {
13
- return toBigInt(appendix.isolated.margin);
13
+ return packIsolatedOrderAppendixValue(appendix.isolated);
14
14
  }
15
15
  return 0n;
16
16
  })();
@@ -45,13 +45,13 @@ function mapOrderAppendixToBitValues(appendix) {
45
45
  reduceOnly: appendix.reduceOnly ? 1 : 0,
46
46
  orderType,
47
47
  isolated: appendix.isolated ? 1 : 0,
48
- version: 0
48
+ version: 1
49
49
  };
50
50
  }
51
51
  function packOrderAppendix(appendix) {
52
52
  const bits = mapOrderAppendixToBitValues(appendix);
53
- let packed = bitMaskValue(bits.value, 96);
54
- packed = packed << 18n | bitMaskValue(bits.reserved, 18);
53
+ let packed = bitMaskValue(bits.value, 64);
54
+ packed = packed << 50n | bitMaskValue(bits.reserved, 50);
55
55
  packed = packed << 2n | bitMaskValue(bits.trigger, 2);
56
56
  packed = packed << 1n | bitMaskValue(bits.reduceOnly, 1);
57
57
  packed = packed << 2n | bitMaskValue(bits.orderType, 2);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/utils/orders/appendix/packOrderAppendix.ts"],"sourcesContent":["import { OrderAppendix } from '../../../types/orderAppendixTypes';\nimport { toBigInt } from '../../math/toBigInt';\nimport { packTWAPOrderAppendixValue } from './appendixTWAPValue';\nimport { bitMaskValue } from './bitMaskValue';\nimport { PackedOrderAppendixBits } from './types';\n\nfunction mapOrderAppendixToBitValues(\n appendix: OrderAppendix,\n): PackedOrderAppendixBits {\n const value = (() => {\n if (appendix.twap) {\n return packTWAPOrderAppendixValue(appendix.twap);\n }\n if (appendix.isolated) {\n return toBigInt(appendix.isolated.margin);\n }\n return 0n;\n })();\n const trigger = (() => {\n switch (appendix.triggerType) {\n case 'price':\n return 1;\n case 'twap':\n return 2;\n case 'twap_custom_amounts':\n return 3;\n default:\n return 0;\n }\n })();\n const orderType = (() => {\n switch (appendix.orderExecutionType) {\n case 'default':\n return 0;\n case 'ioc':\n return 1;\n case 'fok':\n return 2;\n case 'post_only':\n return 3;\n }\n })();\n\n return {\n value,\n reserved: 0,\n trigger,\n reduceOnly: appendix.reduceOnly ? 1 : 0,\n orderType,\n isolated: appendix.isolated ? 1 : 0,\n version: 0,\n };\n}\n\n/**\n * Pack the OrderAppendix fields into a single bigint.\n * @param appendix\n */\nexport function packOrderAppendix(appendix: OrderAppendix): bigint {\n const bits = mapOrderAppendixToBitValues(appendix);\n\n // Ensure value is within 96 bits\n let packed = bitMaskValue(bits.value, 96);\n packed = (packed << 18n) | bitMaskValue(bits.reserved, 18);\n packed = (packed << 2n) | bitMaskValue(bits.trigger, 2);\n packed = (packed << 1n) | bitMaskValue(bits.reduceOnly, 1);\n packed = (packed << 2n) | bitMaskValue(bits.orderType, 2);\n packed = (packed << 1n) | bitMaskValue(bits.isolated, 1);\n packed = (packed << 8n) | bitMaskValue(bits.version, 8);\n return packed;\n}\n"],"mappings":";;;AACA,SAAS,gBAAgB;AACzB,SAAS,kCAAkC;AAC3C,SAAS,oBAAoB;AAG7B,SAAS,4BACP,UACyB;AACzB,QAAM,SAAS,MAAM;AACnB,QAAI,SAAS,MAAM;AACjB,aAAO,2BAA2B,SAAS,IAAI;AAAA,IACjD;AACA,QAAI,SAAS,UAAU;AACrB,aAAO,SAAS,SAAS,SAAS,MAAM;AAAA,IAC1C;AACA,WAAO;AAAA,EACT,GAAG;AACH,QAAM,WAAW,MAAM;AACrB,YAAQ,SAAS,aAAa;AAAA,MAC5B,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT;AACE,eAAO;AAAA,IACX;AAAA,EACF,GAAG;AACH,QAAM,aAAa,MAAM;AACvB,YAAQ,SAAS,oBAAoB;AAAA,MACnC,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,IACX;AAAA,EACF,GAAG;AAEH,SAAO;AAAA,IACL;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA,YAAY,SAAS,aAAa,IAAI;AAAA,IACtC;AAAA,IACA,UAAU,SAAS,WAAW,IAAI;AAAA,IAClC,SAAS;AAAA,EACX;AACF;AAMO,SAAS,kBAAkB,UAAiC;AACjE,QAAM,OAAO,4BAA4B,QAAQ;AAGjD,MAAI,SAAS,aAAa,KAAK,OAAO,EAAE;AACxC,WAAU,UAAU,MAAO,aAAa,KAAK,UAAU,EAAE;AACzD,WAAU,UAAU,KAAM,aAAa,KAAK,SAAS,CAAC;AACtD,WAAU,UAAU,KAAM,aAAa,KAAK,YAAY,CAAC;AACzD,WAAU,UAAU,KAAM,aAAa,KAAK,WAAW,CAAC;AACxD,WAAU,UAAU,KAAM,aAAa,KAAK,UAAU,CAAC;AACvD,WAAU,UAAU,KAAM,aAAa,KAAK,SAAS,CAAC;AACtD,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../../../src/utils/orders/appendix/packOrderAppendix.ts"],"sourcesContent":["import { OrderAppendix } from '../../../types/orderAppendixTypes';\nimport { packIsolatedOrderAppendixValue } from './appendixIsolatedValue';\nimport { packTwapOrderAppendixValue } from './appendixTwapValue';\nimport { bitMaskValue } from './bitMaskValue';\nimport { PackedOrderAppendixBits } from './types';\n\nfunction mapOrderAppendixToBitValues(\n appendix: OrderAppendix,\n): PackedOrderAppendixBits {\n const value = (() => {\n if (appendix.twap) {\n return packTwapOrderAppendixValue(appendix.twap);\n }\n if (appendix.isolated) {\n return packIsolatedOrderAppendixValue(appendix.isolated);\n }\n return 0n;\n })();\n const trigger = (() => {\n switch (appendix.triggerType) {\n case 'price':\n return 1;\n case 'twap':\n return 2;\n case 'twap_custom_amounts':\n return 3;\n default:\n return 0;\n }\n })();\n const orderType = (() => {\n switch (appendix.orderExecutionType) {\n case 'default':\n return 0;\n case 'ioc':\n return 1;\n case 'fok':\n return 2;\n case 'post_only':\n return 3;\n }\n })();\n\n return {\n value,\n reserved: 0,\n trigger,\n reduceOnly: appendix.reduceOnly ? 1 : 0,\n orderType,\n isolated: appendix.isolated ? 1 : 0,\n version: 1,\n };\n}\n\n/**\n * Pack the OrderAppendix fields into a single bigint.\n * @param appendix\n */\nexport function packOrderAppendix(appendix: OrderAppendix): bigint {\n const bits = mapOrderAppendixToBitValues(appendix);\n\n // Ensure value is within 64 bits\n let packed = bitMaskValue(bits.value, 64);\n packed = (packed << 50n) | bitMaskValue(bits.reserved, 50);\n packed = (packed << 2n) | bitMaskValue(bits.trigger, 2);\n packed = (packed << 1n) | bitMaskValue(bits.reduceOnly, 1);\n packed = (packed << 2n) | bitMaskValue(bits.orderType, 2);\n packed = (packed << 1n) | bitMaskValue(bits.isolated, 1);\n packed = (packed << 8n) | bitMaskValue(bits.version, 8);\n return packed;\n}\n"],"mappings":";;;AACA,SAAS,sCAAsC;AAC/C,SAAS,kCAAkC;AAC3C,SAAS,oBAAoB;AAG7B,SAAS,4BACP,UACyB;AACzB,QAAM,SAAS,MAAM;AACnB,QAAI,SAAS,MAAM;AACjB,aAAO,2BAA2B,SAAS,IAAI;AAAA,IACjD;AACA,QAAI,SAAS,UAAU;AACrB,aAAO,+BAA+B,SAAS,QAAQ;AAAA,IACzD;AACA,WAAO;AAAA,EACT,GAAG;AACH,QAAM,WAAW,MAAM;AACrB,YAAQ,SAAS,aAAa;AAAA,MAC5B,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT;AACE,eAAO;AAAA,IACX;AAAA,EACF,GAAG;AACH,QAAM,aAAa,MAAM;AACvB,YAAQ,SAAS,oBAAoB;AAAA,MACnC,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,IACX;AAAA,EACF,GAAG;AAEH,SAAO;AAAA,IACL;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA,YAAY,SAAS,aAAa,IAAI;AAAA,IACtC;AAAA,IACA,UAAU,SAAS,WAAW,IAAI;AAAA,IAClC,SAAS;AAAA,EACX;AACF;AAMO,SAAS,kBAAkB,UAAiC;AACjE,QAAM,OAAO,4BAA4B,QAAQ;AAGjD,MAAI,SAAS,aAAa,KAAK,OAAO,EAAE;AACxC,WAAU,UAAU,MAAO,aAAa,KAAK,UAAU,EAAE;AACzD,WAAU,UAAU,KAAM,aAAa,KAAK,SAAS,CAAC;AACtD,WAAU,UAAU,KAAM,aAAa,KAAK,YAAY,CAAC;AACzD,WAAU,UAAU,KAAM,aAAa,KAAK,WAAW,CAAC;AACxD,WAAU,UAAU,KAAM,aAAa,KAAK,UAAU,CAAC;AACvD,WAAU,UAAU,KAAM,aAAa,KAAK,SAAS,CAAC;AACtD,SAAO;AACT;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/utils/orders/appendix/types.ts"],"sourcesContent":["/**\n * Bit layout for OrderAppendix packing (MSB → LSB):\n *\n * | value | reserved | trigger | reduceOnly | orderType | isolated | version |\n * |-----------|----------|---------|------------|-----------|----------|---------|\n * | 127..32 | 31..14 | 13..12 | 11 | 10..9 | 8 | 7..0 |\n * | 96 bits | 18 bits | 2 bits | 1 bit | 2 bits | 1 bit | 8 bits |\n */\nexport interface PackedOrderAppendixBits {\n value: bigint; // 96 bits\n reserved: number; // 18 bits, set to 0\n trigger: number; // 2 bits\n reduceOnly: number; // 1 bit\n orderType: number; // 2 bits\n isolated: number; // 1 bit\n version: number; // 8 bits, set to 0\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
1
+ {"version":3,"sources":["../../../../src/utils/orders/appendix/types.ts"],"sourcesContent":["/**\n * Bit layout for OrderAppendix packing (MSB → LSB):\n *\n * | value | reserved | trigger | reduceOnly | orderType | isolated | version |\n * |-----------|----------|---------|------------|-----------|----------|---------|\n * | 127..64 | 63..14 | 13..12 | 11 | 10..9 | 8 | 7..0 |\n * | 64 bits | 50 bits | 2 bits | 1 bit | 2 bits | 1 bit | 8 bits |\n */\nexport interface PackedOrderAppendixBits {\n value: bigint; // 64 bits\n reserved: number; // 50 bits, set to 0\n trigger: number; // 2 bits\n reduceOnly: number; // 1 bit\n orderType: number; // 2 bits\n isolated: number; // 1 bit\n version: number; // 8 bits, set to 1\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
@@ -3,8 +3,8 @@
3
3
  *
4
4
  * | value | reserved | trigger | reduceOnly | orderType | isolated | version |
5
5
  * |-----------|----------|---------|------------|-----------|----------|---------|
6
- * | 127..32 | 31..14 | 13..12 | 11 | 10..9 | 8 | 7..0 |
7
- * | 96 bits | 18 bits | 2 bits | 1 bit | 2 bits | 1 bit | 8 bits |
6
+ * | 127..64 | 63..14 | 13..12 | 11 | 10..9 | 8 | 7..0 |
7
+ * | 64 bits | 50 bits | 2 bits | 1 bit | 2 bits | 1 bit | 8 bits |
8
8
  */
9
9
  interface PackedOrderAppendixBits {
10
10
  value: bigint;
@@ -3,8 +3,8 @@
3
3
  *
4
4
  * | value | reserved | trigger | reduceOnly | orderType | isolated | version |
5
5
  * |-----------|----------|---------|------------|-----------|----------|---------|
6
- * | 127..32 | 31..14 | 13..12 | 11 | 10..9 | 8 | 7..0 |
7
- * | 96 bits | 18 bits | 2 bits | 1 bit | 2 bits | 1 bit | 8 bits |
6
+ * | 127..64 | 63..14 | 13..12 | 11 | 10..9 | 8 | 7..0 |
7
+ * | 64 bits | 50 bits | 2 bits | 1 bit | 2 bits | 1 bit | 8 bits |
8
8
  */
9
9
  interface PackedOrderAppendixBits {
10
10
  value: bigint;
@@ -24,7 +24,8 @@ __export(unpackOrderAppendix_exports, {
24
24
  });
25
25
  module.exports = __toCommonJS(unpackOrderAppendix_exports);
26
26
  var import_math = require("../../math/index.cjs");
27
- var import_appendixTWAPValue = require("./appendixTWAPValue.cjs");
27
+ var import_appendixIsolatedValue = require("./appendixIsolatedValue.cjs");
28
+ var import_appendixTwapValue = require("./appendixTwapValue.cjs");
28
29
  var import_bitMaskValue = require("./bitMaskValue.cjs");
29
30
  function mapBitValuesToAppendix(bits) {
30
31
  const triggerType = (() => {
@@ -57,13 +58,13 @@ function mapBitValuesToAppendix(bits) {
57
58
  })();
58
59
  const isolatedFields = (() => {
59
60
  if (bits.isolated) {
60
- return { margin: bits.value };
61
+ return (0, import_appendixIsolatedValue.unpackIsolatedOrderAppendixValue)(bits.value);
61
62
  }
62
63
  return void 0;
63
64
  })();
64
65
  const twapFields = (() => {
65
66
  if (triggerType === "twap" || triggerType === "twap_custom_amounts") {
66
- return (0, import_appendixTWAPValue.unpackTWAPOrderAppendixValue)(bits.value);
67
+ return (0, import_appendixTwapValue.unpackTwapOrderAppendixValue)(bits.value);
67
68
  }
68
69
  })();
69
70
  return {
@@ -86,9 +87,9 @@ function unpackOrderAppendix(packed) {
86
87
  temp >>= 1n;
87
88
  const trigger = Number((0, import_bitMaskValue.bitMaskValue)(temp, 2));
88
89
  temp >>= 2n;
89
- const reserved = Number((0, import_bitMaskValue.bitMaskValue)(temp, 18));
90
- temp >>= 18n;
91
- const value = (0, import_bitMaskValue.bitMaskValue)(temp, 96);
90
+ const reserved = Number((0, import_bitMaskValue.bitMaskValue)(temp, 50));
91
+ temp >>= 50n;
92
+ const value = (0, import_bitMaskValue.bitMaskValue)(temp, 64);
92
93
  return mapBitValuesToAppendix({
93
94
  value,
94
95
  reserved,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/utils/orders/appendix/unpackOrderAppendix.ts"],"sourcesContent":["import { OrderAppendix } from '../../../types/orderAppendixTypes';\nimport { BigDecimalish, toBigInt } from '../../math';\nimport { unpackTWAPOrderAppendixValue } from './appendixTWAPValue';\nimport { bitMaskValue } from './bitMaskValue';\nimport { PackedOrderAppendixBits } from './types';\n\nfunction mapBitValuesToAppendix(bits: PackedOrderAppendixBits): OrderAppendix {\n const triggerType = (() => {\n switch (bits.trigger) {\n case 1:\n return 'price';\n case 2:\n return 'twap';\n case 3:\n return 'twap_custom_amounts';\n default:\n return undefined;\n }\n })();\n const orderExecutionType = (() => {\n switch (bits.orderType) {\n case 0:\n return 'default';\n case 1:\n return 'ioc';\n case 2:\n return 'fok';\n case 3:\n return 'post_only';\n default:\n throw new Error(\n `[mapBitValuesToAppendix] Unknown order type: ${bits.orderType}`,\n );\n }\n })();\n const isolatedFields = (() => {\n if (bits.isolated) {\n return { margin: bits.value };\n }\n return undefined;\n })();\n const twapFields = (() => {\n if (triggerType === 'twap' || triggerType === 'twap_custom_amounts') {\n return unpackTWAPOrderAppendixValue(bits.value);\n }\n })();\n\n return {\n reduceOnly: !!bits.reduceOnly,\n orderExecutionType,\n triggerType,\n isolated: isolatedFields,\n twap: twapFields,\n };\n}\n\n/**\n * Unpack the OrderAppendix fields from a packed bigint.\n * @param packed\n */\nexport function unpackOrderAppendix(packed: BigDecimalish): OrderAppendix {\n let temp = toBigInt(packed);\n // Bitmasks lowest 8 bits for version\n const version = Number(bitMaskValue(temp, 8));\n // Shift out the version bits\n temp >>= 8n;\n // Repeat for the rest of the fields\n const isolated = Number(bitMaskValue(temp, 1));\n temp >>= 1n;\n const orderType = Number(bitMaskValue(temp, 2));\n temp >>= 2n;\n const reduceOnly = Number(bitMaskValue(temp, 1));\n temp >>= 1n;\n const trigger = Number(bitMaskValue(temp, 2));\n temp >>= 2n;\n const reserved = Number(bitMaskValue(temp, 18));\n temp >>= 18n;\n // The remaining bits are the value, which should be 96 bits\n const value = bitMaskValue(temp, 96);\n\n return mapBitValuesToAppendix({\n value,\n reserved,\n trigger,\n reduceOnly,\n orderType,\n isolated,\n version,\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,kBAAwC;AACxC,+BAA6C;AAC7C,0BAA6B;AAG7B,SAAS,uBAAuB,MAA8C;AAC5E,QAAM,eAAe,MAAM;AACzB,YAAQ,KAAK,SAAS;AAAA,MACpB,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT;AACE,eAAO;AAAA,IACX;AAAA,EACF,GAAG;AACH,QAAM,sBAAsB,MAAM;AAChC,YAAQ,KAAK,WAAW;AAAA,MACtB,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT;AACE,cAAM,IAAI;AAAA,UACR,gDAAgD,KAAK,SAAS;AAAA,QAChE;AAAA,IACJ;AAAA,EACF,GAAG;AACH,QAAM,kBAAkB,MAAM;AAC5B,QAAI,KAAK,UAAU;AACjB,aAAO,EAAE,QAAQ,KAAK,MAAM;AAAA,IAC9B;AACA,WAAO;AAAA,EACT,GAAG;AACH,QAAM,cAAc,MAAM;AACxB,QAAI,gBAAgB,UAAU,gBAAgB,uBAAuB;AACnE,iBAAO,uDAA6B,KAAK,KAAK;AAAA,IAChD;AAAA,EACF,GAAG;AAEH,SAAO;AAAA,IACL,YAAY,CAAC,CAAC,KAAK;AAAA,IACnB;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,MAAM;AAAA,EACR;AACF;AAMO,SAAS,oBAAoB,QAAsC;AACxE,MAAI,WAAO,sBAAS,MAAM;AAE1B,QAAM,UAAU,WAAO,kCAAa,MAAM,CAAC,CAAC;AAE5C,WAAS;AAET,QAAM,WAAW,WAAO,kCAAa,MAAM,CAAC,CAAC;AAC7C,WAAS;AACT,QAAM,YAAY,WAAO,kCAAa,MAAM,CAAC,CAAC;AAC9C,WAAS;AACT,QAAM,aAAa,WAAO,kCAAa,MAAM,CAAC,CAAC;AAC/C,WAAS;AACT,QAAM,UAAU,WAAO,kCAAa,MAAM,CAAC,CAAC;AAC5C,WAAS;AACT,QAAM,WAAW,WAAO,kCAAa,MAAM,EAAE,CAAC;AAC9C,WAAS;AAET,QAAM,YAAQ,kCAAa,MAAM,EAAE;AAEnC,SAAO,uBAAuB;AAAA,IAC5B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../../src/utils/orders/appendix/unpackOrderAppendix.ts"],"sourcesContent":["import { OrderAppendix } from '../../../types/orderAppendixTypes';\nimport { BigDecimalish, toBigInt } from '../../math';\nimport { unpackIsolatedOrderAppendixValue } from './appendixIsolatedValue';\nimport { unpackTwapOrderAppendixValue } from './appendixTwapValue';\nimport { bitMaskValue } from './bitMaskValue';\nimport { PackedOrderAppendixBits } from './types';\n\nfunction mapBitValuesToAppendix(bits: PackedOrderAppendixBits): OrderAppendix {\n const triggerType = (() => {\n switch (bits.trigger) {\n case 1:\n return 'price';\n case 2:\n return 'twap';\n case 3:\n return 'twap_custom_amounts';\n default:\n return undefined;\n }\n })();\n const orderExecutionType = (() => {\n switch (bits.orderType) {\n case 0:\n return 'default';\n case 1:\n return 'ioc';\n case 2:\n return 'fok';\n case 3:\n return 'post_only';\n default:\n throw new Error(\n `[mapBitValuesToAppendix] Unknown order type: ${bits.orderType}`,\n );\n }\n })();\n const isolatedFields = (() => {\n if (bits.isolated) {\n return unpackIsolatedOrderAppendixValue(bits.value);\n }\n return undefined;\n })();\n const twapFields = (() => {\n if (triggerType === 'twap' || triggerType === 'twap_custom_amounts') {\n return unpackTwapOrderAppendixValue(bits.value);\n }\n })();\n\n return {\n reduceOnly: !!bits.reduceOnly,\n orderExecutionType,\n triggerType,\n isolated: isolatedFields,\n twap: twapFields,\n };\n}\n\n/**\n * Unpack the OrderAppendix fields from a packed bigint.\n * @param packed\n */\nexport function unpackOrderAppendix(packed: BigDecimalish): OrderAppendix {\n let temp = toBigInt(packed);\n // Bitmasks lowest 8 bits for version\n const version = Number(bitMaskValue(temp, 8));\n // Shift out the version bits\n temp >>= 8n;\n // Repeat for the rest of the fields\n const isolated = Number(bitMaskValue(temp, 1));\n temp >>= 1n;\n const orderType = Number(bitMaskValue(temp, 2));\n temp >>= 2n;\n const reduceOnly = Number(bitMaskValue(temp, 1));\n temp >>= 1n;\n const trigger = Number(bitMaskValue(temp, 2));\n temp >>= 2n;\n const reserved = Number(bitMaskValue(temp, 50));\n temp >>= 50n;\n // The remaining bits are the value, which should be 64 bits\n const value = bitMaskValue(temp, 64);\n\n return mapBitValuesToAppendix({\n value,\n reserved,\n trigger,\n reduceOnly,\n orderType,\n isolated,\n version,\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,kBAAwC;AACxC,mCAAiD;AACjD,+BAA6C;AAC7C,0BAA6B;AAG7B,SAAS,uBAAuB,MAA8C;AAC5E,QAAM,eAAe,MAAM;AACzB,YAAQ,KAAK,SAAS;AAAA,MACpB,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT;AACE,eAAO;AAAA,IACX;AAAA,EACF,GAAG;AACH,QAAM,sBAAsB,MAAM;AAChC,YAAQ,KAAK,WAAW;AAAA,MACtB,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT;AACE,cAAM,IAAI;AAAA,UACR,gDAAgD,KAAK,SAAS;AAAA,QAChE;AAAA,IACJ;AAAA,EACF,GAAG;AACH,QAAM,kBAAkB,MAAM;AAC5B,QAAI,KAAK,UAAU;AACjB,iBAAO,+DAAiC,KAAK,KAAK;AAAA,IACpD;AACA,WAAO;AAAA,EACT,GAAG;AACH,QAAM,cAAc,MAAM;AACxB,QAAI,gBAAgB,UAAU,gBAAgB,uBAAuB;AACnE,iBAAO,uDAA6B,KAAK,KAAK;AAAA,IAChD;AAAA,EACF,GAAG;AAEH,SAAO;AAAA,IACL,YAAY,CAAC,CAAC,KAAK;AAAA,IACnB;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,MAAM;AAAA,EACR;AACF;AAMO,SAAS,oBAAoB,QAAsC;AACxE,MAAI,WAAO,sBAAS,MAAM;AAE1B,QAAM,UAAU,WAAO,kCAAa,MAAM,CAAC,CAAC;AAE5C,WAAS;AAET,QAAM,WAAW,WAAO,kCAAa,MAAM,CAAC,CAAC;AAC7C,WAAS;AACT,QAAM,YAAY,WAAO,kCAAa,MAAM,CAAC,CAAC;AAC9C,WAAS;AACT,QAAM,aAAa,WAAO,kCAAa,MAAM,CAAC,CAAC;AAC/C,WAAS;AACT,QAAM,UAAU,WAAO,kCAAa,MAAM,CAAC,CAAC;AAC5C,WAAS;AACT,QAAM,WAAW,WAAO,kCAAa,MAAM,EAAE,CAAC;AAC9C,WAAS;AAET,QAAM,YAAQ,kCAAa,MAAM,EAAE;AAEnC,SAAO,uBAAuB;AAAA,IAC5B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACH;","names":[]}
@@ -2,7 +2,8 @@ import "../../../chunk-5WRI5ZAA.js";
2
2
 
3
3
  // src/utils/orders/appendix/unpackOrderAppendix.ts
4
4
  import { toBigInt } from "../../math/index.js";
5
- import { unpackTWAPOrderAppendixValue } from "./appendixTWAPValue.js";
5
+ import { unpackIsolatedOrderAppendixValue } from "./appendixIsolatedValue.js";
6
+ import { unpackTwapOrderAppendixValue } from "./appendixTwapValue.js";
6
7
  import { bitMaskValue } from "./bitMaskValue.js";
7
8
  function mapBitValuesToAppendix(bits) {
8
9
  const triggerType = (() => {
@@ -35,13 +36,13 @@ function mapBitValuesToAppendix(bits) {
35
36
  })();
36
37
  const isolatedFields = (() => {
37
38
  if (bits.isolated) {
38
- return { margin: bits.value };
39
+ return unpackIsolatedOrderAppendixValue(bits.value);
39
40
  }
40
41
  return void 0;
41
42
  })();
42
43
  const twapFields = (() => {
43
44
  if (triggerType === "twap" || triggerType === "twap_custom_amounts") {
44
- return unpackTWAPOrderAppendixValue(bits.value);
45
+ return unpackTwapOrderAppendixValue(bits.value);
45
46
  }
46
47
  })();
47
48
  return {
@@ -64,9 +65,9 @@ function unpackOrderAppendix(packed) {
64
65
  temp >>= 1n;
65
66
  const trigger = Number(bitMaskValue(temp, 2));
66
67
  temp >>= 2n;
67
- const reserved = Number(bitMaskValue(temp, 18));
68
- temp >>= 18n;
69
- const value = bitMaskValue(temp, 96);
68
+ const reserved = Number(bitMaskValue(temp, 50));
69
+ temp >>= 50n;
70
+ const value = bitMaskValue(temp, 64);
70
71
  return mapBitValuesToAppendix({
71
72
  value,
72
73
  reserved,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/utils/orders/appendix/unpackOrderAppendix.ts"],"sourcesContent":["import { OrderAppendix } from '../../../types/orderAppendixTypes';\nimport { BigDecimalish, toBigInt } from '../../math';\nimport { unpackTWAPOrderAppendixValue } from './appendixTWAPValue';\nimport { bitMaskValue } from './bitMaskValue';\nimport { PackedOrderAppendixBits } from './types';\n\nfunction mapBitValuesToAppendix(bits: PackedOrderAppendixBits): OrderAppendix {\n const triggerType = (() => {\n switch (bits.trigger) {\n case 1:\n return 'price';\n case 2:\n return 'twap';\n case 3:\n return 'twap_custom_amounts';\n default:\n return undefined;\n }\n })();\n const orderExecutionType = (() => {\n switch (bits.orderType) {\n case 0:\n return 'default';\n case 1:\n return 'ioc';\n case 2:\n return 'fok';\n case 3:\n return 'post_only';\n default:\n throw new Error(\n `[mapBitValuesToAppendix] Unknown order type: ${bits.orderType}`,\n );\n }\n })();\n const isolatedFields = (() => {\n if (bits.isolated) {\n return { margin: bits.value };\n }\n return undefined;\n })();\n const twapFields = (() => {\n if (triggerType === 'twap' || triggerType === 'twap_custom_amounts') {\n return unpackTWAPOrderAppendixValue(bits.value);\n }\n })();\n\n return {\n reduceOnly: !!bits.reduceOnly,\n orderExecutionType,\n triggerType,\n isolated: isolatedFields,\n twap: twapFields,\n };\n}\n\n/**\n * Unpack the OrderAppendix fields from a packed bigint.\n * @param packed\n */\nexport function unpackOrderAppendix(packed: BigDecimalish): OrderAppendix {\n let temp = toBigInt(packed);\n // Bitmasks lowest 8 bits for version\n const version = Number(bitMaskValue(temp, 8));\n // Shift out the version bits\n temp >>= 8n;\n // Repeat for the rest of the fields\n const isolated = Number(bitMaskValue(temp, 1));\n temp >>= 1n;\n const orderType = Number(bitMaskValue(temp, 2));\n temp >>= 2n;\n const reduceOnly = Number(bitMaskValue(temp, 1));\n temp >>= 1n;\n const trigger = Number(bitMaskValue(temp, 2));\n temp >>= 2n;\n const reserved = Number(bitMaskValue(temp, 18));\n temp >>= 18n;\n // The remaining bits are the value, which should be 96 bits\n const value = bitMaskValue(temp, 96);\n\n return mapBitValuesToAppendix({\n value,\n reserved,\n trigger,\n reduceOnly,\n orderType,\n isolated,\n version,\n });\n}\n"],"mappings":";;;AACA,SAAwB,gBAAgB;AACxC,SAAS,oCAAoC;AAC7C,SAAS,oBAAoB;AAG7B,SAAS,uBAAuB,MAA8C;AAC5E,QAAM,eAAe,MAAM;AACzB,YAAQ,KAAK,SAAS;AAAA,MACpB,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT;AACE,eAAO;AAAA,IACX;AAAA,EACF,GAAG;AACH,QAAM,sBAAsB,MAAM;AAChC,YAAQ,KAAK,WAAW;AAAA,MACtB,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT;AACE,cAAM,IAAI;AAAA,UACR,gDAAgD,KAAK,SAAS;AAAA,QAChE;AAAA,IACJ;AAAA,EACF,GAAG;AACH,QAAM,kBAAkB,MAAM;AAC5B,QAAI,KAAK,UAAU;AACjB,aAAO,EAAE,QAAQ,KAAK,MAAM;AAAA,IAC9B;AACA,WAAO;AAAA,EACT,GAAG;AACH,QAAM,cAAc,MAAM;AACxB,QAAI,gBAAgB,UAAU,gBAAgB,uBAAuB;AACnE,aAAO,6BAA6B,KAAK,KAAK;AAAA,IAChD;AAAA,EACF,GAAG;AAEH,SAAO;AAAA,IACL,YAAY,CAAC,CAAC,KAAK;AAAA,IACnB;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,MAAM;AAAA,EACR;AACF;AAMO,SAAS,oBAAoB,QAAsC;AACxE,MAAI,OAAO,SAAS,MAAM;AAE1B,QAAM,UAAU,OAAO,aAAa,MAAM,CAAC,CAAC;AAE5C,WAAS;AAET,QAAM,WAAW,OAAO,aAAa,MAAM,CAAC,CAAC;AAC7C,WAAS;AACT,QAAM,YAAY,OAAO,aAAa,MAAM,CAAC,CAAC;AAC9C,WAAS;AACT,QAAM,aAAa,OAAO,aAAa,MAAM,CAAC,CAAC;AAC/C,WAAS;AACT,QAAM,UAAU,OAAO,aAAa,MAAM,CAAC,CAAC;AAC5C,WAAS;AACT,QAAM,WAAW,OAAO,aAAa,MAAM,EAAE,CAAC;AAC9C,WAAS;AAET,QAAM,QAAQ,aAAa,MAAM,EAAE;AAEnC,SAAO,uBAAuB;AAAA,IAC5B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../../src/utils/orders/appendix/unpackOrderAppendix.ts"],"sourcesContent":["import { OrderAppendix } from '../../../types/orderAppendixTypes';\nimport { BigDecimalish, toBigInt } from '../../math';\nimport { unpackIsolatedOrderAppendixValue } from './appendixIsolatedValue';\nimport { unpackTwapOrderAppendixValue } from './appendixTwapValue';\nimport { bitMaskValue } from './bitMaskValue';\nimport { PackedOrderAppendixBits } from './types';\n\nfunction mapBitValuesToAppendix(bits: PackedOrderAppendixBits): OrderAppendix {\n const triggerType = (() => {\n switch (bits.trigger) {\n case 1:\n return 'price';\n case 2:\n return 'twap';\n case 3:\n return 'twap_custom_amounts';\n default:\n return undefined;\n }\n })();\n const orderExecutionType = (() => {\n switch (bits.orderType) {\n case 0:\n return 'default';\n case 1:\n return 'ioc';\n case 2:\n return 'fok';\n case 3:\n return 'post_only';\n default:\n throw new Error(\n `[mapBitValuesToAppendix] Unknown order type: ${bits.orderType}`,\n );\n }\n })();\n const isolatedFields = (() => {\n if (bits.isolated) {\n return unpackIsolatedOrderAppendixValue(bits.value);\n }\n return undefined;\n })();\n const twapFields = (() => {\n if (triggerType === 'twap' || triggerType === 'twap_custom_amounts') {\n return unpackTwapOrderAppendixValue(bits.value);\n }\n })();\n\n return {\n reduceOnly: !!bits.reduceOnly,\n orderExecutionType,\n triggerType,\n isolated: isolatedFields,\n twap: twapFields,\n };\n}\n\n/**\n * Unpack the OrderAppendix fields from a packed bigint.\n * @param packed\n */\nexport function unpackOrderAppendix(packed: BigDecimalish): OrderAppendix {\n let temp = toBigInt(packed);\n // Bitmasks lowest 8 bits for version\n const version = Number(bitMaskValue(temp, 8));\n // Shift out the version bits\n temp >>= 8n;\n // Repeat for the rest of the fields\n const isolated = Number(bitMaskValue(temp, 1));\n temp >>= 1n;\n const orderType = Number(bitMaskValue(temp, 2));\n temp >>= 2n;\n const reduceOnly = Number(bitMaskValue(temp, 1));\n temp >>= 1n;\n const trigger = Number(bitMaskValue(temp, 2));\n temp >>= 2n;\n const reserved = Number(bitMaskValue(temp, 50));\n temp >>= 50n;\n // The remaining bits are the value, which should be 64 bits\n const value = bitMaskValue(temp, 64);\n\n return mapBitValuesToAppendix({\n value,\n reserved,\n trigger,\n reduceOnly,\n orderType,\n isolated,\n version,\n });\n}\n"],"mappings":";;;AACA,SAAwB,gBAAgB;AACxC,SAAS,wCAAwC;AACjD,SAAS,oCAAoC;AAC7C,SAAS,oBAAoB;AAG7B,SAAS,uBAAuB,MAA8C;AAC5E,QAAM,eAAe,MAAM;AACzB,YAAQ,KAAK,SAAS;AAAA,MACpB,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT;AACE,eAAO;AAAA,IACX;AAAA,EACF,GAAG;AACH,QAAM,sBAAsB,MAAM;AAChC,YAAQ,KAAK,WAAW;AAAA,MACtB,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT;AACE,cAAM,IAAI;AAAA,UACR,gDAAgD,KAAK,SAAS;AAAA,QAChE;AAAA,IACJ;AAAA,EACF,GAAG;AACH,QAAM,kBAAkB,MAAM;AAC5B,QAAI,KAAK,UAAU;AACjB,aAAO,iCAAiC,KAAK,KAAK;AAAA,IACpD;AACA,WAAO;AAAA,EACT,GAAG;AACH,QAAM,cAAc,MAAM;AACxB,QAAI,gBAAgB,UAAU,gBAAgB,uBAAuB;AACnE,aAAO,6BAA6B,KAAK,KAAK;AAAA,IAChD;AAAA,EACF,GAAG;AAEH,SAAO;AAAA,IACL,YAAY,CAAC,CAAC,KAAK;AAAA,IACnB;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,MAAM;AAAA,EACR;AACF;AAMO,SAAS,oBAAoB,QAAsC;AACxE,MAAI,OAAO,SAAS,MAAM;AAE1B,QAAM,UAAU,OAAO,aAAa,MAAM,CAAC,CAAC;AAE5C,WAAS;AAET,QAAM,WAAW,OAAO,aAAa,MAAM,CAAC,CAAC;AAC7C,WAAS;AACT,QAAM,YAAY,OAAO,aAAa,MAAM,CAAC,CAAC;AAC9C,WAAS;AACT,QAAM,aAAa,OAAO,aAAa,MAAM,CAAC,CAAC;AAC/C,WAAS;AACT,QAAM,UAAU,OAAO,aAAa,MAAM,CAAC,CAAC;AAC5C,WAAS;AACT,QAAM,WAAW,OAAO,aAAa,MAAM,EAAE,CAAC;AAC9C,WAAS;AAET,QAAM,QAAQ,aAAa,MAAM,EAAE;AAEnC,SAAO,uBAAuB;AAAA,IAC5B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACH;","names":[]}
@@ -17,13 +17,13 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
17
17
  // src/utils/orders/index.ts
18
18
  var orders_exports = {};
19
19
  module.exports = __toCommonJS(orders_exports);
20
+ __reExport(orders_exports, require("./appendix/index.cjs"), module.exports);
20
21
  __reExport(orders_exports, require("./orderNonce.cjs"), module.exports);
21
22
  __reExport(orders_exports, require("./recvTime.cjs"), module.exports);
22
- __reExport(orders_exports, require("./appendix/index.cjs"), module.exports);
23
23
  // Annotate the CommonJS export names for ESM import in node:
24
24
  0 && (module.exports = {
25
+ ...require("./appendix/index.cjs"),
25
26
  ...require("./orderNonce.cjs"),
26
- ...require("./recvTime.cjs"),
27
- ...require("./appendix/index.cjs")
27
+ ...require("./recvTime.cjs")
28
28
  });
29
29
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/orders/index.ts"],"sourcesContent":["export * from './orderNonce';\nexport * from './recvTime';\nexport * from './appendix';\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,2BAAc,6BAAd;AACA,2BAAc,2BADd;AAEA,2BAAc,iCAFd;","names":[]}
1
+ {"version":3,"sources":["../../../src/utils/orders/index.ts"],"sourcesContent":["export * from './appendix';\nexport * from './orderNonce';\nexport * from './recvTime';\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,2BAAc,iCAAd;AACA,2BAAc,6BADd;AAEA,2BAAc,2BAFd;","names":[]}