@circle-fin/usdckit - v0.18.0
    Preparing search index...
    • Parameters

      • __namedParameters: { id: any }

      Returns
          | undefined
          | {
              blockchainId: "ARB";
              blockchainVm: "EVM";
              blockExplorers: {
                  default: {
                      apiUrl: "https://api.arbiscan.io/api";
                      name: "Arbiscan";
                      url: "https://arbiscan.io";
                  };
              };
              blockTime?: number;
              contracts: {
                  messageTransmitter: {
                      address: "0xC30362313FBBA5cf9163F0bb16a0e01f01A896ca";
                  };
                  multicall3: {
                      address: "0xca11bde05977b3631167028862be2a173976ca11";
                      blockCreated: 7654707;
                  };
                  tokenMessenger: { address: "0x19330d10D9Cc8751218eaf51E8885D058642E08A" };
                  USDC: {
                      abi: readonly [
                          {
                              inputs: readonly [
                                  { indexed: true; name: "owner"; type: "address" },
                                  { indexed: true; name: "spender"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Approval";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { indexed: true; name: "from"; type: "address" },
                                  { indexed: true; name: "to"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Transfer";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { name: "owner"; type: "address" },
                                  { name: "spender"; type: "address" },
                              ];
                              name: "allowance";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "spender"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "approve";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [{ name: "account"; type: "address" }];
                              name: "balanceOf";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "decimals";
                              outputs: readonly [{ type: "uint8" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "name";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "symbol";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "totalSupply";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transfer";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "sender"; type: "address" },
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transferFrom";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                      ];
                      address: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831";
                      read: { decimals: () => 6 };
                  };
              };
              custom?: Record<string, unknown>;
              domainId: 3;
              ensTlds?: readonly string[];
              fees?: ChainFees<undefined>;
              formatters?: undefined;
              id: 42161;
              name: "Arbitrum One";
              nativeCurrency: { decimals: 18; name: "Ether"; symbol: "ETH" };
              rpcUrls: { default: { http: readonly ["https://arb1.arbitrum.io/rpc"] } };
              serializers?: ChainSerializers<
                  undefined,
                  TransactionSerializable<bigint, number>,
              >;
              sourceId?: number;
              testnet?: boolean;
          }
          | {
              blockchainId: "ARB-SEPOLIA";
              blockchainVm: "EVM";
              blockExplorers: {
                  default: {
                      apiUrl: "https://api-sepolia.arbiscan.io/api";
                      name: "Arbiscan";
                      url: "https://sepolia.arbiscan.io";
                  };
              };
              blockTime?: number;
              contracts: {
                  messageTransmitter: {
                      address: "0xaCF1ceeF35caAc005e15888dDb8A3515C41B4872";
                  };
                  multicall3: {
                      address: "0xca11bde05977b3631167028862be2a173976ca11";
                      blockCreated: 81930;
                  };
                  tokenMessenger: { address: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5" };
                  USDC: {
                      abi: readonly [
                          {
                              inputs: readonly [
                                  { indexed: true; name: "owner"; type: "address" },
                                  { indexed: true; name: "spender"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Approval";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { indexed: true; name: "from"; type: "address" },
                                  { indexed: true; name: "to"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Transfer";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { name: "owner"; type: "address" },
                                  { name: "spender"; type: "address" },
                              ];
                              name: "allowance";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "spender"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "approve";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [{ name: "account"; type: "address" }];
                              name: "balanceOf";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "decimals";
                              outputs: readonly [{ type: "uint8" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "name";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "symbol";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "totalSupply";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transfer";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "sender"; type: "address" },
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transferFrom";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                      ];
                      address: "0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d";
                      read: { decimals: () => 6 };
                  };
              };
              custom?: Record<string, unknown>;
              domainId: 3;
              ensTlds?: readonly string[];
              fees?: ChainFees<undefined>;
              formatters?: undefined;
              id: 421614;
              name: "Arbitrum Sepolia";
              nativeCurrency: {
                  decimals: 18;
                  name: "Arbitrum Sepolia Ether";
                  symbol: "ETH";
              };
              rpcUrls: {
                  default: { http: readonly ["https://sepolia-rollup.arbitrum.io/rpc"] };
              };
              serializers?: ChainSerializers<
                  undefined,
                  TransactionSerializable<bigint, number>,
              >;
              sourceId?: number;
              testnet: true;
          }
          | {
              blockchainId: "AVAX";
              blockchainVm: "EVM";
              blockExplorers: {
                  default: {
                      apiUrl: "https://api.snowtrace.io";
                      name: "SnowTrace";
                      url: "https://snowtrace.io";
                  };
              };
              blockTime?: number;
              contracts: {
                  EURC: {
                      abi: readonly [
                          {
                              inputs: readonly [
                                  { indexed: true; name: "owner"; type: "address" },
                                  { indexed: true; name: "spender"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Approval";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { indexed: true; name: "from"; type: "address" },
                                  { indexed: true; name: "to"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Transfer";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { name: "owner"; type: "address" },
                                  { name: "spender"; type: "address" },
                              ];
                              name: "allowance";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "spender"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "approve";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [{ name: "account"; type: "address" }];
                              name: "balanceOf";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "decimals";
                              outputs: readonly [{ type: "uint8" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "name";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "symbol";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "totalSupply";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transfer";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "sender"; type: "address" },
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transferFrom";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                      ];
                      address: "0xc891eb4cbdeff6e073e859e987815ed1505c2acd";
                      read: { decimals: () => 6 };
                  };
                  messageTransmitter: {
                      address: "0x8186359af5f57fbb40c6b14a588d2a59c0c29880";
                  };
                  multicall3: {
                      address: "0xca11bde05977b3631167028862be2a173976ca11";
                      blockCreated: 11907934;
                  };
                  tokenMessenger: { address: "0x6b25532e1060ce10cc3b0a99e5683b91bfde6982" };
                  USDC: {
                      abi: readonly [
                          {
                              inputs: readonly [
                                  { indexed: true; name: "owner"; type: "address" },
                                  { indexed: true; name: "spender"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Approval";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { indexed: true; name: "from"; type: "address" },
                                  { indexed: true; name: "to"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Transfer";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { name: "owner"; type: "address" },
                                  { name: "spender"; type: "address" },
                              ];
                              name: "allowance";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "spender"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "approve";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [{ name: "account"; type: "address" }];
                              name: "balanceOf";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "decimals";
                              outputs: readonly [{ type: "uint8" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "name";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "symbol";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "totalSupply";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transfer";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "sender"; type: "address" },
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transferFrom";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                      ];
                      address: "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E";
                      read: { decimals: () => 6 };
                  };
              };
              custom?: Record<string, unknown>;
              domainId: 1;
              ensTlds?: readonly string[];
              fees?: ChainFees<undefined>;
              formatters?: undefined;
              id: 43114;
              name: "Avalanche";
              nativeCurrency: { decimals: 18; name: "Avalanche"; symbol: "AVAX" };
              rpcUrls: {
                  default: { http: readonly ["https://api.avax.network/ext/bc/C/rpc"] };
              };
              serializers?: ChainSerializers<
                  undefined,
                  TransactionSerializable<bigint, number>,
              >;
              sourceId?: number;
              testnet?: boolean;
          }
          | {
              blockchainId: "AVAX-FUJI";
              blockchainVm: "EVM";
              blockExplorers: {
                  default: {
                      apiUrl: "https://api-testnet.snowtrace.io";
                      name: "SnowTrace";
                      url: "https://testnet.snowtrace.io";
                  };
              };
              blockTime?: number;
              contracts: {
                  EURC: {
                      abi: readonly [
                          {
                              inputs: readonly [
                                  { indexed: true; name: "owner"; type: "address" },
                                  { indexed: true; name: "spender"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Approval";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { indexed: true; name: "from"; type: "address" },
                                  { indexed: true; name: "to"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Transfer";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { name: "owner"; type: "address" },
                                  { name: "spender"; type: "address" },
                              ];
                              name: "allowance";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "spender"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "approve";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [{ name: "account"; type: "address" }];
                              name: "balanceOf";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "decimals";
                              outputs: readonly [{ type: "uint8" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "name";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "symbol";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "totalSupply";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transfer";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "sender"; type: "address" },
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transferFrom";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                      ];
                      address: "0x5e44db7996c682e92a960b65ac713a54ad815c6b";
                      read: { decimals: () => 6 };
                  };
                  messageTransmitter: {
                      address: "0xa9fb1b3009dcb79e2fe346c16a604b8fa8ae0a79";
                  };
                  multicall3: {
                      address: "0xca11bde05977b3631167028862be2a173976ca11";
                      blockCreated: 7096959;
                  };
                  tokenMessenger: { address: "0xeb08f243e5d3fcff26a9e38ae5520a669f4019d0" };
                  USDC: {
                      abi: readonly [
                          {
                              inputs: readonly [
                                  { indexed: true; name: "owner"; type: "address" },
                                  { indexed: true; name: "spender"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Approval";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { indexed: true; name: "from"; type: "address" },
                                  { indexed: true; name: "to"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Transfer";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { name: "owner"; type: "address" },
                                  { name: "spender"; type: "address" },
                              ];
                              name: "allowance";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "spender"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "approve";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [{ name: "account"; type: "address" }];
                              name: "balanceOf";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "decimals";
                              outputs: readonly [{ type: "uint8" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "name";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "symbol";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "totalSupply";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transfer";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "sender"; type: "address" },
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transferFrom";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                      ];
                      address: "0x5425890298aed601595a70ab815c96711a31bc65";
                      read: { decimals: () => 6 };
                  };
              };
              custom?: Record<string, unknown>;
              domainId: 1;
              ensTlds?: readonly string[];
              fees?: ChainFees<undefined>;
              formatters?: undefined;
              id: 43113;
              name: "Avalanche Fuji";
              nativeCurrency: { decimals: 18; name: "Avalanche Fuji"; symbol: "AVAX" };
              rpcUrls: {
                  default: {
                      http: readonly ["https://api.avax-test.network/ext/bc/C/rpc"];
                  };
              };
              serializers?: ChainSerializers<
                  undefined,
                  TransactionSerializable<bigint, number>,
              >;
              sourceId?: number;
              testnet: true;
          }
          | {
              blockchainId: "BASE";
              blockchainVm: "EVM";
              blockExplorers: {
                  default: {
                      apiUrl: "https://api.basescan.org/api";
                      name: "Basescan";
                      url: "https://basescan.org";
                  };
              };
              blockTime: 2000;
              contracts: {
                  disputeGameFactory: {
                      "1": { address: "0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e" };
                  };
                  EURC: {
                      abi: readonly [
                          {
                              inputs: readonly [
                                  { indexed: true; name: "owner"; type: "address" },
                                  { indexed: true; name: "spender"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Approval";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { indexed: true; name: "from"; type: "address" },
                                  { indexed: true; name: "to"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Transfer";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { name: "owner"; type: "address" },
                                  { name: "spender"; type: "address" },
                              ];
                              name: "allowance";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "spender"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "approve";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [{ name: "account"; type: "address" }];
                              name: "balanceOf";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "decimals";
                              outputs: readonly [{ type: "uint8" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "name";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "symbol";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "totalSupply";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transfer";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "sender"; type: "address" },
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transferFrom";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                      ];
                      address: "0x60a3e35cc302bfa44cb288bc5a4f316fdb1adb42";
                      read: { decimals: () => 6 };
                  };
                  gasPriceOracle: { address: "0x420000000000000000000000000000000000000F" };
                  l1Block: { address: "0x4200000000000000000000000000000000000015" };
                  l1StandardBridge: {
                      "1": {
                          address: "0x3154Cf16ccdb4C6d922629664174b904d80F2C35";
                          blockCreated: 17482143;
                      };
                  };
                  l2CrossDomainMessenger: {
                      address: "0x4200000000000000000000000000000000000007";
                  };
                  l2Erc721Bridge: { address: "0x4200000000000000000000000000000000000014" };
                  l2OutputOracle: {
                      "1": { address: "0x56315b90c40730925ec5485cf004d835058518A0" };
                  };
                  l2StandardBridge: {
                      address: "0x4200000000000000000000000000000000000010";
                  };
                  l2ToL1MessagePasser: {
                      address: "0x4200000000000000000000000000000000000016";
                  };
                  messageTransmitter: {
                      address: "0xAD09780d193884d503182aD4588450C416D6F9D4";
                  };
                  multicall3: {
                      address: "0xca11bde05977b3631167028862be2a173976ca11";
                      blockCreated: 5022;
                  };
                  portal: {
                      "1": {
                          address: "0x49048044D57e1C92A77f79988d21Fa8fAF74E97e";
                          blockCreated: 17482143;
                      };
                  };
                  tokenMessenger: { address: "0x1682Ae6375C4E4A97e4B583BC394c861A46D8962" };
                  USDC: {
                      abi: readonly [
                          {
                              inputs: readonly [
                                  { indexed: true; name: "owner"; type: "address" },
                                  { indexed: true; name: "spender"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Approval";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { indexed: true; name: "from"; type: "address" },
                                  { indexed: true; name: "to"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Transfer";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { name: "owner"; type: "address" },
                                  { name: "spender"; type: "address" },
                              ];
                              name: "allowance";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "spender"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "approve";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [{ name: "account"; type: "address" }];
                              name: "balanceOf";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "decimals";
                              outputs: readonly [{ type: "uint8" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "name";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "symbol";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "totalSupply";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transfer";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "sender"; type: "address" },
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transferFrom";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                      ];
                      address: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913";
                      read: { decimals: () => 6 };
                  };
              };
              custom?: Record<string, unknown>;
              domainId: 6;
              ensTlds?: readonly string[];
              fees?: ChainFees<undefined>;
              formatters: {
                  block: {
                      exclude: undefined | [];
                      format: (
                          args: OpStackRpcBlock<BlockTag, boolean>,
                      ) => {
                          baseFeePerGas: null | bigint;
                          blobGasUsed: bigint;
                          difficulty: bigint;
                          excessBlobGas: bigint;
                          extraData: `0x${string}`;
                          gasLimit: bigint;
                          gasUsed: bigint;
                          hash: null | `0x${string}`;
                          logsBloom: null | `0x${string}`;
                          miner: `0x${string}`;
                          mixHash: `0x${string}`;
                          nonce: null | `0x${string}`;
                          number: null | bigint;
                          parentBeaconBlockRoot?: `0x${string}`;
                          parentHash: `0x${string}`;
                          receiptsRoot: `0x${string}`;
                          sealFields: `0x${string}`[];
                          sha3Uncles: `0x${string}`;
                          size: bigint;
                          stateRoot: `0x${string}`;
                          timestamp: bigint;
                          totalDifficulty: null | bigint;
                          transactions: `0x${string}`[] | OpStackTransaction<boolean>[];
                          transactionsRoot: `0x${string}`;
                          uncles: `0x${string}`[];
                          withdrawals?: Withdrawal[];
                          withdrawalsRoot?: `0x${string}`;
                      };
                      type: "block";
                  };
                  transaction: {
                      exclude: undefined
                      | [];
                      format: (
                          args: OpStackRpcTransaction<boolean>,
                      ) =>
                          | {
                              blockHash: null
                              | `0x${string}`;
                              blockNumber: null | bigint;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice?: undefined;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: boolean;
                              maxFeePerBlobGas?: undefined;
                              maxFeePerGas: bigint;
                              maxPriorityFeePerGas: bigint;
                              mint?: bigint;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash: `0x${string}`;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "deposit";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity: number;
                          }
                          | {
                              accessList?: undefined;
                              authorizationList?: undefined;
                              blobVersionedHashes?: undefined;
                              blockHash: null
                              | `0x${string}`;
                              blockNumber: null | bigint;
                              chainId?: number;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice: bigint;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: undefined;
                              maxFeePerBlobGas?: undefined;
                              maxFeePerGas?: undefined;
                              maxPriorityFeePerGas?: undefined;
                              mint?: undefined;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash?: undefined;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "legacy";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity?: undefined;
                          }
                          | {
                              accessList: AccessList;
                              authorizationList?: undefined;
                              blobVersionedHashes?: undefined;
                              blockHash: null
                              | `0x${string}`;
                              blockNumber: null | bigint;
                              chainId: number;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice: bigint;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: undefined;
                              maxFeePerBlobGas?: undefined;
                              maxFeePerGas?: undefined;
                              maxPriorityFeePerGas?: undefined;
                              mint?: undefined;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash?: undefined;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "eip2930";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity: number;
                          }
                          | {
                              accessList: AccessList;
                              authorizationList?: undefined;
                              blobVersionedHashes?: undefined;
                              blockHash: null
                              | `0x${string}`;
                              blockNumber: null | bigint;
                              chainId: number;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice?: undefined;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: undefined;
                              maxFeePerBlobGas?: undefined;
                              maxFeePerGas: bigint;
                              maxPriorityFeePerGas: bigint;
                              mint?: undefined;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash?: undefined;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "eip1559";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity: number;
                          }
                          | {
                              accessList: AccessList;
                              authorizationList?: undefined;
                              blobVersionedHashes: readonly `0x${string}`[];
                              blockHash: null
                              | `0x${string}`;
                              blockNumber: null | bigint;
                              chainId: number;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice?: undefined;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: undefined;
                              maxFeePerBlobGas: bigint;
                              maxFeePerGas: bigint;
                              maxPriorityFeePerGas: bigint;
                              mint?: undefined;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash?: undefined;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "eip4844";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity: number;
                          }
                          | {
                              accessList: AccessList;
                              authorizationList: SignedAuthorizationList<number>;
                              blobVersionedHashes?: undefined;
                              blockHash: null | `0x${string}`;
                              blockNumber: null | bigint;
                              chainId: number;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice?: undefined;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: undefined;
                              maxFeePerBlobGas?: undefined;
                              maxFeePerGas: bigint;
                              maxPriorityFeePerGas: bigint;
                              mint?: undefined;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash?: undefined;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "eip7702";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity: number;
                          };
                      type: "transaction";
                  };
                  transactionReceipt: {
                      exclude: undefined
                      | [];
                      format: (
                          args: OpStackRpcTransactionReceipt,
                      ) => {
                          blobGasPrice?: bigint;
                          blobGasUsed?: bigint;
                          blockHash: `0x${string}`;
                          blockNumber: bigint;
                          contractAddress: undefined | null | `0x${string}`;
                          cumulativeGasUsed: bigint;
                          effectiveGasPrice: bigint;
                          from: `0x${string}`;
                          gasUsed: bigint;
                          l1Fee: null | bigint;
                          l1FeeScalar: null | number;
                          l1GasPrice: null | bigint;
                          l1GasUsed: null | bigint;
                          logs: Log<
                              bigint,
                              number,
                              false,
                              undefined,
                              undefined,
                              undefined,
                              undefined,
                          >[];
                          logsBloom: `0x${string}`;
                          root?: `0x${string}`;
                          status: "success"
                          | "reverted";
                          to: null | `0x${string}`;
                          transactionHash: `0x${string}`;
                          transactionIndex: number;
                          type: TransactionType;
                      };
                      type: "transactionReceipt";
                  };
              };
              id: 8453;
              name: "Base";
              nativeCurrency: { decimals: 18; name: "Ether"; symbol: "ETH" };
              rpcUrls: { default: { http: readonly ["https://mainnet.base.org"] } };
              serializers: {
                  transaction: (
                      transaction: OpStackTransactionSerializable,
                      signature?: Signature,
                  ) =>
                      | `0x02${string}`
                      | `0x01${string}`
                      | `0x03${string}`
                      | `0x04${string}`
                      | TransactionSerializedLegacy
                      | `0x7e${string}`;
              };
              sourceId: 1;
              testnet?: boolean;
          }
          | {
              blockchainId: "BASE-SEPOLIA";
              blockchainVm: "EVM";
              blockExplorers: {
                  default: {
                      apiUrl: "https://api-sepolia.basescan.org/api";
                      name: "Basescan";
                      url: "https://sepolia.basescan.org";
                  };
              };
              blockTime: 2000;
              contracts: {
                  disputeGameFactory: {
                      "11155111": { address: "0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1" };
                  };
                  EURC: {
                      abi: readonly [
                          {
                              inputs: readonly [
                                  { indexed: true; name: "owner"; type: "address" },
                                  { indexed: true; name: "spender"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Approval";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { indexed: true; name: "from"; type: "address" },
                                  { indexed: true; name: "to"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Transfer";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { name: "owner"; type: "address" },
                                  { name: "spender"; type: "address" },
                              ];
                              name: "allowance";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "spender"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "approve";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [{ name: "account"; type: "address" }];
                              name: "balanceOf";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "decimals";
                              outputs: readonly [{ type: "uint8" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "name";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "symbol";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "totalSupply";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transfer";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "sender"; type: "address" },
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transferFrom";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                      ];
                      address: "0x808456652fdb597867f38412077A9182bf77359F";
                      read: { decimals: () => 6 };
                  };
                  gasPriceOracle: { address: "0x420000000000000000000000000000000000000F" };
                  l1Block: { address: "0x4200000000000000000000000000000000000015" };
                  l1StandardBridge: {
                      "11155111": {
                          address: "0xfd0Bf71F60660E2f608ed56e1659C450eB113120";
                          blockCreated: 4446677;
                      };
                  };
                  l2CrossDomainMessenger: {
                      address: "0x4200000000000000000000000000000000000007";
                  };
                  l2Erc721Bridge: { address: "0x4200000000000000000000000000000000000014" };
                  l2OutputOracle: {
                      "11155111": { address: "0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254" };
                  };
                  l2StandardBridge: {
                      address: "0x4200000000000000000000000000000000000010";
                  };
                  l2ToL1MessagePasser: {
                      address: "0x4200000000000000000000000000000000000016";
                  };
                  messageTransmitter: {
                      address: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD";
                  };
                  multicall3: {
                      address: "0xca11bde05977b3631167028862be2a173976ca11";
                      blockCreated: 1059647;
                  };
                  portal: {
                      "11155111": {
                          address: "0x49f53e41452c74589e85ca1677426ba426459e85";
                          blockCreated: 4446677;
                      };
                  };
                  tokenMessenger: { address: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5" };
                  USDC: {
                      abi: readonly [
                          {
                              inputs: readonly [
                                  { indexed: true; name: "owner"; type: "address" },
                                  { indexed: true; name: "spender"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Approval";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { indexed: true; name: "from"; type: "address" },
                                  { indexed: true; name: "to"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Transfer";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { name: "owner"; type: "address" },
                                  { name: "spender"; type: "address" },
                              ];
                              name: "allowance";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "spender"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "approve";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [{ name: "account"; type: "address" }];
                              name: "balanceOf";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "decimals";
                              outputs: readonly [{ type: "uint8" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "name";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "symbol";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "totalSupply";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transfer";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "sender"; type: "address" },
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transferFrom";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                      ];
                      address: "0x036CbD53842c5426634e7929541eC2318f3dCF7e";
                      read: { decimals: () => 6 };
                  };
              };
              custom?: Record<string, unknown>;
              domainId: 6;
              ensTlds?: readonly string[];
              fees?: ChainFees<undefined>;
              formatters: {
                  block: {
                      exclude: undefined | [];
                      format: (
                          args: OpStackRpcBlock<BlockTag, boolean>,
                      ) => {
                          baseFeePerGas: null | bigint;
                          blobGasUsed: bigint;
                          difficulty: bigint;
                          excessBlobGas: bigint;
                          extraData: `0x${string}`;
                          gasLimit: bigint;
                          gasUsed: bigint;
                          hash: null | `0x${string}`;
                          logsBloom: null | `0x${string}`;
                          miner: `0x${string}`;
                          mixHash: `0x${string}`;
                          nonce: null | `0x${string}`;
                          number: null | bigint;
                          parentBeaconBlockRoot?: `0x${string}`;
                          parentHash: `0x${string}`;
                          receiptsRoot: `0x${string}`;
                          sealFields: `0x${string}`[];
                          sha3Uncles: `0x${string}`;
                          size: bigint;
                          stateRoot: `0x${string}`;
                          timestamp: bigint;
                          totalDifficulty: null | bigint;
                          transactions: `0x${string}`[] | OpStackTransaction<boolean>[];
                          transactionsRoot: `0x${string}`;
                          uncles: `0x${string}`[];
                          withdrawals?: Withdrawal[];
                          withdrawalsRoot?: `0x${string}`;
                      };
                      type: "block";
                  };
                  transaction: {
                      exclude: undefined
                      | [];
                      format: (
                          args: OpStackRpcTransaction<boolean>,
                      ) =>
                          | {
                              blockHash: null
                              | `0x${string}`;
                              blockNumber: null | bigint;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice?: undefined;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: boolean;
                              maxFeePerBlobGas?: undefined;
                              maxFeePerGas: bigint;
                              maxPriorityFeePerGas: bigint;
                              mint?: bigint;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash: `0x${string}`;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "deposit";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity: number;
                          }
                          | {
                              accessList?: undefined;
                              authorizationList?: undefined;
                              blobVersionedHashes?: undefined;
                              blockHash: null
                              | `0x${string}`;
                              blockNumber: null | bigint;
                              chainId?: number;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice: bigint;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: undefined;
                              maxFeePerBlobGas?: undefined;
                              maxFeePerGas?: undefined;
                              maxPriorityFeePerGas?: undefined;
                              mint?: undefined;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash?: undefined;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "legacy";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity?: undefined;
                          }
                          | {
                              accessList: AccessList;
                              authorizationList?: undefined;
                              blobVersionedHashes?: undefined;
                              blockHash: null
                              | `0x${string}`;
                              blockNumber: null | bigint;
                              chainId: number;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice: bigint;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: undefined;
                              maxFeePerBlobGas?: undefined;
                              maxFeePerGas?: undefined;
                              maxPriorityFeePerGas?: undefined;
                              mint?: undefined;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash?: undefined;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "eip2930";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity: number;
                          }
                          | {
                              accessList: AccessList;
                              authorizationList?: undefined;
                              blobVersionedHashes?: undefined;
                              blockHash: null
                              | `0x${string}`;
                              blockNumber: null | bigint;
                              chainId: number;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice?: undefined;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: undefined;
                              maxFeePerBlobGas?: undefined;
                              maxFeePerGas: bigint;
                              maxPriorityFeePerGas: bigint;
                              mint?: undefined;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash?: undefined;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "eip1559";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity: number;
                          }
                          | {
                              accessList: AccessList;
                              authorizationList?: undefined;
                              blobVersionedHashes: readonly `0x${string}`[];
                              blockHash: null
                              | `0x${string}`;
                              blockNumber: null | bigint;
                              chainId: number;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice?: undefined;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: undefined;
                              maxFeePerBlobGas: bigint;
                              maxFeePerGas: bigint;
                              maxPriorityFeePerGas: bigint;
                              mint?: undefined;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash?: undefined;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "eip4844";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity: number;
                          }
                          | {
                              accessList: AccessList;
                              authorizationList: SignedAuthorizationList<number>;
                              blobVersionedHashes?: undefined;
                              blockHash: null | `0x${string}`;
                              blockNumber: null | bigint;
                              chainId: number;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice?: undefined;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: undefined;
                              maxFeePerBlobGas?: undefined;
                              maxFeePerGas: bigint;
                              maxPriorityFeePerGas: bigint;
                              mint?: undefined;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash?: undefined;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "eip7702";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity: number;
                          };
                      type: "transaction";
                  };
                  transactionReceipt: {
                      exclude: undefined
                      | [];
                      format: (
                          args: OpStackRpcTransactionReceipt,
                      ) => {
                          blobGasPrice?: bigint;
                          blobGasUsed?: bigint;
                          blockHash: `0x${string}`;
                          blockNumber: bigint;
                          contractAddress: undefined | null | `0x${string}`;
                          cumulativeGasUsed: bigint;
                          effectiveGasPrice: bigint;
                          from: `0x${string}`;
                          gasUsed: bigint;
                          l1Fee: null | bigint;
                          l1FeeScalar: null | number;
                          l1GasPrice: null | bigint;
                          l1GasUsed: null | bigint;
                          logs: Log<
                              bigint,
                              number,
                              false,
                              undefined,
                              undefined,
                              undefined,
                              undefined,
                          >[];
                          logsBloom: `0x${string}`;
                          root?: `0x${string}`;
                          status: "success"
                          | "reverted";
                          to: null | `0x${string}`;
                          transactionHash: `0x${string}`;
                          transactionIndex: number;
                          type: TransactionType;
                      };
                      type: "transactionReceipt";
                  };
              };
              id: 84532;
              name: "Base Sepolia";
              nativeCurrency: { decimals: 18; name: "Sepolia Ether"; symbol: "ETH" };
              network: "base-sepolia";
              rpcUrls: { default: { http: readonly ["https://sepolia.base.org"] } };
              serializers: {
                  transaction: (
                      transaction: OpStackTransactionSerializable,
                      signature?: Signature,
                  ) =>
                      | `0x02${string}`
                      | `0x01${string}`
                      | `0x03${string}`
                      | `0x04${string}`
                      | TransactionSerializedLegacy
                      | `0x7e${string}`;
              };
              sourceId: 11155111;
              testnet: true;
          }
          | {
              blockchainId: "ETH";
              blockchainVm: "EVM";
              blockExplorers: {
                  default: {
                      apiUrl: "https://api.etherscan.io/api";
                      name: "Etherscan";
                      url: "https://etherscan.io";
                  };
              };
              blockTime?: number;
              contracts: {
                  ensRegistry: { address: "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e" };
                  ensUniversalResolver: {
                      address: "0xce01f8eee7E479C928F8919abD53E553a36CeF67";
                      blockCreated: 19258213;
                  };
                  EURC: {
                      abi: readonly [
                          {
                              inputs: readonly [
                                  { indexed: true; name: "owner"; type: "address" },
                                  { indexed: true; name: "spender"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Approval";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { indexed: true; name: "from"; type: "address" },
                                  { indexed: true; name: "to"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Transfer";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { name: "owner"; type: "address" },
                                  { name: "spender"; type: "address" },
                              ];
                              name: "allowance";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "spender"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "approve";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [{ name: "account"; type: "address" }];
                              name: "balanceOf";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "decimals";
                              outputs: readonly [{ type: "uint8" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "name";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "symbol";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "totalSupply";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transfer";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "sender"; type: "address" },
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transferFrom";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                      ];
                      address: "0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c";
                      read: { decimals: () => 6 };
                  };
                  messageTransmitter: {
                      address: "0x0a992d191deec32afe36203ad87d7d289a738f81";
                  };
                  multicall3: {
                      address: "0xca11bde05977b3631167028862be2a173976ca11";
                      blockCreated: 14353601;
                  };
                  tokenMessenger: { address: "0xbd3fa81b58ba92a82136038b25adec7066af3155" };
                  USDC: {
                      abi: readonly [
                          {
                              inputs: readonly [
                                  { indexed: true; name: "owner"; type: "address" },
                                  { indexed: true; name: "spender"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Approval";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { indexed: true; name: "from"; type: "address" },
                                  { indexed: true; name: "to"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Transfer";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { name: "owner"; type: "address" },
                                  { name: "spender"; type: "address" },
                              ];
                              name: "allowance";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "spender"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "approve";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [{ name: "account"; type: "address" }];
                              name: "balanceOf";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "decimals";
                              outputs: readonly [{ type: "uint8" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "name";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "symbol";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "totalSupply";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transfer";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "sender"; type: "address" },
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transferFrom";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                      ];
                      address: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48";
                      read: { decimals: () => 6 };
                  };
              };
              custom?: Record<string, unknown>;
              domainId: 0;
              ensTlds?: readonly string[];
              fees?: ChainFees<undefined>;
              formatters?: undefined;
              id: 1;
              name: "Ethereum";
              nativeCurrency: { decimals: 18; name: "Ether"; symbol: "ETH" };
              rpcUrls: { default: { http: readonly ["https://eth.merkle.io"] } };
              serializers?: ChainSerializers<
                  undefined,
                  TransactionSerializable<bigint, number>,
              >;
              sourceId?: number;
              testnet?: boolean;
          }
          | {
              blockchainId: "ETH-SEPOLIA";
              blockchainVm: "EVM";
              blockExplorers: {
                  default: {
                      apiUrl: "https://api-sepolia.etherscan.io/api";
                      name: "Etherscan";
                      url: "https://sepolia.etherscan.io";
                  };
              };
              blockTime?: number;
              contracts: {
                  ensRegistry: { address: "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e" };
                  ensUniversalResolver: {
                      address: "0xc8Af999e38273D658BE1b921b88A9Ddf005769cC";
                      blockCreated: 5317080;
                  };
                  EURC: {
                      abi: readonly [
                          {
                              inputs: readonly [
                                  { indexed: true; name: "owner"; type: "address" },
                                  { indexed: true; name: "spender"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Approval";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { indexed: true; name: "from"; type: "address" },
                                  { indexed: true; name: "to"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Transfer";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { name: "owner"; type: "address" },
                                  { name: "spender"; type: "address" },
                              ];
                              name: "allowance";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "spender"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "approve";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [{ name: "account"; type: "address" }];
                              name: "balanceOf";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "decimals";
                              outputs: readonly [{ type: "uint8" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "name";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "symbol";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "totalSupply";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transfer";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "sender"; type: "address" },
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transferFrom";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                      ];
                      address: "0x08210F9170F89Ab7658F0B5E3fF39b0E03C594D4";
                      read: { decimals: () => 6 };
                  };
                  messageTransmitter: {
                      address: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD";
                  };
                  multicall3: {
                      address: "0xca11bde05977b3631167028862be2a173976ca11";
                      blockCreated: 751532;
                  };
                  tokenMessenger: { address: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5" };
                  USDC: {
                      abi: readonly [
                          {
                              inputs: readonly [
                                  { indexed: true; name: "owner"; type: "address" },
                                  { indexed: true; name: "spender"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Approval";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { indexed: true; name: "from"; type: "address" },
                                  { indexed: true; name: "to"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Transfer";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { name: "owner"; type: "address" },
                                  { name: "spender"; type: "address" },
                              ];
                              name: "allowance";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "spender"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "approve";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [{ name: "account"; type: "address" }];
                              name: "balanceOf";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "decimals";
                              outputs: readonly [{ type: "uint8" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "name";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "symbol";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "totalSupply";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transfer";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "sender"; type: "address" },
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transferFrom";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                      ];
                      address: "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238";
                      read: { decimals: () => 6 };
                  };
              };
              custom?: Record<string, unknown>;
              domainId: 0;
              ensTlds?: readonly string[];
              fees?: ChainFees<undefined>;
              formatters?: undefined;
              id: 11155111;
              name: "Sepolia";
              nativeCurrency: { decimals: 18; name: "Sepolia Ether"; symbol: "ETH" };
              rpcUrls: { default: { http: readonly ["https://sepolia.drpc.org"] } };
              serializers?: ChainSerializers<
                  undefined,
                  TransactionSerializable<bigint, number>,
              >;
              sourceId?: number;
              testnet: true;
          }
          | {
              blockchainId: "MATIC";
              blockchainVm: "EVM";
              blockExplorers: {
                  default: {
                      apiUrl: "https://api.polygonscan.com/api";
                      name: "PolygonScan";
                      url: "https://polygonscan.com";
                  };
              };
              blockTime?: number;
              contracts: {
                  messageTransmitter: {
                      address: "0xF3be9355363857F3e001be68856A2f96b4C39Ba9";
                  };
                  multicall3: {
                      address: "0xca11bde05977b3631167028862be2a173976ca11";
                      blockCreated: 25770160;
                  };
                  tokenMessenger: { address: "0x9daF8c91AEFAE50b9c0E69629D3F6Ca40cA3B3FE" };
                  USDC: {
                      abi: readonly [
                          {
                              inputs: readonly [
                                  { indexed: true; name: "owner"; type: "address" },
                                  { indexed: true; name: "spender"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Approval";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { indexed: true; name: "from"; type: "address" },
                                  { indexed: true; name: "to"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Transfer";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { name: "owner"; type: "address" },
                                  { name: "spender"; type: "address" },
                              ];
                              name: "allowance";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "spender"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "approve";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [{ name: "account"; type: "address" }];
                              name: "balanceOf";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "decimals";
                              outputs: readonly [{ type: "uint8" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "name";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "symbol";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "totalSupply";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transfer";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "sender"; type: "address" },
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transferFrom";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                      ];
                      address: "0x3c499c542cef5e3811e1192ce70d8cc03d5c3359";
                      read: { decimals: () => 6 };
                  };
              };
              custom?: Record<string, unknown>;
              domainId: 7;
              ensTlds?: readonly string[];
              fees?: ChainFees<undefined>;
              formatters?: undefined;
              id: 137;
              name: "Polygon";
              nativeCurrency: { decimals: 18; name: "POL"; symbol: "POL" };
              rpcUrls: { default: { http: readonly ["https://polygon-rpc.com"] } };
              serializers?: ChainSerializers<
                  undefined,
                  TransactionSerializable<bigint, number>,
              >;
              sourceId?: number;
              testnet?: boolean;
          }
          | {
              blockchainId: "MATIC-AMOY";
              blockchainVm: "EVM";
              blockExplorers: {
                  default: {
                      apiUrl: "https://api-amoy.polygonscan.com/api";
                      name: "PolygonScan";
                      url: "https://amoy.polygonscan.com";
                  };
              };
              blockTime?: number;
              contracts: {
                  messageTransmitter: {
                      address: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD";
                  };
                  multicall3: {
                      address: "0xca11bde05977b3631167028862be2a173976ca11";
                      blockCreated: 3127388;
                  };
                  tokenMessenger: { address: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5" };
                  USDC: {
                      abi: readonly [
                          {
                              inputs: readonly [
                                  { indexed: true; name: "owner"; type: "address" },
                                  { indexed: true; name: "spender"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Approval";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { indexed: true; name: "from"; type: "address" },
                                  { indexed: true; name: "to"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Transfer";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { name: "owner"; type: "address" },
                                  { name: "spender"; type: "address" },
                              ];
                              name: "allowance";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "spender"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "approve";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [{ name: "account"; type: "address" }];
                              name: "balanceOf";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "decimals";
                              outputs: readonly [{ type: "uint8" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "name";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "symbol";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "totalSupply";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transfer";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "sender"; type: "address" },
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transferFrom";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                      ];
                      address: "0x41e94eb019c0762f9bfcf9fb1e58725bfb0e7582";
                      read: { decimals: () => 6 };
                  };
              };
              custom?: Record<string, unknown>;
              domainId: 7;
              ensTlds?: readonly string[];
              fees?: ChainFees<undefined>;
              formatters?: undefined;
              id: 80002;
              name: "Polygon Amoy";
              nativeCurrency: { decimals: 18; name: "POL"; symbol: "POL" };
              rpcUrls: {
                  default: { http: readonly ["https://rpc-amoy.polygon.technology"] };
              };
              serializers?: ChainSerializers<
                  undefined,
                  TransactionSerializable<bigint, number>,
              >;
              sourceId?: number;
              testnet: true;
          }
          | {
              blockchainId: "OP";
              blockchainVm: "EVM";
              blockExplorers: {
                  default: {
                      apiUrl: "https://api-optimistic.etherscan.io/api";
                      name: "Optimism Explorer";
                      url: "https://optimistic.etherscan.io";
                  };
              };
              blockTime: 2000;
              contracts: {
                  disputeGameFactory: {
                      "1": { address: "0xe5965Ab5962eDc7477C8520243A95517CD252fA9" };
                  };
                  gasPriceOracle: { address: "0x420000000000000000000000000000000000000F" };
                  l1Block: { address: "0x4200000000000000000000000000000000000015" };
                  l1StandardBridge: {
                      "1": { address: "0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1" };
                  };
                  l2CrossDomainMessenger: {
                      address: "0x4200000000000000000000000000000000000007";
                  };
                  l2Erc721Bridge: { address: "0x4200000000000000000000000000000000000014" };
                  l2OutputOracle: {
                      "1": { address: "0xdfe97868233d1aa22e815a266982f2cf17685a27" };
                  };
                  l2StandardBridge: {
                      address: "0x4200000000000000000000000000000000000010";
                  };
                  l2ToL1MessagePasser: {
                      address: "0x4200000000000000000000000000000000000016";
                  };
                  messageTransmitter: {
                      address: "0x4d41f22c5a0e5c74090899e5a8fb597a8842b3e8";
                  };
                  multicall3: {
                      address: "0xca11bde05977b3631167028862be2a173976ca11";
                      blockCreated: 4286263;
                  };
                  portal: {
                      "1": { address: "0xbEb5Fc579115071764c7423A4f12eDde41f106Ed" };
                  };
                  tokenMessenger: { address: "0x2B4069517957735bE00ceE0fadAE88a26365528f" };
                  USDC: {
                      abi: readonly [
                          {
                              inputs: readonly [
                                  { indexed: true; name: "owner"; type: "address" },
                                  { indexed: true; name: "spender"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Approval";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { indexed: true; name: "from"; type: "address" },
                                  { indexed: true; name: "to"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Transfer";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { name: "owner"; type: "address" },
                                  { name: "spender"; type: "address" },
                              ];
                              name: "allowance";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "spender"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "approve";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [{ name: "account"; type: "address" }];
                              name: "balanceOf";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "decimals";
                              outputs: readonly [{ type: "uint8" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "name";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "symbol";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "totalSupply";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transfer";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "sender"; type: "address" },
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transferFrom";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                      ];
                      address: "0x0b2c639c533813f4aa9d7837caf62653d097ff85";
                      read: { decimals: () => 6 };
                  };
              };
              custom?: Record<string, unknown>;
              domainId: 2;
              ensTlds?: readonly string[];
              fees?: ChainFees<undefined>;
              formatters: {
                  block: {
                      exclude: undefined | [];
                      format: (
                          args: OpStackRpcBlock<BlockTag, boolean>,
                      ) => {
                          baseFeePerGas: null | bigint;
                          blobGasUsed: bigint;
                          difficulty: bigint;
                          excessBlobGas: bigint;
                          extraData: `0x${string}`;
                          gasLimit: bigint;
                          gasUsed: bigint;
                          hash: null | `0x${string}`;
                          logsBloom: null | `0x${string}`;
                          miner: `0x${string}`;
                          mixHash: `0x${string}`;
                          nonce: null | `0x${string}`;
                          number: null | bigint;
                          parentBeaconBlockRoot?: `0x${string}`;
                          parentHash: `0x${string}`;
                          receiptsRoot: `0x${string}`;
                          sealFields: `0x${string}`[];
                          sha3Uncles: `0x${string}`;
                          size: bigint;
                          stateRoot: `0x${string}`;
                          timestamp: bigint;
                          totalDifficulty: null | bigint;
                          transactions: `0x${string}`[] | OpStackTransaction<boolean>[];
                          transactionsRoot: `0x${string}`;
                          uncles: `0x${string}`[];
                          withdrawals?: Withdrawal[];
                          withdrawalsRoot?: `0x${string}`;
                      };
                      type: "block";
                  };
                  transaction: {
                      exclude: undefined
                      | [];
                      format: (
                          args: OpStackRpcTransaction<boolean>,
                      ) =>
                          | {
                              blockHash: null
                              | `0x${string}`;
                              blockNumber: null | bigint;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice?: undefined;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: boolean;
                              maxFeePerBlobGas?: undefined;
                              maxFeePerGas: bigint;
                              maxPriorityFeePerGas: bigint;
                              mint?: bigint;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash: `0x${string}`;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "deposit";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity: number;
                          }
                          | {
                              accessList?: undefined;
                              authorizationList?: undefined;
                              blobVersionedHashes?: undefined;
                              blockHash: null
                              | `0x${string}`;
                              blockNumber: null | bigint;
                              chainId?: number;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice: bigint;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: undefined;
                              maxFeePerBlobGas?: undefined;
                              maxFeePerGas?: undefined;
                              maxPriorityFeePerGas?: undefined;
                              mint?: undefined;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash?: undefined;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "legacy";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity?: undefined;
                          }
                          | {
                              accessList: AccessList;
                              authorizationList?: undefined;
                              blobVersionedHashes?: undefined;
                              blockHash: null
                              | `0x${string}`;
                              blockNumber: null | bigint;
                              chainId: number;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice: bigint;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: undefined;
                              maxFeePerBlobGas?: undefined;
                              maxFeePerGas?: undefined;
                              maxPriorityFeePerGas?: undefined;
                              mint?: undefined;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash?: undefined;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "eip2930";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity: number;
                          }
                          | {
                              accessList: AccessList;
                              authorizationList?: undefined;
                              blobVersionedHashes?: undefined;
                              blockHash: null
                              | `0x${string}`;
                              blockNumber: null | bigint;
                              chainId: number;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice?: undefined;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: undefined;
                              maxFeePerBlobGas?: undefined;
                              maxFeePerGas: bigint;
                              maxPriorityFeePerGas: bigint;
                              mint?: undefined;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash?: undefined;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "eip1559";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity: number;
                          }
                          | {
                              accessList: AccessList;
                              authorizationList?: undefined;
                              blobVersionedHashes: readonly `0x${string}`[];
                              blockHash: null
                              | `0x${string}`;
                              blockNumber: null | bigint;
                              chainId: number;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice?: undefined;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: undefined;
                              maxFeePerBlobGas: bigint;
                              maxFeePerGas: bigint;
                              maxPriorityFeePerGas: bigint;
                              mint?: undefined;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash?: undefined;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "eip4844";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity: number;
                          }
                          | {
                              accessList: AccessList;
                              authorizationList: SignedAuthorizationList<number>;
                              blobVersionedHashes?: undefined;
                              blockHash: null | `0x${string}`;
                              blockNumber: null | bigint;
                              chainId: number;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice?: undefined;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: undefined;
                              maxFeePerBlobGas?: undefined;
                              maxFeePerGas: bigint;
                              maxPriorityFeePerGas: bigint;
                              mint?: undefined;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash?: undefined;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "eip7702";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity: number;
                          };
                      type: "transaction";
                  };
                  transactionReceipt: {
                      exclude: undefined
                      | [];
                      format: (
                          args: OpStackRpcTransactionReceipt,
                      ) => {
                          blobGasPrice?: bigint;
                          blobGasUsed?: bigint;
                          blockHash: `0x${string}`;
                          blockNumber: bigint;
                          contractAddress: undefined | null | `0x${string}`;
                          cumulativeGasUsed: bigint;
                          effectiveGasPrice: bigint;
                          from: `0x${string}`;
                          gasUsed: bigint;
                          l1Fee: null | bigint;
                          l1FeeScalar: null | number;
                          l1GasPrice: null | bigint;
                          l1GasUsed: null | bigint;
                          logs: Log<
                              bigint,
                              number,
                              false,
                              undefined,
                              undefined,
                              undefined,
                              undefined,
                          >[];
                          logsBloom: `0x${string}`;
                          root?: `0x${string}`;
                          status: "success"
                          | "reverted";
                          to: null | `0x${string}`;
                          transactionHash: `0x${string}`;
                          transactionIndex: number;
                          type: TransactionType;
                      };
                      type: "transactionReceipt";
                  };
              };
              id: 10;
              name: "OP Mainnet";
              nativeCurrency: { decimals: 18; name: "Ether"; symbol: "ETH" };
              rpcUrls: { default: { http: readonly ["https://mainnet.optimism.io"] } };
              serializers: {
                  transaction: (
                      transaction: OpStackTransactionSerializable,
                      signature?: Signature,
                  ) =>
                      | `0x02${string}`
                      | `0x01${string}`
                      | `0x03${string}`
                      | `0x04${string}`
                      | TransactionSerializedLegacy
                      | `0x7e${string}`;
              };
              sourceId: 1;
              testnet?: boolean;
          }
          | {
              blockchainId: "OP-SEPOLIA";
              blockchainVm: "EVM";
              blockExplorers: {
                  default: {
                      apiUrl: "https://optimism-sepolia.blockscout.com/api";
                      name: "Blockscout";
                      url: "https://optimism-sepolia.blockscout.com";
                  };
              };
              blockTime: 2000;
              contracts: {
                  disputeGameFactory: {
                      "11155111": { address: "0x05F9613aDB30026FFd634f38e5C4dFd30a197Fa1" };
                  };
                  gasPriceOracle: { address: "0x420000000000000000000000000000000000000F" };
                  l1Block: { address: "0x4200000000000000000000000000000000000015" };
                  l1StandardBridge: {
                      "11155111": { address: "0xFBb0621E0B23b5478B630BD55a5f21f67730B0F1" };
                  };
                  l2CrossDomainMessenger: {
                      address: "0x4200000000000000000000000000000000000007";
                  };
                  l2Erc721Bridge: { address: "0x4200000000000000000000000000000000000014" };
                  l2OutputOracle: {
                      "11155111": { address: "0x90E9c4f8a994a250F6aEfd61CAFb4F2e895D458F" };
                  };
                  l2StandardBridge: {
                      address: "0x4200000000000000000000000000000000000010";
                  };
                  l2ToL1MessagePasser: {
                      address: "0x4200000000000000000000000000000000000016";
                  };
                  messageTransmitter: {
                      address: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD";
                  };
                  multicall3: {
                      address: "0xca11bde05977b3631167028862be2a173976ca11";
                      blockCreated: 1620204;
                  };
                  portal: {
                      "11155111": { address: "0x16Fc5058F25648194471939df75CF27A2fdC48BC" };
                  };
                  tokenMessenger: { address: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5" };
                  USDC: {
                      abi: readonly [
                          {
                              inputs: readonly [
                                  { indexed: true; name: "owner"; type: "address" },
                                  { indexed: true; name: "spender"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Approval";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { indexed: true; name: "from"; type: "address" },
                                  { indexed: true; name: "to"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Transfer";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { name: "owner"; type: "address" },
                                  { name: "spender"; type: "address" },
                              ];
                              name: "allowance";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "spender"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "approve";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [{ name: "account"; type: "address" }];
                              name: "balanceOf";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "decimals";
                              outputs: readonly [{ type: "uint8" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "name";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "symbol";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "totalSupply";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transfer";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "sender"; type: "address" },
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transferFrom";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                      ];
                      address: "0x5fd84259d66Cd46123540766Be93DFE6D43130D7";
                      read: { decimals: () => 6 };
                  };
              };
              custom?: Record<string, unknown>;
              domainId: 2;
              ensTlds?: readonly string[];
              fees?: ChainFees<undefined>;
              formatters: {
                  block: {
                      exclude: undefined | [];
                      format: (
                          args: OpStackRpcBlock<BlockTag, boolean>,
                      ) => {
                          baseFeePerGas: null | bigint;
                          blobGasUsed: bigint;
                          difficulty: bigint;
                          excessBlobGas: bigint;
                          extraData: `0x${string}`;
                          gasLimit: bigint;
                          gasUsed: bigint;
                          hash: null | `0x${string}`;
                          logsBloom: null | `0x${string}`;
                          miner: `0x${string}`;
                          mixHash: `0x${string}`;
                          nonce: null | `0x${string}`;
                          number: null | bigint;
                          parentBeaconBlockRoot?: `0x${string}`;
                          parentHash: `0x${string}`;
                          receiptsRoot: `0x${string}`;
                          sealFields: `0x${string}`[];
                          sha3Uncles: `0x${string}`;
                          size: bigint;
                          stateRoot: `0x${string}`;
                          timestamp: bigint;
                          totalDifficulty: null | bigint;
                          transactions: `0x${string}`[] | OpStackTransaction<boolean>[];
                          transactionsRoot: `0x${string}`;
                          uncles: `0x${string}`[];
                          withdrawals?: Withdrawal[];
                          withdrawalsRoot?: `0x${string}`;
                      };
                      type: "block";
                  };
                  transaction: {
                      exclude: undefined
                      | [];
                      format: (
                          args: OpStackRpcTransaction<boolean>,
                      ) =>
                          | {
                              blockHash: null
                              | `0x${string}`;
                              blockNumber: null | bigint;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice?: undefined;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: boolean;
                              maxFeePerBlobGas?: undefined;
                              maxFeePerGas: bigint;
                              maxPriorityFeePerGas: bigint;
                              mint?: bigint;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash: `0x${string}`;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "deposit";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity: number;
                          }
                          | {
                              accessList?: undefined;
                              authorizationList?: undefined;
                              blobVersionedHashes?: undefined;
                              blockHash: null
                              | `0x${string}`;
                              blockNumber: null | bigint;
                              chainId?: number;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice: bigint;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: undefined;
                              maxFeePerBlobGas?: undefined;
                              maxFeePerGas?: undefined;
                              maxPriorityFeePerGas?: undefined;
                              mint?: undefined;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash?: undefined;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "legacy";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity?: undefined;
                          }
                          | {
                              accessList: AccessList;
                              authorizationList?: undefined;
                              blobVersionedHashes?: undefined;
                              blockHash: null
                              | `0x${string}`;
                              blockNumber: null | bigint;
                              chainId: number;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice: bigint;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: undefined;
                              maxFeePerBlobGas?: undefined;
                              maxFeePerGas?: undefined;
                              maxPriorityFeePerGas?: undefined;
                              mint?: undefined;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash?: undefined;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "eip2930";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity: number;
                          }
                          | {
                              accessList: AccessList;
                              authorizationList?: undefined;
                              blobVersionedHashes?: undefined;
                              blockHash: null
                              | `0x${string}`;
                              blockNumber: null | bigint;
                              chainId: number;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice?: undefined;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: undefined;
                              maxFeePerBlobGas?: undefined;
                              maxFeePerGas: bigint;
                              maxPriorityFeePerGas: bigint;
                              mint?: undefined;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash?: undefined;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "eip1559";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity: number;
                          }
                          | {
                              accessList: AccessList;
                              authorizationList?: undefined;
                              blobVersionedHashes: readonly `0x${string}`[];
                              blockHash: null
                              | `0x${string}`;
                              blockNumber: null | bigint;
                              chainId: number;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice?: undefined;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: undefined;
                              maxFeePerBlobGas: bigint;
                              maxFeePerGas: bigint;
                              maxPriorityFeePerGas: bigint;
                              mint?: undefined;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash?: undefined;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "eip4844";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity: number;
                          }
                          | {
                              accessList: AccessList;
                              authorizationList: SignedAuthorizationList<number>;
                              blobVersionedHashes?: undefined;
                              blockHash: null | `0x${string}`;
                              blockNumber: null | bigint;
                              chainId: number;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice?: undefined;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: undefined;
                              maxFeePerBlobGas?: undefined;
                              maxFeePerGas: bigint;
                              maxPriorityFeePerGas: bigint;
                              mint?: undefined;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash?: undefined;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "eip7702";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity: number;
                          };
                      type: "transaction";
                  };
                  transactionReceipt: {
                      exclude: undefined
                      | [];
                      format: (
                          args: OpStackRpcTransactionReceipt,
                      ) => {
                          blobGasPrice?: bigint;
                          blobGasUsed?: bigint;
                          blockHash: `0x${string}`;
                          blockNumber: bigint;
                          contractAddress: undefined | null | `0x${string}`;
                          cumulativeGasUsed: bigint;
                          effectiveGasPrice: bigint;
                          from: `0x${string}`;
                          gasUsed: bigint;
                          l1Fee: null | bigint;
                          l1FeeScalar: null | number;
                          l1GasPrice: null | bigint;
                          l1GasUsed: null | bigint;
                          logs: Log<
                              bigint,
                              number,
                              false,
                              undefined,
                              undefined,
                              undefined,
                              undefined,
                          >[];
                          logsBloom: `0x${string}`;
                          root?: `0x${string}`;
                          status: "success"
                          | "reverted";
                          to: null | `0x${string}`;
                          transactionHash: `0x${string}`;
                          transactionIndex: number;
                          type: TransactionType;
                      };
                      type: "transactionReceipt";
                  };
              };
              id: 11155420;
              name: "OP Sepolia";
              nativeCurrency: { decimals: 18; name: "Sepolia Ether"; symbol: "ETH" };
              rpcUrls: { default: { http: readonly ["https://sepolia.optimism.io"] } };
              serializers: {
                  transaction: (
                      transaction: OpStackTransactionSerializable,
                      signature?: Signature,
                  ) =>
                      | `0x02${string}`
                      | `0x01${string}`
                      | `0x03${string}`
                      | `0x04${string}`
                      | TransactionSerializedLegacy
                      | `0x7e${string}`;
              };
              sourceId: 11155111;
              testnet: true;
          }
          | {
              blockchainId: "UNI";
              blockchainVm: "EVM";
              blockExplorers: {
                  default: {
                      apiUrl: "https://api.uniscan.xyz/api";
                      name: "Uniscan";
                      url: "https://uniscan.xyz";
                  };
              };
              blockTime: 2000;
              contracts: {
                  disputeGameFactory: {
                      "1": { address: "0x2F12d621a16e2d3285929C9996f478508951dFe4" };
                  };
                  gasPriceOracle: { address: "0x420000000000000000000000000000000000000F" };
                  l1Block: { address: "0x4200000000000000000000000000000000000015" };
                  l1StandardBridge: {
                      "1": { address: "0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA" };
                  };
                  l2CrossDomainMessenger: {
                      address: "0x4200000000000000000000000000000000000007";
                  };
                  l2Erc721Bridge: { address: "0x4200000000000000000000000000000000000014" };
                  l2StandardBridge: {
                      address: "0x4200000000000000000000000000000000000010";
                  };
                  l2ToL1MessagePasser: {
                      address: "0x4200000000000000000000000000000000000016";
                  };
                  messageTransmitter: {
                      address: "0x353bE9E2E38AB1D19104534e4edC21c643Df86f4";
                  };
                  multicall3: {
                      address: "0xca11bde05977b3631167028862be2a173976ca11";
                      blockCreated: 0;
                  };
                  portal: {
                      "1": { address: "0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2" };
                  };
                  tokenMessenger: { address: "0x4e744b28E787c3aD0e810eD65A24461D4ac5a762" };
                  USDC: {
                      abi: readonly [
                          {
                              inputs: readonly [
                                  { indexed: true; name: "owner"; type: "address" },
                                  { indexed: true; name: "spender"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Approval";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { indexed: true; name: "from"; type: "address" },
                                  { indexed: true; name: "to"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Transfer";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { name: "owner"; type: "address" },
                                  { name: "spender"; type: "address" },
                              ];
                              name: "allowance";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "spender"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "approve";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [{ name: "account"; type: "address" }];
                              name: "balanceOf";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "decimals";
                              outputs: readonly [{ type: "uint8" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "name";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "symbol";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "totalSupply";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transfer";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "sender"; type: "address" },
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transferFrom";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                      ];
                      address: "0x078D782b760474a361dDA0AF3839290b0EF57AD6";
                      read: { decimals: () => 6 };
                  };
              };
              custom?: Record<string, unknown>;
              domainId: 10;
              ensTlds?: readonly string[];
              fees?: ChainFees<undefined>;
              formatters: {
                  block: {
                      exclude: undefined | [];
                      format: (
                          args: OpStackRpcBlock<BlockTag, boolean>,
                      ) => {
                          baseFeePerGas: null | bigint;
                          blobGasUsed: bigint;
                          difficulty: bigint;
                          excessBlobGas: bigint;
                          extraData: `0x${string}`;
                          gasLimit: bigint;
                          gasUsed: bigint;
                          hash: null | `0x${string}`;
                          logsBloom: null | `0x${string}`;
                          miner: `0x${string}`;
                          mixHash: `0x${string}`;
                          nonce: null | `0x${string}`;
                          number: null | bigint;
                          parentBeaconBlockRoot?: `0x${string}`;
                          parentHash: `0x${string}`;
                          receiptsRoot: `0x${string}`;
                          sealFields: `0x${string}`[];
                          sha3Uncles: `0x${string}`;
                          size: bigint;
                          stateRoot: `0x${string}`;
                          timestamp: bigint;
                          totalDifficulty: null | bigint;
                          transactions: `0x${string}`[] | OpStackTransaction<boolean>[];
                          transactionsRoot: `0x${string}`;
                          uncles: `0x${string}`[];
                          withdrawals?: Withdrawal[];
                          withdrawalsRoot?: `0x${string}`;
                      };
                      type: "block";
                  };
                  transaction: {
                      exclude: undefined
                      | [];
                      format: (
                          args: OpStackRpcTransaction<boolean>,
                      ) =>
                          | {
                              blockHash: null
                              | `0x${string}`;
                              blockNumber: null | bigint;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice?: undefined;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: boolean;
                              maxFeePerBlobGas?: undefined;
                              maxFeePerGas: bigint;
                              maxPriorityFeePerGas: bigint;
                              mint?: bigint;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash: `0x${string}`;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "deposit";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity: number;
                          }
                          | {
                              accessList?: undefined;
                              authorizationList?: undefined;
                              blobVersionedHashes?: undefined;
                              blockHash: null
                              | `0x${string}`;
                              blockNumber: null | bigint;
                              chainId?: number;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice: bigint;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: undefined;
                              maxFeePerBlobGas?: undefined;
                              maxFeePerGas?: undefined;
                              maxPriorityFeePerGas?: undefined;
                              mint?: undefined;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash?: undefined;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "legacy";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity?: undefined;
                          }
                          | {
                              accessList: AccessList;
                              authorizationList?: undefined;
                              blobVersionedHashes?: undefined;
                              blockHash: null
                              | `0x${string}`;
                              blockNumber: null | bigint;
                              chainId: number;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice: bigint;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: undefined;
                              maxFeePerBlobGas?: undefined;
                              maxFeePerGas?: undefined;
                              maxPriorityFeePerGas?: undefined;
                              mint?: undefined;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash?: undefined;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "eip2930";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity: number;
                          }
                          | {
                              accessList: AccessList;
                              authorizationList?: undefined;
                              blobVersionedHashes?: undefined;
                              blockHash: null
                              | `0x${string}`;
                              blockNumber: null | bigint;
                              chainId: number;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice?: undefined;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: undefined;
                              maxFeePerBlobGas?: undefined;
                              maxFeePerGas: bigint;
                              maxPriorityFeePerGas: bigint;
                              mint?: undefined;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash?: undefined;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "eip1559";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity: number;
                          }
                          | {
                              accessList: AccessList;
                              authorizationList?: undefined;
                              blobVersionedHashes: readonly `0x${string}`[];
                              blockHash: null
                              | `0x${string}`;
                              blockNumber: null | bigint;
                              chainId: number;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice?: undefined;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: undefined;
                              maxFeePerBlobGas: bigint;
                              maxFeePerGas: bigint;
                              maxPriorityFeePerGas: bigint;
                              mint?: undefined;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash?: undefined;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "eip4844";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity: number;
                          }
                          | {
                              accessList: AccessList;
                              authorizationList: SignedAuthorizationList<number>;
                              blobVersionedHashes?: undefined;
                              blockHash: null | `0x${string}`;
                              blockNumber: null | bigint;
                              chainId: number;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice?: undefined;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: undefined;
                              maxFeePerBlobGas?: undefined;
                              maxFeePerGas: bigint;
                              maxPriorityFeePerGas: bigint;
                              mint?: undefined;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash?: undefined;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "eip7702";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity: number;
                          };
                      type: "transaction";
                  };
                  transactionReceipt: {
                      exclude: undefined
                      | [];
                      format: (
                          args: OpStackRpcTransactionReceipt,
                      ) => {
                          blobGasPrice?: bigint;
                          blobGasUsed?: bigint;
                          blockHash: `0x${string}`;
                          blockNumber: bigint;
                          contractAddress: undefined | null | `0x${string}`;
                          cumulativeGasUsed: bigint;
                          effectiveGasPrice: bigint;
                          from: `0x${string}`;
                          gasUsed: bigint;
                          l1Fee: null | bigint;
                          l1FeeScalar: null | number;
                          l1GasPrice: null | bigint;
                          l1GasUsed: null | bigint;
                          logs: Log<
                              bigint,
                              number,
                              false,
                              undefined,
                              undefined,
                              undefined,
                              undefined,
                          >[];
                          logsBloom: `0x${string}`;
                          root?: `0x${string}`;
                          status: "success"
                          | "reverted";
                          to: null | `0x${string}`;
                          transactionHash: `0x${string}`;
                          transactionIndex: number;
                          type: TransactionType;
                      };
                      type: "transactionReceipt";
                  };
              };
              id: 130;
              name: "Unichain";
              nativeCurrency: { decimals: 18; name: "Ether"; symbol: "ETH" };
              rpcUrls: { default: { http: readonly ["https://mainnet.unichain.org/"] } };
              serializers: {
                  transaction: (
                      transaction: OpStackTransactionSerializable,
                      signature?: Signature,
                  ) =>
                      | `0x02${string}`
                      | `0x01${string}`
                      | `0x03${string}`
                      | `0x04${string}`
                      | TransactionSerializedLegacy
                      | `0x7e${string}`;
              };
              sourceId: 1;
              testnet?: boolean;
          }
          | {
              blockchainId: "UNI-SEPOLIA";
              blockchainVm: "EVM";
              blockExplorers: {
                  default: {
                      apiUrl: "https://api-sepolia.uniscan.xyz/api";
                      name: "Uniscan";
                      url: "https://sepolia.uniscan.xyz";
                  };
              };
              blockTime: 2000;
              contracts: {
                  disputeGameFactory: {
                      "11155111": { address: "0xeff73e5aa3B9AEC32c659Aa3E00444d20a84394b" };
                  };
                  gasPriceOracle: { address: "0x420000000000000000000000000000000000000F" };
                  l1Block: { address: "0x4200000000000000000000000000000000000015" };
                  l1StandardBridge: {
                      "11155111": { address: "0xea58fcA6849d79EAd1f26608855c2D6407d54Ce2" };
                  };
                  l2CrossDomainMessenger: {
                      address: "0x4200000000000000000000000000000000000007";
                  };
                  l2Erc721Bridge: { address: "0x4200000000000000000000000000000000000014" };
                  l2StandardBridge: {
                      address: "0x4200000000000000000000000000000000000010";
                  };
                  l2ToL1MessagePasser: {
                      address: "0x4200000000000000000000000000000000000016";
                  };
                  messageTransmitter: {
                      address: "0xbc498c326533d675cf571B90A2Ced265ACb7d086";
                  };
                  multicall3: {
                      address: "0xca11bde05977b3631167028862be2a173976ca11";
                      blockCreated: 0;
                  };
                  portal: {
                      "11155111": { address: "0x0d83dab629f0e0F9d36c0Cbc89B69a489f0751bD" };
                  };
                  tokenMessenger: { address: "0x8ed94B8dAd2Dc5453862ea5e316A8e71AAed9782" };
                  USDC: {
                      abi: readonly [
                          {
                              inputs: readonly [
                                  { indexed: true; name: "owner"; type: "address" },
                                  { indexed: true; name: "spender"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Approval";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { indexed: true; name: "from"; type: "address" },
                                  { indexed: true; name: "to"; type: "address" },
                                  { indexed: false; name: "value"; type: "uint256" },
                              ];
                              name: "Transfer";
                              type: "event";
                          },
                          {
                              inputs: readonly [
                                  { name: "owner"; type: "address" },
                                  { name: "spender"; type: "address" },
                              ];
                              name: "allowance";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "spender"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "approve";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [{ name: "account"; type: "address" }];
                              name: "balanceOf";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "decimals";
                              outputs: readonly [{ type: "uint8" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "name";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "symbol";
                              outputs: readonly [{ type: "string" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [];
                              name: "totalSupply";
                              outputs: readonly [{ type: "uint256" }];
                              stateMutability: "view";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transfer";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                          {
                              inputs: readonly [
                                  { name: "sender"; type: "address" },
                                  { name: "recipient"; type: "address" },
                                  { name: "amount"; type: "uint256" },
                              ];
                              name: "transferFrom";
                              outputs: readonly [{ type: "bool" }];
                              stateMutability: "nonpayable";
                              type: "function";
                          },
                      ];
                      address: "0x31d0220469e10c4E71834a79b1f276d740d3768F";
                      read: { decimals: () => 6 };
                  };
              };
              custom?: Record<string, unknown>;
              domainId: 10;
              ensTlds?: readonly string[];
              fees?: ChainFees<undefined>;
              formatters: {
                  block: {
                      exclude: undefined | [];
                      format: (
                          args: OpStackRpcBlock<BlockTag, boolean>,
                      ) => {
                          baseFeePerGas: null | bigint;
                          blobGasUsed: bigint;
                          difficulty: bigint;
                          excessBlobGas: bigint;
                          extraData: `0x${string}`;
                          gasLimit: bigint;
                          gasUsed: bigint;
                          hash: null | `0x${string}`;
                          logsBloom: null | `0x${string}`;
                          miner: `0x${string}`;
                          mixHash: `0x${string}`;
                          nonce: null | `0x${string}`;
                          number: null | bigint;
                          parentBeaconBlockRoot?: `0x${string}`;
                          parentHash: `0x${string}`;
                          receiptsRoot: `0x${string}`;
                          sealFields: `0x${string}`[];
                          sha3Uncles: `0x${string}`;
                          size: bigint;
                          stateRoot: `0x${string}`;
                          timestamp: bigint;
                          totalDifficulty: null | bigint;
                          transactions: `0x${string}`[] | OpStackTransaction<boolean>[];
                          transactionsRoot: `0x${string}`;
                          uncles: `0x${string}`[];
                          withdrawals?: Withdrawal[];
                          withdrawalsRoot?: `0x${string}`;
                      };
                      type: "block";
                  };
                  transaction: {
                      exclude: undefined
                      | [];
                      format: (
                          args: OpStackRpcTransaction<boolean>,
                      ) =>
                          | {
                              blockHash: null
                              | `0x${string}`;
                              blockNumber: null | bigint;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice?: undefined;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: boolean;
                              maxFeePerBlobGas?: undefined;
                              maxFeePerGas: bigint;
                              maxPriorityFeePerGas: bigint;
                              mint?: bigint;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash: `0x${string}`;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "deposit";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity: number;
                          }
                          | {
                              accessList?: undefined;
                              authorizationList?: undefined;
                              blobVersionedHashes?: undefined;
                              blockHash: null
                              | `0x${string}`;
                              blockNumber: null | bigint;
                              chainId?: number;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice: bigint;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: undefined;
                              maxFeePerBlobGas?: undefined;
                              maxFeePerGas?: undefined;
                              maxPriorityFeePerGas?: undefined;
                              mint?: undefined;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash?: undefined;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "legacy";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity?: undefined;
                          }
                          | {
                              accessList: AccessList;
                              authorizationList?: undefined;
                              blobVersionedHashes?: undefined;
                              blockHash: null
                              | `0x${string}`;
                              blockNumber: null | bigint;
                              chainId: number;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice: bigint;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: undefined;
                              maxFeePerBlobGas?: undefined;
                              maxFeePerGas?: undefined;
                              maxPriorityFeePerGas?: undefined;
                              mint?: undefined;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash?: undefined;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "eip2930";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity: number;
                          }
                          | {
                              accessList: AccessList;
                              authorizationList?: undefined;
                              blobVersionedHashes?: undefined;
                              blockHash: null
                              | `0x${string}`;
                              blockNumber: null | bigint;
                              chainId: number;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice?: undefined;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: undefined;
                              maxFeePerBlobGas?: undefined;
                              maxFeePerGas: bigint;
                              maxPriorityFeePerGas: bigint;
                              mint?: undefined;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash?: undefined;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "eip1559";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity: number;
                          }
                          | {
                              accessList: AccessList;
                              authorizationList?: undefined;
                              blobVersionedHashes: readonly `0x${string}`[];
                              blockHash: null
                              | `0x${string}`;
                              blockNumber: null | bigint;
                              chainId: number;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice?: undefined;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: undefined;
                              maxFeePerBlobGas: bigint;
                              maxFeePerGas: bigint;
                              maxPriorityFeePerGas: bigint;
                              mint?: undefined;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash?: undefined;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "eip4844";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity: number;
                          }
                          | {
                              accessList: AccessList;
                              authorizationList: SignedAuthorizationList<number>;
                              blobVersionedHashes?: undefined;
                              blockHash: null | `0x${string}`;
                              blockNumber: null | bigint;
                              chainId: number;
                              from: `0x${string}`;
                              gas: bigint;
                              gasPrice?: undefined;
                              hash: `0x${string}`;
                              input: `0x${string}`;
                              isSystemTx?: undefined;
                              maxFeePerBlobGas?: undefined;
                              maxFeePerGas: bigint;
                              maxPriorityFeePerGas: bigint;
                              mint?: undefined;
                              nonce: number;
                              r: `0x${string}`;
                              s: `0x${string}`;
                              sourceHash?: undefined;
                              to: null | `0x${string}`;
                              transactionIndex: null | number;
                              type: "eip7702";
                              typeHex: null | `0x${string}`;
                              v: bigint;
                              value: bigint;
                              yParity: number;
                          };
                      type: "transaction";
                  };
                  transactionReceipt: {
                      exclude: undefined
                      | [];
                      format: (
                          args: OpStackRpcTransactionReceipt,
                      ) => {
                          blobGasPrice?: bigint;
                          blobGasUsed?: bigint;
                          blockHash: `0x${string}`;
                          blockNumber: bigint;
                          contractAddress: undefined | null | `0x${string}`;
                          cumulativeGasUsed: bigint;
                          effectiveGasPrice: bigint;
                          from: `0x${string}`;
                          gasUsed: bigint;
                          l1Fee: null | bigint;
                          l1FeeScalar: null | number;
                          l1GasPrice: null | bigint;
                          l1GasUsed: null | bigint;
                          logs: Log<
                              bigint,
                              number,
                              false,
                              undefined,
                              undefined,
                              undefined,
                              undefined,
                          >[];
                          logsBloom: `0x${string}`;
                          root?: `0x${string}`;
                          status: "success"
                          | "reverted";
                          to: null | `0x${string}`;
                          transactionHash: `0x${string}`;
                          transactionIndex: number;
                          type: TransactionType;
                      };
                      type: "transactionReceipt";
                  };
              };
              id: 1301;
              name: "Unichain Sepolia";
              nativeCurrency: { decimals: 18; name: "Ether"; symbol: "ETH" };
              rpcUrls: { default: { http: readonly ["https://sepolia.unichain.org"] } };
              serializers: {
                  transaction: (
                      transaction: OpStackTransactionSerializable,
                      signature?: Signature,
                  ) =>
                      | `0x02${string}`
                      | `0x01${string}`
                      | `0x03${string}`
                      | `0x04${string}`
                      | TransactionSerializedLegacy
                      | `0x7e${string}`;
              };
              sourceId: 11155111;
              testnet: true;
          }

      • undefined
      • {
            blockchainId: "ARB";
            blockchainVm: "EVM";
            blockExplorers: {
                default: {
                    apiUrl: "https://api.arbiscan.io/api";
                    name: "Arbiscan";
                    url: "https://arbiscan.io";
                };
            };
            blockTime?: number;
            contracts: {
                messageTransmitter: {
                    address: "0xC30362313FBBA5cf9163F0bb16a0e01f01A896ca";
                };
                multicall3: {
                    address: "0xca11bde05977b3631167028862be2a173976ca11";
                    blockCreated: 7654707;
                };
                tokenMessenger: { address: "0x19330d10D9Cc8751218eaf51E8885D058642E08A" };
                USDC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831";
                    read: { decimals: () => 6 };
                };
            };
            custom?: Record<string, unknown>;
            domainId: 3;
            ensTlds?: readonly string[];
            fees?: ChainFees<undefined>;
            formatters?: undefined;
            id: 42161;
            name: "Arbitrum One";
            nativeCurrency: { decimals: 18; name: "Ether"; symbol: "ETH" };
            rpcUrls: { default: { http: readonly ["https://arb1.arbitrum.io/rpc"] } };
            serializers?: ChainSerializers<
                undefined,
                TransactionSerializable<bigint, number>,
            >;
            sourceId?: number;
            testnet?: boolean;
        }
        • ReadonlyblockchainId: "ARB"
        • ReadonlyblockchainVm: "EVM"
        • blockExplorers: {
              default: {
                  apiUrl: "https://api.arbiscan.io/api";
                  name: "Arbiscan";
                  url: "https://arbiscan.io";
              };
          }

          Collection of block explorers

        • OptionalblockTime?: number

          Block time in milliseconds.

        • contracts: {
              messageTransmitter: {
                  address: "0xC30362313FBBA5cf9163F0bb16a0e01f01A896ca";
              };
              multicall3: {
                  address: "0xca11bde05977b3631167028862be2a173976ca11";
                  blockCreated: 7654707;
              };
              tokenMessenger: { address: "0x19330d10D9Cc8751218eaf51E8885D058642E08A" };
              USDC: {
                  abi: readonly [
                      {
                          inputs: readonly [
                              { indexed: true; name: "owner"; type: "address" },
                              { indexed: true; name: "spender"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Approval";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { indexed: true; name: "from"; type: "address" },
                              { indexed: true; name: "to"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Transfer";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { name: "owner"; type: "address" },
                              { name: "spender"; type: "address" },
                          ];
                          name: "allowance";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "spender"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "approve";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [{ name: "account"; type: "address" }];
                          name: "balanceOf";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "decimals";
                          outputs: readonly [{ type: "uint8" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "name";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "symbol";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "totalSupply";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transfer";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "sender"; type: "address" },
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transferFrom";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                  ];
                  address: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831";
                  read: { decimals: () => 6 };
              };
          }

          Collection of contracts

        • Optionalcustom?: Record<string, unknown>

          Custom chain data.

        • ReadonlydomainId: 3
        • OptionalensTlds?: readonly string[]

          Collection of ENS TLDs for the chain.

        • Optionalfees?: ChainFees<undefined>

          Modifies how fees are derived.

        • Optional Readonlyformatters?: undefined
        • id: 42161

          ID in number form

        • name: "Arbitrum One"

          Human-readable name

        • nativeCurrency: { decimals: 18; name: "Ether"; symbol: "ETH" }

          Currency used by chain

        • rpcUrls: { default: { http: readonly ["https://arb1.arbitrum.io/rpc"] } }

          Collection of RPC endpoints

        • Optionalserializers?: ChainSerializers<undefined, TransactionSerializable<bigint, number>>

          Modifies how data is serialized (e.g. transactions).

        • OptionalsourceId?: number

          Source Chain ID (ie. the L1 chain)

        • Optionaltestnet?: boolean

          Flag for test networks

      • {
            blockchainId: "ARB-SEPOLIA";
            blockchainVm: "EVM";
            blockExplorers: {
                default: {
                    apiUrl: "https://api-sepolia.arbiscan.io/api";
                    name: "Arbiscan";
                    url: "https://sepolia.arbiscan.io";
                };
            };
            blockTime?: number;
            contracts: {
                messageTransmitter: {
                    address: "0xaCF1ceeF35caAc005e15888dDb8A3515C41B4872";
                };
                multicall3: {
                    address: "0xca11bde05977b3631167028862be2a173976ca11";
                    blockCreated: 81930;
                };
                tokenMessenger: { address: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5" };
                USDC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d";
                    read: { decimals: () => 6 };
                };
            };
            custom?: Record<string, unknown>;
            domainId: 3;
            ensTlds?: readonly string[];
            fees?: ChainFees<undefined>;
            formatters?: undefined;
            id: 421614;
            name: "Arbitrum Sepolia";
            nativeCurrency: {
                decimals: 18;
                name: "Arbitrum Sepolia Ether";
                symbol: "ETH";
            };
            rpcUrls: {
                default: { http: readonly ["https://sepolia-rollup.arbitrum.io/rpc"] };
            };
            serializers?: ChainSerializers<
                undefined,
                TransactionSerializable<bigint, number>,
            >;
            sourceId?: number;
            testnet: true;
        }
        • ReadonlyblockchainId: "ARB-SEPOLIA"
        • ReadonlyblockchainVm: "EVM"
        • blockExplorers: {
              default: {
                  apiUrl: "https://api-sepolia.arbiscan.io/api";
                  name: "Arbiscan";
                  url: "https://sepolia.arbiscan.io";
              };
          }

          Collection of block explorers

        • OptionalblockTime?: number

          Block time in milliseconds.

        • contracts: {
              messageTransmitter: {
                  address: "0xaCF1ceeF35caAc005e15888dDb8A3515C41B4872";
              };
              multicall3: {
                  address: "0xca11bde05977b3631167028862be2a173976ca11";
                  blockCreated: 81930;
              };
              tokenMessenger: { address: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5" };
              USDC: {
                  abi: readonly [
                      {
                          inputs: readonly [
                              { indexed: true; name: "owner"; type: "address" },
                              { indexed: true; name: "spender"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Approval";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { indexed: true; name: "from"; type: "address" },
                              { indexed: true; name: "to"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Transfer";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { name: "owner"; type: "address" },
                              { name: "spender"; type: "address" },
                          ];
                          name: "allowance";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "spender"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "approve";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [{ name: "account"; type: "address" }];
                          name: "balanceOf";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "decimals";
                          outputs: readonly [{ type: "uint8" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "name";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "symbol";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "totalSupply";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transfer";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "sender"; type: "address" },
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transferFrom";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                  ];
                  address: "0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d";
                  read: { decimals: () => 6 };
              };
          }

          Collection of contracts

        • Optionalcustom?: Record<string, unknown>

          Custom chain data.

        • ReadonlydomainId: 3
        • OptionalensTlds?: readonly string[]

          Collection of ENS TLDs for the chain.

        • Optionalfees?: ChainFees<undefined>

          Modifies how fees are derived.

        • Optional Readonlyformatters?: undefined
        • id: 421614

          ID in number form

        • name: "Arbitrum Sepolia"

          Human-readable name

        • nativeCurrency: { decimals: 18; name: "Arbitrum Sepolia Ether"; symbol: "ETH" }

          Currency used by chain

        • rpcUrls: { default: { http: readonly ["https://sepolia-rollup.arbitrum.io/rpc"] } }

          Collection of RPC endpoints

        • Optionalserializers?: ChainSerializers<undefined, TransactionSerializable<bigint, number>>

          Modifies how data is serialized (e.g. transactions).

        • OptionalsourceId?: number

          Source Chain ID (ie. the L1 chain)

        • testnet: true

          Flag for test networks

      • {
            blockchainId: "AVAX";
            blockchainVm: "EVM";
            blockExplorers: {
                default: {
                    apiUrl: "https://api.snowtrace.io";
                    name: "SnowTrace";
                    url: "https://snowtrace.io";
                };
            };
            blockTime?: number;
            contracts: {
                EURC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0xc891eb4cbdeff6e073e859e987815ed1505c2acd";
                    read: { decimals: () => 6 };
                };
                messageTransmitter: {
                    address: "0x8186359af5f57fbb40c6b14a588d2a59c0c29880";
                };
                multicall3: {
                    address: "0xca11bde05977b3631167028862be2a173976ca11";
                    blockCreated: 11907934;
                };
                tokenMessenger: { address: "0x6b25532e1060ce10cc3b0a99e5683b91bfde6982" };
                USDC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E";
                    read: { decimals: () => 6 };
                };
            };
            custom?: Record<string, unknown>;
            domainId: 1;
            ensTlds?: readonly string[];
            fees?: ChainFees<undefined>;
            formatters?: undefined;
            id: 43114;
            name: "Avalanche";
            nativeCurrency: { decimals: 18; name: "Avalanche"; symbol: "AVAX" };
            rpcUrls: {
                default: { http: readonly ["https://api.avax.network/ext/bc/C/rpc"] };
            };
            serializers?: ChainSerializers<
                undefined,
                TransactionSerializable<bigint, number>,
            >;
            sourceId?: number;
            testnet?: boolean;
        }
        • ReadonlyblockchainId: "AVAX"
        • ReadonlyblockchainVm: "EVM"
        • blockExplorers: {
              default: {
                  apiUrl: "https://api.snowtrace.io";
                  name: "SnowTrace";
                  url: "https://snowtrace.io";
              };
          }

          Collection of block explorers

        • OptionalblockTime?: number

          Block time in milliseconds.

        • contracts: {
              EURC: {
                  abi: readonly [
                      {
                          inputs: readonly [
                              { indexed: true; name: "owner"; type: "address" },
                              { indexed: true; name: "spender"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Approval";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { indexed: true; name: "from"; type: "address" },
                              { indexed: true; name: "to"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Transfer";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { name: "owner"; type: "address" },
                              { name: "spender"; type: "address" },
                          ];
                          name: "allowance";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "spender"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "approve";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [{ name: "account"; type: "address" }];
                          name: "balanceOf";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "decimals";
                          outputs: readonly [{ type: "uint8" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "name";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "symbol";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "totalSupply";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transfer";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "sender"; type: "address" },
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transferFrom";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                  ];
                  address: "0xc891eb4cbdeff6e073e859e987815ed1505c2acd";
                  read: { decimals: () => 6 };
              };
              messageTransmitter: {
                  address: "0x8186359af5f57fbb40c6b14a588d2a59c0c29880";
              };
              multicall3: {
                  address: "0xca11bde05977b3631167028862be2a173976ca11";
                  blockCreated: 11907934;
              };
              tokenMessenger: { address: "0x6b25532e1060ce10cc3b0a99e5683b91bfde6982" };
              USDC: {
                  abi: readonly [
                      {
                          inputs: readonly [
                              { indexed: true; name: "owner"; type: "address" },
                              { indexed: true; name: "spender"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Approval";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { indexed: true; name: "from"; type: "address" },
                              { indexed: true; name: "to"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Transfer";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { name: "owner"; type: "address" },
                              { name: "spender"; type: "address" },
                          ];
                          name: "allowance";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "spender"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "approve";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [{ name: "account"; type: "address" }];
                          name: "balanceOf";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "decimals";
                          outputs: readonly [{ type: "uint8" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "name";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "symbol";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "totalSupply";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transfer";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "sender"; type: "address" },
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transferFrom";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                  ];
                  address: "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E";
                  read: { decimals: () => 6 };
              };
          }

          Collection of contracts

        • Optionalcustom?: Record<string, unknown>

          Custom chain data.

        • ReadonlydomainId: 1
        • OptionalensTlds?: readonly string[]

          Collection of ENS TLDs for the chain.

        • Optionalfees?: ChainFees<undefined>

          Modifies how fees are derived.

        • Optional Readonlyformatters?: undefined
        • id: 43114

          ID in number form

        • name: "Avalanche"

          Human-readable name

        • nativeCurrency: { decimals: 18; name: "Avalanche"; symbol: "AVAX" }

          Currency used by chain

        • rpcUrls: { default: { http: readonly ["https://api.avax.network/ext/bc/C/rpc"] } }

          Collection of RPC endpoints

        • Optionalserializers?: ChainSerializers<undefined, TransactionSerializable<bigint, number>>

          Modifies how data is serialized (e.g. transactions).

        • OptionalsourceId?: number

          Source Chain ID (ie. the L1 chain)

        • Optionaltestnet?: boolean

          Flag for test networks

      • {
            blockchainId: "AVAX-FUJI";
            blockchainVm: "EVM";
            blockExplorers: {
                default: {
                    apiUrl: "https://api-testnet.snowtrace.io";
                    name: "SnowTrace";
                    url: "https://testnet.snowtrace.io";
                };
            };
            blockTime?: number;
            contracts: {
                EURC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x5e44db7996c682e92a960b65ac713a54ad815c6b";
                    read: { decimals: () => 6 };
                };
                messageTransmitter: {
                    address: "0xa9fb1b3009dcb79e2fe346c16a604b8fa8ae0a79";
                };
                multicall3: {
                    address: "0xca11bde05977b3631167028862be2a173976ca11";
                    blockCreated: 7096959;
                };
                tokenMessenger: { address: "0xeb08f243e5d3fcff26a9e38ae5520a669f4019d0" };
                USDC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x5425890298aed601595a70ab815c96711a31bc65";
                    read: { decimals: () => 6 };
                };
            };
            custom?: Record<string, unknown>;
            domainId: 1;
            ensTlds?: readonly string[];
            fees?: ChainFees<undefined>;
            formatters?: undefined;
            id: 43113;
            name: "Avalanche Fuji";
            nativeCurrency: { decimals: 18; name: "Avalanche Fuji"; symbol: "AVAX" };
            rpcUrls: {
                default: {
                    http: readonly ["https://api.avax-test.network/ext/bc/C/rpc"];
                };
            };
            serializers?: ChainSerializers<
                undefined,
                TransactionSerializable<bigint, number>,
            >;
            sourceId?: number;
            testnet: true;
        }
        • ReadonlyblockchainId: "AVAX-FUJI"
        • ReadonlyblockchainVm: "EVM"
        • blockExplorers: {
              default: {
                  apiUrl: "https://api-testnet.snowtrace.io";
                  name: "SnowTrace";
                  url: "https://testnet.snowtrace.io";
              };
          }

          Collection of block explorers

        • OptionalblockTime?: number

          Block time in milliseconds.

        • contracts: {
              EURC: {
                  abi: readonly [
                      {
                          inputs: readonly [
                              { indexed: true; name: "owner"; type: "address" },
                              { indexed: true; name: "spender"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Approval";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { indexed: true; name: "from"; type: "address" },
                              { indexed: true; name: "to"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Transfer";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { name: "owner"; type: "address" },
                              { name: "spender"; type: "address" },
                          ];
                          name: "allowance";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "spender"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "approve";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [{ name: "account"; type: "address" }];
                          name: "balanceOf";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "decimals";
                          outputs: readonly [{ type: "uint8" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "name";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "symbol";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "totalSupply";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transfer";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "sender"; type: "address" },
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transferFrom";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                  ];
                  address: "0x5e44db7996c682e92a960b65ac713a54ad815c6b";
                  read: { decimals: () => 6 };
              };
              messageTransmitter: {
                  address: "0xa9fb1b3009dcb79e2fe346c16a604b8fa8ae0a79";
              };
              multicall3: {
                  address: "0xca11bde05977b3631167028862be2a173976ca11";
                  blockCreated: 7096959;
              };
              tokenMessenger: { address: "0xeb08f243e5d3fcff26a9e38ae5520a669f4019d0" };
              USDC: {
                  abi: readonly [
                      {
                          inputs: readonly [
                              { indexed: true; name: "owner"; type: "address" },
                              { indexed: true; name: "spender"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Approval";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { indexed: true; name: "from"; type: "address" },
                              { indexed: true; name: "to"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Transfer";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { name: "owner"; type: "address" },
                              { name: "spender"; type: "address" },
                          ];
                          name: "allowance";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "spender"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "approve";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [{ name: "account"; type: "address" }];
                          name: "balanceOf";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "decimals";
                          outputs: readonly [{ type: "uint8" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "name";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "symbol";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "totalSupply";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transfer";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "sender"; type: "address" },
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transferFrom";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                  ];
                  address: "0x5425890298aed601595a70ab815c96711a31bc65";
                  read: { decimals: () => 6 };
              };
          }

          Collection of contracts

        • Optionalcustom?: Record<string, unknown>

          Custom chain data.

        • ReadonlydomainId: 1
        • OptionalensTlds?: readonly string[]

          Collection of ENS TLDs for the chain.

        • Optionalfees?: ChainFees<undefined>

          Modifies how fees are derived.

        • Optional Readonlyformatters?: undefined
        • id: 43113

          ID in number form

        • name: "Avalanche Fuji"

          Human-readable name

        • nativeCurrency: { decimals: 18; name: "Avalanche Fuji"; symbol: "AVAX" }

          Currency used by chain

        • rpcUrls: { default: { http: readonly ["https://api.avax-test.network/ext/bc/C/rpc"] } }

          Collection of RPC endpoints

        • Optionalserializers?: ChainSerializers<undefined, TransactionSerializable<bigint, number>>

          Modifies how data is serialized (e.g. transactions).

        • OptionalsourceId?: number

          Source Chain ID (ie. the L1 chain)

        • testnet: true

          Flag for test networks

      • {
            blockchainId: "BASE";
            blockchainVm: "EVM";
            blockExplorers: {
                default: {
                    apiUrl: "https://api.basescan.org/api";
                    name: "Basescan";
                    url: "https://basescan.org";
                };
            };
            blockTime: 2000;
            contracts: {
                disputeGameFactory: {
                    "1": { address: "0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e" };
                };
                EURC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x60a3e35cc302bfa44cb288bc5a4f316fdb1adb42";
                    read: { decimals: () => 6 };
                };
                gasPriceOracle: { address: "0x420000000000000000000000000000000000000F" };
                l1Block: { address: "0x4200000000000000000000000000000000000015" };
                l1StandardBridge: {
                    "1": {
                        address: "0x3154Cf16ccdb4C6d922629664174b904d80F2C35";
                        blockCreated: 17482143;
                    };
                };
                l2CrossDomainMessenger: {
                    address: "0x4200000000000000000000000000000000000007";
                };
                l2Erc721Bridge: { address: "0x4200000000000000000000000000000000000014" };
                l2OutputOracle: {
                    "1": { address: "0x56315b90c40730925ec5485cf004d835058518A0" };
                };
                l2StandardBridge: {
                    address: "0x4200000000000000000000000000000000000010";
                };
                l2ToL1MessagePasser: {
                    address: "0x4200000000000000000000000000000000000016";
                };
                messageTransmitter: {
                    address: "0xAD09780d193884d503182aD4588450C416D6F9D4";
                };
                multicall3: {
                    address: "0xca11bde05977b3631167028862be2a173976ca11";
                    blockCreated: 5022;
                };
                portal: {
                    "1": {
                        address: "0x49048044D57e1C92A77f79988d21Fa8fAF74E97e";
                        blockCreated: 17482143;
                    };
                };
                tokenMessenger: { address: "0x1682Ae6375C4E4A97e4B583BC394c861A46D8962" };
                USDC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913";
                    read: { decimals: () => 6 };
                };
            };
            custom?: Record<string, unknown>;
            domainId: 6;
            ensTlds?: readonly string[];
            fees?: ChainFees<undefined>;
            formatters: {
                block: {
                    exclude: undefined | [];
                    format: (
                        args: OpStackRpcBlock<BlockTag, boolean>,
                    ) => {
                        baseFeePerGas: null | bigint;
                        blobGasUsed: bigint;
                        difficulty: bigint;
                        excessBlobGas: bigint;
                        extraData: `0x${string}`;
                        gasLimit: bigint;
                        gasUsed: bigint;
                        hash: null | `0x${string}`;
                        logsBloom: null | `0x${string}`;
                        miner: `0x${string}`;
                        mixHash: `0x${string}`;
                        nonce: null | `0x${string}`;
                        number: null | bigint;
                        parentBeaconBlockRoot?: `0x${string}`;
                        parentHash: `0x${string}`;
                        receiptsRoot: `0x${string}`;
                        sealFields: `0x${string}`[];
                        sha3Uncles: `0x${string}`;
                        size: bigint;
                        stateRoot: `0x${string}`;
                        timestamp: bigint;
                        totalDifficulty: null | bigint;
                        transactions: `0x${string}`[] | OpStackTransaction<boolean>[];
                        transactionsRoot: `0x${string}`;
                        uncles: `0x${string}`[];
                        withdrawals?: Withdrawal[];
                        withdrawalsRoot?: `0x${string}`;
                    };
                    type: "block";
                };
                transaction: {
                    exclude: undefined
                    | [];
                    format: (
                        args: OpStackRpcTransaction<boolean>,
                    ) =>
                        | {
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: boolean;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: bigint;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash: `0x${string}`;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "deposit";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList?: undefined;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId?: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice: bigint;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas?: undefined;
                            maxPriorityFeePerGas?: undefined;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "legacy";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity?: undefined;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice: bigint;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas?: undefined;
                            maxPriorityFeePerGas?: undefined;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip2930";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip1559";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes: readonly `0x${string}`[];
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas: bigint;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip4844";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList: SignedAuthorizationList<number>;
                            blobVersionedHashes?: undefined;
                            blockHash: null | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip7702";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        };
                    type: "transaction";
                };
                transactionReceipt: {
                    exclude: undefined
                    | [];
                    format: (
                        args: OpStackRpcTransactionReceipt,
                    ) => {
                        blobGasPrice?: bigint;
                        blobGasUsed?: bigint;
                        blockHash: `0x${string}`;
                        blockNumber: bigint;
                        contractAddress: undefined | null | `0x${string}`;
                        cumulativeGasUsed: bigint;
                        effectiveGasPrice: bigint;
                        from: `0x${string}`;
                        gasUsed: bigint;
                        l1Fee: null | bigint;
                        l1FeeScalar: null | number;
                        l1GasPrice: null | bigint;
                        l1GasUsed: null | bigint;
                        logs: Log<
                            bigint,
                            number,
                            false,
                            undefined,
                            undefined,
                            undefined,
                            undefined,
                        >[];
                        logsBloom: `0x${string}`;
                        root?: `0x${string}`;
                        status: "success"
                        | "reverted";
                        to: null | `0x${string}`;
                        transactionHash: `0x${string}`;
                        transactionIndex: number;
                        type: TransactionType;
                    };
                    type: "transactionReceipt";
                };
            };
            id: 8453;
            name: "Base";
            nativeCurrency: { decimals: 18; name: "Ether"; symbol: "ETH" };
            rpcUrls: { default: { http: readonly ["https://mainnet.base.org"] } };
            serializers: {
                transaction: (
                    transaction: OpStackTransactionSerializable,
                    signature?: Signature,
                ) =>
                    | `0x02${string}`
                    | `0x01${string}`
                    | `0x03${string}`
                    | `0x04${string}`
                    | TransactionSerializedLegacy
                    | `0x7e${string}`;
            };
            sourceId: 1;
            testnet?: boolean;
        }
        • ReadonlyblockchainId: "BASE"
        • ReadonlyblockchainVm: "EVM"
        • blockExplorers: {
              default: {
                  apiUrl: "https://api.basescan.org/api";
                  name: "Basescan";
                  url: "https://basescan.org";
              };
          }

          Collection of block explorers

        • blockTime: 2000

          Block time in milliseconds.

        • contracts: {
              disputeGameFactory: {
                  "1": { address: "0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e" };
              };
              EURC: {
                  abi: readonly [
                      {
                          inputs: readonly [
                              { indexed: true; name: "owner"; type: "address" },
                              { indexed: true; name: "spender"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Approval";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { indexed: true; name: "from"; type: "address" },
                              { indexed: true; name: "to"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Transfer";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { name: "owner"; type: "address" },
                              { name: "spender"; type: "address" },
                          ];
                          name: "allowance";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "spender"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "approve";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [{ name: "account"; type: "address" }];
                          name: "balanceOf";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "decimals";
                          outputs: readonly [{ type: "uint8" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "name";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "symbol";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "totalSupply";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transfer";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "sender"; type: "address" },
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transferFrom";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                  ];
                  address: "0x60a3e35cc302bfa44cb288bc5a4f316fdb1adb42";
                  read: { decimals: () => 6 };
              };
              gasPriceOracle: { address: "0x420000000000000000000000000000000000000F" };
              l1Block: { address: "0x4200000000000000000000000000000000000015" };
              l1StandardBridge: {
                  "1": {
                      address: "0x3154Cf16ccdb4C6d922629664174b904d80F2C35";
                      blockCreated: 17482143;
                  };
              };
              l2CrossDomainMessenger: {
                  address: "0x4200000000000000000000000000000000000007";
              };
              l2Erc721Bridge: { address: "0x4200000000000000000000000000000000000014" };
              l2OutputOracle: {
                  "1": { address: "0x56315b90c40730925ec5485cf004d835058518A0" };
              };
              l2StandardBridge: { address: "0x4200000000000000000000000000000000000010" };
              l2ToL1MessagePasser: {
                  address: "0x4200000000000000000000000000000000000016";
              };
              messageTransmitter: {
                  address: "0xAD09780d193884d503182aD4588450C416D6F9D4";
              };
              multicall3: {
                  address: "0xca11bde05977b3631167028862be2a173976ca11";
                  blockCreated: 5022;
              };
              portal: {
                  "1": {
                      address: "0x49048044D57e1C92A77f79988d21Fa8fAF74E97e";
                      blockCreated: 17482143;
                  };
              };
              tokenMessenger: { address: "0x1682Ae6375C4E4A97e4B583BC394c861A46D8962" };
              USDC: {
                  abi: readonly [
                      {
                          inputs: readonly [
                              { indexed: true; name: "owner"; type: "address" },
                              { indexed: true; name: "spender"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Approval";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { indexed: true; name: "from"; type: "address" },
                              { indexed: true; name: "to"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Transfer";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { name: "owner"; type: "address" },
                              { name: "spender"; type: "address" },
                          ];
                          name: "allowance";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "spender"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "approve";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [{ name: "account"; type: "address" }];
                          name: "balanceOf";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "decimals";
                          outputs: readonly [{ type: "uint8" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "name";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "symbol";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "totalSupply";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transfer";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "sender"; type: "address" },
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transferFrom";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                  ];
                  address: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913";
                  read: { decimals: () => 6 };
              };
          }

          Collection of contracts

        • Optionalcustom?: Record<string, unknown>

          Custom chain data.

        • ReadonlydomainId: 6
        • OptionalensTlds?: readonly string[]

          Collection of ENS TLDs for the chain.

        • Optionalfees?: ChainFees<undefined>

          Modifies how fees are derived.

        • formatters: {
              block: {
                  exclude: undefined | [];
                  format: (
                      args: OpStackRpcBlock<BlockTag, boolean>,
                  ) => {
                      baseFeePerGas: null | bigint;
                      blobGasUsed: bigint;
                      difficulty: bigint;
                      excessBlobGas: bigint;
                      extraData: `0x${string}`;
                      gasLimit: bigint;
                      gasUsed: bigint;
                      hash: null | `0x${string}`;
                      logsBloom: null | `0x${string}`;
                      miner: `0x${string}`;
                      mixHash: `0x${string}`;
                      nonce: null | `0x${string}`;
                      number: null | bigint;
                      parentBeaconBlockRoot?: `0x${string}`;
                      parentHash: `0x${string}`;
                      receiptsRoot: `0x${string}`;
                      sealFields: `0x${string}`[];
                      sha3Uncles: `0x${string}`;
                      size: bigint;
                      stateRoot: `0x${string}`;
                      timestamp: bigint;
                      totalDifficulty: null | bigint;
                      transactions: `0x${string}`[] | OpStackTransaction<boolean>[];
                      transactionsRoot: `0x${string}`;
                      uncles: `0x${string}`[];
                      withdrawals?: Withdrawal[];
                      withdrawalsRoot?: `0x${string}`;
                  };
                  type: "block";
              };
              transaction: {
                  exclude: undefined
                  | [];
                  format: (
                      args: OpStackRpcTransaction<boolean>,
                  ) =>
                      | {
                          blockHash: null
                          | `0x${string}`;
                          blockNumber: null | bigint;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice?: undefined;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: boolean;
                          maxFeePerBlobGas?: undefined;
                          maxFeePerGas: bigint;
                          maxPriorityFeePerGas: bigint;
                          mint?: bigint;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash: `0x${string}`;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "deposit";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity: number;
                      }
                      | {
                          accessList?: undefined;
                          authorizationList?: undefined;
                          blobVersionedHashes?: undefined;
                          blockHash: null
                          | `0x${string}`;
                          blockNumber: null | bigint;
                          chainId?: number;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice: bigint;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: undefined;
                          maxFeePerBlobGas?: undefined;
                          maxFeePerGas?: undefined;
                          maxPriorityFeePerGas?: undefined;
                          mint?: undefined;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash?: undefined;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "legacy";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity?: undefined;
                      }
                      | {
                          accessList: AccessList;
                          authorizationList?: undefined;
                          blobVersionedHashes?: undefined;
                          blockHash: null
                          | `0x${string}`;
                          blockNumber: null | bigint;
                          chainId: number;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice: bigint;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: undefined;
                          maxFeePerBlobGas?: undefined;
                          maxFeePerGas?: undefined;
                          maxPriorityFeePerGas?: undefined;
                          mint?: undefined;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash?: undefined;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "eip2930";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity: number;
                      }
                      | {
                          accessList: AccessList;
                          authorizationList?: undefined;
                          blobVersionedHashes?: undefined;
                          blockHash: null
                          | `0x${string}`;
                          blockNumber: null | bigint;
                          chainId: number;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice?: undefined;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: undefined;
                          maxFeePerBlobGas?: undefined;
                          maxFeePerGas: bigint;
                          maxPriorityFeePerGas: bigint;
                          mint?: undefined;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash?: undefined;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "eip1559";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity: number;
                      }
                      | {
                          accessList: AccessList;
                          authorizationList?: undefined;
                          blobVersionedHashes: readonly `0x${string}`[];
                          blockHash: null
                          | `0x${string}`;
                          blockNumber: null | bigint;
                          chainId: number;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice?: undefined;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: undefined;
                          maxFeePerBlobGas: bigint;
                          maxFeePerGas: bigint;
                          maxPriorityFeePerGas: bigint;
                          mint?: undefined;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash?: undefined;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "eip4844";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity: number;
                      }
                      | {
                          accessList: AccessList;
                          authorizationList: SignedAuthorizationList<number>;
                          blobVersionedHashes?: undefined;
                          blockHash: null | `0x${string}`;
                          blockNumber: null | bigint;
                          chainId: number;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice?: undefined;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: undefined;
                          maxFeePerBlobGas?: undefined;
                          maxFeePerGas: bigint;
                          maxPriorityFeePerGas: bigint;
                          mint?: undefined;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash?: undefined;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "eip7702";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity: number;
                      };
                  type: "transaction";
              };
              transactionReceipt: {
                  exclude: undefined
                  | [];
                  format: (
                      args: OpStackRpcTransactionReceipt,
                  ) => {
                      blobGasPrice?: bigint;
                      blobGasUsed?: bigint;
                      blockHash: `0x${string}`;
                      blockNumber: bigint;
                      contractAddress: undefined | null | `0x${string}`;
                      cumulativeGasUsed: bigint;
                      effectiveGasPrice: bigint;
                      from: `0x${string}`;
                      gasUsed: bigint;
                      l1Fee: null | bigint;
                      l1FeeScalar: null | number;
                      l1GasPrice: null | bigint;
                      l1GasUsed: null | bigint;
                      logs: Log<
                          bigint,
                          number,
                          false,
                          undefined,
                          undefined,
                          undefined,
                          undefined,
                      >[];
                      logsBloom: `0x${string}`;
                      root?: `0x${string}`;
                      status: "success"
                      | "reverted";
                      to: null | `0x${string}`;
                      transactionHash: `0x${string}`;
                      transactionIndex: number;
                      type: TransactionType;
                  };
                  type: "transactionReceipt";
              };
          }

          Modifies how data is formatted and typed (e.g. blocks and transactions)

        • id: 8453

          ID in number form

        • name: "Base"

          Human-readable name

        • nativeCurrency: { decimals: 18; name: "Ether"; symbol: "ETH" }

          Currency used by chain

        • rpcUrls: { default: { http: readonly ["https://mainnet.base.org"] } }

          Collection of RPC endpoints

        • serializers: {
              transaction: (
                  transaction: OpStackTransactionSerializable,
                  signature?: Signature,
              ) =>
                  | `0x02${string}`
                  | `0x01${string}`
                  | `0x03${string}`
                  | `0x04${string}`
                  | TransactionSerializedLegacy
                  | `0x7e${string}`;
          }

          Modifies how data is serialized (e.g. transactions).

        • sourceId: 1

          Source Chain ID (ie. the L1 chain)

        • Optionaltestnet?: boolean

          Flag for test networks

      • {
            blockchainId: "BASE-SEPOLIA";
            blockchainVm: "EVM";
            blockExplorers: {
                default: {
                    apiUrl: "https://api-sepolia.basescan.org/api";
                    name: "Basescan";
                    url: "https://sepolia.basescan.org";
                };
            };
            blockTime: 2000;
            contracts: {
                disputeGameFactory: {
                    "11155111": { address: "0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1" };
                };
                EURC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x808456652fdb597867f38412077A9182bf77359F";
                    read: { decimals: () => 6 };
                };
                gasPriceOracle: { address: "0x420000000000000000000000000000000000000F" };
                l1Block: { address: "0x4200000000000000000000000000000000000015" };
                l1StandardBridge: {
                    "11155111": {
                        address: "0xfd0Bf71F60660E2f608ed56e1659C450eB113120";
                        blockCreated: 4446677;
                    };
                };
                l2CrossDomainMessenger: {
                    address: "0x4200000000000000000000000000000000000007";
                };
                l2Erc721Bridge: { address: "0x4200000000000000000000000000000000000014" };
                l2OutputOracle: {
                    "11155111": { address: "0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254" };
                };
                l2StandardBridge: {
                    address: "0x4200000000000000000000000000000000000010";
                };
                l2ToL1MessagePasser: {
                    address: "0x4200000000000000000000000000000000000016";
                };
                messageTransmitter: {
                    address: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD";
                };
                multicall3: {
                    address: "0xca11bde05977b3631167028862be2a173976ca11";
                    blockCreated: 1059647;
                };
                portal: {
                    "11155111": {
                        address: "0x49f53e41452c74589e85ca1677426ba426459e85";
                        blockCreated: 4446677;
                    };
                };
                tokenMessenger: { address: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5" };
                USDC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x036CbD53842c5426634e7929541eC2318f3dCF7e";
                    read: { decimals: () => 6 };
                };
            };
            custom?: Record<string, unknown>;
            domainId: 6;
            ensTlds?: readonly string[];
            fees?: ChainFees<undefined>;
            formatters: {
                block: {
                    exclude: undefined | [];
                    format: (
                        args: OpStackRpcBlock<BlockTag, boolean>,
                    ) => {
                        baseFeePerGas: null | bigint;
                        blobGasUsed: bigint;
                        difficulty: bigint;
                        excessBlobGas: bigint;
                        extraData: `0x${string}`;
                        gasLimit: bigint;
                        gasUsed: bigint;
                        hash: null | `0x${string}`;
                        logsBloom: null | `0x${string}`;
                        miner: `0x${string}`;
                        mixHash: `0x${string}`;
                        nonce: null | `0x${string}`;
                        number: null | bigint;
                        parentBeaconBlockRoot?: `0x${string}`;
                        parentHash: `0x${string}`;
                        receiptsRoot: `0x${string}`;
                        sealFields: `0x${string}`[];
                        sha3Uncles: `0x${string}`;
                        size: bigint;
                        stateRoot: `0x${string}`;
                        timestamp: bigint;
                        totalDifficulty: null | bigint;
                        transactions: `0x${string}`[] | OpStackTransaction<boolean>[];
                        transactionsRoot: `0x${string}`;
                        uncles: `0x${string}`[];
                        withdrawals?: Withdrawal[];
                        withdrawalsRoot?: `0x${string}`;
                    };
                    type: "block";
                };
                transaction: {
                    exclude: undefined
                    | [];
                    format: (
                        args: OpStackRpcTransaction<boolean>,
                    ) =>
                        | {
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: boolean;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: bigint;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash: `0x${string}`;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "deposit";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList?: undefined;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId?: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice: bigint;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas?: undefined;
                            maxPriorityFeePerGas?: undefined;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "legacy";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity?: undefined;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice: bigint;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas?: undefined;
                            maxPriorityFeePerGas?: undefined;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip2930";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip1559";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes: readonly `0x${string}`[];
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas: bigint;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip4844";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList: SignedAuthorizationList<number>;
                            blobVersionedHashes?: undefined;
                            blockHash: null | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip7702";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        };
                    type: "transaction";
                };
                transactionReceipt: {
                    exclude: undefined
                    | [];
                    format: (
                        args: OpStackRpcTransactionReceipt,
                    ) => {
                        blobGasPrice?: bigint;
                        blobGasUsed?: bigint;
                        blockHash: `0x${string}`;
                        blockNumber: bigint;
                        contractAddress: undefined | null | `0x${string}`;
                        cumulativeGasUsed: bigint;
                        effectiveGasPrice: bigint;
                        from: `0x${string}`;
                        gasUsed: bigint;
                        l1Fee: null | bigint;
                        l1FeeScalar: null | number;
                        l1GasPrice: null | bigint;
                        l1GasUsed: null | bigint;
                        logs: Log<
                            bigint,
                            number,
                            false,
                            undefined,
                            undefined,
                            undefined,
                            undefined,
                        >[];
                        logsBloom: `0x${string}`;
                        root?: `0x${string}`;
                        status: "success"
                        | "reverted";
                        to: null | `0x${string}`;
                        transactionHash: `0x${string}`;
                        transactionIndex: number;
                        type: TransactionType;
                    };
                    type: "transactionReceipt";
                };
            };
            id: 84532;
            name: "Base Sepolia";
            nativeCurrency: { decimals: 18; name: "Sepolia Ether"; symbol: "ETH" };
            network: "base-sepolia";
            rpcUrls: { default: { http: readonly ["https://sepolia.base.org"] } };
            serializers: {
                transaction: (
                    transaction: OpStackTransactionSerializable,
                    signature?: Signature,
                ) =>
                    | `0x02${string}`
                    | `0x01${string}`
                    | `0x03${string}`
                    | `0x04${string}`
                    | TransactionSerializedLegacy
                    | `0x7e${string}`;
            };
            sourceId: 11155111;
            testnet: true;
        }
        • ReadonlyblockchainId: "BASE-SEPOLIA"
        • ReadonlyblockchainVm: "EVM"
        • blockExplorers: {
              default: {
                  apiUrl: "https://api-sepolia.basescan.org/api";
                  name: "Basescan";
                  url: "https://sepolia.basescan.org";
              };
          }

          Collection of block explorers

        • blockTime: 2000

          Block time in milliseconds.

        • contracts: {
              disputeGameFactory: {
                  "11155111": { address: "0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1" };
              };
              EURC: {
                  abi: readonly [
                      {
                          inputs: readonly [
                              { indexed: true; name: "owner"; type: "address" },
                              { indexed: true; name: "spender"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Approval";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { indexed: true; name: "from"; type: "address" },
                              { indexed: true; name: "to"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Transfer";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { name: "owner"; type: "address" },
                              { name: "spender"; type: "address" },
                          ];
                          name: "allowance";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "spender"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "approve";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [{ name: "account"; type: "address" }];
                          name: "balanceOf";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "decimals";
                          outputs: readonly [{ type: "uint8" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "name";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "symbol";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "totalSupply";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transfer";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "sender"; type: "address" },
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transferFrom";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                  ];
                  address: "0x808456652fdb597867f38412077A9182bf77359F";
                  read: { decimals: () => 6 };
              };
              gasPriceOracle: { address: "0x420000000000000000000000000000000000000F" };
              l1Block: { address: "0x4200000000000000000000000000000000000015" };
              l1StandardBridge: {
                  "11155111": {
                      address: "0xfd0Bf71F60660E2f608ed56e1659C450eB113120";
                      blockCreated: 4446677;
                  };
              };
              l2CrossDomainMessenger: {
                  address: "0x4200000000000000000000000000000000000007";
              };
              l2Erc721Bridge: { address: "0x4200000000000000000000000000000000000014" };
              l2OutputOracle: {
                  "11155111": { address: "0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254" };
              };
              l2StandardBridge: { address: "0x4200000000000000000000000000000000000010" };
              l2ToL1MessagePasser: {
                  address: "0x4200000000000000000000000000000000000016";
              };
              messageTransmitter: {
                  address: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD";
              };
              multicall3: {
                  address: "0xca11bde05977b3631167028862be2a173976ca11";
                  blockCreated: 1059647;
              };
              portal: {
                  "11155111": {
                      address: "0x49f53e41452c74589e85ca1677426ba426459e85";
                      blockCreated: 4446677;
                  };
              };
              tokenMessenger: { address: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5" };
              USDC: {
                  abi: readonly [
                      {
                          inputs: readonly [
                              { indexed: true; name: "owner"; type: "address" },
                              { indexed: true; name: "spender"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Approval";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { indexed: true; name: "from"; type: "address" },
                              { indexed: true; name: "to"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Transfer";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { name: "owner"; type: "address" },
                              { name: "spender"; type: "address" },
                          ];
                          name: "allowance";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "spender"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "approve";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [{ name: "account"; type: "address" }];
                          name: "balanceOf";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "decimals";
                          outputs: readonly [{ type: "uint8" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "name";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "symbol";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "totalSupply";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transfer";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "sender"; type: "address" },
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transferFrom";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                  ];
                  address: "0x036CbD53842c5426634e7929541eC2318f3dCF7e";
                  read: { decimals: () => 6 };
              };
          }

          Collection of contracts

        • Optionalcustom?: Record<string, unknown>

          Custom chain data.

        • ReadonlydomainId: 6
        • OptionalensTlds?: readonly string[]

          Collection of ENS TLDs for the chain.

        • Optionalfees?: ChainFees<undefined>

          Modifies how fees are derived.

        • formatters: {
              block: {
                  exclude: undefined | [];
                  format: (
                      args: OpStackRpcBlock<BlockTag, boolean>,
                  ) => {
                      baseFeePerGas: null | bigint;
                      blobGasUsed: bigint;
                      difficulty: bigint;
                      excessBlobGas: bigint;
                      extraData: `0x${string}`;
                      gasLimit: bigint;
                      gasUsed: bigint;
                      hash: null | `0x${string}`;
                      logsBloom: null | `0x${string}`;
                      miner: `0x${string}`;
                      mixHash: `0x${string}`;
                      nonce: null | `0x${string}`;
                      number: null | bigint;
                      parentBeaconBlockRoot?: `0x${string}`;
                      parentHash: `0x${string}`;
                      receiptsRoot: `0x${string}`;
                      sealFields: `0x${string}`[];
                      sha3Uncles: `0x${string}`;
                      size: bigint;
                      stateRoot: `0x${string}`;
                      timestamp: bigint;
                      totalDifficulty: null | bigint;
                      transactions: `0x${string}`[] | OpStackTransaction<boolean>[];
                      transactionsRoot: `0x${string}`;
                      uncles: `0x${string}`[];
                      withdrawals?: Withdrawal[];
                      withdrawalsRoot?: `0x${string}`;
                  };
                  type: "block";
              };
              transaction: {
                  exclude: undefined
                  | [];
                  format: (
                      args: OpStackRpcTransaction<boolean>,
                  ) =>
                      | {
                          blockHash: null
                          | `0x${string}`;
                          blockNumber: null | bigint;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice?: undefined;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: boolean;
                          maxFeePerBlobGas?: undefined;
                          maxFeePerGas: bigint;
                          maxPriorityFeePerGas: bigint;
                          mint?: bigint;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash: `0x${string}`;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "deposit";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity: number;
                      }
                      | {
                          accessList?: undefined;
                          authorizationList?: undefined;
                          blobVersionedHashes?: undefined;
                          blockHash: null
                          | `0x${string}`;
                          blockNumber: null | bigint;
                          chainId?: number;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice: bigint;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: undefined;
                          maxFeePerBlobGas?: undefined;
                          maxFeePerGas?: undefined;
                          maxPriorityFeePerGas?: undefined;
                          mint?: undefined;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash?: undefined;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "legacy";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity?: undefined;
                      }
                      | {
                          accessList: AccessList;
                          authorizationList?: undefined;
                          blobVersionedHashes?: undefined;
                          blockHash: null
                          | `0x${string}`;
                          blockNumber: null | bigint;
                          chainId: number;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice: bigint;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: undefined;
                          maxFeePerBlobGas?: undefined;
                          maxFeePerGas?: undefined;
                          maxPriorityFeePerGas?: undefined;
                          mint?: undefined;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash?: undefined;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "eip2930";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity: number;
                      }
                      | {
                          accessList: AccessList;
                          authorizationList?: undefined;
                          blobVersionedHashes?: undefined;
                          blockHash: null
                          | `0x${string}`;
                          blockNumber: null | bigint;
                          chainId: number;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice?: undefined;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: undefined;
                          maxFeePerBlobGas?: undefined;
                          maxFeePerGas: bigint;
                          maxPriorityFeePerGas: bigint;
                          mint?: undefined;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash?: undefined;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "eip1559";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity: number;
                      }
                      | {
                          accessList: AccessList;
                          authorizationList?: undefined;
                          blobVersionedHashes: readonly `0x${string}`[];
                          blockHash: null
                          | `0x${string}`;
                          blockNumber: null | bigint;
                          chainId: number;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice?: undefined;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: undefined;
                          maxFeePerBlobGas: bigint;
                          maxFeePerGas: bigint;
                          maxPriorityFeePerGas: bigint;
                          mint?: undefined;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash?: undefined;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "eip4844";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity: number;
                      }
                      | {
                          accessList: AccessList;
                          authorizationList: SignedAuthorizationList<number>;
                          blobVersionedHashes?: undefined;
                          blockHash: null | `0x${string}`;
                          blockNumber: null | bigint;
                          chainId: number;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice?: undefined;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: undefined;
                          maxFeePerBlobGas?: undefined;
                          maxFeePerGas: bigint;
                          maxPriorityFeePerGas: bigint;
                          mint?: undefined;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash?: undefined;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "eip7702";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity: number;
                      };
                  type: "transaction";
              };
              transactionReceipt: {
                  exclude: undefined
                  | [];
                  format: (
                      args: OpStackRpcTransactionReceipt,
                  ) => {
                      blobGasPrice?: bigint;
                      blobGasUsed?: bigint;
                      blockHash: `0x${string}`;
                      blockNumber: bigint;
                      contractAddress: undefined | null | `0x${string}`;
                      cumulativeGasUsed: bigint;
                      effectiveGasPrice: bigint;
                      from: `0x${string}`;
                      gasUsed: bigint;
                      l1Fee: null | bigint;
                      l1FeeScalar: null | number;
                      l1GasPrice: null | bigint;
                      l1GasUsed: null | bigint;
                      logs: Log<
                          bigint,
                          number,
                          false,
                          undefined,
                          undefined,
                          undefined,
                          undefined,
                      >[];
                      logsBloom: `0x${string}`;
                      root?: `0x${string}`;
                      status: "success"
                      | "reverted";
                      to: null | `0x${string}`;
                      transactionHash: `0x${string}`;
                      transactionIndex: number;
                      type: TransactionType;
                  };
                  type: "transactionReceipt";
              };
          }

          Modifies how data is formatted and typed (e.g. blocks and transactions)

        • id: 84532

          ID in number form

        • name: "Base Sepolia"

          Human-readable name

        • nativeCurrency: { decimals: 18; name: "Sepolia Ether"; symbol: "ETH" }

          Currency used by chain

        • Readonlynetwork: "base-sepolia"
        • rpcUrls: { default: { http: readonly ["https://sepolia.base.org"] } }

          Collection of RPC endpoints

        • serializers: {
              transaction: (
                  transaction: OpStackTransactionSerializable,
                  signature?: Signature,
              ) =>
                  | `0x02${string}`
                  | `0x01${string}`
                  | `0x03${string}`
                  | `0x04${string}`
                  | TransactionSerializedLegacy
                  | `0x7e${string}`;
          }

          Modifies how data is serialized (e.g. transactions).

        • sourceId: 11155111

          Source Chain ID (ie. the L1 chain)

        • testnet: true

          Flag for test networks

      • {
            blockchainId: "ETH";
            blockchainVm: "EVM";
            blockExplorers: {
                default: {
                    apiUrl: "https://api.etherscan.io/api";
                    name: "Etherscan";
                    url: "https://etherscan.io";
                };
            };
            blockTime?: number;
            contracts: {
                ensRegistry: { address: "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e" };
                ensUniversalResolver: {
                    address: "0xce01f8eee7E479C928F8919abD53E553a36CeF67";
                    blockCreated: 19258213;
                };
                EURC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c";
                    read: { decimals: () => 6 };
                };
                messageTransmitter: {
                    address: "0x0a992d191deec32afe36203ad87d7d289a738f81";
                };
                multicall3: {
                    address: "0xca11bde05977b3631167028862be2a173976ca11";
                    blockCreated: 14353601;
                };
                tokenMessenger: { address: "0xbd3fa81b58ba92a82136038b25adec7066af3155" };
                USDC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48";
                    read: { decimals: () => 6 };
                };
            };
            custom?: Record<string, unknown>;
            domainId: 0;
            ensTlds?: readonly string[];
            fees?: ChainFees<undefined>;
            formatters?: undefined;
            id: 1;
            name: "Ethereum";
            nativeCurrency: { decimals: 18; name: "Ether"; symbol: "ETH" };
            rpcUrls: { default: { http: readonly ["https://eth.merkle.io"] } };
            serializers?: ChainSerializers<
                undefined,
                TransactionSerializable<bigint, number>,
            >;
            sourceId?: number;
            testnet?: boolean;
        }
        • ReadonlyblockchainId: "ETH"
        • ReadonlyblockchainVm: "EVM"
        • blockExplorers: {
              default: {
                  apiUrl: "https://api.etherscan.io/api";
                  name: "Etherscan";
                  url: "https://etherscan.io";
              };
          }

          Collection of block explorers

        • OptionalblockTime?: number

          Block time in milliseconds.

        • contracts: {
              ensRegistry: { address: "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e" };
              ensUniversalResolver: {
                  address: "0xce01f8eee7E479C928F8919abD53E553a36CeF67";
                  blockCreated: 19258213;
              };
              EURC: {
                  abi: readonly [
                      {
                          inputs: readonly [
                              { indexed: true; name: "owner"; type: "address" },
                              { indexed: true; name: "spender"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Approval";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { indexed: true; name: "from"; type: "address" },
                              { indexed: true; name: "to"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Transfer";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { name: "owner"; type: "address" },
                              { name: "spender"; type: "address" },
                          ];
                          name: "allowance";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "spender"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "approve";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [{ name: "account"; type: "address" }];
                          name: "balanceOf";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "decimals";
                          outputs: readonly [{ type: "uint8" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "name";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "symbol";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "totalSupply";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transfer";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "sender"; type: "address" },
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transferFrom";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                  ];
                  address: "0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c";
                  read: { decimals: () => 6 };
              };
              messageTransmitter: {
                  address: "0x0a992d191deec32afe36203ad87d7d289a738f81";
              };
              multicall3: {
                  address: "0xca11bde05977b3631167028862be2a173976ca11";
                  blockCreated: 14353601;
              };
              tokenMessenger: { address: "0xbd3fa81b58ba92a82136038b25adec7066af3155" };
              USDC: {
                  abi: readonly [
                      {
                          inputs: readonly [
                              { indexed: true; name: "owner"; type: "address" },
                              { indexed: true; name: "spender"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Approval";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { indexed: true; name: "from"; type: "address" },
                              { indexed: true; name: "to"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Transfer";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { name: "owner"; type: "address" },
                              { name: "spender"; type: "address" },
                          ];
                          name: "allowance";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "spender"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "approve";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [{ name: "account"; type: "address" }];
                          name: "balanceOf";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "decimals";
                          outputs: readonly [{ type: "uint8" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "name";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "symbol";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "totalSupply";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transfer";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "sender"; type: "address" },
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transferFrom";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                  ];
                  address: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48";
                  read: { decimals: () => 6 };
              };
          }

          Collection of contracts

        • Optionalcustom?: Record<string, unknown>

          Custom chain data.

        • ReadonlydomainId: 0
        • OptionalensTlds?: readonly string[]

          Collection of ENS TLDs for the chain.

        • Optionalfees?: ChainFees<undefined>

          Modifies how fees are derived.

        • Optional Readonlyformatters?: undefined
        • id: 1

          ID in number form

        • name: "Ethereum"

          Human-readable name

        • nativeCurrency: { decimals: 18; name: "Ether"; symbol: "ETH" }

          Currency used by chain

        • rpcUrls: { default: { http: readonly ["https://eth.merkle.io"] } }

          Collection of RPC endpoints

        • Optionalserializers?: ChainSerializers<undefined, TransactionSerializable<bigint, number>>

          Modifies how data is serialized (e.g. transactions).

        • OptionalsourceId?: number

          Source Chain ID (ie. the L1 chain)

        • Optionaltestnet?: boolean

          Flag for test networks

      • {
            blockchainId: "ETH-SEPOLIA";
            blockchainVm: "EVM";
            blockExplorers: {
                default: {
                    apiUrl: "https://api-sepolia.etherscan.io/api";
                    name: "Etherscan";
                    url: "https://sepolia.etherscan.io";
                };
            };
            blockTime?: number;
            contracts: {
                ensRegistry: { address: "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e" };
                ensUniversalResolver: {
                    address: "0xc8Af999e38273D658BE1b921b88A9Ddf005769cC";
                    blockCreated: 5317080;
                };
                EURC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x08210F9170F89Ab7658F0B5E3fF39b0E03C594D4";
                    read: { decimals: () => 6 };
                };
                messageTransmitter: {
                    address: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD";
                };
                multicall3: {
                    address: "0xca11bde05977b3631167028862be2a173976ca11";
                    blockCreated: 751532;
                };
                tokenMessenger: { address: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5" };
                USDC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238";
                    read: { decimals: () => 6 };
                };
            };
            custom?: Record<string, unknown>;
            domainId: 0;
            ensTlds?: readonly string[];
            fees?: ChainFees<undefined>;
            formatters?: undefined;
            id: 11155111;
            name: "Sepolia";
            nativeCurrency: { decimals: 18; name: "Sepolia Ether"; symbol: "ETH" };
            rpcUrls: { default: { http: readonly ["https://sepolia.drpc.org"] } };
            serializers?: ChainSerializers<
                undefined,
                TransactionSerializable<bigint, number>,
            >;
            sourceId?: number;
            testnet: true;
        }
        • ReadonlyblockchainId: "ETH-SEPOLIA"
        • ReadonlyblockchainVm: "EVM"
        • blockExplorers: {
              default: {
                  apiUrl: "https://api-sepolia.etherscan.io/api";
                  name: "Etherscan";
                  url: "https://sepolia.etherscan.io";
              };
          }

          Collection of block explorers

        • OptionalblockTime?: number

          Block time in milliseconds.

        • contracts: {
              ensRegistry: { address: "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e" };
              ensUniversalResolver: {
                  address: "0xc8Af999e38273D658BE1b921b88A9Ddf005769cC";
                  blockCreated: 5317080;
              };
              EURC: {
                  abi: readonly [
                      {
                          inputs: readonly [
                              { indexed: true; name: "owner"; type: "address" },
                              { indexed: true; name: "spender"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Approval";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { indexed: true; name: "from"; type: "address" },
                              { indexed: true; name: "to"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Transfer";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { name: "owner"; type: "address" },
                              { name: "spender"; type: "address" },
                          ];
                          name: "allowance";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "spender"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "approve";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [{ name: "account"; type: "address" }];
                          name: "balanceOf";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "decimals";
                          outputs: readonly [{ type: "uint8" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "name";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "symbol";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "totalSupply";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transfer";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "sender"; type: "address" },
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transferFrom";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                  ];
                  address: "0x08210F9170F89Ab7658F0B5E3fF39b0E03C594D4";
                  read: { decimals: () => 6 };
              };
              messageTransmitter: {
                  address: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD";
              };
              multicall3: {
                  address: "0xca11bde05977b3631167028862be2a173976ca11";
                  blockCreated: 751532;
              };
              tokenMessenger: { address: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5" };
              USDC: {
                  abi: readonly [
                      {
                          inputs: readonly [
                              { indexed: true; name: "owner"; type: "address" },
                              { indexed: true; name: "spender"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Approval";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { indexed: true; name: "from"; type: "address" },
                              { indexed: true; name: "to"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Transfer";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { name: "owner"; type: "address" },
                              { name: "spender"; type: "address" },
                          ];
                          name: "allowance";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "spender"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "approve";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [{ name: "account"; type: "address" }];
                          name: "balanceOf";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "decimals";
                          outputs: readonly [{ type: "uint8" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "name";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "symbol";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "totalSupply";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transfer";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "sender"; type: "address" },
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transferFrom";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                  ];
                  address: "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238";
                  read: { decimals: () => 6 };
              };
          }

          Collection of contracts

        • Optionalcustom?: Record<string, unknown>

          Custom chain data.

        • ReadonlydomainId: 0
        • OptionalensTlds?: readonly string[]

          Collection of ENS TLDs for the chain.

        • Optionalfees?: ChainFees<undefined>

          Modifies how fees are derived.

        • Optional Readonlyformatters?: undefined
        • id: 11155111

          ID in number form

        • name: "Sepolia"

          Human-readable name

        • nativeCurrency: { decimals: 18; name: "Sepolia Ether"; symbol: "ETH" }

          Currency used by chain

        • rpcUrls: { default: { http: readonly ["https://sepolia.drpc.org"] } }

          Collection of RPC endpoints

        • Optionalserializers?: ChainSerializers<undefined, TransactionSerializable<bigint, number>>

          Modifies how data is serialized (e.g. transactions).

        • OptionalsourceId?: number

          Source Chain ID (ie. the L1 chain)

        • testnet: true

          Flag for test networks

      • {
            blockchainId: "MATIC";
            blockchainVm: "EVM";
            blockExplorers: {
                default: {
                    apiUrl: "https://api.polygonscan.com/api";
                    name: "PolygonScan";
                    url: "https://polygonscan.com";
                };
            };
            blockTime?: number;
            contracts: {
                messageTransmitter: {
                    address: "0xF3be9355363857F3e001be68856A2f96b4C39Ba9";
                };
                multicall3: {
                    address: "0xca11bde05977b3631167028862be2a173976ca11";
                    blockCreated: 25770160;
                };
                tokenMessenger: { address: "0x9daF8c91AEFAE50b9c0E69629D3F6Ca40cA3B3FE" };
                USDC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x3c499c542cef5e3811e1192ce70d8cc03d5c3359";
                    read: { decimals: () => 6 };
                };
            };
            custom?: Record<string, unknown>;
            domainId: 7;
            ensTlds?: readonly string[];
            fees?: ChainFees<undefined>;
            formatters?: undefined;
            id: 137;
            name: "Polygon";
            nativeCurrency: { decimals: 18; name: "POL"; symbol: "POL" };
            rpcUrls: { default: { http: readonly ["https://polygon-rpc.com"] } };
            serializers?: ChainSerializers<
                undefined,
                TransactionSerializable<bigint, number>,
            >;
            sourceId?: number;
            testnet?: boolean;
        }
        • ReadonlyblockchainId: "MATIC"
        • ReadonlyblockchainVm: "EVM"
        • blockExplorers: {
              default: {
                  apiUrl: "https://api.polygonscan.com/api";
                  name: "PolygonScan";
                  url: "https://polygonscan.com";
              };
          }

          Collection of block explorers

        • OptionalblockTime?: number

          Block time in milliseconds.

        • contracts: {
              messageTransmitter: {
                  address: "0xF3be9355363857F3e001be68856A2f96b4C39Ba9";
              };
              multicall3: {
                  address: "0xca11bde05977b3631167028862be2a173976ca11";
                  blockCreated: 25770160;
              };
              tokenMessenger: { address: "0x9daF8c91AEFAE50b9c0E69629D3F6Ca40cA3B3FE" };
              USDC: {
                  abi: readonly [
                      {
                          inputs: readonly [
                              { indexed: true; name: "owner"; type: "address" },
                              { indexed: true; name: "spender"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Approval";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { indexed: true; name: "from"; type: "address" },
                              { indexed: true; name: "to"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Transfer";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { name: "owner"; type: "address" },
                              { name: "spender"; type: "address" },
                          ];
                          name: "allowance";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "spender"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "approve";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [{ name: "account"; type: "address" }];
                          name: "balanceOf";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "decimals";
                          outputs: readonly [{ type: "uint8" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "name";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "symbol";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "totalSupply";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transfer";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "sender"; type: "address" },
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transferFrom";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                  ];
                  address: "0x3c499c542cef5e3811e1192ce70d8cc03d5c3359";
                  read: { decimals: () => 6 };
              };
          }

          Collection of contracts

        • Optionalcustom?: Record<string, unknown>

          Custom chain data.

        • ReadonlydomainId: 7
        • OptionalensTlds?: readonly string[]

          Collection of ENS TLDs for the chain.

        • Optionalfees?: ChainFees<undefined>

          Modifies how fees are derived.

        • Optional Readonlyformatters?: undefined
        • id: 137

          ID in number form

        • name: "Polygon"

          Human-readable name

        • nativeCurrency: { decimals: 18; name: "POL"; symbol: "POL" }

          Currency used by chain

        • rpcUrls: { default: { http: readonly ["https://polygon-rpc.com"] } }

          Collection of RPC endpoints

        • Optionalserializers?: ChainSerializers<undefined, TransactionSerializable<bigint, number>>

          Modifies how data is serialized (e.g. transactions).

        • OptionalsourceId?: number

          Source Chain ID (ie. the L1 chain)

        • Optionaltestnet?: boolean

          Flag for test networks

      • {
            blockchainId: "MATIC-AMOY";
            blockchainVm: "EVM";
            blockExplorers: {
                default: {
                    apiUrl: "https://api-amoy.polygonscan.com/api";
                    name: "PolygonScan";
                    url: "https://amoy.polygonscan.com";
                };
            };
            blockTime?: number;
            contracts: {
                messageTransmitter: {
                    address: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD";
                };
                multicall3: {
                    address: "0xca11bde05977b3631167028862be2a173976ca11";
                    blockCreated: 3127388;
                };
                tokenMessenger: { address: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5" };
                USDC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x41e94eb019c0762f9bfcf9fb1e58725bfb0e7582";
                    read: { decimals: () => 6 };
                };
            };
            custom?: Record<string, unknown>;
            domainId: 7;
            ensTlds?: readonly string[];
            fees?: ChainFees<undefined>;
            formatters?: undefined;
            id: 80002;
            name: "Polygon Amoy";
            nativeCurrency: { decimals: 18; name: "POL"; symbol: "POL" };
            rpcUrls: {
                default: { http: readonly ["https://rpc-amoy.polygon.technology"] };
            };
            serializers?: ChainSerializers<
                undefined,
                TransactionSerializable<bigint, number>,
            >;
            sourceId?: number;
            testnet: true;
        }
        • ReadonlyblockchainId: "MATIC-AMOY"
        • ReadonlyblockchainVm: "EVM"
        • blockExplorers: {
              default: {
                  apiUrl: "https://api-amoy.polygonscan.com/api";
                  name: "PolygonScan";
                  url: "https://amoy.polygonscan.com";
              };
          }

          Collection of block explorers

        • OptionalblockTime?: number

          Block time in milliseconds.

        • contracts: {
              messageTransmitter: {
                  address: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD";
              };
              multicall3: {
                  address: "0xca11bde05977b3631167028862be2a173976ca11";
                  blockCreated: 3127388;
              };
              tokenMessenger: { address: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5" };
              USDC: {
                  abi: readonly [
                      {
                          inputs: readonly [
                              { indexed: true; name: "owner"; type: "address" },
                              { indexed: true; name: "spender"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Approval";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { indexed: true; name: "from"; type: "address" },
                              { indexed: true; name: "to"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Transfer";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { name: "owner"; type: "address" },
                              { name: "spender"; type: "address" },
                          ];
                          name: "allowance";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "spender"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "approve";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [{ name: "account"; type: "address" }];
                          name: "balanceOf";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "decimals";
                          outputs: readonly [{ type: "uint8" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "name";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "symbol";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "totalSupply";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transfer";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "sender"; type: "address" },
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transferFrom";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                  ];
                  address: "0x41e94eb019c0762f9bfcf9fb1e58725bfb0e7582";
                  read: { decimals: () => 6 };
              };
          }

          Collection of contracts

        • Optionalcustom?: Record<string, unknown>

          Custom chain data.

        • ReadonlydomainId: 7
        • OptionalensTlds?: readonly string[]

          Collection of ENS TLDs for the chain.

        • Optionalfees?: ChainFees<undefined>

          Modifies how fees are derived.

        • Optional Readonlyformatters?: undefined
        • id: 80002

          ID in number form

        • name: "Polygon Amoy"

          Human-readable name

        • nativeCurrency: { decimals: 18; name: "POL"; symbol: "POL" }

          Currency used by chain

        • rpcUrls: { default: { http: readonly ["https://rpc-amoy.polygon.technology"] } }

          Collection of RPC endpoints

        • Optionalserializers?: ChainSerializers<undefined, TransactionSerializable<bigint, number>>

          Modifies how data is serialized (e.g. transactions).

        • OptionalsourceId?: number

          Source Chain ID (ie. the L1 chain)

        • testnet: true

          Flag for test networks

      • {
            blockchainId: "OP";
            blockchainVm: "EVM";
            blockExplorers: {
                default: {
                    apiUrl: "https://api-optimistic.etherscan.io/api";
                    name: "Optimism Explorer";
                    url: "https://optimistic.etherscan.io";
                };
            };
            blockTime: 2000;
            contracts: {
                disputeGameFactory: {
                    "1": { address: "0xe5965Ab5962eDc7477C8520243A95517CD252fA9" };
                };
                gasPriceOracle: { address: "0x420000000000000000000000000000000000000F" };
                l1Block: { address: "0x4200000000000000000000000000000000000015" };
                l1StandardBridge: {
                    "1": { address: "0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1" };
                };
                l2CrossDomainMessenger: {
                    address: "0x4200000000000000000000000000000000000007";
                };
                l2Erc721Bridge: { address: "0x4200000000000000000000000000000000000014" };
                l2OutputOracle: {
                    "1": { address: "0xdfe97868233d1aa22e815a266982f2cf17685a27" };
                };
                l2StandardBridge: {
                    address: "0x4200000000000000000000000000000000000010";
                };
                l2ToL1MessagePasser: {
                    address: "0x4200000000000000000000000000000000000016";
                };
                messageTransmitter: {
                    address: "0x4d41f22c5a0e5c74090899e5a8fb597a8842b3e8";
                };
                multicall3: {
                    address: "0xca11bde05977b3631167028862be2a173976ca11";
                    blockCreated: 4286263;
                };
                portal: { "1": { address: "0xbEb5Fc579115071764c7423A4f12eDde41f106Ed" } };
                tokenMessenger: { address: "0x2B4069517957735bE00ceE0fadAE88a26365528f" };
                USDC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x0b2c639c533813f4aa9d7837caf62653d097ff85";
                    read: { decimals: () => 6 };
                };
            };
            custom?: Record<string, unknown>;
            domainId: 2;
            ensTlds?: readonly string[];
            fees?: ChainFees<undefined>;
            formatters: {
                block: {
                    exclude: undefined | [];
                    format: (
                        args: OpStackRpcBlock<BlockTag, boolean>,
                    ) => {
                        baseFeePerGas: null | bigint;
                        blobGasUsed: bigint;
                        difficulty: bigint;
                        excessBlobGas: bigint;
                        extraData: `0x${string}`;
                        gasLimit: bigint;
                        gasUsed: bigint;
                        hash: null | `0x${string}`;
                        logsBloom: null | `0x${string}`;
                        miner: `0x${string}`;
                        mixHash: `0x${string}`;
                        nonce: null | `0x${string}`;
                        number: null | bigint;
                        parentBeaconBlockRoot?: `0x${string}`;
                        parentHash: `0x${string}`;
                        receiptsRoot: `0x${string}`;
                        sealFields: `0x${string}`[];
                        sha3Uncles: `0x${string}`;
                        size: bigint;
                        stateRoot: `0x${string}`;
                        timestamp: bigint;
                        totalDifficulty: null | bigint;
                        transactions: `0x${string}`[] | OpStackTransaction<boolean>[];
                        transactionsRoot: `0x${string}`;
                        uncles: `0x${string}`[];
                        withdrawals?: Withdrawal[];
                        withdrawalsRoot?: `0x${string}`;
                    };
                    type: "block";
                };
                transaction: {
                    exclude: undefined
                    | [];
                    format: (
                        args: OpStackRpcTransaction<boolean>,
                    ) =>
                        | {
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: boolean;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: bigint;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash: `0x${string}`;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "deposit";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList?: undefined;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId?: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice: bigint;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas?: undefined;
                            maxPriorityFeePerGas?: undefined;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "legacy";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity?: undefined;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice: bigint;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas?: undefined;
                            maxPriorityFeePerGas?: undefined;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip2930";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip1559";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes: readonly `0x${string}`[];
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas: bigint;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip4844";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList: SignedAuthorizationList<number>;
                            blobVersionedHashes?: undefined;
                            blockHash: null | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip7702";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        };
                    type: "transaction";
                };
                transactionReceipt: {
                    exclude: undefined
                    | [];
                    format: (
                        args: OpStackRpcTransactionReceipt,
                    ) => {
                        blobGasPrice?: bigint;
                        blobGasUsed?: bigint;
                        blockHash: `0x${string}`;
                        blockNumber: bigint;
                        contractAddress: undefined | null | `0x${string}`;
                        cumulativeGasUsed: bigint;
                        effectiveGasPrice: bigint;
                        from: `0x${string}`;
                        gasUsed: bigint;
                        l1Fee: null | bigint;
                        l1FeeScalar: null | number;
                        l1GasPrice: null | bigint;
                        l1GasUsed: null | bigint;
                        logs: Log<
                            bigint,
                            number,
                            false,
                            undefined,
                            undefined,
                            undefined,
                            undefined,
                        >[];
                        logsBloom: `0x${string}`;
                        root?: `0x${string}`;
                        status: "success"
                        | "reverted";
                        to: null | `0x${string}`;
                        transactionHash: `0x${string}`;
                        transactionIndex: number;
                        type: TransactionType;
                    };
                    type: "transactionReceipt";
                };
            };
            id: 10;
            name: "OP Mainnet";
            nativeCurrency: { decimals: 18; name: "Ether"; symbol: "ETH" };
            rpcUrls: { default: { http: readonly ["https://mainnet.optimism.io"] } };
            serializers: {
                transaction: (
                    transaction: OpStackTransactionSerializable,
                    signature?: Signature,
                ) =>
                    | `0x02${string}`
                    | `0x01${string}`
                    | `0x03${string}`
                    | `0x04${string}`
                    | TransactionSerializedLegacy
                    | `0x7e${string}`;
            };
            sourceId: 1;
            testnet?: boolean;
        }
        • ReadonlyblockchainId: "OP"
        • ReadonlyblockchainVm: "EVM"
        • blockExplorers: {
              default: {
                  apiUrl: "https://api-optimistic.etherscan.io/api";
                  name: "Optimism Explorer";
                  url: "https://optimistic.etherscan.io";
              };
          }

          Collection of block explorers

        • blockTime: 2000

          Block time in milliseconds.

        • contracts: {
              disputeGameFactory: {
                  "1": { address: "0xe5965Ab5962eDc7477C8520243A95517CD252fA9" };
              };
              gasPriceOracle: { address: "0x420000000000000000000000000000000000000F" };
              l1Block: { address: "0x4200000000000000000000000000000000000015" };
              l1StandardBridge: {
                  "1": { address: "0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1" };
              };
              l2CrossDomainMessenger: {
                  address: "0x4200000000000000000000000000000000000007";
              };
              l2Erc721Bridge: { address: "0x4200000000000000000000000000000000000014" };
              l2OutputOracle: {
                  "1": { address: "0xdfe97868233d1aa22e815a266982f2cf17685a27" };
              };
              l2StandardBridge: { address: "0x4200000000000000000000000000000000000010" };
              l2ToL1MessagePasser: {
                  address: "0x4200000000000000000000000000000000000016";
              };
              messageTransmitter: {
                  address: "0x4d41f22c5a0e5c74090899e5a8fb597a8842b3e8";
              };
              multicall3: {
                  address: "0xca11bde05977b3631167028862be2a173976ca11";
                  blockCreated: 4286263;
              };
              portal: { "1": { address: "0xbEb5Fc579115071764c7423A4f12eDde41f106Ed" } };
              tokenMessenger: { address: "0x2B4069517957735bE00ceE0fadAE88a26365528f" };
              USDC: {
                  abi: readonly [
                      {
                          inputs: readonly [
                              { indexed: true; name: "owner"; type: "address" },
                              { indexed: true; name: "spender"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Approval";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { indexed: true; name: "from"; type: "address" },
                              { indexed: true; name: "to"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Transfer";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { name: "owner"; type: "address" },
                              { name: "spender"; type: "address" },
                          ];
                          name: "allowance";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "spender"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "approve";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [{ name: "account"; type: "address" }];
                          name: "balanceOf";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "decimals";
                          outputs: readonly [{ type: "uint8" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "name";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "symbol";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "totalSupply";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transfer";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "sender"; type: "address" },
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transferFrom";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                  ];
                  address: "0x0b2c639c533813f4aa9d7837caf62653d097ff85";
                  read: { decimals: () => 6 };
              };
          }

          Collection of contracts

        • Optionalcustom?: Record<string, unknown>

          Custom chain data.

        • ReadonlydomainId: 2
        • OptionalensTlds?: readonly string[]

          Collection of ENS TLDs for the chain.

        • Optionalfees?: ChainFees<undefined>

          Modifies how fees are derived.

        • formatters: {
              block: {
                  exclude: undefined | [];
                  format: (
                      args: OpStackRpcBlock<BlockTag, boolean>,
                  ) => {
                      baseFeePerGas: null | bigint;
                      blobGasUsed: bigint;
                      difficulty: bigint;
                      excessBlobGas: bigint;
                      extraData: `0x${string}`;
                      gasLimit: bigint;
                      gasUsed: bigint;
                      hash: null | `0x${string}`;
                      logsBloom: null | `0x${string}`;
                      miner: `0x${string}`;
                      mixHash: `0x${string}`;
                      nonce: null | `0x${string}`;
                      number: null | bigint;
                      parentBeaconBlockRoot?: `0x${string}`;
                      parentHash: `0x${string}`;
                      receiptsRoot: `0x${string}`;
                      sealFields: `0x${string}`[];
                      sha3Uncles: `0x${string}`;
                      size: bigint;
                      stateRoot: `0x${string}`;
                      timestamp: bigint;
                      totalDifficulty: null | bigint;
                      transactions: `0x${string}`[] | OpStackTransaction<boolean>[];
                      transactionsRoot: `0x${string}`;
                      uncles: `0x${string}`[];
                      withdrawals?: Withdrawal[];
                      withdrawalsRoot?: `0x${string}`;
                  };
                  type: "block";
              };
              transaction: {
                  exclude: undefined
                  | [];
                  format: (
                      args: OpStackRpcTransaction<boolean>,
                  ) =>
                      | {
                          blockHash: null
                          | `0x${string}`;
                          blockNumber: null | bigint;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice?: undefined;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: boolean;
                          maxFeePerBlobGas?: undefined;
                          maxFeePerGas: bigint;
                          maxPriorityFeePerGas: bigint;
                          mint?: bigint;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash: `0x${string}`;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "deposit";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity: number;
                      }
                      | {
                          accessList?: undefined;
                          authorizationList?: undefined;
                          blobVersionedHashes?: undefined;
                          blockHash: null
                          | `0x${string}`;
                          blockNumber: null | bigint;
                          chainId?: number;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice: bigint;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: undefined;
                          maxFeePerBlobGas?: undefined;
                          maxFeePerGas?: undefined;
                          maxPriorityFeePerGas?: undefined;
                          mint?: undefined;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash?: undefined;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "legacy";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity?: undefined;
                      }
                      | {
                          accessList: AccessList;
                          authorizationList?: undefined;
                          blobVersionedHashes?: undefined;
                          blockHash: null
                          | `0x${string}`;
                          blockNumber: null | bigint;
                          chainId: number;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice: bigint;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: undefined;
                          maxFeePerBlobGas?: undefined;
                          maxFeePerGas?: undefined;
                          maxPriorityFeePerGas?: undefined;
                          mint?: undefined;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash?: undefined;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "eip2930";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity: number;
                      }
                      | {
                          accessList: AccessList;
                          authorizationList?: undefined;
                          blobVersionedHashes?: undefined;
                          blockHash: null
                          | `0x${string}`;
                          blockNumber: null | bigint;
                          chainId: number;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice?: undefined;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: undefined;
                          maxFeePerBlobGas?: undefined;
                          maxFeePerGas: bigint;
                          maxPriorityFeePerGas: bigint;
                          mint?: undefined;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash?: undefined;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "eip1559";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity: number;
                      }
                      | {
                          accessList: AccessList;
                          authorizationList?: undefined;
                          blobVersionedHashes: readonly `0x${string}`[];
                          blockHash: null
                          | `0x${string}`;
                          blockNumber: null | bigint;
                          chainId: number;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice?: undefined;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: undefined;
                          maxFeePerBlobGas: bigint;
                          maxFeePerGas: bigint;
                          maxPriorityFeePerGas: bigint;
                          mint?: undefined;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash?: undefined;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "eip4844";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity: number;
                      }
                      | {
                          accessList: AccessList;
                          authorizationList: SignedAuthorizationList<number>;
                          blobVersionedHashes?: undefined;
                          blockHash: null | `0x${string}`;
                          blockNumber: null | bigint;
                          chainId: number;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice?: undefined;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: undefined;
                          maxFeePerBlobGas?: undefined;
                          maxFeePerGas: bigint;
                          maxPriorityFeePerGas: bigint;
                          mint?: undefined;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash?: undefined;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "eip7702";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity: number;
                      };
                  type: "transaction";
              };
              transactionReceipt: {
                  exclude: undefined
                  | [];
                  format: (
                      args: OpStackRpcTransactionReceipt,
                  ) => {
                      blobGasPrice?: bigint;
                      blobGasUsed?: bigint;
                      blockHash: `0x${string}`;
                      blockNumber: bigint;
                      contractAddress: undefined | null | `0x${string}`;
                      cumulativeGasUsed: bigint;
                      effectiveGasPrice: bigint;
                      from: `0x${string}`;
                      gasUsed: bigint;
                      l1Fee: null | bigint;
                      l1FeeScalar: null | number;
                      l1GasPrice: null | bigint;
                      l1GasUsed: null | bigint;
                      logs: Log<
                          bigint,
                          number,
                          false,
                          undefined,
                          undefined,
                          undefined,
                          undefined,
                      >[];
                      logsBloom: `0x${string}`;
                      root?: `0x${string}`;
                      status: "success"
                      | "reverted";
                      to: null | `0x${string}`;
                      transactionHash: `0x${string}`;
                      transactionIndex: number;
                      type: TransactionType;
                  };
                  type: "transactionReceipt";
              };
          }

          Modifies how data is formatted and typed (e.g. blocks and transactions)

        • id: 10

          ID in number form

        • name: "OP Mainnet"

          Human-readable name

        • nativeCurrency: { decimals: 18; name: "Ether"; symbol: "ETH" }

          Currency used by chain

        • rpcUrls: { default: { http: readonly ["https://mainnet.optimism.io"] } }

          Collection of RPC endpoints

        • serializers: {
              transaction: (
                  transaction: OpStackTransactionSerializable,
                  signature?: Signature,
              ) =>
                  | `0x02${string}`
                  | `0x01${string}`
                  | `0x03${string}`
                  | `0x04${string}`
                  | TransactionSerializedLegacy
                  | `0x7e${string}`;
          }

          Modifies how data is serialized (e.g. transactions).

        • sourceId: 1

          Source Chain ID (ie. the L1 chain)

        • Optionaltestnet?: boolean

          Flag for test networks

      • {
            blockchainId: "OP-SEPOLIA";
            blockchainVm: "EVM";
            blockExplorers: {
                default: {
                    apiUrl: "https://optimism-sepolia.blockscout.com/api";
                    name: "Blockscout";
                    url: "https://optimism-sepolia.blockscout.com";
                };
            };
            blockTime: 2000;
            contracts: {
                disputeGameFactory: {
                    "11155111": { address: "0x05F9613aDB30026FFd634f38e5C4dFd30a197Fa1" };
                };
                gasPriceOracle: { address: "0x420000000000000000000000000000000000000F" };
                l1Block: { address: "0x4200000000000000000000000000000000000015" };
                l1StandardBridge: {
                    "11155111": { address: "0xFBb0621E0B23b5478B630BD55a5f21f67730B0F1" };
                };
                l2CrossDomainMessenger: {
                    address: "0x4200000000000000000000000000000000000007";
                };
                l2Erc721Bridge: { address: "0x4200000000000000000000000000000000000014" };
                l2OutputOracle: {
                    "11155111": { address: "0x90E9c4f8a994a250F6aEfd61CAFb4F2e895D458F" };
                };
                l2StandardBridge: {
                    address: "0x4200000000000000000000000000000000000010";
                };
                l2ToL1MessagePasser: {
                    address: "0x4200000000000000000000000000000000000016";
                };
                messageTransmitter: {
                    address: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD";
                };
                multicall3: {
                    address: "0xca11bde05977b3631167028862be2a173976ca11";
                    blockCreated: 1620204;
                };
                portal: {
                    "11155111": { address: "0x16Fc5058F25648194471939df75CF27A2fdC48BC" };
                };
                tokenMessenger: { address: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5" };
                USDC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x5fd84259d66Cd46123540766Be93DFE6D43130D7";
                    read: { decimals: () => 6 };
                };
            };
            custom?: Record<string, unknown>;
            domainId: 2;
            ensTlds?: readonly string[];
            fees?: ChainFees<undefined>;
            formatters: {
                block: {
                    exclude: undefined | [];
                    format: (
                        args: OpStackRpcBlock<BlockTag, boolean>,
                    ) => {
                        baseFeePerGas: null | bigint;
                        blobGasUsed: bigint;
                        difficulty: bigint;
                        excessBlobGas: bigint;
                        extraData: `0x${string}`;
                        gasLimit: bigint;
                        gasUsed: bigint;
                        hash: null | `0x${string}`;
                        logsBloom: null | `0x${string}`;
                        miner: `0x${string}`;
                        mixHash: `0x${string}`;
                        nonce: null | `0x${string}`;
                        number: null | bigint;
                        parentBeaconBlockRoot?: `0x${string}`;
                        parentHash: `0x${string}`;
                        receiptsRoot: `0x${string}`;
                        sealFields: `0x${string}`[];
                        sha3Uncles: `0x${string}`;
                        size: bigint;
                        stateRoot: `0x${string}`;
                        timestamp: bigint;
                        totalDifficulty: null | bigint;
                        transactions: `0x${string}`[] | OpStackTransaction<boolean>[];
                        transactionsRoot: `0x${string}`;
                        uncles: `0x${string}`[];
                        withdrawals?: Withdrawal[];
                        withdrawalsRoot?: `0x${string}`;
                    };
                    type: "block";
                };
                transaction: {
                    exclude: undefined
                    | [];
                    format: (
                        args: OpStackRpcTransaction<boolean>,
                    ) =>
                        | {
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: boolean;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: bigint;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash: `0x${string}`;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "deposit";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList?: undefined;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId?: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice: bigint;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas?: undefined;
                            maxPriorityFeePerGas?: undefined;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "legacy";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity?: undefined;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice: bigint;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas?: undefined;
                            maxPriorityFeePerGas?: undefined;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip2930";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip1559";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes: readonly `0x${string}`[];
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas: bigint;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip4844";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList: SignedAuthorizationList<number>;
                            blobVersionedHashes?: undefined;
                            blockHash: null | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip7702";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        };
                    type: "transaction";
                };
                transactionReceipt: {
                    exclude: undefined
                    | [];
                    format: (
                        args: OpStackRpcTransactionReceipt,
                    ) => {
                        blobGasPrice?: bigint;
                        blobGasUsed?: bigint;
                        blockHash: `0x${string}`;
                        blockNumber: bigint;
                        contractAddress: undefined | null | `0x${string}`;
                        cumulativeGasUsed: bigint;
                        effectiveGasPrice: bigint;
                        from: `0x${string}`;
                        gasUsed: bigint;
                        l1Fee: null | bigint;
                        l1FeeScalar: null | number;
                        l1GasPrice: null | bigint;
                        l1GasUsed: null | bigint;
                        logs: Log<
                            bigint,
                            number,
                            false,
                            undefined,
                            undefined,
                            undefined,
                            undefined,
                        >[];
                        logsBloom: `0x${string}`;
                        root?: `0x${string}`;
                        status: "success"
                        | "reverted";
                        to: null | `0x${string}`;
                        transactionHash: `0x${string}`;
                        transactionIndex: number;
                        type: TransactionType;
                    };
                    type: "transactionReceipt";
                };
            };
            id: 11155420;
            name: "OP Sepolia";
            nativeCurrency: { decimals: 18; name: "Sepolia Ether"; symbol: "ETH" };
            rpcUrls: { default: { http: readonly ["https://sepolia.optimism.io"] } };
            serializers: {
                transaction: (
                    transaction: OpStackTransactionSerializable,
                    signature?: Signature,
                ) =>
                    | `0x02${string}`
                    | `0x01${string}`
                    | `0x03${string}`
                    | `0x04${string}`
                    | TransactionSerializedLegacy
                    | `0x7e${string}`;
            };
            sourceId: 11155111;
            testnet: true;
        }
        • ReadonlyblockchainId: "OP-SEPOLIA"
        • ReadonlyblockchainVm: "EVM"
        • blockExplorers: {
              default: {
                  apiUrl: "https://optimism-sepolia.blockscout.com/api";
                  name: "Blockscout";
                  url: "https://optimism-sepolia.blockscout.com";
              };
          }

          Collection of block explorers

        • blockTime: 2000

          Block time in milliseconds.

        • contracts: {
              disputeGameFactory: {
                  "11155111": { address: "0x05F9613aDB30026FFd634f38e5C4dFd30a197Fa1" };
              };
              gasPriceOracle: { address: "0x420000000000000000000000000000000000000F" };
              l1Block: { address: "0x4200000000000000000000000000000000000015" };
              l1StandardBridge: {
                  "11155111": { address: "0xFBb0621E0B23b5478B630BD55a5f21f67730B0F1" };
              };
              l2CrossDomainMessenger: {
                  address: "0x4200000000000000000000000000000000000007";
              };
              l2Erc721Bridge: { address: "0x4200000000000000000000000000000000000014" };
              l2OutputOracle: {
                  "11155111": { address: "0x90E9c4f8a994a250F6aEfd61CAFb4F2e895D458F" };
              };
              l2StandardBridge: { address: "0x4200000000000000000000000000000000000010" };
              l2ToL1MessagePasser: {
                  address: "0x4200000000000000000000000000000000000016";
              };
              messageTransmitter: {
                  address: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD";
              };
              multicall3: {
                  address: "0xca11bde05977b3631167028862be2a173976ca11";
                  blockCreated: 1620204;
              };
              portal: {
                  "11155111": { address: "0x16Fc5058F25648194471939df75CF27A2fdC48BC" };
              };
              tokenMessenger: { address: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5" };
              USDC: {
                  abi: readonly [
                      {
                          inputs: readonly [
                              { indexed: true; name: "owner"; type: "address" },
                              { indexed: true; name: "spender"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Approval";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { indexed: true; name: "from"; type: "address" },
                              { indexed: true; name: "to"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Transfer";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { name: "owner"; type: "address" },
                              { name: "spender"; type: "address" },
                          ];
                          name: "allowance";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "spender"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "approve";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [{ name: "account"; type: "address" }];
                          name: "balanceOf";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "decimals";
                          outputs: readonly [{ type: "uint8" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "name";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "symbol";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "totalSupply";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transfer";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "sender"; type: "address" },
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transferFrom";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                  ];
                  address: "0x5fd84259d66Cd46123540766Be93DFE6D43130D7";
                  read: { decimals: () => 6 };
              };
          }

          Collection of contracts

        • Optionalcustom?: Record<string, unknown>

          Custom chain data.

        • ReadonlydomainId: 2
        • OptionalensTlds?: readonly string[]

          Collection of ENS TLDs for the chain.

        • Optionalfees?: ChainFees<undefined>

          Modifies how fees are derived.

        • formatters: {
              block: {
                  exclude: undefined | [];
                  format: (
                      args: OpStackRpcBlock<BlockTag, boolean>,
                  ) => {
                      baseFeePerGas: null | bigint;
                      blobGasUsed: bigint;
                      difficulty: bigint;
                      excessBlobGas: bigint;
                      extraData: `0x${string}`;
                      gasLimit: bigint;
                      gasUsed: bigint;
                      hash: null | `0x${string}`;
                      logsBloom: null | `0x${string}`;
                      miner: `0x${string}`;
                      mixHash: `0x${string}`;
                      nonce: null | `0x${string}`;
                      number: null | bigint;
                      parentBeaconBlockRoot?: `0x${string}`;
                      parentHash: `0x${string}`;
                      receiptsRoot: `0x${string}`;
                      sealFields: `0x${string}`[];
                      sha3Uncles: `0x${string}`;
                      size: bigint;
                      stateRoot: `0x${string}`;
                      timestamp: bigint;
                      totalDifficulty: null | bigint;
                      transactions: `0x${string}`[] | OpStackTransaction<boolean>[];
                      transactionsRoot: `0x${string}`;
                      uncles: `0x${string}`[];
                      withdrawals?: Withdrawal[];
                      withdrawalsRoot?: `0x${string}`;
                  };
                  type: "block";
              };
              transaction: {
                  exclude: undefined
                  | [];
                  format: (
                      args: OpStackRpcTransaction<boolean>,
                  ) =>
                      | {
                          blockHash: null
                          | `0x${string}`;
                          blockNumber: null | bigint;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice?: undefined;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: boolean;
                          maxFeePerBlobGas?: undefined;
                          maxFeePerGas: bigint;
                          maxPriorityFeePerGas: bigint;
                          mint?: bigint;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash: `0x${string}`;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "deposit";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity: number;
                      }
                      | {
                          accessList?: undefined;
                          authorizationList?: undefined;
                          blobVersionedHashes?: undefined;
                          blockHash: null
                          | `0x${string}`;
                          blockNumber: null | bigint;
                          chainId?: number;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice: bigint;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: undefined;
                          maxFeePerBlobGas?: undefined;
                          maxFeePerGas?: undefined;
                          maxPriorityFeePerGas?: undefined;
                          mint?: undefined;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash?: undefined;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "legacy";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity?: undefined;
                      }
                      | {
                          accessList: AccessList;
                          authorizationList?: undefined;
                          blobVersionedHashes?: undefined;
                          blockHash: null
                          | `0x${string}`;
                          blockNumber: null | bigint;
                          chainId: number;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice: bigint;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: undefined;
                          maxFeePerBlobGas?: undefined;
                          maxFeePerGas?: undefined;
                          maxPriorityFeePerGas?: undefined;
                          mint?: undefined;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash?: undefined;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "eip2930";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity: number;
                      }
                      | {
                          accessList: AccessList;
                          authorizationList?: undefined;
                          blobVersionedHashes?: undefined;
                          blockHash: null
                          | `0x${string}`;
                          blockNumber: null | bigint;
                          chainId: number;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice?: undefined;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: undefined;
                          maxFeePerBlobGas?: undefined;
                          maxFeePerGas: bigint;
                          maxPriorityFeePerGas: bigint;
                          mint?: undefined;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash?: undefined;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "eip1559";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity: number;
                      }
                      | {
                          accessList: AccessList;
                          authorizationList?: undefined;
                          blobVersionedHashes: readonly `0x${string}`[];
                          blockHash: null
                          | `0x${string}`;
                          blockNumber: null | bigint;
                          chainId: number;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice?: undefined;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: undefined;
                          maxFeePerBlobGas: bigint;
                          maxFeePerGas: bigint;
                          maxPriorityFeePerGas: bigint;
                          mint?: undefined;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash?: undefined;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "eip4844";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity: number;
                      }
                      | {
                          accessList: AccessList;
                          authorizationList: SignedAuthorizationList<number>;
                          blobVersionedHashes?: undefined;
                          blockHash: null | `0x${string}`;
                          blockNumber: null | bigint;
                          chainId: number;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice?: undefined;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: undefined;
                          maxFeePerBlobGas?: undefined;
                          maxFeePerGas: bigint;
                          maxPriorityFeePerGas: bigint;
                          mint?: undefined;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash?: undefined;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "eip7702";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity: number;
                      };
                  type: "transaction";
              };
              transactionReceipt: {
                  exclude: undefined
                  | [];
                  format: (
                      args: OpStackRpcTransactionReceipt,
                  ) => {
                      blobGasPrice?: bigint;
                      blobGasUsed?: bigint;
                      blockHash: `0x${string}`;
                      blockNumber: bigint;
                      contractAddress: undefined | null | `0x${string}`;
                      cumulativeGasUsed: bigint;
                      effectiveGasPrice: bigint;
                      from: `0x${string}`;
                      gasUsed: bigint;
                      l1Fee: null | bigint;
                      l1FeeScalar: null | number;
                      l1GasPrice: null | bigint;
                      l1GasUsed: null | bigint;
                      logs: Log<
                          bigint,
                          number,
                          false,
                          undefined,
                          undefined,
                          undefined,
                          undefined,
                      >[];
                      logsBloom: `0x${string}`;
                      root?: `0x${string}`;
                      status: "success"
                      | "reverted";
                      to: null | `0x${string}`;
                      transactionHash: `0x${string}`;
                      transactionIndex: number;
                      type: TransactionType;
                  };
                  type: "transactionReceipt";
              };
          }

          Modifies how data is formatted and typed (e.g. blocks and transactions)

        • id: 11155420

          ID in number form

        • name: "OP Sepolia"

          Human-readable name

        • nativeCurrency: { decimals: 18; name: "Sepolia Ether"; symbol: "ETH" }

          Currency used by chain

        • rpcUrls: { default: { http: readonly ["https://sepolia.optimism.io"] } }

          Collection of RPC endpoints

        • serializers: {
              transaction: (
                  transaction: OpStackTransactionSerializable,
                  signature?: Signature,
              ) =>
                  | `0x02${string}`
                  | `0x01${string}`
                  | `0x03${string}`
                  | `0x04${string}`
                  | TransactionSerializedLegacy
                  | `0x7e${string}`;
          }

          Modifies how data is serialized (e.g. transactions).

        • sourceId: 11155111

          Source Chain ID (ie. the L1 chain)

        • testnet: true

          Flag for test networks

      • {
            blockchainId: "UNI";
            blockchainVm: "EVM";
            blockExplorers: {
                default: {
                    apiUrl: "https://api.uniscan.xyz/api";
                    name: "Uniscan";
                    url: "https://uniscan.xyz";
                };
            };
            blockTime: 2000;
            contracts: {
                disputeGameFactory: {
                    "1": { address: "0x2F12d621a16e2d3285929C9996f478508951dFe4" };
                };
                gasPriceOracle: { address: "0x420000000000000000000000000000000000000F" };
                l1Block: { address: "0x4200000000000000000000000000000000000015" };
                l1StandardBridge: {
                    "1": { address: "0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA" };
                };
                l2CrossDomainMessenger: {
                    address: "0x4200000000000000000000000000000000000007";
                };
                l2Erc721Bridge: { address: "0x4200000000000000000000000000000000000014" };
                l2StandardBridge: {
                    address: "0x4200000000000000000000000000000000000010";
                };
                l2ToL1MessagePasser: {
                    address: "0x4200000000000000000000000000000000000016";
                };
                messageTransmitter: {
                    address: "0x353bE9E2E38AB1D19104534e4edC21c643Df86f4";
                };
                multicall3: {
                    address: "0xca11bde05977b3631167028862be2a173976ca11";
                    blockCreated: 0;
                };
                portal: { "1": { address: "0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2" } };
                tokenMessenger: { address: "0x4e744b28E787c3aD0e810eD65A24461D4ac5a762" };
                USDC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x078D782b760474a361dDA0AF3839290b0EF57AD6";
                    read: { decimals: () => 6 };
                };
            };
            custom?: Record<string, unknown>;
            domainId: 10;
            ensTlds?: readonly string[];
            fees?: ChainFees<undefined>;
            formatters: {
                block: {
                    exclude: undefined | [];
                    format: (
                        args: OpStackRpcBlock<BlockTag, boolean>,
                    ) => {
                        baseFeePerGas: null | bigint;
                        blobGasUsed: bigint;
                        difficulty: bigint;
                        excessBlobGas: bigint;
                        extraData: `0x${string}`;
                        gasLimit: bigint;
                        gasUsed: bigint;
                        hash: null | `0x${string}`;
                        logsBloom: null | `0x${string}`;
                        miner: `0x${string}`;
                        mixHash: `0x${string}`;
                        nonce: null | `0x${string}`;
                        number: null | bigint;
                        parentBeaconBlockRoot?: `0x${string}`;
                        parentHash: `0x${string}`;
                        receiptsRoot: `0x${string}`;
                        sealFields: `0x${string}`[];
                        sha3Uncles: `0x${string}`;
                        size: bigint;
                        stateRoot: `0x${string}`;
                        timestamp: bigint;
                        totalDifficulty: null | bigint;
                        transactions: `0x${string}`[] | OpStackTransaction<boolean>[];
                        transactionsRoot: `0x${string}`;
                        uncles: `0x${string}`[];
                        withdrawals?: Withdrawal[];
                        withdrawalsRoot?: `0x${string}`;
                    };
                    type: "block";
                };
                transaction: {
                    exclude: undefined
                    | [];
                    format: (
                        args: OpStackRpcTransaction<boolean>,
                    ) =>
                        | {
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: boolean;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: bigint;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash: `0x${string}`;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "deposit";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList?: undefined;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId?: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice: bigint;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas?: undefined;
                            maxPriorityFeePerGas?: undefined;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "legacy";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity?: undefined;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice: bigint;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas?: undefined;
                            maxPriorityFeePerGas?: undefined;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip2930";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip1559";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes: readonly `0x${string}`[];
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas: bigint;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip4844";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList: SignedAuthorizationList<number>;
                            blobVersionedHashes?: undefined;
                            blockHash: null | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip7702";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        };
                    type: "transaction";
                };
                transactionReceipt: {
                    exclude: undefined
                    | [];
                    format: (
                        args: OpStackRpcTransactionReceipt,
                    ) => {
                        blobGasPrice?: bigint;
                        blobGasUsed?: bigint;
                        blockHash: `0x${string}`;
                        blockNumber: bigint;
                        contractAddress: undefined | null | `0x${string}`;
                        cumulativeGasUsed: bigint;
                        effectiveGasPrice: bigint;
                        from: `0x${string}`;
                        gasUsed: bigint;
                        l1Fee: null | bigint;
                        l1FeeScalar: null | number;
                        l1GasPrice: null | bigint;
                        l1GasUsed: null | bigint;
                        logs: Log<
                            bigint,
                            number,
                            false,
                            undefined,
                            undefined,
                            undefined,
                            undefined,
                        >[];
                        logsBloom: `0x${string}`;
                        root?: `0x${string}`;
                        status: "success"
                        | "reverted";
                        to: null | `0x${string}`;
                        transactionHash: `0x${string}`;
                        transactionIndex: number;
                        type: TransactionType;
                    };
                    type: "transactionReceipt";
                };
            };
            id: 130;
            name: "Unichain";
            nativeCurrency: { decimals: 18; name: "Ether"; symbol: "ETH" };
            rpcUrls: { default: { http: readonly ["https://mainnet.unichain.org/"] } };
            serializers: {
                transaction: (
                    transaction: OpStackTransactionSerializable,
                    signature?: Signature,
                ) =>
                    | `0x02${string}`
                    | `0x01${string}`
                    | `0x03${string}`
                    | `0x04${string}`
                    | TransactionSerializedLegacy
                    | `0x7e${string}`;
            };
            sourceId: 1;
            testnet?: boolean;
        }
        • ReadonlyblockchainId: "UNI"
        • ReadonlyblockchainVm: "EVM"
        • blockExplorers: {
              default: {
                  apiUrl: "https://api.uniscan.xyz/api";
                  name: "Uniscan";
                  url: "https://uniscan.xyz";
              };
          }

          Collection of block explorers

        • blockTime: 2000

          Block time in milliseconds.

        • contracts: {
              disputeGameFactory: {
                  "1": { address: "0x2F12d621a16e2d3285929C9996f478508951dFe4" };
              };
              gasPriceOracle: { address: "0x420000000000000000000000000000000000000F" };
              l1Block: { address: "0x4200000000000000000000000000000000000015" };
              l1StandardBridge: {
                  "1": { address: "0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA" };
              };
              l2CrossDomainMessenger: {
                  address: "0x4200000000000000000000000000000000000007";
              };
              l2Erc721Bridge: { address: "0x4200000000000000000000000000000000000014" };
              l2StandardBridge: { address: "0x4200000000000000000000000000000000000010" };
              l2ToL1MessagePasser: {
                  address: "0x4200000000000000000000000000000000000016";
              };
              messageTransmitter: {
                  address: "0x353bE9E2E38AB1D19104534e4edC21c643Df86f4";
              };
              multicall3: {
                  address: "0xca11bde05977b3631167028862be2a173976ca11";
                  blockCreated: 0;
              };
              portal: { "1": { address: "0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2" } };
              tokenMessenger: { address: "0x4e744b28E787c3aD0e810eD65A24461D4ac5a762" };
              USDC: {
                  abi: readonly [
                      {
                          inputs: readonly [
                              { indexed: true; name: "owner"; type: "address" },
                              { indexed: true; name: "spender"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Approval";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { indexed: true; name: "from"; type: "address" },
                              { indexed: true; name: "to"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Transfer";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { name: "owner"; type: "address" },
                              { name: "spender"; type: "address" },
                          ];
                          name: "allowance";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "spender"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "approve";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [{ name: "account"; type: "address" }];
                          name: "balanceOf";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "decimals";
                          outputs: readonly [{ type: "uint8" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "name";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "symbol";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "totalSupply";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transfer";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "sender"; type: "address" },
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transferFrom";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                  ];
                  address: "0x078D782b760474a361dDA0AF3839290b0EF57AD6";
                  read: { decimals: () => 6 };
              };
          }

          Collection of contracts

        • Optionalcustom?: Record<string, unknown>

          Custom chain data.

        • ReadonlydomainId: 10
        • OptionalensTlds?: readonly string[]

          Collection of ENS TLDs for the chain.

        • Optionalfees?: ChainFees<undefined>

          Modifies how fees are derived.

        • formatters: {
              block: {
                  exclude: undefined | [];
                  format: (
                      args: OpStackRpcBlock<BlockTag, boolean>,
                  ) => {
                      baseFeePerGas: null | bigint;
                      blobGasUsed: bigint;
                      difficulty: bigint;
                      excessBlobGas: bigint;
                      extraData: `0x${string}`;
                      gasLimit: bigint;
                      gasUsed: bigint;
                      hash: null | `0x${string}`;
                      logsBloom: null | `0x${string}`;
                      miner: `0x${string}`;
                      mixHash: `0x${string}`;
                      nonce: null | `0x${string}`;
                      number: null | bigint;
                      parentBeaconBlockRoot?: `0x${string}`;
                      parentHash: `0x${string}`;
                      receiptsRoot: `0x${string}`;
                      sealFields: `0x${string}`[];
                      sha3Uncles: `0x${string}`;
                      size: bigint;
                      stateRoot: `0x${string}`;
                      timestamp: bigint;
                      totalDifficulty: null | bigint;
                      transactions: `0x${string}`[] | OpStackTransaction<boolean>[];
                      transactionsRoot: `0x${string}`;
                      uncles: `0x${string}`[];
                      withdrawals?: Withdrawal[];
                      withdrawalsRoot?: `0x${string}`;
                  };
                  type: "block";
              };
              transaction: {
                  exclude: undefined
                  | [];
                  format: (
                      args: OpStackRpcTransaction<boolean>,
                  ) =>
                      | {
                          blockHash: null
                          | `0x${string}`;
                          blockNumber: null | bigint;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice?: undefined;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: boolean;
                          maxFeePerBlobGas?: undefined;
                          maxFeePerGas: bigint;
                          maxPriorityFeePerGas: bigint;
                          mint?: bigint;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash: `0x${string}`;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "deposit";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity: number;
                      }
                      | {
                          accessList?: undefined;
                          authorizationList?: undefined;
                          blobVersionedHashes?: undefined;
                          blockHash: null
                          | `0x${string}`;
                          blockNumber: null | bigint;
                          chainId?: number;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice: bigint;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: undefined;
                          maxFeePerBlobGas?: undefined;
                          maxFeePerGas?: undefined;
                          maxPriorityFeePerGas?: undefined;
                          mint?: undefined;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash?: undefined;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "legacy";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity?: undefined;
                      }
                      | {
                          accessList: AccessList;
                          authorizationList?: undefined;
                          blobVersionedHashes?: undefined;
                          blockHash: null
                          | `0x${string}`;
                          blockNumber: null | bigint;
                          chainId: number;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice: bigint;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: undefined;
                          maxFeePerBlobGas?: undefined;
                          maxFeePerGas?: undefined;
                          maxPriorityFeePerGas?: undefined;
                          mint?: undefined;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash?: undefined;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "eip2930";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity: number;
                      }
                      | {
                          accessList: AccessList;
                          authorizationList?: undefined;
                          blobVersionedHashes?: undefined;
                          blockHash: null
                          | `0x${string}`;
                          blockNumber: null | bigint;
                          chainId: number;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice?: undefined;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: undefined;
                          maxFeePerBlobGas?: undefined;
                          maxFeePerGas: bigint;
                          maxPriorityFeePerGas: bigint;
                          mint?: undefined;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash?: undefined;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "eip1559";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity: number;
                      }
                      | {
                          accessList: AccessList;
                          authorizationList?: undefined;
                          blobVersionedHashes: readonly `0x${string}`[];
                          blockHash: null
                          | `0x${string}`;
                          blockNumber: null | bigint;
                          chainId: number;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice?: undefined;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: undefined;
                          maxFeePerBlobGas: bigint;
                          maxFeePerGas: bigint;
                          maxPriorityFeePerGas: bigint;
                          mint?: undefined;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash?: undefined;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "eip4844";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity: number;
                      }
                      | {
                          accessList: AccessList;
                          authorizationList: SignedAuthorizationList<number>;
                          blobVersionedHashes?: undefined;
                          blockHash: null | `0x${string}`;
                          blockNumber: null | bigint;
                          chainId: number;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice?: undefined;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: undefined;
                          maxFeePerBlobGas?: undefined;
                          maxFeePerGas: bigint;
                          maxPriorityFeePerGas: bigint;
                          mint?: undefined;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash?: undefined;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "eip7702";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity: number;
                      };
                  type: "transaction";
              };
              transactionReceipt: {
                  exclude: undefined
                  | [];
                  format: (
                      args: OpStackRpcTransactionReceipt,
                  ) => {
                      blobGasPrice?: bigint;
                      blobGasUsed?: bigint;
                      blockHash: `0x${string}`;
                      blockNumber: bigint;
                      contractAddress: undefined | null | `0x${string}`;
                      cumulativeGasUsed: bigint;
                      effectiveGasPrice: bigint;
                      from: `0x${string}`;
                      gasUsed: bigint;
                      l1Fee: null | bigint;
                      l1FeeScalar: null | number;
                      l1GasPrice: null | bigint;
                      l1GasUsed: null | bigint;
                      logs: Log<
                          bigint,
                          number,
                          false,
                          undefined,
                          undefined,
                          undefined,
                          undefined,
                      >[];
                      logsBloom: `0x${string}`;
                      root?: `0x${string}`;
                      status: "success"
                      | "reverted";
                      to: null | `0x${string}`;
                      transactionHash: `0x${string}`;
                      transactionIndex: number;
                      type: TransactionType;
                  };
                  type: "transactionReceipt";
              };
          }

          Modifies how data is formatted and typed (e.g. blocks and transactions)

        • id: 130

          ID in number form

        • name: "Unichain"

          Human-readable name

        • nativeCurrency: { decimals: 18; name: "Ether"; symbol: "ETH" }

          Currency used by chain

        • rpcUrls: { default: { http: readonly ["https://mainnet.unichain.org/"] } }

          Collection of RPC endpoints

        • serializers: {
              transaction: (
                  transaction: OpStackTransactionSerializable,
                  signature?: Signature,
              ) =>
                  | `0x02${string}`
                  | `0x01${string}`
                  | `0x03${string}`
                  | `0x04${string}`
                  | TransactionSerializedLegacy
                  | `0x7e${string}`;
          }

          Modifies how data is serialized (e.g. transactions).

        • sourceId: 1

          Source Chain ID (ie. the L1 chain)

        • Optionaltestnet?: boolean

          Flag for test networks

      • {
            blockchainId: "UNI-SEPOLIA";
            blockchainVm: "EVM";
            blockExplorers: {
                default: {
                    apiUrl: "https://api-sepolia.uniscan.xyz/api";
                    name: "Uniscan";
                    url: "https://sepolia.uniscan.xyz";
                };
            };
            blockTime: 2000;
            contracts: {
                disputeGameFactory: {
                    "11155111": { address: "0xeff73e5aa3B9AEC32c659Aa3E00444d20a84394b" };
                };
                gasPriceOracle: { address: "0x420000000000000000000000000000000000000F" };
                l1Block: { address: "0x4200000000000000000000000000000000000015" };
                l1StandardBridge: {
                    "11155111": { address: "0xea58fcA6849d79EAd1f26608855c2D6407d54Ce2" };
                };
                l2CrossDomainMessenger: {
                    address: "0x4200000000000000000000000000000000000007";
                };
                l2Erc721Bridge: { address: "0x4200000000000000000000000000000000000014" };
                l2StandardBridge: {
                    address: "0x4200000000000000000000000000000000000010";
                };
                l2ToL1MessagePasser: {
                    address: "0x4200000000000000000000000000000000000016";
                };
                messageTransmitter: {
                    address: "0xbc498c326533d675cf571B90A2Ced265ACb7d086";
                };
                multicall3: {
                    address: "0xca11bde05977b3631167028862be2a173976ca11";
                    blockCreated: 0;
                };
                portal: {
                    "11155111": { address: "0x0d83dab629f0e0F9d36c0Cbc89B69a489f0751bD" };
                };
                tokenMessenger: { address: "0x8ed94B8dAd2Dc5453862ea5e316A8e71AAed9782" };
                USDC: {
                    abi: readonly [
                        {
                            inputs: readonly [
                                { indexed: true; name: "owner"; type: "address" },
                                { indexed: true; name: "spender"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Approval";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { indexed: true; name: "from"; type: "address" },
                                { indexed: true; name: "to"; type: "address" },
                                { indexed: false; name: "value"; type: "uint256" },
                            ];
                            name: "Transfer";
                            type: "event";
                        },
                        {
                            inputs: readonly [
                                { name: "owner"; type: "address" },
                                { name: "spender"; type: "address" },
                            ];
                            name: "allowance";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "spender"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "approve";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [{ name: "account"; type: "address" }];
                            name: "balanceOf";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "decimals";
                            outputs: readonly [{ type: "uint8" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "name";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "symbol";
                            outputs: readonly [{ type: "string" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [];
                            name: "totalSupply";
                            outputs: readonly [{ type: "uint256" }];
                            stateMutability: "view";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transfer";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                        {
                            inputs: readonly [
                                { name: "sender"; type: "address" },
                                { name: "recipient"; type: "address" },
                                { name: "amount"; type: "uint256" },
                            ];
                            name: "transferFrom";
                            outputs: readonly [{ type: "bool" }];
                            stateMutability: "nonpayable";
                            type: "function";
                        },
                    ];
                    address: "0x31d0220469e10c4E71834a79b1f276d740d3768F";
                    read: { decimals: () => 6 };
                };
            };
            custom?: Record<string, unknown>;
            domainId: 10;
            ensTlds?: readonly string[];
            fees?: ChainFees<undefined>;
            formatters: {
                block: {
                    exclude: undefined | [];
                    format: (
                        args: OpStackRpcBlock<BlockTag, boolean>,
                    ) => {
                        baseFeePerGas: null | bigint;
                        blobGasUsed: bigint;
                        difficulty: bigint;
                        excessBlobGas: bigint;
                        extraData: `0x${string}`;
                        gasLimit: bigint;
                        gasUsed: bigint;
                        hash: null | `0x${string}`;
                        logsBloom: null | `0x${string}`;
                        miner: `0x${string}`;
                        mixHash: `0x${string}`;
                        nonce: null | `0x${string}`;
                        number: null | bigint;
                        parentBeaconBlockRoot?: `0x${string}`;
                        parentHash: `0x${string}`;
                        receiptsRoot: `0x${string}`;
                        sealFields: `0x${string}`[];
                        sha3Uncles: `0x${string}`;
                        size: bigint;
                        stateRoot: `0x${string}`;
                        timestamp: bigint;
                        totalDifficulty: null | bigint;
                        transactions: `0x${string}`[] | OpStackTransaction<boolean>[];
                        transactionsRoot: `0x${string}`;
                        uncles: `0x${string}`[];
                        withdrawals?: Withdrawal[];
                        withdrawalsRoot?: `0x${string}`;
                    };
                    type: "block";
                };
                transaction: {
                    exclude: undefined
                    | [];
                    format: (
                        args: OpStackRpcTransaction<boolean>,
                    ) =>
                        | {
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: boolean;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: bigint;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash: `0x${string}`;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "deposit";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList?: undefined;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId?: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice: bigint;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas?: undefined;
                            maxPriorityFeePerGas?: undefined;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "legacy";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity?: undefined;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice: bigint;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas?: undefined;
                            maxPriorityFeePerGas?: undefined;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip2930";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip1559";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes: readonly `0x${string}`[];
                            blockHash: null
                            | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas: bigint;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip4844";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList: SignedAuthorizationList<number>;
                            blobVersionedHashes?: undefined;
                            blockHash: null | `0x${string}`;
                            blockNumber: null | bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            isSystemTx?: undefined;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            mint?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            sourceHash?: undefined;
                            to: null | `0x${string}`;
                            transactionIndex: null | number;
                            type: "eip7702";
                            typeHex: null | `0x${string}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        };
                    type: "transaction";
                };
                transactionReceipt: {
                    exclude: undefined
                    | [];
                    format: (
                        args: OpStackRpcTransactionReceipt,
                    ) => {
                        blobGasPrice?: bigint;
                        blobGasUsed?: bigint;
                        blockHash: `0x${string}`;
                        blockNumber: bigint;
                        contractAddress: undefined | null | `0x${string}`;
                        cumulativeGasUsed: bigint;
                        effectiveGasPrice: bigint;
                        from: `0x${string}`;
                        gasUsed: bigint;
                        l1Fee: null | bigint;
                        l1FeeScalar: null | number;
                        l1GasPrice: null | bigint;
                        l1GasUsed: null | bigint;
                        logs: Log<
                            bigint,
                            number,
                            false,
                            undefined,
                            undefined,
                            undefined,
                            undefined,
                        >[];
                        logsBloom: `0x${string}`;
                        root?: `0x${string}`;
                        status: "success"
                        | "reverted";
                        to: null | `0x${string}`;
                        transactionHash: `0x${string}`;
                        transactionIndex: number;
                        type: TransactionType;
                    };
                    type: "transactionReceipt";
                };
            };
            id: 1301;
            name: "Unichain Sepolia";
            nativeCurrency: { decimals: 18; name: "Ether"; symbol: "ETH" };
            rpcUrls: { default: { http: readonly ["https://sepolia.unichain.org"] } };
            serializers: {
                transaction: (
                    transaction: OpStackTransactionSerializable,
                    signature?: Signature,
                ) =>
                    | `0x02${string}`
                    | `0x01${string}`
                    | `0x03${string}`
                    | `0x04${string}`
                    | TransactionSerializedLegacy
                    | `0x7e${string}`;
            };
            sourceId: 11155111;
            testnet: true;
        }
        • ReadonlyblockchainId: "UNI-SEPOLIA"
        • ReadonlyblockchainVm: "EVM"
        • blockExplorers: {
              default: {
                  apiUrl: "https://api-sepolia.uniscan.xyz/api";
                  name: "Uniscan";
                  url: "https://sepolia.uniscan.xyz";
              };
          }

          Collection of block explorers

        • blockTime: 2000

          Block time in milliseconds.

        • contracts: {
              disputeGameFactory: {
                  "11155111": { address: "0xeff73e5aa3B9AEC32c659Aa3E00444d20a84394b" };
              };
              gasPriceOracle: { address: "0x420000000000000000000000000000000000000F" };
              l1Block: { address: "0x4200000000000000000000000000000000000015" };
              l1StandardBridge: {
                  "11155111": { address: "0xea58fcA6849d79EAd1f26608855c2D6407d54Ce2" };
              };
              l2CrossDomainMessenger: {
                  address: "0x4200000000000000000000000000000000000007";
              };
              l2Erc721Bridge: { address: "0x4200000000000000000000000000000000000014" };
              l2StandardBridge: { address: "0x4200000000000000000000000000000000000010" };
              l2ToL1MessagePasser: {
                  address: "0x4200000000000000000000000000000000000016";
              };
              messageTransmitter: {
                  address: "0xbc498c326533d675cf571B90A2Ced265ACb7d086";
              };
              multicall3: {
                  address: "0xca11bde05977b3631167028862be2a173976ca11";
                  blockCreated: 0;
              };
              portal: {
                  "11155111": { address: "0x0d83dab629f0e0F9d36c0Cbc89B69a489f0751bD" };
              };
              tokenMessenger: { address: "0x8ed94B8dAd2Dc5453862ea5e316A8e71AAed9782" };
              USDC: {
                  abi: readonly [
                      {
                          inputs: readonly [
                              { indexed: true; name: "owner"; type: "address" },
                              { indexed: true; name: "spender"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Approval";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { indexed: true; name: "from"; type: "address" },
                              { indexed: true; name: "to"; type: "address" },
                              { indexed: false; name: "value"; type: "uint256" },
                          ];
                          name: "Transfer";
                          type: "event";
                      },
                      {
                          inputs: readonly [
                              { name: "owner"; type: "address" },
                              { name: "spender"; type: "address" },
                          ];
                          name: "allowance";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "spender"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "approve";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [{ name: "account"; type: "address" }];
                          name: "balanceOf";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "decimals";
                          outputs: readonly [{ type: "uint8" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "name";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "symbol";
                          outputs: readonly [{ type: "string" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "totalSupply";
                          outputs: readonly [{ type: "uint256" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transfer";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { name: "sender"; type: "address" },
                              { name: "recipient"; type: "address" },
                              { name: "amount"; type: "uint256" },
                          ];
                          name: "transferFrom";
                          outputs: readonly [{ type: "bool" }];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                  ];
                  address: "0x31d0220469e10c4E71834a79b1f276d740d3768F";
                  read: { decimals: () => 6 };
              };
          }

          Collection of contracts

        • Optionalcustom?: Record<string, unknown>

          Custom chain data.

        • ReadonlydomainId: 10
        • OptionalensTlds?: readonly string[]

          Collection of ENS TLDs for the chain.

        • Optionalfees?: ChainFees<undefined>

          Modifies how fees are derived.

        • formatters: {
              block: {
                  exclude: undefined | [];
                  format: (
                      args: OpStackRpcBlock<BlockTag, boolean>,
                  ) => {
                      baseFeePerGas: null | bigint;
                      blobGasUsed: bigint;
                      difficulty: bigint;
                      excessBlobGas: bigint;
                      extraData: `0x${string}`;
                      gasLimit: bigint;
                      gasUsed: bigint;
                      hash: null | `0x${string}`;
                      logsBloom: null | `0x${string}`;
                      miner: `0x${string}`;
                      mixHash: `0x${string}`;
                      nonce: null | `0x${string}`;
                      number: null | bigint;
                      parentBeaconBlockRoot?: `0x${string}`;
                      parentHash: `0x${string}`;
                      receiptsRoot: `0x${string}`;
                      sealFields: `0x${string}`[];
                      sha3Uncles: `0x${string}`;
                      size: bigint;
                      stateRoot: `0x${string}`;
                      timestamp: bigint;
                      totalDifficulty: null | bigint;
                      transactions: `0x${string}`[] | OpStackTransaction<boolean>[];
                      transactionsRoot: `0x${string}`;
                      uncles: `0x${string}`[];
                      withdrawals?: Withdrawal[];
                      withdrawalsRoot?: `0x${string}`;
                  };
                  type: "block";
              };
              transaction: {
                  exclude: undefined
                  | [];
                  format: (
                      args: OpStackRpcTransaction<boolean>,
                  ) =>
                      | {
                          blockHash: null
                          | `0x${string}`;
                          blockNumber: null | bigint;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice?: undefined;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: boolean;
                          maxFeePerBlobGas?: undefined;
                          maxFeePerGas: bigint;
                          maxPriorityFeePerGas: bigint;
                          mint?: bigint;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash: `0x${string}`;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "deposit";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity: number;
                      }
                      | {
                          accessList?: undefined;
                          authorizationList?: undefined;
                          blobVersionedHashes?: undefined;
                          blockHash: null
                          | `0x${string}`;
                          blockNumber: null | bigint;
                          chainId?: number;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice: bigint;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: undefined;
                          maxFeePerBlobGas?: undefined;
                          maxFeePerGas?: undefined;
                          maxPriorityFeePerGas?: undefined;
                          mint?: undefined;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash?: undefined;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "legacy";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity?: undefined;
                      }
                      | {
                          accessList: AccessList;
                          authorizationList?: undefined;
                          blobVersionedHashes?: undefined;
                          blockHash: null
                          | `0x${string}`;
                          blockNumber: null | bigint;
                          chainId: number;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice: bigint;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: undefined;
                          maxFeePerBlobGas?: undefined;
                          maxFeePerGas?: undefined;
                          maxPriorityFeePerGas?: undefined;
                          mint?: undefined;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash?: undefined;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "eip2930";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity: number;
                      }
                      | {
                          accessList: AccessList;
                          authorizationList?: undefined;
                          blobVersionedHashes?: undefined;
                          blockHash: null
                          | `0x${string}`;
                          blockNumber: null | bigint;
                          chainId: number;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice?: undefined;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: undefined;
                          maxFeePerBlobGas?: undefined;
                          maxFeePerGas: bigint;
                          maxPriorityFeePerGas: bigint;
                          mint?: undefined;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash?: undefined;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "eip1559";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity: number;
                      }
                      | {
                          accessList: AccessList;
                          authorizationList?: undefined;
                          blobVersionedHashes: readonly `0x${string}`[];
                          blockHash: null
                          | `0x${string}`;
                          blockNumber: null | bigint;
                          chainId: number;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice?: undefined;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: undefined;
                          maxFeePerBlobGas: bigint;
                          maxFeePerGas: bigint;
                          maxPriorityFeePerGas: bigint;
                          mint?: undefined;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash?: undefined;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "eip4844";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity: number;
                      }
                      | {
                          accessList: AccessList;
                          authorizationList: SignedAuthorizationList<number>;
                          blobVersionedHashes?: undefined;
                          blockHash: null | `0x${string}`;
                          blockNumber: null | bigint;
                          chainId: number;
                          from: `0x${string}`;
                          gas: bigint;
                          gasPrice?: undefined;
                          hash: `0x${string}`;
                          input: `0x${string}`;
                          isSystemTx?: undefined;
                          maxFeePerBlobGas?: undefined;
                          maxFeePerGas: bigint;
                          maxPriorityFeePerGas: bigint;
                          mint?: undefined;
                          nonce: number;
                          r: `0x${string}`;
                          s: `0x${string}`;
                          sourceHash?: undefined;
                          to: null | `0x${string}`;
                          transactionIndex: null | number;
                          type: "eip7702";
                          typeHex: null | `0x${string}`;
                          v: bigint;
                          value: bigint;
                          yParity: number;
                      };
                  type: "transaction";
              };
              transactionReceipt: {
                  exclude: undefined
                  | [];
                  format: (
                      args: OpStackRpcTransactionReceipt,
                  ) => {
                      blobGasPrice?: bigint;
                      blobGasUsed?: bigint;
                      blockHash: `0x${string}`;
                      blockNumber: bigint;
                      contractAddress: undefined | null | `0x${string}`;
                      cumulativeGasUsed: bigint;
                      effectiveGasPrice: bigint;
                      from: `0x${string}`;
                      gasUsed: bigint;
                      l1Fee: null | bigint;
                      l1FeeScalar: null | number;
                      l1GasPrice: null | bigint;
                      l1GasUsed: null | bigint;
                      logs: Log<
                          bigint,
                          number,
                          false,
                          undefined,
                          undefined,
                          undefined,
                          undefined,
                      >[];
                      logsBloom: `0x${string}`;
                      root?: `0x${string}`;
                      status: "success"
                      | "reverted";
                      to: null | `0x${string}`;
                      transactionHash: `0x${string}`;
                      transactionIndex: number;
                      type: TransactionType;
                  };
                  type: "transactionReceipt";
              };
          }

          Modifies how data is formatted and typed (e.g. blocks and transactions)

        • id: 1301

          ID in number form

        • name: "Unichain Sepolia"

          Human-readable name

        • nativeCurrency: { decimals: 18; name: "Ether"; symbol: "ETH" }

          Currency used by chain

        • rpcUrls: { default: { http: readonly ["https://sepolia.unichain.org"] } }

          Collection of RPC endpoints

        • serializers: {
              transaction: (
                  transaction: OpStackTransactionSerializable,
                  signature?: Signature,
              ) =>
                  | `0x02${string}`
                  | `0x01${string}`
                  | `0x03${string}`
                  | `0x04${string}`
                  | TransactionSerializedLegacy
                  | `0x7e${string}`;
          }

          Modifies how data is serialized (e.g. transactions).

        • sourceId: 11155111

          Source Chain ID (ie. the L1 chain)

        • testnet: true

          Flag for test networks