@metamask-previews/controller-utils 11.2.0-preview-9edcf0e0 → 11.2.0-preview-cf09c0a
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/constants.cjs +138 -0
- package/dist/constants.cjs.map +1 -0
- package/dist/{types/constants.d.ts → constants.d.cts} +2 -2
- package/dist/constants.d.cts.map +1 -0
- package/dist/constants.d.mts +117 -0
- package/dist/constants.d.mts.map +1 -0
- package/dist/constants.mjs +133 -54
- package/dist/constants.mjs.map +1 -1
- package/dist/index.cjs +48 -0
- package/dist/index.cjs.map +1 -0
- package/dist/{types/index.d.ts → index.d.cts} +6 -6
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +6 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +4 -137
- package/dist/index.mjs.map +1 -1
- package/dist/logger.cjs +7 -0
- package/dist/logger.cjs.map +1 -0
- package/dist/{types/logger.d.ts → logger.d.cts} +2 -2
- package/dist/logger.d.cts.map +1 -0
- package/dist/logger.d.mts +5 -0
- package/dist/logger.d.mts.map +1 -0
- package/dist/logger.mjs +3 -8
- package/dist/logger.mjs.map +1 -1
- package/dist/siwe.cjs +128 -0
- package/dist/siwe.cjs.map +1 -0
- package/dist/{types/siwe.d.ts → siwe.d.cts} +2 -2
- package/dist/siwe.d.cts.map +1 -0
- package/dist/siwe.d.mts +68 -0
- package/dist/siwe.d.mts.map +1 -0
- package/dist/siwe.mjs +120 -10
- package/dist/siwe.mjs.map +1 -1
- package/dist/types.cjs +107 -0
- package/dist/types.cjs.map +1 -0
- package/dist/{types/types.d.ts → types.d.cts} +1 -1
- package/dist/types.d.cts.map +1 -0
- package/dist/types.d.mts +132 -0
- package/dist/types.d.mts.map +1 -0
- package/dist/types.mjs +100 -21
- package/dist/types.mjs.map +1 -1
- package/dist/util.cjs +512 -0
- package/dist/util.cjs.map +1 -0
- package/dist/{types/util.d.ts → util.d.cts} +4 -4
- package/dist/util.d.cts.map +1 -0
- package/dist/util.d.mts +243 -0
- package/dist/util.d.mts.map +1 -0
- package/dist/util.mjs +488 -59
- package/dist/util.mjs.map +1 -1
- package/package.json +12 -7
- package/dist/chunk-2DKE2P5J.mjs +0 -306
- package/dist/chunk-2DKE2P5J.mjs.map +0 -1
- package/dist/chunk-6LGAYF2M.mjs +0 -147
- package/dist/chunk-6LGAYF2M.mjs.map +0 -1
- package/dist/chunk-CQMU5S2P.mjs +0 -85
- package/dist/chunk-CQMU5S2P.mjs.map +0 -1
- package/dist/chunk-DBJSLKNR.js +0 -9
- package/dist/chunk-DBJSLKNR.js.map +0 -1
- package/dist/chunk-M6G3ISXG.js +0 -86
- package/dist/chunk-M6G3ISXG.js.map +0 -1
- package/dist/chunk-MG6F6B4L.js +0 -147
- package/dist/chunk-MG6F6B4L.js.map +0 -1
- package/dist/chunk-RZFCNKW4.mjs +0 -9
- package/dist/chunk-RZFCNKW4.mjs.map +0 -1
- package/dist/chunk-SAQIILOG.js +0 -306
- package/dist/chunk-SAQIILOG.js.map +0 -1
- package/dist/chunk-VDEIYYE4.mjs +0 -86
- package/dist/chunk-VDEIYYE4.mjs.map +0 -1
- package/dist/chunk-XH4YXW3J.js +0 -85
- package/dist/chunk-XH4YXW3J.js.map +0 -1
- package/dist/constants.js +0 -56
- package/dist/constants.js.map +0 -1
- package/dist/index.js +0 -138
- package/dist/index.js.map +0 -1
- package/dist/logger.js +0 -9
- package/dist/logger.js.map +0 -1
- package/dist/siwe.js +0 -12
- package/dist/siwe.js.map +0 -1
- package/dist/tsconfig.build.tsbuildinfo +0 -1
- package/dist/types/constants.d.ts.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/logger.d.ts.map +0 -1
- package/dist/types/siwe.d.ts.map +0 -1
- package/dist/types/types.d.ts.map +0 -1
- package/dist/types/util.d.ts.map +0 -1
- package/dist/types.js +0 -23
- package/dist/types.js.map +0 -1
- package/dist/util.js +0 -61
- package/dist/util.js.map +0 -1
package/dist/util.d.mts
ADDED
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
import type EthQuery from "@metamask/eth-query";
|
|
2
|
+
import type { Hex, Json } from "@metamask/utils";
|
|
3
|
+
import BN from "bn.js";
|
|
4
|
+
export declare const PROTOTYPE_POLLUTION_BLOCKLIST: readonly ["__proto__", "constructor", "prototype"];
|
|
5
|
+
/**
|
|
6
|
+
* Checks whether a dynamic property key could be used in
|
|
7
|
+
* a [prototype pollution attack](https://portswigger.net/web-security/prototype-pollution).
|
|
8
|
+
*
|
|
9
|
+
* @param key - The dynamic key to validate.
|
|
10
|
+
* @returns Whether the given dynamic key is safe to use.
|
|
11
|
+
*/
|
|
12
|
+
export declare function isSafeDynamicKey(key: string): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Checks whether the given number primitive chain ID is safe.
|
|
15
|
+
* Because some cryptographic libraries we use expect the chain ID to be a
|
|
16
|
+
* number primitive, it must not exceed a certain size.
|
|
17
|
+
*
|
|
18
|
+
* @param chainId - The chain ID to check for safety.
|
|
19
|
+
* @returns Whether the given chain ID is safe.
|
|
20
|
+
*/
|
|
21
|
+
export declare function isSafeChainId(chainId: Hex): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Converts a BN object to a hex string with a '0x' prefix.
|
|
24
|
+
*
|
|
25
|
+
* @param inputBn - BN instance to convert to a hex string.
|
|
26
|
+
* @returns A '0x'-prefixed hex string.
|
|
27
|
+
*/
|
|
28
|
+
export declare function BNToHex(inputBn: BN): `0x${string}`;
|
|
29
|
+
/**
|
|
30
|
+
* Used to multiply a BN by a fraction.
|
|
31
|
+
*
|
|
32
|
+
* @param targetBN - Number to multiply by a fraction.
|
|
33
|
+
* @param numerator - Numerator of the fraction multiplier.
|
|
34
|
+
* @param denominator - Denominator of the fraction multiplier.
|
|
35
|
+
* @returns Product of the multiplication.
|
|
36
|
+
*/
|
|
37
|
+
export declare function fractionBN(targetBN: BN, numerator: number | string, denominator: number | string): BN;
|
|
38
|
+
/**
|
|
39
|
+
* Used to convert a base-10 number from GWEI to WEI. Can handle numbers with decimal parts.
|
|
40
|
+
*
|
|
41
|
+
* @param n - The base 10 number to convert to WEI.
|
|
42
|
+
* @returns The number in WEI, as a BN.
|
|
43
|
+
*/
|
|
44
|
+
export declare function gweiDecToWEIBN(n: number | string): any;
|
|
45
|
+
/**
|
|
46
|
+
* Used to convert values from wei hex format to dec gwei format.
|
|
47
|
+
*
|
|
48
|
+
* @param hex - The value in hex wei.
|
|
49
|
+
* @returns The value in dec gwei as string.
|
|
50
|
+
*/
|
|
51
|
+
export declare function weiHexToGweiDec(hex: string): any;
|
|
52
|
+
/**
|
|
53
|
+
* Return a URL that can be used to obtain ETH for a given network.
|
|
54
|
+
*
|
|
55
|
+
* @param networkCode - Network code of desired network.
|
|
56
|
+
* @param address - Address to deposit obtained ETH.
|
|
57
|
+
* @param amount - How much ETH is desired.
|
|
58
|
+
* @returns URL to buy ETH based on network.
|
|
59
|
+
*/
|
|
60
|
+
export declare function getBuyURL(networkCode?: string, address?: string, amount?: number): string | undefined;
|
|
61
|
+
/**
|
|
62
|
+
* Converts a hex string to a BN object.
|
|
63
|
+
*
|
|
64
|
+
* @param inputHex - Number represented as a hex string.
|
|
65
|
+
* @returns A BN instance.
|
|
66
|
+
*/
|
|
67
|
+
export declare function hexToBN(inputHex: string): BN;
|
|
68
|
+
/**
|
|
69
|
+
* A helper function that converts hex data to human readable string.
|
|
70
|
+
*
|
|
71
|
+
* @param hex - The hex string to convert to string.
|
|
72
|
+
* @returns A human readable string conversion.
|
|
73
|
+
*/
|
|
74
|
+
export declare function hexToText(hex: string): string;
|
|
75
|
+
/**
|
|
76
|
+
* Parses a hex string and converts it into a number that can be operated on in a bignum-safe,
|
|
77
|
+
* base-10 way.
|
|
78
|
+
*
|
|
79
|
+
* @param value - A base-16 number encoded as a string.
|
|
80
|
+
* @returns The number as a BN object in base-16 mode.
|
|
81
|
+
*/
|
|
82
|
+
export declare function fromHex(value: string | BN): BN;
|
|
83
|
+
/**
|
|
84
|
+
* Converts an integer to a hexadecimal representation.
|
|
85
|
+
*
|
|
86
|
+
* @param value - An integer, an integer encoded as a base-10 string, or a BN.
|
|
87
|
+
* @returns The integer encoded as a hex string.
|
|
88
|
+
*/
|
|
89
|
+
export declare function toHex(value: number | bigint | string | BN): Hex;
|
|
90
|
+
/**
|
|
91
|
+
* Execute and return an asynchronous operation without throwing errors.
|
|
92
|
+
*
|
|
93
|
+
* @param operation - Function returning a Promise.
|
|
94
|
+
* @param logError - Determines if the error should be logged.
|
|
95
|
+
* @template Result - Type of the result of the async operation
|
|
96
|
+
* @returns Promise resolving to the result of the async operation.
|
|
97
|
+
*/
|
|
98
|
+
export declare function safelyExecute<Result>(operation: () => Promise<Result>, logError?: boolean): Promise<Result | undefined>;
|
|
99
|
+
/**
|
|
100
|
+
* Execute and return an asynchronous operation with a timeout.
|
|
101
|
+
*
|
|
102
|
+
* @param operation - Function returning a Promise.
|
|
103
|
+
* @param logError - Determines if the error should be logged.
|
|
104
|
+
* @param timeout - Timeout to fail the operation.
|
|
105
|
+
* @template Result - Type of the result of the async operation
|
|
106
|
+
* @returns Promise resolving to the result of the async operation.
|
|
107
|
+
*/
|
|
108
|
+
export declare function safelyExecuteWithTimeout<Result>(operation: () => Promise<Result>, logError?: boolean, timeout?: number): Promise<Result | undefined>;
|
|
109
|
+
/**
|
|
110
|
+
* Convert an address to a checksummed hexadecimal address.
|
|
111
|
+
*
|
|
112
|
+
* @param address - The address to convert.
|
|
113
|
+
* @returns The address in 0x-prefixed hexadecimal checksummed form if it is valid.
|
|
114
|
+
*/
|
|
115
|
+
export declare function toChecksumHexAddress(address: string): string;
|
|
116
|
+
/**
|
|
117
|
+
* Convert an address to a checksummed hexadecimal address.
|
|
118
|
+
*
|
|
119
|
+
* Note that this particular overload does nothing.
|
|
120
|
+
*
|
|
121
|
+
* @param address - A value that is not a string (e.g. `undefined` or `null`).
|
|
122
|
+
* @returns The `address` untouched.
|
|
123
|
+
* @deprecated This overload is designed to gracefully handle an invalid input
|
|
124
|
+
* and is only present for backward compatibility. It may be removed in a future
|
|
125
|
+
* major version. Please pass a string to `toChecksumHexAddress` instead.
|
|
126
|
+
*/
|
|
127
|
+
export declare function toChecksumHexAddress<T>(address: T): T;
|
|
128
|
+
/**
|
|
129
|
+
* Validates that the input is a hex address. This utility method is a thin
|
|
130
|
+
* wrapper around @metamask/utils.isValidHexAddress, with the exception that it
|
|
131
|
+
* by default will return true for hex strings that are otherwise valid
|
|
132
|
+
* hex addresses, but are not prefixed with `0x`.
|
|
133
|
+
*
|
|
134
|
+
* @param possibleAddress - Input parameter to check against.
|
|
135
|
+
* @param options - The validation options.
|
|
136
|
+
* @param options.allowNonPrefixed - If true will allow addresses without `0x` prefix.`
|
|
137
|
+
* @returns Whether or not the input is a valid hex address.
|
|
138
|
+
*/
|
|
139
|
+
export declare function isValidHexAddress(possibleAddress: string, { allowNonPrefixed }?: {
|
|
140
|
+
allowNonPrefixed?: boolean | undefined;
|
|
141
|
+
}): boolean;
|
|
142
|
+
/**
|
|
143
|
+
* Returns whether the given code corresponds to a smart contract.
|
|
144
|
+
*
|
|
145
|
+
* @param code - The potential smart contract code.
|
|
146
|
+
* @returns Whether the code was smart contract code or not.
|
|
147
|
+
*/
|
|
148
|
+
export declare function isSmartContractCode(code: string): boolean;
|
|
149
|
+
/**
|
|
150
|
+
* Execute fetch and verify that the response was successful.
|
|
151
|
+
*
|
|
152
|
+
* @param request - Request information.
|
|
153
|
+
* @param options - Fetch options.
|
|
154
|
+
* @returns The fetch response.
|
|
155
|
+
*/
|
|
156
|
+
export declare function successfulFetch(request: URL | RequestInfo, options?: RequestInit): Promise<Response>;
|
|
157
|
+
/**
|
|
158
|
+
* Execute fetch and return object response.
|
|
159
|
+
*
|
|
160
|
+
* @param request - The request information.
|
|
161
|
+
* @param options - The fetch options.
|
|
162
|
+
* @returns The fetch response JSON data.
|
|
163
|
+
*/
|
|
164
|
+
export declare function handleFetch(request: URL | RequestInfo, options?: RequestInit): Promise<any>;
|
|
165
|
+
/**
|
|
166
|
+
* Execute fetch and return object response, log if known error thrown, otherwise rethrow error.
|
|
167
|
+
*
|
|
168
|
+
* @param request - the request options object
|
|
169
|
+
* @param request.url - The request url to query.
|
|
170
|
+
* @param request.options - The fetch options.
|
|
171
|
+
* @param request.timeout - Timeout to fail request
|
|
172
|
+
* @param request.errorCodesToCatch - array of error codes for errors we want to catch in a particular context
|
|
173
|
+
* @returns The fetch response JSON data or undefined (if error occurs).
|
|
174
|
+
*/
|
|
175
|
+
export declare function fetchWithErrorHandling({ url, options, timeout, errorCodesToCatch, }: {
|
|
176
|
+
url: string;
|
|
177
|
+
options?: RequestInit;
|
|
178
|
+
timeout?: number;
|
|
179
|
+
errorCodesToCatch?: number[];
|
|
180
|
+
}): Promise<any>;
|
|
181
|
+
/**
|
|
182
|
+
* Fetch that fails after timeout.
|
|
183
|
+
*
|
|
184
|
+
* @param url - Url to fetch.
|
|
185
|
+
* @param options - Options to send with the request.
|
|
186
|
+
* @param timeout - Timeout to fail request.
|
|
187
|
+
* @returns Promise resolving the request.
|
|
188
|
+
*/
|
|
189
|
+
export declare function timeoutFetch(url: string, options?: RequestInit, timeout?: number): Promise<Response>;
|
|
190
|
+
/**
|
|
191
|
+
* Normalizes the given ENS name.
|
|
192
|
+
*
|
|
193
|
+
* @param ensName - The ENS name.
|
|
194
|
+
* @returns The normalized ENS name string.
|
|
195
|
+
*/
|
|
196
|
+
export declare function normalizeEnsName(ensName: string): string | null;
|
|
197
|
+
/**
|
|
198
|
+
* Wrapper method to handle EthQuery requests.
|
|
199
|
+
*
|
|
200
|
+
* @param ethQuery - EthQuery object initialized with a provider.
|
|
201
|
+
* @param method - Method to request.
|
|
202
|
+
* @param args - Arguments to send.
|
|
203
|
+
* @returns Promise resolving the request.
|
|
204
|
+
*/
|
|
205
|
+
export declare function query(ethQuery: EthQuery, method: string, args?: any[]): Promise<any>;
|
|
206
|
+
/**
|
|
207
|
+
* Converts valid hex strings to decimal numbers, and handles unexpected arg types.
|
|
208
|
+
*
|
|
209
|
+
* @param value - a string that is either a hexadecimal with `0x` prefix or a decimal string.
|
|
210
|
+
* @returns a decimal number.
|
|
211
|
+
*/
|
|
212
|
+
export declare const convertHexToDecimal: (value?: string | undefined) => number;
|
|
213
|
+
type PlainObject = Record<number | string | symbol, unknown>;
|
|
214
|
+
/**
|
|
215
|
+
* Determines whether a value is a "plain" object.
|
|
216
|
+
*
|
|
217
|
+
* @param value - A value to check
|
|
218
|
+
* @returns True if the passed value is a plain object
|
|
219
|
+
*/
|
|
220
|
+
export declare function isPlainObject(value: unknown): value is PlainObject;
|
|
221
|
+
/**
|
|
222
|
+
* Like {@link Array}, but always non-empty.
|
|
223
|
+
*
|
|
224
|
+
* @template T - The non-empty array member type.
|
|
225
|
+
*/
|
|
226
|
+
export type NonEmptyArray<T> = [T, ...T[]];
|
|
227
|
+
/**
|
|
228
|
+
* Type guard for {@link NonEmptyArray}.
|
|
229
|
+
*
|
|
230
|
+
* @template T - The non-empty array member type.
|
|
231
|
+
* @param value - The value to check.
|
|
232
|
+
* @returns Whether the value is a non-empty array.
|
|
233
|
+
*/
|
|
234
|
+
export declare function isNonEmptyArray<T>(value: T[]): value is NonEmptyArray<T>;
|
|
235
|
+
/**
|
|
236
|
+
* Type guard for {@link Json}.
|
|
237
|
+
*
|
|
238
|
+
* @param value - The value to check.
|
|
239
|
+
* @returns Whether the value is valid JSON.
|
|
240
|
+
*/
|
|
241
|
+
export declare function isValidJson(value: unknown): value is Json;
|
|
242
|
+
export {};
|
|
243
|
+
//# sourceMappingURL=util.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.d.mts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|