@chainflip/utils 0.4.0 → 0.4.1

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 (44) hide show
  1. package/dist/assertion.js +2 -2
  2. package/dist/async.cjs +1 -1
  3. package/dist/async.d.cts +1 -1
  4. package/dist/async.d.ts +1 -1
  5. package/dist/async.js +1 -1
  6. package/dist/base58.js +4 -4
  7. package/dist/bytes.js +3 -3
  8. package/dist/chainflip.cjs +147 -0
  9. package/dist/chainflip.d.cts +99 -0
  10. package/dist/chainflip.d.ts +99 -0
  11. package/dist/chainflip.js +22 -0
  12. package/dist/{chunk-D7RIA7SA.js → chunk-2KA626OL.js} +1 -1
  13. package/dist/{chunk-UPA7KLTI.js → chunk-CGMSQQDO.js} +1 -1
  14. package/dist/{chunk-CZNX6EUV.js → chunk-HBIFE4XN.js} +7 -1
  15. package/dist/chunk-WGS2RGVR.js +1348 -0
  16. package/dist/chunk-XFHVSV76.js +115 -0
  17. package/dist/{chunk-MYP3UYWE.js → chunk-ZHIKNZLU.js} +1 -1
  18. package/dist/consts.cjs +146 -0
  19. package/dist/consts.d.cts +148 -0
  20. package/dist/consts.d.ts +148 -0
  21. package/dist/consts.js +113 -0
  22. package/dist/date.cjs +497 -0
  23. package/dist/date.d.cts +16 -0
  24. package/dist/date.d.ts +16 -0
  25. package/dist/date.js +455 -0
  26. package/dist/guard.cjs +9 -0
  27. package/dist/guard.d.cts +11 -8
  28. package/dist/guard.d.ts +11 -8
  29. package/dist/guard.js +7 -1
  30. package/dist/number.cjs +1386 -0
  31. package/dist/number.d.cts +6 -1
  32. package/dist/number.d.ts +6 -1
  33. package/dist/number.js +33 -0
  34. package/dist/ss58.cjs +23 -23
  35. package/dist/ss58.js +10 -10
  36. package/dist/string.cjs +21 -0
  37. package/dist/string.d.cts +7 -2
  38. package/dist/string.d.ts +7 -2
  39. package/dist/string.js +18 -0
  40. package/dist/tickMath.cjs +1502 -0
  41. package/dist/tickMath.d.cts +15 -0
  42. package/dist/tickMath.d.ts +15 -0
  43. package/dist/tickMath.js +35 -0
  44. package/package.json +9 -2
@@ -0,0 +1,15 @@
1
+ import { BigNumber } from 'bignumber.js';
2
+ import { ChainflipAsset } from './chainflip.cjs';
3
+
4
+ declare const MIN_TICK = -887272;
5
+ declare const MAX_TICK: number;
6
+ declare const FULL_TICK_RANGE: {
7
+ start: number;
8
+ end: number;
9
+ };
10
+ declare const tickToRate: (tick: number, baseAsset: ChainflipAsset) => number;
11
+ declare const rateToTick: (rate: BigNumber.Value, baseAsset: ChainflipAsset) => number;
12
+ declare const sqrtPriceX96ToPrice: (amount: string) => BigNumber;
13
+ declare const priceX128ToPrice: (amount: string) => BigNumber;
14
+
15
+ export { FULL_TICK_RANGE, MAX_TICK, MIN_TICK, priceX128ToPrice, rateToTick, sqrtPriceX96ToPrice, tickToRate };
@@ -0,0 +1,15 @@
1
+ import { BigNumber } from 'bignumber.js';
2
+ import { ChainflipAsset } from './chainflip.js';
3
+
4
+ declare const MIN_TICK = -887272;
5
+ declare const MAX_TICK: number;
6
+ declare const FULL_TICK_RANGE: {
7
+ start: number;
8
+ end: number;
9
+ };
10
+ declare const tickToRate: (tick: number, baseAsset: ChainflipAsset) => number;
11
+ declare const rateToTick: (rate: BigNumber.Value, baseAsset: ChainflipAsset) => number;
12
+ declare const sqrtPriceX96ToPrice: (amount: string) => BigNumber;
13
+ declare const priceX128ToPrice: (amount: string) => BigNumber;
14
+
15
+ export { FULL_TICK_RANGE, MAX_TICK, MIN_TICK, priceX128ToPrice, rateToTick, sqrtPriceX96ToPrice, tickToRate };
@@ -0,0 +1,35 @@
1
+ import {
2
+ BigNumber
3
+ } from "./chunk-WGS2RGVR.js";
4
+ import {
5
+ assetConstants
6
+ } from "./chunk-XFHVSV76.js";
7
+
8
+ // src/tickMath.ts
9
+ var MIN_TICK = -887272;
10
+ var MAX_TICK = -MIN_TICK;
11
+ var FULL_TICK_RANGE = { start: MIN_TICK, end: MAX_TICK };
12
+ var tickToRate = (tick, baseAsset) => {
13
+ const baseRate = 1.0001 ** tick;
14
+ const rateDecimals = assetConstants.Usdc.decimals - assetConstants[baseAsset].decimals;
15
+ return baseRate / 10 ** rateDecimals;
16
+ };
17
+ var rateToTick = (rate, baseAsset) => {
18
+ const rateDecimals = assetConstants.Usdc.decimals - assetConstants[baseAsset].decimals;
19
+ const rawRate = new BigNumber(rate).shiftedBy(rateDecimals);
20
+ let tick = Math.log(rawRate.toNumber()) / Math.log(1.0001);
21
+ tick = Math.round(tick * 1e6) / 1e6;
22
+ tick = Math.floor(tick);
23
+ return Math.max(MIN_TICK, Math.min(tick, MAX_TICK));
24
+ };
25
+ var sqrtPriceX96ToPrice = (amount) => new BigNumber(amount).div(2 ** 96).pow(2);
26
+ var priceX128ToPrice = (amount) => new BigNumber(amount).div(2 ** 128);
27
+ export {
28
+ FULL_TICK_RANGE,
29
+ MAX_TICK,
30
+ MIN_TICK,
31
+ priceX128ToPrice,
32
+ rateToTick,
33
+ sqrtPriceX96ToPrice,
34
+ tickToRate
35
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chainflip/utils",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist",
@@ -19,7 +19,9 @@
19
19
  }
20
20
  },
21
21
  "devDependencies": {
22
- "@noble/hashes": "^1.4.0"
22
+ "@noble/hashes": "^1.5.0",
23
+ "bignumber.js": "^9.1.2",
24
+ "date-fns": "2.30.0"
23
25
  },
24
26
  "repository": "https://github.com/chainflip-io/chainflip-product-toolkit.git",
25
27
  "publishConfig": {
@@ -27,10 +29,15 @@
27
29
  "access": "public"
28
30
  },
29
31
  "scripts": {
32
+ "eslint:check": "pnpm eslint --max-warnings 0 './**/*.ts'",
33
+ "prettier:base": "prettier ./** --ignore-path=../../.prettierignore",
34
+ "prettier:check": "pnpm prettier:base --check",
35
+ "prettier:write": "pnpm prettier:base --write",
30
36
  "clean": "rm -rf dist",
31
37
  "prepublish": "pnpm test run && pnpm build:clean",
32
38
  "build": "tsup",
33
39
  "build:clean": "pnpm clean && pnpm build",
40
+ "test:ci": "CI=1 pnpm t run",
34
41
  "test": "vitest",
35
42
  "coverage": "vitest run --coverage"
36
43
  }