{"version":3,"file":"types.cjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * The names of built-in Infura networks\n */\nexport const InfuraNetworkType = {\n  mainnet: 'mainnet',\n  goerli: 'goerli',\n  sepolia: 'sepolia',\n  'linea-goerli': 'linea-goerli',\n  'linea-sepolia': 'linea-sepolia',\n  'linea-mainnet': 'linea-mainnet',\n  'base-mainnet': 'base-mainnet',\n  'arbitrum-mainnet': 'arbitrum-mainnet',\n  'bsc-mainnet': 'bsc-mainnet',\n  'optimism-mainnet': 'optimism-mainnet',\n  'polygon-mainnet': 'polygon-mainnet',\n  'sei-mainnet': 'sei-mainnet',\n} as const;\n\nexport type InfuraNetworkType =\n  (typeof InfuraNetworkType)[keyof typeof InfuraNetworkType];\n\n/**\n * Custom network types that are not part of Infura.\n */\nexport const CustomNetworkType = {\n  /**\n   * @deprecated `megaeth-testnet` is migrated to `megaeth-testnet-v2`.\n   */\n  'megaeth-testnet': 'megaeth-testnet',\n  'megaeth-testnet-v2': 'megaeth-testnet-v2',\n  'monad-testnet': 'monad-testnet',\n} as const;\nexport type CustomNetworkType =\n  (typeof CustomNetworkType)[keyof typeof CustomNetworkType];\n\n/**\n * Network types supported including both Infura networks and other networks.\n */\nexport type BuiltInNetworkType = InfuraNetworkType | CustomNetworkType;\n\n/**\n * The \"network type\"; either the name of a built-in network, or \"rpc\" for custom networks.\n */\nexport const NetworkType = {\n  ...InfuraNetworkType,\n  ...CustomNetworkType,\n  rpc: 'rpc',\n} as const;\n\nexport type NetworkType = (typeof NetworkType)[keyof typeof NetworkType];\n\n/**\n * A helper to determine whether a given input is NetworkType.\n *\n * @param val - the value to check whether it is NetworkType or not.\n * @returns boolean indicating whether or not the argument is NetworkType.\n */\nexport function isNetworkType(val: string): val is NetworkType {\n  return Object.values(NetworkType).includes(val as NetworkType);\n}\n\n/**\n * A type guard to determine whether the input is an InfuraNetworkType.\n *\n * @param value - The value to check.\n * @returns True if the given value is within the InfuraNetworkType enum,\n * false otherwise.\n */\nexport function isInfuraNetworkType(\n  value: unknown,\n): value is InfuraNetworkType {\n  const infuraNetworkTypes: unknown[] = Object.keys(InfuraNetworkType);\n  return infuraNetworkTypes.includes(value);\n}\n\n/**\n * Names of networks built into the wallet.\n *\n * This includes both Infura and non-Infura networks.\n */\nexport enum BuiltInNetworkName {\n  Mainnet = 'mainnet',\n  Goerli = 'goerli',\n  Sepolia = 'sepolia',\n  LineaGoerli = 'linea-goerli',\n  LineaSepolia = 'linea-sepolia',\n  LineaMainnet = 'linea-mainnet',\n  Aurora = 'aurora',\n  /**\n   * @deprecated `MegaETHTestnet` is migrated to `MegaETHTestnetV2`.\n   */\n  MegaETHTestnet = 'megaeth-testnet',\n  MegaETHTestnetV2 = 'megaeth-testnet-v2',\n  MonadTestnet = 'monad-testnet',\n  BaseMainnet = 'base-mainnet',\n  ArbitrumOne = 'arbitrum-mainnet',\n  BscMainnet = 'bsc-mainnet',\n  OptimismMainnet = 'optimism-mainnet',\n  PolygonMainnet = 'polygon-mainnet',\n  SeiMainnet = 'sei-mainnet',\n  MegaETHMainnet = 'megaeth-mainnet',\n}\n\n/**\n * Decimal string chain IDs of built-in networks, by name.\n *\n * `toHex` not invoked to avoid cyclic dependency\n */\nexport const ChainId = {\n  [BuiltInNetworkName.Mainnet]: '0x1', // toHex(1)\n  [BuiltInNetworkName.Goerli]: '0x5', // toHex(5)\n  [BuiltInNetworkName.Sepolia]: '0xaa36a7', // toHex(11155111)\n  [BuiltInNetworkName.Aurora]: '0x4e454152', // toHex(1313161554)\n  [BuiltInNetworkName.LineaGoerli]: '0xe704', // toHex(59140)\n  [BuiltInNetworkName.LineaSepolia]: '0xe705', // toHex(59141)\n  [BuiltInNetworkName.LineaMainnet]: '0xe708', // toHex(59144)\n  /**\n   * @deprecated `MegaETHTestnet` is migrated to `MegaETHTestnetV2`.\n   */\n  [BuiltInNetworkName.MegaETHTestnet]: '0x18c6', // toHex(6342)\n  [BuiltInNetworkName.MegaETHTestnetV2]: '0x18c7', // toHex(6343)\n  [BuiltInNetworkName.MonadTestnet]: '0x279f', // toHex(10143)\n  [BuiltInNetworkName.BaseMainnet]: '0x2105', // toHex(8453)\n  [BuiltInNetworkName.ArbitrumOne]: '0xa4b1', // toHex(42161)\n  [BuiltInNetworkName.BscMainnet]: '0x38', // toHex(56)\n  [BuiltInNetworkName.OptimismMainnet]: '0xa', // toHex(10)\n  [BuiltInNetworkName.PolygonMainnet]: '0x89', // toHex(137)\n  [BuiltInNetworkName.SeiMainnet]: '0x531', // toHex(1329)\n  [BuiltInNetworkName.MegaETHMainnet]: '0x10e6', // toHex(4326)\n} as const;\nexport type ChainId = (typeof ChainId)[keyof typeof ChainId];\n\n/* eslint-disable @typescript-eslint/naming-convention */\nexport enum NetworksTicker {\n  mainnet = 'ETH',\n  goerli = 'GoerliETH',\n  sepolia = 'SepoliaETH',\n  'linea-goerli' = 'LineaETH',\n  // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values\n  'linea-sepolia' = 'LineaETH',\n  // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values\n  'linea-mainnet' = 'ETH',\n  /**\n   * @deprecated `megaeth-testnet` is migrated to `megaeth-testnet-v2`.\n   */\n  'megaeth-testnet' = 'MegaETH',\n  // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values\n  'megaeth-testnet-v2' = 'MegaETH',\n  'monad-testnet' = 'MON',\n  // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values\n  'base-mainnet' = 'ETH',\n  // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values\n  'arbitrum-mainnet' = 'ETH',\n  'bsc-mainnet' = 'BNB',\n  // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values\n  'optimism-mainnet' = 'ETH',\n  'polygon-mainnet' = 'POL',\n  'sei-mainnet' = 'SEI',\n  rpc = '',\n}\n/* eslint-enable @typescript-eslint/naming-convention */\n\nexport const BlockExplorerUrl = {\n  [BuiltInNetworkName.Mainnet]: 'https://etherscan.io',\n  [BuiltInNetworkName.Goerli]: 'https://goerli.etherscan.io',\n  [BuiltInNetworkName.Sepolia]: 'https://sepolia.etherscan.io',\n  [BuiltInNetworkName.LineaGoerli]: 'https://goerli.lineascan.build',\n  [BuiltInNetworkName.LineaSepolia]: 'https://sepolia.lineascan.build',\n  [BuiltInNetworkName.LineaMainnet]: 'https://lineascan.build',\n  /**\n   * @deprecated `MegaETHTestnet` is migrated to `MegaETHTestnetV2`.\n   */\n  [BuiltInNetworkName.MegaETHTestnet]: 'https://megaexplorer.xyz',\n  [BuiltInNetworkName.MegaETHTestnetV2]:\n    'https://megaeth-testnet-v2.blockscout.com',\n  [BuiltInNetworkName.MonadTestnet]: 'https://testnet.monadexplorer.com',\n  [BuiltInNetworkName.BaseMainnet]: 'https://basescan.org',\n  [BuiltInNetworkName.ArbitrumOne]: 'https://arbiscan.io',\n  [BuiltInNetworkName.BscMainnet]: 'https://bscscan.com',\n  [BuiltInNetworkName.OptimismMainnet]: 'https://optimistic.etherscan.io',\n  [BuiltInNetworkName.PolygonMainnet]: 'https://polygonscan.com',\n  [BuiltInNetworkName.SeiMainnet]: 'https://seitrace.com',\n} as const satisfies Record<BuiltInNetworkType, string>;\nexport type BlockExplorerUrl =\n  (typeof BlockExplorerUrl)[keyof typeof BlockExplorerUrl];\n\nexport const NetworkNickname = {\n  [BuiltInNetworkName.Mainnet]: 'Ethereum Mainnet',\n  [BuiltInNetworkName.Goerli]: 'Goerli',\n  [BuiltInNetworkName.Sepolia]: 'Sepolia',\n  [BuiltInNetworkName.LineaGoerli]: 'Linea Goerli',\n  [BuiltInNetworkName.LineaSepolia]: 'Linea Sepolia',\n  [BuiltInNetworkName.LineaMainnet]: 'Linea',\n  /**\n   * @deprecated `MegaETHTestnet` is migrated to `MegaETHTestnetV2`.\n   */\n  [BuiltInNetworkName.MegaETHTestnet]: 'Mega Testnet',\n  [BuiltInNetworkName.MegaETHTestnetV2]: 'MegaETH Testnet',\n  [BuiltInNetworkName.MonadTestnet]: 'Monad Testnet',\n  [BuiltInNetworkName.BaseMainnet]: 'Base Mainnet',\n  [BuiltInNetworkName.ArbitrumOne]: 'Arbitrum One',\n  [BuiltInNetworkName.BscMainnet]: 'BSC Mainnet',\n  [BuiltInNetworkName.OptimismMainnet]: 'Optimism Mainnet',\n  [BuiltInNetworkName.PolygonMainnet]: 'Polygon Mainnet',\n  [BuiltInNetworkName.SeiMainnet]: 'Sei Mainnet',\n} as const satisfies Record<BuiltInNetworkType, string>;\nexport type NetworkNickname =\n  (typeof NetworkNickname)[keyof typeof NetworkNickname];\n\n/**\n * Makes a selection of keys in a Record optional.\n *\n * @template Type - The Record that you want to operate on.\n * @template Key - The union of keys you want to make optional.\n */\n// TODO: Move to @metamask/utils\nexport type Partialize<Type, Key extends keyof Type> = Omit<Type, Key> &\n  Partial<Pick<Type, Key>>;\n\n/** A context in which to execute a trace, in order to generate nested timings. */\nexport type TraceContext = unknown;\n\n/** Request to trace an operation. */\nexport type TraceRequest = {\n  /** Additional data to include in the trace. */\n  data?: Record<string, number | string | boolean>;\n\n  /** Name of the operation. */\n  name: string;\n\n  /**\n   * Unique identifier for the trace.\n   * Required if starting a trace and not providing a callback.\n   */\n  id?: string;\n\n  /** Trace context in which to execute the operation. */\n  parentContext?: TraceContext;\n\n  /** Additional tags to include in the trace to filter results. */\n  tags?: Record<string, number | string | boolean>;\n};\n\n/** Callback that traces the performance of an operation. */\nexport type TraceCallback = <ReturnType>(\n  /** Request to trace the performance of an operation. */\n  request: TraceRequest,\n\n  /**\n   * Callback to trace.\n   * Thrown errors will not be caught, but the trace will still be recorded.\n   *\n   * @param context - The context in which the operation is running.\n   */\n  fn?: (context?: TraceContext) => ReturnType,\n) => Promise<ReturnType>;\n"]}