@nadohq/shared 0.1.0-alpha.4 → 0.1.0-alpha.41
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/dist/abis/index.cjs +12 -12
- package/dist/abis/index.cjs.map +1 -1
- package/dist/abis/index.d.cts +6 -6
- package/dist/abis/index.d.ts +6 -6
- package/dist/abis/index.js +6 -6
- package/dist/abis/index.js.map +1 -1
- package/dist/consts/chainEnvToChain.cjs +2 -2
- package/dist/consts/chainEnvToChain.cjs.map +1 -1
- package/dist/consts/chainEnvToChain.d.cts +329 -39
- package/dist/consts/chainEnvToChain.d.ts +329 -39
- package/dist/consts/chainEnvToChain.js +3 -3
- package/dist/consts/chainEnvToChain.js.map +1 -1
- package/dist/consts/productIds.cjs +1 -1
- package/dist/consts/productIds.cjs.map +1 -1
- package/dist/consts/productIds.d.cts +1 -1
- package/dist/consts/productIds.d.ts +1 -1
- package/dist/consts/productIds.js +1 -1
- package/dist/consts/productIds.js.map +1 -1
- package/dist/deployments/core/deployment.inkMainnet.json +13 -0
- package/dist/deployments/core/deployment.inkSepolia.json +13 -0
- package/dist/deployments/index.cjs +6 -6
- package/dist/deployments/index.cjs.map +1 -1
- package/dist/deployments/index.js +5 -5
- package/dist/deployments/index.js.map +1 -1
- package/dist/eip712/eip712ValueTypes.d.cts +1 -1
- package/dist/eip712/eip712ValueTypes.d.ts +1 -1
- package/dist/eip712/getNadoEIP712Domain.cjs.map +1 -1
- package/dist/eip712/getNadoEIP712Domain.js.map +1 -1
- package/dist/eip712/index.cjs +13 -13
- package/dist/eip712/index.cjs.map +1 -1
- package/dist/eip712/index.d.cts +9 -9
- package/dist/eip712/index.d.ts +9 -9
- package/dist/eip712/index.js +6 -6
- package/dist/eip712/index.js.map +1 -1
- package/dist/index.d.cts +33 -33
- package/dist/index.d.ts +33 -33
- package/dist/types/ChainEnv.cjs +1 -1
- package/dist/types/ChainEnv.cjs.map +1 -1
- package/dist/types/ChainEnv.d.cts +2 -2
- package/dist/types/ChainEnv.d.ts +2 -2
- package/dist/types/ChainEnv.js +1 -1
- package/dist/types/ChainEnv.js.map +1 -1
- package/dist/types/index.cjs +7 -7
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.d.cts +4 -4
- package/dist/types/index.d.ts +4 -4
- package/dist/types/index.js +3 -3
- package/dist/types/index.js.map +1 -1
- package/dist/types/orderAppendixTypes.cjs.map +1 -1
- package/dist/types/orderAppendixTypes.d.cts +7 -3
- package/dist/types/orderAppendixTypes.d.ts +7 -3
- package/dist/utils/createDeterministicLinkedSignerPrivateKey.cjs.map +1 -1
- package/dist/utils/createDeterministicLinkedSignerPrivateKey.js.map +1 -1
- package/dist/utils/index.cjs +12 -12
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.d.cts +21 -21
- package/dist/utils/index.d.ts +21 -21
- package/dist/utils/index.js +6 -6
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/math/index.cjs +8 -8
- package/dist/utils/math/index.cjs.map +1 -1
- package/dist/utils/math/index.d.cts +4 -4
- package/dist/utils/math/index.d.ts +4 -4
- package/dist/utils/math/index.js +4 -4
- package/dist/utils/math/index.js.map +1 -1
- package/dist/utils/orders/appendix/appendixIsolatedValue.cjs +50 -0
- package/dist/utils/orders/appendix/appendixIsolatedValue.cjs.map +1 -0
- package/dist/utils/orders/appendix/appendixIsolatedValue.d.cts +26 -0
- package/dist/utils/orders/appendix/appendixIsolatedValue.d.ts +26 -0
- package/dist/utils/orders/appendix/appendixIsolatedValue.js +31 -0
- package/dist/utils/orders/appendix/appendixIsolatedValue.js.map +1 -0
- package/dist/utils/orders/appendix/{appendixTWAPValue.cjs → appendixTwapValue.cjs} +14 -15
- package/dist/utils/orders/appendix/appendixTwapValue.cjs.map +1 -0
- package/dist/utils/orders/appendix/appendixTwapValue.d.cts +29 -0
- package/dist/utils/orders/appendix/appendixTwapValue.d.ts +29 -0
- package/dist/utils/orders/appendix/appendixTwapValue.js +25 -0
- package/dist/utils/orders/appendix/appendixTwapValue.js.map +1 -0
- package/dist/utils/orders/appendix/index.cjs +6 -6
- package/dist/utils/orders/appendix/index.cjs.map +1 -1
- package/dist/utils/orders/appendix/index.d.cts +3 -3
- package/dist/utils/orders/appendix/index.d.ts +3 -3
- package/dist/utils/orders/appendix/index.js +3 -3
- package/dist/utils/orders/appendix/index.js.map +1 -1
- package/dist/utils/orders/appendix/orderAppendix.test.cjs +11 -12
- package/dist/utils/orders/appendix/orderAppendix.test.cjs.map +1 -1
- package/dist/utils/orders/appendix/orderAppendix.test.js +11 -12
- package/dist/utils/orders/appendix/orderAppendix.test.js.map +1 -1
- package/dist/utils/orders/appendix/packOrderAppendix.cjs +7 -7
- package/dist/utils/orders/appendix/packOrderAppendix.cjs.map +1 -1
- package/dist/utils/orders/appendix/packOrderAppendix.js +7 -7
- package/dist/utils/orders/appendix/packOrderAppendix.js.map +1 -1
- package/dist/utils/orders/appendix/types.cjs.map +1 -1
- package/dist/utils/orders/appendix/types.d.cts +2 -2
- package/dist/utils/orders/appendix/types.d.ts +2 -2
- package/dist/utils/orders/appendix/unpackOrderAppendix.cjs +7 -6
- package/dist/utils/orders/appendix/unpackOrderAppendix.cjs.map +1 -1
- package/dist/utils/orders/appendix/unpackOrderAppendix.js +7 -6
- package/dist/utils/orders/appendix/unpackOrderAppendix.js.map +1 -1
- package/dist/utils/orders/index.cjs +3 -3
- package/dist/utils/orders/index.cjs.map +1 -1
- package/dist/utils/orders/index.d.cts +5 -5
- package/dist/utils/orders/index.d.ts +5 -5
- package/dist/utils/orders/index.js +1 -1
- package/dist/utils/orders/index.js.map +1 -1
- package/dist/utils/productTypeFilter.cjs.map +1 -1
- package/dist/utils/productTypeFilter.js.map +1 -1
- package/package.json +6 -2
- package/src/abis/index.ts +6 -6
- package/src/consts/chainEnvToChain.ts +2 -2
- package/src/consts/productIds.ts +1 -1
- package/src/deployments/core/deployment.inkMainnet.json +13 -0
- package/src/deployments/core/deployment.inkSepolia.json +13 -0
- package/src/deployments/index.ts +5 -5
- package/src/eip712/getNadoEIP712Domain.ts +1 -1
- package/src/eip712/index.ts +6 -6
- package/src/types/ChainEnv.ts +1 -1
- package/src/types/index.ts +3 -3
- package/src/types/orderAppendixTypes.ts +6 -2
- package/src/utils/createDeterministicLinkedSignerPrivateKey.ts +1 -1
- package/src/utils/index.ts +6 -6
- package/src/utils/math/index.ts +4 -4
- package/src/utils/orders/appendix/appendixIsolatedValue.ts +49 -0
- package/src/utils/orders/appendix/appendixTwapValue.ts +46 -0
- package/src/utils/orders/appendix/index.ts +3 -3
- package/src/utils/orders/appendix/orderAppendix.test.ts +10 -11
- package/src/utils/orders/appendix/packOrderAppendix.ts +8 -8
- package/src/utils/orders/appendix/types.ts +5 -5
- package/src/utils/orders/appendix/unpackOrderAppendix.ts +8 -7
- package/src/utils/orders/index.ts +1 -1
- package/src/utils/productTypeFilter.ts +2 -2
- package/dist/deployments/core/deployment.InkSepolia.json +0 -13
- package/dist/deployments/core/deployment.arbitrumOne.json +0 -18
- package/dist/utils/orders/appendix/appendixTWAPValue.cjs.map +0 -1
- package/dist/utils/orders/appendix/appendixTWAPValue.d.cts +0 -31
- package/dist/utils/orders/appendix/appendixTWAPValue.d.ts +0 -31
- package/dist/utils/orders/appendix/appendixTWAPValue.js +0 -26
- package/dist/utils/orders/appendix/appendixTWAPValue.js.map +0 -1
- package/src/deployments/core/deployment.InkSepolia.json +0 -13
- package/src/deployments/core/deployment.arbitrumOne.json +0 -18
- package/src/utils/orders/appendix/appendixTWAPValue.ts +0 -51
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"nodeUrl": "https://arb1.arbitrum.io/rpc",
|
|
3
|
-
"explorerUrl": "https://explorer.arbitrum.io",
|
|
4
|
-
"subgraphCoreUrl": "https://api.thegraph.com/subgraphs/name/nado-protocol/nado-prod-core",
|
|
5
|
-
"subgraphMarketsUrl": "https://api.thegraph.com/subgraphs/name/nado-protocol/nado-prod-markets",
|
|
6
|
-
"subgraphCandleSticksUrl": "https://api.thegraph.com/subgraphs/name/nado-protocol/nado-prod-candlesticks",
|
|
7
|
-
"startBlock": 67108377,
|
|
8
|
-
"deployer": "0xB746472C10f9F128FF9F5029f424cC91bb1D8C3a",
|
|
9
|
-
"quote": "0xff970a61a04b1ca14834a43f5de4533ebddb5cc8",
|
|
10
|
-
"querier": "0x1693273B443699bee277eCbc60e2C8027E91995d",
|
|
11
|
-
"feeCalculator": "0x2259440579447D0625a5E28dfF3E743d207e8890",
|
|
12
|
-
"clearinghouse": "0xAE1ec28d6225dCE2ff787dcb8CE11cF6D3AE064f",
|
|
13
|
-
"clearinghouseLiq": "0xca007C51Fc14eEA88252Cc4FD71e91E44026F020",
|
|
14
|
-
"endpoint": "0xbbEE07B3e8121227AfCFe1E2B82772246226128e",
|
|
15
|
-
"spotEngine": "0x32d91Af2B17054D575A7bF1ACfa7615f41CCEfaB",
|
|
16
|
-
"perpEngine": "0xb74C78cca0FADAFBeE52B2f48A67eE8c834b5fd1",
|
|
17
|
-
"withdrawPool": "0x3567a1f8d79046A7e93Fd76d71104A978cDC6d05"
|
|
18
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/utils/orders/appendix/appendixTWAPValue.ts"],"sourcesContent":["import { OrderAppendixTWAPFields } from '../../../types/orderAppendixTypes';\nimport { addDecimals, removeDecimals, toBigInt } from '../../math';\n\n/**\n * Packs the provided fields into a single 96-bit bigint.\n *\n * Bit layout (MSB → LSB):\n * | times | slippage_x6 | reserved |\n * |-----------|-------------|----------|\n * | 95..64 | 63..32 | 31..0 |\n * | 32 bits | 32 bits | 32 bits |\n *\n * - `times` occupies bits 95..64 (most significant 32 bits)\n * - `slippage_x6` occupies bits 63..32 (middle 32 bits)\n * - `reserved` occupies bits 31..0 (least significant 32 bits)\n */\nexport function packTWAPOrderAppendixValue({\n numOrders,\n slippageFrac,\n}: OrderAppendixTWAPFields): bigint {\n const numOrdersBigInt = toBigInt(numOrders);\n const slippageX6BigInt = toBigInt(addDecimals(slippageFrac, 6));\n\n return (\n ((numOrdersBigInt & 0xffffffffn) << 64n) |\n ((slippageX6BigInt & 0xffffffffn) << 32n) |\n // The last reserved 32 bits are set to 0\n (0n & 0xffffffffn)\n );\n}\n\n/**\n * Unpacks a 96-bit bigint into its component fields for TWAP orders.\n *\n * @param value 96-bit bigint to unpack\n * @returns Object with:\n * - times: number, from bits 95..64\n * - slippage_x6: number, from bits 63..32\n * - reserved: number, from bits 31..0\n */\nexport function unpackTWAPOrderAppendixValue(\n value: bigint,\n): OrderAppendixTWAPFields {\n const numOrders = (value >> 64n) & 0xffffffffn;\n const slippageX6 = (value >> 32n) & 0xffffffffn;\n\n return {\n numOrders: Number(numOrders),\n slippageFrac: removeDecimals(slippageX6, 6).toNumber(),\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,kBAAsD;AAe/C,SAAS,2BAA2B;AAAA,EACzC;AAAA,EACA;AACF,GAAoC;AAClC,QAAM,sBAAkB,sBAAS,SAAS;AAC1C,QAAM,uBAAmB,0BAAS,yBAAY,cAAc,CAAC,CAAC;AAE9D,UACI,kBAAkB,gBAAgB,OAClC,mBAAmB,gBAAgB;AAAA,EAEpC,KAAK;AAEV;AAWO,SAAS,6BACd,OACyB;AACzB,QAAM,YAAa,SAAS,MAAO;AACnC,QAAM,aAAc,SAAS,MAAO;AAEpC,SAAO;AAAA,IACL,WAAW,OAAO,SAAS;AAAA,IAC3B,kBAAc,4BAAe,YAAY,CAAC,EAAE,SAAS;AAAA,EACvD;AACF;","names":[]}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { OrderAppendixTWAPFields } from '../../../types/orderAppendixTypes.cjs';
|
|
2
|
-
import '../../math/bigDecimal.cjs';
|
|
3
|
-
import 'bignumber.js';
|
|
4
|
-
import '../../../types/OrderExecutionType.cjs';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Packs the provided fields into a single 96-bit bigint.
|
|
8
|
-
*
|
|
9
|
-
* Bit layout (MSB → LSB):
|
|
10
|
-
* | times | slippage_x6 | reserved |
|
|
11
|
-
* |-----------|-------------|----------|
|
|
12
|
-
* | 95..64 | 63..32 | 31..0 |
|
|
13
|
-
* | 32 bits | 32 bits | 32 bits |
|
|
14
|
-
*
|
|
15
|
-
* - `times` occupies bits 95..64 (most significant 32 bits)
|
|
16
|
-
* - `slippage_x6` occupies bits 63..32 (middle 32 bits)
|
|
17
|
-
* - `reserved` occupies bits 31..0 (least significant 32 bits)
|
|
18
|
-
*/
|
|
19
|
-
declare function packTWAPOrderAppendixValue({ numOrders, slippageFrac, }: OrderAppendixTWAPFields): bigint;
|
|
20
|
-
/**
|
|
21
|
-
* Unpacks a 96-bit bigint into its component fields for TWAP orders.
|
|
22
|
-
*
|
|
23
|
-
* @param value 96-bit bigint to unpack
|
|
24
|
-
* @returns Object with:
|
|
25
|
-
* - times: number, from bits 95..64
|
|
26
|
-
* - slippage_x6: number, from bits 63..32
|
|
27
|
-
* - reserved: number, from bits 31..0
|
|
28
|
-
*/
|
|
29
|
-
declare function unpackTWAPOrderAppendixValue(value: bigint): OrderAppendixTWAPFields;
|
|
30
|
-
|
|
31
|
-
export { packTWAPOrderAppendixValue, unpackTWAPOrderAppendixValue };
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { OrderAppendixTWAPFields } from '../../../types/orderAppendixTypes.js';
|
|
2
|
-
import '../../math/bigDecimal.js';
|
|
3
|
-
import 'bignumber.js';
|
|
4
|
-
import '../../../types/OrderExecutionType.js';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Packs the provided fields into a single 96-bit bigint.
|
|
8
|
-
*
|
|
9
|
-
* Bit layout (MSB → LSB):
|
|
10
|
-
* | times | slippage_x6 | reserved |
|
|
11
|
-
* |-----------|-------------|----------|
|
|
12
|
-
* | 95..64 | 63..32 | 31..0 |
|
|
13
|
-
* | 32 bits | 32 bits | 32 bits |
|
|
14
|
-
*
|
|
15
|
-
* - `times` occupies bits 95..64 (most significant 32 bits)
|
|
16
|
-
* - `slippage_x6` occupies bits 63..32 (middle 32 bits)
|
|
17
|
-
* - `reserved` occupies bits 31..0 (least significant 32 bits)
|
|
18
|
-
*/
|
|
19
|
-
declare function packTWAPOrderAppendixValue({ numOrders, slippageFrac, }: OrderAppendixTWAPFields): bigint;
|
|
20
|
-
/**
|
|
21
|
-
* Unpacks a 96-bit bigint into its component fields for TWAP orders.
|
|
22
|
-
*
|
|
23
|
-
* @param value 96-bit bigint to unpack
|
|
24
|
-
* @returns Object with:
|
|
25
|
-
* - times: number, from bits 95..64
|
|
26
|
-
* - slippage_x6: number, from bits 63..32
|
|
27
|
-
* - reserved: number, from bits 31..0
|
|
28
|
-
*/
|
|
29
|
-
declare function unpackTWAPOrderAppendixValue(value: bigint): OrderAppendixTWAPFields;
|
|
30
|
-
|
|
31
|
-
export { packTWAPOrderAppendixValue, unpackTWAPOrderAppendixValue };
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import "../../../chunk-5WRI5ZAA.js";
|
|
2
|
-
|
|
3
|
-
// src/utils/orders/appendix/appendixTWAPValue.ts
|
|
4
|
-
import { addDecimals, removeDecimals, toBigInt } from "../../math/index.js";
|
|
5
|
-
function packTWAPOrderAppendixValue({
|
|
6
|
-
numOrders,
|
|
7
|
-
slippageFrac
|
|
8
|
-
}) {
|
|
9
|
-
const numOrdersBigInt = toBigInt(numOrders);
|
|
10
|
-
const slippageX6BigInt = toBigInt(addDecimals(slippageFrac, 6));
|
|
11
|
-
return (numOrdersBigInt & 0xffffffffn) << 64n | (slippageX6BigInt & 0xffffffffn) << 32n | // The last reserved 32 bits are set to 0
|
|
12
|
-
0n & 0xffffffffn;
|
|
13
|
-
}
|
|
14
|
-
function unpackTWAPOrderAppendixValue(value) {
|
|
15
|
-
const numOrders = value >> 64n & 0xffffffffn;
|
|
16
|
-
const slippageX6 = value >> 32n & 0xffffffffn;
|
|
17
|
-
return {
|
|
18
|
-
numOrders: Number(numOrders),
|
|
19
|
-
slippageFrac: removeDecimals(slippageX6, 6).toNumber()
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
export {
|
|
23
|
-
packTWAPOrderAppendixValue,
|
|
24
|
-
unpackTWAPOrderAppendixValue
|
|
25
|
-
};
|
|
26
|
-
//# sourceMappingURL=appendixTWAPValue.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/utils/orders/appendix/appendixTWAPValue.ts"],"sourcesContent":["import { OrderAppendixTWAPFields } from '../../../types/orderAppendixTypes';\nimport { addDecimals, removeDecimals, toBigInt } from '../../math';\n\n/**\n * Packs the provided fields into a single 96-bit bigint.\n *\n * Bit layout (MSB → LSB):\n * | times | slippage_x6 | reserved |\n * |-----------|-------------|----------|\n * | 95..64 | 63..32 | 31..0 |\n * | 32 bits | 32 bits | 32 bits |\n *\n * - `times` occupies bits 95..64 (most significant 32 bits)\n * - `slippage_x6` occupies bits 63..32 (middle 32 bits)\n * - `reserved` occupies bits 31..0 (least significant 32 bits)\n */\nexport function packTWAPOrderAppendixValue({\n numOrders,\n slippageFrac,\n}: OrderAppendixTWAPFields): bigint {\n const numOrdersBigInt = toBigInt(numOrders);\n const slippageX6BigInt = toBigInt(addDecimals(slippageFrac, 6));\n\n return (\n ((numOrdersBigInt & 0xffffffffn) << 64n) |\n ((slippageX6BigInt & 0xffffffffn) << 32n) |\n // The last reserved 32 bits are set to 0\n (0n & 0xffffffffn)\n );\n}\n\n/**\n * Unpacks a 96-bit bigint into its component fields for TWAP orders.\n *\n * @param value 96-bit bigint to unpack\n * @returns Object with:\n * - times: number, from bits 95..64\n * - slippage_x6: number, from bits 63..32\n * - reserved: number, from bits 31..0\n */\nexport function unpackTWAPOrderAppendixValue(\n value: bigint,\n): OrderAppendixTWAPFields {\n const numOrders = (value >> 64n) & 0xffffffffn;\n const slippageX6 = (value >> 32n) & 0xffffffffn;\n\n return {\n numOrders: Number(numOrders),\n slippageFrac: removeDecimals(slippageX6, 6).toNumber(),\n };\n}\n"],"mappings":";;;AACA,SAAS,aAAa,gBAAgB,gBAAgB;AAe/C,SAAS,2BAA2B;AAAA,EACzC;AAAA,EACA;AACF,GAAoC;AAClC,QAAM,kBAAkB,SAAS,SAAS;AAC1C,QAAM,mBAAmB,SAAS,YAAY,cAAc,CAAC,CAAC;AAE9D,UACI,kBAAkB,gBAAgB,OAClC,mBAAmB,gBAAgB;AAAA,EAEpC,KAAK;AAEV;AAWO,SAAS,6BACd,OACyB;AACzB,QAAM,YAAa,SAAS,MAAO;AACnC,QAAM,aAAc,SAAS,MAAO;AAEpC,SAAO;AAAA,IACL,WAAW,OAAO,SAAS;AAAA,IAC3B,cAAc,eAAe,YAAY,CAAC,EAAE,SAAS;AAAA,EACvD;AACF;","names":[]}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"nodeUrl": "https://rpc-gel-sepolia.inkonchain.com",
|
|
3
|
-
"explorerUrl": "https://explorer-sepolia.inkonchain.com",
|
|
4
|
-
"startBlock": 27233833,
|
|
5
|
-
"deployer": "0x8177A1b5bFaAa10A4b1178c6D42aDaa4b75c8146",
|
|
6
|
-
"quote": "0x5F65358d61A9a281ea3BB930d05889ACa21E3f4f",
|
|
7
|
-
"querier": "0x5A62e748b2630560Ffe9E928780cF9Fe0e086A21",
|
|
8
|
-
"clearinghouse": "0x5E9b4336104069467E57E843033e62c79C667F8F",
|
|
9
|
-
"endpoint": "0xf8963f7860aF7DE9b94893EDb9A3b5c155e1Fc0c",
|
|
10
|
-
"spotEngine": "0x61AA7A636df5e72eBe34c70a340eB76ABB3A15bE",
|
|
11
|
-
"perpEngine": "0x3D6Ac7105cA399884739a8CC19cAdB4178844466",
|
|
12
|
-
"withdrawPool": "0xa59613a3e4ce46E20d83b0632E3D857e3f116F66"
|
|
13
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"nodeUrl": "https://arb1.arbitrum.io/rpc",
|
|
3
|
-
"explorerUrl": "https://explorer.arbitrum.io",
|
|
4
|
-
"subgraphCoreUrl": "https://api.thegraph.com/subgraphs/name/nado-protocol/nado-prod-core",
|
|
5
|
-
"subgraphMarketsUrl": "https://api.thegraph.com/subgraphs/name/nado-protocol/nado-prod-markets",
|
|
6
|
-
"subgraphCandleSticksUrl": "https://api.thegraph.com/subgraphs/name/nado-protocol/nado-prod-candlesticks",
|
|
7
|
-
"startBlock": 67108377,
|
|
8
|
-
"deployer": "0xB746472C10f9F128FF9F5029f424cC91bb1D8C3a",
|
|
9
|
-
"quote": "0xff970a61a04b1ca14834a43f5de4533ebddb5cc8",
|
|
10
|
-
"querier": "0x1693273B443699bee277eCbc60e2C8027E91995d",
|
|
11
|
-
"feeCalculator": "0x2259440579447D0625a5E28dfF3E743d207e8890",
|
|
12
|
-
"clearinghouse": "0xAE1ec28d6225dCE2ff787dcb8CE11cF6D3AE064f",
|
|
13
|
-
"clearinghouseLiq": "0xca007C51Fc14eEA88252Cc4FD71e91E44026F020",
|
|
14
|
-
"endpoint": "0xbbEE07B3e8121227AfCFe1E2B82772246226128e",
|
|
15
|
-
"spotEngine": "0x32d91Af2B17054D575A7bF1ACfa7615f41CCEfaB",
|
|
16
|
-
"perpEngine": "0xb74C78cca0FADAFBeE52B2f48A67eE8c834b5fd1",
|
|
17
|
-
"withdrawPool": "0x3567a1f8d79046A7e93Fd76d71104A978cDC6d05"
|
|
18
|
-
}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { OrderAppendixTWAPFields } from '../../../types/orderAppendixTypes';
|
|
2
|
-
import { addDecimals, removeDecimals, toBigInt } from '../../math';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Packs the provided fields into a single 96-bit bigint.
|
|
6
|
-
*
|
|
7
|
-
* Bit layout (MSB → LSB):
|
|
8
|
-
* | times | slippage_x6 | reserved |
|
|
9
|
-
* |-----------|-------------|----------|
|
|
10
|
-
* | 95..64 | 63..32 | 31..0 |
|
|
11
|
-
* | 32 bits | 32 bits | 32 bits |
|
|
12
|
-
*
|
|
13
|
-
* - `times` occupies bits 95..64 (most significant 32 bits)
|
|
14
|
-
* - `slippage_x6` occupies bits 63..32 (middle 32 bits)
|
|
15
|
-
* - `reserved` occupies bits 31..0 (least significant 32 bits)
|
|
16
|
-
*/
|
|
17
|
-
export function packTWAPOrderAppendixValue({
|
|
18
|
-
numOrders,
|
|
19
|
-
slippageFrac,
|
|
20
|
-
}: OrderAppendixTWAPFields): bigint {
|
|
21
|
-
const numOrdersBigInt = toBigInt(numOrders);
|
|
22
|
-
const slippageX6BigInt = toBigInt(addDecimals(slippageFrac, 6));
|
|
23
|
-
|
|
24
|
-
return (
|
|
25
|
-
((numOrdersBigInt & 0xffffffffn) << 64n) |
|
|
26
|
-
((slippageX6BigInt & 0xffffffffn) << 32n) |
|
|
27
|
-
// The last reserved 32 bits are set to 0
|
|
28
|
-
(0n & 0xffffffffn)
|
|
29
|
-
);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Unpacks a 96-bit bigint into its component fields for TWAP orders.
|
|
34
|
-
*
|
|
35
|
-
* @param value 96-bit bigint to unpack
|
|
36
|
-
* @returns Object with:
|
|
37
|
-
* - times: number, from bits 95..64
|
|
38
|
-
* - slippage_x6: number, from bits 63..32
|
|
39
|
-
* - reserved: number, from bits 31..0
|
|
40
|
-
*/
|
|
41
|
-
export function unpackTWAPOrderAppendixValue(
|
|
42
|
-
value: bigint,
|
|
43
|
-
): OrderAppendixTWAPFields {
|
|
44
|
-
const numOrders = (value >> 64n) & 0xffffffffn;
|
|
45
|
-
const slippageX6 = (value >> 32n) & 0xffffffffn;
|
|
46
|
-
|
|
47
|
-
return {
|
|
48
|
-
numOrders: Number(numOrders),
|
|
49
|
-
slippageFrac: removeDecimals(slippageX6, 6).toNumber(),
|
|
50
|
-
};
|
|
51
|
-
}
|