@wormhole-foundation/sdk-base 4.22.0 → 5.0.0-beta.0
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/esm/constants/rpc.d.ts +1 -1
- package/dist/esm/constants/rpc.d.ts.map +1 -1
- package/dist/esm/constants/rpc.js +2 -2
- package/dist/esm/constants/rpc.js.map +1 -1
- package/package.json +21 -83
- package/dist/cjs/constants/ausd.d.ts +0 -383
- package/dist/cjs/constants/ausd.d.ts.map +0 -1
- package/dist/cjs/constants/ausd.js +0 -29
- package/dist/cjs/constants/ausd.js.map +0 -1
- package/dist/cjs/constants/chains.d.ts +0 -145
- package/dist/cjs/constants/chains.d.ts.map +0 -1
- package/dist/cjs/constants/chains.js +0 -133
- package/dist/cjs/constants/chains.js.map +0 -1
- package/dist/cjs/constants/circle.d.ts +0 -1757
- package/dist/cjs/constants/circle.d.ts.map +0 -1
- package/dist/cjs/constants/circle.js +0 -149
- package/dist/cjs/constants/circle.js.map +0 -1
- package/dist/cjs/constants/contracts/circle.d.ts +0 -108
- package/dist/cjs/constants/contracts/circle.d.ts.map +0 -1
- package/dist/cjs/constants/contracts/circle.js +0 -153
- package/dist/cjs/constants/contracts/circle.js.map +0 -1
- package/dist/cjs/constants/contracts/core.d.ts +0 -2
- package/dist/cjs/constants/contracts/core.d.ts.map +0 -1
- package/dist/cjs/constants/contracts/core.js +0 -111
- package/dist/cjs/constants/contracts/core.js.map +0 -1
- package/dist/cjs/constants/contracts/cosmos.d.ts +0 -3
- package/dist/cjs/constants/contracts/cosmos.d.ts.map +0 -1
- package/dist/cjs/constants/contracts/cosmos.js +0 -26
- package/dist/cjs/constants/contracts/cosmos.js.map +0 -1
- package/dist/cjs/constants/contracts/customConsistencyLevel.d.ts +0 -2
- package/dist/cjs/constants/contracts/customConsistencyLevel.d.ts.map +0 -1
- package/dist/cjs/constants/contracts/customConsistencyLevel.js +0 -22
- package/dist/cjs/constants/contracts/customConsistencyLevel.js.map +0 -1
- package/dist/cjs/constants/contracts/executor.d.ts +0 -2
- package/dist/cjs/constants/contracts/executor.d.ts.map +0 -1
- package/dist/cjs/constants/contracts/executor.js +0 -68
- package/dist/cjs/constants/contracts/executor.js.map +0 -1
- package/dist/cjs/constants/contracts/executorQuoter.d.ts +0 -2
- package/dist/cjs/constants/contracts/executorQuoter.d.ts.map +0 -1
- package/dist/cjs/constants/contracts/executorQuoter.js +0 -20
- package/dist/cjs/constants/contracts/executorQuoter.js.map +0 -1
- package/dist/cjs/constants/contracts/executorTokenBridge.d.ts +0 -114
- package/dist/cjs/constants/contracts/executorTokenBridge.d.ts.map +0 -1
- package/dist/cjs/constants/contracts/executorTokenBridge.js +0 -51
- package/dist/cjs/constants/contracts/executorTokenBridge.js.map +0 -1
- package/dist/cjs/constants/contracts/index.d.ts +0 -14704
- package/dist/cjs/constants/contracts/index.d.ts.map +0 -1
- package/dist/cjs/constants/contracts/index.js +0 -70
- package/dist/cjs/constants/contracts/index.js.map +0 -1
- package/dist/cjs/constants/contracts/nftBridge.d.ts +0 -2
- package/dist/cjs/constants/contracts/nftBridge.d.ts.map +0 -1
- package/dist/cjs/constants/contracts/nftBridge.js +0 -50
- package/dist/cjs/constants/contracts/nftBridge.js.map +0 -1
- package/dist/cjs/constants/contracts/portico.d.ts +0 -48
- package/dist/cjs/constants/contracts/portico.d.ts.map +0 -1
- package/dist/cjs/constants/contracts/portico.js +0 -60
- package/dist/cjs/constants/contracts/portico.js.map +0 -1
- package/dist/cjs/constants/contracts/relayer.d.ts +0 -2
- package/dist/cjs/constants/contracts/relayer.d.ts.map +0 -1
- package/dist/cjs/constants/contracts/relayer.js +0 -56
- package/dist/cjs/constants/contracts/relayer.js.map +0 -1
- package/dist/cjs/constants/contracts/rollupCheckpoint.d.ts +0 -2
- package/dist/cjs/constants/contracts/rollupCheckpoint.d.ts.map +0 -1
- package/dist/cjs/constants/contracts/rollupCheckpoint.js +0 -22
- package/dist/cjs/constants/contracts/rollupCheckpoint.js.map +0 -1
- package/dist/cjs/constants/contracts/tbtc.d.ts +0 -2
- package/dist/cjs/constants/contracts/tbtc.d.ts.map +0 -1
- package/dist/cjs/constants/contracts/tbtc.js +0 -17
- package/dist/cjs/constants/contracts/tbtc.js.map +0 -1
- package/dist/cjs/constants/contracts/tokenBridge.d.ts +0 -2
- package/dist/cjs/constants/contracts/tokenBridge.d.ts.map +0 -1
- package/dist/cjs/constants/contracts/tokenBridge.js +0 -91
- package/dist/cjs/constants/contracts/tokenBridge.js.map +0 -1
- package/dist/cjs/constants/contracts/tokenBridgeRelayer.d.ts +0 -2
- package/dist/cjs/constants/contracts/tokenBridgeRelayer.d.ts.map +0 -1
- package/dist/cjs/constants/contracts/tokenBridgeRelayer.js +0 -37
- package/dist/cjs/constants/contracts/tokenBridgeRelayer.js.map +0 -1
- package/dist/cjs/constants/dai.d.ts +0 -98
- package/dist/cjs/constants/dai.d.ts.map +0 -1
- package/dist/cjs/constants/dai.js +0 -14
- package/dist/cjs/constants/dai.js.map +0 -1
- package/dist/cjs/constants/decimals.d.ts +0 -24
- package/dist/cjs/constants/decimals.d.ts.map +0 -1
- package/dist/cjs/constants/decimals.js +0 -27
- package/dist/cjs/constants/decimals.js.map +0 -1
- package/dist/cjs/constants/executor.d.ts +0 -8
- package/dist/cjs/constants/executor.d.ts.map +0 -1
- package/dist/cjs/constants/executor.js +0 -10
- package/dist/cjs/constants/executor.js.map +0 -1
- package/dist/cjs/constants/explorer.d.ts +0 -8227
- package/dist/cjs/constants/explorer.d.ts.map +0 -1
- package/dist/cjs/constants/explorer.js +0 -501
- package/dist/cjs/constants/explorer.js.map +0 -1
- package/dist/cjs/constants/finality.d.ts +0 -154
- package/dist/cjs/constants/finality.d.ts.map +0 -1
- package/dist/cjs/constants/finality.js +0 -215
- package/dist/cjs/constants/finality.js.map +0 -1
- package/dist/cjs/constants/graphQL.d.ts +0 -4
- package/dist/cjs/constants/graphQL.d.ts.map +0 -1
- package/dist/cjs/constants/graphQL.js +0 -21
- package/dist/cjs/constants/graphQL.js.map +0 -1
- package/dist/cjs/constants/guardians.d.ts +0 -525
- package/dist/cjs/constants/guardians.d.ts.map +0 -1
- package/dist/cjs/constants/guardians.js +0 -42
- package/dist/cjs/constants/guardians.js.map +0 -1
- package/dist/cjs/constants/index.d.ts +0 -24
- package/dist/cjs/constants/index.d.ts.map +0 -1
- package/dist/cjs/constants/index.js +0 -53
- package/dist/cjs/constants/index.js.map +0 -1
- package/dist/cjs/constants/nativeChainIds.d.ts +0 -2463
- package/dist/cjs/constants/nativeChainIds.d.ts.map +0 -1
- package/dist/cjs/constants/nativeChainIds.js +0 -155
- package/dist/cjs/constants/nativeChainIds.js.map +0 -1
- package/dist/cjs/constants/networks.d.ts +0 -4
- package/dist/cjs/constants/networks.d.ts.map +0 -1
- package/dist/cjs/constants/networks.js +0 -12
- package/dist/cjs/constants/networks.js.map +0 -1
- package/dist/cjs/constants/platforms.d.ts +0 -107
- package/dist/cjs/constants/platforms.d.ts.map +0 -1
- package/dist/cjs/constants/platforms.js +0 -119
- package/dist/cjs/constants/platforms.js.map +0 -1
- package/dist/cjs/constants/rpc.d.ts +0 -5
- package/dist/cjs/constants/rpc.d.ts.map +0 -1
- package/dist/cjs/constants/rpc.js +0 -118
- package/dist/cjs/constants/rpc.js.map +0 -1
- package/dist/cjs/constants/sui/executorTokenBridgeState.d.ts +0 -55
- package/dist/cjs/constants/sui/executorTokenBridgeState.d.ts.map +0 -1
- package/dist/cjs/constants/sui/executorTokenBridgeState.js +0 -45
- package/dist/cjs/constants/sui/executorTokenBridgeState.js.map +0 -1
- package/dist/cjs/constants/tbtc.d.ts +0 -193
- package/dist/cjs/constants/tbtc.d.ts.map +0 -1
- package/dist/cjs/constants/tbtc.js +0 -20
- package/dist/cjs/constants/tbtc.js.map +0 -1
- package/dist/cjs/constants/tokens/index.d.ts +0 -10
- package/dist/cjs/constants/tokens/index.d.ts.map +0 -1
- package/dist/cjs/constants/tokens/index.js +0 -65
- package/dist/cjs/constants/tokens/index.js.map +0 -1
- package/dist/cjs/constants/tokens/mainnet.d.ts +0 -4240
- package/dist/cjs/constants/tokens/mainnet.d.ts.map +0 -1
- package/dist/cjs/constants/tokens/mainnet.js +0 -3941
- package/dist/cjs/constants/tokens/mainnet.js.map +0 -1
- package/dist/cjs/constants/tokens/testnet.d.ts +0 -3198
- package/dist/cjs/constants/tokens/testnet.d.ts.map +0 -1
- package/dist/cjs/constants/tokens/testnet.js +0 -3019
- package/dist/cjs/constants/tokens/testnet.js.map +0 -1
- package/dist/cjs/constants/tokens.d.ts +0 -31
- package/dist/cjs/constants/tokens.d.ts.map +0 -1
- package/dist/cjs/constants/tokens.js +0 -24
- package/dist/cjs/constants/tokens.js.map +0 -1
- package/dist/cjs/constants/usds.d.ts +0 -136
- package/dist/cjs/constants/usds.d.ts.map +0 -1
- package/dist/cjs/constants/usds.js +0 -16
- package/dist/cjs/constants/usds.js.map +0 -1
- package/dist/cjs/constants/usdt.d.ts +0 -288
- package/dist/cjs/constants/usdt.d.ts.map +0 -1
- package/dist/cjs/constants/usdt.js +0 -24
- package/dist/cjs/constants/usdt.js.map +0 -1
- package/dist/cjs/index.d.ts +0 -3
- package/dist/cjs/index.d.ts.map +0 -1
- package/dist/cjs/index.js +0 -19
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/package.json +0 -1
- package/dist/cjs/utils/amount.d.ts +0 -87
- package/dist/cjs/utils/amount.d.ts.map +0 -1
- package/dist/cjs/utils/amount.js +0 -205
- package/dist/cjs/utils/amount.js.map +0 -1
- package/dist/cjs/utils/array.d.ts +0 -71
- package/dist/cjs/utils/array.d.ts.map +0 -1
- package/dist/cjs/utils/array.js +0 -42
- package/dist/cjs/utils/array.js.map +0 -1
- package/dist/cjs/utils/encoding.d.ts +0 -59
- package/dist/cjs/utils/encoding.d.ts.map +0 -1
- package/dist/cjs/utils/encoding.js +0 -112
- package/dist/cjs/utils/encoding.js.map +0 -1
- package/dist/cjs/utils/index.d.ts +0 -9
- package/dist/cjs/utils/index.d.ts.map +0 -1
- package/dist/cjs/utils/index.js +0 -38
- package/dist/cjs/utils/index.js.map +0 -1
- package/dist/cjs/utils/layout.d.ts +0 -2
- package/dist/cjs/utils/layout.d.ts.map +0 -1
- package/dist/cjs/utils/layout.js +0 -17
- package/dist/cjs/utils/layout.js.map +0 -1
- package/dist/cjs/utils/mapping.d.ts +0 -96
- package/dist/cjs/utils/mapping.d.ts.map +0 -1
- package/dist/cjs/utils/mapping.js +0 -206
- package/dist/cjs/utils/mapping.js.map +0 -1
- package/dist/cjs/utils/metaprogramming.d.ts +0 -28
- package/dist/cjs/utils/metaprogramming.d.ts.map +0 -1
- package/dist/cjs/utils/metaprogramming.js +0 -10
- package/dist/cjs/utils/metaprogramming.js.map +0 -1
- package/dist/cjs/utils/misc.d.ts +0 -6
- package/dist/cjs/utils/misc.d.ts.map +0 -1
- package/dist/cjs/utils/misc.js +0 -41
- package/dist/cjs/utils/misc.js.map +0 -1
- package/dist/cjs/utils/time.d.ts +0 -2
- package/dist/cjs/utils/time.d.ts.map +0 -1
- package/dist/cjs/utils/time.js +0 -8
- package/dist/cjs/utils/time.js.map +0 -1
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.usdtContract = void 0;
|
|
4
|
-
const index_js_1 = require("./../utils/index.js");
|
|
5
|
-
// prettier-ignore
|
|
6
|
-
const usdtContracts = [[
|
|
7
|
-
"Mainnet", [
|
|
8
|
-
// Non exhaustive list of USDT addresses
|
|
9
|
-
["Arbitrum", "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9"],
|
|
10
|
-
["Avalanche", "0x9702230A8Ea53601f5cD2dc00fDbC13d4dF4A8c7"],
|
|
11
|
-
["Base", "0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2"],
|
|
12
|
-
["Bsc", "0x55d398326f99059fF775485246999027B3197955"],
|
|
13
|
-
["Celo", "0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e"],
|
|
14
|
-
["Ethereum", "0xdAC17F958D2ee523a2206206994597C13D831ec7"],
|
|
15
|
-
["Optimism", "0x94b008aA00579c1307B0EF2c499aD98a8ce58e58"],
|
|
16
|
-
["Polygon", "0xc2132D05D31c914a87C6611C10748AEb04B58e8F"],
|
|
17
|
-
["Solana", "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"],
|
|
18
|
-
["Monad", "0xe7cd86e13AC4309349F30B3435a9d337750fC82D"],
|
|
19
|
-
["Unichain", "0x9151434b16b9763660705744891fA906F660EcC5"],
|
|
20
|
-
]
|
|
21
|
-
],
|
|
22
|
-
];
|
|
23
|
-
exports.usdtContract = (0, index_js_1.constMap)(usdtContracts);
|
|
24
|
-
//# sourceMappingURL=usdt.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"usdt.js","sourceRoot":"","sources":["../../../src/constants/usdt.ts"],"names":[],"mappings":";;;AACA,kDAA+C;AAI/C,kBAAkB;AAClB,MAAM,aAAa,GAAG,CAAC;QACrB,SAAS,EAAE;YACP,wCAAwC;YACxC,CAAC,UAAU,EAAE,4CAA4C,CAAC;YAC1D,CAAC,WAAW,EAAE,4CAA4C,CAAC;YAC3D,CAAC,MAAM,EAAE,4CAA4C,CAAC;YACtD,CAAC,KAAK,EAAE,4CAA4C,CAAC;YACrD,CAAC,MAAM,EAAE,4CAA4C,CAAC;YACtD,CAAC,UAAU,EAAE,4CAA4C,CAAC;YAC1D,CAAC,UAAU,EAAE,4CAA4C,CAAC;YAC1D,CAAC,SAAS,EAAE,4CAA4C,CAAC;YACzD,CAAC,QAAQ,EAAE,8CAA8C,CAAC;YAC1D,CAAC,OAAO,EAAE,4CAA4C,CAAC;YACvD,CAAC,UAAU,EAAE,4CAA4C,CAAC;SAC7D;KAAC;CAC2D,CAAC;AAEnD,QAAA,YAAY,GAAG,IAAA,mBAAQ,EAAC,aAAa,CAAC,CAAC"}
|
package/dist/cjs/index.d.ts
DELETED
package/dist/cjs/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC"}
|
package/dist/cjs/index.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./constants/index.js"), exports);
|
|
18
|
-
__exportStar(require("./utils/index.js"), exports);
|
|
19
|
-
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,mDAAiC"}
|
package/dist/cjs/package.json
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"type":"commonjs"}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Amount is a number of base units and decimal precision,
|
|
3
|
-
* expressed using a string for JSON-compatibility
|
|
4
|
-
*/
|
|
5
|
-
export interface Amount {
|
|
6
|
-
/** Amount expressed in base units */
|
|
7
|
-
amount: string;
|
|
8
|
-
/** Number of decimal places in amount */
|
|
9
|
-
decimals: number;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Removes potential floating point noise from input amount beyond given decimal level
|
|
13
|
-
* denoise(9.535695950000001, 9) -> 9.535695950
|
|
14
|
-
* @param amount The string or number to denoise
|
|
15
|
-
* @param decimals The number of decimals for the token this amount is of
|
|
16
|
-
* @returns A number, with no floating point noise
|
|
17
|
-
*/
|
|
18
|
-
export declare function denoise(amount: string | number, decimals: number): number;
|
|
19
|
-
/**
|
|
20
|
-
* Parses a string or number into an Amount, given a decimal level
|
|
21
|
-
* @param amount The string or number to parse
|
|
22
|
-
* @param decimals The number of decimals for the token this amount is of
|
|
23
|
-
* @returns An Amount, expressed as base units and decimals
|
|
24
|
-
*/
|
|
25
|
-
export declare function parse(amount: string | number, decimals: number): Amount;
|
|
26
|
-
/**
|
|
27
|
-
* A utility function to truncate an amount to some max decimal
|
|
28
|
-
*
|
|
29
|
-
* This is useful for things like the TokenBridge, where we want to truncate
|
|
30
|
-
* the amount to represent a maximum of 8 decimals
|
|
31
|
-
*
|
|
32
|
-
* @param amount the Amount to truncate
|
|
33
|
-
* @param maxDecimals the max number of decimals we want to keep, zeroing out the rest
|
|
34
|
-
* @returns the truncated Amount
|
|
35
|
-
*/
|
|
36
|
-
export declare function truncate(amount: Amount, maxDecimals: number): Amount;
|
|
37
|
-
/**
|
|
38
|
-
* Utility function to scale some amount to a given number of decimals
|
|
39
|
-
*
|
|
40
|
-
* This is useful for things like the TokenBridge, where we want to scale
|
|
41
|
-
* the amount from some the over-the-wire 8 decimals
|
|
42
|
-
*
|
|
43
|
-
* @param amount the amount to scale
|
|
44
|
-
* @param toDecimals the number of decimals to scale to
|
|
45
|
-
* @returns the scaled amount
|
|
46
|
-
*/
|
|
47
|
-
export declare function scale(amount: Amount, toDecimals: number): Amount;
|
|
48
|
-
/**
|
|
49
|
-
* Directly creates an Amount given the base units and decimal level
|
|
50
|
-
* @param amount Amount expressed as base units
|
|
51
|
-
* @param decimals The number of decimals for the token this amount is of
|
|
52
|
-
* @returns An Amount, expressed as base units and decimals
|
|
53
|
-
*/
|
|
54
|
-
export declare function fromBaseUnits(amount: bigint, decimals: number): Amount;
|
|
55
|
-
/**
|
|
56
|
-
* Returns the base units from an Amount, as a bigint
|
|
57
|
-
* @param amount An Amount
|
|
58
|
-
* @returns A bigint, representing the base units for the Amount
|
|
59
|
-
*/
|
|
60
|
-
export declare function units(amount: Amount): bigint;
|
|
61
|
-
/**
|
|
62
|
-
* Formats an Amount as a human-readable string
|
|
63
|
-
* @param amount An Amount
|
|
64
|
-
* @param precision Number of decimal places to render
|
|
65
|
-
* @returns A string representing the Amount as a fixed point number
|
|
66
|
-
*/
|
|
67
|
-
export declare function display(amount: Amount, precision?: number): string;
|
|
68
|
-
/**
|
|
69
|
-
* Returns the decimal amount as a number (may lose precision)
|
|
70
|
-
* @param amount An Amount
|
|
71
|
-
* @returns A number, representing the decimal amount for the Amount
|
|
72
|
-
*/
|
|
73
|
-
export declare function whole(amount: Amount): number;
|
|
74
|
-
/**
|
|
75
|
-
* fmt formats a bigint amount to a string with the given number of decimals
|
|
76
|
-
* @param amount bigint amount
|
|
77
|
-
* @param decimals number of decimals
|
|
78
|
-
*/
|
|
79
|
-
export declare function fmt(amount: bigint, decimals: number): string;
|
|
80
|
-
/**
|
|
81
|
-
* Calculates a percentage of an amount using tenths of basis points (dBps)
|
|
82
|
-
* @param amt The amount to calculate percentage from
|
|
83
|
-
* @param dBps Tenths of basis points (e.g., 100 = 0.1%, 1000 = 1%, 10000 = 10%)
|
|
84
|
-
* @returns An Amount representing the percentage portion
|
|
85
|
-
*/
|
|
86
|
-
export declare function getDeciBps(amt: Amount, dBps: bigint): Amount;
|
|
87
|
-
//# sourceMappingURL=amount.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"amount.d.ts","sourceRoot":"","sources":["../../../src/utils/amount.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,qCAAqC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA2BvE;AACD;;;;;;;;;GASG;AAEH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAYpE;AAED;;;;;;;;;GASG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CA0BhE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAG5C;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAqBlE;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED;;;;GAIG;AACH,wBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE5D;AA6BD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAK5D"}
|
package/dist/cjs/utils/amount.js
DELETED
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getDeciBps = exports.fmt = exports.whole = exports.display = exports.units = exports.fromBaseUnits = exports.scale = exports.truncate = exports.parse = exports.denoise = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Removes potential floating point noise from input amount beyond given decimal level
|
|
6
|
-
* denoise(9.535695950000001, 9) -> 9.535695950
|
|
7
|
-
* @param amount The string or number to denoise
|
|
8
|
-
* @param decimals The number of decimals for the token this amount is of
|
|
9
|
-
* @returns A number, with no floating point noise
|
|
10
|
-
*/
|
|
11
|
-
function denoise(amount, decimals) {
|
|
12
|
-
return Number(Number(amount).toFixed(decimals));
|
|
13
|
-
}
|
|
14
|
-
exports.denoise = denoise;
|
|
15
|
-
/**
|
|
16
|
-
* Parses a string or number into an Amount, given a decimal level
|
|
17
|
-
* @param amount The string or number to parse
|
|
18
|
-
* @param decimals The number of decimals for the token this amount is of
|
|
19
|
-
* @returns An Amount, expressed as base units and decimals
|
|
20
|
-
*/
|
|
21
|
-
function parse(amount, decimals) {
|
|
22
|
-
validateAmountInput(amount, decimals);
|
|
23
|
-
amount = amount.toString();
|
|
24
|
-
// TODO :)
|
|
25
|
-
if (amount.includes("e"))
|
|
26
|
-
throw new Error("Scientific notation is not supported yet by Amount");
|
|
27
|
-
const chunks = amount.split(".");
|
|
28
|
-
if (chunks.length > 2)
|
|
29
|
-
throw "Too many decimals";
|
|
30
|
-
let [whole, partial] = chunks.length === 0 ? ["0", ""] : chunks.length === 1 ? [chunks[0], ""] : chunks;
|
|
31
|
-
partial = partial.padEnd(decimals, "0");
|
|
32
|
-
if (partial.length > decimals) {
|
|
33
|
-
// if we'd be cutting off non-zero decimals, throw
|
|
34
|
-
if (BigInt(partial.substring(decimals)) !== 0n)
|
|
35
|
-
throw new Error("Amount: invalid input. Decimals too low.");
|
|
36
|
-
// otherwise, truncate the partial to exactly the number of decimals
|
|
37
|
-
partial = partial.substring(0, decimals);
|
|
38
|
-
}
|
|
39
|
-
const amountStr = BigInt(whole + partial).toString();
|
|
40
|
-
return { amount: amountStr, decimals };
|
|
41
|
-
}
|
|
42
|
-
exports.parse = parse;
|
|
43
|
-
/**
|
|
44
|
-
* A utility function to truncate an amount to some max decimal
|
|
45
|
-
*
|
|
46
|
-
* This is useful for things like the TokenBridge, where we want to truncate
|
|
47
|
-
* the amount to represent a maximum of 8 decimals
|
|
48
|
-
*
|
|
49
|
-
* @param amount the Amount to truncate
|
|
50
|
-
* @param maxDecimals the max number of decimals we want to keep, zeroing out the rest
|
|
51
|
-
* @returns the truncated Amount
|
|
52
|
-
*/
|
|
53
|
-
function truncate(amount, maxDecimals) {
|
|
54
|
-
if (amount.decimals <= maxDecimals)
|
|
55
|
-
return amount;
|
|
56
|
-
const delta = BigInt(amount.decimals - maxDecimals);
|
|
57
|
-
// first scale down to maxDecimals, this will truncate the amount
|
|
58
|
-
const scaledAmount = units(amount) / 10n ** delta;
|
|
59
|
-
// then scale back to original decimals
|
|
60
|
-
const amt = scaledAmount * 10n ** delta;
|
|
61
|
-
return {
|
|
62
|
-
amount: amt.toString(),
|
|
63
|
-
decimals: amount.decimals,
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
exports.truncate = truncate;
|
|
67
|
-
/**
|
|
68
|
-
* Utility function to scale some amount to a given number of decimals
|
|
69
|
-
*
|
|
70
|
-
* This is useful for things like the TokenBridge, where we want to scale
|
|
71
|
-
* the amount from some the over-the-wire 8 decimals
|
|
72
|
-
*
|
|
73
|
-
* @param amount the amount to scale
|
|
74
|
-
* @param toDecimals the number of decimals to scale to
|
|
75
|
-
* @returns the scaled amount
|
|
76
|
-
*/
|
|
77
|
-
function scale(amount, toDecimals) {
|
|
78
|
-
if (amount.decimals === toDecimals)
|
|
79
|
-
return amount;
|
|
80
|
-
if (amount.amount === "0")
|
|
81
|
-
return { amount: amount.amount, decimals: toDecimals };
|
|
82
|
-
const delta = toDecimals - amount.decimals;
|
|
83
|
-
// Scaling up is easy; simply add zeroes to the base units value
|
|
84
|
-
if (delta > 0)
|
|
85
|
-
return {
|
|
86
|
-
amount: amount.amount + "0".repeat(delta),
|
|
87
|
-
decimals: toDecimals,
|
|
88
|
-
};
|
|
89
|
-
// Scaling down is trickier; we have to make sure we're not altering the amount.
|
|
90
|
-
// This should be done explicitly using truncateAmount to avoid bugs.
|
|
91
|
-
if (BigInt(amount.amount.substring(amount.amount.length + delta)) === 0n) {
|
|
92
|
-
return {
|
|
93
|
-
amount: amount.amount.substring(0, amount.amount.length + delta),
|
|
94
|
-
decimals: toDecimals,
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
throw new Error(`scaleAmount(${JSON.stringify(amount)}, ${toDecimals}) would result in altered amount. Use truncateAmount first if you intended to truncate it.`);
|
|
98
|
-
}
|
|
99
|
-
exports.scale = scale;
|
|
100
|
-
/**
|
|
101
|
-
* Directly creates an Amount given the base units and decimal level
|
|
102
|
-
* @param amount Amount expressed as base units
|
|
103
|
-
* @param decimals The number of decimals for the token this amount is of
|
|
104
|
-
* @returns An Amount, expressed as base units and decimals
|
|
105
|
-
*/
|
|
106
|
-
function fromBaseUnits(amount, decimals) {
|
|
107
|
-
return { amount: amount.toString(), decimals };
|
|
108
|
-
}
|
|
109
|
-
exports.fromBaseUnits = fromBaseUnits;
|
|
110
|
-
/**
|
|
111
|
-
* Returns the base units from an Amount, as a bigint
|
|
112
|
-
* @param amount An Amount
|
|
113
|
-
* @returns A bigint, representing the base units for the Amount
|
|
114
|
-
*/
|
|
115
|
-
function units(amount) {
|
|
116
|
-
validateAmount(amount);
|
|
117
|
-
return BigInt(amount.amount);
|
|
118
|
-
}
|
|
119
|
-
exports.units = units;
|
|
120
|
-
/**
|
|
121
|
-
* Formats an Amount as a human-readable string
|
|
122
|
-
* @param amount An Amount
|
|
123
|
-
* @param precision Number of decimal places to render
|
|
124
|
-
* @returns A string representing the Amount as a fixed point number
|
|
125
|
-
*/
|
|
126
|
-
function display(amount, precision) {
|
|
127
|
-
validateAmount(amount);
|
|
128
|
-
let whole = amount.amount.substring(0, amount.amount.length - amount.decimals).padStart(1, "0");
|
|
129
|
-
let partial = amount.amount
|
|
130
|
-
.substring(amount.amount.length - amount.decimals)
|
|
131
|
-
.padStart(amount.decimals, "0");
|
|
132
|
-
if (precision !== undefined) {
|
|
133
|
-
while (partial.length > precision) {
|
|
134
|
-
if (partial[partial.length - 1] !== "0")
|
|
135
|
-
break;
|
|
136
|
-
partial = partial.substring(0, partial.length - 1);
|
|
137
|
-
}
|
|
138
|
-
partial = partial.padEnd(precision, "0");
|
|
139
|
-
}
|
|
140
|
-
else {
|
|
141
|
-
// If no specific precision is given, just trim trailing zeroes
|
|
142
|
-
// and return all significant digits.
|
|
143
|
-
partial = partial.replace(/0+$/, "");
|
|
144
|
-
}
|
|
145
|
-
return partial.length > 0 ? `${whole}.${partial}` : whole;
|
|
146
|
-
}
|
|
147
|
-
exports.display = display;
|
|
148
|
-
/**
|
|
149
|
-
* Returns the decimal amount as a number (may lose precision)
|
|
150
|
-
* @param amount An Amount
|
|
151
|
-
* @returns A number, representing the decimal amount for the Amount
|
|
152
|
-
*/
|
|
153
|
-
function whole(amount) {
|
|
154
|
-
return Number(display(amount));
|
|
155
|
-
}
|
|
156
|
-
exports.whole = whole;
|
|
157
|
-
/**
|
|
158
|
-
* fmt formats a bigint amount to a string with the given number of decimals
|
|
159
|
-
* @param amount bigint amount
|
|
160
|
-
* @param decimals number of decimals
|
|
161
|
-
*/
|
|
162
|
-
function fmt(amount, decimals) {
|
|
163
|
-
return display(fromBaseUnits(amount, decimals));
|
|
164
|
-
}
|
|
165
|
-
exports.fmt = fmt;
|
|
166
|
-
function validateAmountInput(amount, decimals) {
|
|
167
|
-
if (typeof amount === "number") {
|
|
168
|
-
if (!isFinite(amount))
|
|
169
|
-
throw new Error("Amount: invalid input. Amount must be finite");
|
|
170
|
-
if (amount < 0)
|
|
171
|
-
throw new Error("Amount: invalid input. Amount cannot be negative");
|
|
172
|
-
}
|
|
173
|
-
else {
|
|
174
|
-
if (!/^[0-9\.]*$/.test(amount)) {
|
|
175
|
-
throw new Error("Amount: invalid input. Must only contain digits.");
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
if (!isFinite(decimals)) {
|
|
179
|
-
throw new Error("Amount: invalid input. Decimals must be finite");
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
function validateAmount(amount) {
|
|
183
|
-
if (!/^[0-9]*$/.test(amount.amount)) {
|
|
184
|
-
throw new Error("Amount: invalid input. Must only contain digits.");
|
|
185
|
-
}
|
|
186
|
-
if (amount.decimals < 0) {
|
|
187
|
-
throw new Error("Amount: invalid input. Decimals must be >= 0");
|
|
188
|
-
}
|
|
189
|
-
if (!isFinite(amount.decimals)) {
|
|
190
|
-
throw new Error("Amount: invalid input. Decimals must be a finite number.");
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* Calculates a percentage of an amount using tenths of basis points (dBps)
|
|
195
|
-
* @param amt The amount to calculate percentage from
|
|
196
|
-
* @param dBps Tenths of basis points (e.g., 100 = 0.1%, 1000 = 1%, 10000 = 10%)
|
|
197
|
-
* @returns An Amount representing the percentage portion
|
|
198
|
-
*/
|
|
199
|
-
function getDeciBps(amt, dBps) {
|
|
200
|
-
const amtUnits = units(amt);
|
|
201
|
-
const portionUnits = (amtUnits * dBps) / 100000n;
|
|
202
|
-
return fromBaseUnits(portionUnits, amt.decimals);
|
|
203
|
-
}
|
|
204
|
-
exports.getDeciBps = getDeciBps;
|
|
205
|
-
//# sourceMappingURL=amount.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"amount.js","sourceRoot":"","sources":["../../../src/utils/amount.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import type { RoPair, RoTuple, RoArray, Extends, Xor, Not } from './metaprogramming.js';
|
|
2
|
-
export type RoTuple2D<T = unknown> = RoTuple<RoTuple<T>>;
|
|
3
|
-
export type RoArray2D<T = unknown> = RoArray<RoArray<T>>;
|
|
4
|
-
type TupleRangeImpl<L extends number, A extends number[] = []> = A["length"] extends L ? A : TupleRangeImpl<L, [...A, A["length"]]>;
|
|
5
|
-
export type TupleRange<L extends number> = number extends L ? never : L extends any ? TupleRangeImpl<L> : never;
|
|
6
|
-
export type Range<L extends number> = L extends any ? number extends L ? number[] : TupleRange<L> : never;
|
|
7
|
-
export type TupleWithLength<T, L extends number> = TupleRange<L> extends infer R extends RoArray<number> ? [...{
|
|
8
|
-
[K in keyof R]: T;
|
|
9
|
-
}] : never;
|
|
10
|
-
export type RoTupleWithLength<T, L extends number> = Readonly<TupleWithLength<T, L>>;
|
|
11
|
-
export declare const range: <const L extends number>(length: L) => Range<L>;
|
|
12
|
-
export type IndexEs = number;
|
|
13
|
-
export type HeadTail<T extends RoTuple, Head extends T[number], Tail extends RoTuple<T[number]>> = readonly [Head, ...Tail];
|
|
14
|
-
export type TupleEntries<T extends RoTuple> = [
|
|
15
|
-
...{
|
|
16
|
-
[K in keyof T]: K extends `${infer N extends number}` ? [N, T[K]] : never;
|
|
17
|
-
}
|
|
18
|
-
];
|
|
19
|
-
export type Entries<T extends RoArray> = T extends RoTuple ? TupleEntries<T> : T extends RoArray<infer U> ? [number, U][] : never;
|
|
20
|
-
export declare function entries<const T extends RoTuple>(arr: T): TupleEntries<T>;
|
|
21
|
-
export declare function entries<const T extends RoArray>(arr: T): Entries<T>;
|
|
22
|
-
export type IsArray<T> = T extends RoArray<any> ? true : false;
|
|
23
|
-
export type IsFlat<A extends RoArray> = true extends IsArray<A[number]> ? false : true;
|
|
24
|
-
export type TupleFlatten<T extends RoTuple> = T extends HeadTail<T, infer Head, infer Tail> ? Head extends RoTuple ? [...Head, ...TupleFlatten<Tail>] : [Head, ...TupleFlatten<Tail>] : [];
|
|
25
|
-
type StripArray<T> = T extends RoArray<infer E> ? E : T;
|
|
26
|
-
export type Flatten<A extends RoArray> = A extends RoTuple ? TupleFlatten<A> : StripArray<A[number]>[];
|
|
27
|
-
export declare const flatten: <const A extends RoArray>(arr: A) => Flatten<A>;
|
|
28
|
-
export type InnerFlatten<A extends RoArray> = [
|
|
29
|
-
...{
|
|
30
|
-
[K in keyof A]: K extends `${number}` ? A[K] extends RoArray ? Flatten<A[K]> : A[K] : never;
|
|
31
|
-
}
|
|
32
|
-
];
|
|
33
|
-
export type Unflatten<A extends RoArray> = [
|
|
34
|
-
...{
|
|
35
|
-
[K in keyof A]: K extends `${number}` ? [A[K]] : never;
|
|
36
|
-
}
|
|
37
|
-
];
|
|
38
|
-
export type IsRectangular<T extends RoTuple> = T extends RoTuple2D ? T extends HeadTail<T, infer Head extends RoTuple, infer Tail extends RoTuple2D> ? Tail extends readonly [] ? true : Tail[number]["length"] extends Head["length"] ? true : false : true : true;
|
|
39
|
-
export type Column<A extends RoArray2D, I extends number> = [
|
|
40
|
-
...{
|
|
41
|
-
[K in keyof A]: K extends `${number}` ? A[K][I] : never;
|
|
42
|
-
}
|
|
43
|
-
];
|
|
44
|
-
export declare const column: <const A extends RoArray2D<unknown>, const I extends number>(tupArr: A, index: I) => [...{ [K in keyof A]: K extends `${number}` ? A[K][I] : never; }];
|
|
45
|
-
export type TupleZip<T extends RoTuple2D> = IsRectangular<T> extends true ? T[0] extends infer Head extends RoTuple ? [
|
|
46
|
-
...{
|
|
47
|
-
[K in keyof Head]: K extends `${number}` ? [...{
|
|
48
|
-
[K2 in keyof T]: K extends keyof T[K2] ? T[K2][K] : never;
|
|
49
|
-
}] : never;
|
|
50
|
-
}
|
|
51
|
-
] : [] : never;
|
|
52
|
-
export type Zip<A extends RoArray2D> = A extends RoTuple2D ? TupleZip<A> : Flatten<A>[number][][];
|
|
53
|
-
export declare const zip: <const Args extends RoArray2D<unknown>>(arr: Args) => Zip<Args>;
|
|
54
|
-
export type TuplePickWithOrder<A extends RoArray, I extends RoTuple<number>> = I extends HeadTail<I, infer Head, infer Tail> ? A[Head] extends undefined ? TuplePickWithOrder<A, Tail> : [A[Head], ...TuplePickWithOrder<A, Tail>] : [];
|
|
55
|
-
export type PickWithOrder<A extends RoArray, I extends RoArray<number>> = [
|
|
56
|
-
A,
|
|
57
|
-
I
|
|
58
|
-
] extends [infer T extends RoTuple, infer TI extends RoTuple<number>] ? TuplePickWithOrder<T, TI> : A;
|
|
59
|
-
export declare const pickWithOrder: <const A extends RoArray, const I extends RoArray<number>>(arr: A, indexes: I) => PickWithOrder<A, I>;
|
|
60
|
-
type FilterIndexesImpl<T extends RoTuple, I extends IndexEs, E extends boolean> = T extends HeadTail<T, infer Head, infer Tail> ? Head extends RoPair<infer J extends number, infer V> ? Not<Xor<Not<E>, Extends<J, I>>> extends true ? [V, ...FilterIndexesImpl<Tail, I, E>] : FilterIndexesImpl<Tail, I, E> : never : [];
|
|
61
|
-
export type FilterIndexes<A extends RoArray, I extends IndexEs, E extends boolean = false> = A extends infer T extends RoTuple ? FilterIndexesImpl<Entries<T>, I, E> : A;
|
|
62
|
-
export declare const filterIndexes: <const T extends RoArray, const I extends RoArray<number>, const E extends boolean = false>(arr: T, indexes: I, exclude?: E) => FilterIndexes<T, I[number], E>;
|
|
63
|
-
export type Cartesian<L, R> = L extends RoArray ? Flatten<[...{
|
|
64
|
-
[K in keyof L]: K extends `${number}` ? Cartesian<L[K], R> : never;
|
|
65
|
-
}]> : R extends RoArray ? [...{
|
|
66
|
-
[K in keyof R]: K extends `${number}` ? [L, R[K]] : never;
|
|
67
|
-
}] : [L, R];
|
|
68
|
-
export declare function median(arr: RoArray<number>, isSorted?: boolean): number;
|
|
69
|
-
export declare function median(arr: RoArray<bigint>, isSorted?: boolean): bigint;
|
|
70
|
-
export {};
|
|
71
|
-
//# sourceMappingURL=array.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../../src/utils/array.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/utils/array.js
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.median = exports.filterIndexes = exports.pickWithOrder = exports.zip = exports.column = exports.flatten = exports.entries = exports.range = void 0;
|
|
4
|
-
const range = (length) => [...Array(length).keys()];
|
|
5
|
-
exports.range = range;
|
|
6
|
-
function entries(arr) {
|
|
7
|
-
return [...arr.entries()];
|
|
8
|
-
}
|
|
9
|
-
exports.entries = entries;
|
|
10
|
-
const flatten = (arr) => arr.flat();
|
|
11
|
-
exports.flatten = flatten;
|
|
12
|
-
const column = (tupArr, index) => tupArr.map((tuple) => tuple[index]);
|
|
13
|
-
exports.column = column;
|
|
14
|
-
const zip = (arr) => (0, exports.range)(arr[0].length).map(col => (0, exports.range)(arr.length).map(row => arr[row][col]));
|
|
15
|
-
exports.zip = zip;
|
|
16
|
-
const pickWithOrder = (arr, indexes) => indexes.map((i) => arr[i]);
|
|
17
|
-
exports.pickWithOrder = pickWithOrder;
|
|
18
|
-
const filterIndexes = (arr, indexes, exclude) => {
|
|
19
|
-
const indexSet = new Set(Array.isArray(indexes) ? indexes : [indexes]);
|
|
20
|
-
return arr.filter((_, i) => indexSet.has(i) !== exclude);
|
|
21
|
-
};
|
|
22
|
-
exports.filterIndexes = filterIndexes;
|
|
23
|
-
function median(arr, isSorted = false) {
|
|
24
|
-
if (arr.length === 0)
|
|
25
|
-
throw new Error("Can't calculate median of empty array");
|
|
26
|
-
const sorted = isSorted ? arr : [...arr].sort((a, b) => (a > b ? 1 : a < b ? -1 : 0)); // handle bigint and number
|
|
27
|
-
const mid = Math.floor(sorted.length / 2);
|
|
28
|
-
if (sorted.length % 2 === 1) {
|
|
29
|
-
return sorted[mid];
|
|
30
|
-
}
|
|
31
|
-
const left = sorted[mid - 1];
|
|
32
|
-
const right = sorted[mid];
|
|
33
|
-
if (typeof left === "bigint" && typeof right === "bigint") {
|
|
34
|
-
return (left + right) / 2n;
|
|
35
|
-
}
|
|
36
|
-
if (typeof left === "number" && typeof right === "number") {
|
|
37
|
-
return (left + right) / 2;
|
|
38
|
-
}
|
|
39
|
-
throw new Error("Can't calculate median of array with mixed number and bigint");
|
|
40
|
-
}
|
|
41
|
-
exports.median = median;
|
|
42
|
-
//# sourceMappingURL=array.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"array.js","sourceRoot":"","sources":["../../../src/utils/array.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
export { bech32 } from "@scure/base";
|
|
2
|
-
/** Utility method to strip a given prefix, frequently used to remove '0x' from an address */
|
|
3
|
-
export declare const stripPrefix: (prefix: string, str: string) => string;
|
|
4
|
-
/** Base16/Hex encoding and decoding utilities */
|
|
5
|
-
export declare const hex: {
|
|
6
|
-
/** check if a string is valid hex */
|
|
7
|
-
valid: (input: string) => boolean;
|
|
8
|
-
/** decode a hex string to Uint8Array */
|
|
9
|
-
decode: (input: string) => Uint8Array;
|
|
10
|
-
/** encode a string or Uint8Array to hex */
|
|
11
|
-
encode: (input: string | Uint8Array, prefix?: boolean) => string;
|
|
12
|
-
};
|
|
13
|
-
/** Base64 encoding and decoding utilities */
|
|
14
|
-
export declare const b64: {
|
|
15
|
-
/** check if a string is valid base64 */
|
|
16
|
-
valid: (input: string) => boolean;
|
|
17
|
-
/** decode a base64 string to Uint8Array */
|
|
18
|
-
decode: (str: string) => Uint8Array;
|
|
19
|
-
/** encode a string or Uint8Array to base64 */
|
|
20
|
-
encode: (input: string | Uint8Array) => string;
|
|
21
|
-
};
|
|
22
|
-
/** Base58 encoding and decoding utilities */
|
|
23
|
-
export declare const b58: {
|
|
24
|
-
/** decode a base58 string to Uint8Array */
|
|
25
|
-
decode: (str: string) => Uint8Array;
|
|
26
|
-
/** encode a string or Uint8Array to base58 */
|
|
27
|
-
encode: (input: string | Uint8Array) => string;
|
|
28
|
-
};
|
|
29
|
-
/** BigInt encoding and decoding utilities */
|
|
30
|
-
export declare const bignum: {
|
|
31
|
-
/** decode a hex string or bytes to a bigint */
|
|
32
|
-
decode: (input: string | Uint8Array) => bigint;
|
|
33
|
-
/** encode a bigint as a hex string */
|
|
34
|
-
encode: (input: bigint, prefix?: boolean) => string;
|
|
35
|
-
/** convert a bigint to a hexstring */
|
|
36
|
-
toString: (input: bigint, prefix?: boolean) => string;
|
|
37
|
-
/** convert a bigint or number to bytes,
|
|
38
|
-
* optionally specify length, left padded with 0s to length
|
|
39
|
-
*/
|
|
40
|
-
toBytes: (input: bigint | number, length?: number) => Uint8Array;
|
|
41
|
-
/** safe cast from bigint to number */
|
|
42
|
-
toNumber: (input: bigint) => number;
|
|
43
|
-
/** safe cast from number to bigint */
|
|
44
|
-
toBigInt: (input: number) => bigint;
|
|
45
|
-
};
|
|
46
|
-
/** Uint8Array encoding and decoding utilities */
|
|
47
|
-
export declare const bytes: {
|
|
48
|
-
/** encode a string to Uint8Array */
|
|
49
|
-
encode: (value: string) => Uint8Array;
|
|
50
|
-
/** decode a Uint8Array to string */
|
|
51
|
-
decode: (value: Uint8Array) => string;
|
|
52
|
-
/** compare two Uint8Arrays for equality */
|
|
53
|
-
equals: (lhs: Uint8Array, rhs: Uint8Array) => boolean;
|
|
54
|
-
/** pad a Uint8Array to a given length, optionally specifying padding direction */
|
|
55
|
-
zpad: (arr: Uint8Array, length: number, padStart?: boolean) => Uint8Array;
|
|
56
|
-
/** concatenate multiple Uint8Arrays into a single Uint8Array */
|
|
57
|
-
concat: (...args: Uint8Array[]) => Uint8Array;
|
|
58
|
-
};
|
|
59
|
-
//# sourceMappingURL=encoding.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../../src/utils/encoding.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,6FAA6F;AAC7F,eAAO,MAAM,WAAW,WAAY,MAAM,OAAO,MAAM,KAAG,MACD,CAAC;AAI1D,iDAAiD;AACjD,eAAO,MAAM,GAAG;IACd,qCAAqC;mBACtB,MAAM;IACrB,wCAAwC;oBACxB,MAAM;IACtB,2CAA2C;oBAC3B,MAAM,GAAG,UAAU,WAAU,OAAO;CAIrD,CAAC;AAMF,6CAA6C;AAC7C,eAAO,MAAM,GAAG;IACd,wCAAwC;mBACzB,MAAM;IACrB,2CAA2C;;IAE3C,8CAA8C;oBAC9B,MAAM,GAAG,UAAU;CAEpC,CAAC;AAEF,6CAA6C;AAC7C,eAAO,MAAM,GAAG;IACd,2CAA2C;;IAE3C,8CAA8C;oBAC9B,MAAM,GAAG,UAAU;CAEpC,CAAC;AAEF,6CAA6C;AAC7C,eAAO,MAAM,MAAM;IACjB,+CAA+C;oBAC/B,MAAM,GAAG,UAAU;IAKnC,sCAAsC;oBACtB,MAAM,WAAU,OAAO;IACvC,sCAAsC;sBACpB,MAAM,WAAU,OAAO;IAMzC;;OAEG;qBACc,MAAM,GAAG,MAAM,WAAW,MAAM;IAOjD,sCAAsC;sBACpB,MAAM;IAMxB,sCAAsC;sBACpB,MAAM;CAMzB,CAAC;AAEF,iDAAiD;AACjD,eAAO,MAAM,KAAK;IAChB,oCAAoC;oBACpB,MAAM,KAAG,UAAU;IACnC,oCAAoC;oBACpB,UAAU,KAAG,MAAM;IACnC,2CAA2C;kBAC7B,UAAU,OAAO,UAAU,KAAG,OAAO;IAEnD,kFAAkF;gBACtE,UAAU,UAAU,MAAM,aAAY,OAAO,KAAU,UAAU;IAI7E,gEAAgE;sBAC9C,UAAU,EAAE,KAAG,UAAU;CAU5C,CAAC"}
|