@metamask/ens-controller 10.0.0 → 11.0.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/CHANGELOG.md CHANGED
@@ -7,6 +7,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [11.0.0]
11
+
12
+ ### Changed
13
+
14
+ - **BREAKING:** Bump peer dependency `@metamask/network-controller` to `^18.1.3` ([#4342](https://github.com/MetaMask/core/pull/4342))
15
+ - Bump `@metamask/base-controller` to `^5.0.2` ([#4232](https://github.com/MetaMask/core/pull/4232))
16
+ - Bump `@metamask/controller-utils` to `^10.0.0` ([#4342](https://github.com/MetaMask/core/pull/4342))
17
+
18
+ ### Fixed
19
+
20
+ - Fix `delete` method to protect against prototype-polluting assignments ([#4041](https://github.com/MetaMask/core/pull/4041)
21
+
22
+ ## [10.0.1]
23
+
24
+ ### Fixed
25
+
26
+ - Fix `types` field in `package.json` ([#4047](https://github.com/MetaMask/core/pull/4047))
27
+
10
28
  ## [10.0.0]
11
29
 
12
30
  ### Added
@@ -168,7 +186,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
168
186
 
169
187
  All changes listed after this point were applied to this package following the monorepo conversion.
170
188
 
171
- [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/ens-controller@10.0.0...HEAD
189
+ [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/ens-controller@11.0.0...HEAD
190
+ [11.0.0]: https://github.com/MetaMask/core/compare/@metamask/ens-controller@10.0.1...@metamask/ens-controller@11.0.0
191
+ [10.0.1]: https://github.com/MetaMask/core/compare/@metamask/ens-controller@10.0.0...@metamask/ens-controller@10.0.1
172
192
  [10.0.0]: https://github.com/MetaMask/core/compare/@metamask/ens-controller@9.0.0...@metamask/ens-controller@10.0.0
173
193
  [9.0.0]: https://github.com/MetaMask/core/compare/@metamask/ens-controller@8.0.0...@metamask/ens-controller@9.0.0
174
194
  [8.0.0]: https://github.com/MetaMask/core/compare/@metamask/ens-controller@7.0.0...@metamask/ens-controller@8.0.0
@@ -2,10 +2,10 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkS7KH3XXUjs = require('./chunk-S7KH3XXU.js');
5
+ var _chunkQMLLZZUXjs = require('./chunk-QMLLZZUX.js');
6
6
 
7
7
 
8
8
 
9
9
 
10
- exports.DEFAULT_ENS_NETWORK_MAP = _chunkS7KH3XXUjs.DEFAULT_ENS_NETWORK_MAP; exports.EnsController = _chunkS7KH3XXUjs.EnsController; exports.default = _chunkS7KH3XXUjs.EnsController_default;
10
+ exports.DEFAULT_ENS_NETWORK_MAP = _chunkQMLLZZUXjs.DEFAULT_ENS_NETWORK_MAP; exports.EnsController = _chunkQMLLZZUXjs.EnsController; exports.default = _chunkQMLLZZUXjs.EnsController_default;
11
11
  //# sourceMappingURL=EnsController.js.map
@@ -2,7 +2,7 @@ import {
2
2
  DEFAULT_ENS_NETWORK_MAP,
3
3
  EnsController,
4
4
  EnsController_default
5
- } from "./chunk-LQYXJTIO.mjs";
5
+ } from "./chunk-QRZOH27L.mjs";
6
6
  export {
7
7
  DEFAULT_ENS_NETWORK_MAP,
8
8
  EnsController,
@@ -31,6 +31,7 @@ var _basecontroller = require('@metamask/base-controller');
31
31
 
32
32
 
33
33
 
34
+
34
35
  var _controllerutils = require('@metamask/controller-utils');
35
36
  var _utils = require('@metamask/utils');
36
37
  var _ = require('punycode/');
@@ -149,7 +150,7 @@ var EnsController = class extends _basecontroller.BaseController {
149
150
  */
150
151
  delete(chainId, ensName) {
151
152
  const normalizedEnsName = _controllerutils.normalizeEnsName.call(void 0, ensName);
152
- if (!normalizedEnsName || !this.state.ensEntries[chainId] || !this.state.ensEntries[chainId][normalizedEnsName]) {
153
+ if (!_controllerutils.isSafeDynamicKey.call(void 0, chainId) || !normalizedEnsName || !this.state.ensEntries[chainId] || !this.state.ensEntries[chainId][normalizedEnsName]) {
153
154
  return false;
154
155
  }
155
156
  this.update((state) => {
@@ -269,4 +270,4 @@ var EnsController_default = EnsController;
269
270
 
270
271
 
271
272
  exports.DEFAULT_ENS_NETWORK_MAP = DEFAULT_ENS_NETWORK_MAP; exports.EnsController = EnsController; exports.EnsController_default = EnsController_default;
272
- //# sourceMappingURL=chunk-S7KH3XXU.js.map
273
+ //# sourceMappingURL=chunk-QMLLZZUX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/EnsController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIA,SAAS,oBAAoB;AAE7B,SAAS,sBAAsB;AAE/B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAGP,SAAS,2BAA2B;AACpC,SAAS,eAAe;AAExB,IAAM,MAAM,oBAAoB,gBAAgB;AAEhD,IAAM,OAAO;AAGN,IAAM,0BAA+C;AAAA;AAAA,EAE1D,GAAG;AAAA;AAAA,EAEH,GAAG;AAAA;AAAA,EAEH,GAAG;AAAA;AAAA,EAEH,GAAG;AAAA;AAAA,EAEH,MAAO;AAAA;AAAA,EAEP,UAAU;AACZ;AAuCA,IAAM,WAAW;AAAA,EACf,YAAY,EAAE,SAAS,MAAM,WAAW,MAAM;AAAA,EAC9C,yBAAyB,EAAE,SAAS,MAAM,WAAW,MAAM;AAC7D;AAEA,IAAM,eAAe;AAAA,EACnB,YAAY,CAAC;AAAA,EACb,yBAAyB,CAAC;AAC5B;AAEA,IAAM,eAAe;AACrB,IAAM,uBAAuB;AA1F7B;AAgGO,IAAM,gBAAN,cAA4B,eAIjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,YAAY;AAAA,IACV,sBAAsB;AAAA,IACtB;AAAA,IACA,QAAQ,CAAC;AAAA,IACT;AAAA,IACA;AAAA,EACF,GAQG;AACD,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO;AAAA,QACL,GAAG;AAAA,QACH,YAAY,OAAO;AAAA,UACjB,OAAO,QAAQ,mBAAmB,EAAE,IAAI,CAAC,CAAC,SAAS,OAAO,MAAM;AAAA,YAC9D,MAAM,OAAO;AAAA,YACb;AAAA,cACE,KAAK;AAAA,gBACH;AAAA,gBACA,SAAS,MAAM,OAAO;AAAA,gBACtB,SAAS;AAAA,cACX;AAAA,YACF;AAAA,UACF,CAAC;AAAA,QACH;AAAA,QACA,GAAG;AAAA,MACL;AAAA,IACF,CAAC;AA+IH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA9LA,qCAAoC;AAiDlC,QAAI,YAAY,oBAAoB;AAClC,yBAAmB,CAAC,iBAAiB;AACnC,aAAK,WAAW;AAChB,cAAM,iBAAiB,aAAa,eAAe;AACnD,YAAI,sBAAK,4CAAL,WAAyB,iBAAiB;AAC5C,6BAAK,cAAe,IAAI,aAAa,UAAU;AAAA,YAC7C,SAAS,oBAAoB,cAAc;AAAA,YAC3C,MAAM,oCACJ,cACF;AAAA,YACA,YAAY,oBAAoB,SAAS,gBAAgB,EAAE,CAAC;AAAA,UAC9D,CAAC;AAAA,QACH,OAAO;AACL,6BAAK,cAAe;AAAA,QACtB;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa;AACX,SAAK,OAAO,CAAC,iBAAiB;AAC5B,mBAAa,0BAA0B,CAAC;AAAA,IAC1C,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQ;AACN,SAAK,OAAO,CAAC,UAAU;AACrB,YAAM,aAAa,CAAC;AAAA,IACtB,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,OAAO,SAAc,SAA0B;AAC7C,UAAM,oBAAoB,iBAAiB,OAAO;AAClD,QACE,CAAC,iBAAiB,OAAO,KACzB,CAAC,qBACD,CAAC,KAAK,MAAM,WAAW,OAAO,KAC9B,CAAC,KAAK,MAAM,WAAW,OAAO,EAAE,iBAAiB,GACjD;AACA,aAAO;AAAA,IACT;AAEA,SAAK,OAAO,CAAC,UAAU;AACrB,aAAO,MAAM,WAAW,OAAO,EAAE,iBAAiB;AAElD,UAAI,OAAO,KAAK,MAAM,WAAW,OAAO,CAAC,EAAE,WAAW,GAAG;AACvD,eAAO,MAAM,WAAW,OAAO;AAAA,MACjC;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,IAAI,SAAc,SAAkC;AAClD,UAAM,oBAAoB,iBAAiB,OAAO;AAIlD,WAAO,CAAC,CAAC,qBAAqB,KAAK,MAAM,WAAW,OAAO,IACvD,KAAK,MAAM,WAAW,OAAO,EAAE,iBAAiB,KAAK,OACrD;AAAA,EACN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,IAAI,SAAc,SAAiB,SAAiC;AAClE,QACE,CAAC,OAAO,UAAU,OAAO,SAAS,SAAS,EAAE,CAAC,KAC9C,CAAC,WACD,OAAO,YAAY,YAClB,WAAW,CAAC,kBAAkB,OAAO,GACtC;AACA,YAAM,IAAI;AAAA,QACR,gCAAgC,OAAO,aAAa,OAAO,aAAa,OAAO;AAAA,MACjF;AAAA,IACF;AAEA,UAAM,oBAAoB,iBAAiB,OAAO;AAClD,QAAI,CAAC,mBAAmB;AACtB,YAAM,IAAI,MAAM,qBAAqB,OAAO,EAAE;AAAA,IAChD;AAEA,UAAM,oBAAoB,UAAU,qBAAqB,OAAO,IAAI;AACpE,UAAM,WAAW,KAAK,MAAM,WAAW,OAAO;AAE9C,QACE,WAAW,iBAAiB,KAC5B,SAAS,iBAAiB,EAAE,YAAY,mBACxC;AACA,aAAO;AAAA,IACT;AAEA,SAAK,OAAO,CAAC,UAAU;AACrB,YAAM,aAAa;AAAA,QACjB,GAAG,KAAK,MAAM;AAAA,QACd,CAAC,OAAO,GAAG;AAAA,UACT,GAAG,KAAK,MAAM,WAAW,OAAO;AAAA,UAChC,CAAC,iBAAiB,GAAG;AAAA,YACnB,SAAS;AAAA,YACT;AAAA,YACA,SAAS;AAAA,UACX;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBA,MAAM,sBAAsB,uBAA+B;AACzD,QAAI,CAAC,mBAAK,eAAc;AACtB,aAAO;AAAA,IACT;AAEA,UAAM,UAAU,qBAAqB,qBAAqB;AAC1D,QAAI,KAAK,MAAM,wBAAwB,OAAO,GAAG;AAC/C,aAAO,KAAK,MAAM,wBAAwB,OAAO;AAAA,IACnD;AAEA,QAAI;AACJ,QAAI;AACF,eAAS,MAAM,mBAAK,cAAa,cAAc,OAAO;AAAA,IACxD,SAAS,OAAO;AACd,UAAI,KAAK;AACT,aAAO;AAAA,IACT;AAEA,QAAI,CAAC,QAAQ;AACX,aAAO;AAAA,IACT;AAEA,QAAI;AACJ,QAAI;AACF,0BAAoB,MAAM,mBAAK,cAAa,YAAY,MAAM;AAAA,IAChE,SAAS,OAAO;AACd,UAAI,KAAK;AACT,aAAO;AAAA,IACT;AAEA,QAAI,CAAC,mBAAmB;AACtB,aAAO;AAAA,IACT;AAEA,QACE,sBAAsB,gBACtB,sBAAsB,sBACtB;AACA,aAAO;AAAA,IACT;AACA,QAAI,qBAAqB,iBAAiB,MAAM,SAAS;AACvD,aAAO;AAAA,IACT;AAEA,SAAK,OAAO,CAAC,UAAU;AACrB,YAAM,wBAAwB,OAAO,IAAI,QAAQ,MAAgB;AAAA,IACnE,CAAC;AAED,WAAO;AAAA,EACT;AACF;AA1PE;AA8LA;AAAA,wBAAmB,SAAC,SAAc;AAChC,SAAO,QAAQ,KAAK,MAAM,WAAW,OAAO,CAAC;AAC/C;AA4DF,IAAO,wBAAQ","sourcesContent":["import type {\n ExternalProvider,\n JsonRpcFetchFunc,\n} from '@ethersproject/providers';\nimport { Web3Provider } from '@ethersproject/providers';\nimport type { RestrictedControllerMessenger } from '@metamask/base-controller';\nimport { BaseController } from '@metamask/base-controller';\nimport type { ChainId } from '@metamask/controller-utils';\nimport {\n normalizeEnsName,\n isValidHexAddress,\n isSafeDynamicKey,\n toChecksumHexAddress,\n CHAIN_ID_TO_ETHERS_NETWORK_NAME_MAP,\n convertHexToDecimal,\n toHex,\n} from '@metamask/controller-utils';\nimport type { NetworkState } from '@metamask/network-controller';\nimport type { Hex } from '@metamask/utils';\nimport { createProjectLogger } from '@metamask/utils';\nimport { toASCII } from 'punycode/';\n\nconst log = createProjectLogger('ens-controller');\n\nconst name = 'EnsController';\n\n// Map of chainIDs and ENS registry contract addresses\nexport const DEFAULT_ENS_NETWORK_MAP: Record<number, Hex> = {\n // Mainnet\n 1: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',\n // Ropsten\n 3: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',\n // Rinkeby\n 4: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',\n // Goerli\n 5: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',\n // Holesky\n 17000: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',\n // Sepolia\n 11155111: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',\n};\n\n/**\n * @type EnsEntry\n *\n * ENS entry representation\n * @property chainId - Id of the associated chain\n * @property ensName - The ENS name\n * @property address - Hex address with the ENS name, or null\n */\nexport type EnsEntry = {\n chainId: Hex;\n ensName: string;\n address: string | null;\n};\n\n/**\n * @type EnsControllerState\n *\n * ENS controller state\n * @property ensEntries - Object of ENS entry objects\n */\nexport type EnsControllerState = {\n ensEntries: {\n [chainId: Hex]: {\n [ensName: string]: EnsEntry;\n };\n };\n ensResolutionsByAddress: { [key: string]: string };\n};\n\nexport type EnsControllerMessenger = RestrictedControllerMessenger<\n typeof name,\n never,\n never,\n never,\n never\n>;\n\nconst metadata = {\n ensEntries: { persist: true, anonymous: false },\n ensResolutionsByAddress: { persist: true, anonymous: false },\n};\n\nconst defaultState = {\n ensEntries: {},\n ensResolutionsByAddress: {},\n};\n\nconst ZERO_ADDRESS = '0x0000000000000000000000000000000000000000';\nconst ZERO_X_ERROR_ADDRESS = '0x';\n\n/**\n * Controller that manages a list ENS names and their resolved addresses\n * by chainId. A null address indicates an unresolved ENS name.\n */\nexport class EnsController extends BaseController<\n typeof name,\n EnsControllerState,\n EnsControllerMessenger\n> {\n #ethProvider: Web3Provider | null = null;\n\n /**\n * Creates an EnsController instance.\n *\n * @param options - Constructor options.\n * @param options.registriesByChainId - Map between chain IDs and ENS contract addresses.\n * @param options.messenger - A reference to the messaging system.\n * @param options.state - Initial state to set on this controller.\n * @param options.provider - Provider instance.\n * @param options.onNetworkDidChange - Allows subscribing to network controller networkDidChange events.\n */\n constructor({\n registriesByChainId = DEFAULT_ENS_NETWORK_MAP,\n messenger,\n state = {},\n provider,\n onNetworkDidChange,\n }: {\n registriesByChainId?: Record<number, Hex>;\n messenger: EnsControllerMessenger;\n state?: Partial<EnsControllerState>;\n provider?: ExternalProvider | JsonRpcFetchFunc;\n onNetworkDidChange?: (\n listener: (networkState: Pick<NetworkState, 'providerConfig'>) => void,\n ) => void;\n }) {\n super({\n name,\n metadata,\n messenger,\n state: {\n ...defaultState,\n ensEntries: Object.fromEntries(\n Object.entries(registriesByChainId).map(([chainId, address]) => [\n toHex(chainId),\n {\n '.': {\n address,\n chainId: toHex(chainId),\n ensName: '.',\n },\n },\n ]),\n ),\n ...state,\n },\n });\n\n if (provider && onNetworkDidChange) {\n onNetworkDidChange((networkState) => {\n this.resetState();\n const currentChainId = networkState.providerConfig.chainId;\n if (this.#getChainEnsSupport(currentChainId)) {\n this.#ethProvider = new Web3Provider(provider, {\n chainId: convertHexToDecimal(currentChainId),\n name: CHAIN_ID_TO_ETHERS_NETWORK_NAME_MAP[\n currentChainId as ChainId\n ],\n ensAddress: registriesByChainId[parseInt(currentChainId, 16)],\n });\n } else {\n this.#ethProvider = null;\n }\n });\n }\n }\n\n /**\n * Clears ensResolutionsByAddress state property.\n */\n resetState() {\n this.update((currentState) => {\n currentState.ensResolutionsByAddress = {};\n });\n }\n\n /**\n * Remove all chain Ids and ENS entries from state.\n */\n clear() {\n this.update((state) => {\n state.ensEntries = {};\n });\n }\n\n /**\n * Delete an ENS entry.\n *\n * @param chainId - Parent chain of the ENS entry to delete.\n * @param ensName - Name of the ENS entry to delete.\n * @returns Boolean indicating if the entry was deleted.\n */\n delete(chainId: Hex, ensName: string): boolean {\n const normalizedEnsName = normalizeEnsName(ensName);\n if (\n !isSafeDynamicKey(chainId) ||\n !normalizedEnsName ||\n !this.state.ensEntries[chainId] ||\n !this.state.ensEntries[chainId][normalizedEnsName]\n ) {\n return false;\n }\n\n this.update((state) => {\n delete state.ensEntries[chainId][normalizedEnsName];\n\n if (Object.keys(state.ensEntries[chainId]).length === 0) {\n delete state.ensEntries[chainId];\n }\n });\n return true;\n }\n\n /**\n * Retrieve a DNS entry.\n *\n * @param chainId - Parent chain of the ENS entry to retrieve.\n * @param ensName - Name of the ENS entry to retrieve.\n * @returns The EnsEntry or null if it does not exist.\n */\n get(chainId: Hex, ensName: string): EnsEntry | null {\n const normalizedEnsName = normalizeEnsName(ensName);\n\n // TODO Explicitly handle the case where `normalizedEnsName` is `null`\n // eslint-disable-next-line no-implicit-coercion\n return !!normalizedEnsName && this.state.ensEntries[chainId]\n ? this.state.ensEntries[chainId][normalizedEnsName] || null\n : null;\n }\n\n /**\n * Add or update an ENS entry by chainId and ensName.\n *\n * A null address indicates that the ENS name does not resolve.\n *\n * @param chainId - Id of the associated chain.\n * @param ensName - The ENS name.\n * @param address - Associated address (or null) to add or update.\n * @returns Boolean indicating if the entry was set.\n */\n set(chainId: Hex, ensName: string, address: string | null): boolean {\n if (\n !Number.isInteger(Number.parseInt(chainId, 10)) ||\n !ensName ||\n typeof ensName !== 'string' ||\n (address && !isValidHexAddress(address))\n ) {\n throw new Error(\n `Invalid ENS entry: { chainId:${chainId}, ensName:${ensName}, address:${address}}`,\n );\n }\n\n const normalizedEnsName = normalizeEnsName(ensName);\n if (!normalizedEnsName) {\n throw new Error(`Invalid ENS name: ${ensName}`);\n }\n\n const normalizedAddress = address ? toChecksumHexAddress(address) : null;\n const subState = this.state.ensEntries[chainId];\n\n if (\n subState?.[normalizedEnsName] &&\n subState[normalizedEnsName].address === normalizedAddress\n ) {\n return false;\n }\n\n this.update((state) => {\n state.ensEntries = {\n ...this.state.ensEntries,\n [chainId]: {\n ...this.state.ensEntries[chainId],\n [normalizedEnsName]: {\n address: normalizedAddress,\n chainId,\n ensName: normalizedEnsName,\n },\n },\n };\n });\n return true;\n }\n\n /**\n * Check if the chain supports ENS.\n *\n * @param chainId - chain id.\n * @returns Boolean indicating if the chain supports ENS.\n */\n #getChainEnsSupport(chainId: Hex) {\n return Boolean(this.state.ensEntries[chainId]);\n }\n\n /**\n * Resolve ens by address.\n *\n * @param nonChecksummedAddress - address\n * @returns ens resolution\n */\n async reverseResolveAddress(nonChecksummedAddress: string) {\n if (!this.#ethProvider) {\n return undefined;\n }\n\n const address = toChecksumHexAddress(nonChecksummedAddress);\n if (this.state.ensResolutionsByAddress[address]) {\n return this.state.ensResolutionsByAddress[address];\n }\n\n let domain: string | null;\n try {\n domain = await this.#ethProvider.lookupAddress(address);\n } catch (error) {\n log(error);\n return undefined;\n }\n\n if (!domain) {\n return undefined;\n }\n\n let registeredAddress: string | null;\n try {\n registeredAddress = await this.#ethProvider.resolveName(domain);\n } catch (error) {\n log(error);\n return undefined;\n }\n\n if (!registeredAddress) {\n return undefined;\n }\n\n if (\n registeredAddress === ZERO_ADDRESS ||\n registeredAddress === ZERO_X_ERROR_ADDRESS\n ) {\n return undefined;\n }\n if (toChecksumHexAddress(registeredAddress) !== address) {\n return undefined;\n }\n\n this.update((state) => {\n state.ensResolutionsByAddress[address] = toASCII(domain as string);\n });\n\n return domain;\n }\n}\n\nexport default EnsController;\n"]}
@@ -27,6 +27,7 @@ import { BaseController } from "@metamask/base-controller";
27
27
  import {
28
28
  normalizeEnsName,
29
29
  isValidHexAddress,
30
+ isSafeDynamicKey,
30
31
  toChecksumHexAddress,
31
32
  CHAIN_ID_TO_ETHERS_NETWORK_NAME_MAP,
32
33
  convertHexToDecimal,
@@ -149,7 +150,7 @@ var EnsController = class extends BaseController {
149
150
  */
150
151
  delete(chainId, ensName) {
151
152
  const normalizedEnsName = normalizeEnsName(ensName);
152
- if (!normalizedEnsName || !this.state.ensEntries[chainId] || !this.state.ensEntries[chainId][normalizedEnsName]) {
153
+ if (!isSafeDynamicKey(chainId) || !normalizedEnsName || !this.state.ensEntries[chainId] || !this.state.ensEntries[chainId][normalizedEnsName]) {
153
154
  return false;
154
155
  }
155
156
  this.update((state) => {
@@ -269,4 +270,4 @@ export {
269
270
  EnsController,
270
271
  EnsController_default
271
272
  };
272
- //# sourceMappingURL=chunk-LQYXJTIO.mjs.map
273
+ //# sourceMappingURL=chunk-QRZOH27L.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/EnsController.ts"],"sourcesContent":["import type {\n ExternalProvider,\n JsonRpcFetchFunc,\n} from '@ethersproject/providers';\nimport { Web3Provider } from '@ethersproject/providers';\nimport type { RestrictedControllerMessenger } from '@metamask/base-controller';\nimport { BaseController } from '@metamask/base-controller';\nimport type { ChainId } from '@metamask/controller-utils';\nimport {\n normalizeEnsName,\n isValidHexAddress,\n isSafeDynamicKey,\n toChecksumHexAddress,\n CHAIN_ID_TO_ETHERS_NETWORK_NAME_MAP,\n convertHexToDecimal,\n toHex,\n} from '@metamask/controller-utils';\nimport type { NetworkState } from '@metamask/network-controller';\nimport type { Hex } from '@metamask/utils';\nimport { createProjectLogger } from '@metamask/utils';\nimport { toASCII } from 'punycode/';\n\nconst log = createProjectLogger('ens-controller');\n\nconst name = 'EnsController';\n\n// Map of chainIDs and ENS registry contract addresses\nexport const DEFAULT_ENS_NETWORK_MAP: Record<number, Hex> = {\n // Mainnet\n 1: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',\n // Ropsten\n 3: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',\n // Rinkeby\n 4: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',\n // Goerli\n 5: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',\n // Holesky\n 17000: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',\n // Sepolia\n 11155111: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',\n};\n\n/**\n * @type EnsEntry\n *\n * ENS entry representation\n * @property chainId - Id of the associated chain\n * @property ensName - The ENS name\n * @property address - Hex address with the ENS name, or null\n */\nexport type EnsEntry = {\n chainId: Hex;\n ensName: string;\n address: string | null;\n};\n\n/**\n * @type EnsControllerState\n *\n * ENS controller state\n * @property ensEntries - Object of ENS entry objects\n */\nexport type EnsControllerState = {\n ensEntries: {\n [chainId: Hex]: {\n [ensName: string]: EnsEntry;\n };\n };\n ensResolutionsByAddress: { [key: string]: string };\n};\n\nexport type EnsControllerMessenger = RestrictedControllerMessenger<\n typeof name,\n never,\n never,\n never,\n never\n>;\n\nconst metadata = {\n ensEntries: { persist: true, anonymous: false },\n ensResolutionsByAddress: { persist: true, anonymous: false },\n};\n\nconst defaultState = {\n ensEntries: {},\n ensResolutionsByAddress: {},\n};\n\nconst ZERO_ADDRESS = '0x0000000000000000000000000000000000000000';\nconst ZERO_X_ERROR_ADDRESS = '0x';\n\n/**\n * Controller that manages a list ENS names and their resolved addresses\n * by chainId. A null address indicates an unresolved ENS name.\n */\nexport class EnsController extends BaseController<\n typeof name,\n EnsControllerState,\n EnsControllerMessenger\n> {\n #ethProvider: Web3Provider | null = null;\n\n /**\n * Creates an EnsController instance.\n *\n * @param options - Constructor options.\n * @param options.registriesByChainId - Map between chain IDs and ENS contract addresses.\n * @param options.messenger - A reference to the messaging system.\n * @param options.state - Initial state to set on this controller.\n * @param options.provider - Provider instance.\n * @param options.onNetworkDidChange - Allows subscribing to network controller networkDidChange events.\n */\n constructor({\n registriesByChainId = DEFAULT_ENS_NETWORK_MAP,\n messenger,\n state = {},\n provider,\n onNetworkDidChange,\n }: {\n registriesByChainId?: Record<number, Hex>;\n messenger: EnsControllerMessenger;\n state?: Partial<EnsControllerState>;\n provider?: ExternalProvider | JsonRpcFetchFunc;\n onNetworkDidChange?: (\n listener: (networkState: Pick<NetworkState, 'providerConfig'>) => void,\n ) => void;\n }) {\n super({\n name,\n metadata,\n messenger,\n state: {\n ...defaultState,\n ensEntries: Object.fromEntries(\n Object.entries(registriesByChainId).map(([chainId, address]) => [\n toHex(chainId),\n {\n '.': {\n address,\n chainId: toHex(chainId),\n ensName: '.',\n },\n },\n ]),\n ),\n ...state,\n },\n });\n\n if (provider && onNetworkDidChange) {\n onNetworkDidChange((networkState) => {\n this.resetState();\n const currentChainId = networkState.providerConfig.chainId;\n if (this.#getChainEnsSupport(currentChainId)) {\n this.#ethProvider = new Web3Provider(provider, {\n chainId: convertHexToDecimal(currentChainId),\n name: CHAIN_ID_TO_ETHERS_NETWORK_NAME_MAP[\n currentChainId as ChainId\n ],\n ensAddress: registriesByChainId[parseInt(currentChainId, 16)],\n });\n } else {\n this.#ethProvider = null;\n }\n });\n }\n }\n\n /**\n * Clears ensResolutionsByAddress state property.\n */\n resetState() {\n this.update((currentState) => {\n currentState.ensResolutionsByAddress = {};\n });\n }\n\n /**\n * Remove all chain Ids and ENS entries from state.\n */\n clear() {\n this.update((state) => {\n state.ensEntries = {};\n });\n }\n\n /**\n * Delete an ENS entry.\n *\n * @param chainId - Parent chain of the ENS entry to delete.\n * @param ensName - Name of the ENS entry to delete.\n * @returns Boolean indicating if the entry was deleted.\n */\n delete(chainId: Hex, ensName: string): boolean {\n const normalizedEnsName = normalizeEnsName(ensName);\n if (\n !isSafeDynamicKey(chainId) ||\n !normalizedEnsName ||\n !this.state.ensEntries[chainId] ||\n !this.state.ensEntries[chainId][normalizedEnsName]\n ) {\n return false;\n }\n\n this.update((state) => {\n delete state.ensEntries[chainId][normalizedEnsName];\n\n if (Object.keys(state.ensEntries[chainId]).length === 0) {\n delete state.ensEntries[chainId];\n }\n });\n return true;\n }\n\n /**\n * Retrieve a DNS entry.\n *\n * @param chainId - Parent chain of the ENS entry to retrieve.\n * @param ensName - Name of the ENS entry to retrieve.\n * @returns The EnsEntry or null if it does not exist.\n */\n get(chainId: Hex, ensName: string): EnsEntry | null {\n const normalizedEnsName = normalizeEnsName(ensName);\n\n // TODO Explicitly handle the case where `normalizedEnsName` is `null`\n // eslint-disable-next-line no-implicit-coercion\n return !!normalizedEnsName && this.state.ensEntries[chainId]\n ? this.state.ensEntries[chainId][normalizedEnsName] || null\n : null;\n }\n\n /**\n * Add or update an ENS entry by chainId and ensName.\n *\n * A null address indicates that the ENS name does not resolve.\n *\n * @param chainId - Id of the associated chain.\n * @param ensName - The ENS name.\n * @param address - Associated address (or null) to add or update.\n * @returns Boolean indicating if the entry was set.\n */\n set(chainId: Hex, ensName: string, address: string | null): boolean {\n if (\n !Number.isInteger(Number.parseInt(chainId, 10)) ||\n !ensName ||\n typeof ensName !== 'string' ||\n (address && !isValidHexAddress(address))\n ) {\n throw new Error(\n `Invalid ENS entry: { chainId:${chainId}, ensName:${ensName}, address:${address}}`,\n );\n }\n\n const normalizedEnsName = normalizeEnsName(ensName);\n if (!normalizedEnsName) {\n throw new Error(`Invalid ENS name: ${ensName}`);\n }\n\n const normalizedAddress = address ? toChecksumHexAddress(address) : null;\n const subState = this.state.ensEntries[chainId];\n\n if (\n subState?.[normalizedEnsName] &&\n subState[normalizedEnsName].address === normalizedAddress\n ) {\n return false;\n }\n\n this.update((state) => {\n state.ensEntries = {\n ...this.state.ensEntries,\n [chainId]: {\n ...this.state.ensEntries[chainId],\n [normalizedEnsName]: {\n address: normalizedAddress,\n chainId,\n ensName: normalizedEnsName,\n },\n },\n };\n });\n return true;\n }\n\n /**\n * Check if the chain supports ENS.\n *\n * @param chainId - chain id.\n * @returns Boolean indicating if the chain supports ENS.\n */\n #getChainEnsSupport(chainId: Hex) {\n return Boolean(this.state.ensEntries[chainId]);\n }\n\n /**\n * Resolve ens by address.\n *\n * @param nonChecksummedAddress - address\n * @returns ens resolution\n */\n async reverseResolveAddress(nonChecksummedAddress: string) {\n if (!this.#ethProvider) {\n return undefined;\n }\n\n const address = toChecksumHexAddress(nonChecksummedAddress);\n if (this.state.ensResolutionsByAddress[address]) {\n return this.state.ensResolutionsByAddress[address];\n }\n\n let domain: string | null;\n try {\n domain = await this.#ethProvider.lookupAddress(address);\n } catch (error) {\n log(error);\n return undefined;\n }\n\n if (!domain) {\n return undefined;\n }\n\n let registeredAddress: string | null;\n try {\n registeredAddress = await this.#ethProvider.resolveName(domain);\n } catch (error) {\n log(error);\n return undefined;\n }\n\n if (!registeredAddress) {\n return undefined;\n }\n\n if (\n registeredAddress === ZERO_ADDRESS ||\n registeredAddress === ZERO_X_ERROR_ADDRESS\n ) {\n return undefined;\n }\n if (toChecksumHexAddress(registeredAddress) !== address) {\n return undefined;\n }\n\n this.update((state) => {\n state.ensResolutionsByAddress[address] = toASCII(domain as string);\n });\n\n return domain;\n }\n}\n\nexport default EnsController;\n"],"mappings":"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","names":[]}
package/dist/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkS7KH3XXUjs = require('./chunk-S7KH3XXU.js');
4
+ var _chunkQMLLZZUXjs = require('./chunk-QMLLZZUX.js');
5
5
 
6
6
 
7
7
 
8
- exports.DEFAULT_ENS_NETWORK_MAP = _chunkS7KH3XXUjs.DEFAULT_ENS_NETWORK_MAP; exports.EnsController = _chunkS7KH3XXUjs.EnsController;
8
+ exports.DEFAULT_ENS_NETWORK_MAP = _chunkQMLLZZUXjs.DEFAULT_ENS_NETWORK_MAP; exports.EnsController = _chunkQMLLZZUXjs.EnsController;
9
9
  //# sourceMappingURL=index.js.map
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  DEFAULT_ENS_NETWORK_MAP,
3
3
  EnsController
4
- } from "./chunk-LQYXJTIO.mjs";
4
+ } from "./chunk-QRZOH27L.mjs";
5
5
  export {
6
6
  DEFAULT_ENS_NETWORK_MAP,
7
7
  EnsController
@@ -1 +1 @@
1
- {"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../types/eth-ens-namehash.d.ts","../../../types/ethereum-ens-network-map.d.ts","../../../types/global.d.ts","../../../types/single-call-balance-checker-abi.d.ts","../../../types/@metamask/contract-metadata.d.ts","../../../types/@metamask/eth-hd-keyring.d.ts","../../../types/@metamask/eth-simple-keyring.d.ts","../../../types/@metamask/ethjs-provider-http.d.ts","../../../types/@metamask/ethjs-unit.d.ts","../../../types/@metamask/metamask-eth-abis.d.ts","../../../types/eth-json-rpc-infura/src/createProvider.d.ts","../../../types/eth-phishing-detect/src/config.json.d.ts","../../../types/eth-phishing-detect/src/detector.d.ts","../../../node_modules/@ethersproject/bytes/lib/index.d.ts","../../../node_modules/@ethersproject/bignumber/lib/bignumber.d.ts","../../../node_modules/@ethersproject/bignumber/lib/fixednumber.d.ts","../../../node_modules/@ethersproject/bignumber/lib/index.d.ts","../../../node_modules/@ethersproject/networks/lib/types.d.ts","../../../node_modules/@ethersproject/networks/lib/index.d.ts","../../../node_modules/@ethersproject/properties/lib/index.d.ts","../../../node_modules/@ethersproject/transactions/lib/index.d.ts","../../../node_modules/@ethersproject/web/lib/index.d.ts","../../../node_modules/@ethersproject/abstract-provider/lib/index.d.ts","../../../node_modules/@types/node/ts4.8/assert.d.ts","../../../node_modules/@types/node/ts4.8/assert/strict.d.ts","../../../node_modules/@types/node/ts4.8/globals.d.ts","../../../node_modules/@types/node/ts4.8/async_hooks.d.ts","../../../node_modules/@types/node/ts4.8/buffer.d.ts","../../../node_modules/@types/node/ts4.8/child_process.d.ts","../../../node_modules/@types/node/ts4.8/cluster.d.ts","../../../node_modules/@types/node/ts4.8/console.d.ts","../../../node_modules/@types/node/ts4.8/constants.d.ts","../../../node_modules/@types/node/ts4.8/crypto.d.ts","../../../node_modules/@types/node/ts4.8/dgram.d.ts","../../../node_modules/@types/node/ts4.8/diagnostics_channel.d.ts","../../../node_modules/@types/node/ts4.8/dns.d.ts","../../../node_modules/@types/node/ts4.8/dns/promises.d.ts","../../../node_modules/@types/node/ts4.8/domain.d.ts","../../../node_modules/@types/node/ts4.8/events.d.ts","../../../node_modules/@types/node/ts4.8/fs.d.ts","../../../node_modules/@types/node/ts4.8/fs/promises.d.ts","../../../node_modules/@types/node/ts4.8/http.d.ts","../../../node_modules/@types/node/ts4.8/http2.d.ts","../../../node_modules/@types/node/ts4.8/https.d.ts","../../../node_modules/@types/node/ts4.8/inspector.d.ts","../../../node_modules/@types/node/ts4.8/module.d.ts","../../../node_modules/@types/node/ts4.8/net.d.ts","../../../node_modules/@types/node/ts4.8/os.d.ts","../../../node_modules/@types/node/ts4.8/path.d.ts","../../../node_modules/@types/node/ts4.8/perf_hooks.d.ts","../../../node_modules/@types/node/ts4.8/process.d.ts","../../../node_modules/@types/node/ts4.8/punycode.d.ts","../../../node_modules/@types/node/ts4.8/querystring.d.ts","../../../node_modules/@types/node/ts4.8/readline.d.ts","../../../node_modules/@types/node/ts4.8/repl.d.ts","../../../node_modules/@types/node/ts4.8/stream.d.ts","../../../node_modules/@types/node/ts4.8/stream/promises.d.ts","../../../node_modules/@types/node/ts4.8/stream/consumers.d.ts","../../../node_modules/@types/node/ts4.8/stream/web.d.ts","../../../node_modules/@types/node/ts4.8/string_decoder.d.ts","../../../node_modules/@types/node/ts4.8/test.d.ts","../../../node_modules/@types/node/ts4.8/timers.d.ts","../../../node_modules/@types/node/ts4.8/timers/promises.d.ts","../../../node_modules/@types/node/ts4.8/tls.d.ts","../../../node_modules/@types/node/ts4.8/trace_events.d.ts","../../../node_modules/@types/node/ts4.8/tty.d.ts","../../../node_modules/@types/node/ts4.8/url.d.ts","../../../node_modules/@types/node/ts4.8/util.d.ts","../../../node_modules/@types/node/ts4.8/v8.d.ts","../../../node_modules/@types/node/ts4.8/vm.d.ts","../../../node_modules/@types/node/ts4.8/wasi.d.ts","../../../node_modules/@types/node/ts4.8/worker_threads.d.ts","../../../node_modules/@types/node/ts4.8/zlib.d.ts","../../../node_modules/@types/node/ts4.8/globals.global.d.ts","../../../node_modules/@types/node/ts4.8/index.d.ts","../../../node_modules/@ethersproject/providers/lib/formatter.d.ts","../../../node_modules/@ethersproject/providers/lib/base-provider.d.ts","../../../node_modules/@ethersproject/abstract-signer/lib/index.d.ts","../../../node_modules/@ethersproject/providers/lib/json-rpc-provider.d.ts","../../../node_modules/@ethersproject/providers/lib/websocket-provider.d.ts","../../../node_modules/@ethersproject/providers/lib/url-json-rpc-provider.d.ts","../../../node_modules/@ethersproject/providers/lib/alchemy-provider.d.ts","../../../node_modules/@ethersproject/providers/lib/ankr-provider.d.ts","../../../node_modules/@ethersproject/providers/lib/cloudflare-provider.d.ts","../../../node_modules/@ethersproject/providers/lib/etherscan-provider.d.ts","../../../node_modules/@ethersproject/providers/lib/fallback-provider.d.ts","../../../node_modules/@ethersproject/providers/lib/ipc-provider.d.ts","../../../node_modules/@ethersproject/providers/lib/infura-provider.d.ts","../../../node_modules/@ethersproject/providers/lib/json-rpc-batch-provider.d.ts","../../../node_modules/@ethersproject/providers/lib/nodesmith-provider.d.ts","../../../node_modules/@ethersproject/providers/lib/pocket-provider.d.ts","../../../node_modules/@ethersproject/providers/lib/web3-provider.d.ts","../../../node_modules/@ethersproject/providers/lib/index.d.ts","../../base-controller/dist/types/BaseControllerV1.d.ts","../../../node_modules/superstruct/dist/error.d.ts","../../../node_modules/superstruct/dist/utils.d.ts","../../../node_modules/superstruct/dist/struct.d.ts","../../../node_modules/superstruct/dist/structs/coercions.d.ts","../../../node_modules/superstruct/dist/structs/refinements.d.ts","../../../node_modules/superstruct/dist/structs/types.d.ts","../../../node_modules/superstruct/dist/structs/utilities.d.ts","../../../node_modules/superstruct/dist/index.d.ts","../../../node_modules/@metamask/utils/dist/types/assert.d.ts","../../../node_modules/@metamask/utils/dist/types/base64.d.ts","../../../node_modules/@metamask/utils/dist/types/hex.d.ts","../../../node_modules/@metamask/utils/dist/types/bytes.d.ts","../../../node_modules/@metamask/utils/dist/types/caip-types.d.ts","../../../node_modules/@metamask/utils/dist/types/checksum.d.ts","../../../node_modules/@metamask/utils/dist/types/coercers.d.ts","../../../node_modules/@metamask/utils/dist/types/collections.d.ts","../../../node_modules/@metamask/utils/dist/types/encryption-types.d.ts","../../../node_modules/@metamask/utils/dist/types/errors.d.ts","../../../node_modules/@metamask/utils/dist/types/json.d.ts","../../../node_modules/@ethereumjs/common/dist/enums.d.ts","../../../node_modules/@ethereumjs/common/dist/types.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/@ethereumjs/util/dist/constants.d.ts","../../../node_modules/@ethereumjs/util/dist/units.d.ts","../../../node_modules/@ethereumjs/util/dist/address.d.ts","../../../node_modules/@ethereumjs/util/dist/bytes.d.ts","../../../node_modules/@ethereumjs/util/dist/types.d.ts","../../../node_modules/@ethereumjs/util/dist/account.d.ts","../../../node_modules/@ethereumjs/util/dist/withdrawal.d.ts","../../../node_modules/@ethereumjs/util/dist/signature.d.ts","../../../node_modules/@ethereumjs/util/dist/encoding.d.ts","../../../node_modules/@ethereumjs/util/dist/asyncEventEmitter.d.ts","../../../node_modules/@ethereumjs/util/dist/internal.d.ts","../../../node_modules/@ethereumjs/util/dist/lock.d.ts","../../../node_modules/@ethereumjs/util/dist/provider.d.ts","../../../node_modules/@ethereumjs/util/dist/index.d.ts","../../../node_modules/@ethereumjs/common/dist/common.d.ts","../../../node_modules/@ethereumjs/common/dist/utils.d.ts","../../../node_modules/@ethereumjs/common/dist/index.d.ts","../../../node_modules/@ethereumjs/tx/dist/eip2930Transaction.d.ts","../../../node_modules/@ethereumjs/tx/dist/legacyTransaction.d.ts","../../../node_modules/@ethereumjs/tx/dist/types.d.ts","../../../node_modules/@ethereumjs/tx/dist/baseTransaction.d.ts","../../../node_modules/@ethereumjs/tx/dist/eip1559Transaction.d.ts","../../../node_modules/@ethereumjs/tx/dist/transactionFactory.d.ts","../../../node_modules/@ethereumjs/tx/dist/index.d.ts","../../../node_modules/@metamask/utils/dist/types/keyring.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@metamask/utils/dist/types/logging.d.ts","../../../node_modules/@metamask/utils/dist/types/misc.d.ts","../../../node_modules/@metamask/utils/dist/types/number.d.ts","../../../node_modules/@metamask/utils/dist/types/opaque.d.ts","../../../node_modules/@metamask/utils/dist/types/promise.d.ts","../../../node_modules/@metamask/utils/dist/types/time.d.ts","../../../node_modules/@metamask/utils/dist/types/transaction-types.d.ts","../../../node_modules/@metamask/utils/dist/types/versions.d.ts","../../../node_modules/@metamask/utils/dist/types/index.d.ts","../../../node_modules/immer/dist/utils/env.d.ts","../../../node_modules/immer/dist/utils/errors.d.ts","../../../node_modules/immer/dist/types/types-external.d.ts","../../../node_modules/immer/dist/types/types-internal.d.ts","../../../node_modules/immer/dist/utils/common.d.ts","../../../node_modules/immer/dist/utils/plugins.d.ts","../../../node_modules/immer/dist/core/scope.d.ts","../../../node_modules/immer/dist/core/finalize.d.ts","../../../node_modules/immer/dist/core/proxy.d.ts","../../../node_modules/immer/dist/core/immerClass.d.ts","../../../node_modules/immer/dist/core/current.d.ts","../../../node_modules/immer/dist/internal.d.ts","../../../node_modules/immer/dist/plugins/es5.d.ts","../../../node_modules/immer/dist/plugins/patches.d.ts","../../../node_modules/immer/dist/plugins/mapset.d.ts","../../../node_modules/immer/dist/plugins/all.d.ts","../../../node_modules/immer/dist/immer.d.ts","../../base-controller/dist/types/RestrictedControllerMessenger.d.ts","../../base-controller/dist/types/ControllerMessenger.d.ts","../../base-controller/dist/types/BaseControllerV2.d.ts","../../base-controller/dist/types/index.d.ts","../../controller-utils/dist/types/types.d.ts","../../controller-utils/dist/types/constants.d.ts","../../../node_modules/@metamask/eth-query/index.d.ts","../../../node_modules/@types/bn.js/index.d.ts","../../controller-utils/dist/types/util.d.ts","../../../node_modules/@spruceid/siwe-parser/dist/abnf.d.ts","../../../node_modules/@spruceid/siwe-parser/dist/regex.d.ts","../../../node_modules/@spruceid/siwe-parser/dist/parsers.d.ts","../../controller-utils/dist/types/siwe.d.ts","../../controller-utils/dist/types/index.d.ts","../../../node_modules/@metamask/swappable-obj-proxy/dist/types.d.ts","../../../node_modules/@metamask/swappable-obj-proxy/dist/createEventEmitterProxy.d.ts","../../../node_modules/@metamask/swappable-obj-proxy/dist/createSwappableProxy.d.ts","../../../node_modules/@metamask/swappable-obj-proxy/dist/index.d.ts","../../network-controller/dist/types/constants.d.ts","../../../node_modules/@metamask/safe-event-emitter/index.d.ts","../../json-rpc-engine/dist/types/JsonRpcEngine.d.ts","../../json-rpc-engine/dist/types/createAsyncMiddleware.d.ts","../../json-rpc-engine/dist/types/createScaffoldMiddleware.d.ts","../../json-rpc-engine/dist/types/getUniqueId.d.ts","../../json-rpc-engine/dist/types/idRemapMiddleware.d.ts","../../json-rpc-engine/dist/types/mergeMiddleware.d.ts","../../json-rpc-engine/dist/types/index.d.ts","../../eth-json-rpc-provider/dist/types/safe-event-emitter-provider.d.ts","../../eth-json-rpc-provider/dist/types/provider-from-engine.d.ts","../../eth-json-rpc-provider/dist/types/provider-from-middleware.d.ts","../../eth-json-rpc-provider/dist/types/index.d.ts","../../../node_modules/eth-block-tracker/dist/BlockTracker.d.ts","../../../node_modules/eth-block-tracker/dist/PollingBlockTracker.d.ts","../../../node_modules/eth-block-tracker/dist/SubscribeBlockTracker.d.ts","../../../node_modules/eth-block-tracker/dist/index.d.ts","../../network-controller/dist/types/types.d.ts","../../network-controller/dist/types/create-auto-managed-network-client.d.ts","../../network-controller/dist/types/NetworkController.d.ts","../../network-controller/dist/types/create-network-client.d.ts","../../network-controller/dist/types/index.d.ts","../../../node_modules/@types/punycode/index.d.ts","../src/EnsController.ts","../src/index.ts","../../../node_modules/@babel/types/lib/index.d.ts","../../../node_modules/@types/babel__generator/index.d.ts","../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../../node_modules/@types/babel__template/index.d.ts","../../../node_modules/@types/babel__traverse/index.d.ts","../../../node_modules/@types/babel__core/index.d.ts","../../../node_modules/@types/deep-freeze-strict/index.d.ts","../../../node_modules/@types/eslint/helpers.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/eslint/index.d.ts","../../../node_modules/@types/graceful-fs/index.d.ts","../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../node_modules/@types/istanbul-lib-report/index.d.ts","../../../node_modules/@types/istanbul-reports/index.d.ts","../../../node_modules/chalk/index.d.ts","../../../node_modules/jest-diff/build/cleanupSemantic.d.ts","../../../node_modules/pretty-format/build/types.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/jest-diff/build/types.d.ts","../../../node_modules/jest-diff/build/diffLines.d.ts","../../../node_modules/jest-diff/build/printDiffs.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts","../../../node_modules/@types/jest-when/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/lodash/common/common.d.ts","../../../node_modules/@types/lodash/common/array.d.ts","../../../node_modules/@types/lodash/common/collection.d.ts","../../../node_modules/@types/lodash/common/date.d.ts","../../../node_modules/@types/lodash/common/function.d.ts","../../../node_modules/@types/lodash/common/lang.d.ts","../../../node_modules/@types/lodash/common/math.d.ts","../../../node_modules/@types/lodash/common/number.d.ts","../../../node_modules/@types/lodash/common/object.d.ts","../../../node_modules/@types/lodash/common/seq.d.ts","../../../node_modules/@types/lodash/common/string.d.ts","../../../node_modules/@types/lodash/common/util.d.ts","../../../node_modules/@types/lodash/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/parse-json/index.d.ts","../../../node_modules/@types/pbkdf2/index.d.ts","../../../node_modules/@types/prettier/index.d.ts","../../../node_modules/@types/readable-stream/node_modules/safe-buffer/index.d.ts","../../../node_modules/@types/readable-stream/index.d.ts","../../../node_modules/@types/secp256k1/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/@types/sinon/index.d.ts","../../../node_modules/@types/stack-utils/index.d.ts","../../../node_modules/@types/uuid/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"f20c05dbfe50a208301d2a1da37b9931bce0466eb5a1f4fe240971b4ecc82b67","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"9b087de7268e4efc5f215347a62656663933d63c0b1d7b624913240367b999ea","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"55f400eec64d17e888e278f4def2f254b41b89515d3b88ad75d5e05f019daddd","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"775d9c9fd150d5de79e0450f35bc8b8f94ae64e3eb5da12725ff2a649dccc777","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"70bbfaec021ac4a0c805374225b55d70887f987df8b8dd7711d79464bb7b4385","869089d60b67219f63e6aca810284c89bae1b384b5cbc7ce64e53d82ad223ed5",{"version":"18338b6a4b920ec7d49b4ffafcbf0fa8a86b4bfd432966efd722dab611157cf4","affectsGlobalScope":true},"62a0875a0397b35a2364f1d401c0ce17975dfa4d47bf6844de858ae04da349f9","ee7491d0318d1fafcba97d5b72b450eb52671570f7a4ecd9e8898d40eaae9472","e3e7d217d89b380c1f34395eadc9289542851b0f0a64007dfe1fb7cf7423d24e","fd79909e93b4d50fd0ed9f3d39ddf8ba0653290bac25c295aac49f6befbd081b","345a9cc2945406f53051cd0e9b51f82e1e53929848eab046fdda91ee8aa7da31","9debe2de883da37a914e5e784a7be54c201b8f1d783822ad6f443ff409a5ea21","dee5d5c5440cda1f3668f11809a5503c30db0476ad117dd450f7ba5a45300e8f","f5e396c1424c391078c866d6f84afe0b4d2f7f85a160b9c756cd63b5b1775d93","5caa6f4fff16066d377d4e254f6c34c16540da3809cd66cd626a303bc33c419f","730d055528bdf12c8524870bb33d237991be9084c57634e56e5d8075f6605e02","1fcb8b15db812281d69a3090d488903f9e93033004aef9d8889ca3ad0753a96f","bdf5a95eb0a2dd1d39805bdf51b46ba012bb9b92b2ddaae16219595bba7678a5","9f794a0e8550a03baff865a3961cc22afbd85bc4ba9672bdda036971928f85f4","66a697d1e4cdbf25cdce4644a8085a8563041fa8c7731d4d9f5e8f22e66ba72c","4f1ae3f24125216cf07c5211a3f00d2bb4782d7cc76c0681603f8249f9232ff0","d3fb92a5640f83f7844d60b35317a0f95c27e3658a749d76d218c461ad091668","8bc2cad630da1033c1fd8d7df2bffb18af0da6113bd086a8bbec04a2471a1e00","d1f8bfcd91b284657ef8187c55ace7db91a3c43e642c3f14e54364154932f7e4","f54c92bfcae54f360fe79514746efce4870e4ddabc064e95d406bba291e9f672","175fd7186fa6a70f9db9b270a04a503cae23cf01cb77e3905bac115c38424cf7","34693fb4a5e771e11668219221344dd1bd7d8b77ed005a1c1d965fb559be8406","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419",{"version":"8c61d5fc50490af59daf69c4e601cc76de260ee5b2ff057d608a78d6acb0b61a","affectsGlobalScope":true},"f51b4042a3ac86f1f707500a9768f88d0b0c1fc3f3e45a73333283dea720cdc6",{"version":"a7289d79eb84a59d2475b4d0136b4404be3cfdd17c3ea46b9194add1d645df01","affectsGlobalScope":true},"0bb26fa2a90ee890eed57ee812c71fa84d3d07850163ec4a204de86412cc57c1","132ca47da601c60141dd6f10bd08c70d0620177e5638439df2464ec3945b6d98",{"version":"55d2bbae076fed7269c3e16faeb32f988f558427b7a1c3bf04aa7551ab86ae90","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","543c6e3a2353e9ad08b4090e1fb88a95cefb756d0d173b6ec045d7dc70a79964","3a41ebe7f089d50f447466b35b6cabb8b584c0994fc9809d0cd0a4ebc41e1239","f5350b93f10178838c23b3a81f3791d839bc44d1a2a89edb60069250fab90899","aa07f7230bcc5733919c941753d067cb8816dcad6651edb815cb302ae8ddd931","649ba4638a25c54a18dffe37367c6b7848a0bca53fa42fbbd7300b0c61aa861c","5f20d20b7607174caf1a6da9141aeb9f2142159ae2410ca30c7a0fccd1d19c99",{"version":"a34d65f61ec5aac5b53502c8b0bd4e00d217bccb95bf94d449e2571baa11fb8c","affectsGlobalScope":true},"8d42e5af5fb0a96a77e135ce84cc60636c9bad39d9dba043a4efe9d1bdeb3cc3","56fcc451e9065eb121c9cc4c1b9994a816306f3b0b3b1fce7ad59f0ac97a9999","d4a13a5a2e6df8ef02a84ac6fd5bad4a1ec54fdef47f33250da386ea6d5c1864","c3759b5bc5cc40f5988d86a497741a80fa91258629ae50a2b3735e774cd377cc","bf268a0aea37ad4ae3b7a9b58559190b6fc01ea16a31e35cd05817a0a60f895a","45dd82fb5aea9b12b2a90b427b28f3a014e8b2ee9b74087a5ab882841cb5fbc5",{"version":"d7dad6db394a3d9f7b49755e4b610fbf8ed6eb0c9810ae5f1a119f6b5d76de45","affectsGlobalScope":true},"48b2f9302651eb31acd5be69bb4e6b35797a7fcd6b77391d10a4ccadf7dc3609","605bed8af3052e790865a35e3d538a5447764a4ff01989c0f6b084a96f40e1cb","dd67d2b5e4e8a182a38de8e69fb736945eaa4588e0909c14e01a14bd3cc1fd1e",{"version":"2db274de1088f268805043df72e21258eae845e6418dada65331d2898998f330","affectsGlobalScope":true},{"version":"2923dee3c897f03e91b54a210cdbefea7290562f0ac4b948667d4c9ee844b79e","affectsGlobalScope":true},"79169698d09a2be54b14f3bcad2575b414bf3525063fde0a1e4fcd5d6efd380e","051d939bcf77caa3cef3282708ab3a6fdfb741a7366e1d74a9e7603b67417ec3","0be79b3ff0f16b6c2f9bc8c4cc7097ea417d8d67f8267f7e1eec8e32b548c2ff","1c61ffa3a71b77363b30d19832c269ef62fba787f5610cac7254728d3b69ab2e","f6877afc4b9d0b72e15378b187492a6547e48783980e9ff1301163b7b1c15b2e","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","09ed02a725db002693236b6dfc49b2c6eb5557be1421d7fbe4f07cfe38211d92","09d801ff4a303d4976d4b9cb94af3a9097c4a70345e662d176975872d2998e51","c8558b01389b5f7610ac293aa612ccea2ae64d83af43b49f8142f190be1f414c","c40fdf7b2e18df49ce0568e37f0292c12807a0748be79e272745e7216bed2606",{"version":"b10b426c56e220b5093bf8a2446ee47af47263b7b1a03f4b18e42326b231b111","affectsGlobalScope":true},"4e228e78c1e9b0a75c70588d59288f63a6258e8b1fe4a67b0c53fe03461421d9","b4635ef36bee17e1304337d591c3b6b461ecdbc1876d0effbe6a581e62201fe5","205d50c24359ead003dc537b9b65d2a64208dfdffe368f403cf9e0357831db9e","1265fddcd0c68be9d2a3b29805d0280484c961264dd95e0b675f7bd91f777e78",{"version":"e4507242542bd499238f693d88b2d32e22177cc508854625f87bcc9bc3fa1256","affectsGlobalScope":true},{"version":"d942354e4966a98d3a92d1b1af0b4ac06f33af3f88116743e2c304c027ca26ef","affectsGlobalScope":true},"39f0808e5be3cb38674726c21fe2eb453c55e48a901679b4ce30fef85549b892","6afd66a7432ef100027ea110449e874196381e019e30eda7e7d8ca390366b7a8","befb8a9a78ac99d8fbc3ed392810489a7b90760c7a58934e8f1c8538f581cff3","e670bdf01540d35c170fae68edfd2f288eff909936780c379d6a9103b787b22c","867f95abf1df444aab146b19847391fc2f922a55f6a970a27ed8226766cee29f",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"e3685a8957b4e2af64c3f04a58289ee0858a649dbcd963a2b897fe85858ae18a","277afd6ab6ec72889e2988e0ddd7d138c1f512e68a1fa4e90eedfd71e2097a51","c0908f85f2b645d375127a3b53a17a65f782e17962d5c1eb68f08b1188acbf15","c993f7ed1b8e1023c1f2ee5b262dbc3b70b27475674e40a53a58591f9972dacc","3fadac5d409cc2f27b1d2f4e7568600f02840205f301c9ae7a3068b46476438b","da6aae64ad559286830fd44c81e3d33303348f184af7db4fde8dd99ae9749407","3633f87c97d359cb55fa7bf0668fb2be8a23342951af6ec2d06e6d0cf7409371","cc3a5427d44fc77ff25e80b3edee4650a51f83de761faf5e633994ecf1ab1b44","b350eda75c6e47299b36002b31d5b220c405c21c365e708989829db013fadbb4","f421882756b6714834ae4687ab1aeadf344a1cc45437d2edffbac020ff3801c1","1d61d6ad832dabafbf63b86c5a79d704f2c8763ada9318e135b17a3cb2d09b32","e5cef5de3e5ad3436d414d20743231e284733b9cf4375dc79eff4fcca4282f99","e624419ba84e33e661e89a28083119ca41f6953dba09a4f82b660684087afe6d","942be430bd0feaced2e3e598273b17e50ea565ec9dac840b580b0b99e1a3cd5c","73350006cec5a0c6b71d53b0b0ddbfb82be96752a9c4e3c904c59e633bc9485e","a7df5c2e9594966c7e0d4a763b13ed5727506d892669df5f7bc9826f539c1d35","258cc5cd6891f6bcbaccefd953997038844e7f65d582cac987ffabf7181bcd4c","00a6db28fc4df6ddf10adbe630d9df620ec13af19039c1869653e60dafa739d2","649324d5abb5464aabe35d86cd0eef16562df811f0971481cee664afa5acbc88","869b0f507115c42896d917642f821752e8a84827bfe9ed74c23d76fb0c64c681","e475453e7140e95542332943d3052fe4c7430ad1efce42b3e9157f1fee8cbc5f","ebfdf904255ce746c9d30117c2edef355fb19bf7650478d2405f39f0e4f302e6","f3f63b48addb8e2ea9d20bb671c3c306413b3daa39996d0ae52f63d8e32158e1","a50599c08934a62f11657bdbe0dc929ab66da1b1f09974408fd9a33ec1bb8060","5a20e7d6c630b91be15e9b837853173829d00273197481dc8d3e94df61105a71","8d478048d71cc16f806d4b71b252ecb67c7444ccf4f4b09b29a312712184f859","b4000a0a525fa921e896cbdb32ae802c9684f0fd371b5fc69e7310f7918cc2c3","9df4662ca3dbc2522bc115833ee04faa1afbb4e249a85ef4a0a09c621346bd08","b25d9065cf1c1f537a140bbc508e953ed2262f77134574c432d206ff36f4bdbf","1b103313097041aa9cd705a682c652f08613cb5cf8663321061c0902f845e81c","68ccec8662818911d8a12b8ed028bc5729fb4f1d34793c4701265ba60bc73cf4","5f85b8b79dc4d36af672c035b2beb71545de63a5d60bccbeee64c260941672ab","affb9dc7079c3a3522e046c5dc1325950a843b1ebd7dc0f0386aeb2397b9f0db","40fe4b689225816b31fe5794c0fbf3534568819709e40295ead998a2bc1ab237","f65b5e33b9ad545a1eebbd6afe857314725ad42aaf069913e33f928ab3e4990a","fb6f2a87beb7fb1f4c2b762d0c76a9459fc91f557231569b0ee21399e22aa13d","31c858dc85996fac4b7fa944e1016d5c72f514930a72357ab5001097bf6511c7","3de30a871b3340be8b679c52aa12f90dd1c8c60874517be58968fdbcc4d79445","6fd985bd31eaf77542625306fb0404d32bff978990f0a06428e5f0b9a3b58109","175323e2a79a6076e0bada8a390d535a3ea817158bf1b1f46e31efca9028a0a2","7a10053aadc19335532a4d02756db4865974fd69bea5439ddcc5bfdf062d9476","4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","aed9e712a9b168345362e8f3a949f16c99ca1e05d21328f05735dfdbb24414ef","b04fe6922ed3db93afdbd49cdda8576aa75f744592fceea96fb0d5f32158c4f5","ed8d6c8de90fc2a4faaebc28e91f2469928738efd5208fb75ade0fa607e892b7","d7c52b198d680fe65b1a8d1b001f0173ffa2536ca2e7082431d726ce1f6714cd","c07f251e1c4e415a838e5498380b55cfea94f3513229de292d2aa85ae52fc3e9","0ed401424892d6bf294a5374efe512d6951b54a71e5dd0290c55b6d0d915f6f7","b945be6da6a3616ef3a250bfe223362b1c7c6872e775b0c4d82a1bf7a28ff902","beea49237dd7c7110fabf3c7509919c9cb9da841d847c53cac162dc3479e2f87","0f45f8a529c450d8f394106cc622bff79e44a1716e1ac9c3cc68b43f7ecf65ee","c624ce90b04c27ce4f318ba6330d39bde3d4e306f0f497ce78d4bda5ab8e22ca","9b8253aa5cb2c82d505f72afdbf96e83b15cc6b9a6f4fadbbbab46210d5f1977","86a8f52e4b1ac49155e889376bcfa8528a634c90c27fec65aa0e949f77b740c5","aab5dd41c1e2316cc0b42a7dd15684f8582d5a1d16c0516276a2a8a7d0fecd9c","59948226626ee210045296ba1fc6cb0fe748d1ff613204e08e7157ab6862dee7","ec3e54d8b713c170fdc8110a7e4a6a97513a7ab6b05ac9e1100cb064d2bb7349","43beb30ecb39a603fde4376554887310b0699f25f7f39c5c91e3147b51bb3a26","666b77d7f06f49da114b090a399abbfa66d5b6c01a3fd9dc4f063a52ace28507","31997714a93fbc570f52d47d6a8ebfb021a34a68ea9ba58bbb69cdec9565657e","6032e4262822160128e644de3fc4410bcd7517c2f137525fd2623d2bb23cb0d3","8bd5c9b1016629c144fd228983395b9dbf0676a576716bc3d316cab612c33cd5","2ed90bd3925b23aed8f859ffd0e885250be0424ca2b57e9866dabef152e1d6b7","93f6bd17d92dab9db7897e1430a5aeaa03bcf51623156213d8397710367a76ce","3f62b770a42e8c47c7008726f95aa383e69d97e85e680d237b99fcb0ee601dd8","5b84cfe78028c35c3bb89c042f18bf08d09da11e82d275c378ae4d07d8477e6c","980d21b0081cbf81774083b1e3a46f4bbdcd2b68858df0f66d7fad9c82bc34bc","6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","93b7325b49dfbf613d940ed0e471216657b2d77459dac34f1b5b1678f08f884c","b17f3bb7d8333479c7e45e5f3d876761b9bca58f97594eca3f6a944fd825e632","3c1f1236cce6d6e0c4e2c1b4371e6f72d7c14842ecd76a98ed0748ee5730c8f3","6d7f58d5ea72d7834946fd7104a734dc7d40661be8b2e1eaced1ddce3268ebaf","4c26222991e6c97d5a8f541d4f2c67585eda9e8b33cf9f52931b098045236e88","3140d587067e55ce4028275cf71b40a3fd431863ad148efc3106af84a0794cf9","47383b45796d525a4039cd22d2840ac55a1ff03a43d027f7f867ba7314a9cf53","6548773b3abbc18de29176c2141f766d4e437e40596ee480447abf83575445ad","6ddd27af0436ce59dd4c1896e2bfdb2bdb2529847d078b83ce67a144dff05491","816264799aef3fd5a09a3b6c25217d5ec26a9dfc7465eac7d6073bcdc7d88f3f","4df0891b133884cd9ed752d31c7d0ec0a09234e9ed5394abffd3c660761598db","b603b62d3dcd31ef757dc7339b4fa8acdbca318b0fb9ac485f9a1351955615f9","e642bd47b75ad6b53cbf0dfd7ddfa0f120bd10193f0c58ec37d87b59bf604aca","be90b24d2ee6f875ce3aaa482e7c41a54278856b03d04212681c4032df62baf9","78f5ff400b3cb37e7b90eef1ff311253ed31c8cb66505e9828fad099bffde021","372c47090e1131305d163469a895ff2938f33fa73aad988df31cd31743f9efb6","71c67dc6987bdbd5599353f90009ff825dd7db0450ef9a0aee5bb0c574d18512","6f12403b5eca6ae7ca8e3efe3eeb9c683b06ce3e3844ccfd04098d83cd7e4957","282c535df88175d64d9df4550d2fd1176fd940c1c6822f1e7584003237f179d3","c3a4752cf103e4c6034d5bd449c8f9d5e7b352d22a5f8f9a41a8efb11646f9c2","11a9e38611ac3c77c74240c58b6bd64a0032128b29354e999650f1de1e034b1c","4ed103ca6fff9cb244f7c4b86d1eb28ce8069c32db720784329946731badb5bb","d738f282842970e058672663311c6875482ee36607c88b98ffb6604fba99cb2a","ec859cd8226aa623e41bbb47c249a55ee16dc1b8647359585244d57d3a5ed0c7","8891c6e959d253a66434ff5dc9ae46058fb3493e84b4ca39f710ef2d350656b1","c4463cf02535444dcbc3e67ecd29f1972490f74e49957d6fd4282a1013796ba6","0cb0a957ff02de0b25fd0f3f37130ca7f22d1e0dea256569c714c1f73c6791f8","2f5075dc512d51786b1ba3b1696565641dfaae3ac854f5f13d61fa12ef81a47e","55fcfa6909a227963d5ad3d59ea9f99480106ebd9c69d87fce8a66f8f66e23c3","7f03c7ae3f6cedb6d9261d31d0fb518d940fb2f1b8d2b02b306c6d4b7e1bc8aa","45351e0d51780b6f4088277a4457b9879506ee2720a887de232df0f1efcb33d8","b59e5a5f93b7bbf729cacd0bc86106498e58f07114868350265a3de3598312c7","7c1b05262a4623e5d2a5832433582e0d6b453a3db8aa799b98f38d105812296f","6ee58aa536dabb19b09bc036f1abe83feb51e13d63b23d30b2d0631a2de99b8f","8aceb205dcc6f814ad99635baf1e40b6e01d06d3fe27b72fd766c6d0b8c0c600","530fb1c53338ac6618f8b8c4aa30acf89a9fe13b2bf92184ad966c824350d827","c1e87ae9c6982a1628be91d9f3a52ec5a73ed1a6d42e4e8119bf96c453b14cc0","161a4d1342b99b095a9531e65ba773ab33df0d906d7ae9f4f39180320fe23237","722cf9592e0d42cb903e40aa725f3e8e7cde91271f6be8c318bfbd7e337ff886","6a6aaf58d8ccff1409f921c37d0eb6cec3113df483c485385af3d90414e8eb07","ac9b69620b356f5bcfbc17d6a2a0591354eade1c5febb05cb1079b30ea0094c6","8e7adb22c0adecf7464861fc58ae3fc617b41ffbd70c97aa8493dc0966a82273","755f3cd1d9c1b564cff090e3b0e29200ae55690a91b87cb9e7a64c2dbeb314d3","d6bb7e0a6877b7856c183bff13d09dd9ae599ea43c6f6b33d3d5f72a830ed460","f1b51ae93c762d7c43f559933cd4842dd870367e8d92e90704ffa685dd5b29a3","3f450762fd7c34ed545e738abccb0af6a703572a10521643cf8fc88e3724c99c","fcc8beef29f39f09b1d9c9f99c42f9fed605ab1c28d2a630185f732b9ba53763","8b497c8cdd875848164f60712378fb15fbc2d625b67d29285845a51fcca57aff","0be91c7eb27de7e2b84c2caa3f89ac2c314de7e00d142c01b3baa0c88163bba4","0a0658c71cfa72984205a2f33b1e28e5e5fdbce0e4fb88186aed4e5a658065dc","cb047832dc68f5a2c41c62c5e95ddcacbae3a8b034d40cd15319a8cb7f25104a","980336ccdfc3c08f3c3b201aa6662e6016e20f15847f8465b68f3e8e67b4665c","5a3493939995f46ff3d9073cd534fb8961c3bf4e08c71db27066ff03d906dea8","bb5a2ac327605ebebf831c469b05bd34a33a6a46ee8c1edd9f3310aad32cf6a1","bf5d041f2440b4a9391e2b5eb3b8d94cbf1e3b8ff4703b6539d4e65e758c8f37","8516469eb90e723b0eb03df1be098f7e6a4709f6f48fd4532868d20a0a934f6e","d60e9ab369a72d234aac49adbe2900d8ef1408a6ea4db552cf2a48c9d8d6a1bc","0ebb4698803f01e2e7df6acce572fff068f4a20c47221721dafd70a27e372831","a12eaa942232703a8a8477a2f240ad5a2c26c595012ea8f128224e77984099c4","4070c2f1c3434fcf84886e04d30d82cd650ee443e53b82b404b144175cf8741e","2cea9689efa8591732096235abe7f084fc29c92badd5b0897a5e876b77e71887","4ed4e504126014fee13aaef5e3fc140f2ff7031ff3a8b5386717905820ea2d09","b0a1e66ed5a0e5dbcd308bccc2e8ba2aac2e17306a3e6888f74bc450c9806a9e","e09f372cbf6582b5b271ef8de9a896d7785aa353dd5f9c574714dcd41636462a","8e13478e90645f18e32db1e7d82729f9b8adf2cfe9e8bb445e6d0c3f8249aebd","d95e9b84527c1091bbccde1a213d987e3eb3c1ba0de7bfb5ee710f45107b5734","12c89d0e32758c120a569045f21cf5b77244f86792611ced8de7f86b37e77781","cd1d2f103b79002cd94b85a640a103f094227a2c4c53bc8af1fdbf4e13d9729e",{"version":"12c3fd876f216c4afb7e359efe00905690bcfb80cbb5eb473be7d03273eb9c6d","signature":"b44c39a91e9c5aa1c0a3f90cf6a9dab5cfc04e8d1c3d0d1a44f5264eac6ed96f"},"4dd3874b13d00175c0af1df2ef9e09ceea8458096f5fc6d23da1ccf44c24d278","a5aaeca001d2f69093d04aac4db321e4c338fd9b20cbc4f0b0af3dc6ae0f235b","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","8041cfce439ff29d339742389de04c136e3029d6b1817f07b2d7fcbfb7534990","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","29a46d003ca3c721e6405f00dee7e3de91b14e09701eba5d887bf76fb2d47d38","069bebfee29864e3955378107e243508b163e77ab10de6a5ee03ae06939f0bb9","9990f9e566bc3c2c6e38df81294fb756e7f5b7b0e5bb17ab75384e190548b4b6",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"ee7d8894904b465b072be0d2e4b45cf6b887cdba16a467645c4e200982ece7ea","f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","df95e00612c1faa5e0e7ef0dba589b18665bbeb3221db2b6cee1fe4d0e61921f","afe73051ff6a03a9565cbd8ebb0e956ee3df5e913ad5c1ded64218aabfa3dcb5","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","7adecb2c3238794c378d336a8182d4c3dd2c4fa6fa1785e2797a3db550edea62","dc12dc0e5aa06f4e1a7692149b78f89116af823b9e1f1e4eae140cd3e0e674e6","1bfc6565b90c8771615cd8cfcf9b36efc0275e5e83ac7d9181307e96eb495161","8a8a96898906f065f296665e411f51010b51372fa260d5373bf9f64356703190","7f82ef88bdb67d9a850dd1c7cd2d690f33e0f0acd208e3c9eba086f3670d4f73",{"version":"ccfd8774cd9b929f63ff7dcf657977eb0652e3547f1fcac1b3a1dc5db22d4d58","affectsGlobalScope":true},"d92dc90fecd2552db74d8dc3c6fb4db9145b2aa0efe2c127236ba035969068d4","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","458111fc89d11d2151277c822dfdc1a28fa5b6b2493cf942e37d4cd0a6ee5f22","19c816167e076e7c24f074389c6cf3ed87bdbb917d1ea439ca281f9d26db2439","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","98f9d826db9cd99d27a01a59ee5f22863df00ccf1aaf43e1d7db80ebf716f7c3","0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","dcd91d3b697cb650b95db5471189b99815af5db2a1cd28760f91e0b12ede8ed5","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3cf0d343c2276842a5b617f22ba82af6322c7cfe8bb52238ffc0c491a3c21019","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9",{"version":"f2eff8704452659641164876c1ef0df4174659ce7311b0665798ea3f556fa9ad","affectsGlobalScope":true},"8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","a73a445c1e0a6d0f8b48e8eb22dc9d647896783a7f8991cbbc31c0d94bf1f5a2","d88a5e779faf033be3d52142a04fbe1cb96009868e3bbdd296b2bc6c59e06c0e","5e379df3d61561c2ed7789b5995b9ba2143bbba21a905e2381e16efe7d1fa424","f07a137bbe2de7a122c37bfea00e761975fb264c49f18003d398d71b3fb35a5f","3dce33e7eb25594863b8e615f14a45ab98190d85953436750644212d8a18c066","2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","b9f96255e1048ed2ea33ec553122716f0e57fc1c3ad778e9aa15f5b46547bd23","7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","c649ea79205c029a02272ef55b7ab14ada0903db26144d2205021f24727ac7a3","38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","a1a261624efb3a00ff346b13580f70f3463b8cdcc58b60f5793ff11785d52cab","f83b320cceccfc48457a818d18fc9a006ab18d0bdd727aa2c2e73dc1b4a45e98","9d92b037978bb9525bc4b673ebddd443277542e010c0aef019c03a170ccdaa73","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","fab58e600970e66547644a44bc9918e3223aa2cbd9e8763cec004b2cfb48827e","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","ed44ba6b95f08b758748be7902e0cc54178b1337c56d0e2469c77b03f63ac73b"],"options":{"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"inlineSources":true,"module":1,"outDir":"./types","rootDir":"../src","sourceMap":true,"strict":true,"target":7},"fileIdsList":[[109,254],[109],[80,109,116,155,156,171],[109,155,156,172,173],[109,116,155],[109,116,171,174,177],[109,116,174,177,178],[109,175,176,177,179,180],[109,116,177],[109,116,171,174,175,176,179],[109,116,162],[109,116],[80,109,116],[69,109,116],[109,158,159,160,161,162,163,164,165,166,167,168,169,170],[109,116,160,161],[109,116,160,162],[55,58,60,61,62,63,109],[55,58,61,64,109],[55,109],[55,56,109],[56,57,109],[59,109],[60,63,109,117,121,122],[60,63,109,122],[58,60,61,62,64,109,116,117],[60,109,122],[60,64,109,118],[58,62,64,109],[60,64,109,117,118,120,121,122,123,124,125,126,127,128,129,130,131,132,133],[60,109,120],[109,116,120],[55,60,61,62,63,64,109,118,119],[60,63,109,117,120],[60,109,118,120],[55,58,109],[109,225],[109,225,226,227],[109,143],[109,146],[109,143,146],[109,144,145,146,147,148,149,150,151,152,153,154,182,185,186,187,188,189,190,191,192],[109,137,143,144],[109,146,152,154,181],[109,184],[109,146,147],[109,143,188],[109,220,221],[109,254,255,256,257,258],[109,254,256],[109,183],[109,261,262,263],[81,109,116],[109,266],[109,267],[109,278],[109,272,277],[109,281,283,284,285,286,287,288,289,290,291,292,293],[109,281,282,284,285,286,287,288,289,290,291,292,293],[109,282,283,284,285,286,287,288,289,290,291,292,293],[109,281,282,283,285,286,287,288,289,290,291,292,293],[109,281,282,283,284,286,287,288,289,290,291,292,293],[109,281,282,283,284,285,287,288,289,290,291,292,293],[109,281,282,283,284,285,286,288,289,290,291,292,293],[109,281,282,283,284,285,286,287,289,290,291,292,293],[109,281,282,283,284,285,286,287,288,290,291,292,293],[109,281,282,283,284,285,286,287,288,289,291,292,293],[109,281,282,283,284,285,286,287,288,289,290,292,293],[109,281,282,283,284,285,286,287,288,289,290,291,293],[109,281,282,283,284,285,286,287,288,289,290,291,292],[65,109],[68,109],[69,74,100,109],[70,80,81,88,97,108,109],[70,71,80,88,109],[72,109],[73,74,81,89,109],[74,97,105,109],[75,77,80,88,109],[76,109],[77,78,109],[79,80,109],[80,109],[80,81,82,97,108,109],[80,81,82,97,109],[83,88,97,108,109],[80,81,83,84,88,97,105,108,109],[83,85,97,105,108,109],[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115],[80,86,109],[87,108,109,113],[77,80,88,97,109],[89,109],[90,109],[68,91,109],[92,107,109,113],[93,109],[94,109],[80,95,109],[95,96,109,111],[69,80,97,98,99,109],[69,97,99,109],[97,98,109],[100,109],[101,109],[80,103,104,109],[103,104,109],[74,88,105,109],[106,109],[88,107,109],[69,83,94,108,109],[74,109],[97,109,110],[109,111],[109,112],[69,74,80,82,91,97,108,109,111,113],[97,109,114],[109,116,298],[109,301,340],[109,301,325,340],[109,340],[109,301],[109,301,326,340],[109,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339],[109,326,340],[109,341],[109,345],[109,230],[109,230,241,242],[109,242,243,244],[109,205],[109,205,206,207,208,209],[109,194,195,196,197,198,199,200,201,202,203,204],[109,270,273],[109,270,273,274,275],[109,272],[109,269,276],[109,271],[109,136,138,139,140,141,142],[109,136,137],[109,138],[109,137,138],[109,136,138],[109,193,210,211,212],[109,211],[109,212],[109,135,211,212,213],[109,215],[109,215,216,219,223],[109,222],[109,193,217,218],[109,134,193,214,224,250,251],[109,252],[109,238,239,240],[109,237,238],[109,193,237,238],[109,193,230,237],[109,193,230],[109,193,231],[109,231,232,233,234,235,236],[109,193,214,217,224,228,229,246,247],[109,246],[109,229,246,248,249],[109,193,224,241,245],[134,193,214,250]],"referencedMap":[[256,1],[254,2],[172,3],[155,2],[174,4],[156,5],[173,2],[178,6],[179,7],[175,7],[181,8],[176,7],[180,9],[177,10],[163,11],[160,12],[167,13],[161,11],[158,14],[166,2],[171,15],[168,2],[169,2],[170,2],[165,12],[162,16],[159,2],[164,17],[64,18],[119,19],[56,20],[57,21],[58,22],[55,2],[60,23],[59,2],[61,2],[123,24],[124,25],[118,26],[125,27],[126,28],[127,28],[117,29],[134,30],[129,24],[128,31],[130,32],[120,33],[131,27],[132,25],[122,34],[133,31],[121,35],[62,36],[63,2],[217,2],[230,13],[226,37],[227,37],[228,38],[225,2],[144,39],[145,39],[147,40],[148,39],[149,39],[150,41],[151,2],[152,2],[153,2],[146,39],[193,42],[154,43],[182,44],[185,45],[186,2],[187,2],[188,2],[189,2],[190,2],[191,46],[192,47],[220,2],[222,48],[221,2],[259,49],[255,1],[257,50],[258,1],[218,12],[184,51],[260,2],[261,2],[264,52],[262,2],[265,53],[266,2],[267,54],[268,55],[279,56],[278,57],[263,2],[280,2],[282,58],[283,59],[281,60],[284,61],[285,62],[286,63],[287,64],[288,65],[289,66],[290,67],[291,68],[292,69],[293,70],[294,2],[183,2],[65,71],[66,71],[68,72],[69,73],[70,74],[71,75],[72,76],[73,77],[74,78],[75,79],[76,80],[77,81],[78,81],[79,82],[80,83],[81,84],[82,85],[67,2],[115,2],[83,86],[84,87],[85,88],[116,89],[86,90],[87,91],[88,92],[89,93],[90,94],[91,95],[92,96],[93,97],[94,98],[95,99],[96,100],[97,101],[99,102],[98,103],[100,104],[101,105],[102,2],[103,106],[104,107],[105,108],[106,109],[107,110],[108,111],[109,112],[110,113],[111,114],[112,115],[113,116],[114,117],[295,2],[296,12],[297,2],[251,2],[299,118],[298,2],[300,12],[325,119],[326,120],[301,121],[304,121],[323,119],[324,119],[314,119],[313,122],[311,119],[306,119],[319,119],[317,119],[321,119],[305,119],[318,119],[322,119],[307,119],[308,119],[320,119],[302,119],[309,119],[310,119],[312,119],[316,119],[327,123],[315,119],[303,119],[340,124],[339,2],[334,123],[336,125],[335,123],[328,123],[329,123],[331,123],[333,123],[337,125],[338,125],[330,125],[332,125],[342,126],[341,2],[343,2],[344,2],[345,2],[346,127],[157,2],[269,2],[242,128],[243,129],[244,129],[245,130],[204,2],[201,131],[203,131],[202,131],[200,131],[210,132],[205,133],[209,2],[206,2],[208,2],[207,2],[196,131],[197,131],[198,131],[194,2],[195,2],[199,131],[270,2],[274,134],[276,135],[275,134],[273,136],[277,137],[272,138],[271,2],[136,2],[143,139],[138,140],[139,141],[140,141],[141,142],[142,142],[137,143],[8,2],[10,2],[9,2],[2,2],[11,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[3,2],[4,2],[22,2],[19,2],[20,2],[21,2],[23,2],[24,2],[25,2],[5,2],[26,2],[27,2],[28,2],[29,2],[6,2],[30,2],[31,2],[32,2],[33,2],[7,2],[34,2],[39,2],[40,2],[35,2],[36,2],[37,2],[38,2],[1,2],[41,2],[135,2],[213,144],[212,145],[211,146],[214,147],[216,148],[224,149],[223,150],[215,2],[219,151],[252,152],[253,153],[241,154],[239,155],[240,156],[238,157],[231,158],[232,159],[233,159],[234,2],[235,159],[237,160],[236,159],[248,161],[229,2],[247,162],[249,162],[250,163],[246,164],[46,2],[47,2],[48,2],[49,2],[50,2],[51,2],[42,2],[52,2],[53,2],[54,2],[43,2],[44,2],[45,2]],"exportedModulesMap":[[256,1],[254,2],[172,3],[155,2],[174,4],[156,5],[173,2],[178,6],[179,7],[175,7],[181,8],[176,7],[180,9],[177,10],[163,11],[160,12],[167,13],[161,11],[158,14],[166,2],[171,15],[168,2],[169,2],[170,2],[165,12],[162,16],[159,2],[164,17],[64,18],[119,19],[56,20],[57,21],[58,22],[55,2],[60,23],[59,2],[61,2],[123,24],[124,25],[118,26],[125,27],[126,28],[127,28],[117,29],[134,30],[129,24],[128,31],[130,32],[120,33],[131,27],[132,25],[122,34],[133,31],[121,35],[62,36],[63,2],[217,2],[230,13],[226,37],[227,37],[228,38],[225,2],[144,39],[145,39],[147,40],[148,39],[149,39],[150,41],[151,2],[152,2],[153,2],[146,39],[193,42],[154,43],[182,44],[185,45],[186,2],[187,2],[188,2],[189,2],[190,2],[191,46],[192,47],[220,2],[222,48],[221,2],[259,49],[255,1],[257,50],[258,1],[218,12],[184,51],[260,2],[261,2],[264,52],[262,2],[265,53],[266,2],[267,54],[268,55],[279,56],[278,57],[263,2],[280,2],[282,58],[283,59],[281,60],[284,61],[285,62],[286,63],[287,64],[288,65],[289,66],[290,67],[291,68],[292,69],[293,70],[294,2],[183,2],[65,71],[66,71],[68,72],[69,73],[70,74],[71,75],[72,76],[73,77],[74,78],[75,79],[76,80],[77,81],[78,81],[79,82],[80,83],[81,84],[82,85],[67,2],[115,2],[83,86],[84,87],[85,88],[116,89],[86,90],[87,91],[88,92],[89,93],[90,94],[91,95],[92,96],[93,97],[94,98],[95,99],[96,100],[97,101],[99,102],[98,103],[100,104],[101,105],[102,2],[103,106],[104,107],[105,108],[106,109],[107,110],[108,111],[109,112],[110,113],[111,114],[112,115],[113,116],[114,117],[295,2],[296,12],[297,2],[251,2],[299,118],[298,2],[300,12],[325,119],[326,120],[301,121],[304,121],[323,119],[324,119],[314,119],[313,122],[311,119],[306,119],[319,119],[317,119],[321,119],[305,119],[318,119],[322,119],[307,119],[308,119],[320,119],[302,119],[309,119],[310,119],[312,119],[316,119],[327,123],[315,119],[303,119],[340,124],[339,2],[334,123],[336,125],[335,123],[328,123],[329,123],[331,123],[333,123],[337,125],[338,125],[330,125],[332,125],[342,126],[341,2],[343,2],[344,2],[345,2],[346,127],[157,2],[269,2],[242,128],[243,129],[244,129],[245,130],[204,2],[201,131],[203,131],[202,131],[200,131],[210,132],[205,133],[209,2],[206,2],[208,2],[207,2],[196,131],[197,131],[198,131],[194,2],[195,2],[199,131],[270,2],[274,134],[276,135],[275,134],[273,136],[277,137],[272,138],[271,2],[136,2],[143,139],[138,140],[139,141],[140,141],[141,142],[142,142],[137,143],[8,2],[10,2],[9,2],[2,2],[11,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[3,2],[4,2],[22,2],[19,2],[20,2],[21,2],[23,2],[24,2],[25,2],[5,2],[26,2],[27,2],[28,2],[29,2],[6,2],[30,2],[31,2],[32,2],[33,2],[7,2],[34,2],[39,2],[40,2],[35,2],[36,2],[37,2],[38,2],[1,2],[41,2],[135,2],[213,144],[212,145],[211,146],[214,147],[216,148],[224,149],[223,150],[215,2],[219,151],[252,165],[253,153],[241,154],[239,155],[240,156],[238,157],[231,158],[232,159],[233,159],[234,2],[235,159],[237,160],[236,159],[248,161],[229,2],[247,162],[249,162],[250,163],[246,164],[46,2],[47,2],[48,2],[49,2],[50,2],[51,2],[42,2],[52,2],[53,2],[54,2],[43,2],[44,2],[45,2]],"semanticDiagnosticsPerFile":[256,254,172,155,174,156,173,178,179,175,181,176,180,177,163,160,167,161,158,166,171,168,169,170,165,162,159,164,64,119,56,57,58,55,60,59,61,123,124,118,125,126,127,117,134,129,128,130,120,131,132,122,133,121,62,63,217,230,226,227,228,225,144,145,147,148,149,150,151,152,153,146,193,154,182,185,186,187,188,189,190,191,192,220,222,221,259,255,257,258,218,184,260,261,264,262,265,266,267,268,279,278,263,280,282,283,281,284,285,286,287,288,289,290,291,292,293,294,183,65,66,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,67,115,83,84,85,116,86,87,88,89,90,91,92,93,94,95,96,97,99,98,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,295,296,297,251,299,298,300,325,326,301,304,323,324,314,313,311,306,319,317,321,305,318,322,307,308,320,302,309,310,312,316,327,315,303,340,339,334,336,335,328,329,331,333,337,338,330,332,342,341,343,344,345,346,157,269,242,243,244,245,204,201,203,202,200,210,205,209,206,208,207,196,197,198,194,195,199,270,274,276,275,273,277,272,271,136,143,138,139,140,141,142,137,8,10,9,2,11,12,13,14,15,16,17,18,3,4,22,19,20,21,23,24,25,5,26,27,28,29,6,30,31,32,33,7,34,39,40,35,36,37,38,1,41,135,213,212,211,214,216,224,223,215,219,252,253,241,239,240,238,231,232,233,234,235,237,236,248,229,247,249,250,246,46,47,48,49,50,51,42,52,53,54,43,44,45],"latestChangedDtsFile":"./types/index.d.ts"},"version":"4.8.4"}
1
+ {"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../types/eth-ens-namehash.d.ts","../../../types/ethereum-ens-network-map.d.ts","../../../types/global.d.ts","../../../types/single-call-balance-checker-abi.d.ts","../../../types/@metamask/contract-metadata.d.ts","../../../types/@metamask/eth-hd-keyring.d.ts","../../../types/@metamask/eth-simple-keyring.d.ts","../../../types/@metamask/ethjs-provider-http.d.ts","../../../types/@metamask/ethjs-unit.d.ts","../../../types/@metamask/metamask-eth-abis.d.ts","../../../types/eth-json-rpc-infura/src/createProvider.d.ts","../../../types/eth-phishing-detect/src/config.json.d.ts","../../../types/eth-phishing-detect/src/detector.d.ts","../../../node_modules/@ethersproject/bytes/lib/index.d.ts","../../../node_modules/@ethersproject/bignumber/lib/bignumber.d.ts","../../../node_modules/@ethersproject/bignumber/lib/fixednumber.d.ts","../../../node_modules/@ethersproject/bignumber/lib/index.d.ts","../../../node_modules/@ethersproject/networks/lib/types.d.ts","../../../node_modules/@ethersproject/networks/lib/index.d.ts","../../../node_modules/@ethersproject/properties/lib/index.d.ts","../../../node_modules/@ethersproject/transactions/lib/index.d.ts","../../../node_modules/@ethersproject/web/lib/index.d.ts","../../../node_modules/@ethersproject/abstract-provider/lib/index.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@ethersproject/providers/lib/formatter.d.ts","../../../node_modules/@ethersproject/providers/lib/base-provider.d.ts","../../../node_modules/@ethersproject/abstract-signer/lib/index.d.ts","../../../node_modules/@ethersproject/providers/lib/json-rpc-provider.d.ts","../../../node_modules/@ethersproject/providers/lib/websocket-provider.d.ts","../../../node_modules/@ethersproject/providers/lib/url-json-rpc-provider.d.ts","../../../node_modules/@ethersproject/providers/lib/alchemy-provider.d.ts","../../../node_modules/@ethersproject/providers/lib/ankr-provider.d.ts","../../../node_modules/@ethersproject/providers/lib/cloudflare-provider.d.ts","../../../node_modules/@ethersproject/providers/lib/etherscan-provider.d.ts","../../../node_modules/@ethersproject/providers/lib/fallback-provider.d.ts","../../../node_modules/@ethersproject/providers/lib/ipc-provider.d.ts","../../../node_modules/@ethersproject/providers/lib/infura-provider.d.ts","../../../node_modules/@ethersproject/providers/lib/json-rpc-batch-provider.d.ts","../../../node_modules/@ethersproject/providers/lib/nodesmith-provider.d.ts","../../../node_modules/@ethersproject/providers/lib/pocket-provider.d.ts","../../../node_modules/@ethersproject/providers/lib/web3-provider.d.ts","../../../node_modules/@ethersproject/providers/lib/index.d.ts","../../base-controller/dist/types/BaseControllerV1.d.ts","../../../node_modules/superstruct/dist/error.d.ts","../../../node_modules/superstruct/dist/utils.d.ts","../../../node_modules/superstruct/dist/struct.d.ts","../../../node_modules/superstruct/dist/structs/coercions.d.ts","../../../node_modules/superstruct/dist/structs/refinements.d.ts","../../../node_modules/superstruct/dist/structs/types.d.ts","../../../node_modules/superstruct/dist/structs/utilities.d.ts","../../../node_modules/superstruct/dist/index.d.ts","../../../node_modules/@metamask/utils/dist/types/assert.d.ts","../../../node_modules/@metamask/utils/dist/types/base64.d.ts","../../../node_modules/@metamask/utils/dist/types/hex.d.ts","../../../node_modules/@metamask/utils/dist/types/bytes.d.ts","../../../node_modules/@metamask/utils/dist/types/caip-types.d.ts","../../../node_modules/@metamask/utils/dist/types/checksum.d.ts","../../../node_modules/@metamask/utils/dist/types/coercers.d.ts","../../../node_modules/@metamask/utils/dist/types/collections.d.ts","../../../node_modules/@metamask/utils/dist/types/encryption-types.d.ts","../../../node_modules/@metamask/utils/dist/types/errors.d.ts","../../../node_modules/@metamask/utils/dist/types/json.d.ts","../../../node_modules/@ethereumjs/common/dist/enums.d.ts","../../../node_modules/@ethereumjs/common/dist/types.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/@ethereumjs/util/dist/constants.d.ts","../../../node_modules/@ethereumjs/util/dist/units.d.ts","../../../node_modules/@ethereumjs/util/dist/address.d.ts","../../../node_modules/@ethereumjs/util/dist/bytes.d.ts","../../../node_modules/@ethereumjs/util/dist/types.d.ts","../../../node_modules/@ethereumjs/util/dist/account.d.ts","../../../node_modules/@ethereumjs/util/dist/withdrawal.d.ts","../../../node_modules/@ethereumjs/util/dist/signature.d.ts","../../../node_modules/@ethereumjs/util/dist/encoding.d.ts","../../../node_modules/@ethereumjs/util/dist/asyncEventEmitter.d.ts","../../../node_modules/@ethereumjs/util/dist/internal.d.ts","../../../node_modules/@ethereumjs/util/dist/lock.d.ts","../../../node_modules/@ethereumjs/util/dist/provider.d.ts","../../../node_modules/@ethereumjs/util/dist/index.d.ts","../../../node_modules/@ethereumjs/common/dist/common.d.ts","../../../node_modules/@ethereumjs/common/dist/utils.d.ts","../../../node_modules/@ethereumjs/common/dist/index.d.ts","../../../node_modules/@ethereumjs/tx/dist/eip2930Transaction.d.ts","../../../node_modules/@ethereumjs/tx/dist/legacyTransaction.d.ts","../../../node_modules/@ethereumjs/tx/dist/types.d.ts","../../../node_modules/@ethereumjs/tx/dist/baseTransaction.d.ts","../../../node_modules/@ethereumjs/tx/dist/eip1559Transaction.d.ts","../../../node_modules/@ethereumjs/tx/dist/transactionFactory.d.ts","../../../node_modules/@ethereumjs/tx/dist/index.d.ts","../../../node_modules/@metamask/utils/dist/types/keyring.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@metamask/utils/dist/types/logging.d.ts","../../../node_modules/@metamask/utils/dist/types/misc.d.ts","../../../node_modules/@metamask/utils/dist/types/number.d.ts","../../../node_modules/@metamask/utils/dist/types/opaque.d.ts","../../../node_modules/@metamask/utils/dist/types/promise.d.ts","../../../node_modules/@metamask/utils/dist/types/time.d.ts","../../../node_modules/@metamask/utils/dist/types/transaction-types.d.ts","../../../node_modules/@metamask/utils/dist/types/versions.d.ts","../../../node_modules/@metamask/utils/dist/types/index.d.ts","../../../node_modules/immer/dist/utils/env.d.ts","../../../node_modules/immer/dist/utils/errors.d.ts","../../../node_modules/immer/dist/types/types-external.d.ts","../../../node_modules/immer/dist/types/types-internal.d.ts","../../../node_modules/immer/dist/utils/common.d.ts","../../../node_modules/immer/dist/utils/plugins.d.ts","../../../node_modules/immer/dist/core/scope.d.ts","../../../node_modules/immer/dist/core/finalize.d.ts","../../../node_modules/immer/dist/core/proxy.d.ts","../../../node_modules/immer/dist/core/immerClass.d.ts","../../../node_modules/immer/dist/core/current.d.ts","../../../node_modules/immer/dist/internal.d.ts","../../../node_modules/immer/dist/plugins/es5.d.ts","../../../node_modules/immer/dist/plugins/patches.d.ts","../../../node_modules/immer/dist/plugins/mapset.d.ts","../../../node_modules/immer/dist/plugins/all.d.ts","../../../node_modules/immer/dist/immer.d.ts","../../base-controller/dist/types/RestrictedControllerMessenger.d.ts","../../base-controller/dist/types/ControllerMessenger.d.ts","../../base-controller/dist/types/BaseControllerV2.d.ts","../../base-controller/dist/types/index.d.ts","../../controller-utils/dist/types/types.d.ts","../../controller-utils/dist/types/constants.d.ts","../../../node_modules/@metamask/eth-query/index.d.ts","../../../node_modules/@types/bn.js/index.d.ts","../../controller-utils/dist/types/util.d.ts","../../../node_modules/@spruceid/siwe-parser/dist/abnf.d.ts","../../../node_modules/@spruceid/siwe-parser/dist/utils.d.ts","../../../node_modules/@spruceid/siwe-parser/dist/parsers.d.ts","../../controller-utils/dist/types/siwe.d.ts","../../controller-utils/dist/types/index.d.ts","../../../node_modules/@metamask/swappable-obj-proxy/dist/types.d.ts","../../../node_modules/@metamask/swappable-obj-proxy/dist/createEventEmitterProxy.d.ts","../../../node_modules/@metamask/swappable-obj-proxy/dist/createSwappableProxy.d.ts","../../../node_modules/@metamask/swappable-obj-proxy/dist/index.d.ts","../../network-controller/dist/types/constants.d.ts","../../../node_modules/@metamask/safe-event-emitter/dist/cjs/index.d.ts","../../json-rpc-engine/dist/types/JsonRpcEngine.d.ts","../../json-rpc-engine/dist/types/createAsyncMiddleware.d.ts","../../json-rpc-engine/dist/types/createScaffoldMiddleware.d.ts","../../json-rpc-engine/dist/types/getUniqueId.d.ts","../../json-rpc-engine/dist/types/idRemapMiddleware.d.ts","../../json-rpc-engine/dist/types/mergeMiddleware.d.ts","../../json-rpc-engine/dist/types/index.d.ts","../../eth-json-rpc-provider/dist/types/safe-event-emitter-provider.d.ts","../../eth-json-rpc-provider/dist/types/provider-from-engine.d.ts","../../eth-json-rpc-provider/dist/types/provider-from-middleware.d.ts","../../eth-json-rpc-provider/dist/types/index.d.ts","../../../node_modules/@metamask/eth-block-tracker/dist/BlockTracker.d.ts","../../../node_modules/@metamask/eth-block-tracker/dist/PollingBlockTracker.d.ts","../../../node_modules/@metamask/eth-block-tracker/dist/SubscribeBlockTracker.d.ts","../../../node_modules/@metamask/eth-block-tracker/dist/index.d.ts","../../network-controller/dist/types/types.d.ts","../../network-controller/dist/types/create-auto-managed-network-client.d.ts","../../network-controller/dist/types/NetworkController.d.ts","../../network-controller/dist/types/create-network-client.d.ts","../../network-controller/dist/types/index.d.ts","../../../node_modules/@types/punycode/index.d.ts","../src/EnsController.ts","../src/index.ts","../../../node_modules/@babel/types/lib/index.d.ts","../../../node_modules/@types/babel__generator/index.d.ts","../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../../node_modules/@types/babel__template/index.d.ts","../../../node_modules/@types/babel__traverse/index.d.ts","../../../node_modules/@types/babel__core/index.d.ts","../../../node_modules/@types/deep-freeze-strict/index.d.ts","../../../node_modules/@types/eslint/helpers.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/eslint/index.d.ts","../../../node_modules/@types/graceful-fs/index.d.ts","../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../node_modules/@types/istanbul-lib-report/index.d.ts","../../../node_modules/@types/istanbul-reports/index.d.ts","../../../node_modules/chalk/index.d.ts","../../../node_modules/jest-diff/build/cleanupSemantic.d.ts","../../../node_modules/pretty-format/build/types.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/jest-diff/build/types.d.ts","../../../node_modules/jest-diff/build/diffLines.d.ts","../../../node_modules/jest-diff/build/printDiffs.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts","../../../node_modules/@types/jest-when/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/lodash/common/common.d.ts","../../../node_modules/@types/lodash/common/array.d.ts","../../../node_modules/@types/lodash/common/collection.d.ts","../../../node_modules/@types/lodash/common/date.d.ts","../../../node_modules/@types/lodash/common/function.d.ts","../../../node_modules/@types/lodash/common/lang.d.ts","../../../node_modules/@types/lodash/common/math.d.ts","../../../node_modules/@types/lodash/common/number.d.ts","../../../node_modules/@types/lodash/common/object.d.ts","../../../node_modules/@types/lodash/common/seq.d.ts","../../../node_modules/@types/lodash/common/string.d.ts","../../../node_modules/@types/lodash/common/util.d.ts","../../../node_modules/@types/lodash/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/parse-json/index.d.ts","../../../node_modules/@types/pbkdf2/index.d.ts","../../../node_modules/@types/prettier/index.d.ts","../../../node_modules/@types/readable-stream/node_modules/safe-buffer/index.d.ts","../../../node_modules/@types/readable-stream/index.d.ts","../../../node_modules/@types/secp256k1/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/@types/sinon/index.d.ts","../../../node_modules/@types/stack-utils/index.d.ts","../../../node_modules/@types/uuid/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"3aafcb693fe5b5c3bd277bd4c3a617b53db474fe498fc5df067c5603b1eebde7","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"70bbfaec021ac4a0c805374225b55d70887f987df8b8dd7711d79464bb7b4385","869089d60b67219f63e6aca810284c89bae1b384b5cbc7ce64e53d82ad223ed5",{"version":"18338b6a4b920ec7d49b4ffafcbf0fa8a86b4bfd432966efd722dab611157cf4","affectsGlobalScope":true},"62a0875a0397b35a2364f1d401c0ce17975dfa4d47bf6844de858ae04da349f9","ee7491d0318d1fafcba97d5b72b450eb52671570f7a4ecd9e8898d40eaae9472","e3e7d217d89b380c1f34395eadc9289542851b0f0a64007dfe1fb7cf7423d24e","fd79909e93b4d50fd0ed9f3d39ddf8ba0653290bac25c295aac49f6befbd081b","345a9cc2945406f53051cd0e9b51f82e1e53929848eab046fdda91ee8aa7da31","9debe2de883da37a914e5e784a7be54c201b8f1d783822ad6f443ff409a5ea21","dee5d5c5440cda1f3668f11809a5503c30db0476ad117dd450f7ba5a45300e8f","f5e396c1424c391078c866d6f84afe0b4d2f7f85a160b9c756cd63b5b1775d93","5caa6f4fff16066d377d4e254f6c34c16540da3809cd66cd626a303bc33c419f","730d055528bdf12c8524870bb33d237991be9084c57634e56e5d8075f6605e02","1fcb8b15db812281d69a3090d488903f9e93033004aef9d8889ca3ad0753a96f","bdf5a95eb0a2dd1d39805bdf51b46ba012bb9b92b2ddaae16219595bba7678a5","9f794a0e8550a03baff865a3961cc22afbd85bc4ba9672bdda036971928f85f4","66a697d1e4cdbf25cdce4644a8085a8563041fa8c7731d4d9f5e8f22e66ba72c","4f1ae3f24125216cf07c5211a3f00d2bb4782d7cc76c0681603f8249f9232ff0","d3fb92a5640f83f7844d60b35317a0f95c27e3658a749d76d218c461ad091668","8bc2cad630da1033c1fd8d7df2bffb18af0da6113bd086a8bbec04a2471a1e00","d1f8bfcd91b284657ef8187c55ace7db91a3c43e642c3f14e54364154932f7e4","f54c92bfcae54f360fe79514746efce4870e4ddabc064e95d406bba291e9f672","175fd7186fa6a70f9db9b270a04a503cae23cf01cb77e3905bac115c38424cf7","5b3cd03ae354ea96eff1f74d7c410fe4852e6382227e8b0ecf87ab5e3a5bbcd4","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419",{"version":"056097110efd16869ec118cedb44ecbac9a019576eee808d61304ca6d5cb2cbe","affectsGlobalScope":true},"f51b4042a3ac86f1f707500a9768f88d0b0c1fc3f3e45a73333283dea720cdc6",{"version":"6fb8358e10ed92a7f515b7d79da3904c955a3ffd4e14aa9df6f0ea113041f1cf","affectsGlobalScope":true},"45c831238c6dac21c72da5f335747736a56a3847192bf03c84b958a7e9ec93e2","661a11d16ad2e3543a77c53bcd4017ee9a450f47ab7def3ab493a86eae4d550c",{"version":"8cdc646cec7819581ef343b83855b1bfe4fe674f2c84f4fb8dc90d82fb56bd3a","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","9dd56225cc2d8cb8fe5ceb0043ff386987637e12fecc6078896058a99deae284","2375ed4b439215aa3b6d0c6fd175c78a4384b30cb43cbadaecbf0a18954c98cb","7693b90b3075deaccafd5efb467bf9f2b747a3075be888652ef73e64396d8628","41231da15bb5e3e806a8395bd15c7befd2ec90f9f4e3c9d0ae1356bccb76dbb0","fccfef201d057cb407fa515311bd608549bab6c7b8adcf8f2df31f5d3b796478",{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true},"5f20d20b7607174caf1a6da9141aeb9f2142159ae2410ca30c7a0fccd1d19c99",{"version":"464762c6213566d072f1ced5e8e9a954785ec5e53883b7397198abb5ef5b8f71","affectsGlobalScope":true},"6387920dc3e18927335b086deec75bf8e50f879a5e273d32ee7bb7a55ba50572","9bba37424094688c4663c177a1379b229f919b8912889a472f32fdc5f08ddb4d","29a4be13b3a30d3e66667b75c58ec61fb2df8fa0422534fdee3cfb30c5dbf450","83366d901beda79d6eb37aaaf6ca248dcd88946302b2a7d975590783be51e88e","bf268a0aea37ad4ae3b7a9b58559190b6fc01ea16a31e35cd05817a0a60f895a","43ec77c369473e92e2ecebf0554a0fdaa9c256644a6070f28228dfcceec77351",{"version":"d7dad6db394a3d9f7b49755e4b610fbf8ed6eb0c9810ae5f1a119f6b5d76de45","affectsGlobalScope":true},"95ed02bacb4502c985b69742ec82a4576d4ff4a6620ecc91593f611d502ae546","bf755525c4e6f85a970b98c4755d98e8aa1b6dbd83a5d8fcc57d3d497351b936","dd67d2b5e4e8a182a38de8e69fb736945eaa4588e0909c14e01a14bd3cc1fd1e",{"version":"28084e15b63e6211769db2fe646d8bc5c4c6776321e0deffe2d12eefd52cb6b9","affectsGlobalScope":true},{"version":"aed37dabf86c99d6c8508700576ecede86688397bc12523541858705a0c737c2","affectsGlobalScope":true},"cc6ef5733d4ea6d2e06310a32dffd2c16418b467c5033d49cecc4f3a25de7497","94768454c3348b6ebe48e45fbad8c92e2bb7af4a35243edbe2b90823d0bd7f9a","0be79b3ff0f16b6c2f9bc8c4cc7097ea417d8d67f8267f7e1eec8e32b548c2ff","1c61ffa3a71b77363b30d19832c269ef62fba787f5610cac7254728d3b69ab2e","84da3c28344e621fd1d591f2c09e9595292d2b70018da28a553268ac122597d4","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","6e191fea1db6e9e4fa828259cf489e820ec9170effff57fb081a2f3295db4722","aed943465fbce1efe49ee16b5ea409050f15cd8eaf116f6fadb64ef0772e7d95","70d08483a67bf7050dbedace398ef3fee9f436fcd60517c97c4c1e22e3c6f3e8","c40fdf7b2e18df49ce0568e37f0292c12807a0748be79e272745e7216bed2606",{"version":"e933de8143e1d12dd51d89b398760fd5a9081896be366dad88a922d0b29f3c69","affectsGlobalScope":true},"4e228e78c1e9b0a75c70588d59288f63a6258e8b1fe4a67b0c53fe03461421d9","b38d55d08708c2410a3039687db70b4a5bfa69fc4845617c313b5a10d9c5c637","205d50c24359ead003dc537b9b65d2a64208dfdffe368f403cf9e0357831db9e","1265fddcd0c68be9d2a3b29805d0280484c961264dd95e0b675f7bd91f777e78",{"version":"a05e2d784c9be7051c4ac87a407c66d2106e23490c18c038bbd0712bde7602fd","affectsGlobalScope":true},{"version":"df90b9d0e9980762da8daf8adf6ffa0c853e76bfd269c377be0d07a9ad87acd2","affectsGlobalScope":true},"cf434b5c04792f62d6f4bdd5e2c8673f36e638e910333c172614d5def9b17f98","1d65d4798df9c2df008884035c41d3e67731f29db5ecb64cd7378797c7c53a2f","0faee6b555890a1cb106e2adc5d3ffd89545b1da894d474e9d436596d654998f","c6c01ea1c42508edf11a36d13b70f6e35774f74355ba5d358354d4a77cc67ea1","867f95abf1df444aab146b19847391fc2f922a55f6a970a27ed8226766cee29f",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"b0297b09e607bec9698cac7cf55463d6731406efb1161ee4d448293b47397c84","277afd6ab6ec72889e2988e0ddd7d138c1f512e68a1fa4e90eedfd71e2097a51","c0908f85f2b645d375127a3b53a17a65f782e17962d5c1eb68f08b1188acbf15","c993f7ed1b8e1023c1f2ee5b262dbc3b70b27475674e40a53a58591f9972dacc","3fadac5d409cc2f27b1d2f4e7568600f02840205f301c9ae7a3068b46476438b","da6aae64ad559286830fd44c81e3d33303348f184af7db4fde8dd99ae9749407","3633f87c97d359cb55fa7bf0668fb2be8a23342951af6ec2d06e6d0cf7409371","cc3a5427d44fc77ff25e80b3edee4650a51f83de761faf5e633994ecf1ab1b44","b350eda75c6e47299b36002b31d5b220c405c21c365e708989829db013fadbb4","f421882756b6714834ae4687ab1aeadf344a1cc45437d2edffbac020ff3801c1","1d61d6ad832dabafbf63b86c5a79d704f2c8763ada9318e135b17a3cb2d09b32","e5cef5de3e5ad3436d414d20743231e284733b9cf4375dc79eff4fcca4282f99","e624419ba84e33e661e89a28083119ca41f6953dba09a4f82b660684087afe6d","942be430bd0feaced2e3e598273b17e50ea565ec9dac840b580b0b99e1a3cd5c","73350006cec5a0c6b71d53b0b0ddbfb82be96752a9c4e3c904c59e633bc9485e","a7df5c2e9594966c7e0d4a763b13ed5727506d892669df5f7bc9826f539c1d35","258cc5cd6891f6bcbaccefd953997038844e7f65d582cac987ffabf7181bcd4c","00a6db28fc4df6ddf10adbe630d9df620ec13af19039c1869653e60dafa739d2","649324d5abb5464aabe35d86cd0eef16562df811f0971481cee664afa5acbc88","75b22c74010ba649de1a1676a4c4b8b5bb4294fecd05089e2094429b16d7840c","5615ccf831db2ffc82145243081ebdb60ea8e1005ee8f975d1c0c1401a9c894e","38682ed3630bb6ecdace80d5a9adc811fc20a419f1940446e306c3a020d083b9","cc182e6e4f691cd6f7bf7cb491247a4c7818f9f1cb2db1d45c65ff906e3f741b","a50599c08934a62f11657bdbe0dc929ab66da1b1f09974408fd9a33ec1bb8060","5a20e7d6c630b91be15e9b837853173829d00273197481dc8d3e94df61105a71","8d478048d71cc16f806d4b71b252ecb67c7444ccf4f4b09b29a312712184f859","e0eda929c6b9b628cdeb0e54cd3582cb97e64f28aab34612fc1431c545899584","9df4662ca3dbc2522bc115833ee04faa1afbb4e249a85ef4a0a09c621346bd08","b25d9065cf1c1f537a140bbc508e953ed2262f77134574c432d206ff36f4bdbf","1b103313097041aa9cd705a682c652f08613cb5cf8663321061c0902f845e81c","68ccec8662818911d8a12b8ed028bc5729fb4f1d34793c4701265ba60bc73cf4","5f85b8b79dc4d36af672c035b2beb71545de63a5d60bccbeee64c260941672ab","b3d48529ae61dc27d0bfbfa2cb3e0dff8189644bd155bdf5df1e8e14669f7043","40fe4b689225816b31fe5794c0fbf3534568819709e40295ead998a2bc1ab237","f65b5e33b9ad545a1eebbd6afe857314725ad42aaf069913e33f928ab3e4990a","fb6f2a87beb7fb1f4c2b762d0c76a9459fc91f557231569b0ee21399e22aa13d","31c858dc85996fac4b7fa944e1016d5c72f514930a72357ab5001097bf6511c7","3de30a871b3340be8b679c52aa12f90dd1c8c60874517be58968fdbcc4d79445","6fd985bd31eaf77542625306fb0404d32bff978990f0a06428e5f0b9a3b58109","175323e2a79a6076e0bada8a390d535a3ea817158bf1b1f46e31efca9028a0a2","7a10053aadc19335532a4d02756db4865974fd69bea5439ddcc5bfdf062d9476","4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","aed9e712a9b168345362e8f3a949f16c99ca1e05d21328f05735dfdbb24414ef","b04fe6922ed3db93afdbd49cdda8576aa75f744592fceea96fb0d5f32158c4f5","ed8d6c8de90fc2a4faaebc28e91f2469928738efd5208fb75ade0fa607e892b7","d7c52b198d680fe65b1a8d1b001f0173ffa2536ca2e7082431d726ce1f6714cd","c07f251e1c4e415a838e5498380b55cfea94f3513229de292d2aa85ae52fc3e9","0ed401424892d6bf294a5374efe512d6951b54a71e5dd0290c55b6d0d915f6f7","b945be6da6a3616ef3a250bfe223362b1c7c6872e775b0c4d82a1bf7a28ff902","beea49237dd7c7110fabf3c7509919c9cb9da841d847c53cac162dc3479e2f87","0f45f8a529c450d8f394106cc622bff79e44a1716e1ac9c3cc68b43f7ecf65ee","c624ce90b04c27ce4f318ba6330d39bde3d4e306f0f497ce78d4bda5ab8e22ca","9b8253aa5cb2c82d505f72afdbf96e83b15cc6b9a6f4fadbbbab46210d5f1977","86a8f52e4b1ac49155e889376bcfa8528a634c90c27fec65aa0e949f77b740c5","aab5dd41c1e2316cc0b42a7dd15684f8582d5a1d16c0516276a2a8a7d0fecd9c","59948226626ee210045296ba1fc6cb0fe748d1ff613204e08e7157ab6862dee7","ec3e54d8b713c170fdc8110a7e4a6a97513a7ab6b05ac9e1100cb064d2bb7349","43beb30ecb39a603fde4376554887310b0699f25f7f39c5c91e3147b51bb3a26","666b77d7f06f49da114b090a399abbfa66d5b6c01a3fd9dc4f063a52ace28507","31997714a93fbc570f52d47d6a8ebfb021a34a68ea9ba58bbb69cdec9565657e","6032e4262822160128e644de3fc4410bcd7517c2f137525fd2623d2bb23cb0d3","8bd5c9b1016629c144fd228983395b9dbf0676a576716bc3d316cab612c33cd5","2ed90bd3925b23aed8f859ffd0e885250be0424ca2b57e9866dabef152e1d6b7","93f6bd17d92dab9db7897e1430a5aeaa03bcf51623156213d8397710367a76ce","3f62b770a42e8c47c7008726f95aa383e69d97e85e680d237b99fcb0ee601dd8","5b84cfe78028c35c3bb89c042f18bf08d09da11e82d275c378ae4d07d8477e6c","980d21b0081cbf81774083b1e3a46f4bbdcd2b68858df0f66d7fad9c82bc34bc","68cc8d6fcc2f270d7108f02f3ebc59480a54615be3e09a47e14527f349e9d53e","3eb11dbf3489064a47a2e1cf9d261b1f100ef0b3b50ffca6c44dd99d6dd81ac1","b17f3bb7d8333479c7e45e5f3d876761b9bca58f97594eca3f6a944fd825e632","3c1f1236cce6d6e0c4e2c1b4371e6f72d7c14842ecd76a98ed0748ee5730c8f3","6d7f58d5ea72d7834946fd7104a734dc7d40661be8b2e1eaced1ddce3268ebaf","4c26222991e6c97d5a8f541d4f2c67585eda9e8b33cf9f52931b098045236e88","277983d414aa99d78655186c3ee1e1c38c302e336aff1d77b47fcdc39d8273fe","47383b45796d525a4039cd22d2840ac55a1ff03a43d027f7f867ba7314a9cf53","6548773b3abbc18de29176c2141f766d4e437e40596ee480447abf83575445ad","6ddd27af0436ce59dd4c1896e2bfdb2bdb2529847d078b83ce67a144dff05491","816264799aef3fd5a09a3b6c25217d5ec26a9dfc7465eac7d6073bcdc7d88f3f","4df0891b133884cd9ed752d31c7d0ec0a09234e9ed5394abffd3c660761598db","b603b62d3dcd31ef757dc7339b4fa8acdbca318b0fb9ac485f9a1351955615f9","e642bd47b75ad6b53cbf0dfd7ddfa0f120bd10193f0c58ec37d87b59bf604aca","be90b24d2ee6f875ce3aaa482e7c41a54278856b03d04212681c4032df62baf9","78f5ff400b3cb37e7b90eef1ff311253ed31c8cb66505e9828fad099bffde021","372c47090e1131305d163469a895ff2938f33fa73aad988df31cd31743f9efb6","71c67dc6987bdbd5599353f90009ff825dd7db0450ef9a0aee5bb0c574d18512","6f12403b5eca6ae7ca8e3efe3eeb9c683b06ce3e3844ccfd04098d83cd7e4957","282c535df88175d64d9df4550d2fd1176fd940c1c6822f1e7584003237f179d3","c3a4752cf103e4c6034d5bd449c8f9d5e7b352d22a5f8f9a41a8efb11646f9c2","11a9e38611ac3c77c74240c58b6bd64a0032128b29354e999650f1de1e034b1c","4ed103ca6fff9cb244f7c4b86d1eb28ce8069c32db720784329946731badb5bb","d738f282842970e058672663311c6875482ee36607c88b98ffb6604fba99cb2a","ec859cd8226aa623e41bbb47c249a55ee16dc1b8647359585244d57d3a5ed0c7","8891c6e959d253a66434ff5dc9ae46058fb3493e84b4ca39f710ef2d350656b1","c4463cf02535444dcbc3e67ecd29f1972490f74e49957d6fd4282a1013796ba6","0cb0a957ff02de0b25fd0f3f37130ca7f22d1e0dea256569c714c1f73c6791f8","2f5075dc512d51786b1ba3b1696565641dfaae3ac854f5f13d61fa12ef81a47e","ca3353cc82b1981f0d25d71d7432d583a6ef882ccdea82d65fbe49af37be51cb","50679a8e27aacf72f8c40bcab15d7ef5e83494089b4726b83eec4554344d5cdc","45351e0d51780b6f4088277a4457b9879506ee2720a887de232df0f1efcb33d8","5d697a4b315cc5bb3042ae869abffd10c3b0d7b182cda0e4c45d8819937e5796","89b040dec8fcfc1de98827e1f4d4977e6ff5d3302c6790e9f10b54b916e1c742","6ee58aa536dabb19b09bc036f1abe83feb51e13d63b23d30b2d0631a2de99b8f","8aceb205dcc6f814ad99635baf1e40b6e01d06d3fe27b72fd766c6d0b8c0c600","299567f84bfedd1468dca2755a829cb19e607a6811673788807dc8921e211bc9","795d9fb85aad92221504db74dd179b506bd189bba0c104426f7e7bb8a66ffee5","1311bc194e0a69fe61031e852c1c0b439e2a2a3d1d5e2d8ff795499b9f283459","4b7ce19369d7e7fae76720c2c6c7f671bf3fa0f7093edb864f1ac358ca7c456c","c972ef44deca1fa8fab465915ffa00f82e126aacf3dfc8979c03b1b066ce5bb6","30285a1011c6d6b52f3ba3abb0a984be8148c05cdefb8eb6eb562335a3991f35","8e7adb22c0adecf7464861fc58ae3fc617b41ffbd70c97aa8493dc0966a82273","755f3cd1d9c1b564cff090e3b0e29200ae55690a91b87cb9e7a64c2dbeb314d3","d6bb7e0a6877b7856c183bff13d09dd9ae599ea43c6f6b33d3d5f72a830ed460","f1b51ae93c762d7c43f559933cd4842dd870367e8d92e90704ffa685dd5b29a3","3f450762fd7c34ed545e738abccb0af6a703572a10521643cf8fc88e3724c99c","fcc8beef29f39f09b1d9c9f99c42f9fed605ab1c28d2a630185f732b9ba53763","d6e6620a30d582182acc3f0a992a0c311adc589f111096aea11ab83fc09a5ccc","6213b8f686f56beab22b59a0f468590fd3a4c5fa931236a017efeca91d7c9584","c451cec9a588b1f105a5ea2c6063d4fca112b9d70105cacdadda0e1ef67e9379","cb047832dc68f5a2c41c62c5e95ddcacbae3a8b034d40cd15319a8cb7f25104a","980336ccdfc3c08f3c3b201aa6662e6016e20f15847f8465b68f3e8e67b4665c","5a3493939995f46ff3d9073cd534fb8961c3bf4e08c71db27066ff03d906dea8","bb5a2ac327605ebebf831c469b05bd34a33a6a46ee8c1edd9f3310aad32cf6a1","bf5d041f2440b4a9391e2b5eb3b8d94cbf1e3b8ff4703b6539d4e65e758c8f37","8516469eb90e723b0eb03df1be098f7e6a4709f6f48fd4532868d20a0a934f6e","d60e9ab369a72d234aac49adbe2900d8ef1408a6ea4db552cf2a48c9d8d6a1bc","0ebb4698803f01e2e7df6acce572fff068f4a20c47221721dafd70a27e372831","03460a54d0e0481d1e11097f66ad43f054bc95efdafe5f81bbc7a82be181af75","ded24ddc7157689a5aa14bd651272ab8cd6e7812da2196a65d8c5e63131cfb23","2cea9689efa8591732096235abe7f084fc29c92badd5b0897a5e876b77e71887","4ed4e504126014fee13aaef5e3fc140f2ff7031ff3a8b5386717905820ea2d09","00e77e0bf106bc1e4f303ab02724df5173506d44acb6c22b4f582a88f22c3250","30d2170e1a718b5035611af55e3618b4ba8f42f0749bb52ee593da6082c4e2ce","98ef38666d88ec9699a722053e07ede65d3042f693fe7ff8c786e53dbb6fd43b","a3b8b6be7620897d1e481e8650c980a210a138fceb6e710eaf95fd9dd0dfe94a","12c89d0e32758c120a569045f21cf5b77244f86792611ced8de7f86b37e77781","2ccea88888048bbfcacbc9531a5596ea48a3e7dcd0a25f531a81bb717903ba4f",{"version":"04692f5d1d19c1ea8e8436b003070dbeaffef95d6c7e1eb42ca7c9b6e4f3274a","signature":"5490fd6033c6ff09a704609290836e9c168622a3f78f19f812426e8e846a5aca"},"4dd3874b13d00175c0af1df2ef9e09ceea8458096f5fc6d23da1ccf44c24d278","4489c6a9fde8934733aa7df6f7911461ee6e9e4ad092736bd416f6b2cc20b2c6","2c8e55457aaf4902941dfdba4061935922e8ee6e120539c9801cd7b400fae050","8041cfce439ff29d339742389de04c136e3029d6b1817f07b2d7fcbfb7534990","670a76db379b27c8ff42f1ba927828a22862e2ab0b0908e38b671f0e912cc5ed","9d38964b57191567a14b396422c87488cecd48f405c642daa734159875ee81d9","069bebfee29864e3955378107e243508b163e77ab10de6a5ee03ae06939f0bb9","8c95f96ccd4be0674944077aec1e4f2cccd515ca06d4327562dd017250e7d3fc",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"ee7d8894904b465b072be0d2e4b45cf6b887cdba16a467645c4e200982ece7ea","f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","bc3cba7b0af2d52e7425299aee518db479d44004eff6fbbd206d1ee7e5ec3fb5","afe73051ff6a03a9565cbd8ebb0e956ee3df5e913ad5c1ded64218aabfa3dcb5","035a5df183489c2e22f3cf59fc1ed2b043d27f357eecc0eb8d8e840059d44245","a4809f4d92317535e6b22b01019437030077a76fec1d93b9881c9ed4738fcc54","5f53fa0bd22096d2a78533f94e02c899143b8f0f9891a46965294ee8b91a9434","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","7adecb2c3238794c378d336a8182d4c3dd2c4fa6fa1785e2797a3db550edea62","dc12dc0e5aa06f4e1a7692149b78f89116af823b9e1f1e4eae140cd3e0e674e6","1bfc6565b90c8771615cd8cfcf9b36efc0275e5e83ac7d9181307e96eb495161","8a8a96898906f065f296665e411f51010b51372fa260d5373bf9f64356703190","7f82ef88bdb67d9a850dd1c7cd2d690f33e0f0acd208e3c9eba086f3670d4f73",{"version":"ccfd8774cd9b929f63ff7dcf657977eb0652e3547f1fcac1b3a1dc5db22d4d58","affectsGlobalScope":true},"d92dc90fecd2552db74d8dc3c6fb4db9145b2aa0efe2c127236ba035969068d4","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","b8442e9db28157344d1bc5d8a5a256f1692de213f0c0ddeb84359834015a008c","458111fc89d11d2151277c822dfdc1a28fa5b6b2493cf942e37d4cd0a6ee5f22","da2b6356b84a40111aaecb18304ea4e4fcb43d70efb1c13ca7d7a906445ee0d3","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","6f294731b495c65ecf46a5694f0082954b961cf05463bea823f8014098eaffa0","0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","68a0d0c508e1b6d8d23a519a8a0a3303dc5baa4849ca049f21e5bad41945e3fc","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","b03afe4bec768ae333582915146f48b161e567a81b5ebc31c4d78af089770ac9","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9","4f6a12044ee6f458db11964153830abbc499e73d065c51c329ec97407f4b13dd","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","916be7d770b0ae0406be9486ac12eb9825f21514961dd050594c4b250617d5a8","254d9fb8c872d73d34594be8a200fd7311dbfa10a4116bfc465fba408052f2b3","d88a5e779faf033be3d52142a04fbe1cb96009868e3bbdd296b2bc6c59e06c0e","5e379df3d61561c2ed7789b5995b9ba2143bbba21a905e2381e16efe7d1fa424","f07a137bbe2de7a122c37bfea00e761975fb264c49f18003d398d71b3fb35a5f","d8f7109e14f20eb735225a62fd3f8366da1a8349e90331cdad57f4b04caf6c5a","cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4","7d2a0ba1297be385a89b5515b88cd31b4a1eeef5236f710166dc1b36b1741e1b","9d92b037978bb9525bc4b673ebddd443277542e010c0aef019c03a170ccdaa73","ab82804a14454734010dcdcd43f564ff7b0389bee4c5692eec76ff5b30d4cf66","fab58e600970e66547644a44bc9918e3223aa2cbd9e8763cec004b2cfb48827e","bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","ae271d475b632ce7b03fea6d9cf6da72439e57a109672671cbc79f54e1386938"],"options":{"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"inlineSources":true,"module":1,"outDir":"./types","rootDir":"../src","sourceMap":true,"strict":true,"target":7},"fileIdsList":[[256],[82,118,157,158,173],[157,158,174,175],[118,157],[118,173,176,179],[118,176,179,180],[177,178,179,181,182],[118,179],[118,173,176,177,178,181],[118,164],[118],[82,118],[70,118],[160,161,162,163,164,165,166,167,168,169,170,171,172],[118,162,163],[118,162,164],[56,59,61,62,63,64],[56,59,62,65],[56],[56,57],[57,58],[60],[61,64,119,123,124],[61,64,124],[59,61,62,63,65,118,119],[61,124],[61,65,120],[59,63,65],[61,65,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135],[61,122],[118,122],[56,61,62,63,64,65,120,121],[61,64,119,122],[61,120,122],[56,59],[232],[232,243,244],[244,245,246],[227],[227,228,229],[145],[148],[145,148],[146,147,148,149,150,151,152,153,154,155,156,184,187,188,189,190,191,192,193,194],[139,145,146],[148,154,156,183],[186],[148,149],[145,190],[222,223],[256,257,258,259,260],[256,258],[185],[263,264,265],[83,118],[268],[269],[280],[274,279],[283,285,286,287,288,289,290,291,292,293,294,295],[283,284,286,287,288,289,290,291,292,293,294,295],[284,285,286,287,288,289,290,291,292,293,294,295],[283,284,285,287,288,289,290,291,292,293,294,295],[283,284,285,286,288,289,290,291,292,293,294,295],[283,284,285,286,287,289,290,291,292,293,294,295],[283,284,285,286,287,288,290,291,292,293,294,295],[283,284,285,286,287,288,289,291,292,293,294,295],[283,284,285,286,287,288,289,290,292,293,294,295],[283,284,285,286,287,288,289,290,291,293,294,295],[283,284,285,286,287,288,289,290,291,292,294,295],[283,284,285,286,287,288,289,290,291,292,293,295],[283,284,285,286,287,288,289,290,291,292,293,294],[66],[69],[70,75,102],[71,82,83,90,99,110],[71,72,82,90],[73,111],[74,75,83,91],[75,99,107],[76,78,82,90],[77],[78,79],[82],[81,82],[69,82],[82,83,84,99,110],[82,83,84,99],[82,85,90,99,110],[82,83,85,86,90,99,107,110],[85,87,99,107,110],[66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117],[82,88],[89,110,115],[78,82,90,99],[91],[92],[69,93],[94,109,115],[95],[96],[82,97],[97,98,111,113],[70,82,99,100,101],[70,99,101],[99,100],[102],[103],[82,105,106],[105,106],[75,90,99,107],[108],[90,109],[70,85,96,110],[75,111],[99,112],[113],[114],[70,75,82,84,93,99,110,113,115],[99,116],[118,300],[303,342],[303,327,342],[342],[303],[303,328,342],[303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341],[328,342],[343],[347],[207],[207,208,209,210,211],[196,197,198,199,200,201,202,203,204,205,206],[272,275],[272,275,276,277],[274],[271,278],[273],[138,140,141,142,143,144],[138,139],[140],[139,140],[138,140],[195,212,213,214],[213],[214],[137,213,214,215],[217],[217,218,221,225],[224],[195,219,220],[136,195,216,226,252,253],[254],[240,241,242],[239,240],[195,239,240],[195,232,239],[195,232],[195,233],[233,234,235,236,237,238],[195,216,219,226,230,231,248,249],[248],[231,248,250,251],[195,226,243,247],[136,195,216,252]],"referencedMap":[[258,1],[174,2],[176,3],[158,4],[180,5],[181,6],[177,6],[183,7],[178,6],[182,8],[179,9],[165,10],[162,11],[169,12],[163,10],[160,13],[173,14],[167,11],[164,15],[166,16],[65,17],[121,18],[57,19],[58,20],[59,21],[61,22],[125,23],[126,24],[120,25],[127,26],[128,27],[129,27],[119,28],[136,29],[131,23],[130,30],[132,31],[122,32],[133,26],[134,24],[124,33],[135,30],[123,34],[63,35],[244,36],[245,37],[246,37],[247,38],[232,12],[228,39],[229,39],[230,40],[146,41],[147,41],[149,42],[150,41],[151,41],[152,43],[148,41],[195,44],[156,45],[184,46],[187,47],[193,48],[194,49],[224,50],[261,51],[257,1],[259,52],[260,1],[220,11],[186,53],[266,54],[267,55],[269,56],[270,57],[281,58],[280,59],[284,60],[285,61],[283,62],[286,63],[287,64],[288,65],[289,66],[290,67],[291,68],[292,69],[293,70],[294,71],[295,72],[66,73],[67,73],[69,74],[70,75],[71,76],[72,77],[73,78],[74,79],[75,80],[76,81],[77,82],[78,83],[79,83],[80,84],[81,85],[82,86],[83,87],[84,88],[85,89],[86,90],[87,91],[118,92],[88,93],[89,94],[90,95],[91,96],[92,97],[93,98],[94,99],[95,100],[96,101],[97,102],[98,103],[99,104],[101,105],[100,106],[102,107],[103,108],[105,109],[106,110],[107,111],[108,112],[109,113],[110,114],[111,115],[112,116],[113,117],[114,118],[115,119],[116,120],[298,11],[301,121],[302,11],[327,122],[328,123],[303,124],[306,124],[325,122],[326,122],[316,122],[315,125],[313,122],[308,122],[321,122],[319,122],[323,122],[307,122],[320,122],[324,122],[309,122],[310,122],[322,122],[304,122],[311,122],[312,122],[314,122],[318,122],[329,126],[317,122],[305,122],[342,127],[336,126],[338,128],[337,126],[330,126],[331,126],[333,126],[335,126],[339,128],[340,128],[332,128],[334,128],[344,129],[348,130],[203,131],[205,131],[204,131],[202,131],[212,132],[207,133],[198,131],[199,131],[200,131],[201,131],[276,134],[278,135],[277,134],[275,136],[279,137],[274,138],[145,139],[140,140],[141,141],[142,141],[143,142],[144,142],[139,143],[215,144],[214,145],[213,146],[216,147],[218,148],[226,149],[225,150],[221,151],[254,152],[255,153],[243,154],[241,155],[242,156],[240,157],[233,158],[234,159],[235,159],[237,159],[239,160],[238,159],[250,161],[249,162],[251,162],[252,163],[248,164]],"exportedModulesMap":[[258,1],[174,2],[176,3],[158,4],[180,5],[181,6],[177,6],[183,7],[178,6],[182,8],[179,9],[165,10],[162,11],[169,12],[163,10],[160,13],[173,14],[167,11],[164,15],[166,16],[65,17],[121,18],[57,19],[58,20],[59,21],[61,22],[125,23],[126,24],[120,25],[127,26],[128,27],[129,27],[119,28],[136,29],[131,23],[130,30],[132,31],[122,32],[133,26],[134,24],[124,33],[135,30],[123,34],[63,35],[244,36],[245,37],[246,37],[247,38],[232,12],[228,39],[229,39],[230,40],[146,41],[147,41],[149,42],[150,41],[151,41],[152,43],[148,41],[195,44],[156,45],[184,46],[187,47],[193,48],[194,49],[224,50],[261,51],[257,1],[259,52],[260,1],[220,11],[186,53],[266,54],[267,55],[269,56],[270,57],[281,58],[280,59],[284,60],[285,61],[283,62],[286,63],[287,64],[288,65],[289,66],[290,67],[291,68],[292,69],[293,70],[294,71],[295,72],[66,73],[67,73],[69,74],[70,75],[71,76],[72,77],[73,78],[74,79],[75,80],[76,81],[77,82],[78,83],[79,83],[80,84],[81,85],[82,86],[83,87],[84,88],[85,89],[86,90],[87,91],[118,92],[88,93],[89,94],[90,95],[91,96],[92,97],[93,98],[94,99],[95,100],[96,101],[97,102],[98,103],[99,104],[101,105],[100,106],[102,107],[103,108],[105,109],[106,110],[107,111],[108,112],[109,113],[110,114],[111,115],[112,116],[113,117],[114,118],[115,119],[116,120],[298,11],[301,121],[302,11],[327,122],[328,123],[303,124],[306,124],[325,122],[326,122],[316,122],[315,125],[313,122],[308,122],[321,122],[319,122],[323,122],[307,122],[320,122],[324,122],[309,122],[310,122],[322,122],[304,122],[311,122],[312,122],[314,122],[318,122],[329,126],[317,122],[305,122],[342,127],[336,126],[338,128],[337,126],[330,126],[331,126],[333,126],[335,126],[339,128],[340,128],[332,128],[334,128],[344,129],[348,130],[203,131],[205,131],[204,131],[202,131],[212,132],[207,133],[198,131],[199,131],[200,131],[201,131],[276,134],[278,135],[277,134],[275,136],[279,137],[274,138],[145,139],[140,140],[141,141],[142,141],[143,142],[144,142],[139,143],[215,144],[214,145],[213,146],[216,147],[218,148],[226,149],[225,150],[221,151],[254,165],[255,153],[243,154],[241,155],[242,156],[240,157],[233,158],[234,159],[235,159],[237,159],[239,160],[238,159],[250,161],[249,162],[251,162],[252,163],[248,164]],"semanticDiagnosticsPerFile":[258,256,174,157,176,158,175,180,181,177,183,178,182,179,165,162,169,163,160,168,173,170,171,172,167,164,161,166,65,121,57,58,59,56,61,60,62,125,126,120,127,128,129,119,136,131,130,132,122,133,134,124,135,123,63,64,244,245,246,247,219,232,228,229,230,227,146,147,149,150,151,152,153,154,155,148,195,156,184,187,188,189,190,191,192,193,194,222,224,223,261,257,259,260,220,186,262,263,266,264,267,268,269,270,281,280,265,282,284,285,283,286,287,288,289,290,291,292,293,294,295,296,185,66,67,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,68,117,85,86,87,118,88,89,90,91,92,93,94,95,96,97,98,99,101,100,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,297,298,299,253,301,300,302,327,328,303,306,325,326,316,315,313,308,321,319,323,307,320,324,309,310,322,304,311,312,314,318,329,317,305,342,341,336,338,337,330,331,333,335,339,340,332,334,344,343,345,346,347,348,159,271,206,203,205,204,202,212,207,211,208,210,209,198,199,200,196,197,201,272,276,278,277,275,279,274,273,138,145,140,141,142,143,144,139,8,10,9,2,11,12,13,14,15,16,17,18,3,4,22,19,20,21,23,24,25,5,26,27,28,29,6,33,30,31,32,34,7,35,40,41,36,37,38,39,1,42,137,215,214,213,216,218,226,225,217,221,254,255,243,241,242,240,233,234,235,236,237,239,238,250,231,249,251,252,248,47,48,49,50,51,52,43,53,54,55,44,45,46],"latestChangedDtsFile":"./types/index.d.ts"},"version":"4.9.5"}
@@ -13,7 +13,7 @@ export declare const DEFAULT_ENS_NETWORK_MAP: Record<number, Hex>;
13
13
  * @property ensName - The ENS name
14
14
  * @property address - Hex address with the ENS name, or null
15
15
  */
16
- export declare type EnsEntry = {
16
+ export type EnsEntry = {
17
17
  chainId: Hex;
18
18
  ensName: string;
19
19
  address: string | null;
@@ -24,7 +24,7 @@ export declare type EnsEntry = {
24
24
  * ENS controller state
25
25
  * @property ensEntries - Object of ENS entry objects
26
26
  */
27
- export declare type EnsControllerState = {
27
+ export type EnsControllerState = {
28
28
  ensEntries: {
29
29
  [chainId: Hex]: {
30
30
  [ensName: string]: EnsEntry;
@@ -34,7 +34,7 @@ export declare type EnsControllerState = {
34
34
  [key: string]: string;
35
35
  };
36
36
  };
37
- export declare type EnsControllerMessenger = RestrictedControllerMessenger<typeof name, never, never, never, never>;
37
+ export type EnsControllerMessenger = RestrictedControllerMessenger<typeof name, never, never, never, never>;
38
38
  /**
39
39
  * Controller that manages a list ENS names and their resolved addresses
40
40
  * by chainId. A null address indicates an unresolved ENS name.
@@ -1 +1 @@
1
- {"version":3,"file":"EnsController.d.ts","sourceRoot":"","sources":["../../src/EnsController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAU3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAM3C,QAAA,MAAM,IAAI,kBAAkB,CAAC;AAG7B,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAavD,CAAC;AAEF;;;;;;;GAOG;AACH,oBAAY,QAAQ,GAAG;IACrB,OAAO,EAAE,GAAG,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF;;;;;GAKG;AACH,oBAAY,kBAAkB,GAAG;IAC/B,UAAU,EAAE;QACV,CAAC,OAAO,EAAE,GAAG,GAAG;YACd,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC;SAC7B,CAAC;KACH,CAAC;IACF,uBAAuB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACpD,CAAC;AAEF,oBAAY,sBAAsB,GAAG,6BAA6B,CAChE,OAAO,IAAI,EACX,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,CACN,CAAC;AAeF;;;GAGG;AACH,qBAAa,aAAc,SAAQ,cAAc,CAC/C,OAAO,IAAI,EACX,kBAAkB,EAClB,sBAAsB,CACvB;;IAGC;;;;;;;;;OASG;gBACS,EACV,mBAA6C,EAC7C,SAAS,EACT,KAAU,EACV,QAAQ,EACR,kBAAkB,GACnB,EAAE;QACD,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1C,SAAS,EAAE,sBAAsB,CAAC;QAClC,KAAK,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,CAAC;QAC/C,kBAAkB,CAAC,EAAE,CACnB,QAAQ,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC,KAAK,IAAI,KACnE,IAAI,CAAC;KACX;IA0CD;;OAEG;IACH,UAAU;IAMV;;OAEG;IACH,KAAK;IAML;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO;IAoB9C;;;;;;OAMG;IACH,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAUnD;;;;;;;;;OASG;IACH,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO;IAqDnE;;;;;OAKG;IACG,qBAAqB,CAAC,qBAAqB,EAAE,MAAM;CAkD1D;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"EnsController.d.ts","sourceRoot":"","sources":["../../src/EnsController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAW3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAM3C,QAAA,MAAM,IAAI,kBAAkB,CAAC;AAG7B,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAavD,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,OAAO,EAAE,GAAG,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE;QACV,CAAC,OAAO,EAAE,GAAG,GAAG;YACd,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC;SAC7B,CAAC;KACH,CAAC;IACF,uBAAuB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,6BAA6B,CAChE,OAAO,IAAI,EACX,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,CACN,CAAC;AAeF;;;GAGG;AACH,qBAAa,aAAc,SAAQ,cAAc,CAC/C,OAAO,IAAI,EACX,kBAAkB,EAClB,sBAAsB,CACvB;;IAGC;;;;;;;;;OASG;gBACS,EACV,mBAA6C,EAC7C,SAAS,EACT,KAAU,EACV,QAAQ,EACR,kBAAkB,GACnB,EAAE;QACD,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1C,SAAS,EAAE,sBAAsB,CAAC;QAClC,KAAK,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,CAAC;QAC/C,kBAAkB,CAAC,EAAE,CACnB,QAAQ,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC,KAAK,IAAI,KACnE,IAAI,CAAC;KACX;IA0CD;;OAEG;IACH,UAAU;IAMV;;OAEG;IACH,KAAK;IAML;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO;IAqB9C;;;;;;OAMG;IACH,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAUnD;;;;;;;;;OASG;IACH,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO;IAqDnE;;;;;OAKG;IACG,qBAAqB,CAAC,qBAAqB,EAAE,MAAM;CAkD1D;AAED,eAAe,aAAa,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metamask/ens-controller",
3
- "version": "10.0.0",
3
+ "version": "11.0.0",
4
4
  "description": "Maps ENS names to their resolved addresses by chain id",
5
5
  "keywords": [
6
6
  "MetaMask",
@@ -25,7 +25,7 @@
25
25
  "./package.json": "./package.json"
26
26
  },
27
27
  "main": "./dist/index.js",
28
- "types": "./dist/index.d.ts",
28
+ "types": "./dist/types/index.d.ts",
29
29
  "files": [
30
30
  "dist/"
31
31
  ],
@@ -42,24 +42,24 @@
42
42
  },
43
43
  "dependencies": {
44
44
  "@ethersproject/providers": "^5.7.0",
45
- "@metamask/base-controller": "^5.0.0",
46
- "@metamask/controller-utils": "^9.0.0",
45
+ "@metamask/base-controller": "^5.0.2",
46
+ "@metamask/controller-utils": "^10.0.0",
47
47
  "@metamask/utils": "^8.3.0",
48
48
  "punycode": "^2.1.1"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@metamask/auto-changelog": "^3.4.4",
52
- "@metamask/network-controller": "^18.0.0",
52
+ "@metamask/network-controller": "^18.1.3",
53
53
  "@types/jest": "^27.4.1",
54
54
  "deepmerge": "^4.2.2",
55
55
  "jest": "^27.5.1",
56
56
  "ts-jest": "^27.1.4",
57
57
  "typedoc": "^0.24.8",
58
58
  "typedoc-plugin-missing-exports": "^2.0.0",
59
- "typescript": "~4.8.4"
59
+ "typescript": "~4.9.5"
60
60
  },
61
61
  "peerDependencies": {
62
- "@metamask/network-controller": "^18.0.0"
62
+ "@metamask/network-controller": "^18.1.3"
63
63
  },
64
64
  "engines": {
65
65
  "node": ">=16.0.0"
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/EnsController.ts"],"sourcesContent":["import type {\n ExternalProvider,\n JsonRpcFetchFunc,\n} from '@ethersproject/providers';\nimport { Web3Provider } from '@ethersproject/providers';\nimport type { RestrictedControllerMessenger } from '@metamask/base-controller';\nimport { BaseController } from '@metamask/base-controller';\nimport type { ChainId } from '@metamask/controller-utils';\nimport {\n normalizeEnsName,\n isValidHexAddress,\n toChecksumHexAddress,\n CHAIN_ID_TO_ETHERS_NETWORK_NAME_MAP,\n convertHexToDecimal,\n toHex,\n} from '@metamask/controller-utils';\nimport type { NetworkState } from '@metamask/network-controller';\nimport type { Hex } from '@metamask/utils';\nimport { createProjectLogger } from '@metamask/utils';\nimport { toASCII } from 'punycode/';\n\nconst log = createProjectLogger('ens-controller');\n\nconst name = 'EnsController';\n\n// Map of chainIDs and ENS registry contract addresses\nexport const DEFAULT_ENS_NETWORK_MAP: Record<number, Hex> = {\n // Mainnet\n 1: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',\n // Ropsten\n 3: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',\n // Rinkeby\n 4: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',\n // Goerli\n 5: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',\n // Holesky\n 17000: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',\n // Sepolia\n 11155111: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',\n};\n\n/**\n * @type EnsEntry\n *\n * ENS entry representation\n * @property chainId - Id of the associated chain\n * @property ensName - The ENS name\n * @property address - Hex address with the ENS name, or null\n */\nexport type EnsEntry = {\n chainId: Hex;\n ensName: string;\n address: string | null;\n};\n\n/**\n * @type EnsControllerState\n *\n * ENS controller state\n * @property ensEntries - Object of ENS entry objects\n */\nexport type EnsControllerState = {\n ensEntries: {\n [chainId: Hex]: {\n [ensName: string]: EnsEntry;\n };\n };\n ensResolutionsByAddress: { [key: string]: string };\n};\n\nexport type EnsControllerMessenger = RestrictedControllerMessenger<\n typeof name,\n never,\n never,\n never,\n never\n>;\n\nconst metadata = {\n ensEntries: { persist: true, anonymous: false },\n ensResolutionsByAddress: { persist: true, anonymous: false },\n};\n\nconst defaultState = {\n ensEntries: {},\n ensResolutionsByAddress: {},\n};\n\nconst ZERO_ADDRESS = '0x0000000000000000000000000000000000000000';\nconst ZERO_X_ERROR_ADDRESS = '0x';\n\n/**\n * Controller that manages a list ENS names and their resolved addresses\n * by chainId. A null address indicates an unresolved ENS name.\n */\nexport class EnsController extends BaseController<\n typeof name,\n EnsControllerState,\n EnsControllerMessenger\n> {\n #ethProvider: Web3Provider | null = null;\n\n /**\n * Creates an EnsController instance.\n *\n * @param options - Constructor options.\n * @param options.registriesByChainId - Map between chain IDs and ENS contract addresses.\n * @param options.messenger - A reference to the messaging system.\n * @param options.state - Initial state to set on this controller.\n * @param options.provider - Provider instance.\n * @param options.onNetworkDidChange - Allows subscribing to network controller networkDidChange events.\n */\n constructor({\n registriesByChainId = DEFAULT_ENS_NETWORK_MAP,\n messenger,\n state = {},\n provider,\n onNetworkDidChange,\n }: {\n registriesByChainId?: Record<number, Hex>;\n messenger: EnsControllerMessenger;\n state?: Partial<EnsControllerState>;\n provider?: ExternalProvider | JsonRpcFetchFunc;\n onNetworkDidChange?: (\n listener: (networkState: Pick<NetworkState, 'providerConfig'>) => void,\n ) => void;\n }) {\n super({\n name,\n metadata,\n messenger,\n state: {\n ...defaultState,\n ensEntries: Object.fromEntries(\n Object.entries(registriesByChainId).map(([chainId, address]) => [\n toHex(chainId),\n {\n '.': {\n address,\n chainId: toHex(chainId),\n ensName: '.',\n },\n },\n ]),\n ),\n ...state,\n },\n });\n\n if (provider && onNetworkDidChange) {\n onNetworkDidChange((networkState) => {\n this.resetState();\n const currentChainId = networkState.providerConfig.chainId;\n if (this.#getChainEnsSupport(currentChainId)) {\n this.#ethProvider = new Web3Provider(provider, {\n chainId: convertHexToDecimal(currentChainId),\n name: CHAIN_ID_TO_ETHERS_NETWORK_NAME_MAP[\n currentChainId as ChainId\n ],\n ensAddress: registriesByChainId[parseInt(currentChainId, 16)],\n });\n } else {\n this.#ethProvider = null;\n }\n });\n }\n }\n\n /**\n * Clears ensResolutionsByAddress state property.\n */\n resetState() {\n this.update((currentState) => {\n currentState.ensResolutionsByAddress = {};\n });\n }\n\n /**\n * Remove all chain Ids and ENS entries from state.\n */\n clear() {\n this.update((state) => {\n state.ensEntries = {};\n });\n }\n\n /**\n * Delete an ENS entry.\n *\n * @param chainId - Parent chain of the ENS entry to delete.\n * @param ensName - Name of the ENS entry to delete.\n * @returns Boolean indicating if the entry was deleted.\n */\n delete(chainId: Hex, ensName: string): boolean {\n const normalizedEnsName = normalizeEnsName(ensName);\n if (\n !normalizedEnsName ||\n !this.state.ensEntries[chainId] ||\n !this.state.ensEntries[chainId][normalizedEnsName]\n ) {\n return false;\n }\n\n this.update((state) => {\n delete state.ensEntries[chainId][normalizedEnsName];\n\n if (Object.keys(state.ensEntries[chainId]).length === 0) {\n delete state.ensEntries[chainId];\n }\n });\n return true;\n }\n\n /**\n * Retrieve a DNS entry.\n *\n * @param chainId - Parent chain of the ENS entry to retrieve.\n * @param ensName - Name of the ENS entry to retrieve.\n * @returns The EnsEntry or null if it does not exist.\n */\n get(chainId: Hex, ensName: string): EnsEntry | null {\n const normalizedEnsName = normalizeEnsName(ensName);\n\n // TODO Explicitly handle the case where `normalizedEnsName` is `null`\n // eslint-disable-next-line no-implicit-coercion\n return !!normalizedEnsName && this.state.ensEntries[chainId]\n ? this.state.ensEntries[chainId][normalizedEnsName] || null\n : null;\n }\n\n /**\n * Add or update an ENS entry by chainId and ensName.\n *\n * A null address indicates that the ENS name does not resolve.\n *\n * @param chainId - Id of the associated chain.\n * @param ensName - The ENS name.\n * @param address - Associated address (or null) to add or update.\n * @returns Boolean indicating if the entry was set.\n */\n set(chainId: Hex, ensName: string, address: string | null): boolean {\n if (\n !Number.isInteger(Number.parseInt(chainId, 10)) ||\n !ensName ||\n typeof ensName !== 'string' ||\n (address && !isValidHexAddress(address))\n ) {\n throw new Error(\n `Invalid ENS entry: { chainId:${chainId}, ensName:${ensName}, address:${address}}`,\n );\n }\n\n const normalizedEnsName = normalizeEnsName(ensName);\n if (!normalizedEnsName) {\n throw new Error(`Invalid ENS name: ${ensName}`);\n }\n\n const normalizedAddress = address ? toChecksumHexAddress(address) : null;\n const subState = this.state.ensEntries[chainId];\n\n if (\n subState?.[normalizedEnsName] &&\n subState[normalizedEnsName].address === normalizedAddress\n ) {\n return false;\n }\n\n this.update((state) => {\n state.ensEntries = {\n ...this.state.ensEntries,\n [chainId]: {\n ...this.state.ensEntries[chainId],\n [normalizedEnsName]: {\n address: normalizedAddress,\n chainId,\n ensName: normalizedEnsName,\n },\n },\n };\n });\n return true;\n }\n\n /**\n * Check if the chain supports ENS.\n *\n * @param chainId - chain id.\n * @returns Boolean indicating if the chain supports ENS.\n */\n #getChainEnsSupport(chainId: Hex) {\n return Boolean(this.state.ensEntries[chainId]);\n }\n\n /**\n * Resolve ens by address.\n *\n * @param nonChecksummedAddress - address\n * @returns ens resolution\n */\n async reverseResolveAddress(nonChecksummedAddress: string) {\n if (!this.#ethProvider) {\n return undefined;\n }\n\n const address = toChecksumHexAddress(nonChecksummedAddress);\n if (this.state.ensResolutionsByAddress[address]) {\n return this.state.ensResolutionsByAddress[address];\n }\n\n let domain: string | null;\n try {\n domain = await this.#ethProvider.lookupAddress(address);\n } catch (error) {\n log(error);\n return undefined;\n }\n\n if (!domain) {\n return undefined;\n }\n\n let registeredAddress: string | null;\n try {\n registeredAddress = await this.#ethProvider.resolveName(domain);\n } catch (error) {\n log(error);\n return undefined;\n }\n\n if (!registeredAddress) {\n return undefined;\n }\n\n if (\n registeredAddress === ZERO_ADDRESS ||\n registeredAddress === ZERO_X_ERROR_ADDRESS\n ) {\n return undefined;\n }\n if (toChecksumHexAddress(registeredAddress) !== address) {\n return undefined;\n }\n\n this.update((state) => {\n state.ensResolutionsByAddress[address] = toASCII(domain as string);\n });\n\n return domain;\n }\n}\n\nexport default EnsController;\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/EnsController.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n ExternalProvider,\n JsonRpcFetchFunc,\n} from '@ethersproject/providers';\nimport { Web3Provider } from '@ethersproject/providers';\nimport type { RestrictedControllerMessenger } from '@metamask/base-controller';\nimport { BaseController } from '@metamask/base-controller';\nimport type { ChainId } from '@metamask/controller-utils';\nimport {\n normalizeEnsName,\n isValidHexAddress,\n toChecksumHexAddress,\n CHAIN_ID_TO_ETHERS_NETWORK_NAME_MAP,\n convertHexToDecimal,\n toHex,\n} from '@metamask/controller-utils';\nimport type { NetworkState } from '@metamask/network-controller';\nimport type { Hex } from '@metamask/utils';\nimport { createProjectLogger } from '@metamask/utils';\nimport { toASCII } from 'punycode/';\n\nconst log = createProjectLogger('ens-controller');\n\nconst name = 'EnsController';\n\n// Map of chainIDs and ENS registry contract addresses\nexport const DEFAULT_ENS_NETWORK_MAP: Record<number, Hex> = {\n // Mainnet\n 1: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',\n // Ropsten\n 3: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',\n // Rinkeby\n 4: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',\n // Goerli\n 5: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',\n // Holesky\n 17000: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',\n // Sepolia\n 11155111: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',\n};\n\n/**\n * @type EnsEntry\n *\n * ENS entry representation\n * @property chainId - Id of the associated chain\n * @property ensName - The ENS name\n * @property address - Hex address with the ENS name, or null\n */\nexport type EnsEntry = {\n chainId: Hex;\n ensName: string;\n address: string | null;\n};\n\n/**\n * @type EnsControllerState\n *\n * ENS controller state\n * @property ensEntries - Object of ENS entry objects\n */\nexport type EnsControllerState = {\n ensEntries: {\n [chainId: Hex]: {\n [ensName: string]: EnsEntry;\n };\n };\n ensResolutionsByAddress: { [key: string]: string };\n};\n\nexport type EnsControllerMessenger = RestrictedControllerMessenger<\n typeof name,\n never,\n never,\n never,\n never\n>;\n\nconst metadata = {\n ensEntries: { persist: true, anonymous: false },\n ensResolutionsByAddress: { persist: true, anonymous: false },\n};\n\nconst defaultState = {\n ensEntries: {},\n ensResolutionsByAddress: {},\n};\n\nconst ZERO_ADDRESS = '0x0000000000000000000000000000000000000000';\nconst ZERO_X_ERROR_ADDRESS = '0x';\n\n/**\n * Controller that manages a list ENS names and their resolved addresses\n * by chainId. A null address indicates an unresolved ENS name.\n */\nexport class EnsController extends BaseController<\n typeof name,\n EnsControllerState,\n EnsControllerMessenger\n> {\n #ethProvider: Web3Provider | null = null;\n\n /**\n * Creates an EnsController instance.\n *\n * @param options - Constructor options.\n * @param options.registriesByChainId - Map between chain IDs and ENS contract addresses.\n * @param options.messenger - A reference to the messaging system.\n * @param options.state - Initial state to set on this controller.\n * @param options.provider - Provider instance.\n * @param options.onNetworkDidChange - Allows subscribing to network controller networkDidChange events.\n */\n constructor({\n registriesByChainId = DEFAULT_ENS_NETWORK_MAP,\n messenger,\n state = {},\n provider,\n onNetworkDidChange,\n }: {\n registriesByChainId?: Record<number, Hex>;\n messenger: EnsControllerMessenger;\n state?: Partial<EnsControllerState>;\n provider?: ExternalProvider | JsonRpcFetchFunc;\n onNetworkDidChange?: (\n listener: (networkState: Pick<NetworkState, 'providerConfig'>) => void,\n ) => void;\n }) {\n super({\n name,\n metadata,\n messenger,\n state: {\n ...defaultState,\n ensEntries: Object.fromEntries(\n Object.entries(registriesByChainId).map(([chainId, address]) => [\n toHex(chainId),\n {\n '.': {\n address,\n chainId: toHex(chainId),\n ensName: '.',\n },\n },\n ]),\n ),\n ...state,\n },\n });\n\n if (provider && onNetworkDidChange) {\n onNetworkDidChange((networkState) => {\n this.resetState();\n const currentChainId = networkState.providerConfig.chainId;\n if (this.#getChainEnsSupport(currentChainId)) {\n this.#ethProvider = new Web3Provider(provider, {\n chainId: convertHexToDecimal(currentChainId),\n name: CHAIN_ID_TO_ETHERS_NETWORK_NAME_MAP[\n currentChainId as ChainId\n ],\n ensAddress: registriesByChainId[parseInt(currentChainId, 16)],\n });\n } else {\n this.#ethProvider = null;\n }\n });\n }\n }\n\n /**\n * Clears ensResolutionsByAddress state property.\n */\n resetState() {\n this.update((currentState) => {\n currentState.ensResolutionsByAddress = {};\n });\n }\n\n /**\n * Remove all chain Ids and ENS entries from state.\n */\n clear() {\n this.update((state) => {\n state.ensEntries = {};\n });\n }\n\n /**\n * Delete an ENS entry.\n *\n * @param chainId - Parent chain of the ENS entry to delete.\n * @param ensName - Name of the ENS entry to delete.\n * @returns Boolean indicating if the entry was deleted.\n */\n delete(chainId: Hex, ensName: string): boolean {\n const normalizedEnsName = normalizeEnsName(ensName);\n if (\n !normalizedEnsName ||\n !this.state.ensEntries[chainId] ||\n !this.state.ensEntries[chainId][normalizedEnsName]\n ) {\n return false;\n }\n\n this.update((state) => {\n delete state.ensEntries[chainId][normalizedEnsName];\n\n if (Object.keys(state.ensEntries[chainId]).length === 0) {\n delete state.ensEntries[chainId];\n }\n });\n return true;\n }\n\n /**\n * Retrieve a DNS entry.\n *\n * @param chainId - Parent chain of the ENS entry to retrieve.\n * @param ensName - Name of the ENS entry to retrieve.\n * @returns The EnsEntry or null if it does not exist.\n */\n get(chainId: Hex, ensName: string): EnsEntry | null {\n const normalizedEnsName = normalizeEnsName(ensName);\n\n // TODO Explicitly handle the case where `normalizedEnsName` is `null`\n // eslint-disable-next-line no-implicit-coercion\n return !!normalizedEnsName && this.state.ensEntries[chainId]\n ? this.state.ensEntries[chainId][normalizedEnsName] || null\n : null;\n }\n\n /**\n * Add or update an ENS entry by chainId and ensName.\n *\n * A null address indicates that the ENS name does not resolve.\n *\n * @param chainId - Id of the associated chain.\n * @param ensName - The ENS name.\n * @param address - Associated address (or null) to add or update.\n * @returns Boolean indicating if the entry was set.\n */\n set(chainId: Hex, ensName: string, address: string | null): boolean {\n if (\n !Number.isInteger(Number.parseInt(chainId, 10)) ||\n !ensName ||\n typeof ensName !== 'string' ||\n (address && !isValidHexAddress(address))\n ) {\n throw new Error(\n `Invalid ENS entry: { chainId:${chainId}, ensName:${ensName}, address:${address}}`,\n );\n }\n\n const normalizedEnsName = normalizeEnsName(ensName);\n if (!normalizedEnsName) {\n throw new Error(`Invalid ENS name: ${ensName}`);\n }\n\n const normalizedAddress = address ? toChecksumHexAddress(address) : null;\n const subState = this.state.ensEntries[chainId];\n\n if (\n subState?.[normalizedEnsName] &&\n subState[normalizedEnsName].address === normalizedAddress\n ) {\n return false;\n }\n\n this.update((state) => {\n state.ensEntries = {\n ...this.state.ensEntries,\n [chainId]: {\n ...this.state.ensEntries[chainId],\n [normalizedEnsName]: {\n address: normalizedAddress,\n chainId,\n ensName: normalizedEnsName,\n },\n },\n };\n });\n return true;\n }\n\n /**\n * Check if the chain supports ENS.\n *\n * @param chainId - chain id.\n * @returns Boolean indicating if the chain supports ENS.\n */\n #getChainEnsSupport(chainId: Hex) {\n return Boolean(this.state.ensEntries[chainId]);\n }\n\n /**\n * Resolve ens by address.\n *\n * @param nonChecksummedAddress - address\n * @returns ens resolution\n */\n async reverseResolveAddress(nonChecksummedAddress: string) {\n if (!this.#ethProvider) {\n return undefined;\n }\n\n const address = toChecksumHexAddress(nonChecksummedAddress);\n if (this.state.ensResolutionsByAddress[address]) {\n return this.state.ensResolutionsByAddress[address];\n }\n\n let domain: string | null;\n try {\n domain = await this.#ethProvider.lookupAddress(address);\n } catch (error) {\n log(error);\n return undefined;\n }\n\n if (!domain) {\n return undefined;\n }\n\n let registeredAddress: string | null;\n try {\n registeredAddress = await this.#ethProvider.resolveName(domain);\n } catch (error) {\n log(error);\n return undefined;\n }\n\n if (!registeredAddress) {\n return undefined;\n }\n\n if (\n registeredAddress === ZERO_ADDRESS ||\n registeredAddress === ZERO_X_ERROR_ADDRESS\n ) {\n return undefined;\n }\n if (toChecksumHexAddress(registeredAddress) !== address) {\n return undefined;\n }\n\n this.update((state) => {\n state.ensResolutionsByAddress[address] = toASCII(domain as string);\n });\n\n return domain;\n }\n}\n\nexport default EnsController;\n"]}