@chainflip/utils 0.8.3 → 0.8.4

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/base58.js CHANGED
@@ -2,8 +2,8 @@ import {
2
2
  CHARSET,
3
3
  decode,
4
4
  encode
5
- } from "./chunk-HOUVS5DD.js";
6
- import "./chunk-W23CNAUU.js";
5
+ } from "./chunk-3P6TXYEI.js";
6
+ import "./chunk-XGNPN5CY.js";
7
7
  import "./chunk-ZHIKNZLU.js";
8
8
  import "./chunk-HBIFE4XN.js";
9
9
  export {
package/dist/bytes.cjs CHANGED
@@ -88,14 +88,11 @@ var decodeBytesWithCharset = (input, charset) => {
88
88
  const bytes = input.split("").map((char) => charMap[char]);
89
89
  return new Uint8Array(convertBase(bytes, charset.length, 256));
90
90
  };
91
- var addPrefix = (input) => {
92
- const [, bytes] = /^(?:0x)?([a-f\d]*)$/i.exec(input) || [];
93
- assert(bytes, "Invalid hex string");
94
- return `0x${bytes}`;
95
- };
96
91
  function reverseBytes(input) {
97
- const reversed = bytesToHex(hexToBytes(addPrefix(input)).reverse());
98
- return input.startsWith("0x") ? reversed : reversed.slice(2);
92
+ const bytes = /^(?:0x)?([\da-f]+)$/gi.exec(input)?.[1];
93
+ assert(bytes && bytes.length % 2 === 0 && bytes.length > 0, "Invalid hex string");
94
+ const reversed = bytes.match(/.{2}/g).reverse().join("");
95
+ return input.startsWith("0x") ? `0x${reversed}` : reversed;
99
96
  }
100
97
  // Annotate the CommonJS export names for ESM import in node:
101
98
  0 && (module.exports = {
package/dist/bytes.js CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  encodeBytesWithCharset,
5
5
  hexToBytes,
6
6
  reverseBytes
7
- } from "./chunk-W23CNAUU.js";
7
+ } from "./chunk-XGNPN5CY.js";
8
8
  import "./chunk-ZHIKNZLU.js";
9
9
  import "./chunk-HBIFE4XN.js";
10
10
  export {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  decodeBytesWithCharset,
3
3
  encodeBytesWithCharset
4
- } from "./chunk-W23CNAUU.js";
4
+ } from "./chunk-XGNPN5CY.js";
5
5
 
6
6
  // src/base58.ts
7
7
  var CHARSET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
@@ -45,14 +45,11 @@ var decodeBytesWithCharset = (input, charset) => {
45
45
  const bytes = input.split("").map((char) => charMap[char]);
46
46
  return new Uint8Array(convertBase(bytes, charset.length, 256));
47
47
  };
48
- var addPrefix = (input) => {
49
- const [, bytes] = /^(?:0x)?([a-f\d]*)$/i.exec(input) || [];
50
- assert(bytes, "Invalid hex string");
51
- return `0x${bytes}`;
52
- };
53
48
  function reverseBytes(input) {
54
- const reversed = bytesToHex(hexToBytes(addPrefix(input)).reverse());
55
- return input.startsWith("0x") ? reversed : reversed.slice(2);
49
+ const bytes = /^(?:0x)?([\da-f]+)$/gi.exec(input)?.[1];
50
+ assert(bytes && bytes.length % 2 === 0 && bytes.length > 0, "Invalid hex string");
51
+ const reversed = bytes.match(/.{2}/g).reverse().join("");
52
+ return input.startsWith("0x") ? `0x${reversed}` : reversed;
56
53
  }
57
54
 
58
55
  export {
package/dist/ss58.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  decode,
3
3
  encode
4
- } from "./chunk-HOUVS5DD.js";
4
+ } from "./chunk-3P6TXYEI.js";
5
5
  import {
6
6
  bytesToHex,
7
7
  hexToBytes
8
- } from "./chunk-W23CNAUU.js";
8
+ } from "./chunk-XGNPN5CY.js";
9
9
  import {
10
10
  assert
11
11
  } from "./chunk-ZHIKNZLU.js";
package/dist/string.cjs CHANGED
@@ -22,6 +22,7 @@ var string_exports = {};
22
22
  __export(string_exports, {
23
23
  abbreviate: () => abbreviate,
24
24
  capitalize: () => capitalize,
25
+ isBytes: () => isBytes,
25
26
  isHex: () => isHex,
26
27
  isInteger: () => isInteger,
27
28
  split: () => split,
@@ -38,6 +39,7 @@ var split = (str, delimiter) => str.split(delimiter);
38
39
  var capitalize = (str) => `${str.charAt(0).toUpperCase()}${str.slice(1)}`;
39
40
  var uncapitalize = (str) => `${str.charAt(0).toLowerCase()}${str.slice(1)}`;
40
41
  var isHex = (str) => /^0x[\da-f]+$/i.test(str);
42
+ var isBytes = (str) => /^(0x)?[\da-f]*$/i.test(str) && str.length % 2 === 0;
41
43
  var abbreviate = (text, showLength = 4, space = false) => {
42
44
  if (typeof text !== "string") return "";
43
45
  const leftPart = text.slice(0, showLength);
@@ -56,6 +58,7 @@ var truncateString = (string, numCharacters = 20, ellipsis = true) => {
56
58
  0 && (module.exports = {
57
59
  abbreviate,
58
60
  capitalize,
61
+ isBytes,
59
62
  isHex,
60
63
  isInteger,
61
64
  split,
package/dist/string.d.cts CHANGED
@@ -9,7 +9,8 @@ declare const split: <const T extends string, D extends string>(str: T, delimite
9
9
  declare const capitalize: <const T extends string>(str: T) => Capitalize<T>;
10
10
  declare const uncapitalize: <const T extends string>(str: T) => Uncapitalize<T>;
11
11
  declare const isHex: (str: string) => str is HexString;
12
+ declare const isBytes: (str: string) => boolean;
12
13
  declare const abbreviate: (text: string | undefined | null, showLength?: number, space?: boolean) => string;
13
14
  declare const truncateString: (string: string, numCharacters?: number, ellipsis?: boolean) => string;
14
15
 
15
- export { abbreviate, capitalize, isHex, isInteger, split, toLowerCase, toUpperCase, truncateString, uncapitalize };
16
+ export { abbreviate, capitalize, isBytes, isHex, isInteger, split, toLowerCase, toUpperCase, truncateString, uncapitalize };
package/dist/string.d.ts CHANGED
@@ -9,7 +9,8 @@ declare const split: <const T extends string, D extends string>(str: T, delimite
9
9
  declare const capitalize: <const T extends string>(str: T) => Capitalize<T>;
10
10
  declare const uncapitalize: <const T extends string>(str: T) => Uncapitalize<T>;
11
11
  declare const isHex: (str: string) => str is HexString;
12
+ declare const isBytes: (str: string) => boolean;
12
13
  declare const abbreviate: (text: string | undefined | null, showLength?: number, space?: boolean) => string;
13
14
  declare const truncateString: (string: string, numCharacters?: number, ellipsis?: boolean) => string;
14
15
 
15
- export { abbreviate, capitalize, isHex, isInteger, split, toLowerCase, toUpperCase, truncateString, uncapitalize };
16
+ export { abbreviate, capitalize, isBytes, isHex, isInteger, split, toLowerCase, toUpperCase, truncateString, uncapitalize };
package/dist/string.js CHANGED
@@ -6,6 +6,7 @@ var split = (str, delimiter) => str.split(delimiter);
6
6
  var capitalize = (str) => `${str.charAt(0).toUpperCase()}${str.slice(1)}`;
7
7
  var uncapitalize = (str) => `${str.charAt(0).toLowerCase()}${str.slice(1)}`;
8
8
  var isHex = (str) => /^0x[\da-f]+$/i.test(str);
9
+ var isBytes = (str) => /^(0x)?[\da-f]*$/i.test(str) && str.length % 2 === 0;
9
10
  var abbreviate = (text, showLength = 4, space = false) => {
10
11
  if (typeof text !== "string") return "";
11
12
  const leftPart = text.slice(0, showLength);
@@ -23,6 +24,7 @@ var truncateString = (string, numCharacters = 20, ellipsis = true) => {
23
24
  export {
24
25
  abbreviate,
25
26
  capitalize,
27
+ isBytes,
26
28
  isHex,
27
29
  isInteger,
28
30
  split,
package/dist/tickMath.cjs CHANGED
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
+ var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
5
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
8
  var __export = (target, all) => {
7
9
  for (var name in all)
@@ -15,6 +17,14 @@ var __copyProps = (to, from, except, desc) => {
15
17
  }
16
18
  return to;
17
19
  };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
18
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
29
 
20
30
  // src/tickMath.ts
@@ -29,7 +39,7 @@ __export(tickMath_exports, {
29
39
  tickToRate: () => tickToRate
30
40
  });
31
41
  module.exports = __toCommonJS(tickMath_exports);
32
- var import_bignumber = require("bignumber.js");
42
+ var import_bignumber = __toESM(require("bignumber.js"), 1);
33
43
 
34
44
  // src/chainflip.ts
35
45
  var chainflipAssets = [
@@ -200,20 +210,20 @@ var MIN_TICK = -887272;
200
210
  var MAX_TICK = -MIN_TICK;
201
211
  var FULL_TICK_RANGE = { start: MIN_TICK, end: MAX_TICK };
202
212
  var tickToRate = (tick, baseAsset) => {
203
- const baseRate = new import_bignumber.BigNumber(1.0001 ** tick);
213
+ const baseRate = new import_bignumber.default(1.0001 ** tick);
204
214
  const rateDecimals = assetConstants.Usdc.decimals - assetConstants[baseAsset].decimals;
205
215
  return baseRate.shiftedBy(-rateDecimals).toNumber();
206
216
  };
207
217
  var rateToTick = (rate, baseAsset) => {
208
218
  const rateDecimals = assetConstants.Usdc.decimals - assetConstants[baseAsset].decimals;
209
- const rawRate = new import_bignumber.BigNumber(rate).shiftedBy(rateDecimals);
219
+ const rawRate = new import_bignumber.default(rate).shiftedBy(rateDecimals);
210
220
  let tick = Math.log(rawRate.toNumber()) / Math.log(1.0001);
211
221
  tick = Math.round(tick * 1e6) / 1e6;
212
222
  tick = Math.floor(tick);
213
223
  return Math.max(MIN_TICK, Math.min(tick, MAX_TICK));
214
224
  };
215
- var sqrtPriceX96ToPrice = (amount) => new import_bignumber.BigNumber(amount).div(new import_bignumber.BigNumber(2).pow(96)).pow(2);
216
- var priceX128ToPrice = (amount) => new import_bignumber.BigNumber(amount).div(new import_bignumber.BigNumber(2).pow(128));
225
+ var sqrtPriceX96ToPrice = (amount) => new import_bignumber.default(amount).div(new import_bignumber.default(2).pow(96)).pow(2);
226
+ var priceX128ToPrice = (amount) => new import_bignumber.default(amount).div(new import_bignumber.default(2).pow(128));
217
227
  // Annotate the CommonJS export names for ESM import in node:
218
228
  0 && (module.exports = {
219
229
  FULL_TICK_RANGE,
@@ -1,4 +1,4 @@
1
- import { BigNumber } from 'bignumber.js';
1
+ import BigNumber from 'bignumber.js';
2
2
  import { ChainflipAsset } from './chainflip.cjs';
3
3
 
4
4
  declare const MIN_TICK = -887272;
@@ -1,4 +1,4 @@
1
- import { BigNumber } from 'bignumber.js';
1
+ import BigNumber from 'bignumber.js';
2
2
  import { ChainflipAsset } from './chainflip.js';
3
3
 
4
4
  declare const MIN_TICK = -887272;
package/dist/tickMath.js CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-6LZGVCU6.js";
4
4
 
5
5
  // src/tickMath.ts
6
- import { BigNumber } from "bignumber.js";
6
+ import BigNumber from "bignumber.js";
7
7
  var MIN_TICK = -887272;
8
8
  var MAX_TICK = -MIN_TICK;
9
9
  var FULL_TICK_RANGE = { start: MIN_TICK, end: MAX_TICK };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chainflip/utils",
3
- "version": "0.8.3",
3
+ "version": "0.8.4",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist",
@@ -20,11 +20,11 @@
20
20
  },
21
21
  "devDependencies": {
22
22
  "@noble/hashes": "^1.7.1",
23
- "@vitest/ui": "3.0.9"
23
+ "@vitest/ui": "3.1.1"
24
24
  },
25
25
  "dependencies": {
26
26
  "@date-fns/utc": "^2.1.0",
27
- "bignumber.js": "^9.1.2",
27
+ "bignumber.js": "^9.2.0",
28
28
  "date-fns": "4.1.0"
29
29
  },
30
30
  "repository": "https://github.com/chainflip-io/chainflip-product-toolkit.git",