@metamask-previews/controller-utils 12.3.0-preview-4f4c98e → 12.3.0-preview-5b293ee50

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 (83) hide show
  1. package/CHANGELOG.md +0 -4
  2. package/dist/abi.cjs +58 -0
  3. package/dist/abi.cjs.map +1 -0
  4. package/dist/{abi.d.ts → abi.d.cts} +3 -3
  5. package/dist/abi.d.cts.map +1 -0
  6. package/dist/abi.d.mts +16 -0
  7. package/dist/abi.d.mts.map +1 -0
  8. package/dist/{abi.js → abi.mjs} +3 -3
  9. package/dist/{abi.js.map → abi.mjs.map} +1 -1
  10. package/dist/constants.cjs +308 -0
  11. package/dist/constants.cjs.map +1 -0
  12. package/dist/{constants.d.ts → constants.d.cts} +3 -3
  13. package/dist/constants.d.cts.map +1 -0
  14. package/dist/constants.d.mts +283 -0
  15. package/dist/constants.d.mts.map +1 -0
  16. package/dist/{constants.js → constants.mjs} +2 -2
  17. package/dist/constants.mjs.map +1 -0
  18. package/dist/create-service-policy.cjs +250 -0
  19. package/dist/create-service-policy.cjs.map +1 -0
  20. package/dist/{create-service-policy.d.ts → create-service-policy.d.cts} +3 -3
  21. package/dist/create-service-policy.d.cts.map +1 -0
  22. package/dist/create-service-policy.d.mts +249 -0
  23. package/dist/create-service-policy.d.mts.map +1 -0
  24. package/dist/{create-service-policy.js → create-service-policy.mjs} +3 -3
  25. package/dist/create-service-policy.mjs.map +1 -0
  26. package/dist/index.cjs +102 -0
  27. package/dist/index.cjs.map +1 -0
  28. package/dist/{index.d.ts → index.d.cts} +9 -9
  29. package/dist/index.d.cts.map +1 -0
  30. package/dist/index.d.mts +9 -0
  31. package/dist/index.d.mts.map +1 -0
  32. package/dist/{index.js → index.mjs} +7 -7
  33. package/dist/index.mjs.map +1 -0
  34. package/dist/logger.cjs +7 -0
  35. package/dist/logger.cjs.map +1 -0
  36. package/dist/logger.d.cts +5 -0
  37. package/dist/logger.d.cts.map +1 -0
  38. package/dist/logger.d.mts +5 -0
  39. package/dist/logger.d.mts.map +1 -0
  40. package/dist/logger.mjs +4 -0
  41. package/dist/logger.mjs.map +1 -0
  42. package/dist/siwe.cjs +131 -0
  43. package/dist/siwe.cjs.map +1 -0
  44. package/dist/{siwe.d.ts → siwe.d.cts} +2 -2
  45. package/dist/siwe.d.cts.map +1 -0
  46. package/dist/siwe.d.mts +69 -0
  47. package/dist/siwe.d.mts.map +1 -0
  48. package/dist/{siwe.js → siwe.mjs} +4 -4
  49. package/dist/siwe.mjs.map +1 -0
  50. package/dist/types.cjs +232 -0
  51. package/dist/types.cjs.map +1 -0
  52. package/dist/{types.d.ts → types.d.cts} +98 -98
  53. package/dist/types.d.cts.map +1 -0
  54. package/dist/types.d.mts +267 -0
  55. package/dist/types.d.mts.map +1 -0
  56. package/dist/{types.js → types.mjs} +1 -1
  57. package/dist/types.mjs.map +1 -0
  58. package/dist/util.cjs +569 -0
  59. package/dist/util.cjs.map +1 -0
  60. package/dist/{util.d.ts → util.d.cts} +6 -6
  61. package/dist/util.d.cts.map +1 -0
  62. package/dist/util.d.mts +261 -0
  63. package/dist/util.d.mts.map +1 -0
  64. package/dist/{util.js → util.mjs} +18 -8
  65. package/dist/util.mjs.map +1 -0
  66. package/package.json +18 -14
  67. package/dist/abi.d.ts.map +0 -1
  68. package/dist/constants.d.ts.map +0 -1
  69. package/dist/constants.js.map +0 -1
  70. package/dist/create-service-policy.d.ts.map +0 -1
  71. package/dist/create-service-policy.js.map +0 -1
  72. package/dist/index.d.ts.map +0 -1
  73. package/dist/index.js.map +0 -1
  74. package/dist/logger.d.ts +0 -4
  75. package/dist/logger.d.ts.map +0 -1
  76. package/dist/logger.js +0 -4
  77. package/dist/logger.js.map +0 -1
  78. package/dist/siwe.d.ts.map +0 -1
  79. package/dist/siwe.js.map +0 -1
  80. package/dist/types.d.ts.map +0 -1
  81. package/dist/types.js.map +0 -1
  82. package/dist/util.d.ts.map +0 -1
  83. package/dist/util.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -11,10 +11,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
11
11
 
12
12
  - Add optional `startTime` to `TraceRequest` to allow backdating a span's start time ([#9315](https://github.com/MetaMask/core/pull/9315))
13
13
 
14
- ### Changed
15
-
16
- - **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168))
17
-
18
14
  ### Deprecated
19
15
 
20
16
  - Deprecate `createServicePolicy` and related symbols ([#9418](https://github.com/MetaMask/core/pull/9418))
package/dist/abi.cjs ADDED
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.encodeFunctionData = void 0;
4
+ const abi_1 = require("@ethersproject/abi");
5
+ const utils_1 = require("@metamask/utils");
6
+ // FastAddressCoder that skips checksumming addresses when encoding and uses the memoized `getChecksumAddress` for decoding.
7
+ class FastAddressCoder {
8
+ constructor(localName) {
9
+ this.name = 'address';
10
+ this.type = 'address';
11
+ this.dynamic = false;
12
+ this.localName = localName;
13
+ }
14
+ encode(writer, value) {
15
+ return writer.writeValue(value);
16
+ }
17
+ decode(reader) {
18
+ const value = reader.readValue();
19
+ const paddedHex = value.toHexString().slice(2).padStart(40);
20
+ return (0, utils_1.getChecksumAddress)((0, utils_1.add0x)(paddedHex));
21
+ }
22
+ defaultValue() {
23
+ return '0x0000000000000000000000000000000000000000';
24
+ }
25
+ /* istanbul ignore next */
26
+ _throwError(_message, _value) {
27
+ throw new Error('Method not implemented.');
28
+ }
29
+ }
30
+ class FastAbiCoder extends abi_1.AbiCoder {
31
+ _getCoder(param) {
32
+ if (param.type === 'address') {
33
+ return new FastAddressCoder(param.name);
34
+ }
35
+ return super._getCoder(param);
36
+ }
37
+ }
38
+ const fastAbiCoder = new FastAbiCoder();
39
+ /**
40
+ * Encode the data required for a function call.
41
+ *
42
+ * Note: This uses `@ethersproject/abi` under the hood, but for improved
43
+ * performance, does not verify checksums of addresses. Make sure addresses
44
+ * passed to this function are valid and checksummed if necessary.
45
+ *
46
+ * @param abi - The ABI instance.
47
+ * @param functionName - The function name.
48
+ * @param values - The parameters to encode.
49
+ * @returns The encoded data for the function call in hexadecimal.
50
+ */
51
+ function encodeFunctionData(abi, functionName, values) {
52
+ const func = abi.getFunction(functionName);
53
+ const sigHash = (0, utils_1.hexToBytes)(abi.getSighash(func));
54
+ const encodedParams = fastAbiCoder.encode(func.inputs, values);
55
+ return (0, utils_1.bytesToHex)((0, utils_1.concatBytes)([sigHash, encodedParams]));
56
+ }
57
+ exports.encodeFunctionData = encodeFunctionData;
58
+ //# sourceMappingURL=abi.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abi.cjs","sourceRoot":"","sources":["../src/abi.ts"],"names":[],"mappings":";;;AAAA,4CAAoE;AACpE,2CAMyB;AAQzB,4HAA4H;AAC5H,MAAM,gBAAgB;IASpB,YAAY,SAAiB;QAR7B,SAAI,GAAG,SAAS,CAAC;QAEjB,SAAI,GAAG,SAAS,CAAC;QAEjB,YAAO,GAAG,KAAK,CAAC;QAKd,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,KAAa;QAClC,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,MAAc;QACnB,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5D,OAAO,IAAA,0BAAkB,EAAC,IAAA,aAAK,EAAC,SAAS,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,YAAY;QACV,OAAO,4CAA4C,CAAC;IACtD,CAAC;IAED,0BAA0B;IAC1B,WAAW,CAAC,QAAgB,EAAE,MAAe;QAC3C,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;CACF;AAED,MAAM,YAAa,SAAQ,cAAQ;IACjC,SAAS,CAAC,KAAgB;QACxB,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;CACF;AAED,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;AAExC;;;;;;;;;;;GAWG;AACH,SAAgB,kBAAkB,CAChC,GAAc,EACd,YAAoB,EACpB,MAAiB;IAEjB,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/D,OAAO,IAAA,kBAAU,EAAC,IAAA,mBAAW,EAAC,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;AATD,gDASC","sourcesContent":["import { AbiCoder, Interface, ParamType } from '@ethersproject/abi';\nimport {\n concatBytes,\n hexToBytes,\n bytesToHex,\n getChecksumAddress,\n add0x,\n} from '@metamask/utils';\nimport type { Hex } from '@metamask/utils';\n\n// Ethers does not export these unfortunately.\ntype Coder = ReturnType<AbiCoder['_getCoder']>;\ntype Writer = Parameters<Coder['encode']>[0];\ntype Reader = Parameters<Coder['decode']>[0];\n\n// FastAddressCoder that skips checksumming addresses when encoding and uses the memoized `getChecksumAddress` for decoding.\nclass FastAddressCoder implements Coder {\n name = 'address';\n\n type = 'address';\n\n dynamic = false;\n\n localName: string;\n\n constructor(localName: string) {\n this.localName = localName;\n }\n\n encode(writer: Writer, value: string): number {\n return writer.writeValue(value);\n }\n\n decode(reader: Reader): unknown {\n const value = reader.readValue();\n const paddedHex = value.toHexString().slice(2).padStart(40);\n return getChecksumAddress(add0x(paddedHex));\n }\n\n defaultValue(): string {\n return '0x0000000000000000000000000000000000000000';\n }\n\n /* istanbul ignore next */\n _throwError(_message: string, _value: unknown): void {\n throw new Error('Method not implemented.');\n }\n}\n\nclass FastAbiCoder extends AbiCoder {\n _getCoder(param: ParamType): Coder {\n if (param.type === 'address') {\n return new FastAddressCoder(param.name);\n }\n return super._getCoder(param);\n }\n}\n\nconst fastAbiCoder = new FastAbiCoder();\n\n/**\n * Encode the data required for a function call.\n *\n * Note: This uses `@ethersproject/abi` under the hood, but for improved\n * performance, does not verify checksums of addresses. Make sure addresses\n * passed to this function are valid and checksummed if necessary.\n *\n * @param abi - The ABI instance.\n * @param functionName - The function name.\n * @param values - The parameters to encode.\n * @returns The encoded data for the function call in hexadecimal.\n */\nexport function encodeFunctionData(\n abi: Interface,\n functionName: string,\n values: unknown[],\n): Hex {\n const func = abi.getFunction(functionName);\n const sigHash = hexToBytes(abi.getSighash(func));\n const encodedParams = fastAbiCoder.encode(func.inputs, values);\n return bytesToHex(concatBytes([sigHash, encodedParams]));\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { Interface } from '@ethersproject/abi';
2
- import type { Hex } from '@metamask/utils';
1
+ import { Interface } from "@ethersproject/abi";
2
+ import type { Hex } from "@metamask/utils";
3
3
  /**
4
4
  * Encode the data required for a function call.
5
5
  *
@@ -13,4 +13,4 @@ import type { Hex } from '@metamask/utils';
13
13
  * @returns The encoded data for the function call in hexadecimal.
14
14
  */
15
15
  export declare function encodeFunctionData(abi: Interface, functionName: string, values: unknown[]): Hex;
16
- //# sourceMappingURL=abi.d.ts.map
16
+ //# sourceMappingURL=abi.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abi.d.cts","sourceRoot":"","sources":["../src/abi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,SAAS,EAAa,2BAA2B;AAQpE,OAAO,KAAK,EAAE,GAAG,EAAE,wBAAwB;AAoD3C;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,SAAS,EACd,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,OAAO,EAAE,GAChB,GAAG,CAKL"}
package/dist/abi.d.mts ADDED
@@ -0,0 +1,16 @@
1
+ import { Interface } from "@ethersproject/abi";
2
+ import type { Hex } from "@metamask/utils";
3
+ /**
4
+ * Encode the data required for a function call.
5
+ *
6
+ * Note: This uses `@ethersproject/abi` under the hood, but for improved
7
+ * performance, does not verify checksums of addresses. Make sure addresses
8
+ * passed to this function are valid and checksummed if necessary.
9
+ *
10
+ * @param abi - The ABI instance.
11
+ * @param functionName - The function name.
12
+ * @param values - The parameters to encode.
13
+ * @returns The encoded data for the function call in hexadecimal.
14
+ */
15
+ export declare function encodeFunctionData(abi: Interface, functionName: string, values: unknown[]): Hex;
16
+ //# sourceMappingURL=abi.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abi.d.mts","sourceRoot":"","sources":["../src/abi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,SAAS,EAAa,2BAA2B;AAQpE,OAAO,KAAK,EAAE,GAAG,EAAE,wBAAwB;AAoD3C;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,SAAS,EACd,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,OAAO,EAAE,GAChB,GAAG,CAKL"}
@@ -1,5 +1,5 @@
1
- import { AbiCoder } from '@ethersproject/abi';
2
- import { concatBytes, hexToBytes, bytesToHex, getChecksumAddress, add0x, } from '@metamask/utils';
1
+ import { AbiCoder, Interface, ParamType } from "@ethersproject/abi";
2
+ import { concatBytes, hexToBytes, bytesToHex, getChecksumAddress, add0x } from "@metamask/utils";
3
3
  // FastAddressCoder that skips checksumming addresses when encoding and uses the memoized `getChecksumAddress` for decoding.
4
4
  class FastAddressCoder {
5
5
  constructor(localName) {
@@ -51,4 +51,4 @@ export function encodeFunctionData(abi, functionName, values) {
51
51
  const encodedParams = fastAbiCoder.encode(func.inputs, values);
52
52
  return bytesToHex(concatBytes([sigHash, encodedParams]));
53
53
  }
54
- //# sourceMappingURL=abi.js.map
54
+ //# sourceMappingURL=abi.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"abi.js","sourceRoot":"","sources":["../src/abi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAwB,MAAM,oBAAoB,CAAC;AACpE,OAAO,EACL,WAAW,EACX,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,KAAK,GACN,MAAM,iBAAiB,CAAC;AAQzB,4HAA4H;AAC5H,MAAM,gBAAgB;IASpB,YAAY,SAAiB;QAR7B,SAAI,GAAG,SAAS,CAAC;QAEjB,SAAI,GAAG,SAAS,CAAC;QAEjB,YAAO,GAAG,KAAK,CAAC;QAKd,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,KAAa;QAClC,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,MAAc;QACnB,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5D,OAAO,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,YAAY;QACV,OAAO,4CAA4C,CAAC;IACtD,CAAC;IAED,0BAA0B;IAC1B,WAAW,CAAC,QAAgB,EAAE,MAAe;QAC3C,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;CACF;AAED,MAAM,YAAa,SAAQ,QAAQ;IACjC,SAAS,CAAC,KAAgB;QACxB,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;CACF;AAED,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;AAExC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAAc,EACd,YAAoB,EACpB,MAAiB;IAEjB,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/D,OAAO,UAAU,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC","sourcesContent":["import { AbiCoder, Interface, ParamType } from '@ethersproject/abi';\nimport {\n concatBytes,\n hexToBytes,\n bytesToHex,\n getChecksumAddress,\n add0x,\n} from '@metamask/utils';\nimport type { Hex } from '@metamask/utils';\n\n// Ethers does not export these unfortunately.\ntype Coder = ReturnType<AbiCoder['_getCoder']>;\ntype Writer = Parameters<Coder['encode']>[0];\ntype Reader = Parameters<Coder['decode']>[0];\n\n// FastAddressCoder that skips checksumming addresses when encoding and uses the memoized `getChecksumAddress` for decoding.\nclass FastAddressCoder implements Coder {\n name = 'address';\n\n type = 'address';\n\n dynamic = false;\n\n localName: string;\n\n constructor(localName: string) {\n this.localName = localName;\n }\n\n encode(writer: Writer, value: string): number {\n return writer.writeValue(value);\n }\n\n decode(reader: Reader): unknown {\n const value = reader.readValue();\n const paddedHex = value.toHexString().slice(2).padStart(40);\n return getChecksumAddress(add0x(paddedHex));\n }\n\n defaultValue(): string {\n return '0x0000000000000000000000000000000000000000';\n }\n\n /* istanbul ignore next */\n _throwError(_message: string, _value: unknown): void {\n throw new Error('Method not implemented.');\n }\n}\n\nclass FastAbiCoder extends AbiCoder {\n _getCoder(param: ParamType): Coder {\n if (param.type === 'address') {\n return new FastAddressCoder(param.name);\n }\n return super._getCoder(param);\n }\n}\n\nconst fastAbiCoder = new FastAbiCoder();\n\n/**\n * Encode the data required for a function call.\n *\n * Note: This uses `@ethersproject/abi` under the hood, but for improved\n * performance, does not verify checksums of addresses. Make sure addresses\n * passed to this function are valid and checksummed if necessary.\n *\n * @param abi - The ABI instance.\n * @param functionName - The function name.\n * @param values - The parameters to encode.\n * @returns The encoded data for the function call in hexadecimal.\n */\nexport function encodeFunctionData(\n abi: Interface,\n functionName: string,\n values: unknown[],\n): Hex {\n const func = abi.getFunction(functionName);\n const sigHash = hexToBytes(abi.getSighash(func));\n const encodedParams = fastAbiCoder.encode(func.inputs, values);\n return bytesToHex(concatBytes([sigHash, encodedParams]));\n}\n"]}
1
+ {"version":3,"file":"abi.mjs","sourceRoot":"","sources":["../src/abi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,2BAA2B;AACpE,OAAO,EACL,WAAW,EACX,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,KAAK,EACN,wBAAwB;AAQzB,4HAA4H;AAC5H,MAAM,gBAAgB;IASpB,YAAY,SAAiB;QAR7B,SAAI,GAAG,SAAS,CAAC;QAEjB,SAAI,GAAG,SAAS,CAAC;QAEjB,YAAO,GAAG,KAAK,CAAC;QAKd,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,KAAa;QAClC,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,MAAc;QACnB,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5D,OAAO,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,YAAY;QACV,OAAO,4CAA4C,CAAC;IACtD,CAAC;IAED,0BAA0B;IAC1B,WAAW,CAAC,QAAgB,EAAE,MAAe;QAC3C,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;CACF;AAED,MAAM,YAAa,SAAQ,QAAQ;IACjC,SAAS,CAAC,KAAgB;QACxB,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;CACF;AAED,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;AAExC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAAc,EACd,YAAoB,EACpB,MAAiB;IAEjB,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/D,OAAO,UAAU,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC","sourcesContent":["import { AbiCoder, Interface, ParamType } from '@ethersproject/abi';\nimport {\n concatBytes,\n hexToBytes,\n bytesToHex,\n getChecksumAddress,\n add0x,\n} from '@metamask/utils';\nimport type { Hex } from '@metamask/utils';\n\n// Ethers does not export these unfortunately.\ntype Coder = ReturnType<AbiCoder['_getCoder']>;\ntype Writer = Parameters<Coder['encode']>[0];\ntype Reader = Parameters<Coder['decode']>[0];\n\n// FastAddressCoder that skips checksumming addresses when encoding and uses the memoized `getChecksumAddress` for decoding.\nclass FastAddressCoder implements Coder {\n name = 'address';\n\n type = 'address';\n\n dynamic = false;\n\n localName: string;\n\n constructor(localName: string) {\n this.localName = localName;\n }\n\n encode(writer: Writer, value: string): number {\n return writer.writeValue(value);\n }\n\n decode(reader: Reader): unknown {\n const value = reader.readValue();\n const paddedHex = value.toHexString().slice(2).padStart(40);\n return getChecksumAddress(add0x(paddedHex));\n }\n\n defaultValue(): string {\n return '0x0000000000000000000000000000000000000000';\n }\n\n /* istanbul ignore next */\n _throwError(_message: string, _value: unknown): void {\n throw new Error('Method not implemented.');\n }\n}\n\nclass FastAbiCoder extends AbiCoder {\n _getCoder(param: ParamType): Coder {\n if (param.type === 'address') {\n return new FastAddressCoder(param.name);\n }\n return super._getCoder(param);\n }\n}\n\nconst fastAbiCoder = new FastAbiCoder();\n\n/**\n * Encode the data required for a function call.\n *\n * Note: This uses `@ethersproject/abi` under the hood, but for improved\n * performance, does not verify checksums of addresses. Make sure addresses\n * passed to this function are valid and checksummed if necessary.\n *\n * @param abi - The ABI instance.\n * @param functionName - The function name.\n * @param values - The parameters to encode.\n * @returns The encoded data for the function call in hexadecimal.\n */\nexport function encodeFunctionData(\n abi: Interface,\n functionName: string,\n values: unknown[],\n): Hex {\n const func = abi.getFunction(functionName);\n const sigHash = hexToBytes(abi.getSighash(func));\n const encodedParams = fastAbiCoder.encode(func.inputs, values);\n return bytesToHex(concatBytes([sigHash, encodedParams]));\n}\n"]}
@@ -0,0 +1,308 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CHAIN_IDS_WITH_NO_NATIVE_TOKEN = exports.DAYS = exports.DAY = exports.HOURS = exports.HOUR = exports.MINUTES = exports.MINUTE = exports.SECONDS = exports.SECOND = exports.CHAIN_ID_TO_ETHERS_NETWORK_NAME_MAP = exports.ApprovalType = exports.ORIGIN_METAMASK = exports.NFT_API_TIMEOUT = exports.NFT_API_VERSION = exports.NFT_API_BASE_URL = exports.OPENSEA_PROXY_URL = exports.NETWORKS_BYPASSING_VALIDATION = exports.BUILT_IN_NETWORKS = exports.BUILT_IN_CUSTOM_NETWORKS_RPC = exports.TESTNET_TICKER_SYMBOLS = exports.ASSET_TYPES = exports.GWEI = exports.ERC1155_TOKEN_RECEIVER_INTERFACE_ID = exports.ERC1155_METADATA_URI_INTERFACE_ID = exports.ERC1155_INTERFACE_ID = exports.ERC721_ENUMERABLE_INTERFACE_ID = exports.ERC721_METADATA_INTERFACE_ID = exports.ERC721_INTERFACE_ID = exports.ERC20 = exports.ERC1155 = exports.ERC721 = exports.MAX_SAFE_CHAIN_ID = exports.GANACHE_CHAIN_ID = exports.IPFS_DEFAULT_GATEWAY_URL = exports.FALL_BACK_VS_CURRENCY = exports.RPC = void 0;
4
+ const types_js_1 = require("./types.cjs");
5
+ exports.RPC = 'rpc';
6
+ exports.FALL_BACK_VS_CURRENCY = 'ETH';
7
+ exports.IPFS_DEFAULT_GATEWAY_URL = 'https://cloudflare-ipfs.com/ipfs/';
8
+ // NETWORKS ID
9
+ // `toHex` not invoked to avoid cyclic dependency
10
+ exports.GANACHE_CHAIN_ID = '0x539'; // toHex(1337)
11
+ /**
12
+ * The largest possible chain ID we can handle.
13
+ * Explanation: https://gist.github.com/rekmarks/a47bd5f2525936c4b8eee31a16345553
14
+ */
15
+ exports.MAX_SAFE_CHAIN_ID = 4503599627370476;
16
+ // TOKEN STANDARDS
17
+ exports.ERC721 = 'ERC721';
18
+ exports.ERC1155 = 'ERC1155';
19
+ exports.ERC20 = 'ERC20';
20
+ // TOKEN INTERFACE IDS
21
+ exports.ERC721_INTERFACE_ID = '0x80ac58cd';
22
+ exports.ERC721_METADATA_INTERFACE_ID = '0x5b5e139f';
23
+ exports.ERC721_ENUMERABLE_INTERFACE_ID = '0x780e9d63';
24
+ exports.ERC1155_INTERFACE_ID = '0xd9b67a26';
25
+ exports.ERC1155_METADATA_URI_INTERFACE_ID = '0x0e89341c';
26
+ exports.ERC1155_TOKEN_RECEIVER_INTERFACE_ID = '0x4e2312e0';
27
+ // UNITS
28
+ exports.GWEI = 'gwei';
29
+ // ASSET TYPES
30
+ exports.ASSET_TYPES = {
31
+ NATIVE: 'NATIVE',
32
+ TOKEN: 'TOKEN',
33
+ NFT: 'NFT',
34
+ UNKNOWN: 'UNKNOWN',
35
+ };
36
+ // TICKER SYMBOLS
37
+ exports.TESTNET_TICKER_SYMBOLS = {
38
+ GOERLI: 'GoerliETH',
39
+ SEPOLIA: 'SepoliaETH',
40
+ LINEA_GOERLI: 'LineaETH',
41
+ LINEA_SEPOLIA: 'LineaETH',
42
+ MEGAETH_TESTNET: 'MegaETH',
43
+ MEGAETH_TESTNET_V2: 'MegaETH',
44
+ };
45
+ /**
46
+ * Map of all built-in custom networks to their RPC endpoints.
47
+ */
48
+ exports.BUILT_IN_CUSTOM_NETWORKS_RPC = {
49
+ /**
50
+ * @deprecated Please use `megaeth-testnet` instead.
51
+ */
52
+ MEGAETH_TESTNET: 'https://carrot.megaeth.com/rpc',
53
+ /**
54
+ * @deprecated Please use `megaeth-testnet-v2` instead.
55
+ */
56
+ 'megaeth-testnet': 'https://carrot.megaeth.com/rpc',
57
+ 'megaeth-testnet-v2': 'https://carrot.megaeth.com/rpc',
58
+ 'monad-testnet': 'https://testnet-rpc.monad.xyz',
59
+ };
60
+ /**
61
+ * Map of all build-in Infura networks to their network, ticker and chain IDs.
62
+ */
63
+ exports.BUILT_IN_NETWORKS = {
64
+ [types_js_1.NetworkType.goerli]: {
65
+ chainId: types_js_1.ChainId.goerli,
66
+ ticker: types_js_1.NetworksTicker.goerli,
67
+ rpcPrefs: {
68
+ blockExplorerUrl: types_js_1.BlockExplorerUrl.goerli,
69
+ },
70
+ },
71
+ [types_js_1.NetworkType.sepolia]: {
72
+ chainId: types_js_1.ChainId.sepolia,
73
+ ticker: types_js_1.NetworksTicker.sepolia,
74
+ rpcPrefs: {
75
+ blockExplorerUrl: types_js_1.BlockExplorerUrl.sepolia,
76
+ },
77
+ },
78
+ [types_js_1.NetworkType.mainnet]: {
79
+ chainId: types_js_1.ChainId.mainnet,
80
+ ticker: types_js_1.NetworksTicker.mainnet,
81
+ rpcPrefs: {
82
+ blockExplorerUrl: types_js_1.BlockExplorerUrl.mainnet,
83
+ },
84
+ },
85
+ [types_js_1.NetworkType['linea-goerli']]: {
86
+ chainId: types_js_1.ChainId['linea-goerli'],
87
+ ticker: types_js_1.NetworksTicker['linea-goerli'],
88
+ rpcPrefs: {
89
+ blockExplorerUrl: types_js_1.BlockExplorerUrl['linea-goerli'],
90
+ },
91
+ },
92
+ [types_js_1.NetworkType['linea-sepolia']]: {
93
+ chainId: types_js_1.ChainId['linea-sepolia'],
94
+ ticker: types_js_1.NetworksTicker['linea-sepolia'],
95
+ rpcPrefs: {
96
+ blockExplorerUrl: types_js_1.BlockExplorerUrl['linea-sepolia'],
97
+ },
98
+ },
99
+ [types_js_1.NetworkType['linea-mainnet']]: {
100
+ chainId: types_js_1.ChainId['linea-mainnet'],
101
+ ticker: types_js_1.NetworksTicker['linea-mainnet'],
102
+ rpcPrefs: {
103
+ blockExplorerUrl: types_js_1.BlockExplorerUrl['linea-mainnet'],
104
+ },
105
+ },
106
+ [types_js_1.NetworkType['megaeth-testnet']]: {
107
+ chainId: types_js_1.ChainId['megaeth-testnet'],
108
+ ticker: types_js_1.NetworksTicker['megaeth-testnet'],
109
+ rpcPrefs: {
110
+ blockExplorerUrl: types_js_1.BlockExplorerUrl['megaeth-testnet'],
111
+ },
112
+ },
113
+ [types_js_1.NetworkType['megaeth-testnet-v2']]: {
114
+ chainId: types_js_1.ChainId['megaeth-testnet-v2'],
115
+ ticker: types_js_1.NetworksTicker['megaeth-testnet-v2'],
116
+ rpcPrefs: {
117
+ blockExplorerUrl: types_js_1.BlockExplorerUrl['megaeth-testnet-v2'],
118
+ },
119
+ },
120
+ [types_js_1.NetworkType['monad-testnet']]: {
121
+ chainId: types_js_1.ChainId['monad-testnet'],
122
+ ticker: types_js_1.NetworksTicker['monad-testnet'],
123
+ rpcPrefs: {
124
+ blockExplorerUrl: types_js_1.BlockExplorerUrl['monad-testnet'],
125
+ },
126
+ },
127
+ [types_js_1.NetworkType['base-mainnet']]: {
128
+ chainId: types_js_1.ChainId['base-mainnet'],
129
+ ticker: types_js_1.NetworksTicker['base-mainnet'],
130
+ rpcPrefs: {
131
+ blockExplorerUrl: types_js_1.BlockExplorerUrl['base-mainnet'],
132
+ },
133
+ },
134
+ [types_js_1.NetworkType['arbitrum-mainnet']]: {
135
+ chainId: types_js_1.ChainId['arbitrum-mainnet'],
136
+ ticker: types_js_1.NetworksTicker['arbitrum-mainnet'],
137
+ rpcPrefs: {
138
+ blockExplorerUrl: types_js_1.BlockExplorerUrl['arbitrum-mainnet'],
139
+ },
140
+ },
141
+ [types_js_1.NetworkType['bsc-mainnet']]: {
142
+ chainId: types_js_1.ChainId['bsc-mainnet'],
143
+ ticker: types_js_1.NetworksTicker['bsc-mainnet'],
144
+ rpcPrefs: {
145
+ blockExplorerUrl: types_js_1.BlockExplorerUrl['bsc-mainnet'],
146
+ },
147
+ },
148
+ [types_js_1.NetworkType['optimism-mainnet']]: {
149
+ chainId: types_js_1.ChainId['optimism-mainnet'],
150
+ ticker: types_js_1.NetworksTicker['optimism-mainnet'],
151
+ rpcPrefs: {
152
+ blockExplorerUrl: types_js_1.BlockExplorerUrl['optimism-mainnet'],
153
+ },
154
+ },
155
+ [types_js_1.NetworkType['polygon-mainnet']]: {
156
+ chainId: types_js_1.ChainId['polygon-mainnet'],
157
+ ticker: types_js_1.NetworksTicker['polygon-mainnet'],
158
+ rpcPrefs: {
159
+ blockExplorerUrl: types_js_1.BlockExplorerUrl['polygon-mainnet'],
160
+ },
161
+ },
162
+ [types_js_1.NetworkType['sei-mainnet']]: {
163
+ chainId: types_js_1.ChainId['sei-mainnet'],
164
+ ticker: types_js_1.NetworksTicker['sei-mainnet'],
165
+ rpcPrefs: {
166
+ blockExplorerUrl: types_js_1.BlockExplorerUrl['sei-mainnet'],
167
+ },
168
+ },
169
+ [types_js_1.NetworkType['monad-mainnet']]: {
170
+ chainId: types_js_1.ChainId['monad-mainnet'],
171
+ ticker: types_js_1.NetworksTicker['monad-mainnet'],
172
+ rpcPrefs: {
173
+ blockExplorerUrl: types_js_1.BlockExplorerUrl['monad-mainnet'],
174
+ },
175
+ },
176
+ [types_js_1.NetworkType['zksync-mainnet']]: {
177
+ chainId: types_js_1.ChainId['zksync-mainnet'],
178
+ ticker: types_js_1.NetworksTicker['zksync-mainnet'],
179
+ rpcPrefs: {
180
+ blockExplorerUrl: types_js_1.BlockExplorerUrl['zksync-mainnet'],
181
+ },
182
+ },
183
+ [types_js_1.NetworkType['megaeth-mainnet']]: {
184
+ chainId: types_js_1.ChainId['megaeth-mainnet'],
185
+ ticker: types_js_1.NetworksTicker['megaeth-mainnet'],
186
+ rpcPrefs: {
187
+ blockExplorerUrl: types_js_1.BlockExplorerUrl['megaeth-mainnet'],
188
+ },
189
+ },
190
+ [types_js_1.NetworkType['avalanche-mainnet']]: {
191
+ chainId: types_js_1.ChainId['avalanche-mainnet'],
192
+ ticker: types_js_1.NetworksTicker['avalanche-mainnet'],
193
+ rpcPrefs: {
194
+ blockExplorerUrl: types_js_1.BlockExplorerUrl['avalanche-mainnet'],
195
+ },
196
+ },
197
+ [types_js_1.NetworkType.rpc]: {
198
+ chainId: undefined,
199
+ blockExplorerUrl: undefined,
200
+ ticker: undefined,
201
+ rpcPrefs: undefined,
202
+ },
203
+ };
204
+ /**
205
+ * When a user adds a custom network to MetaMask, we perform some basic
206
+ * validations on the network. For instance, usually a network cannot share the
207
+ * same chain as another. In some cases, however, we want to allow networks that
208
+ * would normally be invalid. This mapping contains networks that should bypass
209
+ * validation.
210
+ */
211
+ exports.NETWORKS_BYPASSING_VALIDATION = {
212
+ // HyperEVM uses the same chain ID as Wanchain
213
+ '0x3e7': {
214
+ name: 'HyperEVM',
215
+ symbol: 'HYPE',
216
+ rpcUrl: 'https://rpc.hyperliquid.xyz',
217
+ },
218
+ };
219
+ // APIs
220
+ exports.OPENSEA_PROXY_URL = 'https://proxy.api.cx.metamask.io/opensea/v1/api/v2';
221
+ exports.NFT_API_BASE_URL = 'https://nft.api.cx.metamask.io';
222
+ exports.NFT_API_VERSION = '1';
223
+ exports.NFT_API_TIMEOUT = 15000;
224
+ // Default origin for controllers
225
+ exports.ORIGIN_METAMASK = 'metamask';
226
+ /**
227
+ * Approval request types for various operations.
228
+ * These types are used by different controllers to create and manage
229
+ * approval requests consistently.
230
+ */
231
+ var ApprovalType;
232
+ (function (ApprovalType) {
233
+ ApprovalType["AddEthereumChain"] = "wallet_addEthereumChain";
234
+ ApprovalType["ConnectAccounts"] = "connect_accounts";
235
+ ApprovalType["EthDecrypt"] = "eth_decrypt";
236
+ ApprovalType["EthGetEncryptionPublicKey"] = "eth_getEncryptionPublicKey";
237
+ ApprovalType["EthSignTypedData"] = "eth_signTypedData";
238
+ ApprovalType["PersonalSign"] = "personal_sign";
239
+ ApprovalType["ResultError"] = "result_error";
240
+ ApprovalType["ResultSuccess"] = "result_success";
241
+ ApprovalType["SnapDialogAlert"] = "snap_dialog:alert";
242
+ ApprovalType["SnapDialogConfirmation"] = "snap_dialog:confirmation";
243
+ ApprovalType["SnapDialogPrompt"] = "snap_dialog:prompt";
244
+ ApprovalType["SnapDialogDefault"] = "snap_dialog";
245
+ ApprovalType["SwitchEthereumChain"] = "wallet_switchEthereumChain";
246
+ ApprovalType["Transaction"] = "transaction";
247
+ ApprovalType["TransactionBatch"] = "transaction_batch";
248
+ ApprovalType["Unlock"] = "unlock";
249
+ ApprovalType["WalletConnect"] = "wallet_connect";
250
+ ApprovalType["WalletRequestPermissions"] = "wallet_requestPermissions";
251
+ ApprovalType["WatchAsset"] = "wallet_watchAsset";
252
+ })(ApprovalType || (exports.ApprovalType = ApprovalType = {}));
253
+ /**
254
+ * Mapping of chain IDs to their network names for ENS functionality.
255
+ * Note: MegaETH-testnet is intentionally excluded from this mapping as it doesn't support ENS.
256
+ */
257
+ exports.CHAIN_ID_TO_ETHERS_NETWORK_NAME_MAP = {
258
+ [types_js_1.ChainId.goerli]: types_js_1.BuiltInNetworkName.Goerli,
259
+ [types_js_1.ChainId.sepolia]: types_js_1.BuiltInNetworkName.Sepolia,
260
+ [types_js_1.ChainId.mainnet]: types_js_1.BuiltInNetworkName.Mainnet,
261
+ [types_js_1.ChainId['linea-goerli']]: types_js_1.BuiltInNetworkName.LineaGoerli,
262
+ [types_js_1.ChainId['linea-sepolia']]: types_js_1.BuiltInNetworkName.LineaSepolia,
263
+ [types_js_1.ChainId['linea-mainnet']]: types_js_1.BuiltInNetworkName.LineaMainnet,
264
+ [types_js_1.ChainId.aurora]: types_js_1.BuiltInNetworkName.Aurora,
265
+ };
266
+ /**
267
+ * The number of milliseconds in a second.
268
+ */
269
+ exports.SECOND = 1000;
270
+ /**
271
+ * The number of milliseconds in a second.
272
+ */
273
+ exports.SECONDS = exports.SECOND;
274
+ /**
275
+ * The number of milliseconds in a minute.
276
+ */
277
+ exports.MINUTE = exports.SECONDS * 60;
278
+ /**
279
+ * The number of milliseconds in a minute.
280
+ */
281
+ exports.MINUTES = exports.MINUTE;
282
+ /**
283
+ * The number of milliseconds in a hour.
284
+ */
285
+ exports.HOUR = exports.MINUTES * 60;
286
+ /**
287
+ * The number of milliseconds in a hour.
288
+ */
289
+ exports.HOURS = exports.HOUR;
290
+ /**
291
+ * The number of milliseconds in a day.
292
+ */
293
+ exports.DAY = exports.HOURS * 24;
294
+ /**
295
+ * The number of milliseconds in a day.
296
+ */
297
+ exports.DAYS = exports.DAY;
298
+ /**
299
+ * Special "EVM-ish" chains with no native tokens.
300
+ * Created for Tempo, but can be extended to others.
301
+ * - For hidding the native token from the token list and Send list.
302
+ * - For excluding the native token from the total wallet value calculation.
303
+ */
304
+ exports.CHAIN_IDS_WITH_NO_NATIVE_TOKEN = [
305
+ 'eip155:42431', // Tempo Testnet
306
+ 'eip155:4217', // Tempo Mainnet
307
+ ];
308
+ //# sourceMappingURL=constants.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.cjs","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n NetworkType,\n NetworksTicker,\n ChainId,\n BuiltInNetworkName,\n BlockExplorerUrl,\n} from './types.js';\n\nexport const RPC = 'rpc';\nexport const FALL_BACK_VS_CURRENCY = 'ETH';\nexport const IPFS_DEFAULT_GATEWAY_URL = 'https://cloudflare-ipfs.com/ipfs/';\n\n// NETWORKS ID\n// `toHex` not invoked to avoid cyclic dependency\nexport const GANACHE_CHAIN_ID = '0x539'; // toHex(1337)\n/**\n * The largest possible chain ID we can handle.\n * Explanation: https://gist.github.com/rekmarks/a47bd5f2525936c4b8eee31a16345553\n */\nexport const MAX_SAFE_CHAIN_ID = 4503599627370476;\n\n// TOKEN STANDARDS\nexport const ERC721 = 'ERC721';\nexport const ERC1155 = 'ERC1155';\nexport const ERC20 = 'ERC20';\n\n// TOKEN INTERFACE IDS\nexport const ERC721_INTERFACE_ID = '0x80ac58cd';\nexport const ERC721_METADATA_INTERFACE_ID = '0x5b5e139f';\nexport const ERC721_ENUMERABLE_INTERFACE_ID = '0x780e9d63';\nexport const ERC1155_INTERFACE_ID = '0xd9b67a26';\nexport const ERC1155_METADATA_URI_INTERFACE_ID = '0x0e89341c';\nexport const ERC1155_TOKEN_RECEIVER_INTERFACE_ID = '0x4e2312e0';\n\n// UNITS\nexport const GWEI = 'gwei';\n\n// ASSET TYPES\nexport const ASSET_TYPES = {\n NATIVE: 'NATIVE',\n TOKEN: 'TOKEN',\n NFT: 'NFT',\n UNKNOWN: 'UNKNOWN',\n};\n\n// TICKER SYMBOLS\nexport const TESTNET_TICKER_SYMBOLS = {\n GOERLI: 'GoerliETH',\n SEPOLIA: 'SepoliaETH',\n LINEA_GOERLI: 'LineaETH',\n LINEA_SEPOLIA: 'LineaETH',\n MEGAETH_TESTNET: 'MegaETH',\n MEGAETH_TESTNET_V2: 'MegaETH',\n};\n\n/**\n * Map of all built-in custom networks to their RPC endpoints.\n */\nexport const BUILT_IN_CUSTOM_NETWORKS_RPC = {\n /**\n * @deprecated Please use `megaeth-testnet` instead.\n */\n MEGAETH_TESTNET: 'https://carrot.megaeth.com/rpc',\n /**\n * @deprecated Please use `megaeth-testnet-v2` instead.\n */\n 'megaeth-testnet': 'https://carrot.megaeth.com/rpc',\n 'megaeth-testnet-v2': 'https://carrot.megaeth.com/rpc',\n 'monad-testnet': 'https://testnet-rpc.monad.xyz',\n};\n\n/**\n * Map of all build-in Infura networks to their network, ticker and chain IDs.\n */\nexport const BUILT_IN_NETWORKS = {\n [NetworkType.goerli]: {\n chainId: ChainId.goerli,\n ticker: NetworksTicker.goerli,\n rpcPrefs: {\n blockExplorerUrl: BlockExplorerUrl.goerli,\n },\n },\n [NetworkType.sepolia]: {\n chainId: ChainId.sepolia,\n ticker: NetworksTicker.sepolia,\n rpcPrefs: {\n blockExplorerUrl: BlockExplorerUrl.sepolia,\n },\n },\n [NetworkType.mainnet]: {\n chainId: ChainId.mainnet,\n ticker: NetworksTicker.mainnet,\n rpcPrefs: {\n blockExplorerUrl: BlockExplorerUrl.mainnet,\n },\n },\n [NetworkType['linea-goerli']]: {\n chainId: ChainId['linea-goerli'],\n ticker: NetworksTicker['linea-goerli'],\n rpcPrefs: {\n blockExplorerUrl: BlockExplorerUrl['linea-goerli'],\n },\n },\n [NetworkType['linea-sepolia']]: {\n chainId: ChainId['linea-sepolia'],\n ticker: NetworksTicker['linea-sepolia'],\n rpcPrefs: {\n blockExplorerUrl: BlockExplorerUrl['linea-sepolia'],\n },\n },\n [NetworkType['linea-mainnet']]: {\n chainId: ChainId['linea-mainnet'],\n ticker: NetworksTicker['linea-mainnet'],\n rpcPrefs: {\n blockExplorerUrl: BlockExplorerUrl['linea-mainnet'],\n },\n },\n [NetworkType['megaeth-testnet']]: {\n chainId: ChainId['megaeth-testnet'],\n ticker: NetworksTicker['megaeth-testnet'],\n rpcPrefs: {\n blockExplorerUrl: BlockExplorerUrl['megaeth-testnet'],\n },\n },\n [NetworkType['megaeth-testnet-v2']]: {\n chainId: ChainId['megaeth-testnet-v2'],\n ticker: NetworksTicker['megaeth-testnet-v2'],\n rpcPrefs: {\n blockExplorerUrl: BlockExplorerUrl['megaeth-testnet-v2'],\n },\n },\n [NetworkType['monad-testnet']]: {\n chainId: ChainId['monad-testnet'],\n ticker: NetworksTicker['monad-testnet'],\n rpcPrefs: {\n blockExplorerUrl: BlockExplorerUrl['monad-testnet'],\n },\n },\n [NetworkType['base-mainnet']]: {\n chainId: ChainId['base-mainnet'],\n ticker: NetworksTicker['base-mainnet'],\n rpcPrefs: {\n blockExplorerUrl: BlockExplorerUrl['base-mainnet'],\n },\n },\n [NetworkType['arbitrum-mainnet']]: {\n chainId: ChainId['arbitrum-mainnet'],\n ticker: NetworksTicker['arbitrum-mainnet'],\n rpcPrefs: {\n blockExplorerUrl: BlockExplorerUrl['arbitrum-mainnet'],\n },\n },\n [NetworkType['bsc-mainnet']]: {\n chainId: ChainId['bsc-mainnet'],\n ticker: NetworksTicker['bsc-mainnet'],\n rpcPrefs: {\n blockExplorerUrl: BlockExplorerUrl['bsc-mainnet'],\n },\n },\n [NetworkType['optimism-mainnet']]: {\n chainId: ChainId['optimism-mainnet'],\n ticker: NetworksTicker['optimism-mainnet'],\n rpcPrefs: {\n blockExplorerUrl: BlockExplorerUrl['optimism-mainnet'],\n },\n },\n [NetworkType['polygon-mainnet']]: {\n chainId: ChainId['polygon-mainnet'],\n ticker: NetworksTicker['polygon-mainnet'],\n rpcPrefs: {\n blockExplorerUrl: BlockExplorerUrl['polygon-mainnet'],\n },\n },\n [NetworkType['sei-mainnet']]: {\n chainId: ChainId['sei-mainnet'],\n ticker: NetworksTicker['sei-mainnet'],\n rpcPrefs: {\n blockExplorerUrl: BlockExplorerUrl['sei-mainnet'],\n },\n },\n [NetworkType['monad-mainnet']]: {\n chainId: ChainId['monad-mainnet'],\n ticker: NetworksTicker['monad-mainnet'],\n rpcPrefs: {\n blockExplorerUrl: BlockExplorerUrl['monad-mainnet'],\n },\n },\n [NetworkType['zksync-mainnet']]: {\n chainId: ChainId['zksync-mainnet'],\n ticker: NetworksTicker['zksync-mainnet'],\n rpcPrefs: {\n blockExplorerUrl: BlockExplorerUrl['zksync-mainnet'],\n },\n },\n [NetworkType['megaeth-mainnet']]: {\n chainId: ChainId['megaeth-mainnet'],\n ticker: NetworksTicker['megaeth-mainnet'],\n rpcPrefs: {\n blockExplorerUrl: BlockExplorerUrl['megaeth-mainnet'],\n },\n },\n [NetworkType['avalanche-mainnet']]: {\n chainId: ChainId['avalanche-mainnet'],\n ticker: NetworksTicker['avalanche-mainnet'],\n rpcPrefs: {\n blockExplorerUrl: BlockExplorerUrl['avalanche-mainnet'],\n },\n },\n [NetworkType.rpc]: {\n chainId: undefined,\n blockExplorerUrl: undefined,\n ticker: undefined,\n rpcPrefs: undefined,\n },\n} as const;\n\n/**\n * When a user adds a custom network to MetaMask, we perform some basic\n * validations on the network. For instance, usually a network cannot share the\n * same chain as another. In some cases, however, we want to allow networks that\n * would normally be invalid. This mapping contains networks that should bypass\n * validation.\n */\nexport const NETWORKS_BYPASSING_VALIDATION = {\n // HyperEVM uses the same chain ID as Wanchain\n '0x3e7': {\n name: 'HyperEVM',\n symbol: 'HYPE',\n rpcUrl: 'https://rpc.hyperliquid.xyz',\n },\n};\n\n// APIs\nexport const OPENSEA_PROXY_URL =\n 'https://proxy.api.cx.metamask.io/opensea/v1/api/v2';\n\nexport const NFT_API_BASE_URL = 'https://nft.api.cx.metamask.io';\n\nexport const NFT_API_VERSION = '1';\n\nexport const NFT_API_TIMEOUT = 15000;\n\n// Default origin for controllers\nexport const ORIGIN_METAMASK = 'metamask';\n\n/**\n * Approval request types for various operations.\n * These types are used by different controllers to create and manage\n * approval requests consistently.\n */\nexport enum ApprovalType {\n AddEthereumChain = 'wallet_addEthereumChain',\n ConnectAccounts = 'connect_accounts',\n EthDecrypt = 'eth_decrypt',\n EthGetEncryptionPublicKey = 'eth_getEncryptionPublicKey',\n EthSignTypedData = 'eth_signTypedData',\n PersonalSign = 'personal_sign',\n ResultError = 'result_error',\n ResultSuccess = 'result_success',\n SnapDialogAlert = 'snap_dialog:alert',\n SnapDialogConfirmation = 'snap_dialog:confirmation',\n SnapDialogPrompt = 'snap_dialog:prompt',\n SnapDialogDefault = 'snap_dialog',\n SwitchEthereumChain = 'wallet_switchEthereumChain',\n Transaction = 'transaction',\n TransactionBatch = 'transaction_batch',\n Unlock = 'unlock',\n WalletConnect = 'wallet_connect',\n WalletRequestPermissions = 'wallet_requestPermissions',\n WatchAsset = 'wallet_watchAsset',\n}\n\n/**\n * Mapping of chain IDs to their network names for ENS functionality.\n * Note: MegaETH-testnet is intentionally excluded from this mapping as it doesn't support ENS.\n */\nexport const CHAIN_ID_TO_ETHERS_NETWORK_NAME_MAP: Record<\n string,\n BuiltInNetworkName\n> = {\n [ChainId.goerli]: BuiltInNetworkName.Goerli,\n [ChainId.sepolia]: BuiltInNetworkName.Sepolia,\n [ChainId.mainnet]: BuiltInNetworkName.Mainnet,\n [ChainId['linea-goerli']]: BuiltInNetworkName.LineaGoerli,\n [ChainId['linea-sepolia']]: BuiltInNetworkName.LineaSepolia,\n [ChainId['linea-mainnet']]: BuiltInNetworkName.LineaMainnet,\n [ChainId.aurora]: BuiltInNetworkName.Aurora,\n};\n\n/**\n * The number of milliseconds in a second.\n */\nexport const SECOND = 1000;\n\n/**\n * The number of milliseconds in a second.\n */\nexport const SECONDS = SECOND;\n\n/**\n * The number of milliseconds in a minute.\n */\nexport const MINUTE = SECONDS * 60;\n\n/**\n * The number of milliseconds in a minute.\n */\nexport const MINUTES = MINUTE;\n\n/**\n * The number of milliseconds in a hour.\n */\nexport const HOUR = MINUTES * 60;\n\n/**\n * The number of milliseconds in a hour.\n */\nexport const HOURS = HOUR;\n\n/**\n * The number of milliseconds in a day.\n */\nexport const DAY = HOURS * 24;\n\n/**\n * The number of milliseconds in a day.\n */\nexport const DAYS = DAY;\n\n/**\n * Special \"EVM-ish\" chains with no native tokens.\n * Created for Tempo, but can be extended to others.\n * - For hidding the native token from the token list and Send list.\n * - For excluding the native token from the total wallet value calculation.\n */\nexport const CHAIN_IDS_WITH_NO_NATIVE_TOKEN = [\n 'eip155:42431', // Tempo Testnet\n 'eip155:4217', // Tempo Mainnet\n] as const;\n"]}
@@ -1,4 +1,4 @@
1
- import { NetworksTicker, BuiltInNetworkName } from './types.js';
1
+ import { NetworksTicker, BuiltInNetworkName } from "./types.cjs";
2
2
  export declare const RPC = "rpc";
3
3
  export declare const FALL_BACK_VS_CURRENCY = "ETH";
4
4
  export declare const IPFS_DEFAULT_GATEWAY_URL = "https://cloudflare-ipfs.com/ipfs/";
@@ -279,5 +279,5 @@ export declare const DAYS: number;
279
279
  * - For hidding the native token from the token list and Send list.
280
280
  * - For excluding the native token from the total wallet value calculation.
281
281
  */
282
- export declare const CHAIN_IDS_WITH_NO_NATIVE_TOKEN: readonly ['eip155:42431', 'eip155:4217'];
283
- //# sourceMappingURL=constants.d.ts.map
282
+ export declare const CHAIN_IDS_WITH_NO_NATIVE_TOKEN: readonly ["eip155:42431", "eip155:4217"];
283
+ //# sourceMappingURL=constants.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.cts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EAEd,kBAAkB,EAEnB,oBAAmB;AAEpB,eAAO,MAAM,GAAG,QAAQ,CAAC;AACzB,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAC3C,eAAO,MAAM,wBAAwB,sCAAsC,CAAC;AAI5E,eAAO,MAAM,gBAAgB,UAAU,CAAC;AACxC;;;GAGG;AACH,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAGlD,eAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,eAAO,MAAM,OAAO,YAAY,CAAC;AACjC,eAAO,MAAM,KAAK,UAAU,CAAC;AAG7B,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAChD,eAAO,MAAM,4BAA4B,eAAe,CAAC;AACzD,eAAO,MAAM,8BAA8B,eAAe,CAAC;AAC3D,eAAO,MAAM,oBAAoB,eAAe,CAAC;AACjD,eAAO,MAAM,iCAAiC,eAAe,CAAC;AAC9D,eAAO,MAAM,mCAAmC,eAAe,CAAC;AAGhE,eAAO,MAAM,IAAI,SAAS,CAAC;AAG3B,eAAO,MAAM,WAAW;;;;;CAKvB,CAAC;AAGF,eAAO,MAAM,sBAAsB;;;;;;;CAOlC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,4BAA4B;IACvC;;OAEG;;IAEH;;OAEG;;;;CAIJ,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4IpB,CAAC;AAEX;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B;;;;;;CAOzC,CAAC;AAGF,eAAO,MAAM,iBAAiB,uDACwB,CAAC;AAEvD,eAAO,MAAM,gBAAgB,mCAAmC,CAAC;AAEjE,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,eAAO,MAAM,eAAe,QAAQ,CAAC;AAGrC,eAAO,MAAM,eAAe,aAAa,CAAC;AAE1C;;;;GAIG;AACH,oBAAY,YAAY;IACtB,gBAAgB,4BAA4B;IAC5C,eAAe,qBAAqB;IACpC,UAAU,gBAAgB;IAC1B,yBAAyB,+BAA+B;IACxD,gBAAgB,sBAAsB;IACtC,YAAY,kBAAkB;IAC9B,WAAW,iBAAiB;IAC5B,aAAa,mBAAmB;IAChC,eAAe,sBAAsB;IACrC,sBAAsB,6BAA6B;IACnD,gBAAgB,uBAAuB;IACvC,iBAAiB,gBAAgB;IACjC,mBAAmB,+BAA+B;IAClD,WAAW,gBAAgB;IAC3B,gBAAgB,sBAAsB;IACtC,MAAM,WAAW;IACjB,aAAa,mBAAmB;IAChC,wBAAwB,8BAA8B;IACtD,UAAU,sBAAsB;CACjC;AAED;;;GAGG;AACH,eAAO,MAAM,mCAAmC,EAAE,MAAM,CACtD,MAAM,EACN,kBAAkB,CASnB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM,OAAO,CAAC;AAE3B;;GAEG;AACH,eAAO,MAAM,OAAO,OAAS,CAAC;AAE9B;;GAEG;AACH,eAAO,MAAM,MAAM,QAAe,CAAC;AAEnC;;GAEG;AACH,eAAO,MAAM,OAAO,QAAS,CAAC;AAE9B;;GAEG;AACH,eAAO,MAAM,IAAI,QAAe,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,KAAK,QAAO,CAAC;AAE1B;;GAEG;AACH,eAAO,MAAM,GAAG,QAAa,CAAC;AAE9B;;GAEG;AACH,eAAO,MAAM,IAAI,QAAM,CAAC;AAExB;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,0CAGjC,CAAC"}