github.com/ethereum-optimism/optimism@v1.7.2/packages/contracts-ts/src/actions.ts (about)

     1  import { getContract, GetContractArgs } from 'wagmi/actions'
     2  
     3  /* eslint-disable */
     4  
     5  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     6  // AddressManager
     7  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     8  
     9  /**
    10   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)
    11   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xa6f73589243a6A7a9023b1Fa0651b1d89c177111)
    12   */
    13  export const addressManagerABI = [
    14    {
    15      type: 'event',
    16      anonymous: false,
    17      inputs: [
    18        { name: '_name', internalType: 'string', type: 'string', indexed: true },
    19        {
    20          name: '_newAddress',
    21          internalType: 'address',
    22          type: 'address',
    23          indexed: false,
    24        },
    25        {
    26          name: '_oldAddress',
    27          internalType: 'address',
    28          type: 'address',
    29          indexed: false,
    30        },
    31      ],
    32      name: 'AddressSet',
    33    },
    34    {
    35      type: 'event',
    36      anonymous: false,
    37      inputs: [
    38        {
    39          name: 'previousOwner',
    40          internalType: 'address',
    41          type: 'address',
    42          indexed: true,
    43        },
    44        {
    45          name: 'newOwner',
    46          internalType: 'address',
    47          type: 'address',
    48          indexed: true,
    49        },
    50      ],
    51      name: 'OwnershipTransferred',
    52    },
    53    {
    54      stateMutability: 'view',
    55      type: 'function',
    56      inputs: [{ name: '_name', internalType: 'string', type: 'string' }],
    57      name: 'getAddress',
    58      outputs: [{ name: '', internalType: 'address', type: 'address' }],
    59    },
    60    {
    61      stateMutability: 'view',
    62      type: 'function',
    63      inputs: [],
    64      name: 'owner',
    65      outputs: [{ name: '', internalType: 'address', type: 'address' }],
    66    },
    67    {
    68      stateMutability: 'nonpayable',
    69      type: 'function',
    70      inputs: [],
    71      name: 'renounceOwnership',
    72      outputs: [],
    73    },
    74    {
    75      stateMutability: 'nonpayable',
    76      type: 'function',
    77      inputs: [
    78        { name: '_name', internalType: 'string', type: 'string' },
    79        { name: '_address', internalType: 'address', type: 'address' },
    80      ],
    81      name: 'setAddress',
    82      outputs: [],
    83    },
    84    {
    85      stateMutability: 'nonpayable',
    86      type: 'function',
    87      inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
    88      name: 'transferOwnership',
    89      outputs: [],
    90    },
    91  ] as const
    92  
    93  /**
    94   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)
    95   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xa6f73589243a6A7a9023b1Fa0651b1d89c177111)
    96   */
    97  export const addressManagerAddress = {
    98    1: '0xdE1FCfB0851916CA5101820A69b13a4E276bd81F',
    99    5: '0xa6f73589243a6A7a9023b1Fa0651b1d89c177111',
   100  } as const
   101  
   102  /**
   103   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)
   104   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xa6f73589243a6A7a9023b1Fa0651b1d89c177111)
   105   */
   106  export const addressManagerConfig = {
   107    address: addressManagerAddress,
   108    abi: addressManagerABI,
   109  } as const
   110  
   111  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
   112  // AssetReceiver
   113  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
   114  
   115  /**
   116   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x15DdA60616Ffca20371ED1659dBB78E888f65556)
   117   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x15DdA60616Ffca20371ED1659dBB78E888f65556)
   118   */
   119  export const assetReceiverABI = [
   120    {
   121      stateMutability: 'nonpayable',
   122      type: 'constructor',
   123      inputs: [{ name: '_owner', internalType: 'address', type: 'address' }],
   124    },
   125    {
   126      type: 'event',
   127      anonymous: false,
   128      inputs: [
   129        { name: 'user', internalType: 'address', type: 'address', indexed: true },
   130        {
   131          name: 'newOwner',
   132          internalType: 'address',
   133          type: 'address',
   134          indexed: true,
   135        },
   136      ],
   137      name: 'OwnerUpdated',
   138    },
   139    {
   140      type: 'event',
   141      anonymous: false,
   142      inputs: [
   143        { name: 'from', internalType: 'address', type: 'address', indexed: true },
   144        {
   145          name: 'amount',
   146          internalType: 'uint256',
   147          type: 'uint256',
   148          indexed: false,
   149        },
   150      ],
   151      name: 'ReceivedETH',
   152    },
   153    {
   154      type: 'event',
   155      anonymous: false,
   156      inputs: [
   157        {
   158          name: 'withdrawer',
   159          internalType: 'address',
   160          type: 'address',
   161          indexed: true,
   162        },
   163        {
   164          name: 'recipient',
   165          internalType: 'address',
   166          type: 'address',
   167          indexed: true,
   168        },
   169        {
   170          name: 'asset',
   171          internalType: 'address',
   172          type: 'address',
   173          indexed: true,
   174        },
   175        {
   176          name: 'amount',
   177          internalType: 'uint256',
   178          type: 'uint256',
   179          indexed: false,
   180        },
   181      ],
   182      name: 'WithdrewERC20',
   183    },
   184    {
   185      type: 'event',
   186      anonymous: false,
   187      inputs: [
   188        {
   189          name: 'withdrawer',
   190          internalType: 'address',
   191          type: 'address',
   192          indexed: true,
   193        },
   194        {
   195          name: 'recipient',
   196          internalType: 'address',
   197          type: 'address',
   198          indexed: true,
   199        },
   200        {
   201          name: 'asset',
   202          internalType: 'address',
   203          type: 'address',
   204          indexed: true,
   205        },
   206        { name: 'id', internalType: 'uint256', type: 'uint256', indexed: false },
   207      ],
   208      name: 'WithdrewERC721',
   209    },
   210    {
   211      type: 'event',
   212      anonymous: false,
   213      inputs: [
   214        {
   215          name: 'withdrawer',
   216          internalType: 'address',
   217          type: 'address',
   218          indexed: true,
   219        },
   220        {
   221          name: 'recipient',
   222          internalType: 'address',
   223          type: 'address',
   224          indexed: true,
   225        },
   226        {
   227          name: 'amount',
   228          internalType: 'uint256',
   229          type: 'uint256',
   230          indexed: false,
   231        },
   232      ],
   233      name: 'WithdrewETH',
   234    },
   235    {
   236      stateMutability: 'payable',
   237      type: 'function',
   238      inputs: [
   239        { name: '_target', internalType: 'address', type: 'address' },
   240        { name: '_data', internalType: 'bytes', type: 'bytes' },
   241        { name: '_gas', internalType: 'uint256', type: 'uint256' },
   242        { name: '_value', internalType: 'uint256', type: 'uint256' },
   243      ],
   244      name: 'CALL',
   245      outputs: [
   246        { name: '', internalType: 'bool', type: 'bool' },
   247        { name: '', internalType: 'bytes', type: 'bytes' },
   248      ],
   249    },
   250    {
   251      stateMutability: 'payable',
   252      type: 'function',
   253      inputs: [
   254        { name: '_target', internalType: 'address', type: 'address' },
   255        { name: '_data', internalType: 'bytes', type: 'bytes' },
   256        { name: '_gas', internalType: 'uint256', type: 'uint256' },
   257      ],
   258      name: 'DELEGATECALL',
   259      outputs: [
   260        { name: '', internalType: 'bool', type: 'bool' },
   261        { name: '', internalType: 'bytes', type: 'bytes' },
   262      ],
   263    },
   264    {
   265      stateMutability: 'view',
   266      type: 'function',
   267      inputs: [],
   268      name: 'owner',
   269      outputs: [{ name: '', internalType: 'address', type: 'address' }],
   270    },
   271    {
   272      stateMutability: 'nonpayable',
   273      type: 'function',
   274      inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
   275      name: 'setOwner',
   276      outputs: [],
   277    },
   278    {
   279      stateMutability: 'nonpayable',
   280      type: 'function',
   281      inputs: [
   282        { name: '_asset', internalType: 'contract ERC20', type: 'address' },
   283        { name: '_to', internalType: 'address', type: 'address' },
   284        { name: '_amount', internalType: 'uint256', type: 'uint256' },
   285      ],
   286      name: 'withdrawERC20',
   287      outputs: [],
   288    },
   289    {
   290      stateMutability: 'nonpayable',
   291      type: 'function',
   292      inputs: [
   293        { name: '_asset', internalType: 'contract ERC20', type: 'address' },
   294        { name: '_to', internalType: 'address', type: 'address' },
   295      ],
   296      name: 'withdrawERC20',
   297      outputs: [],
   298    },
   299    {
   300      stateMutability: 'nonpayable',
   301      type: 'function',
   302      inputs: [
   303        { name: '_asset', internalType: 'contract ERC721', type: 'address' },
   304        { name: '_to', internalType: 'address', type: 'address' },
   305        { name: '_id', internalType: 'uint256', type: 'uint256' },
   306      ],
   307      name: 'withdrawERC721',
   308      outputs: [],
   309    },
   310    {
   311      stateMutability: 'nonpayable',
   312      type: 'function',
   313      inputs: [
   314        { name: '_to', internalType: 'address payable', type: 'address' },
   315        { name: '_amount', internalType: 'uint256', type: 'uint256' },
   316      ],
   317      name: 'withdrawETH',
   318      outputs: [],
   319    },
   320    {
   321      stateMutability: 'nonpayable',
   322      type: 'function',
   323      inputs: [{ name: '_to', internalType: 'address payable', type: 'address' }],
   324      name: 'withdrawETH',
   325      outputs: [],
   326    },
   327    { stateMutability: 'payable', type: 'receive' },
   328  ] as const
   329  
   330  /**
   331   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x15DdA60616Ffca20371ED1659dBB78E888f65556)
   332   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x15DdA60616Ffca20371ED1659dBB78E888f65556)
   333   */
   334  export const assetReceiverAddress = {
   335    1: '0x15DdA60616Ffca20371ED1659dBB78E888f65556',
   336    10: '0x15DdA60616Ffca20371ED1659dBB78E888f65556',
   337  } as const
   338  
   339  /**
   340   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x15DdA60616Ffca20371ED1659dBB78E888f65556)
   341   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x15DdA60616Ffca20371ED1659dBB78E888f65556)
   342   */
   343  export const assetReceiverConfig = {
   344    address: assetReceiverAddress,
   345    abi: assetReceiverABI,
   346  } as const
   347  
   348  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
   349  // AttestationStation
   350  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
   351  
   352  /**
   353   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0xEE36eaaD94d1Cc1d0eccaDb55C38bFfB6Be06C77)
   354   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0xEE36eaaD94d1Cc1d0eccaDb55C38bFfB6Be06C77)
   355   */
   356  export const attestationStationABI = [
   357    { stateMutability: 'nonpayable', type: 'constructor', inputs: [] },
   358    {
   359      type: 'event',
   360      anonymous: false,
   361      inputs: [
   362        {
   363          name: 'creator',
   364          internalType: 'address',
   365          type: 'address',
   366          indexed: true,
   367        },
   368        {
   369          name: 'about',
   370          internalType: 'address',
   371          type: 'address',
   372          indexed: true,
   373        },
   374        { name: 'key', internalType: 'bytes32', type: 'bytes32', indexed: true },
   375        { name: 'val', internalType: 'bytes', type: 'bytes', indexed: false },
   376      ],
   377      name: 'AttestationCreated',
   378    },
   379    {
   380      stateMutability: 'nonpayable',
   381      type: 'function',
   382      inputs: [
   383        {
   384          name: '_attestations',
   385          internalType: 'struct AttestationStation.AttestationData[]',
   386          type: 'tuple[]',
   387          components: [
   388            { name: 'about', internalType: 'address', type: 'address' },
   389            { name: 'key', internalType: 'bytes32', type: 'bytes32' },
   390            { name: 'val', internalType: 'bytes', type: 'bytes' },
   391          ],
   392        },
   393      ],
   394      name: 'attest',
   395      outputs: [],
   396    },
   397    {
   398      stateMutability: 'nonpayable',
   399      type: 'function',
   400      inputs: [
   401        { name: '_about', internalType: 'address', type: 'address' },
   402        { name: '_key', internalType: 'bytes32', type: 'bytes32' },
   403        { name: '_val', internalType: 'bytes', type: 'bytes' },
   404      ],
   405      name: 'attest',
   406      outputs: [],
   407    },
   408    {
   409      stateMutability: 'view',
   410      type: 'function',
   411      inputs: [
   412        { name: '', internalType: 'address', type: 'address' },
   413        { name: '', internalType: 'address', type: 'address' },
   414        { name: '', internalType: 'bytes32', type: 'bytes32' },
   415      ],
   416      name: 'attestations',
   417      outputs: [{ name: '', internalType: 'bytes', type: 'bytes' }],
   418    },
   419    {
   420      stateMutability: 'view',
   421      type: 'function',
   422      inputs: [],
   423      name: 'version',
   424      outputs: [{ name: '', internalType: 'string', type: 'string' }],
   425    },
   426  ] as const
   427  
   428  /**
   429   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0xEE36eaaD94d1Cc1d0eccaDb55C38bFfB6Be06C77)
   430   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0xEE36eaaD94d1Cc1d0eccaDb55C38bFfB6Be06C77)
   431   */
   432  export const attestationStationAddress = {
   433    10: '0xEE36eaaD94d1Cc1d0eccaDb55C38bFfB6Be06C77',
   434    420: '0xEE36eaaD94d1Cc1d0eccaDb55C38bFfB6Be06C77',
   435  } as const
   436  
   437  /**
   438   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0xEE36eaaD94d1Cc1d0eccaDb55C38bFfB6Be06C77)
   439   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0xEE36eaaD94d1Cc1d0eccaDb55C38bFfB6Be06C77)
   440   */
   441  export const attestationStationConfig = {
   442    address: attestationStationAddress,
   443    abi: attestationStationABI,
   444  } as const
   445  
   446  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
   447  // BaseFeeVault
   448  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
   449  
   450  /**
   451   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000019)
   452   */
   453  export const baseFeeVaultABI = [
   454    {
   455      stateMutability: 'nonpayable',
   456      type: 'constructor',
   457      inputs: [{ name: '_recipient', internalType: 'address', type: 'address' }],
   458    },
   459    {
   460      type: 'event',
   461      anonymous: false,
   462      inputs: [
   463        {
   464          name: 'value',
   465          internalType: 'uint256',
   466          type: 'uint256',
   467          indexed: false,
   468        },
   469        { name: 'to', internalType: 'address', type: 'address', indexed: false },
   470        {
   471          name: 'from',
   472          internalType: 'address',
   473          type: 'address',
   474          indexed: false,
   475        },
   476      ],
   477      name: 'Withdrawal',
   478    },
   479    {
   480      stateMutability: 'view',
   481      type: 'function',
   482      inputs: [],
   483      name: 'MIN_WITHDRAWAL_AMOUNT',
   484      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
   485    },
   486    {
   487      stateMutability: 'view',
   488      type: 'function',
   489      inputs: [],
   490      name: 'RECIPIENT',
   491      outputs: [{ name: '', internalType: 'address', type: 'address' }],
   492    },
   493    {
   494      stateMutability: 'view',
   495      type: 'function',
   496      inputs: [],
   497      name: 'totalProcessed',
   498      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
   499    },
   500    {
   501      stateMutability: 'view',
   502      type: 'function',
   503      inputs: [],
   504      name: 'version',
   505      outputs: [{ name: '', internalType: 'string', type: 'string' }],
   506    },
   507    {
   508      stateMutability: 'nonpayable',
   509      type: 'function',
   510      inputs: [],
   511      name: 'withdraw',
   512      outputs: [],
   513    },
   514    { stateMutability: 'payable', type: 'receive' },
   515  ] as const
   516  
   517  /**
   518   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000019)
   519   */
   520  export const baseFeeVaultAddress = {
   521    420: '0x4200000000000000000000000000000000000019',
   522  } as const
   523  
   524  /**
   525   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000019)
   526   */
   527  export const baseFeeVaultConfig = {
   528    address: baseFeeVaultAddress,
   529    abi: baseFeeVaultABI,
   530  } as const
   531  
   532  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
   533  // CheckBalanceHigh
   534  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
   535  
   536  /**
   537   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x7eC64a8a591bFf829ff6C8be76074D540ACb813F)
   538   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x7eC64a8a591bFf829ff6C8be76074D540ACb813F)
   539   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x5d7103853f12109A7d27F118e54BbC654ad847E9)
   540   */
   541  export const checkBalanceHighABI = [
   542    {
   543      type: 'event',
   544      anonymous: false,
   545      inputs: [
   546        {
   547          name: 'params',
   548          internalType: 'struct CheckBalanceHigh.Params',
   549          type: 'tuple',
   550          components: [
   551            { name: 'target', internalType: 'address', type: 'address' },
   552            { name: 'threshold', internalType: 'uint256', type: 'uint256' },
   553          ],
   554          indexed: false,
   555        },
   556      ],
   557      name: '_EventToExposeStructInABI__Params',
   558    },
   559    {
   560      stateMutability: 'view',
   561      type: 'function',
   562      inputs: [{ name: '_params', internalType: 'bytes', type: 'bytes' }],
   563      name: 'check',
   564      outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
   565    },
   566  ] as const
   567  
   568  /**
   569   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x7eC64a8a591bFf829ff6C8be76074D540ACb813F)
   570   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x7eC64a8a591bFf829ff6C8be76074D540ACb813F)
   571   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x5d7103853f12109A7d27F118e54BbC654ad847E9)
   572   */
   573  export const checkBalanceHighAddress = {
   574    1: '0x7eC64a8a591bFf829ff6C8be76074D540ACb813F',
   575    5: '0x7eC64a8a591bFf829ff6C8be76074D540ACb813F',
   576    420: '0x5d7103853f12109A7d27F118e54BbC654ad847E9',
   577  } as const
   578  
   579  /**
   580   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x7eC64a8a591bFf829ff6C8be76074D540ACb813F)
   581   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x7eC64a8a591bFf829ff6C8be76074D540ACb813F)
   582   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x5d7103853f12109A7d27F118e54BbC654ad847E9)
   583   */
   584  export const checkBalanceHighConfig = {
   585    address: checkBalanceHighAddress,
   586    abi: checkBalanceHighABI,
   587  } as const
   588  
   589  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
   590  // CheckBalanceLow
   591  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
   592  
   593  /**
   594   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x381a4eFC2A2C914eA1889722bB4B44Fa6BD5b640)
   595   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x381a4eFC2A2C914eA1889722bB4B44Fa6BD5b640)
   596   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x7Ce13D154FAEE5C8B3E6b19d4Add16f21d884474)
   597   */
   598  export const checkBalanceLowABI = [
   599    {
   600      type: 'event',
   601      anonymous: false,
   602      inputs: [
   603        {
   604          name: 'params',
   605          internalType: 'struct CheckBalanceLow.Params',
   606          type: 'tuple',
   607          components: [
   608            { name: 'target', internalType: 'address', type: 'address' },
   609            { name: 'threshold', internalType: 'uint256', type: 'uint256' },
   610          ],
   611          indexed: false,
   612        },
   613      ],
   614      name: '_EventToExposeStructInABI__Params',
   615    },
   616    {
   617      stateMutability: 'view',
   618      type: 'function',
   619      inputs: [{ name: '_params', internalType: 'bytes', type: 'bytes' }],
   620      name: 'check',
   621      outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
   622    },
   623  ] as const
   624  
   625  /**
   626   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x381a4eFC2A2C914eA1889722bB4B44Fa6BD5b640)
   627   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x381a4eFC2A2C914eA1889722bB4B44Fa6BD5b640)
   628   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x7Ce13D154FAEE5C8B3E6b19d4Add16f21d884474)
   629   */
   630  export const checkBalanceLowAddress = {
   631    1: '0x381a4eFC2A2C914eA1889722bB4B44Fa6BD5b640',
   632    5: '0x381a4eFC2A2C914eA1889722bB4B44Fa6BD5b640',
   633    420: '0x7Ce13D154FAEE5C8B3E6b19d4Add16f21d884474',
   634  } as const
   635  
   636  /**
   637   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x381a4eFC2A2C914eA1889722bB4B44Fa6BD5b640)
   638   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x381a4eFC2A2C914eA1889722bB4B44Fa6BD5b640)
   639   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x7Ce13D154FAEE5C8B3E6b19d4Add16f21d884474)
   640   */
   641  export const checkBalanceLowConfig = {
   642    address: checkBalanceLowAddress,
   643    abi: checkBalanceLowABI,
   644  } as const
   645  
   646  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
   647  // CheckGelatoLow
   648  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
   649  
   650  /**
   651   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x4f7CFc43f6D262a085F3b946cAC69E7a8E39BBAa)
   652   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x4f7CFc43f6D262a085F3b946cAC69E7a8E39BBAa)
   653   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0xF9c8a4Cb4021f57F9f6d69799cA9BefF64524862)
   654   */
   655  export const checkGelatoLowABI = [
   656    {
   657      type: 'event',
   658      anonymous: false,
   659      inputs: [
   660        {
   661          name: 'params',
   662          internalType: 'struct CheckGelatoLow.Params',
   663          type: 'tuple',
   664          components: [
   665            { name: 'treasury', internalType: 'address', type: 'address' },
   666            { name: 'threshold', internalType: 'uint256', type: 'uint256' },
   667            { name: 'recipient', internalType: 'address', type: 'address' },
   668          ],
   669          indexed: false,
   670        },
   671      ],
   672      name: '_EventToExposeStructInABI__Params',
   673    },
   674    {
   675      stateMutability: 'view',
   676      type: 'function',
   677      inputs: [{ name: '_params', internalType: 'bytes', type: 'bytes' }],
   678      name: 'check',
   679      outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
   680    },
   681  ] as const
   682  
   683  /**
   684   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x4f7CFc43f6D262a085F3b946cAC69E7a8E39BBAa)
   685   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x4f7CFc43f6D262a085F3b946cAC69E7a8E39BBAa)
   686   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0xF9c8a4Cb4021f57F9f6d69799cA9BefF64524862)
   687   */
   688  export const checkGelatoLowAddress = {
   689    1: '0x4f7CFc43f6D262a085F3b946cAC69E7a8E39BBAa',
   690    5: '0x4f7CFc43f6D262a085F3b946cAC69E7a8E39BBAa',
   691    420: '0xF9c8a4Cb4021f57F9f6d69799cA9BefF64524862',
   692  } as const
   693  
   694  /**
   695   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x4f7CFc43f6D262a085F3b946cAC69E7a8E39BBAa)
   696   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x4f7CFc43f6D262a085F3b946cAC69E7a8E39BBAa)
   697   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0xF9c8a4Cb4021f57F9f6d69799cA9BefF64524862)
   698   */
   699  export const checkGelatoLowConfig = {
   700    address: checkGelatoLowAddress,
   701    abi: checkGelatoLowABI,
   702  } as const
   703  
   704  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
   705  // CheckTrue
   706  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
   707  
   708  /**
   709   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x5c741a38cb11424711231777D71689C458eE835D)
   710   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x5c741a38cb11424711231777D71689C458eE835D)
   711   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x47443D0C184e022F19BD1578F5bca6B8a9F58E32)
   712   */
   713  export const checkTrueABI = [
   714    {
   715      stateMutability: 'pure',
   716      type: 'function',
   717      inputs: [{ name: '', internalType: 'bytes', type: 'bytes' }],
   718      name: 'check',
   719      outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
   720    },
   721  ] as const
   722  
   723  /**
   724   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x5c741a38cb11424711231777D71689C458eE835D)
   725   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x5c741a38cb11424711231777D71689C458eE835D)
   726   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x47443D0C184e022F19BD1578F5bca6B8a9F58E32)
   727   */
   728  export const checkTrueAddress = {
   729    1: '0x5c741a38cb11424711231777D71689C458eE835D',
   730    5: '0x5c741a38cb11424711231777D71689C458eE835D',
   731    420: '0x47443D0C184e022F19BD1578F5bca6B8a9F58E32',
   732  } as const
   733  
   734  /**
   735   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x5c741a38cb11424711231777D71689C458eE835D)
   736   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x5c741a38cb11424711231777D71689C458eE835D)
   737   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x47443D0C184e022F19BD1578F5bca6B8a9F58E32)
   738   */
   739  export const checkTrueConfig = {
   740    address: checkTrueAddress,
   741    abi: checkTrueABI,
   742  } as const
   743  
   744  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
   745  // Drippie
   746  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
   747  
   748  /**
   749   * [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x44b3A2a040057eBafC601A78647e805fd58B1f50)
   750   */
   751  export const drippieABI = [
   752    {
   753      stateMutability: 'nonpayable',
   754      type: 'constructor',
   755      inputs: [{ name: '_owner', internalType: 'address', type: 'address' }],
   756    },
   757    {
   758      type: 'event',
   759      anonymous: false,
   760      inputs: [
   761        {
   762          name: 'nameref',
   763          internalType: 'string',
   764          type: 'string',
   765          indexed: true,
   766        },
   767        { name: 'name', internalType: 'string', type: 'string', indexed: false },
   768        {
   769          name: 'config',
   770          internalType: 'struct Drippie.DripConfig',
   771          type: 'tuple',
   772          components: [
   773            { name: 'reentrant', internalType: 'bool', type: 'bool' },
   774            { name: 'interval', internalType: 'uint256', type: 'uint256' },
   775            {
   776              name: 'dripcheck',
   777              internalType: 'contract IDripCheck',
   778              type: 'address',
   779            },
   780            { name: 'checkparams', internalType: 'bytes', type: 'bytes' },
   781            {
   782              name: 'actions',
   783              internalType: 'struct Drippie.DripAction[]',
   784              type: 'tuple[]',
   785              components: [
   786                {
   787                  name: 'target',
   788                  internalType: 'address payable',
   789                  type: 'address',
   790                },
   791                { name: 'data', internalType: 'bytes', type: 'bytes' },
   792                { name: 'value', internalType: 'uint256', type: 'uint256' },
   793              ],
   794            },
   795          ],
   796          indexed: false,
   797        },
   798      ],
   799      name: 'DripCreated',
   800    },
   801    {
   802      type: 'event',
   803      anonymous: false,
   804      inputs: [
   805        {
   806          name: 'nameref',
   807          internalType: 'string',
   808          type: 'string',
   809          indexed: true,
   810        },
   811        { name: 'name', internalType: 'string', type: 'string', indexed: false },
   812        {
   813          name: 'executor',
   814          internalType: 'address',
   815          type: 'address',
   816          indexed: false,
   817        },
   818        {
   819          name: 'timestamp',
   820          internalType: 'uint256',
   821          type: 'uint256',
   822          indexed: false,
   823        },
   824      ],
   825      name: 'DripExecuted',
   826    },
   827    {
   828      type: 'event',
   829      anonymous: false,
   830      inputs: [
   831        {
   832          name: 'nameref',
   833          internalType: 'string',
   834          type: 'string',
   835          indexed: true,
   836        },
   837        { name: 'name', internalType: 'string', type: 'string', indexed: false },
   838        {
   839          name: 'status',
   840          internalType: 'enum Drippie.DripStatus',
   841          type: 'uint8',
   842          indexed: false,
   843        },
   844      ],
   845      name: 'DripStatusUpdated',
   846    },
   847    {
   848      type: 'event',
   849      anonymous: false,
   850      inputs: [
   851        { name: 'user', internalType: 'address', type: 'address', indexed: true },
   852        {
   853          name: 'newOwner',
   854          internalType: 'address',
   855          type: 'address',
   856          indexed: true,
   857        },
   858      ],
   859      name: 'OwnerUpdated',
   860    },
   861    {
   862      type: 'event',
   863      anonymous: false,
   864      inputs: [
   865        { name: 'from', internalType: 'address', type: 'address', indexed: true },
   866        {
   867          name: 'amount',
   868          internalType: 'uint256',
   869          type: 'uint256',
   870          indexed: false,
   871        },
   872      ],
   873      name: 'ReceivedETH',
   874    },
   875    {
   876      type: 'event',
   877      anonymous: false,
   878      inputs: [
   879        {
   880          name: 'withdrawer',
   881          internalType: 'address',
   882          type: 'address',
   883          indexed: true,
   884        },
   885        {
   886          name: 'recipient',
   887          internalType: 'address',
   888          type: 'address',
   889          indexed: true,
   890        },
   891        {
   892          name: 'asset',
   893          internalType: 'address',
   894          type: 'address',
   895          indexed: true,
   896        },
   897        {
   898          name: 'amount',
   899          internalType: 'uint256',
   900          type: 'uint256',
   901          indexed: false,
   902        },
   903      ],
   904      name: 'WithdrewERC20',
   905    },
   906    {
   907      type: 'event',
   908      anonymous: false,
   909      inputs: [
   910        {
   911          name: 'withdrawer',
   912          internalType: 'address',
   913          type: 'address',
   914          indexed: true,
   915        },
   916        {
   917          name: 'recipient',
   918          internalType: 'address',
   919          type: 'address',
   920          indexed: true,
   921        },
   922        {
   923          name: 'asset',
   924          internalType: 'address',
   925          type: 'address',
   926          indexed: true,
   927        },
   928        { name: 'id', internalType: 'uint256', type: 'uint256', indexed: false },
   929      ],
   930      name: 'WithdrewERC721',
   931    },
   932    {
   933      type: 'event',
   934      anonymous: false,
   935      inputs: [
   936        {
   937          name: 'withdrawer',
   938          internalType: 'address',
   939          type: 'address',
   940          indexed: true,
   941        },
   942        {
   943          name: 'recipient',
   944          internalType: 'address',
   945          type: 'address',
   946          indexed: true,
   947        },
   948        {
   949          name: 'amount',
   950          internalType: 'uint256',
   951          type: 'uint256',
   952          indexed: false,
   953        },
   954      ],
   955      name: 'WithdrewETH',
   956    },
   957    {
   958      stateMutability: 'payable',
   959      type: 'function',
   960      inputs: [
   961        { name: '_target', internalType: 'address', type: 'address' },
   962        { name: '_data', internalType: 'bytes', type: 'bytes' },
   963        { name: '_value', internalType: 'uint256', type: 'uint256' },
   964      ],
   965      name: 'CALL',
   966      outputs: [
   967        { name: '', internalType: 'bool', type: 'bool' },
   968        { name: '', internalType: 'bytes', type: 'bytes' },
   969      ],
   970    },
   971    {
   972      stateMutability: 'payable',
   973      type: 'function',
   974      inputs: [
   975        { name: '_target', internalType: 'address', type: 'address' },
   976        { name: '_data', internalType: 'bytes', type: 'bytes' },
   977      ],
   978      name: 'DELEGATECALL',
   979      outputs: [
   980        { name: '', internalType: 'bool', type: 'bool' },
   981        { name: '', internalType: 'bytes', type: 'bytes' },
   982      ],
   983    },
   984    {
   985      stateMutability: 'nonpayable',
   986      type: 'function',
   987      inputs: [
   988        { name: '_name', internalType: 'string', type: 'string' },
   989        {
   990          name: '_config',
   991          internalType: 'struct Drippie.DripConfig',
   992          type: 'tuple',
   993          components: [
   994            { name: 'reentrant', internalType: 'bool', type: 'bool' },
   995            { name: 'interval', internalType: 'uint256', type: 'uint256' },
   996            {
   997              name: 'dripcheck',
   998              internalType: 'contract IDripCheck',
   999              type: 'address',
  1000            },
  1001            { name: 'checkparams', internalType: 'bytes', type: 'bytes' },
  1002            {
  1003              name: 'actions',
  1004              internalType: 'struct Drippie.DripAction[]',
  1005              type: 'tuple[]',
  1006              components: [
  1007                {
  1008                  name: 'target',
  1009                  internalType: 'address payable',
  1010                  type: 'address',
  1011                },
  1012                { name: 'data', internalType: 'bytes', type: 'bytes' },
  1013                { name: 'value', internalType: 'uint256', type: 'uint256' },
  1014              ],
  1015            },
  1016          ],
  1017        },
  1018      ],
  1019      name: 'create',
  1020      outputs: [],
  1021    },
  1022    {
  1023      stateMutability: 'nonpayable',
  1024      type: 'function',
  1025      inputs: [{ name: '_name', internalType: 'string', type: 'string' }],
  1026      name: 'drip',
  1027      outputs: [],
  1028    },
  1029    {
  1030      stateMutability: 'view',
  1031      type: 'function',
  1032      inputs: [{ name: '', internalType: 'string', type: 'string' }],
  1033      name: 'drips',
  1034      outputs: [
  1035        {
  1036          name: 'status',
  1037          internalType: 'enum Drippie.DripStatus',
  1038          type: 'uint8',
  1039        },
  1040        {
  1041          name: 'config',
  1042          internalType: 'struct Drippie.DripConfig',
  1043          type: 'tuple',
  1044          components: [
  1045            { name: 'reentrant', internalType: 'bool', type: 'bool' },
  1046            { name: 'interval', internalType: 'uint256', type: 'uint256' },
  1047            {
  1048              name: 'dripcheck',
  1049              internalType: 'contract IDripCheck',
  1050              type: 'address',
  1051            },
  1052            { name: 'checkparams', internalType: 'bytes', type: 'bytes' },
  1053            {
  1054              name: 'actions',
  1055              internalType: 'struct Drippie.DripAction[]',
  1056              type: 'tuple[]',
  1057              components: [
  1058                {
  1059                  name: 'target',
  1060                  internalType: 'address payable',
  1061                  type: 'address',
  1062                },
  1063                { name: 'data', internalType: 'bytes', type: 'bytes' },
  1064                { name: 'value', internalType: 'uint256', type: 'uint256' },
  1065              ],
  1066            },
  1067          ],
  1068        },
  1069        { name: 'last', internalType: 'uint256', type: 'uint256' },
  1070        { name: 'count', internalType: 'uint256', type: 'uint256' },
  1071      ],
  1072    },
  1073    {
  1074      stateMutability: 'view',
  1075      type: 'function',
  1076      inputs: [{ name: '_name', internalType: 'string', type: 'string' }],
  1077      name: 'executable',
  1078      outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
  1079    },
  1080    {
  1081      stateMutability: 'view',
  1082      type: 'function',
  1083      inputs: [],
  1084      name: 'owner',
  1085      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  1086    },
  1087    {
  1088      stateMutability: 'nonpayable',
  1089      type: 'function',
  1090      inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
  1091      name: 'setOwner',
  1092      outputs: [],
  1093    },
  1094    {
  1095      stateMutability: 'nonpayable',
  1096      type: 'function',
  1097      inputs: [
  1098        { name: '_name', internalType: 'string', type: 'string' },
  1099        {
  1100          name: '_status',
  1101          internalType: 'enum Drippie.DripStatus',
  1102          type: 'uint8',
  1103        },
  1104      ],
  1105      name: 'status',
  1106      outputs: [],
  1107    },
  1108    {
  1109      stateMutability: 'nonpayable',
  1110      type: 'function',
  1111      inputs: [
  1112        { name: '_asset', internalType: 'contract ERC20', type: 'address' },
  1113        { name: '_to', internalType: 'address', type: 'address' },
  1114        { name: '_amount', internalType: 'uint256', type: 'uint256' },
  1115      ],
  1116      name: 'withdrawERC20',
  1117      outputs: [],
  1118    },
  1119    {
  1120      stateMutability: 'nonpayable',
  1121      type: 'function',
  1122      inputs: [
  1123        { name: '_asset', internalType: 'contract ERC20', type: 'address' },
  1124        { name: '_to', internalType: 'address', type: 'address' },
  1125      ],
  1126      name: 'withdrawERC20',
  1127      outputs: [],
  1128    },
  1129    {
  1130      stateMutability: 'nonpayable',
  1131      type: 'function',
  1132      inputs: [
  1133        { name: '_asset', internalType: 'contract ERC721', type: 'address' },
  1134        { name: '_to', internalType: 'address', type: 'address' },
  1135        { name: '_id', internalType: 'uint256', type: 'uint256' },
  1136      ],
  1137      name: 'withdrawERC721',
  1138      outputs: [],
  1139    },
  1140    {
  1141      stateMutability: 'nonpayable',
  1142      type: 'function',
  1143      inputs: [
  1144        { name: '_to', internalType: 'address payable', type: 'address' },
  1145        { name: '_amount', internalType: 'uint256', type: 'uint256' },
  1146      ],
  1147      name: 'withdrawETH',
  1148      outputs: [],
  1149    },
  1150    {
  1151      stateMutability: 'nonpayable',
  1152      type: 'function',
  1153      inputs: [{ name: '_to', internalType: 'address payable', type: 'address' }],
  1154      name: 'withdrawETH',
  1155      outputs: [],
  1156    },
  1157    { stateMutability: 'payable', type: 'receive' },
  1158  ] as const
  1159  
  1160  /**
  1161   * [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x44b3A2a040057eBafC601A78647e805fd58B1f50)
  1162   */
  1163  export const drippieAddress = {
  1164    1: '0x44b3A2a040057eBafC601A78647e805fd58B1f50',
  1165  } as const
  1166  
  1167  /**
  1168   * [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x44b3A2a040057eBafC601A78647e805fd58B1f50)
  1169   */
  1170  export const drippieConfig = {
  1171    address: drippieAddress,
  1172    abi: drippieABI,
  1173  } as const
  1174  
  1175  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  1176  // Drippie_goerli
  1177  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  1178  
  1179  /**
  1180   * [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x44b3A2a040057eBafC601A78647e805fd58B1f50)
  1181   */
  1182  export const drippieGoerliABI = [
  1183    {
  1184      stateMutability: 'nonpayable',
  1185      type: 'constructor',
  1186      inputs: [{ name: '_owner', internalType: 'address', type: 'address' }],
  1187    },
  1188    {
  1189      type: 'event',
  1190      anonymous: false,
  1191      inputs: [
  1192        {
  1193          name: 'nameref',
  1194          internalType: 'string',
  1195          type: 'string',
  1196          indexed: true,
  1197        },
  1198        { name: 'name', internalType: 'string', type: 'string', indexed: false },
  1199        {
  1200          name: 'config',
  1201          internalType: 'struct Drippie.DripConfig',
  1202          type: 'tuple',
  1203          components: [
  1204            { name: 'reentrant', internalType: 'bool', type: 'bool' },
  1205            { name: 'interval', internalType: 'uint256', type: 'uint256' },
  1206            {
  1207              name: 'dripcheck',
  1208              internalType: 'contract IDripCheck',
  1209              type: 'address',
  1210            },
  1211            { name: 'checkparams', internalType: 'bytes', type: 'bytes' },
  1212            {
  1213              name: 'actions',
  1214              internalType: 'struct Drippie.DripAction[]',
  1215              type: 'tuple[]',
  1216              components: [
  1217                {
  1218                  name: 'target',
  1219                  internalType: 'address payable',
  1220                  type: 'address',
  1221                },
  1222                { name: 'data', internalType: 'bytes', type: 'bytes' },
  1223                { name: 'value', internalType: 'uint256', type: 'uint256' },
  1224              ],
  1225            },
  1226          ],
  1227          indexed: false,
  1228        },
  1229      ],
  1230      name: 'DripCreated',
  1231    },
  1232    {
  1233      type: 'event',
  1234      anonymous: false,
  1235      inputs: [
  1236        {
  1237          name: 'nameref',
  1238          internalType: 'string',
  1239          type: 'string',
  1240          indexed: true,
  1241        },
  1242        { name: 'name', internalType: 'string', type: 'string', indexed: false },
  1243        {
  1244          name: 'executor',
  1245          internalType: 'address',
  1246          type: 'address',
  1247          indexed: false,
  1248        },
  1249        {
  1250          name: 'timestamp',
  1251          internalType: 'uint256',
  1252          type: 'uint256',
  1253          indexed: false,
  1254        },
  1255      ],
  1256      name: 'DripExecuted',
  1257    },
  1258    {
  1259      type: 'event',
  1260      anonymous: false,
  1261      inputs: [
  1262        {
  1263          name: 'nameref',
  1264          internalType: 'string',
  1265          type: 'string',
  1266          indexed: true,
  1267        },
  1268        { name: 'name', internalType: 'string', type: 'string', indexed: false },
  1269        {
  1270          name: 'status',
  1271          internalType: 'enum Drippie.DripStatus',
  1272          type: 'uint8',
  1273          indexed: false,
  1274        },
  1275      ],
  1276      name: 'DripStatusUpdated',
  1277    },
  1278    {
  1279      type: 'event',
  1280      anonymous: false,
  1281      inputs: [
  1282        { name: 'user', internalType: 'address', type: 'address', indexed: true },
  1283        {
  1284          name: 'newOwner',
  1285          internalType: 'address',
  1286          type: 'address',
  1287          indexed: true,
  1288        },
  1289      ],
  1290      name: 'OwnerUpdated',
  1291    },
  1292    {
  1293      type: 'event',
  1294      anonymous: false,
  1295      inputs: [
  1296        { name: 'from', internalType: 'address', type: 'address', indexed: true },
  1297        {
  1298          name: 'amount',
  1299          internalType: 'uint256',
  1300          type: 'uint256',
  1301          indexed: false,
  1302        },
  1303      ],
  1304      name: 'ReceivedETH',
  1305    },
  1306    {
  1307      type: 'event',
  1308      anonymous: false,
  1309      inputs: [
  1310        {
  1311          name: 'withdrawer',
  1312          internalType: 'address',
  1313          type: 'address',
  1314          indexed: true,
  1315        },
  1316        {
  1317          name: 'recipient',
  1318          internalType: 'address',
  1319          type: 'address',
  1320          indexed: true,
  1321        },
  1322        {
  1323          name: 'asset',
  1324          internalType: 'address',
  1325          type: 'address',
  1326          indexed: true,
  1327        },
  1328        {
  1329          name: 'amount',
  1330          internalType: 'uint256',
  1331          type: 'uint256',
  1332          indexed: false,
  1333        },
  1334      ],
  1335      name: 'WithdrewERC20',
  1336    },
  1337    {
  1338      type: 'event',
  1339      anonymous: false,
  1340      inputs: [
  1341        {
  1342          name: 'withdrawer',
  1343          internalType: 'address',
  1344          type: 'address',
  1345          indexed: true,
  1346        },
  1347        {
  1348          name: 'recipient',
  1349          internalType: 'address',
  1350          type: 'address',
  1351          indexed: true,
  1352        },
  1353        {
  1354          name: 'asset',
  1355          internalType: 'address',
  1356          type: 'address',
  1357          indexed: true,
  1358        },
  1359        { name: 'id', internalType: 'uint256', type: 'uint256', indexed: false },
  1360      ],
  1361      name: 'WithdrewERC721',
  1362    },
  1363    {
  1364      type: 'event',
  1365      anonymous: false,
  1366      inputs: [
  1367        {
  1368          name: 'withdrawer',
  1369          internalType: 'address',
  1370          type: 'address',
  1371          indexed: true,
  1372        },
  1373        {
  1374          name: 'recipient',
  1375          internalType: 'address',
  1376          type: 'address',
  1377          indexed: true,
  1378        },
  1379        {
  1380          name: 'amount',
  1381          internalType: 'uint256',
  1382          type: 'uint256',
  1383          indexed: false,
  1384        },
  1385      ],
  1386      name: 'WithdrewETH',
  1387    },
  1388    {
  1389      stateMutability: 'payable',
  1390      type: 'function',
  1391      inputs: [
  1392        { name: '_target', internalType: 'address', type: 'address' },
  1393        { name: '_data', internalType: 'bytes', type: 'bytes' },
  1394        { name: '_value', internalType: 'uint256', type: 'uint256' },
  1395      ],
  1396      name: 'CALL',
  1397      outputs: [
  1398        { name: '', internalType: 'bool', type: 'bool' },
  1399        { name: '', internalType: 'bytes', type: 'bytes' },
  1400      ],
  1401    },
  1402    {
  1403      stateMutability: 'payable',
  1404      type: 'function',
  1405      inputs: [
  1406        { name: '_target', internalType: 'address', type: 'address' },
  1407        { name: '_data', internalType: 'bytes', type: 'bytes' },
  1408      ],
  1409      name: 'DELEGATECALL',
  1410      outputs: [
  1411        { name: '', internalType: 'bool', type: 'bool' },
  1412        { name: '', internalType: 'bytes', type: 'bytes' },
  1413      ],
  1414    },
  1415    {
  1416      stateMutability: 'nonpayable',
  1417      type: 'function',
  1418      inputs: [
  1419        { name: '_name', internalType: 'string', type: 'string' },
  1420        {
  1421          name: '_config',
  1422          internalType: 'struct Drippie.DripConfig',
  1423          type: 'tuple',
  1424          components: [
  1425            { name: 'reentrant', internalType: 'bool', type: 'bool' },
  1426            { name: 'interval', internalType: 'uint256', type: 'uint256' },
  1427            {
  1428              name: 'dripcheck',
  1429              internalType: 'contract IDripCheck',
  1430              type: 'address',
  1431            },
  1432            { name: 'checkparams', internalType: 'bytes', type: 'bytes' },
  1433            {
  1434              name: 'actions',
  1435              internalType: 'struct Drippie.DripAction[]',
  1436              type: 'tuple[]',
  1437              components: [
  1438                {
  1439                  name: 'target',
  1440                  internalType: 'address payable',
  1441                  type: 'address',
  1442                },
  1443                { name: 'data', internalType: 'bytes', type: 'bytes' },
  1444                { name: 'value', internalType: 'uint256', type: 'uint256' },
  1445              ],
  1446            },
  1447          ],
  1448        },
  1449      ],
  1450      name: 'create',
  1451      outputs: [],
  1452    },
  1453    {
  1454      stateMutability: 'nonpayable',
  1455      type: 'function',
  1456      inputs: [{ name: '_name', internalType: 'string', type: 'string' }],
  1457      name: 'drip',
  1458      outputs: [],
  1459    },
  1460    {
  1461      stateMutability: 'view',
  1462      type: 'function',
  1463      inputs: [{ name: '', internalType: 'string', type: 'string' }],
  1464      name: 'drips',
  1465      outputs: [
  1466        {
  1467          name: 'status',
  1468          internalType: 'enum Drippie.DripStatus',
  1469          type: 'uint8',
  1470        },
  1471        {
  1472          name: 'config',
  1473          internalType: 'struct Drippie.DripConfig',
  1474          type: 'tuple',
  1475          components: [
  1476            { name: 'reentrant', internalType: 'bool', type: 'bool' },
  1477            { name: 'interval', internalType: 'uint256', type: 'uint256' },
  1478            {
  1479              name: 'dripcheck',
  1480              internalType: 'contract IDripCheck',
  1481              type: 'address',
  1482            },
  1483            { name: 'checkparams', internalType: 'bytes', type: 'bytes' },
  1484            {
  1485              name: 'actions',
  1486              internalType: 'struct Drippie.DripAction[]',
  1487              type: 'tuple[]',
  1488              components: [
  1489                {
  1490                  name: 'target',
  1491                  internalType: 'address payable',
  1492                  type: 'address',
  1493                },
  1494                { name: 'data', internalType: 'bytes', type: 'bytes' },
  1495                { name: 'value', internalType: 'uint256', type: 'uint256' },
  1496              ],
  1497            },
  1498          ],
  1499        },
  1500        { name: 'last', internalType: 'uint256', type: 'uint256' },
  1501        { name: 'count', internalType: 'uint256', type: 'uint256' },
  1502      ],
  1503    },
  1504    {
  1505      stateMutability: 'view',
  1506      type: 'function',
  1507      inputs: [{ name: '_name', internalType: 'string', type: 'string' }],
  1508      name: 'executable',
  1509      outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
  1510    },
  1511    {
  1512      stateMutability: 'view',
  1513      type: 'function',
  1514      inputs: [],
  1515      name: 'owner',
  1516      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  1517    },
  1518    {
  1519      stateMutability: 'nonpayable',
  1520      type: 'function',
  1521      inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
  1522      name: 'setOwner',
  1523      outputs: [],
  1524    },
  1525    {
  1526      stateMutability: 'nonpayable',
  1527      type: 'function',
  1528      inputs: [
  1529        { name: '_name', internalType: 'string', type: 'string' },
  1530        {
  1531          name: '_status',
  1532          internalType: 'enum Drippie.DripStatus',
  1533          type: 'uint8',
  1534        },
  1535      ],
  1536      name: 'status',
  1537      outputs: [],
  1538    },
  1539    {
  1540      stateMutability: 'nonpayable',
  1541      type: 'function',
  1542      inputs: [
  1543        { name: '_asset', internalType: 'contract ERC20', type: 'address' },
  1544        { name: '_to', internalType: 'address', type: 'address' },
  1545        { name: '_amount', internalType: 'uint256', type: 'uint256' },
  1546      ],
  1547      name: 'withdrawERC20',
  1548      outputs: [],
  1549    },
  1550    {
  1551      stateMutability: 'nonpayable',
  1552      type: 'function',
  1553      inputs: [
  1554        { name: '_asset', internalType: 'contract ERC20', type: 'address' },
  1555        { name: '_to', internalType: 'address', type: 'address' },
  1556      ],
  1557      name: 'withdrawERC20',
  1558      outputs: [],
  1559    },
  1560    {
  1561      stateMutability: 'nonpayable',
  1562      type: 'function',
  1563      inputs: [
  1564        { name: '_asset', internalType: 'contract ERC721', type: 'address' },
  1565        { name: '_to', internalType: 'address', type: 'address' },
  1566        { name: '_id', internalType: 'uint256', type: 'uint256' },
  1567      ],
  1568      name: 'withdrawERC721',
  1569      outputs: [],
  1570    },
  1571    {
  1572      stateMutability: 'nonpayable',
  1573      type: 'function',
  1574      inputs: [
  1575        { name: '_to', internalType: 'address payable', type: 'address' },
  1576        { name: '_amount', internalType: 'uint256', type: 'uint256' },
  1577      ],
  1578      name: 'withdrawETH',
  1579      outputs: [],
  1580    },
  1581    {
  1582      stateMutability: 'nonpayable',
  1583      type: 'function',
  1584      inputs: [{ name: '_to', internalType: 'address payable', type: 'address' }],
  1585      name: 'withdrawETH',
  1586      outputs: [],
  1587    },
  1588    { stateMutability: 'payable', type: 'receive' },
  1589  ] as const
  1590  
  1591  /**
  1592   * [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x44b3A2a040057eBafC601A78647e805fd58B1f50)
  1593   */
  1594  export const drippieGoerliAddress = {
  1595    5: '0x44b3A2a040057eBafC601A78647e805fd58B1f50',
  1596  } as const
  1597  
  1598  /**
  1599   * [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x44b3A2a040057eBafC601A78647e805fd58B1f50)
  1600   */
  1601  export const drippieGoerliConfig = {
  1602    address: drippieGoerliAddress,
  1603    abi: drippieGoerliABI,
  1604  } as const
  1605  
  1606  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  1607  // Drippie_optimism-goerli
  1608  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  1609  
  1610  /**
  1611   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x8D8d533C16D23847EB04EEB0925be8900Dd3af86)
  1612   */
  1613  export const drippieOptimismGoerliABI = [
  1614    {
  1615      stateMutability: 'nonpayable',
  1616      type: 'constructor',
  1617      inputs: [{ name: '_owner', internalType: 'address', type: 'address' }],
  1618    },
  1619    {
  1620      type: 'event',
  1621      anonymous: false,
  1622      inputs: [
  1623        {
  1624          name: 'nameref',
  1625          internalType: 'string',
  1626          type: 'string',
  1627          indexed: true,
  1628        },
  1629        { name: 'name', internalType: 'string', type: 'string', indexed: false },
  1630        {
  1631          name: 'config',
  1632          internalType: 'struct Drippie.DripConfig',
  1633          type: 'tuple',
  1634          components: [
  1635            { name: 'interval', internalType: 'uint256', type: 'uint256' },
  1636            {
  1637              name: 'dripcheck',
  1638              internalType: 'contract IDripCheck',
  1639              type: 'address',
  1640            },
  1641            { name: 'checkparams', internalType: 'bytes', type: 'bytes' },
  1642            {
  1643              name: 'actions',
  1644              internalType: 'struct Drippie.DripAction[]',
  1645              type: 'tuple[]',
  1646              components: [
  1647                {
  1648                  name: 'target',
  1649                  internalType: 'address payable',
  1650                  type: 'address',
  1651                },
  1652                { name: 'data', internalType: 'bytes', type: 'bytes' },
  1653                { name: 'value', internalType: 'uint256', type: 'uint256' },
  1654              ],
  1655            },
  1656          ],
  1657          indexed: false,
  1658        },
  1659      ],
  1660      name: 'DripCreated',
  1661    },
  1662    {
  1663      type: 'event',
  1664      anonymous: false,
  1665      inputs: [
  1666        {
  1667          name: 'nameref',
  1668          internalType: 'string',
  1669          type: 'string',
  1670          indexed: true,
  1671        },
  1672        { name: 'name', internalType: 'string', type: 'string', indexed: false },
  1673        {
  1674          name: 'executor',
  1675          internalType: 'address',
  1676          type: 'address',
  1677          indexed: false,
  1678        },
  1679        {
  1680          name: 'timestamp',
  1681          internalType: 'uint256',
  1682          type: 'uint256',
  1683          indexed: false,
  1684        },
  1685      ],
  1686      name: 'DripExecuted',
  1687    },
  1688    {
  1689      type: 'event',
  1690      anonymous: false,
  1691      inputs: [
  1692        {
  1693          name: 'nameref',
  1694          internalType: 'string',
  1695          type: 'string',
  1696          indexed: true,
  1697        },
  1698        { name: 'name', internalType: 'string', type: 'string', indexed: false },
  1699        {
  1700          name: 'status',
  1701          internalType: 'enum Drippie.DripStatus',
  1702          type: 'uint8',
  1703          indexed: false,
  1704        },
  1705      ],
  1706      name: 'DripStatusUpdated',
  1707    },
  1708    {
  1709      type: 'event',
  1710      anonymous: false,
  1711      inputs: [
  1712        { name: 'user', internalType: 'address', type: 'address', indexed: true },
  1713        {
  1714          name: 'newOwner',
  1715          internalType: 'address',
  1716          type: 'address',
  1717          indexed: true,
  1718        },
  1719      ],
  1720      name: 'OwnerUpdated',
  1721    },
  1722    {
  1723      type: 'event',
  1724      anonymous: false,
  1725      inputs: [
  1726        { name: 'from', internalType: 'address', type: 'address', indexed: true },
  1727        {
  1728          name: 'amount',
  1729          internalType: 'uint256',
  1730          type: 'uint256',
  1731          indexed: false,
  1732        },
  1733      ],
  1734      name: 'ReceivedETH',
  1735    },
  1736    {
  1737      type: 'event',
  1738      anonymous: false,
  1739      inputs: [
  1740        {
  1741          name: 'withdrawer',
  1742          internalType: 'address',
  1743          type: 'address',
  1744          indexed: true,
  1745        },
  1746        {
  1747          name: 'recipient',
  1748          internalType: 'address',
  1749          type: 'address',
  1750          indexed: true,
  1751        },
  1752        {
  1753          name: 'asset',
  1754          internalType: 'address',
  1755          type: 'address',
  1756          indexed: true,
  1757        },
  1758        {
  1759          name: 'amount',
  1760          internalType: 'uint256',
  1761          type: 'uint256',
  1762          indexed: false,
  1763        },
  1764      ],
  1765      name: 'WithdrewERC20',
  1766    },
  1767    {
  1768      type: 'event',
  1769      anonymous: false,
  1770      inputs: [
  1771        {
  1772          name: 'withdrawer',
  1773          internalType: 'address',
  1774          type: 'address',
  1775          indexed: true,
  1776        },
  1777        {
  1778          name: 'recipient',
  1779          internalType: 'address',
  1780          type: 'address',
  1781          indexed: true,
  1782        },
  1783        {
  1784          name: 'asset',
  1785          internalType: 'address',
  1786          type: 'address',
  1787          indexed: true,
  1788        },
  1789        { name: 'id', internalType: 'uint256', type: 'uint256', indexed: false },
  1790      ],
  1791      name: 'WithdrewERC721',
  1792    },
  1793    {
  1794      type: 'event',
  1795      anonymous: false,
  1796      inputs: [
  1797        {
  1798          name: 'withdrawer',
  1799          internalType: 'address',
  1800          type: 'address',
  1801          indexed: true,
  1802        },
  1803        {
  1804          name: 'recipient',
  1805          internalType: 'address',
  1806          type: 'address',
  1807          indexed: true,
  1808        },
  1809        {
  1810          name: 'amount',
  1811          internalType: 'uint256',
  1812          type: 'uint256',
  1813          indexed: false,
  1814        },
  1815      ],
  1816      name: 'WithdrewETH',
  1817    },
  1818    {
  1819      stateMutability: 'payable',
  1820      type: 'function',
  1821      inputs: [
  1822        { name: '_target', internalType: 'address', type: 'address' },
  1823        { name: '_data', internalType: 'bytes', type: 'bytes' },
  1824        { name: '_gas', internalType: 'uint256', type: 'uint256' },
  1825        { name: '_value', internalType: 'uint256', type: 'uint256' },
  1826      ],
  1827      name: 'CALL',
  1828      outputs: [
  1829        { name: '', internalType: 'bool', type: 'bool' },
  1830        { name: '', internalType: 'bytes', type: 'bytes' },
  1831      ],
  1832    },
  1833    {
  1834      stateMutability: 'payable',
  1835      type: 'function',
  1836      inputs: [
  1837        { name: '_target', internalType: 'address', type: 'address' },
  1838        { name: '_data', internalType: 'bytes', type: 'bytes' },
  1839        { name: '_gas', internalType: 'uint256', type: 'uint256' },
  1840      ],
  1841      name: 'DELEGATECALL',
  1842      outputs: [
  1843        { name: '', internalType: 'bool', type: 'bool' },
  1844        { name: '', internalType: 'bytes', type: 'bytes' },
  1845      ],
  1846    },
  1847    {
  1848      stateMutability: 'nonpayable',
  1849      type: 'function',
  1850      inputs: [
  1851        { name: '_name', internalType: 'string', type: 'string' },
  1852        {
  1853          name: '_config',
  1854          internalType: 'struct Drippie.DripConfig',
  1855          type: 'tuple',
  1856          components: [
  1857            { name: 'interval', internalType: 'uint256', type: 'uint256' },
  1858            {
  1859              name: 'dripcheck',
  1860              internalType: 'contract IDripCheck',
  1861              type: 'address',
  1862            },
  1863            { name: 'checkparams', internalType: 'bytes', type: 'bytes' },
  1864            {
  1865              name: 'actions',
  1866              internalType: 'struct Drippie.DripAction[]',
  1867              type: 'tuple[]',
  1868              components: [
  1869                {
  1870                  name: 'target',
  1871                  internalType: 'address payable',
  1872                  type: 'address',
  1873                },
  1874                { name: 'data', internalType: 'bytes', type: 'bytes' },
  1875                { name: 'value', internalType: 'uint256', type: 'uint256' },
  1876              ],
  1877            },
  1878          ],
  1879        },
  1880      ],
  1881      name: 'create',
  1882      outputs: [],
  1883    },
  1884    {
  1885      stateMutability: 'nonpayable',
  1886      type: 'function',
  1887      inputs: [{ name: '_name', internalType: 'string', type: 'string' }],
  1888      name: 'drip',
  1889      outputs: [],
  1890    },
  1891    {
  1892      stateMutability: 'view',
  1893      type: 'function',
  1894      inputs: [{ name: '', internalType: 'string', type: 'string' }],
  1895      name: 'drips',
  1896      outputs: [
  1897        {
  1898          name: 'status',
  1899          internalType: 'enum Drippie.DripStatus',
  1900          type: 'uint8',
  1901        },
  1902        {
  1903          name: 'config',
  1904          internalType: 'struct Drippie.DripConfig',
  1905          type: 'tuple',
  1906          components: [
  1907            { name: 'interval', internalType: 'uint256', type: 'uint256' },
  1908            {
  1909              name: 'dripcheck',
  1910              internalType: 'contract IDripCheck',
  1911              type: 'address',
  1912            },
  1913            { name: 'checkparams', internalType: 'bytes', type: 'bytes' },
  1914            {
  1915              name: 'actions',
  1916              internalType: 'struct Drippie.DripAction[]',
  1917              type: 'tuple[]',
  1918              components: [
  1919                {
  1920                  name: 'target',
  1921                  internalType: 'address payable',
  1922                  type: 'address',
  1923                },
  1924                { name: 'data', internalType: 'bytes', type: 'bytes' },
  1925                { name: 'value', internalType: 'uint256', type: 'uint256' },
  1926              ],
  1927            },
  1928          ],
  1929        },
  1930        { name: 'last', internalType: 'uint256', type: 'uint256' },
  1931        { name: 'count', internalType: 'uint256', type: 'uint256' },
  1932      ],
  1933    },
  1934    {
  1935      stateMutability: 'view',
  1936      type: 'function',
  1937      inputs: [{ name: '_name', internalType: 'string', type: 'string' }],
  1938      name: 'executable',
  1939      outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
  1940    },
  1941    {
  1942      stateMutability: 'view',
  1943      type: 'function',
  1944      inputs: [],
  1945      name: 'owner',
  1946      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  1947    },
  1948    {
  1949      stateMutability: 'nonpayable',
  1950      type: 'function',
  1951      inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
  1952      name: 'setOwner',
  1953      outputs: [],
  1954    },
  1955    {
  1956      stateMutability: 'nonpayable',
  1957      type: 'function',
  1958      inputs: [
  1959        { name: '_name', internalType: 'string', type: 'string' },
  1960        {
  1961          name: '_status',
  1962          internalType: 'enum Drippie.DripStatus',
  1963          type: 'uint8',
  1964        },
  1965      ],
  1966      name: 'status',
  1967      outputs: [],
  1968    },
  1969    {
  1970      stateMutability: 'nonpayable',
  1971      type: 'function',
  1972      inputs: [
  1973        { name: '_asset', internalType: 'contract ERC20', type: 'address' },
  1974        { name: '_to', internalType: 'address', type: 'address' },
  1975        { name: '_amount', internalType: 'uint256', type: 'uint256' },
  1976      ],
  1977      name: 'withdrawERC20',
  1978      outputs: [],
  1979    },
  1980    {
  1981      stateMutability: 'nonpayable',
  1982      type: 'function',
  1983      inputs: [
  1984        { name: '_asset', internalType: 'contract ERC20', type: 'address' },
  1985        { name: '_to', internalType: 'address', type: 'address' },
  1986      ],
  1987      name: 'withdrawERC20',
  1988      outputs: [],
  1989    },
  1990    {
  1991      stateMutability: 'nonpayable',
  1992      type: 'function',
  1993      inputs: [
  1994        { name: '_asset', internalType: 'contract ERC721', type: 'address' },
  1995        { name: '_to', internalType: 'address', type: 'address' },
  1996        { name: '_id', internalType: 'uint256', type: 'uint256' },
  1997      ],
  1998      name: 'withdrawERC721',
  1999      outputs: [],
  2000    },
  2001    {
  2002      stateMutability: 'nonpayable',
  2003      type: 'function',
  2004      inputs: [
  2005        { name: '_to', internalType: 'address payable', type: 'address' },
  2006        { name: '_amount', internalType: 'uint256', type: 'uint256' },
  2007      ],
  2008      name: 'withdrawETH',
  2009      outputs: [],
  2010    },
  2011    {
  2012      stateMutability: 'nonpayable',
  2013      type: 'function',
  2014      inputs: [{ name: '_to', internalType: 'address payable', type: 'address' }],
  2015      name: 'withdrawETH',
  2016      outputs: [],
  2017    },
  2018    { stateMutability: 'payable', type: 'receive' },
  2019  ] as const
  2020  
  2021  /**
  2022   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x8D8d533C16D23847EB04EEB0925be8900Dd3af86)
  2023   */
  2024  export const drippieOptimismGoerliAddress = {
  2025    420: '0x8D8d533C16D23847EB04EEB0925be8900Dd3af86',
  2026  } as const
  2027  
  2028  /**
  2029   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x8D8d533C16D23847EB04EEB0925be8900Dd3af86)
  2030   */
  2031  export const drippieOptimismGoerliConfig = {
  2032    address: drippieOptimismGoerliAddress,
  2033    abi: drippieOptimismGoerliABI,
  2034  } as const
  2035  
  2036  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  2037  // EAS
  2038  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  2039  
  2040  /**
  2041   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x4E0275Ea5a89e7a3c1B58411379D1a0eDdc5b088)
  2042   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x5A633F1cc84B03F7588486CF2F386c102061E6e1)
  2043   */
  2044  export const easABI = [
  2045    { stateMutability: 'nonpayable', type: 'constructor', inputs: [] },
  2046    { type: 'error', inputs: [], name: 'AccessDenied' },
  2047    { type: 'error', inputs: [], name: 'AlreadyRevoked' },
  2048    { type: 'error', inputs: [], name: 'AlreadyRevokedOffchain' },
  2049    { type: 'error', inputs: [], name: 'AlreadyTimestamped' },
  2050    { type: 'error', inputs: [], name: 'InsufficientValue' },
  2051    { type: 'error', inputs: [], name: 'InvalidAttestation' },
  2052    { type: 'error', inputs: [], name: 'InvalidAttestations' },
  2053    { type: 'error', inputs: [], name: 'InvalidExpirationTime' },
  2054    { type: 'error', inputs: [], name: 'InvalidLength' },
  2055    { type: 'error', inputs: [], name: 'InvalidOffset' },
  2056    { type: 'error', inputs: [], name: 'InvalidRegistry' },
  2057    { type: 'error', inputs: [], name: 'InvalidRevocation' },
  2058    { type: 'error', inputs: [], name: 'InvalidRevocations' },
  2059    { type: 'error', inputs: [], name: 'InvalidSchema' },
  2060    { type: 'error', inputs: [], name: 'InvalidSignature' },
  2061    { type: 'error', inputs: [], name: 'InvalidVerifier' },
  2062    { type: 'error', inputs: [], name: 'Irrevocable' },
  2063    { type: 'error', inputs: [], name: 'NotFound' },
  2064    { type: 'error', inputs: [], name: 'NotPayable' },
  2065    { type: 'error', inputs: [], name: 'WrongSchema' },
  2066    {
  2067      type: 'event',
  2068      anonymous: false,
  2069      inputs: [
  2070        {
  2071          name: 'recipient',
  2072          internalType: 'address',
  2073          type: 'address',
  2074          indexed: true,
  2075        },
  2076        {
  2077          name: 'attester',
  2078          internalType: 'address',
  2079          type: 'address',
  2080          indexed: true,
  2081        },
  2082        { name: 'uid', internalType: 'bytes32', type: 'bytes32', indexed: false },
  2083        {
  2084          name: 'schema',
  2085          internalType: 'bytes32',
  2086          type: 'bytes32',
  2087          indexed: true,
  2088        },
  2089      ],
  2090      name: 'Attested',
  2091    },
  2092    {
  2093      type: 'event',
  2094      anonymous: false,
  2095      inputs: [
  2096        {
  2097          name: 'recipient',
  2098          internalType: 'address',
  2099          type: 'address',
  2100          indexed: true,
  2101        },
  2102        {
  2103          name: 'attester',
  2104          internalType: 'address',
  2105          type: 'address',
  2106          indexed: true,
  2107        },
  2108        { name: 'uid', internalType: 'bytes32', type: 'bytes32', indexed: false },
  2109        {
  2110          name: 'schema',
  2111          internalType: 'bytes32',
  2112          type: 'bytes32',
  2113          indexed: true,
  2114        },
  2115      ],
  2116      name: 'Revoked',
  2117    },
  2118    {
  2119      type: 'event',
  2120      anonymous: false,
  2121      inputs: [
  2122        {
  2123          name: 'revoker',
  2124          internalType: 'address',
  2125          type: 'address',
  2126          indexed: true,
  2127        },
  2128        { name: 'data', internalType: 'bytes32', type: 'bytes32', indexed: true },
  2129        {
  2130          name: 'timestamp',
  2131          internalType: 'uint64',
  2132          type: 'uint64',
  2133          indexed: true,
  2134        },
  2135      ],
  2136      name: 'RevokedOffchain',
  2137    },
  2138    {
  2139      type: 'event',
  2140      anonymous: false,
  2141      inputs: [
  2142        { name: 'data', internalType: 'bytes32', type: 'bytes32', indexed: true },
  2143        {
  2144          name: 'timestamp',
  2145          internalType: 'uint64',
  2146          type: 'uint64',
  2147          indexed: true,
  2148        },
  2149      ],
  2150      name: 'Timestamped',
  2151    },
  2152    {
  2153      stateMutability: 'payable',
  2154      type: 'function',
  2155      inputs: [
  2156        {
  2157          name: 'request',
  2158          internalType: 'struct AttestationRequest',
  2159          type: 'tuple',
  2160          components: [
  2161            { name: 'schema', internalType: 'bytes32', type: 'bytes32' },
  2162            {
  2163              name: 'data',
  2164              internalType: 'struct AttestationRequestData',
  2165              type: 'tuple',
  2166              components: [
  2167                { name: 'recipient', internalType: 'address', type: 'address' },
  2168                {
  2169                  name: 'expirationTime',
  2170                  internalType: 'uint64',
  2171                  type: 'uint64',
  2172                },
  2173                { name: 'revocable', internalType: 'bool', type: 'bool' },
  2174                { name: 'refUID', internalType: 'bytes32', type: 'bytes32' },
  2175                { name: 'data', internalType: 'bytes', type: 'bytes' },
  2176                { name: 'value', internalType: 'uint256', type: 'uint256' },
  2177              ],
  2178            },
  2179          ],
  2180        },
  2181      ],
  2182      name: 'attest',
  2183      outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
  2184    },
  2185    {
  2186      stateMutability: 'payable',
  2187      type: 'function',
  2188      inputs: [
  2189        {
  2190          name: 'delegatedRequest',
  2191          internalType: 'struct DelegatedAttestationRequest',
  2192          type: 'tuple',
  2193          components: [
  2194            { name: 'schema', internalType: 'bytes32', type: 'bytes32' },
  2195            {
  2196              name: 'data',
  2197              internalType: 'struct AttestationRequestData',
  2198              type: 'tuple',
  2199              components: [
  2200                { name: 'recipient', internalType: 'address', type: 'address' },
  2201                {
  2202                  name: 'expirationTime',
  2203                  internalType: 'uint64',
  2204                  type: 'uint64',
  2205                },
  2206                { name: 'revocable', internalType: 'bool', type: 'bool' },
  2207                { name: 'refUID', internalType: 'bytes32', type: 'bytes32' },
  2208                { name: 'data', internalType: 'bytes', type: 'bytes' },
  2209                { name: 'value', internalType: 'uint256', type: 'uint256' },
  2210              ],
  2211            },
  2212            {
  2213              name: 'signature',
  2214              internalType: 'struct EIP712Signature',
  2215              type: 'tuple',
  2216              components: [
  2217                { name: 'v', internalType: 'uint8', type: 'uint8' },
  2218                { name: 'r', internalType: 'bytes32', type: 'bytes32' },
  2219                { name: 's', internalType: 'bytes32', type: 'bytes32' },
  2220              ],
  2221            },
  2222            { name: 'attester', internalType: 'address', type: 'address' },
  2223          ],
  2224        },
  2225      ],
  2226      name: 'attestByDelegation',
  2227      outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
  2228    },
  2229    {
  2230      stateMutability: 'pure',
  2231      type: 'function',
  2232      inputs: [],
  2233      name: 'getAttestTypeHash',
  2234      outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
  2235    },
  2236    {
  2237      stateMutability: 'view',
  2238      type: 'function',
  2239      inputs: [{ name: 'uid', internalType: 'bytes32', type: 'bytes32' }],
  2240      name: 'getAttestation',
  2241      outputs: [
  2242        {
  2243          name: '',
  2244          internalType: 'struct Attestation',
  2245          type: 'tuple',
  2246          components: [
  2247            { name: 'uid', internalType: 'bytes32', type: 'bytes32' },
  2248            { name: 'schema', internalType: 'bytes32', type: 'bytes32' },
  2249            { name: 'time', internalType: 'uint64', type: 'uint64' },
  2250            { name: 'expirationTime', internalType: 'uint64', type: 'uint64' },
  2251            { name: 'revocationTime', internalType: 'uint64', type: 'uint64' },
  2252            { name: 'refUID', internalType: 'bytes32', type: 'bytes32' },
  2253            { name: 'recipient', internalType: 'address', type: 'address' },
  2254            { name: 'attester', internalType: 'address', type: 'address' },
  2255            { name: 'revocable', internalType: 'bool', type: 'bool' },
  2256            { name: 'data', internalType: 'bytes', type: 'bytes' },
  2257          ],
  2258        },
  2259      ],
  2260    },
  2261    {
  2262      stateMutability: 'view',
  2263      type: 'function',
  2264      inputs: [],
  2265      name: 'getDomainSeparator',
  2266      outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
  2267    },
  2268    {
  2269      stateMutability: 'view',
  2270      type: 'function',
  2271      inputs: [],
  2272      name: 'getName',
  2273      outputs: [{ name: '', internalType: 'string', type: 'string' }],
  2274    },
  2275    {
  2276      stateMutability: 'view',
  2277      type: 'function',
  2278      inputs: [{ name: 'account', internalType: 'address', type: 'address' }],
  2279      name: 'getNonce',
  2280      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  2281    },
  2282    {
  2283      stateMutability: 'view',
  2284      type: 'function',
  2285      inputs: [
  2286        { name: 'revoker', internalType: 'address', type: 'address' },
  2287        { name: 'data', internalType: 'bytes32', type: 'bytes32' },
  2288      ],
  2289      name: 'getRevokeOffchain',
  2290      outputs: [{ name: '', internalType: 'uint64', type: 'uint64' }],
  2291    },
  2292    {
  2293      stateMutability: 'pure',
  2294      type: 'function',
  2295      inputs: [],
  2296      name: 'getRevokeTypeHash',
  2297      outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
  2298    },
  2299    {
  2300      stateMutability: 'pure',
  2301      type: 'function',
  2302      inputs: [],
  2303      name: 'getSchemaRegistry',
  2304      outputs: [
  2305        { name: '', internalType: 'contract ISchemaRegistry', type: 'address' },
  2306      ],
  2307    },
  2308    {
  2309      stateMutability: 'view',
  2310      type: 'function',
  2311      inputs: [{ name: 'data', internalType: 'bytes32', type: 'bytes32' }],
  2312      name: 'getTimestamp',
  2313      outputs: [{ name: '', internalType: 'uint64', type: 'uint64' }],
  2314    },
  2315    {
  2316      stateMutability: 'view',
  2317      type: 'function',
  2318      inputs: [{ name: 'uid', internalType: 'bytes32', type: 'bytes32' }],
  2319      name: 'isAttestationValid',
  2320      outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
  2321    },
  2322    {
  2323      stateMutability: 'payable',
  2324      type: 'function',
  2325      inputs: [
  2326        {
  2327          name: 'multiRequests',
  2328          internalType: 'struct MultiAttestationRequest[]',
  2329          type: 'tuple[]',
  2330          components: [
  2331            { name: 'schema', internalType: 'bytes32', type: 'bytes32' },
  2332            {
  2333              name: 'data',
  2334              internalType: 'struct AttestationRequestData[]',
  2335              type: 'tuple[]',
  2336              components: [
  2337                { name: 'recipient', internalType: 'address', type: 'address' },
  2338                {
  2339                  name: 'expirationTime',
  2340                  internalType: 'uint64',
  2341                  type: 'uint64',
  2342                },
  2343                { name: 'revocable', internalType: 'bool', type: 'bool' },
  2344                { name: 'refUID', internalType: 'bytes32', type: 'bytes32' },
  2345                { name: 'data', internalType: 'bytes', type: 'bytes' },
  2346                { name: 'value', internalType: 'uint256', type: 'uint256' },
  2347              ],
  2348            },
  2349          ],
  2350        },
  2351      ],
  2352      name: 'multiAttest',
  2353      outputs: [{ name: '', internalType: 'bytes32[]', type: 'bytes32[]' }],
  2354    },
  2355    {
  2356      stateMutability: 'payable',
  2357      type: 'function',
  2358      inputs: [
  2359        {
  2360          name: 'multiDelegatedRequests',
  2361          internalType: 'struct MultiDelegatedAttestationRequest[]',
  2362          type: 'tuple[]',
  2363          components: [
  2364            { name: 'schema', internalType: 'bytes32', type: 'bytes32' },
  2365            {
  2366              name: 'data',
  2367              internalType: 'struct AttestationRequestData[]',
  2368              type: 'tuple[]',
  2369              components: [
  2370                { name: 'recipient', internalType: 'address', type: 'address' },
  2371                {
  2372                  name: 'expirationTime',
  2373                  internalType: 'uint64',
  2374                  type: 'uint64',
  2375                },
  2376                { name: 'revocable', internalType: 'bool', type: 'bool' },
  2377                { name: 'refUID', internalType: 'bytes32', type: 'bytes32' },
  2378                { name: 'data', internalType: 'bytes', type: 'bytes' },
  2379                { name: 'value', internalType: 'uint256', type: 'uint256' },
  2380              ],
  2381            },
  2382            {
  2383              name: 'signatures',
  2384              internalType: 'struct EIP712Signature[]',
  2385              type: 'tuple[]',
  2386              components: [
  2387                { name: 'v', internalType: 'uint8', type: 'uint8' },
  2388                { name: 'r', internalType: 'bytes32', type: 'bytes32' },
  2389                { name: 's', internalType: 'bytes32', type: 'bytes32' },
  2390              ],
  2391            },
  2392            { name: 'attester', internalType: 'address', type: 'address' },
  2393          ],
  2394        },
  2395      ],
  2396      name: 'multiAttestByDelegation',
  2397      outputs: [{ name: '', internalType: 'bytes32[]', type: 'bytes32[]' }],
  2398    },
  2399    {
  2400      stateMutability: 'payable',
  2401      type: 'function',
  2402      inputs: [
  2403        {
  2404          name: 'multiRequests',
  2405          internalType: 'struct MultiRevocationRequest[]',
  2406          type: 'tuple[]',
  2407          components: [
  2408            { name: 'schema', internalType: 'bytes32', type: 'bytes32' },
  2409            {
  2410              name: 'data',
  2411              internalType: 'struct RevocationRequestData[]',
  2412              type: 'tuple[]',
  2413              components: [
  2414                { name: 'uid', internalType: 'bytes32', type: 'bytes32' },
  2415                { name: 'value', internalType: 'uint256', type: 'uint256' },
  2416              ],
  2417            },
  2418          ],
  2419        },
  2420      ],
  2421      name: 'multiRevoke',
  2422      outputs: [],
  2423    },
  2424    {
  2425      stateMutability: 'payable',
  2426      type: 'function',
  2427      inputs: [
  2428        {
  2429          name: 'multiDelegatedRequests',
  2430          internalType: 'struct MultiDelegatedRevocationRequest[]',
  2431          type: 'tuple[]',
  2432          components: [
  2433            { name: 'schema', internalType: 'bytes32', type: 'bytes32' },
  2434            {
  2435              name: 'data',
  2436              internalType: 'struct RevocationRequestData[]',
  2437              type: 'tuple[]',
  2438              components: [
  2439                { name: 'uid', internalType: 'bytes32', type: 'bytes32' },
  2440                { name: 'value', internalType: 'uint256', type: 'uint256' },
  2441              ],
  2442            },
  2443            {
  2444              name: 'signatures',
  2445              internalType: 'struct EIP712Signature[]',
  2446              type: 'tuple[]',
  2447              components: [
  2448                { name: 'v', internalType: 'uint8', type: 'uint8' },
  2449                { name: 'r', internalType: 'bytes32', type: 'bytes32' },
  2450                { name: 's', internalType: 'bytes32', type: 'bytes32' },
  2451              ],
  2452            },
  2453            { name: 'revoker', internalType: 'address', type: 'address' },
  2454          ],
  2455        },
  2456      ],
  2457      name: 'multiRevokeByDelegation',
  2458      outputs: [],
  2459    },
  2460    {
  2461      stateMutability: 'nonpayable',
  2462      type: 'function',
  2463      inputs: [{ name: 'data', internalType: 'bytes32[]', type: 'bytes32[]' }],
  2464      name: 'multiRevokeOffchain',
  2465      outputs: [{ name: '', internalType: 'uint64', type: 'uint64' }],
  2466    },
  2467    {
  2468      stateMutability: 'nonpayable',
  2469      type: 'function',
  2470      inputs: [{ name: 'data', internalType: 'bytes32[]', type: 'bytes32[]' }],
  2471      name: 'multiTimestamp',
  2472      outputs: [{ name: '', internalType: 'uint64', type: 'uint64' }],
  2473    },
  2474    {
  2475      stateMutability: 'payable',
  2476      type: 'function',
  2477      inputs: [
  2478        {
  2479          name: 'request',
  2480          internalType: 'struct RevocationRequest',
  2481          type: 'tuple',
  2482          components: [
  2483            { name: 'schema', internalType: 'bytes32', type: 'bytes32' },
  2484            {
  2485              name: 'data',
  2486              internalType: 'struct RevocationRequestData',
  2487              type: 'tuple',
  2488              components: [
  2489                { name: 'uid', internalType: 'bytes32', type: 'bytes32' },
  2490                { name: 'value', internalType: 'uint256', type: 'uint256' },
  2491              ],
  2492            },
  2493          ],
  2494        },
  2495      ],
  2496      name: 'revoke',
  2497      outputs: [],
  2498    },
  2499    {
  2500      stateMutability: 'payable',
  2501      type: 'function',
  2502      inputs: [
  2503        {
  2504          name: 'delegatedRequest',
  2505          internalType: 'struct DelegatedRevocationRequest',
  2506          type: 'tuple',
  2507          components: [
  2508            { name: 'schema', internalType: 'bytes32', type: 'bytes32' },
  2509            {
  2510              name: 'data',
  2511              internalType: 'struct RevocationRequestData',
  2512              type: 'tuple',
  2513              components: [
  2514                { name: 'uid', internalType: 'bytes32', type: 'bytes32' },
  2515                { name: 'value', internalType: 'uint256', type: 'uint256' },
  2516              ],
  2517            },
  2518            {
  2519              name: 'signature',
  2520              internalType: 'struct EIP712Signature',
  2521              type: 'tuple',
  2522              components: [
  2523                { name: 'v', internalType: 'uint8', type: 'uint8' },
  2524                { name: 'r', internalType: 'bytes32', type: 'bytes32' },
  2525                { name: 's', internalType: 'bytes32', type: 'bytes32' },
  2526              ],
  2527            },
  2528            { name: 'revoker', internalType: 'address', type: 'address' },
  2529          ],
  2530        },
  2531      ],
  2532      name: 'revokeByDelegation',
  2533      outputs: [],
  2534    },
  2535    {
  2536      stateMutability: 'nonpayable',
  2537      type: 'function',
  2538      inputs: [{ name: 'data', internalType: 'bytes32', type: 'bytes32' }],
  2539      name: 'revokeOffchain',
  2540      outputs: [{ name: '', internalType: 'uint64', type: 'uint64' }],
  2541    },
  2542    {
  2543      stateMutability: 'nonpayable',
  2544      type: 'function',
  2545      inputs: [{ name: 'data', internalType: 'bytes32', type: 'bytes32' }],
  2546      name: 'timestamp',
  2547      outputs: [{ name: '', internalType: 'uint64', type: 'uint64' }],
  2548    },
  2549    {
  2550      stateMutability: 'view',
  2551      type: 'function',
  2552      inputs: [],
  2553      name: 'version',
  2554      outputs: [{ name: '', internalType: 'string', type: 'string' }],
  2555    },
  2556  ] as const
  2557  
  2558  /**
  2559   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x4E0275Ea5a89e7a3c1B58411379D1a0eDdc5b088)
  2560   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x5A633F1cc84B03F7588486CF2F386c102061E6e1)
  2561   */
  2562  export const easAddress = {
  2563    10: '0x4E0275Ea5a89e7a3c1B58411379D1a0eDdc5b088',
  2564    420: '0x5A633F1cc84B03F7588486CF2F386c102061E6e1',
  2565  } as const
  2566  
  2567  /**
  2568   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x4E0275Ea5a89e7a3c1B58411379D1a0eDdc5b088)
  2569   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x5A633F1cc84B03F7588486CF2F386c102061E6e1)
  2570   */
  2571  export const easConfig = { address: easAddress, abi: easABI } as const
  2572  
  2573  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  2574  // GasPriceOracle
  2575  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  2576  
  2577  /**
  2578   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x420000000000000000000000000000000000000F)
  2579   */
  2580  export const gasPriceOracleABI = [
  2581    { stateMutability: 'nonpayable', type: 'constructor', inputs: [] },
  2582    {
  2583      stateMutability: 'view',
  2584      type: 'function',
  2585      inputs: [],
  2586      name: 'baseFee',
  2587      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  2588    },
  2589    {
  2590      stateMutability: 'pure',
  2591      type: 'function',
  2592      inputs: [],
  2593      name: 'decimals',
  2594      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  2595    },
  2596    {
  2597      stateMutability: 'view',
  2598      type: 'function',
  2599      inputs: [],
  2600      name: 'gasPrice',
  2601      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  2602    },
  2603    {
  2604      stateMutability: 'view',
  2605      type: 'function',
  2606      inputs: [{ name: '_data', internalType: 'bytes', type: 'bytes' }],
  2607      name: 'getL1Fee',
  2608      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  2609    },
  2610    {
  2611      stateMutability: 'view',
  2612      type: 'function',
  2613      inputs: [{ name: '_data', internalType: 'bytes', type: 'bytes' }],
  2614      name: 'getL1GasUsed',
  2615      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  2616    },
  2617    {
  2618      stateMutability: 'view',
  2619      type: 'function',
  2620      inputs: [],
  2621      name: 'l1BaseFee',
  2622      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  2623    },
  2624    {
  2625      stateMutability: 'view',
  2626      type: 'function',
  2627      inputs: [],
  2628      name: 'overhead',
  2629      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  2630    },
  2631    {
  2632      stateMutability: 'view',
  2633      type: 'function',
  2634      inputs: [],
  2635      name: 'scalar',
  2636      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  2637    },
  2638    {
  2639      stateMutability: 'view',
  2640      type: 'function',
  2641      inputs: [],
  2642      name: 'version',
  2643      outputs: [{ name: '', internalType: 'string', type: 'string' }],
  2644    },
  2645  ] as const
  2646  
  2647  /**
  2648   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x420000000000000000000000000000000000000F)
  2649   */
  2650  export const gasPriceOracleAddress = {
  2651    420: '0x420000000000000000000000000000000000000F',
  2652  } as const
  2653  
  2654  /**
  2655   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x420000000000000000000000000000000000000F)
  2656   */
  2657  export const gasPriceOracleConfig = {
  2658    address: gasPriceOracleAddress,
  2659    abi: gasPriceOracleABI,
  2660  } as const
  2661  
  2662  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  2663  // L1Block
  2664  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  2665  
  2666  /**
  2667   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000015)
  2668   */
  2669  export const l1BlockABI = [
  2670    { stateMutability: 'nonpayable', type: 'constructor', inputs: [] },
  2671    {
  2672      stateMutability: 'view',
  2673      type: 'function',
  2674      inputs: [],
  2675      name: 'DEPOSITOR_ACCOUNT',
  2676      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  2677    },
  2678    {
  2679      stateMutability: 'view',
  2680      type: 'function',
  2681      inputs: [],
  2682      name: 'basefee',
  2683      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  2684    },
  2685    {
  2686      stateMutability: 'view',
  2687      type: 'function',
  2688      inputs: [],
  2689      name: 'batcherHash',
  2690      outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
  2691    },
  2692    {
  2693      stateMutability: 'view',
  2694      type: 'function',
  2695      inputs: [],
  2696      name: 'hash',
  2697      outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
  2698    },
  2699    {
  2700      stateMutability: 'view',
  2701      type: 'function',
  2702      inputs: [],
  2703      name: 'l1FeeOverhead',
  2704      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  2705    },
  2706    {
  2707      stateMutability: 'view',
  2708      type: 'function',
  2709      inputs: [],
  2710      name: 'l1FeeScalar',
  2711      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  2712    },
  2713    {
  2714      stateMutability: 'view',
  2715      type: 'function',
  2716      inputs: [],
  2717      name: 'number',
  2718      outputs: [{ name: '', internalType: 'uint64', type: 'uint64' }],
  2719    },
  2720    {
  2721      stateMutability: 'view',
  2722      type: 'function',
  2723      inputs: [],
  2724      name: 'sequenceNumber',
  2725      outputs: [{ name: '', internalType: 'uint64', type: 'uint64' }],
  2726    },
  2727    {
  2728      stateMutability: 'nonpayable',
  2729      type: 'function',
  2730      inputs: [
  2731        { name: '_number', internalType: 'uint64', type: 'uint64' },
  2732        { name: '_timestamp', internalType: 'uint64', type: 'uint64' },
  2733        { name: '_basefee', internalType: 'uint256', type: 'uint256' },
  2734        { name: '_hash', internalType: 'bytes32', type: 'bytes32' },
  2735        { name: '_sequenceNumber', internalType: 'uint64', type: 'uint64' },
  2736        { name: '_batcherHash', internalType: 'bytes32', type: 'bytes32' },
  2737        { name: '_l1FeeOverhead', internalType: 'uint256', type: 'uint256' },
  2738        { name: '_l1FeeScalar', internalType: 'uint256', type: 'uint256' },
  2739      ],
  2740      name: 'setL1BlockValues',
  2741      outputs: [],
  2742    },
  2743    {
  2744      stateMutability: 'view',
  2745      type: 'function',
  2746      inputs: [],
  2747      name: 'timestamp',
  2748      outputs: [{ name: '', internalType: 'uint64', type: 'uint64' }],
  2749    },
  2750    {
  2751      stateMutability: 'view',
  2752      type: 'function',
  2753      inputs: [],
  2754      name: 'version',
  2755      outputs: [{ name: '', internalType: 'string', type: 'string' }],
  2756    },
  2757  ] as const
  2758  
  2759  /**
  2760   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000015)
  2761   */
  2762  export const l1BlockAddress = {
  2763    420: '0x4200000000000000000000000000000000000015',
  2764  } as const
  2765  
  2766  /**
  2767   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000015)
  2768   */
  2769  export const l1BlockConfig = {
  2770    address: l1BlockAddress,
  2771    abi: l1BlockABI,
  2772  } as const
  2773  
  2774  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  2775  // L1CrossDomainMessenger
  2776  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  2777  
  2778  /**
  2779   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1)
  2780   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x5086d1eEF304eb5284A0f6720f79403b4e9bE294)
  2781   */
  2782  export const l1CrossDomainMessengerABI = [
  2783    { stateMutability: 'nonpayable', type: 'constructor', inputs: [] },
  2784    {
  2785      type: 'event',
  2786      anonymous: false,
  2787      inputs: [
  2788        {
  2789          name: 'msgHash',
  2790          internalType: 'bytes32',
  2791          type: 'bytes32',
  2792          indexed: true,
  2793        },
  2794      ],
  2795      name: 'FailedRelayedMessage',
  2796    },
  2797    {
  2798      type: 'event',
  2799      anonymous: false,
  2800      inputs: [
  2801        { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },
  2802      ],
  2803      name: 'Initialized',
  2804    },
  2805    {
  2806      type: 'event',
  2807      anonymous: false,
  2808      inputs: [
  2809        {
  2810          name: 'msgHash',
  2811          internalType: 'bytes32',
  2812          type: 'bytes32',
  2813          indexed: true,
  2814        },
  2815      ],
  2816      name: 'RelayedMessage',
  2817    },
  2818    {
  2819      type: 'event',
  2820      anonymous: false,
  2821      inputs: [
  2822        {
  2823          name: 'target',
  2824          internalType: 'address',
  2825          type: 'address',
  2826          indexed: true,
  2827        },
  2828        {
  2829          name: 'sender',
  2830          internalType: 'address',
  2831          type: 'address',
  2832          indexed: false,
  2833        },
  2834        { name: 'message', internalType: 'bytes', type: 'bytes', indexed: false },
  2835        {
  2836          name: 'messageNonce',
  2837          internalType: 'uint256',
  2838          type: 'uint256',
  2839          indexed: false,
  2840        },
  2841        {
  2842          name: 'gasLimit',
  2843          internalType: 'uint256',
  2844          type: 'uint256',
  2845          indexed: false,
  2846        },
  2847      ],
  2848      name: 'SentMessage',
  2849    },
  2850    {
  2851      type: 'event',
  2852      anonymous: false,
  2853      inputs: [
  2854        {
  2855          name: 'sender',
  2856          internalType: 'address',
  2857          type: 'address',
  2858          indexed: true,
  2859        },
  2860        {
  2861          name: 'value',
  2862          internalType: 'uint256',
  2863          type: 'uint256',
  2864          indexed: false,
  2865        },
  2866      ],
  2867      name: 'SentMessageExtension1',
  2868    },
  2869    {
  2870      stateMutability: 'view',
  2871      type: 'function',
  2872      inputs: [],
  2873      name: 'MESSAGE_VERSION',
  2874      outputs: [{ name: '', internalType: 'uint16', type: 'uint16' }],
  2875    },
  2876    {
  2877      stateMutability: 'view',
  2878      type: 'function',
  2879      inputs: [],
  2880      name: 'MIN_GAS_CALLDATA_OVERHEAD',
  2881      outputs: [{ name: '', internalType: 'uint64', type: 'uint64' }],
  2882    },
  2883    {
  2884      stateMutability: 'view',
  2885      type: 'function',
  2886      inputs: [],
  2887      name: 'MIN_GAS_DYNAMIC_OVERHEAD_DENOMINATOR',
  2888      outputs: [{ name: '', internalType: 'uint64', type: 'uint64' }],
  2889    },
  2890    {
  2891      stateMutability: 'view',
  2892      type: 'function',
  2893      inputs: [],
  2894      name: 'MIN_GAS_DYNAMIC_OVERHEAD_NUMERATOR',
  2895      outputs: [{ name: '', internalType: 'uint64', type: 'uint64' }],
  2896    },
  2897    {
  2898      stateMutability: 'view',
  2899      type: 'function',
  2900      inputs: [],
  2901      name: 'OTHER_MESSENGER',
  2902      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  2903    },
  2904    {
  2905      stateMutability: 'view',
  2906      type: 'function',
  2907      inputs: [],
  2908      name: 'RELAY_CALL_OVERHEAD',
  2909      outputs: [{ name: '', internalType: 'uint64', type: 'uint64' }],
  2910    },
  2911    {
  2912      stateMutability: 'view',
  2913      type: 'function',
  2914      inputs: [],
  2915      name: 'RELAY_CONSTANT_OVERHEAD',
  2916      outputs: [{ name: '', internalType: 'uint64', type: 'uint64' }],
  2917    },
  2918    {
  2919      stateMutability: 'view',
  2920      type: 'function',
  2921      inputs: [],
  2922      name: 'RELAY_GAS_CHECK_BUFFER',
  2923      outputs: [{ name: '', internalType: 'uint64', type: 'uint64' }],
  2924    },
  2925    {
  2926      stateMutability: 'view',
  2927      type: 'function',
  2928      inputs: [],
  2929      name: 'RELAY_RESERVED_GAS',
  2930      outputs: [{ name: '', internalType: 'uint64', type: 'uint64' }],
  2931    },
  2932    {
  2933      stateMutability: 'pure',
  2934      type: 'function',
  2935      inputs: [
  2936        { name: '_message', internalType: 'bytes', type: 'bytes' },
  2937        { name: '_minGasLimit', internalType: 'uint32', type: 'uint32' },
  2938      ],
  2939      name: 'baseGas',
  2940      outputs: [{ name: '', internalType: 'uint64', type: 'uint64' }],
  2941    },
  2942    {
  2943      stateMutability: 'view',
  2944      type: 'function',
  2945      inputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
  2946      name: 'failedMessages',
  2947      outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
  2948    },
  2949    {
  2950      stateMutability: 'nonpayable',
  2951      type: 'function',
  2952      inputs: [
  2953        {
  2954          name: '_portal',
  2955          internalType: 'contract OptimismPortal',
  2956          type: 'address',
  2957        },
  2958      ],
  2959      name: 'initialize',
  2960      outputs: [],
  2961    },
  2962    {
  2963      stateMutability: 'view',
  2964      type: 'function',
  2965      inputs: [],
  2966      name: 'messageNonce',
  2967      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  2968    },
  2969    {
  2970      stateMutability: 'view',
  2971      type: 'function',
  2972      inputs: [],
  2973      name: 'portal',
  2974      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  2975    },
  2976    {
  2977      stateMutability: 'payable',
  2978      type: 'function',
  2979      inputs: [
  2980        { name: '_nonce', internalType: 'uint256', type: 'uint256' },
  2981        { name: '_sender', internalType: 'address', type: 'address' },
  2982        { name: '_target', internalType: 'address', type: 'address' },
  2983        { name: '_value', internalType: 'uint256', type: 'uint256' },
  2984        { name: '_minGasLimit', internalType: 'uint256', type: 'uint256' },
  2985        { name: '_message', internalType: 'bytes', type: 'bytes' },
  2986      ],
  2987      name: 'relayMessage',
  2988      outputs: [],
  2989    },
  2990    {
  2991      stateMutability: 'payable',
  2992      type: 'function',
  2993      inputs: [
  2994        { name: '_target', internalType: 'address', type: 'address' },
  2995        { name: '_message', internalType: 'bytes', type: 'bytes' },
  2996        { name: '_minGasLimit', internalType: 'uint32', type: 'uint32' },
  2997      ],
  2998      name: 'sendMessage',
  2999      outputs: [],
  3000    },
  3001    {
  3002      stateMutability: 'view',
  3003      type: 'function',
  3004      inputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
  3005      name: 'successfulMessages',
  3006      outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
  3007    },
  3008    {
  3009      stateMutability: 'view',
  3010      type: 'function',
  3011      inputs: [],
  3012      name: 'version',
  3013      outputs: [{ name: '', internalType: 'string', type: 'string' }],
  3014    },
  3015    {
  3016      stateMutability: 'view',
  3017      type: 'function',
  3018      inputs: [],
  3019      name: 'xDomainMessageSender',
  3020      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  3021    },
  3022  ] as const
  3023  
  3024  /**
  3025   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1)
  3026   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x5086d1eEF304eb5284A0f6720f79403b4e9bE294)
  3027   */
  3028  export const l1CrossDomainMessengerAddress = {
  3029    1: '0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1',
  3030    5: '0x5086d1eEF304eb5284A0f6720f79403b4e9bE294',
  3031  } as const
  3032  
  3033  /**
  3034   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1)
  3035   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x5086d1eEF304eb5284A0f6720f79403b4e9bE294)
  3036   */
  3037  export const l1CrossDomainMessengerConfig = {
  3038    address: l1CrossDomainMessengerAddress,
  3039    abi: l1CrossDomainMessengerABI,
  3040  } as const
  3041  
  3042  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  3043  // L1ERC721Bridge
  3044  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  3045  
  3046  /**
  3047   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x5a7749f83b81B301cAb5f48EB8516B986DAef23D)
  3048   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x8DD330DdE8D9898d43b4dc840Da27A07dF91b3c9)
  3049   */
  3050  export const l1Erc721BridgeABI = [
  3051    { stateMutability: 'nonpayable', type: 'constructor', inputs: [] },
  3052    {
  3053      type: 'event',
  3054      anonymous: false,
  3055      inputs: [
  3056        {
  3057          name: 'localToken',
  3058          internalType: 'address',
  3059          type: 'address',
  3060          indexed: true,
  3061        },
  3062        {
  3063          name: 'remoteToken',
  3064          internalType: 'address',
  3065          type: 'address',
  3066          indexed: true,
  3067        },
  3068        { name: 'from', internalType: 'address', type: 'address', indexed: true },
  3069        { name: 'to', internalType: 'address', type: 'address', indexed: false },
  3070        {
  3071          name: 'tokenId',
  3072          internalType: 'uint256',
  3073          type: 'uint256',
  3074          indexed: false,
  3075        },
  3076        {
  3077          name: 'extraData',
  3078          internalType: 'bytes',
  3079          type: 'bytes',
  3080          indexed: false,
  3081        },
  3082      ],
  3083      name: 'ERC721BridgeFinalized',
  3084    },
  3085    {
  3086      type: 'event',
  3087      anonymous: false,
  3088      inputs: [
  3089        {
  3090          name: 'localToken',
  3091          internalType: 'address',
  3092          type: 'address',
  3093          indexed: true,
  3094        },
  3095        {
  3096          name: 'remoteToken',
  3097          internalType: 'address',
  3098          type: 'address',
  3099          indexed: true,
  3100        },
  3101        { name: 'from', internalType: 'address', type: 'address', indexed: true },
  3102        { name: 'to', internalType: 'address', type: 'address', indexed: false },
  3103        {
  3104          name: 'tokenId',
  3105          internalType: 'uint256',
  3106          type: 'uint256',
  3107          indexed: false,
  3108        },
  3109        {
  3110          name: 'extraData',
  3111          internalType: 'bytes',
  3112          type: 'bytes',
  3113          indexed: false,
  3114        },
  3115      ],
  3116      name: 'ERC721BridgeInitiated',
  3117    },
  3118    {
  3119      type: 'event',
  3120      anonymous: false,
  3121      inputs: [
  3122        { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },
  3123      ],
  3124      name: 'Initialized',
  3125    },
  3126    {
  3127      stateMutability: 'nonpayable',
  3128      type: 'function',
  3129      inputs: [
  3130        { name: '_localToken', internalType: 'address', type: 'address' },
  3131        { name: '_remoteToken', internalType: 'address', type: 'address' },
  3132        { name: '_tokenId', internalType: 'uint256', type: 'uint256' },
  3133        { name: '_minGasLimit', internalType: 'uint32', type: 'uint32' },
  3134        { name: '_extraData', internalType: 'bytes', type: 'bytes' },
  3135      ],
  3136      name: 'bridgeERC721',
  3137      outputs: [],
  3138    },
  3139    {
  3140      stateMutability: 'nonpayable',
  3141      type: 'function',
  3142      inputs: [
  3143        { name: '_localToken', internalType: 'address', type: 'address' },
  3144        { name: '_remoteToken', internalType: 'address', type: 'address' },
  3145        { name: '_to', internalType: 'address', type: 'address' },
  3146        { name: '_tokenId', internalType: 'uint256', type: 'uint256' },
  3147        { name: '_minGasLimit', internalType: 'uint32', type: 'uint32' },
  3148        { name: '_extraData', internalType: 'bytes', type: 'bytes' },
  3149      ],
  3150      name: 'bridgeERC721To',
  3151      outputs: [],
  3152    },
  3153    {
  3154      stateMutability: 'view',
  3155      type: 'function',
  3156      inputs: [
  3157        { name: '', internalType: 'address', type: 'address' },
  3158        { name: '', internalType: 'address', type: 'address' },
  3159        { name: '', internalType: 'uint256', type: 'uint256' },
  3160      ],
  3161      name: 'deposits',
  3162      outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
  3163    },
  3164    {
  3165      stateMutability: 'nonpayable',
  3166      type: 'function',
  3167      inputs: [
  3168        { name: '_localToken', internalType: 'address', type: 'address' },
  3169        { name: '_remoteToken', internalType: 'address', type: 'address' },
  3170        { name: '_from', internalType: 'address', type: 'address' },
  3171        { name: '_to', internalType: 'address', type: 'address' },
  3172        { name: '_tokenId', internalType: 'uint256', type: 'uint256' },
  3173        { name: '_extraData', internalType: 'bytes', type: 'bytes' },
  3174      ],
  3175      name: 'finalizeBridgeERC721',
  3176      outputs: [],
  3177    },
  3178    {
  3179      stateMutability: 'nonpayable',
  3180      type: 'function',
  3181      inputs: [
  3182        {
  3183          name: '_messenger',
  3184          internalType: 'contract CrossDomainMessenger',
  3185          type: 'address',
  3186        },
  3187      ],
  3188      name: 'initialize',
  3189      outputs: [],
  3190    },
  3191    {
  3192      stateMutability: 'view',
  3193      type: 'function',
  3194      inputs: [],
  3195      name: 'messenger',
  3196      outputs: [
  3197        {
  3198          name: '',
  3199          internalType: 'contract CrossDomainMessenger',
  3200          type: 'address',
  3201        },
  3202      ],
  3203    },
  3204    {
  3205      stateMutability: 'view',
  3206      type: 'function',
  3207      inputs: [],
  3208      name: 'otherBridge',
  3209      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  3210    },
  3211    {
  3212      stateMutability: 'view',
  3213      type: 'function',
  3214      inputs: [],
  3215      name: 'version',
  3216      outputs: [{ name: '', internalType: 'string', type: 'string' }],
  3217    },
  3218  ] as const
  3219  
  3220  /**
  3221   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x5a7749f83b81B301cAb5f48EB8516B986DAef23D)
  3222   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x8DD330DdE8D9898d43b4dc840Da27A07dF91b3c9)
  3223   */
  3224  export const l1Erc721BridgeAddress = {
  3225    1: '0x5a7749f83b81B301cAb5f48EB8516B986DAef23D',
  3226    5: '0x8DD330DdE8D9898d43b4dc840Da27A07dF91b3c9',
  3227  } as const
  3228  
  3229  /**
  3230   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x5a7749f83b81B301cAb5f48EB8516B986DAef23D)
  3231   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x8DD330DdE8D9898d43b4dc840Da27A07dF91b3c9)
  3232   */
  3233  export const l1Erc721BridgeConfig = {
  3234    address: l1Erc721BridgeAddress,
  3235    abi: l1Erc721BridgeABI,
  3236  } as const
  3237  
  3238  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  3239  // L1FeeVault
  3240  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  3241  
  3242  /**
  3243   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x420000000000000000000000000000000000001a)
  3244   */
  3245  export const l1FeeVaultABI = [
  3246    {
  3247      stateMutability: 'nonpayable',
  3248      type: 'constructor',
  3249      inputs: [{ name: '_recipient', internalType: 'address', type: 'address' }],
  3250    },
  3251    {
  3252      type: 'event',
  3253      anonymous: false,
  3254      inputs: [
  3255        {
  3256          name: 'value',
  3257          internalType: 'uint256',
  3258          type: 'uint256',
  3259          indexed: false,
  3260        },
  3261        { name: 'to', internalType: 'address', type: 'address', indexed: false },
  3262        {
  3263          name: 'from',
  3264          internalType: 'address',
  3265          type: 'address',
  3266          indexed: false,
  3267        },
  3268      ],
  3269      name: 'Withdrawal',
  3270    },
  3271    {
  3272      stateMutability: 'view',
  3273      type: 'function',
  3274      inputs: [],
  3275      name: 'MIN_WITHDRAWAL_AMOUNT',
  3276      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  3277    },
  3278    {
  3279      stateMutability: 'view',
  3280      type: 'function',
  3281      inputs: [],
  3282      name: 'RECIPIENT',
  3283      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  3284    },
  3285    {
  3286      stateMutability: 'view',
  3287      type: 'function',
  3288      inputs: [],
  3289      name: 'totalProcessed',
  3290      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  3291    },
  3292    {
  3293      stateMutability: 'view',
  3294      type: 'function',
  3295      inputs: [],
  3296      name: 'version',
  3297      outputs: [{ name: '', internalType: 'string', type: 'string' }],
  3298    },
  3299    {
  3300      stateMutability: 'nonpayable',
  3301      type: 'function',
  3302      inputs: [],
  3303      name: 'withdraw',
  3304      outputs: [],
  3305    },
  3306    { stateMutability: 'payable', type: 'receive' },
  3307  ] as const
  3308  
  3309  /**
  3310   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x420000000000000000000000000000000000001a)
  3311   */
  3312  export const l1FeeVaultAddress = {
  3313    420: '0x420000000000000000000000000000000000001A',
  3314  } as const
  3315  
  3316  /**
  3317   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x420000000000000000000000000000000000001a)
  3318   */
  3319  export const l1FeeVaultConfig = {
  3320    address: l1FeeVaultAddress,
  3321    abi: l1FeeVaultABI,
  3322  } as const
  3323  
  3324  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  3325  // L1StandardBridge
  3326  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  3327  
  3328  /**
  3329   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1)
  3330   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x636Af16bf2f682dD3109e60102b8E1A089FedAa8)
  3331   */
  3332  export const l1StandardBridgeABI = [
  3333    { stateMutability: 'nonpayable', type: 'constructor', inputs: [] },
  3334    {
  3335      type: 'event',
  3336      anonymous: false,
  3337      inputs: [
  3338        {
  3339          name: 'localToken',
  3340          internalType: 'address',
  3341          type: 'address',
  3342          indexed: true,
  3343        },
  3344        {
  3345          name: 'remoteToken',
  3346          internalType: 'address',
  3347          type: 'address',
  3348          indexed: true,
  3349        },
  3350        { name: 'from', internalType: 'address', type: 'address', indexed: true },
  3351        { name: 'to', internalType: 'address', type: 'address', indexed: false },
  3352        {
  3353          name: 'amount',
  3354          internalType: 'uint256',
  3355          type: 'uint256',
  3356          indexed: false,
  3357        },
  3358        {
  3359          name: 'extraData',
  3360          internalType: 'bytes',
  3361          type: 'bytes',
  3362          indexed: false,
  3363        },
  3364      ],
  3365      name: 'ERC20BridgeFinalized',
  3366    },
  3367    {
  3368      type: 'event',
  3369      anonymous: false,
  3370      inputs: [
  3371        {
  3372          name: 'localToken',
  3373          internalType: 'address',
  3374          type: 'address',
  3375          indexed: true,
  3376        },
  3377        {
  3378          name: 'remoteToken',
  3379          internalType: 'address',
  3380          type: 'address',
  3381          indexed: true,
  3382        },
  3383        { name: 'from', internalType: 'address', type: 'address', indexed: true },
  3384        { name: 'to', internalType: 'address', type: 'address', indexed: false },
  3385        {
  3386          name: 'amount',
  3387          internalType: 'uint256',
  3388          type: 'uint256',
  3389          indexed: false,
  3390        },
  3391        {
  3392          name: 'extraData',
  3393          internalType: 'bytes',
  3394          type: 'bytes',
  3395          indexed: false,
  3396        },
  3397      ],
  3398      name: 'ERC20BridgeInitiated',
  3399    },
  3400    {
  3401      type: 'event',
  3402      anonymous: false,
  3403      inputs: [
  3404        {
  3405          name: 'l1Token',
  3406          internalType: 'address',
  3407          type: 'address',
  3408          indexed: true,
  3409        },
  3410        {
  3411          name: 'l2Token',
  3412          internalType: 'address',
  3413          type: 'address',
  3414          indexed: true,
  3415        },
  3416        { name: 'from', internalType: 'address', type: 'address', indexed: true },
  3417        { name: 'to', internalType: 'address', type: 'address', indexed: false },
  3418        {
  3419          name: 'amount',
  3420          internalType: 'uint256',
  3421          type: 'uint256',
  3422          indexed: false,
  3423        },
  3424        {
  3425          name: 'extraData',
  3426          internalType: 'bytes',
  3427          type: 'bytes',
  3428          indexed: false,
  3429        },
  3430      ],
  3431      name: 'ERC20DepositInitiated',
  3432    },
  3433    {
  3434      type: 'event',
  3435      anonymous: false,
  3436      inputs: [
  3437        {
  3438          name: 'l1Token',
  3439          internalType: 'address',
  3440          type: 'address',
  3441          indexed: true,
  3442        },
  3443        {
  3444          name: 'l2Token',
  3445          internalType: 'address',
  3446          type: 'address',
  3447          indexed: true,
  3448        },
  3449        { name: 'from', internalType: 'address', type: 'address', indexed: true },
  3450        { name: 'to', internalType: 'address', type: 'address', indexed: false },
  3451        {
  3452          name: 'amount',
  3453          internalType: 'uint256',
  3454          type: 'uint256',
  3455          indexed: false,
  3456        },
  3457        {
  3458          name: 'extraData',
  3459          internalType: 'bytes',
  3460          type: 'bytes',
  3461          indexed: false,
  3462        },
  3463      ],
  3464      name: 'ERC20WithdrawalFinalized',
  3465    },
  3466    {
  3467      type: 'event',
  3468      anonymous: false,
  3469      inputs: [
  3470        { name: 'from', internalType: 'address', type: 'address', indexed: true },
  3471        { name: 'to', internalType: 'address', type: 'address', indexed: true },
  3472        {
  3473          name: 'amount',
  3474          internalType: 'uint256',
  3475          type: 'uint256',
  3476          indexed: false,
  3477        },
  3478        {
  3479          name: 'extraData',
  3480          internalType: 'bytes',
  3481          type: 'bytes',
  3482          indexed: false,
  3483        },
  3484      ],
  3485      name: 'ETHBridgeFinalized',
  3486    },
  3487    {
  3488      type: 'event',
  3489      anonymous: false,
  3490      inputs: [
  3491        { name: 'from', internalType: 'address', type: 'address', indexed: true },
  3492        { name: 'to', internalType: 'address', type: 'address', indexed: true },
  3493        {
  3494          name: 'amount',
  3495          internalType: 'uint256',
  3496          type: 'uint256',
  3497          indexed: false,
  3498        },
  3499        {
  3500          name: 'extraData',
  3501          internalType: 'bytes',
  3502          type: 'bytes',
  3503          indexed: false,
  3504        },
  3505      ],
  3506      name: 'ETHBridgeInitiated',
  3507    },
  3508    {
  3509      type: 'event',
  3510      anonymous: false,
  3511      inputs: [
  3512        { name: 'from', internalType: 'address', type: 'address', indexed: true },
  3513        { name: 'to', internalType: 'address', type: 'address', indexed: true },
  3514        {
  3515          name: 'amount',
  3516          internalType: 'uint256',
  3517          type: 'uint256',
  3518          indexed: false,
  3519        },
  3520        {
  3521          name: 'extraData',
  3522          internalType: 'bytes',
  3523          type: 'bytes',
  3524          indexed: false,
  3525        },
  3526      ],
  3527      name: 'ETHDepositInitiated',
  3528    },
  3529    {
  3530      type: 'event',
  3531      anonymous: false,
  3532      inputs: [
  3533        { name: 'from', internalType: 'address', type: 'address', indexed: true },
  3534        { name: 'to', internalType: 'address', type: 'address', indexed: true },
  3535        {
  3536          name: 'amount',
  3537          internalType: 'uint256',
  3538          type: 'uint256',
  3539          indexed: false,
  3540        },
  3541        {
  3542          name: 'extraData',
  3543          internalType: 'bytes',
  3544          type: 'bytes',
  3545          indexed: false,
  3546        },
  3547      ],
  3548      name: 'ETHWithdrawalFinalized',
  3549    },
  3550    {
  3551      type: 'event',
  3552      anonymous: false,
  3553      inputs: [
  3554        { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },
  3555      ],
  3556      name: 'Initialized',
  3557    },
  3558    {
  3559      stateMutability: 'nonpayable',
  3560      type: 'function',
  3561      inputs: [
  3562        { name: '_localToken', internalType: 'address', type: 'address' },
  3563        { name: '_remoteToken', internalType: 'address', type: 'address' },
  3564        { name: '_amount', internalType: 'uint256', type: 'uint256' },
  3565        { name: '_minGasLimit', internalType: 'uint32', type: 'uint32' },
  3566        { name: '_extraData', internalType: 'bytes', type: 'bytes' },
  3567      ],
  3568      name: 'bridgeERC20',
  3569      outputs: [],
  3570    },
  3571    {
  3572      stateMutability: 'nonpayable',
  3573      type: 'function',
  3574      inputs: [
  3575        { name: '_localToken', internalType: 'address', type: 'address' },
  3576        { name: '_remoteToken', internalType: 'address', type: 'address' },
  3577        { name: '_to', internalType: 'address', type: 'address' },
  3578        { name: '_amount', internalType: 'uint256', type: 'uint256' },
  3579        { name: '_minGasLimit', internalType: 'uint32', type: 'uint32' },
  3580        { name: '_extraData', internalType: 'bytes', type: 'bytes' },
  3581      ],
  3582      name: 'bridgeERC20To',
  3583      outputs: [],
  3584    },
  3585    {
  3586      stateMutability: 'payable',
  3587      type: 'function',
  3588      inputs: [
  3589        { name: '_minGasLimit', internalType: 'uint32', type: 'uint32' },
  3590        { name: '_extraData', internalType: 'bytes', type: 'bytes' },
  3591      ],
  3592      name: 'bridgeETH',
  3593      outputs: [],
  3594    },
  3595    {
  3596      stateMutability: 'payable',
  3597      type: 'function',
  3598      inputs: [
  3599        { name: '_to', internalType: 'address', type: 'address' },
  3600        { name: '_minGasLimit', internalType: 'uint32', type: 'uint32' },
  3601        { name: '_extraData', internalType: 'bytes', type: 'bytes' },
  3602      ],
  3603      name: 'bridgeETHTo',
  3604      outputs: [],
  3605    },
  3606    {
  3607      stateMutability: 'nonpayable',
  3608      type: 'function',
  3609      inputs: [
  3610        { name: '_l1Token', internalType: 'address', type: 'address' },
  3611        { name: '_l2Token', internalType: 'address', type: 'address' },
  3612        { name: '_amount', internalType: 'uint256', type: 'uint256' },
  3613        { name: '_minGasLimit', internalType: 'uint32', type: 'uint32' },
  3614        { name: '_extraData', internalType: 'bytes', type: 'bytes' },
  3615      ],
  3616      name: 'depositERC20',
  3617      outputs: [],
  3618    },
  3619    {
  3620      stateMutability: 'nonpayable',
  3621      type: 'function',
  3622      inputs: [
  3623        { name: '_l1Token', internalType: 'address', type: 'address' },
  3624        { name: '_l2Token', internalType: 'address', type: 'address' },
  3625        { name: '_to', internalType: 'address', type: 'address' },
  3626        { name: '_amount', internalType: 'uint256', type: 'uint256' },
  3627        { name: '_minGasLimit', internalType: 'uint32', type: 'uint32' },
  3628        { name: '_extraData', internalType: 'bytes', type: 'bytes' },
  3629      ],
  3630      name: 'depositERC20To',
  3631      outputs: [],
  3632    },
  3633    {
  3634      stateMutability: 'payable',
  3635      type: 'function',
  3636      inputs: [
  3637        { name: '_minGasLimit', internalType: 'uint32', type: 'uint32' },
  3638        { name: '_extraData', internalType: 'bytes', type: 'bytes' },
  3639      ],
  3640      name: 'depositETH',
  3641      outputs: [],
  3642    },
  3643    {
  3644      stateMutability: 'payable',
  3645      type: 'function',
  3646      inputs: [
  3647        { name: '_to', internalType: 'address', type: 'address' },
  3648        { name: '_minGasLimit', internalType: 'uint32', type: 'uint32' },
  3649        { name: '_extraData', internalType: 'bytes', type: 'bytes' },
  3650      ],
  3651      name: 'depositETHTo',
  3652      outputs: [],
  3653    },
  3654    {
  3655      stateMutability: 'view',
  3656      type: 'function',
  3657      inputs: [
  3658        { name: '', internalType: 'address', type: 'address' },
  3659        { name: '', internalType: 'address', type: 'address' },
  3660      ],
  3661      name: 'deposits',
  3662      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  3663    },
  3664    {
  3665      stateMutability: 'nonpayable',
  3666      type: 'function',
  3667      inputs: [
  3668        { name: '_localToken', internalType: 'address', type: 'address' },
  3669        { name: '_remoteToken', internalType: 'address', type: 'address' },
  3670        { name: '_from', internalType: 'address', type: 'address' },
  3671        { name: '_to', internalType: 'address', type: 'address' },
  3672        { name: '_amount', internalType: 'uint256', type: 'uint256' },
  3673        { name: '_extraData', internalType: 'bytes', type: 'bytes' },
  3674      ],
  3675      name: 'finalizeBridgeERC20',
  3676      outputs: [],
  3677    },
  3678    {
  3679      stateMutability: 'payable',
  3680      type: 'function',
  3681      inputs: [
  3682        { name: '_from', internalType: 'address', type: 'address' },
  3683        { name: '_to', internalType: 'address', type: 'address' },
  3684        { name: '_amount', internalType: 'uint256', type: 'uint256' },
  3685        { name: '_extraData', internalType: 'bytes', type: 'bytes' },
  3686      ],
  3687      name: 'finalizeBridgeETH',
  3688      outputs: [],
  3689    },
  3690    {
  3691      stateMutability: 'nonpayable',
  3692      type: 'function',
  3693      inputs: [
  3694        { name: '_l1Token', internalType: 'address', type: 'address' },
  3695        { name: '_l2Token', internalType: 'address', type: 'address' },
  3696        { name: '_from', internalType: 'address', type: 'address' },
  3697        { name: '_to', internalType: 'address', type: 'address' },
  3698        { name: '_amount', internalType: 'uint256', type: 'uint256' },
  3699        { name: '_extraData', internalType: 'bytes', type: 'bytes' },
  3700      ],
  3701      name: 'finalizeERC20Withdrawal',
  3702      outputs: [],
  3703    },
  3704    {
  3705      stateMutability: 'payable',
  3706      type: 'function',
  3707      inputs: [
  3708        { name: '_from', internalType: 'address', type: 'address' },
  3709        { name: '_to', internalType: 'address', type: 'address' },
  3710        { name: '_amount', internalType: 'uint256', type: 'uint256' },
  3711        { name: '_extraData', internalType: 'bytes', type: 'bytes' },
  3712      ],
  3713      name: 'finalizeETHWithdrawal',
  3714      outputs: [],
  3715    },
  3716    {
  3717      stateMutability: 'nonpayable',
  3718      type: 'function',
  3719      inputs: [
  3720        {
  3721          name: '_messenger',
  3722          internalType: 'contract CrossDomainMessenger',
  3723          type: 'address',
  3724        },
  3725      ],
  3726      name: 'initialize',
  3727      outputs: [],
  3728    },
  3729    {
  3730      stateMutability: 'view',
  3731      type: 'function',
  3732      inputs: [],
  3733      name: 'l2TokenBridge',
  3734      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  3735    },
  3736    {
  3737      stateMutability: 'view',
  3738      type: 'function',
  3739      inputs: [],
  3740      name: 'messenger',
  3741      outputs: [
  3742        {
  3743          name: '',
  3744          internalType: 'contract CrossDomainMessenger',
  3745          type: 'address',
  3746        },
  3747      ],
  3748    },
  3749    {
  3750      stateMutability: 'view',
  3751      type: 'function',
  3752      inputs: [],
  3753      name: 'otherBridge',
  3754      outputs: [
  3755        { name: '', internalType: 'contract StandardBridge', type: 'address' },
  3756      ],
  3757    },
  3758    {
  3759      stateMutability: 'view',
  3760      type: 'function',
  3761      inputs: [],
  3762      name: 'version',
  3763      outputs: [{ name: '', internalType: 'string', type: 'string' }],
  3764    },
  3765    { stateMutability: 'payable', type: 'receive' },
  3766  ] as const
  3767  
  3768  /**
  3769   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1)
  3770   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x636Af16bf2f682dD3109e60102b8E1A089FedAa8)
  3771   */
  3772  export const l1StandardBridgeAddress = {
  3773    1: '0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1',
  3774    5: '0x636Af16bf2f682dD3109e60102b8E1A089FedAa8',
  3775  } as const
  3776  
  3777  /**
  3778   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1)
  3779   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x636Af16bf2f682dD3109e60102b8E1A089FedAa8)
  3780   */
  3781  export const l1StandardBridgeConfig = {
  3782    address: l1StandardBridgeAddress,
  3783    abi: l1StandardBridgeABI,
  3784  } as const
  3785  
  3786  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  3787  // L2CrossDomainMessenger
  3788  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  3789  
  3790  /**
  3791   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000007)
  3792   */
  3793  export const l2CrossDomainMessengerABI = [
  3794    {
  3795      stateMutability: 'nonpayable',
  3796      type: 'constructor',
  3797      inputs: [
  3798        {
  3799          name: '_l1CrossDomainMessenger',
  3800          internalType: 'address',
  3801          type: 'address',
  3802        },
  3803      ],
  3804    },
  3805    {
  3806      type: 'event',
  3807      anonymous: false,
  3808      inputs: [
  3809        {
  3810          name: 'msgHash',
  3811          internalType: 'bytes32',
  3812          type: 'bytes32',
  3813          indexed: true,
  3814        },
  3815      ],
  3816      name: 'FailedRelayedMessage',
  3817    },
  3818    {
  3819      type: 'event',
  3820      anonymous: false,
  3821      inputs: [
  3822        { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },
  3823      ],
  3824      name: 'Initialized',
  3825    },
  3826    {
  3827      type: 'event',
  3828      anonymous: false,
  3829      inputs: [
  3830        {
  3831          name: 'msgHash',
  3832          internalType: 'bytes32',
  3833          type: 'bytes32',
  3834          indexed: true,
  3835        },
  3836      ],
  3837      name: 'RelayedMessage',
  3838    },
  3839    {
  3840      type: 'event',
  3841      anonymous: false,
  3842      inputs: [
  3843        {
  3844          name: 'target',
  3845          internalType: 'address',
  3846          type: 'address',
  3847          indexed: true,
  3848        },
  3849        {
  3850          name: 'sender',
  3851          internalType: 'address',
  3852          type: 'address',
  3853          indexed: false,
  3854        },
  3855        { name: 'message', internalType: 'bytes', type: 'bytes', indexed: false },
  3856        {
  3857          name: 'messageNonce',
  3858          internalType: 'uint256',
  3859          type: 'uint256',
  3860          indexed: false,
  3861        },
  3862        {
  3863          name: 'gasLimit',
  3864          internalType: 'uint256',
  3865          type: 'uint256',
  3866          indexed: false,
  3867        },
  3868      ],
  3869      name: 'SentMessage',
  3870    },
  3871    {
  3872      type: 'event',
  3873      anonymous: false,
  3874      inputs: [
  3875        {
  3876          name: 'sender',
  3877          internalType: 'address',
  3878          type: 'address',
  3879          indexed: true,
  3880        },
  3881        {
  3882          name: 'value',
  3883          internalType: 'uint256',
  3884          type: 'uint256',
  3885          indexed: false,
  3886        },
  3887      ],
  3888      name: 'SentMessageExtension1',
  3889    },
  3890    {
  3891      stateMutability: 'view',
  3892      type: 'function',
  3893      inputs: [],
  3894      name: 'MESSAGE_VERSION',
  3895      outputs: [{ name: '', internalType: 'uint16', type: 'uint16' }],
  3896    },
  3897    {
  3898      stateMutability: 'view',
  3899      type: 'function',
  3900      inputs: [],
  3901      name: 'MIN_GAS_CALLDATA_OVERHEAD',
  3902      outputs: [{ name: '', internalType: 'uint64', type: 'uint64' }],
  3903    },
  3904    {
  3905      stateMutability: 'view',
  3906      type: 'function',
  3907      inputs: [],
  3908      name: 'MIN_GAS_DYNAMIC_OVERHEAD_DENOMINATOR',
  3909      outputs: [{ name: '', internalType: 'uint64', type: 'uint64' }],
  3910    },
  3911    {
  3912      stateMutability: 'view',
  3913      type: 'function',
  3914      inputs: [],
  3915      name: 'MIN_GAS_DYNAMIC_OVERHEAD_NUMERATOR',
  3916      outputs: [{ name: '', internalType: 'uint64', type: 'uint64' }],
  3917    },
  3918    {
  3919      stateMutability: 'view',
  3920      type: 'function',
  3921      inputs: [],
  3922      name: 'OTHER_MESSENGER',
  3923      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  3924    },
  3925    {
  3926      stateMutability: 'view',
  3927      type: 'function',
  3928      inputs: [],
  3929      name: 'RELAY_CALL_OVERHEAD',
  3930      outputs: [{ name: '', internalType: 'uint64', type: 'uint64' }],
  3931    },
  3932    {
  3933      stateMutability: 'view',
  3934      type: 'function',
  3935      inputs: [],
  3936      name: 'RELAY_CONSTANT_OVERHEAD',
  3937      outputs: [{ name: '', internalType: 'uint64', type: 'uint64' }],
  3938    },
  3939    {
  3940      stateMutability: 'view',
  3941      type: 'function',
  3942      inputs: [],
  3943      name: 'RELAY_GAS_CHECK_BUFFER',
  3944      outputs: [{ name: '', internalType: 'uint64', type: 'uint64' }],
  3945    },
  3946    {
  3947      stateMutability: 'view',
  3948      type: 'function',
  3949      inputs: [],
  3950      name: 'RELAY_RESERVED_GAS',
  3951      outputs: [{ name: '', internalType: 'uint64', type: 'uint64' }],
  3952    },
  3953    {
  3954      stateMutability: 'pure',
  3955      type: 'function',
  3956      inputs: [
  3957        { name: '_message', internalType: 'bytes', type: 'bytes' },
  3958        { name: '_minGasLimit', internalType: 'uint32', type: 'uint32' },
  3959      ],
  3960      name: 'baseGas',
  3961      outputs: [{ name: '', internalType: 'uint64', type: 'uint64' }],
  3962    },
  3963    {
  3964      stateMutability: 'view',
  3965      type: 'function',
  3966      inputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
  3967      name: 'failedMessages',
  3968      outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
  3969    },
  3970    {
  3971      stateMutability: 'nonpayable',
  3972      type: 'function',
  3973      inputs: [],
  3974      name: 'initialize',
  3975      outputs: [],
  3976    },
  3977    {
  3978      stateMutability: 'view',
  3979      type: 'function',
  3980      inputs: [],
  3981      name: 'l1CrossDomainMessenger',
  3982      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  3983    },
  3984    {
  3985      stateMutability: 'view',
  3986      type: 'function',
  3987      inputs: [],
  3988      name: 'messageNonce',
  3989      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  3990    },
  3991    {
  3992      stateMutability: 'payable',
  3993      type: 'function',
  3994      inputs: [
  3995        { name: '_nonce', internalType: 'uint256', type: 'uint256' },
  3996        { name: '_sender', internalType: 'address', type: 'address' },
  3997        { name: '_target', internalType: 'address', type: 'address' },
  3998        { name: '_value', internalType: 'uint256', type: 'uint256' },
  3999        { name: '_minGasLimit', internalType: 'uint256', type: 'uint256' },
  4000        { name: '_message', internalType: 'bytes', type: 'bytes' },
  4001      ],
  4002      name: 'relayMessage',
  4003      outputs: [],
  4004    },
  4005    {
  4006      stateMutability: 'payable',
  4007      type: 'function',
  4008      inputs: [
  4009        { name: '_target', internalType: 'address', type: 'address' },
  4010        { name: '_message', internalType: 'bytes', type: 'bytes' },
  4011        { name: '_minGasLimit', internalType: 'uint32', type: 'uint32' },
  4012      ],
  4013      name: 'sendMessage',
  4014      outputs: [],
  4015    },
  4016    {
  4017      stateMutability: 'view',
  4018      type: 'function',
  4019      inputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
  4020      name: 'successfulMessages',
  4021      outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
  4022    },
  4023    {
  4024      stateMutability: 'view',
  4025      type: 'function',
  4026      inputs: [],
  4027      name: 'version',
  4028      outputs: [{ name: '', internalType: 'string', type: 'string' }],
  4029    },
  4030    {
  4031      stateMutability: 'view',
  4032      type: 'function',
  4033      inputs: [],
  4034      name: 'xDomainMessageSender',
  4035      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  4036    },
  4037  ] as const
  4038  
  4039  /**
  4040   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000007)
  4041   */
  4042  export const l2CrossDomainMessengerAddress = {
  4043    420: '0x4200000000000000000000000000000000000007',
  4044  } as const
  4045  
  4046  /**
  4047   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000007)
  4048   */
  4049  export const l2CrossDomainMessengerConfig = {
  4050    address: l2CrossDomainMessengerAddress,
  4051    abi: l2CrossDomainMessengerABI,
  4052  } as const
  4053  
  4054  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  4055  // L2ERC721Bridge
  4056  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  4057  
  4058  /**
  4059   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x4200000000000000000000000000000000000014)
  4060   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000014)
  4061   */
  4062  export const l2Erc721BridgeABI = [
  4063    {
  4064      stateMutability: 'nonpayable',
  4065      type: 'constructor',
  4066      inputs: [
  4067        { name: '_messenger', internalType: 'address', type: 'address' },
  4068        { name: '_otherBridge', internalType: 'address', type: 'address' },
  4069      ],
  4070    },
  4071    {
  4072      type: 'event',
  4073      anonymous: false,
  4074      inputs: [
  4075        {
  4076          name: 'localToken',
  4077          internalType: 'address',
  4078          type: 'address',
  4079          indexed: true,
  4080        },
  4081        {
  4082          name: 'remoteToken',
  4083          internalType: 'address',
  4084          type: 'address',
  4085          indexed: true,
  4086        },
  4087        { name: 'from', internalType: 'address', type: 'address', indexed: true },
  4088        { name: 'to', internalType: 'address', type: 'address', indexed: false },
  4089        {
  4090          name: 'tokenId',
  4091          internalType: 'uint256',
  4092          type: 'uint256',
  4093          indexed: false,
  4094        },
  4095        {
  4096          name: 'extraData',
  4097          internalType: 'bytes',
  4098          type: 'bytes',
  4099          indexed: false,
  4100        },
  4101      ],
  4102      name: 'ERC721BridgeFinalized',
  4103    },
  4104    {
  4105      type: 'event',
  4106      anonymous: false,
  4107      inputs: [
  4108        {
  4109          name: 'localToken',
  4110          internalType: 'address',
  4111          type: 'address',
  4112          indexed: true,
  4113        },
  4114        {
  4115          name: 'remoteToken',
  4116          internalType: 'address',
  4117          type: 'address',
  4118          indexed: true,
  4119        },
  4120        { name: 'from', internalType: 'address', type: 'address', indexed: true },
  4121        { name: 'to', internalType: 'address', type: 'address', indexed: false },
  4122        {
  4123          name: 'tokenId',
  4124          internalType: 'uint256',
  4125          type: 'uint256',
  4126          indexed: false,
  4127        },
  4128        {
  4129          name: 'extraData',
  4130          internalType: 'bytes',
  4131          type: 'bytes',
  4132          indexed: false,
  4133        },
  4134      ],
  4135      name: 'ERC721BridgeInitiated',
  4136    },
  4137    {
  4138      stateMutability: 'nonpayable',
  4139      type: 'function',
  4140      inputs: [
  4141        { name: '_localToken', internalType: 'address', type: 'address' },
  4142        { name: '_remoteToken', internalType: 'address', type: 'address' },
  4143        { name: '_tokenId', internalType: 'uint256', type: 'uint256' },
  4144        { name: '_minGasLimit', internalType: 'uint32', type: 'uint32' },
  4145        { name: '_extraData', internalType: 'bytes', type: 'bytes' },
  4146      ],
  4147      name: 'bridgeERC721',
  4148      outputs: [],
  4149    },
  4150    {
  4151      stateMutability: 'nonpayable',
  4152      type: 'function',
  4153      inputs: [
  4154        { name: '_localToken', internalType: 'address', type: 'address' },
  4155        { name: '_remoteToken', internalType: 'address', type: 'address' },
  4156        { name: '_to', internalType: 'address', type: 'address' },
  4157        { name: '_tokenId', internalType: 'uint256', type: 'uint256' },
  4158        { name: '_minGasLimit', internalType: 'uint32', type: 'uint32' },
  4159        { name: '_extraData', internalType: 'bytes', type: 'bytes' },
  4160      ],
  4161      name: 'bridgeERC721To',
  4162      outputs: [],
  4163    },
  4164    {
  4165      stateMutability: 'nonpayable',
  4166      type: 'function',
  4167      inputs: [
  4168        { name: '_localToken', internalType: 'address', type: 'address' },
  4169        { name: '_remoteToken', internalType: 'address', type: 'address' },
  4170        { name: '_from', internalType: 'address', type: 'address' },
  4171        { name: '_to', internalType: 'address', type: 'address' },
  4172        { name: '_tokenId', internalType: 'uint256', type: 'uint256' },
  4173        { name: '_extraData', internalType: 'bytes', type: 'bytes' },
  4174      ],
  4175      name: 'finalizeBridgeERC721',
  4176      outputs: [],
  4177    },
  4178    {
  4179      stateMutability: 'view',
  4180      type: 'function',
  4181      inputs: [],
  4182      name: 'messenger',
  4183      outputs: [
  4184        {
  4185          name: '',
  4186          internalType: 'contract CrossDomainMessenger',
  4187          type: 'address',
  4188        },
  4189      ],
  4190    },
  4191    {
  4192      stateMutability: 'view',
  4193      type: 'function',
  4194      inputs: [],
  4195      name: 'otherBridge',
  4196      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  4197    },
  4198    {
  4199      stateMutability: 'view',
  4200      type: 'function',
  4201      inputs: [],
  4202      name: 'version',
  4203      outputs: [{ name: '', internalType: 'string', type: 'string' }],
  4204    },
  4205  ] as const
  4206  
  4207  /**
  4208   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x4200000000000000000000000000000000000014)
  4209   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000014)
  4210   */
  4211  export const l2Erc721BridgeAddress = {
  4212    10: '0x4200000000000000000000000000000000000014',
  4213    420: '0x4200000000000000000000000000000000000014',
  4214  } as const
  4215  
  4216  /**
  4217   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x4200000000000000000000000000000000000014)
  4218   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000014)
  4219   */
  4220  export const l2Erc721BridgeConfig = {
  4221    address: l2Erc721BridgeAddress,
  4222    abi: l2Erc721BridgeABI,
  4223  } as const
  4224  
  4225  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  4226  // L2OutputOracle
  4227  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  4228  
  4229  /**
  4230   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0xdfe97868233d1aa22e815a266982f2cf17685a27)
  4231   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xE6Dfba0953616Bacab0c9A8ecb3a9BBa77FC15c0)
  4232   */
  4233  export const l2OutputOracleABI = [
  4234    {
  4235      stateMutability: 'nonpayable',
  4236      type: 'constructor',
  4237      inputs: [
  4238        { name: '_submissionInterval', internalType: 'uint256', type: 'uint256' },
  4239        { name: '_l2BlockTime', internalType: 'uint256', type: 'uint256' },
  4240        {
  4241          name: '_finalizationPeriodSeconds',
  4242          internalType: 'uint256',
  4243          type: 'uint256',
  4244        },
  4245      ],
  4246    },
  4247    {
  4248      type: 'event',
  4249      anonymous: false,
  4250      inputs: [
  4251        { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },
  4252      ],
  4253      name: 'Initialized',
  4254    },
  4255    {
  4256      type: 'event',
  4257      anonymous: false,
  4258      inputs: [
  4259        {
  4260          name: 'outputRoot',
  4261          internalType: 'bytes32',
  4262          type: 'bytes32',
  4263          indexed: true,
  4264        },
  4265        {
  4266          name: 'l2OutputIndex',
  4267          internalType: 'uint256',
  4268          type: 'uint256',
  4269          indexed: true,
  4270        },
  4271        {
  4272          name: 'l2BlockNumber',
  4273          internalType: 'uint256',
  4274          type: 'uint256',
  4275          indexed: true,
  4276        },
  4277        {
  4278          name: 'l1Timestamp',
  4279          internalType: 'uint256',
  4280          type: 'uint256',
  4281          indexed: false,
  4282        },
  4283      ],
  4284      name: 'OutputProposed',
  4285    },
  4286    {
  4287      type: 'event',
  4288      anonymous: false,
  4289      inputs: [
  4290        {
  4291          name: 'prevNextOutputIndex',
  4292          internalType: 'uint256',
  4293          type: 'uint256',
  4294          indexed: true,
  4295        },
  4296        {
  4297          name: 'newNextOutputIndex',
  4298          internalType: 'uint256',
  4299          type: 'uint256',
  4300          indexed: true,
  4301        },
  4302      ],
  4303      name: 'OutputsDeleted',
  4304    },
  4305    {
  4306      stateMutability: 'view',
  4307      type: 'function',
  4308      inputs: [],
  4309      name: 'challenger',
  4310      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  4311    },
  4312    {
  4313      stateMutability: 'view',
  4314      type: 'function',
  4315      inputs: [
  4316        { name: '_l2BlockNumber', internalType: 'uint256', type: 'uint256' },
  4317      ],
  4318      name: 'computeL2Timestamp',
  4319      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  4320    },
  4321    {
  4322      stateMutability: 'nonpayable',
  4323      type: 'function',
  4324      inputs: [
  4325        { name: '_l2OutputIndex', internalType: 'uint256', type: 'uint256' },
  4326      ],
  4327      name: 'deleteL2Outputs',
  4328      outputs: [],
  4329    },
  4330    {
  4331      stateMutability: 'view',
  4332      type: 'function',
  4333      inputs: [],
  4334      name: 'finalizationPeriodSeconds',
  4335      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  4336    },
  4337    {
  4338      stateMutability: 'view',
  4339      type: 'function',
  4340      inputs: [
  4341        { name: '_l2OutputIndex', internalType: 'uint256', type: 'uint256' },
  4342      ],
  4343      name: 'getL2Output',
  4344      outputs: [
  4345        {
  4346          name: '',
  4347          internalType: 'struct Types.OutputProposal',
  4348          type: 'tuple',
  4349          components: [
  4350            { name: 'outputRoot', internalType: 'bytes32', type: 'bytes32' },
  4351            { name: 'timestamp', internalType: 'uint128', type: 'uint128' },
  4352            { name: 'l2BlockNumber', internalType: 'uint128', type: 'uint128' },
  4353          ],
  4354        },
  4355      ],
  4356    },
  4357    {
  4358      stateMutability: 'view',
  4359      type: 'function',
  4360      inputs: [
  4361        { name: '_l2BlockNumber', internalType: 'uint256', type: 'uint256' },
  4362      ],
  4363      name: 'getL2OutputAfter',
  4364      outputs: [
  4365        {
  4366          name: '',
  4367          internalType: 'struct Types.OutputProposal',
  4368          type: 'tuple',
  4369          components: [
  4370            { name: 'outputRoot', internalType: 'bytes32', type: 'bytes32' },
  4371            { name: 'timestamp', internalType: 'uint128', type: 'uint128' },
  4372            { name: 'l2BlockNumber', internalType: 'uint128', type: 'uint128' },
  4373          ],
  4374        },
  4375      ],
  4376    },
  4377    {
  4378      stateMutability: 'view',
  4379      type: 'function',
  4380      inputs: [
  4381        { name: '_l2BlockNumber', internalType: 'uint256', type: 'uint256' },
  4382      ],
  4383      name: 'getL2OutputIndexAfter',
  4384      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  4385    },
  4386    {
  4387      stateMutability: 'nonpayable',
  4388      type: 'function',
  4389      inputs: [
  4390        {
  4391          name: '_startingBlockNumber',
  4392          internalType: 'uint256',
  4393          type: 'uint256',
  4394        },
  4395        { name: '_startingTimestamp', internalType: 'uint256', type: 'uint256' },
  4396        { name: '_proposer', internalType: 'address', type: 'address' },
  4397        { name: '_challenger', internalType: 'address', type: 'address' },
  4398      ],
  4399      name: 'initialize',
  4400      outputs: [],
  4401    },
  4402    {
  4403      stateMutability: 'view',
  4404      type: 'function',
  4405      inputs: [],
  4406      name: 'l2BlockTime',
  4407      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  4408    },
  4409    {
  4410      stateMutability: 'view',
  4411      type: 'function',
  4412      inputs: [],
  4413      name: 'latestBlockNumber',
  4414      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  4415    },
  4416    {
  4417      stateMutability: 'view',
  4418      type: 'function',
  4419      inputs: [],
  4420      name: 'latestOutputIndex',
  4421      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  4422    },
  4423    {
  4424      stateMutability: 'view',
  4425      type: 'function',
  4426      inputs: [],
  4427      name: 'nextBlockNumber',
  4428      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  4429    },
  4430    {
  4431      stateMutability: 'view',
  4432      type: 'function',
  4433      inputs: [],
  4434      name: 'nextOutputIndex',
  4435      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  4436    },
  4437    {
  4438      stateMutability: 'payable',
  4439      type: 'function',
  4440      inputs: [
  4441        { name: '_outputRoot', internalType: 'bytes32', type: 'bytes32' },
  4442        { name: '_l2BlockNumber', internalType: 'uint256', type: 'uint256' },
  4443        { name: '_l1BlockHash', internalType: 'bytes32', type: 'bytes32' },
  4444        { name: '_l1BlockNumber', internalType: 'uint256', type: 'uint256' },
  4445      ],
  4446      name: 'proposeL2Output',
  4447      outputs: [],
  4448    },
  4449    {
  4450      stateMutability: 'view',
  4451      type: 'function',
  4452      inputs: [],
  4453      name: 'proposer',
  4454      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  4455    },
  4456    {
  4457      stateMutability: 'view',
  4458      type: 'function',
  4459      inputs: [],
  4460      name: 'startingBlockNumber',
  4461      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  4462    },
  4463    {
  4464      stateMutability: 'view',
  4465      type: 'function',
  4466      inputs: [],
  4467      name: 'startingTimestamp',
  4468      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  4469    },
  4470    {
  4471      stateMutability: 'view',
  4472      type: 'function',
  4473      inputs: [],
  4474      name: 'submissionInterval',
  4475      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  4476    },
  4477    {
  4478      stateMutability: 'view',
  4479      type: 'function',
  4480      inputs: [],
  4481      name: 'version',
  4482      outputs: [{ name: '', internalType: 'string', type: 'string' }],
  4483    },
  4484  ] as const
  4485  
  4486  /**
  4487   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0xdfe97868233d1aa22e815a266982f2cf17685a27)
  4488   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xE6Dfba0953616Bacab0c9A8ecb3a9BBa77FC15c0)
  4489   */
  4490  export const l2OutputOracleAddress = {
  4491    1: '0xdfe97868233d1aa22e815a266982f2cf17685a27',
  4492    5: '0xE6Dfba0953616Bacab0c9A8ecb3a9BBa77FC15c0',
  4493  } as const
  4494  
  4495  /**
  4496   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0xdfe97868233d1aa22e815a266982f2cf17685a27)
  4497   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xE6Dfba0953616Bacab0c9A8ecb3a9BBa77FC15c0)
  4498   */
  4499  export const l2OutputOracleConfig = {
  4500    address: l2OutputOracleAddress,
  4501    abi: l2OutputOracleABI,
  4502  } as const
  4503  
  4504  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  4505  // L2StandardBridge
  4506  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  4507  
  4508  /**
  4509   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000010)
  4510   */
  4511  export const l2StandardBridgeABI = [
  4512    {
  4513      stateMutability: 'nonpayable',
  4514      type: 'constructor',
  4515      inputs: [
  4516        {
  4517          name: '_otherBridge',
  4518          internalType: 'address payable',
  4519          type: 'address',
  4520        },
  4521      ],
  4522    },
  4523    {
  4524      type: 'event',
  4525      anonymous: false,
  4526      inputs: [
  4527        {
  4528          name: 'l1Token',
  4529          internalType: 'address',
  4530          type: 'address',
  4531          indexed: true,
  4532        },
  4533        {
  4534          name: 'l2Token',
  4535          internalType: 'address',
  4536          type: 'address',
  4537          indexed: true,
  4538        },
  4539        { name: 'from', internalType: 'address', type: 'address', indexed: true },
  4540        { name: 'to', internalType: 'address', type: 'address', indexed: false },
  4541        {
  4542          name: 'amount',
  4543          internalType: 'uint256',
  4544          type: 'uint256',
  4545          indexed: false,
  4546        },
  4547        {
  4548          name: 'extraData',
  4549          internalType: 'bytes',
  4550          type: 'bytes',
  4551          indexed: false,
  4552        },
  4553      ],
  4554      name: 'DepositFinalized',
  4555    },
  4556    {
  4557      type: 'event',
  4558      anonymous: false,
  4559      inputs: [
  4560        {
  4561          name: 'localToken',
  4562          internalType: 'address',
  4563          type: 'address',
  4564          indexed: true,
  4565        },
  4566        {
  4567          name: 'remoteToken',
  4568          internalType: 'address',
  4569          type: 'address',
  4570          indexed: true,
  4571        },
  4572        { name: 'from', internalType: 'address', type: 'address', indexed: true },
  4573        { name: 'to', internalType: 'address', type: 'address', indexed: false },
  4574        {
  4575          name: 'amount',
  4576          internalType: 'uint256',
  4577          type: 'uint256',
  4578          indexed: false,
  4579        },
  4580        {
  4581          name: 'extraData',
  4582          internalType: 'bytes',
  4583          type: 'bytes',
  4584          indexed: false,
  4585        },
  4586      ],
  4587      name: 'ERC20BridgeFinalized',
  4588    },
  4589    {
  4590      type: 'event',
  4591      anonymous: false,
  4592      inputs: [
  4593        {
  4594          name: 'localToken',
  4595          internalType: 'address',
  4596          type: 'address',
  4597          indexed: true,
  4598        },
  4599        {
  4600          name: 'remoteToken',
  4601          internalType: 'address',
  4602          type: 'address',
  4603          indexed: true,
  4604        },
  4605        { name: 'from', internalType: 'address', type: 'address', indexed: true },
  4606        { name: 'to', internalType: 'address', type: 'address', indexed: false },
  4607        {
  4608          name: 'amount',
  4609          internalType: 'uint256',
  4610          type: 'uint256',
  4611          indexed: false,
  4612        },
  4613        {
  4614          name: 'extraData',
  4615          internalType: 'bytes',
  4616          type: 'bytes',
  4617          indexed: false,
  4618        },
  4619      ],
  4620      name: 'ERC20BridgeInitiated',
  4621    },
  4622    {
  4623      type: 'event',
  4624      anonymous: false,
  4625      inputs: [
  4626        { name: 'from', internalType: 'address', type: 'address', indexed: true },
  4627        { name: 'to', internalType: 'address', type: 'address', indexed: true },
  4628        {
  4629          name: 'amount',
  4630          internalType: 'uint256',
  4631          type: 'uint256',
  4632          indexed: false,
  4633        },
  4634        {
  4635          name: 'extraData',
  4636          internalType: 'bytes',
  4637          type: 'bytes',
  4638          indexed: false,
  4639        },
  4640      ],
  4641      name: 'ETHBridgeFinalized',
  4642    },
  4643    {
  4644      type: 'event',
  4645      anonymous: false,
  4646      inputs: [
  4647        { name: 'from', internalType: 'address', type: 'address', indexed: true },
  4648        { name: 'to', internalType: 'address', type: 'address', indexed: true },
  4649        {
  4650          name: 'amount',
  4651          internalType: 'uint256',
  4652          type: 'uint256',
  4653          indexed: false,
  4654        },
  4655        {
  4656          name: 'extraData',
  4657          internalType: 'bytes',
  4658          type: 'bytes',
  4659          indexed: false,
  4660        },
  4661      ],
  4662      name: 'ETHBridgeInitiated',
  4663    },
  4664    {
  4665      type: 'event',
  4666      anonymous: false,
  4667      inputs: [
  4668        {
  4669          name: 'l1Token',
  4670          internalType: 'address',
  4671          type: 'address',
  4672          indexed: true,
  4673        },
  4674        {
  4675          name: 'l2Token',
  4676          internalType: 'address',
  4677          type: 'address',
  4678          indexed: true,
  4679        },
  4680        { name: 'from', internalType: 'address', type: 'address', indexed: true },
  4681        { name: 'to', internalType: 'address', type: 'address', indexed: false },
  4682        {
  4683          name: 'amount',
  4684          internalType: 'uint256',
  4685          type: 'uint256',
  4686          indexed: false,
  4687        },
  4688        {
  4689          name: 'extraData',
  4690          internalType: 'bytes',
  4691          type: 'bytes',
  4692          indexed: false,
  4693        },
  4694      ],
  4695      name: 'WithdrawalInitiated',
  4696    },
  4697    {
  4698      stateMutability: 'view',
  4699      type: 'function',
  4700      inputs: [],
  4701      name: 'OTHER_BRIDGE',
  4702      outputs: [
  4703        { name: '', internalType: 'contract StandardBridge', type: 'address' },
  4704      ],
  4705    },
  4706    {
  4707      stateMutability: 'nonpayable',
  4708      type: 'function',
  4709      inputs: [
  4710        { name: '_localToken', internalType: 'address', type: 'address' },
  4711        { name: '_remoteToken', internalType: 'address', type: 'address' },
  4712        { name: '_amount', internalType: 'uint256', type: 'uint256' },
  4713        { name: '_minGasLimit', internalType: 'uint32', type: 'uint32' },
  4714        { name: '_extraData', internalType: 'bytes', type: 'bytes' },
  4715      ],
  4716      name: 'bridgeERC20',
  4717      outputs: [],
  4718    },
  4719    {
  4720      stateMutability: 'nonpayable',
  4721      type: 'function',
  4722      inputs: [
  4723        { name: '_localToken', internalType: 'address', type: 'address' },
  4724        { name: '_remoteToken', internalType: 'address', type: 'address' },
  4725        { name: '_to', internalType: 'address', type: 'address' },
  4726        { name: '_amount', internalType: 'uint256', type: 'uint256' },
  4727        { name: '_minGasLimit', internalType: 'uint32', type: 'uint32' },
  4728        { name: '_extraData', internalType: 'bytes', type: 'bytes' },
  4729      ],
  4730      name: 'bridgeERC20To',
  4731      outputs: [],
  4732    },
  4733    {
  4734      stateMutability: 'payable',
  4735      type: 'function',
  4736      inputs: [
  4737        { name: '_minGasLimit', internalType: 'uint32', type: 'uint32' },
  4738        { name: '_extraData', internalType: 'bytes', type: 'bytes' },
  4739      ],
  4740      name: 'bridgeETH',
  4741      outputs: [],
  4742    },
  4743    {
  4744      stateMutability: 'payable',
  4745      type: 'function',
  4746      inputs: [
  4747        { name: '_to', internalType: 'address', type: 'address' },
  4748        { name: '_minGasLimit', internalType: 'uint32', type: 'uint32' },
  4749        { name: '_extraData', internalType: 'bytes', type: 'bytes' },
  4750      ],
  4751      name: 'bridgeETHTo',
  4752      outputs: [],
  4753    },
  4754    {
  4755      stateMutability: 'view',
  4756      type: 'function',
  4757      inputs: [
  4758        { name: '', internalType: 'address', type: 'address' },
  4759        { name: '', internalType: 'address', type: 'address' },
  4760      ],
  4761      name: 'deposits',
  4762      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  4763    },
  4764    {
  4765      stateMutability: 'nonpayable',
  4766      type: 'function',
  4767      inputs: [
  4768        { name: '_localToken', internalType: 'address', type: 'address' },
  4769        { name: '_remoteToken', internalType: 'address', type: 'address' },
  4770        { name: '_from', internalType: 'address', type: 'address' },
  4771        { name: '_to', internalType: 'address', type: 'address' },
  4772        { name: '_amount', internalType: 'uint256', type: 'uint256' },
  4773        { name: '_extraData', internalType: 'bytes', type: 'bytes' },
  4774      ],
  4775      name: 'finalizeBridgeERC20',
  4776      outputs: [],
  4777    },
  4778    {
  4779      stateMutability: 'payable',
  4780      type: 'function',
  4781      inputs: [
  4782        { name: '_from', internalType: 'address', type: 'address' },
  4783        { name: '_to', internalType: 'address', type: 'address' },
  4784        { name: '_amount', internalType: 'uint256', type: 'uint256' },
  4785        { name: '_extraData', internalType: 'bytes', type: 'bytes' },
  4786      ],
  4787      name: 'finalizeBridgeETH',
  4788      outputs: [],
  4789    },
  4790    {
  4791      stateMutability: 'payable',
  4792      type: 'function',
  4793      inputs: [
  4794        { name: '_l1Token', internalType: 'address', type: 'address' },
  4795        { name: '_l2Token', internalType: 'address', type: 'address' },
  4796        { name: '_from', internalType: 'address', type: 'address' },
  4797        { name: '_to', internalType: 'address', type: 'address' },
  4798        { name: '_amount', internalType: 'uint256', type: 'uint256' },
  4799        { name: '_extraData', internalType: 'bytes', type: 'bytes' },
  4800      ],
  4801      name: 'finalizeDeposit',
  4802      outputs: [],
  4803    },
  4804    {
  4805      stateMutability: 'view',
  4806      type: 'function',
  4807      inputs: [],
  4808      name: 'l1TokenBridge',
  4809      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  4810    },
  4811    {
  4812      stateMutability: 'view',
  4813      type: 'function',
  4814      inputs: [],
  4815      name: 'messenger',
  4816      outputs: [
  4817        {
  4818          name: '',
  4819          internalType: 'contract CrossDomainMessenger',
  4820          type: 'address',
  4821        },
  4822      ],
  4823    },
  4824    {
  4825      stateMutability: 'view',
  4826      type: 'function',
  4827      inputs: [],
  4828      name: 'version',
  4829      outputs: [{ name: '', internalType: 'string', type: 'string' }],
  4830    },
  4831    {
  4832      stateMutability: 'payable',
  4833      type: 'function',
  4834      inputs: [
  4835        { name: '_l2Token', internalType: 'address', type: 'address' },
  4836        { name: '_amount', internalType: 'uint256', type: 'uint256' },
  4837        { name: '_minGasLimit', internalType: 'uint32', type: 'uint32' },
  4838        { name: '_extraData', internalType: 'bytes', type: 'bytes' },
  4839      ],
  4840      name: 'withdraw',
  4841      outputs: [],
  4842    },
  4843    {
  4844      stateMutability: 'payable',
  4845      type: 'function',
  4846      inputs: [
  4847        { name: '_l2Token', internalType: 'address', type: 'address' },
  4848        { name: '_to', internalType: 'address', type: 'address' },
  4849        { name: '_amount', internalType: 'uint256', type: 'uint256' },
  4850        { name: '_minGasLimit', internalType: 'uint32', type: 'uint32' },
  4851        { name: '_extraData', internalType: 'bytes', type: 'bytes' },
  4852      ],
  4853      name: 'withdrawTo',
  4854      outputs: [],
  4855    },
  4856    { stateMutability: 'payable', type: 'receive' },
  4857  ] as const
  4858  
  4859  /**
  4860   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000010)
  4861   */
  4862  export const l2StandardBridgeAddress = {
  4863    420: '0x4200000000000000000000000000000000000010',
  4864  } as const
  4865  
  4866  /**
  4867   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000010)
  4868   */
  4869  export const l2StandardBridgeConfig = {
  4870    address: l2StandardBridgeAddress,
  4871    abi: l2StandardBridgeABI,
  4872  } as const
  4873  
  4874  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  4875  // L2ToL1MessagePasser
  4876  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  4877  
  4878  /**
  4879   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000016)
  4880   */
  4881  export const l2ToL1MessagePasserABI = [
  4882    { stateMutability: 'nonpayable', type: 'constructor', inputs: [] },
  4883    {
  4884      type: 'event',
  4885      anonymous: false,
  4886      inputs: [
  4887        {
  4888          name: 'nonce',
  4889          internalType: 'uint256',
  4890          type: 'uint256',
  4891          indexed: true,
  4892        },
  4893        {
  4894          name: 'sender',
  4895          internalType: 'address',
  4896          type: 'address',
  4897          indexed: true,
  4898        },
  4899        {
  4900          name: 'target',
  4901          internalType: 'address',
  4902          type: 'address',
  4903          indexed: true,
  4904        },
  4905        {
  4906          name: 'value',
  4907          internalType: 'uint256',
  4908          type: 'uint256',
  4909          indexed: false,
  4910        },
  4911        {
  4912          name: 'gasLimit',
  4913          internalType: 'uint256',
  4914          type: 'uint256',
  4915          indexed: false,
  4916        },
  4917        { name: 'data', internalType: 'bytes', type: 'bytes', indexed: false },
  4918        {
  4919          name: 'withdrawalHash',
  4920          internalType: 'bytes32',
  4921          type: 'bytes32',
  4922          indexed: false,
  4923        },
  4924      ],
  4925      name: 'MessagePassed',
  4926    },
  4927    {
  4928      type: 'event',
  4929      anonymous: false,
  4930      inputs: [
  4931        {
  4932          name: 'amount',
  4933          internalType: 'uint256',
  4934          type: 'uint256',
  4935          indexed: true,
  4936        },
  4937      ],
  4938      name: 'WithdrawerBalanceBurnt',
  4939    },
  4940    {
  4941      stateMutability: 'view',
  4942      type: 'function',
  4943      inputs: [],
  4944      name: 'MESSAGE_VERSION',
  4945      outputs: [{ name: '', internalType: 'uint16', type: 'uint16' }],
  4946    },
  4947    {
  4948      stateMutability: 'nonpayable',
  4949      type: 'function',
  4950      inputs: [],
  4951      name: 'burn',
  4952      outputs: [],
  4953    },
  4954    {
  4955      stateMutability: 'payable',
  4956      type: 'function',
  4957      inputs: [
  4958        { name: '_target', internalType: 'address', type: 'address' },
  4959        { name: '_gasLimit', internalType: 'uint256', type: 'uint256' },
  4960        { name: '_data', internalType: 'bytes', type: 'bytes' },
  4961      ],
  4962      name: 'initiateWithdrawal',
  4963      outputs: [],
  4964    },
  4965    {
  4966      stateMutability: 'view',
  4967      type: 'function',
  4968      inputs: [],
  4969      name: 'messageNonce',
  4970      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  4971    },
  4972    {
  4973      stateMutability: 'view',
  4974      type: 'function',
  4975      inputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
  4976      name: 'sentMessages',
  4977      outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
  4978    },
  4979    {
  4980      stateMutability: 'view',
  4981      type: 'function',
  4982      inputs: [],
  4983      name: 'version',
  4984      outputs: [{ name: '', internalType: 'string', type: 'string' }],
  4985    },
  4986    { stateMutability: 'payable', type: 'receive' },
  4987  ] as const
  4988  
  4989  /**
  4990   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000016)
  4991   */
  4992  export const l2ToL1MessagePasserAddress = {
  4993    420: '0x4200000000000000000000000000000000000016',
  4994  } as const
  4995  
  4996  /**
  4997   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000016)
  4998   */
  4999  export const l2ToL1MessagePasserConfig = {
  5000    address: l2ToL1MessagePasserAddress,
  5001    abi: l2ToL1MessagePasserABI,
  5002  } as const
  5003  
  5004  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  5005  // MintManager
  5006  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  5007  
  5008  /**
  5009   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x5C4e7Ba1E219E47948e6e3F55019A647bA501005)
  5010   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x038a8825A3C3B0c08d52Cc76E5E361953Cf6Dc76)
  5011   */
  5012  export const mintManagerABI = [
  5013    {
  5014      stateMutability: 'nonpayable',
  5015      type: 'constructor',
  5016      inputs: [
  5017        { name: '_upgrader', internalType: 'address', type: 'address' },
  5018        { name: '_governanceToken', internalType: 'address', type: 'address' },
  5019      ],
  5020    },
  5021    {
  5022      type: 'event',
  5023      anonymous: false,
  5024      inputs: [
  5025        {
  5026          name: 'previousOwner',
  5027          internalType: 'address',
  5028          type: 'address',
  5029          indexed: true,
  5030        },
  5031        {
  5032          name: 'newOwner',
  5033          internalType: 'address',
  5034          type: 'address',
  5035          indexed: true,
  5036        },
  5037      ],
  5038      name: 'OwnershipTransferred',
  5039    },
  5040    {
  5041      stateMutability: 'view',
  5042      type: 'function',
  5043      inputs: [],
  5044      name: 'DENOMINATOR',
  5045      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  5046    },
  5047    {
  5048      stateMutability: 'view',
  5049      type: 'function',
  5050      inputs: [],
  5051      name: 'MINT_CAP',
  5052      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  5053    },
  5054    {
  5055      stateMutability: 'view',
  5056      type: 'function',
  5057      inputs: [],
  5058      name: 'MINT_PERIOD',
  5059      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  5060    },
  5061    {
  5062      stateMutability: 'view',
  5063      type: 'function',
  5064      inputs: [],
  5065      name: 'governanceToken',
  5066      outputs: [
  5067        { name: '', internalType: 'contract GovernanceToken', type: 'address' },
  5068      ],
  5069    },
  5070    {
  5071      stateMutability: 'nonpayable',
  5072      type: 'function',
  5073      inputs: [
  5074        { name: '_account', internalType: 'address', type: 'address' },
  5075        { name: '_amount', internalType: 'uint256', type: 'uint256' },
  5076      ],
  5077      name: 'mint',
  5078      outputs: [],
  5079    },
  5080    {
  5081      stateMutability: 'view',
  5082      type: 'function',
  5083      inputs: [],
  5084      name: 'mintPermittedAfter',
  5085      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  5086    },
  5087    {
  5088      stateMutability: 'view',
  5089      type: 'function',
  5090      inputs: [],
  5091      name: 'owner',
  5092      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  5093    },
  5094    {
  5095      stateMutability: 'nonpayable',
  5096      type: 'function',
  5097      inputs: [],
  5098      name: 'renounceOwnership',
  5099      outputs: [],
  5100    },
  5101    {
  5102      stateMutability: 'nonpayable',
  5103      type: 'function',
  5104      inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
  5105      name: 'transferOwnership',
  5106      outputs: [],
  5107    },
  5108    {
  5109      stateMutability: 'nonpayable',
  5110      type: 'function',
  5111      inputs: [
  5112        { name: '_newMintManager', internalType: 'address', type: 'address' },
  5113      ],
  5114      name: 'upgrade',
  5115      outputs: [],
  5116    },
  5117  ] as const
  5118  
  5119  /**
  5120   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x5C4e7Ba1E219E47948e6e3F55019A647bA501005)
  5121   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x038a8825A3C3B0c08d52Cc76E5E361953Cf6Dc76)
  5122   */
  5123  export const mintManagerAddress = {
  5124    10: '0x5C4e7Ba1E219E47948e6e3F55019A647bA501005',
  5125    420: '0x038a8825A3C3B0c08d52Cc76E5E361953Cf6Dc76',
  5126  } as const
  5127  
  5128  /**
  5129   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x5C4e7Ba1E219E47948e6e3F55019A647bA501005)
  5130   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x038a8825A3C3B0c08d52Cc76E5E361953Cf6Dc76)
  5131   */
  5132  export const mintManagerConfig = {
  5133    address: mintManagerAddress,
  5134    abi: mintManagerABI,
  5135  } as const
  5136  
  5137  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  5138  // OptimismMintableERC20Factory
  5139  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  5140  
  5141  /**
  5142   * [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x4200000000000000000000000000000000000012)
  5143   */
  5144  export const optimismMintableErc20FactoryABI = [
  5145    { stateMutability: 'nonpayable', type: 'constructor', inputs: [] },
  5146    {
  5147      type: 'event',
  5148      anonymous: false,
  5149      inputs: [
  5150        { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },
  5151      ],
  5152      name: 'Initialized',
  5153    },
  5154    {
  5155      type: 'event',
  5156      anonymous: false,
  5157      inputs: [
  5158        {
  5159          name: 'localToken',
  5160          internalType: 'address',
  5161          type: 'address',
  5162          indexed: true,
  5163        },
  5164        {
  5165          name: 'remoteToken',
  5166          internalType: 'address',
  5167          type: 'address',
  5168          indexed: true,
  5169        },
  5170        {
  5171          name: 'deployer',
  5172          internalType: 'address',
  5173          type: 'address',
  5174          indexed: false,
  5175        },
  5176      ],
  5177      name: 'OptimismMintableERC20Created',
  5178    },
  5179    {
  5180      type: 'event',
  5181      anonymous: false,
  5182      inputs: [
  5183        {
  5184          name: 'remoteToken',
  5185          internalType: 'address',
  5186          type: 'address',
  5187          indexed: true,
  5188        },
  5189        {
  5190          name: 'localToken',
  5191          internalType: 'address',
  5192          type: 'address',
  5193          indexed: true,
  5194        },
  5195      ],
  5196      name: 'StandardL2TokenCreated',
  5197    },
  5198    {
  5199      stateMutability: 'view',
  5200      type: 'function',
  5201      inputs: [],
  5202      name: 'bridge',
  5203      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  5204    },
  5205    {
  5206      stateMutability: 'nonpayable',
  5207      type: 'function',
  5208      inputs: [
  5209        { name: '_remoteToken', internalType: 'address', type: 'address' },
  5210        { name: '_name', internalType: 'string', type: 'string' },
  5211        { name: '_symbol', internalType: 'string', type: 'string' },
  5212      ],
  5213      name: 'createOptimismMintableERC20',
  5214      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  5215    },
  5216    {
  5217      stateMutability: 'nonpayable',
  5218      type: 'function',
  5219      inputs: [
  5220        { name: '_remoteToken', internalType: 'address', type: 'address' },
  5221        { name: '_name', internalType: 'string', type: 'string' },
  5222        { name: '_symbol', internalType: 'string', type: 'string' },
  5223        { name: '_decimals', internalType: 'uint8', type: 'uint8' },
  5224      ],
  5225      name: 'createOptimismMintableERC20WithDecimals',
  5226      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  5227    },
  5228    {
  5229      stateMutability: 'nonpayable',
  5230      type: 'function',
  5231      inputs: [
  5232        { name: '_remoteToken', internalType: 'address', type: 'address' },
  5233        { name: '_name', internalType: 'string', type: 'string' },
  5234        { name: '_symbol', internalType: 'string', type: 'string' },
  5235      ],
  5236      name: 'createStandardL2Token',
  5237      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  5238    },
  5239    {
  5240      stateMutability: 'nonpayable',
  5241      type: 'function',
  5242      inputs: [{ name: '_bridge', internalType: 'address', type: 'address' }],
  5243      name: 'initialize',
  5244      outputs: [],
  5245    },
  5246    {
  5247      stateMutability: 'view',
  5248      type: 'function',
  5249      inputs: [],
  5250      name: 'version',
  5251      outputs: [{ name: '', internalType: 'string', type: 'string' }],
  5252    },
  5253  ] as const
  5254  
  5255  /**
  5256   * [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x4200000000000000000000000000000000000012)
  5257   */
  5258  export const optimismMintableErc20FactoryAddress = {
  5259    1: '0x4200000000000000000000000000000000000012',
  5260  } as const
  5261  
  5262  /**
  5263   * [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x4200000000000000000000000000000000000012)
  5264   */
  5265  export const optimismMintableErc20FactoryConfig = {
  5266    address: optimismMintableErc20FactoryAddress,
  5267    abi: optimismMintableErc20FactoryABI,
  5268  } as const
  5269  
  5270  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  5271  // OptimismMintableERC20Factory_goerli
  5272  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  5273  
  5274  /**
  5275   * [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x4200000000000000000000000000000000000012)
  5276   */
  5277  export const optimismMintableErc20FactoryGoerliABI = [
  5278    { stateMutability: 'nonpayable', type: 'constructor', inputs: [] },
  5279    {
  5280      type: 'event',
  5281      anonymous: false,
  5282      inputs: [
  5283        { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },
  5284      ],
  5285      name: 'Initialized',
  5286    },
  5287    {
  5288      type: 'event',
  5289      anonymous: false,
  5290      inputs: [
  5291        {
  5292          name: 'localToken',
  5293          internalType: 'address',
  5294          type: 'address',
  5295          indexed: true,
  5296        },
  5297        {
  5298          name: 'remoteToken',
  5299          internalType: 'address',
  5300          type: 'address',
  5301          indexed: true,
  5302        },
  5303        {
  5304          name: 'deployer',
  5305          internalType: 'address',
  5306          type: 'address',
  5307          indexed: false,
  5308        },
  5309      ],
  5310      name: 'OptimismMintableERC20Created',
  5311    },
  5312    {
  5313      type: 'event',
  5314      anonymous: false,
  5315      inputs: [
  5316        {
  5317          name: 'remoteToken',
  5318          internalType: 'address',
  5319          type: 'address',
  5320          indexed: true,
  5321        },
  5322        {
  5323          name: 'localToken',
  5324          internalType: 'address',
  5325          type: 'address',
  5326          indexed: true,
  5327        },
  5328      ],
  5329      name: 'StandardL2TokenCreated',
  5330    },
  5331    {
  5332      stateMutability: 'view',
  5333      type: 'function',
  5334      inputs: [],
  5335      name: 'bridge',
  5336      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  5337    },
  5338    {
  5339      stateMutability: 'nonpayable',
  5340      type: 'function',
  5341      inputs: [
  5342        { name: '_remoteToken', internalType: 'address', type: 'address' },
  5343        { name: '_name', internalType: 'string', type: 'string' },
  5344        { name: '_symbol', internalType: 'string', type: 'string' },
  5345      ],
  5346      name: 'createOptimismMintableERC20',
  5347      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  5348    },
  5349    {
  5350      stateMutability: 'nonpayable',
  5351      type: 'function',
  5352      inputs: [
  5353        { name: '_remoteToken', internalType: 'address', type: 'address' },
  5354        { name: '_name', internalType: 'string', type: 'string' },
  5355        { name: '_symbol', internalType: 'string', type: 'string' },
  5356        { name: '_decimals', internalType: 'uint8', type: 'uint8' },
  5357      ],
  5358      name: 'createOptimismMintableERC20WithDecimals',
  5359      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  5360    },
  5361    {
  5362      stateMutability: 'nonpayable',
  5363      type: 'function',
  5364      inputs: [
  5365        { name: '_remoteToken', internalType: 'address', type: 'address' },
  5366        { name: '_name', internalType: 'string', type: 'string' },
  5367        { name: '_symbol', internalType: 'string', type: 'string' },
  5368      ],
  5369      name: 'createStandardL2Token',
  5370      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  5371    },
  5372    {
  5373      stateMutability: 'nonpayable',
  5374      type: 'function',
  5375      inputs: [{ name: '_bridge', internalType: 'address', type: 'address' }],
  5376      name: 'initialize',
  5377      outputs: [],
  5378    },
  5379    {
  5380      stateMutability: 'view',
  5381      type: 'function',
  5382      inputs: [],
  5383      name: 'version',
  5384      outputs: [{ name: '', internalType: 'string', type: 'string' }],
  5385    },
  5386  ] as const
  5387  
  5388  /**
  5389   * [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x4200000000000000000000000000000000000012)
  5390   */
  5391  export const optimismMintableErc20FactoryGoerliAddress = {
  5392    5: '0x4200000000000000000000000000000000000012',
  5393  } as const
  5394  
  5395  /**
  5396   * [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x4200000000000000000000000000000000000012)
  5397   */
  5398  export const optimismMintableErc20FactoryGoerliConfig = {
  5399    address: optimismMintableErc20FactoryGoerliAddress,
  5400    abi: optimismMintableErc20FactoryGoerliABI,
  5401  } as const
  5402  
  5403  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  5404  // OptimismMintableERC20Factory_optimism-goerli
  5405  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  5406  
  5407  /**
  5408   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000012)
  5409   */
  5410  export const optimismMintableErc20FactoryOptimismGoerliABI = [
  5411    {
  5412      stateMutability: 'nonpayable',
  5413      type: 'constructor',
  5414      inputs: [{ name: '_bridge', internalType: 'address', type: 'address' }],
  5415    },
  5416    {
  5417      type: 'event',
  5418      anonymous: false,
  5419      inputs: [
  5420        {
  5421          name: 'localToken',
  5422          internalType: 'address',
  5423          type: 'address',
  5424          indexed: true,
  5425        },
  5426        {
  5427          name: 'remoteToken',
  5428          internalType: 'address',
  5429          type: 'address',
  5430          indexed: true,
  5431        },
  5432        {
  5433          name: 'deployer',
  5434          internalType: 'address',
  5435          type: 'address',
  5436          indexed: false,
  5437        },
  5438      ],
  5439      name: 'OptimismMintableERC20Created',
  5440    },
  5441    {
  5442      type: 'event',
  5443      anonymous: false,
  5444      inputs: [
  5445        {
  5446          name: 'remoteToken',
  5447          internalType: 'address',
  5448          type: 'address',
  5449          indexed: true,
  5450        },
  5451        {
  5452          name: 'localToken',
  5453          internalType: 'address',
  5454          type: 'address',
  5455          indexed: true,
  5456        },
  5457      ],
  5458      name: 'StandardL2TokenCreated',
  5459    },
  5460    {
  5461      stateMutability: 'view',
  5462      type: 'function',
  5463      inputs: [],
  5464      name: 'BRIDGE',
  5465      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  5466    },
  5467    {
  5468      stateMutability: 'nonpayable',
  5469      type: 'function',
  5470      inputs: [
  5471        { name: '_remoteToken', internalType: 'address', type: 'address' },
  5472        { name: '_name', internalType: 'string', type: 'string' },
  5473        { name: '_symbol', internalType: 'string', type: 'string' },
  5474      ],
  5475      name: 'createOptimismMintableERC20',
  5476      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  5477    },
  5478    {
  5479      stateMutability: 'nonpayable',
  5480      type: 'function',
  5481      inputs: [
  5482        { name: '_remoteToken', internalType: 'address', type: 'address' },
  5483        { name: '_name', internalType: 'string', type: 'string' },
  5484        { name: '_symbol', internalType: 'string', type: 'string' },
  5485      ],
  5486      name: 'createStandardL2Token',
  5487      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  5488    },
  5489    {
  5490      stateMutability: 'view',
  5491      type: 'function',
  5492      inputs: [],
  5493      name: 'version',
  5494      outputs: [{ name: '', internalType: 'string', type: 'string' }],
  5495    },
  5496  ] as const
  5497  
  5498  /**
  5499   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000012)
  5500   */
  5501  export const optimismMintableErc20FactoryOptimismGoerliAddress = {
  5502    420: '0x4200000000000000000000000000000000000012',
  5503  } as const
  5504  
  5505  /**
  5506   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000012)
  5507   */
  5508  export const optimismMintableErc20FactoryOptimismGoerliConfig = {
  5509    address: optimismMintableErc20FactoryOptimismGoerliAddress,
  5510    abi: optimismMintableErc20FactoryOptimismGoerliABI,
  5511  } as const
  5512  
  5513  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  5514  // OptimismMintableERC721Factory
  5515  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  5516  
  5517  /**
  5518   * [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x4200000000000000000000000000000000000017)
  5519   */
  5520  export const optimismMintableErc721FactoryABI = [
  5521    {
  5522      stateMutability: 'nonpayable',
  5523      type: 'constructor',
  5524      inputs: [
  5525        { name: '_bridge', internalType: 'address', type: 'address' },
  5526        { name: '_remoteChainId', internalType: 'uint256', type: 'uint256' },
  5527      ],
  5528    },
  5529    {
  5530      type: 'event',
  5531      anonymous: false,
  5532      inputs: [
  5533        {
  5534          name: 'localToken',
  5535          internalType: 'address',
  5536          type: 'address',
  5537          indexed: true,
  5538        },
  5539        {
  5540          name: 'remoteToken',
  5541          internalType: 'address',
  5542          type: 'address',
  5543          indexed: true,
  5544        },
  5545        {
  5546          name: 'deployer',
  5547          internalType: 'address',
  5548          type: 'address',
  5549          indexed: false,
  5550        },
  5551      ],
  5552      name: 'OptimismMintableERC721Created',
  5553    },
  5554    {
  5555      stateMutability: 'view',
  5556      type: 'function',
  5557      inputs: [],
  5558      name: 'bridge',
  5559      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  5560    },
  5561    {
  5562      stateMutability: 'nonpayable',
  5563      type: 'function',
  5564      inputs: [
  5565        { name: '_remoteToken', internalType: 'address', type: 'address' },
  5566        { name: '_name', internalType: 'string', type: 'string' },
  5567        { name: '_symbol', internalType: 'string', type: 'string' },
  5568      ],
  5569      name: 'createOptimismMintableERC721',
  5570      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  5571    },
  5572    {
  5573      stateMutability: 'view',
  5574      type: 'function',
  5575      inputs: [{ name: '', internalType: 'address', type: 'address' }],
  5576      name: 'isOptimismMintableERC721',
  5577      outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
  5578    },
  5579    {
  5580      stateMutability: 'view',
  5581      type: 'function',
  5582      inputs: [],
  5583      name: 'remoteChainId',
  5584      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  5585    },
  5586    {
  5587      stateMutability: 'view',
  5588      type: 'function',
  5589      inputs: [],
  5590      name: 'version',
  5591      outputs: [{ name: '', internalType: 'string', type: 'string' }],
  5592    },
  5593  ] as const
  5594  
  5595  /**
  5596   * [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x4200000000000000000000000000000000000017)
  5597   */
  5598  export const optimismMintableErc721FactoryAddress = {
  5599    10: '0x4200000000000000000000000000000000000017',
  5600  } as const
  5601  
  5602  /**
  5603   * [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x4200000000000000000000000000000000000017)
  5604   */
  5605  export const optimismMintableErc721FactoryConfig = {
  5606    address: optimismMintableErc721FactoryAddress,
  5607    abi: optimismMintableErc721FactoryABI,
  5608  } as const
  5609  
  5610  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  5611  // OptimismMintableERC721Factory_optimism-goerli
  5612  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  5613  
  5614  /**
  5615   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000017)
  5616   */
  5617  export const optimismMintableErc721FactoryOptimismGoerliABI = [
  5618    {
  5619      stateMutability: 'nonpayable',
  5620      type: 'constructor',
  5621      inputs: [
  5622        { name: '_bridge', internalType: 'address', type: 'address' },
  5623        { name: '_remoteChainId', internalType: 'uint256', type: 'uint256' },
  5624      ],
  5625    },
  5626    {
  5627      type: 'event',
  5628      anonymous: false,
  5629      inputs: [
  5630        {
  5631          name: 'localToken',
  5632          internalType: 'address',
  5633          type: 'address',
  5634          indexed: true,
  5635        },
  5636        {
  5637          name: 'remoteToken',
  5638          internalType: 'address',
  5639          type: 'address',
  5640          indexed: true,
  5641        },
  5642        {
  5643          name: 'deployer',
  5644          internalType: 'address',
  5645          type: 'address',
  5646          indexed: false,
  5647        },
  5648      ],
  5649      name: 'OptimismMintableERC721Created',
  5650    },
  5651    {
  5652      stateMutability: 'view',
  5653      type: 'function',
  5654      inputs: [],
  5655      name: 'BRIDGE',
  5656      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  5657    },
  5658    {
  5659      stateMutability: 'view',
  5660      type: 'function',
  5661      inputs: [],
  5662      name: 'REMOTE_CHAIN_ID',
  5663      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  5664    },
  5665    {
  5666      stateMutability: 'nonpayable',
  5667      type: 'function',
  5668      inputs: [
  5669        { name: '_remoteToken', internalType: 'address', type: 'address' },
  5670        { name: '_name', internalType: 'string', type: 'string' },
  5671        { name: '_symbol', internalType: 'string', type: 'string' },
  5672      ],
  5673      name: 'createOptimismMintableERC721',
  5674      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  5675    },
  5676    {
  5677      stateMutability: 'view',
  5678      type: 'function',
  5679      inputs: [{ name: '', internalType: 'address', type: 'address' }],
  5680      name: 'isOptimismMintableERC721',
  5681      outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
  5682    },
  5683    {
  5684      stateMutability: 'view',
  5685      type: 'function',
  5686      inputs: [],
  5687      name: 'version',
  5688      outputs: [{ name: '', internalType: 'string', type: 'string' }],
  5689    },
  5690  ] as const
  5691  
  5692  /**
  5693   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000017)
  5694   */
  5695  export const optimismMintableErc721FactoryOptimismGoerliAddress = {
  5696    420: '0x4200000000000000000000000000000000000017',
  5697  } as const
  5698  
  5699  /**
  5700   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000017)
  5701   */
  5702  export const optimismMintableErc721FactoryOptimismGoerliConfig = {
  5703    address: optimismMintableErc721FactoryOptimismGoerliAddress,
  5704    abi: optimismMintableErc721FactoryOptimismGoerliABI,
  5705  } as const
  5706  
  5707  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  5708  // OptimismPortal
  5709  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  5710  
  5711  /**
  5712   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0xbEb5Fc579115071764c7423A4f12eDde41f106Ed)
  5713   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x5b47E1A08Ea6d985D6649300584e6722Ec4B1383)
  5714   */
  5715  export const optimismPortalABI = [
  5716    { stateMutability: 'nonpayable', type: 'constructor', inputs: [] },
  5717    {
  5718      type: 'event',
  5719      anonymous: false,
  5720      inputs: [
  5721        { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },
  5722      ],
  5723      name: 'Initialized',
  5724    },
  5725    {
  5726      type: 'event',
  5727      anonymous: false,
  5728      inputs: [
  5729        {
  5730          name: 'account',
  5731          internalType: 'address',
  5732          type: 'address',
  5733          indexed: false,
  5734        },
  5735      ],
  5736      name: 'Paused',
  5737    },
  5738    {
  5739      type: 'event',
  5740      anonymous: false,
  5741      inputs: [
  5742        { name: 'from', internalType: 'address', type: 'address', indexed: true },
  5743        { name: 'to', internalType: 'address', type: 'address', indexed: true },
  5744        {
  5745          name: 'version',
  5746          internalType: 'uint256',
  5747          type: 'uint256',
  5748          indexed: true,
  5749        },
  5750        {
  5751          name: 'opaqueData',
  5752          internalType: 'bytes',
  5753          type: 'bytes',
  5754          indexed: false,
  5755        },
  5756      ],
  5757      name: 'TransactionDeposited',
  5758    },
  5759    {
  5760      type: 'event',
  5761      anonymous: false,
  5762      inputs: [
  5763        {
  5764          name: 'account',
  5765          internalType: 'address',
  5766          type: 'address',
  5767          indexed: false,
  5768        },
  5769      ],
  5770      name: 'Unpaused',
  5771    },
  5772    {
  5773      type: 'event',
  5774      anonymous: false,
  5775      inputs: [
  5776        {
  5777          name: 'withdrawalHash',
  5778          internalType: 'bytes32',
  5779          type: 'bytes32',
  5780          indexed: true,
  5781        },
  5782        { name: 'success', internalType: 'bool', type: 'bool', indexed: false },
  5783      ],
  5784      name: 'WithdrawalFinalized',
  5785    },
  5786    {
  5787      type: 'event',
  5788      anonymous: false,
  5789      inputs: [
  5790        {
  5791          name: 'withdrawalHash',
  5792          internalType: 'bytes32',
  5793          type: 'bytes32',
  5794          indexed: true,
  5795        },
  5796        { name: 'from', internalType: 'address', type: 'address', indexed: true },
  5797        { name: 'to', internalType: 'address', type: 'address', indexed: true },
  5798      ],
  5799      name: 'WithdrawalProven',
  5800    },
  5801    {
  5802      stateMutability: 'payable',
  5803      type: 'function',
  5804      inputs: [
  5805        { name: '_to', internalType: 'address', type: 'address' },
  5806        { name: '_value', internalType: 'uint256', type: 'uint256' },
  5807        { name: '_gasLimit', internalType: 'uint64', type: 'uint64' },
  5808        { name: '_isCreation', internalType: 'bool', type: 'bool' },
  5809        { name: '_data', internalType: 'bytes', type: 'bytes' },
  5810      ],
  5811      name: 'depositTransaction',
  5812      outputs: [],
  5813    },
  5814    {
  5815      stateMutability: 'payable',
  5816      type: 'function',
  5817      inputs: [],
  5818      name: 'donateETH',
  5819      outputs: [],
  5820    },
  5821    {
  5822      stateMutability: 'nonpayable',
  5823      type: 'function',
  5824      inputs: [
  5825        {
  5826          name: '_tx',
  5827          internalType: 'struct Types.WithdrawalTransaction',
  5828          type: 'tuple',
  5829          components: [
  5830            { name: 'nonce', internalType: 'uint256', type: 'uint256' },
  5831            { name: 'sender', internalType: 'address', type: 'address' },
  5832            { name: 'target', internalType: 'address', type: 'address' },
  5833            { name: 'value', internalType: 'uint256', type: 'uint256' },
  5834            { name: 'gasLimit', internalType: 'uint256', type: 'uint256' },
  5835            { name: 'data', internalType: 'bytes', type: 'bytes' },
  5836          ],
  5837        },
  5838      ],
  5839      name: 'finalizeWithdrawalTransaction',
  5840      outputs: [],
  5841    },
  5842    {
  5843      stateMutability: 'view',
  5844      type: 'function',
  5845      inputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
  5846      name: 'finalizedWithdrawals',
  5847      outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
  5848    },
  5849    {
  5850      stateMutability: 'view',
  5851      type: 'function',
  5852      inputs: [],
  5853      name: 'guardian',
  5854      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  5855    },
  5856    {
  5857      stateMutability: 'nonpayable',
  5858      type: 'function',
  5859      inputs: [
  5860        {
  5861          name: '_l2Oracle',
  5862          internalType: 'contract L2OutputOracle',
  5863          type: 'address',
  5864        },
  5865        { name: '_guardian', internalType: 'address', type: 'address' },
  5866        {
  5867          name: '_systemConfig',
  5868          internalType: 'contract SystemConfig',
  5869          type: 'address',
  5870        },
  5871        { name: '_paused', internalType: 'bool', type: 'bool' },
  5872      ],
  5873      name: 'initialize',
  5874      outputs: [],
  5875    },
  5876    {
  5877      stateMutability: 'view',
  5878      type: 'function',
  5879      inputs: [
  5880        { name: '_l2OutputIndex', internalType: 'uint256', type: 'uint256' },
  5881      ],
  5882      name: 'isOutputFinalized',
  5883      outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
  5884    },
  5885    {
  5886      stateMutability: 'view',
  5887      type: 'function',
  5888      inputs: [],
  5889      name: 'l2Oracle',
  5890      outputs: [
  5891        { name: '', internalType: 'contract L2OutputOracle', type: 'address' },
  5892      ],
  5893    },
  5894    {
  5895      stateMutability: 'view',
  5896      type: 'function',
  5897      inputs: [],
  5898      name: 'l2Sender',
  5899      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  5900    },
  5901    {
  5902      stateMutability: 'pure',
  5903      type: 'function',
  5904      inputs: [{ name: '_byteCount', internalType: 'uint64', type: 'uint64' }],
  5905      name: 'minimumGasLimit',
  5906      outputs: [{ name: '', internalType: 'uint64', type: 'uint64' }],
  5907    },
  5908    {
  5909      stateMutability: 'view',
  5910      type: 'function',
  5911      inputs: [],
  5912      name: 'params',
  5913      outputs: [
  5914        { name: 'prevBaseFee', internalType: 'uint128', type: 'uint128' },
  5915        { name: 'prevBoughtGas', internalType: 'uint64', type: 'uint64' },
  5916        { name: 'prevBlockNum', internalType: 'uint64', type: 'uint64' },
  5917      ],
  5918    },
  5919    {
  5920      stateMutability: 'nonpayable',
  5921      type: 'function',
  5922      inputs: [],
  5923      name: 'pause',
  5924      outputs: [],
  5925    },
  5926    {
  5927      stateMutability: 'view',
  5928      type: 'function',
  5929      inputs: [],
  5930      name: 'paused',
  5931      outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
  5932    },
  5933    {
  5934      stateMutability: 'nonpayable',
  5935      type: 'function',
  5936      inputs: [
  5937        {
  5938          name: '_tx',
  5939          internalType: 'struct Types.WithdrawalTransaction',
  5940          type: 'tuple',
  5941          components: [
  5942            { name: 'nonce', internalType: 'uint256', type: 'uint256' },
  5943            { name: 'sender', internalType: 'address', type: 'address' },
  5944            { name: 'target', internalType: 'address', type: 'address' },
  5945            { name: 'value', internalType: 'uint256', type: 'uint256' },
  5946            { name: 'gasLimit', internalType: 'uint256', type: 'uint256' },
  5947            { name: 'data', internalType: 'bytes', type: 'bytes' },
  5948          ],
  5949        },
  5950        { name: '_l2OutputIndex', internalType: 'uint256', type: 'uint256' },
  5951        {
  5952          name: '_outputRootProof',
  5953          internalType: 'struct Types.OutputRootProof',
  5954          type: 'tuple',
  5955          components: [
  5956            { name: 'version', internalType: 'bytes32', type: 'bytes32' },
  5957            { name: 'stateRoot', internalType: 'bytes32', type: 'bytes32' },
  5958            {
  5959              name: 'messagePasserStorageRoot',
  5960              internalType: 'bytes32',
  5961              type: 'bytes32',
  5962            },
  5963            { name: 'latestBlockhash', internalType: 'bytes32', type: 'bytes32' },
  5964          ],
  5965        },
  5966        { name: '_withdrawalProof', internalType: 'bytes[]', type: 'bytes[]' },
  5967      ],
  5968      name: 'proveWithdrawalTransaction',
  5969      outputs: [],
  5970    },
  5971    {
  5972      stateMutability: 'view',
  5973      type: 'function',
  5974      inputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
  5975      name: 'provenWithdrawals',
  5976      outputs: [
  5977        { name: 'outputRoot', internalType: 'bytes32', type: 'bytes32' },
  5978        { name: 'timestamp', internalType: 'uint128', type: 'uint128' },
  5979        { name: 'l2OutputIndex', internalType: 'uint128', type: 'uint128' },
  5980      ],
  5981    },
  5982    {
  5983      stateMutability: 'view',
  5984      type: 'function',
  5985      inputs: [],
  5986      name: 'systemConfig',
  5987      outputs: [
  5988        { name: '', internalType: 'contract SystemConfig', type: 'address' },
  5989      ],
  5990    },
  5991    {
  5992      stateMutability: 'nonpayable',
  5993      type: 'function',
  5994      inputs: [],
  5995      name: 'unpause',
  5996      outputs: [],
  5997    },
  5998    {
  5999      stateMutability: 'view',
  6000      type: 'function',
  6001      inputs: [],
  6002      name: 'version',
  6003      outputs: [{ name: '', internalType: 'string', type: 'string' }],
  6004    },
  6005    { stateMutability: 'payable', type: 'receive' },
  6006  ] as const
  6007  
  6008  /**
  6009   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0xbEb5Fc579115071764c7423A4f12eDde41f106Ed)
  6010   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x5b47E1A08Ea6d985D6649300584e6722Ec4B1383)
  6011   */
  6012  export const optimismPortalAddress = {
  6013    1: '0xbEb5Fc579115071764c7423A4f12eDde41f106Ed',
  6014    5: '0x5b47E1A08Ea6d985D6649300584e6722Ec4B1383',
  6015  } as const
  6016  
  6017  /**
  6018   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0xbEb5Fc579115071764c7423A4f12eDde41f106Ed)
  6019   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x5b47E1A08Ea6d985D6649300584e6722Ec4B1383)
  6020   */
  6021  export const optimismPortalConfig = {
  6022    address: optimismPortalAddress,
  6023    abi: optimismPortalABI,
  6024  } as const
  6025  
  6026  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  6027  // Optimist
  6028  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  6029  
  6030  /**
  6031   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x2335022c740d17c2837f9C884Bfe4fFdbf0A95D5)
  6032   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x2335022c740d17c2837f9C884Bfe4fFdbf0A95D5)
  6033   */
  6034  export const optimistABI = [
  6035    {
  6036      stateMutability: 'nonpayable',
  6037      type: 'constructor',
  6038      inputs: [
  6039        { name: '_name', internalType: 'string', type: 'string' },
  6040        { name: '_symbol', internalType: 'string', type: 'string' },
  6041        { name: '_baseURIAttestor', internalType: 'address', type: 'address' },
  6042        {
  6043          name: '_attestationStation',
  6044          internalType: 'contract AttestationStation',
  6045          type: 'address',
  6046        },
  6047        {
  6048          name: '_optimistAllowlist',
  6049          internalType: 'contract OptimistAllowlist',
  6050          type: 'address',
  6051        },
  6052      ],
  6053    },
  6054    {
  6055      type: 'event',
  6056      anonymous: false,
  6057      inputs: [
  6058        {
  6059          name: 'owner',
  6060          internalType: 'address',
  6061          type: 'address',
  6062          indexed: true,
  6063        },
  6064        {
  6065          name: 'approved',
  6066          internalType: 'address',
  6067          type: 'address',
  6068          indexed: true,
  6069        },
  6070        {
  6071          name: 'tokenId',
  6072          internalType: 'uint256',
  6073          type: 'uint256',
  6074          indexed: true,
  6075        },
  6076      ],
  6077      name: 'Approval',
  6078    },
  6079    {
  6080      type: 'event',
  6081      anonymous: false,
  6082      inputs: [
  6083        {
  6084          name: 'owner',
  6085          internalType: 'address',
  6086          type: 'address',
  6087          indexed: true,
  6088        },
  6089        {
  6090          name: 'operator',
  6091          internalType: 'address',
  6092          type: 'address',
  6093          indexed: true,
  6094        },
  6095        { name: 'approved', internalType: 'bool', type: 'bool', indexed: false },
  6096      ],
  6097      name: 'ApprovalForAll',
  6098    },
  6099    {
  6100      type: 'event',
  6101      anonymous: false,
  6102      inputs: [
  6103        { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },
  6104      ],
  6105      name: 'Initialized',
  6106    },
  6107    {
  6108      type: 'event',
  6109      anonymous: false,
  6110      inputs: [
  6111        { name: 'from', internalType: 'address', type: 'address', indexed: true },
  6112        { name: 'to', internalType: 'address', type: 'address', indexed: true },
  6113        {
  6114          name: 'tokenId',
  6115          internalType: 'uint256',
  6116          type: 'uint256',
  6117          indexed: true,
  6118        },
  6119      ],
  6120      name: 'Transfer',
  6121    },
  6122    {
  6123      stateMutability: 'view',
  6124      type: 'function',
  6125      inputs: [],
  6126      name: 'ATTESTATION_STATION',
  6127      outputs: [
  6128        {
  6129          name: '',
  6130          internalType: 'contract AttestationStation',
  6131          type: 'address',
  6132        },
  6133      ],
  6134    },
  6135    {
  6136      stateMutability: 'view',
  6137      type: 'function',
  6138      inputs: [],
  6139      name: 'BASE_URI_ATTESTATION_KEY',
  6140      outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
  6141    },
  6142    {
  6143      stateMutability: 'view',
  6144      type: 'function',
  6145      inputs: [],
  6146      name: 'BASE_URI_ATTESTOR',
  6147      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  6148    },
  6149    {
  6150      stateMutability: 'view',
  6151      type: 'function',
  6152      inputs: [],
  6153      name: 'OPTIMIST_ALLOWLIST',
  6154      outputs: [
  6155        { name: '', internalType: 'contract OptimistAllowlist', type: 'address' },
  6156      ],
  6157    },
  6158    {
  6159      stateMutability: 'pure',
  6160      type: 'function',
  6161      inputs: [
  6162        { name: '', internalType: 'address', type: 'address' },
  6163        { name: '', internalType: 'uint256', type: 'uint256' },
  6164      ],
  6165      name: 'approve',
  6166      outputs: [],
  6167    },
  6168    {
  6169      stateMutability: 'view',
  6170      type: 'function',
  6171      inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],
  6172      name: 'balanceOf',
  6173      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  6174    },
  6175    {
  6176      stateMutability: 'view',
  6177      type: 'function',
  6178      inputs: [],
  6179      name: 'baseURI',
  6180      outputs: [{ name: '', internalType: 'string', type: 'string' }],
  6181    },
  6182    {
  6183      stateMutability: 'nonpayable',
  6184      type: 'function',
  6185      inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],
  6186      name: 'burn',
  6187      outputs: [],
  6188    },
  6189    {
  6190      stateMutability: 'view',
  6191      type: 'function',
  6192      inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],
  6193      name: 'getApproved',
  6194      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  6195    },
  6196    {
  6197      stateMutability: 'nonpayable',
  6198      type: 'function',
  6199      inputs: [
  6200        { name: '_name', internalType: 'string', type: 'string' },
  6201        { name: '_symbol', internalType: 'string', type: 'string' },
  6202      ],
  6203      name: 'initialize',
  6204      outputs: [],
  6205    },
  6206    {
  6207      stateMutability: 'view',
  6208      type: 'function',
  6209      inputs: [
  6210        { name: 'owner', internalType: 'address', type: 'address' },
  6211        { name: 'operator', internalType: 'address', type: 'address' },
  6212      ],
  6213      name: 'isApprovedForAll',
  6214      outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
  6215    },
  6216    {
  6217      stateMutability: 'view',
  6218      type: 'function',
  6219      inputs: [{ name: '_recipient', internalType: 'address', type: 'address' }],
  6220      name: 'isOnAllowList',
  6221      outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
  6222    },
  6223    {
  6224      stateMutability: 'nonpayable',
  6225      type: 'function',
  6226      inputs: [{ name: '_recipient', internalType: 'address', type: 'address' }],
  6227      name: 'mint',
  6228      outputs: [],
  6229    },
  6230    {
  6231      stateMutability: 'view',
  6232      type: 'function',
  6233      inputs: [],
  6234      name: 'name',
  6235      outputs: [{ name: '', internalType: 'string', type: 'string' }],
  6236    },
  6237    {
  6238      stateMutability: 'view',
  6239      type: 'function',
  6240      inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],
  6241      name: 'ownerOf',
  6242      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  6243    },
  6244    {
  6245      stateMutability: 'nonpayable',
  6246      type: 'function',
  6247      inputs: [
  6248        { name: 'from', internalType: 'address', type: 'address' },
  6249        { name: 'to', internalType: 'address', type: 'address' },
  6250        { name: 'tokenId', internalType: 'uint256', type: 'uint256' },
  6251      ],
  6252      name: 'safeTransferFrom',
  6253      outputs: [],
  6254    },
  6255    {
  6256      stateMutability: 'nonpayable',
  6257      type: 'function',
  6258      inputs: [
  6259        { name: 'from', internalType: 'address', type: 'address' },
  6260        { name: 'to', internalType: 'address', type: 'address' },
  6261        { name: 'tokenId', internalType: 'uint256', type: 'uint256' },
  6262        { name: 'data', internalType: 'bytes', type: 'bytes' },
  6263      ],
  6264      name: 'safeTransferFrom',
  6265      outputs: [],
  6266    },
  6267    {
  6268      stateMutability: 'nonpayable',
  6269      type: 'function',
  6270      inputs: [
  6271        { name: '', internalType: 'address', type: 'address' },
  6272        { name: '', internalType: 'bool', type: 'bool' },
  6273      ],
  6274      name: 'setApprovalForAll',
  6275      outputs: [],
  6276    },
  6277    {
  6278      stateMutability: 'view',
  6279      type: 'function',
  6280      inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
  6281      name: 'supportsInterface',
  6282      outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
  6283    },
  6284    {
  6285      stateMutability: 'view',
  6286      type: 'function',
  6287      inputs: [],
  6288      name: 'symbol',
  6289      outputs: [{ name: '', internalType: 'string', type: 'string' }],
  6290    },
  6291    {
  6292      stateMutability: 'pure',
  6293      type: 'function',
  6294      inputs: [{ name: '_owner', internalType: 'address', type: 'address' }],
  6295      name: 'tokenIdOfAddress',
  6296      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  6297    },
  6298    {
  6299      stateMutability: 'view',
  6300      type: 'function',
  6301      inputs: [{ name: '_tokenId', internalType: 'uint256', type: 'uint256' }],
  6302      name: 'tokenURI',
  6303      outputs: [{ name: '', internalType: 'string', type: 'string' }],
  6304    },
  6305    {
  6306      stateMutability: 'nonpayable',
  6307      type: 'function',
  6308      inputs: [
  6309        { name: 'from', internalType: 'address', type: 'address' },
  6310        { name: 'to', internalType: 'address', type: 'address' },
  6311        { name: 'tokenId', internalType: 'uint256', type: 'uint256' },
  6312      ],
  6313      name: 'transferFrom',
  6314      outputs: [],
  6315    },
  6316    {
  6317      stateMutability: 'view',
  6318      type: 'function',
  6319      inputs: [],
  6320      name: 'version',
  6321      outputs: [{ name: '', internalType: 'string', type: 'string' }],
  6322    },
  6323  ] as const
  6324  
  6325  /**
  6326   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x2335022c740d17c2837f9C884Bfe4fFdbf0A95D5)
  6327   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x2335022c740d17c2837f9C884Bfe4fFdbf0A95D5)
  6328   */
  6329  export const optimistAddress = {
  6330    10: '0x2335022c740d17c2837f9C884Bfe4fFdbf0A95D5',
  6331    420: '0x2335022c740d17c2837f9C884Bfe4fFdbf0A95D5',
  6332  } as const
  6333  
  6334  /**
  6335   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x2335022c740d17c2837f9C884Bfe4fFdbf0A95D5)
  6336   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x2335022c740d17c2837f9C884Bfe4fFdbf0A95D5)
  6337   */
  6338  export const optimistConfig = {
  6339    address: optimistAddress,
  6340    abi: optimistABI,
  6341  } as const
  6342  
  6343  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  6344  // OptimistAllowlist
  6345  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  6346  
  6347  /**
  6348   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x482b1945D58f2E9Db0CEbe13c7fcFc6876b41180)
  6349   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x482b1945D58f2E9Db0CEbe13c7fcFc6876b41180)
  6350   */
  6351  export const optimistAllowlistABI = [
  6352    {
  6353      stateMutability: 'nonpayable',
  6354      type: 'constructor',
  6355      inputs: [
  6356        {
  6357          name: '_attestationStation',
  6358          internalType: 'contract AttestationStation',
  6359          type: 'address',
  6360        },
  6361        { name: '_allowlistAttestor', internalType: 'address', type: 'address' },
  6362        {
  6363          name: '_coinbaseQuestAttestor',
  6364          internalType: 'address',
  6365          type: 'address',
  6366        },
  6367        { name: '_optimistInviter', internalType: 'address', type: 'address' },
  6368      ],
  6369    },
  6370    {
  6371      stateMutability: 'view',
  6372      type: 'function',
  6373      inputs: [],
  6374      name: 'ALLOWLIST_ATTESTOR',
  6375      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  6376    },
  6377    {
  6378      stateMutability: 'view',
  6379      type: 'function',
  6380      inputs: [],
  6381      name: 'ATTESTATION_STATION',
  6382      outputs: [
  6383        {
  6384          name: '',
  6385          internalType: 'contract AttestationStation',
  6386          type: 'address',
  6387        },
  6388      ],
  6389    },
  6390    {
  6391      stateMutability: 'view',
  6392      type: 'function',
  6393      inputs: [],
  6394      name: 'COINBASE_QUEST_ATTESTOR',
  6395      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  6396    },
  6397    {
  6398      stateMutability: 'view',
  6399      type: 'function',
  6400      inputs: [],
  6401      name: 'COINBASE_QUEST_ELIGIBLE_ATTESTATION_KEY',
  6402      outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
  6403    },
  6404    {
  6405      stateMutability: 'view',
  6406      type: 'function',
  6407      inputs: [],
  6408      name: 'OPTIMIST_CAN_MINT_ATTESTATION_KEY',
  6409      outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
  6410    },
  6411    {
  6412      stateMutability: 'view',
  6413      type: 'function',
  6414      inputs: [],
  6415      name: 'OPTIMIST_INVITER',
  6416      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  6417    },
  6418    {
  6419      stateMutability: 'view',
  6420      type: 'function',
  6421      inputs: [{ name: '_claimer', internalType: 'address', type: 'address' }],
  6422      name: 'isAllowedToMint',
  6423      outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
  6424    },
  6425    {
  6426      stateMutability: 'view',
  6427      type: 'function',
  6428      inputs: [],
  6429      name: 'version',
  6430      outputs: [{ name: '', internalType: 'string', type: 'string' }],
  6431    },
  6432  ] as const
  6433  
  6434  /**
  6435   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x482b1945D58f2E9Db0CEbe13c7fcFc6876b41180)
  6436   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x482b1945D58f2E9Db0CEbe13c7fcFc6876b41180)
  6437   */
  6438  export const optimistAllowlistAddress = {
  6439    10: '0x482b1945D58f2E9Db0CEbe13c7fcFc6876b41180',
  6440    420: '0x482b1945D58f2E9Db0CEbe13c7fcFc6876b41180',
  6441  } as const
  6442  
  6443  /**
  6444   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x482b1945D58f2E9Db0CEbe13c7fcFc6876b41180)
  6445   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x482b1945D58f2E9Db0CEbe13c7fcFc6876b41180)
  6446   */
  6447  export const optimistAllowlistConfig = {
  6448    address: optimistAllowlistAddress,
  6449    abi: optimistAllowlistABI,
  6450  } as const
  6451  
  6452  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  6453  // OptimistInviter
  6454  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  6455  
  6456  /**
  6457   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x073031A1E1b8F5458Ed41Ce56331F5fd7e1de929)
  6458   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x073031A1E1b8F5458Ed41Ce56331F5fd7e1de929)
  6459   */
  6460  export const optimistInviterABI = [
  6461    {
  6462      stateMutability: 'nonpayable',
  6463      type: 'constructor',
  6464      inputs: [
  6465        { name: '_inviteGranter', internalType: 'address', type: 'address' },
  6466        {
  6467          name: '_attestationStation',
  6468          internalType: 'contract AttestationStation',
  6469          type: 'address',
  6470        },
  6471      ],
  6472    },
  6473    {
  6474      type: 'event',
  6475      anonymous: false,
  6476      inputs: [
  6477        { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },
  6478      ],
  6479      name: 'Initialized',
  6480    },
  6481    {
  6482      type: 'event',
  6483      anonymous: false,
  6484      inputs: [
  6485        {
  6486          name: 'issuer',
  6487          internalType: 'address',
  6488          type: 'address',
  6489          indexed: true,
  6490        },
  6491        {
  6492          name: 'claimer',
  6493          internalType: 'address',
  6494          type: 'address',
  6495          indexed: true,
  6496        },
  6497      ],
  6498      name: 'InviteClaimed',
  6499    },
  6500    {
  6501      stateMutability: 'view',
  6502      type: 'function',
  6503      inputs: [],
  6504      name: 'ATTESTATION_STATION',
  6505      outputs: [
  6506        {
  6507          name: '',
  6508          internalType: 'contract AttestationStation',
  6509          type: 'address',
  6510        },
  6511      ],
  6512    },
  6513    {
  6514      stateMutability: 'view',
  6515      type: 'function',
  6516      inputs: [],
  6517      name: 'CAN_INVITE_ATTESTATION_KEY',
  6518      outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
  6519    },
  6520    {
  6521      stateMutability: 'view',
  6522      type: 'function',
  6523      inputs: [],
  6524      name: 'CLAIMABLE_INVITE_TYPEHASH',
  6525      outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
  6526    },
  6527    {
  6528      stateMutability: 'view',
  6529      type: 'function',
  6530      inputs: [],
  6531      name: 'EIP712_VERSION',
  6532      outputs: [{ name: '', internalType: 'string', type: 'string' }],
  6533    },
  6534    {
  6535      stateMutability: 'view',
  6536      type: 'function',
  6537      inputs: [],
  6538      name: 'INVITE_GRANTER',
  6539      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  6540    },
  6541    {
  6542      stateMutability: 'view',
  6543      type: 'function',
  6544      inputs: [],
  6545      name: 'MIN_COMMITMENT_PERIOD',
  6546      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  6547    },
  6548    {
  6549      stateMutability: 'nonpayable',
  6550      type: 'function',
  6551      inputs: [
  6552        { name: '_claimer', internalType: 'address', type: 'address' },
  6553        {
  6554          name: '_claimableInvite',
  6555          internalType: 'struct OptimistInviter.ClaimableInvite',
  6556          type: 'tuple',
  6557          components: [
  6558            { name: 'issuer', internalType: 'address', type: 'address' },
  6559            { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },
  6560          ],
  6561        },
  6562        { name: '_signature', internalType: 'bytes', type: 'bytes' },
  6563      ],
  6564      name: 'claimInvite',
  6565      outputs: [],
  6566    },
  6567    {
  6568      stateMutability: 'nonpayable',
  6569      type: 'function',
  6570      inputs: [{ name: '_commitment', internalType: 'bytes32', type: 'bytes32' }],
  6571      name: 'commitInvite',
  6572      outputs: [],
  6573    },
  6574    {
  6575      stateMutability: 'view',
  6576      type: 'function',
  6577      inputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
  6578      name: 'commitmentTimestamps',
  6579      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  6580    },
  6581    {
  6582      stateMutability: 'nonpayable',
  6583      type: 'function',
  6584      inputs: [{ name: '_name', internalType: 'string', type: 'string' }],
  6585      name: 'initialize',
  6586      outputs: [],
  6587    },
  6588    {
  6589      stateMutability: 'view',
  6590      type: 'function',
  6591      inputs: [{ name: '', internalType: 'address', type: 'address' }],
  6592      name: 'inviteCounts',
  6593      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  6594    },
  6595    {
  6596      stateMutability: 'nonpayable',
  6597      type: 'function',
  6598      inputs: [
  6599        { name: '_accounts', internalType: 'address[]', type: 'address[]' },
  6600        { name: '_inviteCount', internalType: 'uint256', type: 'uint256' },
  6601      ],
  6602      name: 'setInviteCounts',
  6603      outputs: [],
  6604    },
  6605    {
  6606      stateMutability: 'view',
  6607      type: 'function',
  6608      inputs: [
  6609        { name: '', internalType: 'address', type: 'address' },
  6610        { name: '', internalType: 'bytes32', type: 'bytes32' },
  6611      ],
  6612      name: 'usedNonces',
  6613      outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
  6614    },
  6615    {
  6616      stateMutability: 'view',
  6617      type: 'function',
  6618      inputs: [],
  6619      name: 'version',
  6620      outputs: [{ name: '', internalType: 'string', type: 'string' }],
  6621    },
  6622  ] as const
  6623  
  6624  /**
  6625   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x073031A1E1b8F5458Ed41Ce56331F5fd7e1de929)
  6626   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x073031A1E1b8F5458Ed41Ce56331F5fd7e1de929)
  6627   */
  6628  export const optimistInviterAddress = {
  6629    10: '0x073031A1E1b8F5458Ed41Ce56331F5fd7e1de929',
  6630    420: '0x073031A1E1b8F5458Ed41Ce56331F5fd7e1de929',
  6631  } as const
  6632  
  6633  /**
  6634   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x073031A1E1b8F5458Ed41Ce56331F5fd7e1de929)
  6635   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x073031A1E1b8F5458Ed41Ce56331F5fd7e1de929)
  6636   */
  6637  export const optimistInviterConfig = {
  6638    address: optimistInviterAddress,
  6639    abi: optimistInviterABI,
  6640  } as const
  6641  
  6642  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  6643  // PortalSender
  6644  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  6645  
  6646  /**
  6647   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x0A893d9576b9cFD9EF78595963dc973238E78210)
  6648   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xe7FACd39531ee3C313330E93B4d7a8B8A3c84Aa4)
  6649   */
  6650  export const portalSenderABI = [
  6651    {
  6652      stateMutability: 'nonpayable',
  6653      type: 'constructor',
  6654      inputs: [
  6655        {
  6656          name: '_portal',
  6657          internalType: 'contract OptimismPortal',
  6658          type: 'address',
  6659        },
  6660      ],
  6661    },
  6662    {
  6663      stateMutability: 'view',
  6664      type: 'function',
  6665      inputs: [],
  6666      name: 'PORTAL',
  6667      outputs: [
  6668        { name: '', internalType: 'contract OptimismPortal', type: 'address' },
  6669      ],
  6670    },
  6671    {
  6672      stateMutability: 'nonpayable',
  6673      type: 'function',
  6674      inputs: [],
  6675      name: 'donate',
  6676      outputs: [],
  6677    },
  6678  ] as const
  6679  
  6680  /**
  6681   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x0A893d9576b9cFD9EF78595963dc973238E78210)
  6682   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xe7FACd39531ee3C313330E93B4d7a8B8A3c84Aa4)
  6683   */
  6684  export const portalSenderAddress = {
  6685    1: '0x0A893d9576b9cFD9EF78595963dc973238E78210',
  6686    5: '0xe7FACd39531ee3C313330E93B4d7a8B8A3c84Aa4',
  6687  } as const
  6688  
  6689  /**
  6690   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x0A893d9576b9cFD9EF78595963dc973238E78210)
  6691   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xe7FACd39531ee3C313330E93B4d7a8B8A3c84Aa4)
  6692   */
  6693  export const portalSenderConfig = {
  6694    address: portalSenderAddress,
  6695    abi: portalSenderABI,
  6696  } as const
  6697  
  6698  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  6699  // ProtocolVersions
  6700  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  6701  
  6702  /**
  6703   * [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x0C24F5098774aA366827D667494e9F889f7cFc08)
  6704   */
  6705  export const protocolVersionsABI = [
  6706    { stateMutability: 'nonpayable', type: 'constructor', inputs: [] },
  6707    {
  6708      type: 'event',
  6709      anonymous: false,
  6710      inputs: [
  6711        {
  6712          name: 'version',
  6713          internalType: 'uint256',
  6714          type: 'uint256',
  6715          indexed: true,
  6716        },
  6717        {
  6718          name: 'updateType',
  6719          internalType: 'enum ProtocolVersions.UpdateType',
  6720          type: 'uint8',
  6721          indexed: true,
  6722        },
  6723        { name: 'data', internalType: 'bytes', type: 'bytes', indexed: false },
  6724      ],
  6725      name: 'ConfigUpdate',
  6726    },
  6727    {
  6728      type: 'event',
  6729      anonymous: false,
  6730      inputs: [
  6731        { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },
  6732      ],
  6733      name: 'Initialized',
  6734    },
  6735    {
  6736      type: 'event',
  6737      anonymous: false,
  6738      inputs: [
  6739        {
  6740          name: 'previousOwner',
  6741          internalType: 'address',
  6742          type: 'address',
  6743          indexed: true,
  6744        },
  6745        {
  6746          name: 'newOwner',
  6747          internalType: 'address',
  6748          type: 'address',
  6749          indexed: true,
  6750        },
  6751      ],
  6752      name: 'OwnershipTransferred',
  6753    },
  6754    {
  6755      stateMutability: 'view',
  6756      type: 'function',
  6757      inputs: [],
  6758      name: 'RECOMMENDED_SLOT',
  6759      outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
  6760    },
  6761    {
  6762      stateMutability: 'view',
  6763      type: 'function',
  6764      inputs: [],
  6765      name: 'REQUIRED_SLOT',
  6766      outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
  6767    },
  6768    {
  6769      stateMutability: 'nonpayable',
  6770      type: 'function',
  6771      inputs: [
  6772        { name: '_owner', internalType: 'address', type: 'address' },
  6773        { name: '_required', internalType: 'ProtocolVersion', type: 'uint256' },
  6774        {
  6775          name: '_recommended',
  6776          internalType: 'ProtocolVersion',
  6777          type: 'uint256',
  6778        },
  6779      ],
  6780      name: 'initialize',
  6781      outputs: [],
  6782    },
  6783    {
  6784      stateMutability: 'view',
  6785      type: 'function',
  6786      inputs: [],
  6787      name: 'owner',
  6788      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  6789    },
  6790    {
  6791      stateMutability: 'view',
  6792      type: 'function',
  6793      inputs: [],
  6794      name: 'recommended',
  6795      outputs: [
  6796        { name: 'out_', internalType: 'ProtocolVersion', type: 'uint256' },
  6797      ],
  6798    },
  6799    {
  6800      stateMutability: 'nonpayable',
  6801      type: 'function',
  6802      inputs: [],
  6803      name: 'renounceOwnership',
  6804      outputs: [],
  6805    },
  6806    {
  6807      stateMutability: 'view',
  6808      type: 'function',
  6809      inputs: [],
  6810      name: 'required',
  6811      outputs: [
  6812        { name: 'out_', internalType: 'ProtocolVersion', type: 'uint256' },
  6813      ],
  6814    },
  6815    {
  6816      stateMutability: 'nonpayable',
  6817      type: 'function',
  6818      inputs: [
  6819        {
  6820          name: '_recommended',
  6821          internalType: 'ProtocolVersion',
  6822          type: 'uint256',
  6823        },
  6824      ],
  6825      name: 'setRecommended',
  6826      outputs: [],
  6827    },
  6828    {
  6829      stateMutability: 'nonpayable',
  6830      type: 'function',
  6831      inputs: [
  6832        { name: '_required', internalType: 'ProtocolVersion', type: 'uint256' },
  6833      ],
  6834      name: 'setRequired',
  6835      outputs: [],
  6836    },
  6837    {
  6838      stateMutability: 'nonpayable',
  6839      type: 'function',
  6840      inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
  6841      name: 'transferOwnership',
  6842      outputs: [],
  6843    },
  6844    {
  6845      stateMutability: 'view',
  6846      type: 'function',
  6847      inputs: [],
  6848      name: 'version',
  6849      outputs: [{ name: '', internalType: 'string', type: 'string' }],
  6850    },
  6851  ] as const
  6852  
  6853  /**
  6854   * [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x0C24F5098774aA366827D667494e9F889f7cFc08)
  6855   */
  6856  export const protocolVersionsAddress = {
  6857    5: '0x0C24F5098774aA366827D667494e9F889f7cFc08',
  6858  } as const
  6859  
  6860  /**
  6861   * [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x0C24F5098774aA366827D667494e9F889f7cFc08)
  6862   */
  6863  export const protocolVersionsConfig = {
  6864    address: protocolVersionsAddress,
  6865    abi: protocolVersionsABI,
  6866  } as const
  6867  
  6868  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  6869  // ProxyAdmin
  6870  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  6871  
  6872  /**
  6873   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x4200000000000000000000000000000000000018)
  6874   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x4200000000000000000000000000000000000018)
  6875   */
  6876  export const proxyAdminABI = [
  6877    {
  6878      stateMutability: 'nonpayable',
  6879      type: 'constructor',
  6880      inputs: [{ name: '_owner', internalType: 'address', type: 'address' }],
  6881    },
  6882    {
  6883      type: 'event',
  6884      anonymous: false,
  6885      inputs: [
  6886        {
  6887          name: 'previousOwner',
  6888          internalType: 'address',
  6889          type: 'address',
  6890          indexed: true,
  6891        },
  6892        {
  6893          name: 'newOwner',
  6894          internalType: 'address',
  6895          type: 'address',
  6896          indexed: true,
  6897        },
  6898      ],
  6899      name: 'OwnershipTransferred',
  6900    },
  6901    {
  6902      stateMutability: 'view',
  6903      type: 'function',
  6904      inputs: [],
  6905      name: 'addressManager',
  6906      outputs: [
  6907        { name: '', internalType: 'contract AddressManager', type: 'address' },
  6908      ],
  6909    },
  6910    {
  6911      stateMutability: 'nonpayable',
  6912      type: 'function',
  6913      inputs: [
  6914        { name: '_proxy', internalType: 'address payable', type: 'address' },
  6915        { name: '_newAdmin', internalType: 'address', type: 'address' },
  6916      ],
  6917      name: 'changeProxyAdmin',
  6918      outputs: [],
  6919    },
  6920    {
  6921      stateMutability: 'view',
  6922      type: 'function',
  6923      inputs: [
  6924        { name: '_proxy', internalType: 'address payable', type: 'address' },
  6925      ],
  6926      name: 'getProxyAdmin',
  6927      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  6928    },
  6929    {
  6930      stateMutability: 'view',
  6931      type: 'function',
  6932      inputs: [{ name: '_proxy', internalType: 'address', type: 'address' }],
  6933      name: 'getProxyImplementation',
  6934      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  6935    },
  6936    {
  6937      stateMutability: 'view',
  6938      type: 'function',
  6939      inputs: [{ name: '', internalType: 'address', type: 'address' }],
  6940      name: 'implementationName',
  6941      outputs: [{ name: '', internalType: 'string', type: 'string' }],
  6942    },
  6943    {
  6944      stateMutability: 'view',
  6945      type: 'function',
  6946      inputs: [],
  6947      name: 'isUpgrading',
  6948      outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
  6949    },
  6950    {
  6951      stateMutability: 'view',
  6952      type: 'function',
  6953      inputs: [],
  6954      name: 'owner',
  6955      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  6956    },
  6957    {
  6958      stateMutability: 'view',
  6959      type: 'function',
  6960      inputs: [{ name: '', internalType: 'address', type: 'address' }],
  6961      name: 'proxyType',
  6962      outputs: [
  6963        { name: '', internalType: 'enum ProxyAdmin.ProxyType', type: 'uint8' },
  6964      ],
  6965    },
  6966    {
  6967      stateMutability: 'nonpayable',
  6968      type: 'function',
  6969      inputs: [],
  6970      name: 'renounceOwnership',
  6971      outputs: [],
  6972    },
  6973    {
  6974      stateMutability: 'nonpayable',
  6975      type: 'function',
  6976      inputs: [
  6977        { name: '_name', internalType: 'string', type: 'string' },
  6978        { name: '_address', internalType: 'address', type: 'address' },
  6979      ],
  6980      name: 'setAddress',
  6981      outputs: [],
  6982    },
  6983    {
  6984      stateMutability: 'nonpayable',
  6985      type: 'function',
  6986      inputs: [
  6987        {
  6988          name: '_address',
  6989          internalType: 'contract AddressManager',
  6990          type: 'address',
  6991        },
  6992      ],
  6993      name: 'setAddressManager',
  6994      outputs: [],
  6995    },
  6996    {
  6997      stateMutability: 'nonpayable',
  6998      type: 'function',
  6999      inputs: [
  7000        { name: '_address', internalType: 'address', type: 'address' },
  7001        { name: '_name', internalType: 'string', type: 'string' },
  7002      ],
  7003      name: 'setImplementationName',
  7004      outputs: [],
  7005    },
  7006    {
  7007      stateMutability: 'nonpayable',
  7008      type: 'function',
  7009      inputs: [
  7010        { name: '_address', internalType: 'address', type: 'address' },
  7011        {
  7012          name: '_type',
  7013          internalType: 'enum ProxyAdmin.ProxyType',
  7014          type: 'uint8',
  7015        },
  7016      ],
  7017      name: 'setProxyType',
  7018      outputs: [],
  7019    },
  7020    {
  7021      stateMutability: 'nonpayable',
  7022      type: 'function',
  7023      inputs: [{ name: '_upgrading', internalType: 'bool', type: 'bool' }],
  7024      name: 'setUpgrading',
  7025      outputs: [],
  7026    },
  7027    {
  7028      stateMutability: 'nonpayable',
  7029      type: 'function',
  7030      inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
  7031      name: 'transferOwnership',
  7032      outputs: [],
  7033    },
  7034    {
  7035      stateMutability: 'nonpayable',
  7036      type: 'function',
  7037      inputs: [
  7038        { name: '_proxy', internalType: 'address payable', type: 'address' },
  7039        { name: '_implementation', internalType: 'address', type: 'address' },
  7040      ],
  7041      name: 'upgrade',
  7042      outputs: [],
  7043    },
  7044    {
  7045      stateMutability: 'payable',
  7046      type: 'function',
  7047      inputs: [
  7048        { name: '_proxy', internalType: 'address payable', type: 'address' },
  7049        { name: '_implementation', internalType: 'address', type: 'address' },
  7050        { name: '_data', internalType: 'bytes', type: 'bytes' },
  7051      ],
  7052      name: 'upgradeAndCall',
  7053      outputs: [],
  7054    },
  7055  ] as const
  7056  
  7057  /**
  7058   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x4200000000000000000000000000000000000018)
  7059   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x4200000000000000000000000000000000000018)
  7060   */
  7061  export const proxyAdminAddress = {
  7062    1: '0x4200000000000000000000000000000000000018',
  7063    5: '0x4200000000000000000000000000000000000018',
  7064  } as const
  7065  
  7066  /**
  7067   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x4200000000000000000000000000000000000018)
  7068   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x4200000000000000000000000000000000000018)
  7069   */
  7070  export const proxyAdminConfig = {
  7071    address: proxyAdminAddress,
  7072    abi: proxyAdminABI,
  7073  } as const
  7074  
  7075  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  7076  // SchemaRegistry
  7077  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  7078  
  7079  /**
  7080   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x6232208d66bAc2305b46b4Cb6BCB3857B298DF13)
  7081   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x2545fa928d5d278cA75Fd47306e4a89096ff6403)
  7082   */
  7083  export const schemaRegistryABI = [
  7084    { stateMutability: 'nonpayable', type: 'constructor', inputs: [] },
  7085    { type: 'error', inputs: [], name: 'AlreadyExists' },
  7086    {
  7087      type: 'event',
  7088      anonymous: false,
  7089      inputs: [
  7090        { name: 'uid', internalType: 'bytes32', type: 'bytes32', indexed: true },
  7091        {
  7092          name: 'registerer',
  7093          internalType: 'address',
  7094          type: 'address',
  7095          indexed: false,
  7096        },
  7097      ],
  7098      name: 'Registered',
  7099    },
  7100    {
  7101      stateMutability: 'view',
  7102      type: 'function',
  7103      inputs: [{ name: 'uid', internalType: 'bytes32', type: 'bytes32' }],
  7104      name: 'getSchema',
  7105      outputs: [
  7106        {
  7107          name: '',
  7108          internalType: 'struct SchemaRecord',
  7109          type: 'tuple',
  7110          components: [
  7111            { name: 'uid', internalType: 'bytes32', type: 'bytes32' },
  7112            {
  7113              name: 'resolver',
  7114              internalType: 'contract ISchemaResolver',
  7115              type: 'address',
  7116            },
  7117            { name: 'revocable', internalType: 'bool', type: 'bool' },
  7118            { name: 'schema', internalType: 'string', type: 'string' },
  7119          ],
  7120        },
  7121      ],
  7122    },
  7123    {
  7124      stateMutability: 'nonpayable',
  7125      type: 'function',
  7126      inputs: [
  7127        { name: 'schema', internalType: 'string', type: 'string' },
  7128        {
  7129          name: 'resolver',
  7130          internalType: 'contract ISchemaResolver',
  7131          type: 'address',
  7132        },
  7133        { name: 'revocable', internalType: 'bool', type: 'bool' },
  7134      ],
  7135      name: 'register',
  7136      outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
  7137    },
  7138    {
  7139      stateMutability: 'view',
  7140      type: 'function',
  7141      inputs: [],
  7142      name: 'version',
  7143      outputs: [{ name: '', internalType: 'string', type: 'string' }],
  7144    },
  7145  ] as const
  7146  
  7147  /**
  7148   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x6232208d66bAc2305b46b4Cb6BCB3857B298DF13)
  7149   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x2545fa928d5d278cA75Fd47306e4a89096ff6403)
  7150   */
  7151  export const schemaRegistryAddress = {
  7152    10: '0x6232208d66bAc2305b46b4Cb6BCB3857B298DF13',
  7153    420: '0x2545fa928d5d278cA75Fd47306e4a89096ff6403',
  7154  } as const
  7155  
  7156  /**
  7157   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x6232208d66bAc2305b46b4Cb6BCB3857B298DF13)
  7158   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x2545fa928d5d278cA75Fd47306e4a89096ff6403)
  7159   */
  7160  export const schemaRegistryConfig = {
  7161    address: schemaRegistryAddress,
  7162    abi: schemaRegistryABI,
  7163  } as const
  7164  
  7165  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  7166  // SequencerFeeVault
  7167  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  7168  
  7169  /**
  7170   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000011)
  7171   */
  7172  export const sequencerFeeVaultABI = [
  7173    {
  7174      stateMutability: 'nonpayable',
  7175      type: 'constructor',
  7176      inputs: [{ name: '_recipient', internalType: 'address', type: 'address' }],
  7177    },
  7178    {
  7179      type: 'event',
  7180      anonymous: false,
  7181      inputs: [
  7182        {
  7183          name: 'value',
  7184          internalType: 'uint256',
  7185          type: 'uint256',
  7186          indexed: false,
  7187        },
  7188        { name: 'to', internalType: 'address', type: 'address', indexed: false },
  7189        {
  7190          name: 'from',
  7191          internalType: 'address',
  7192          type: 'address',
  7193          indexed: false,
  7194        },
  7195      ],
  7196      name: 'Withdrawal',
  7197    },
  7198    {
  7199      stateMutability: 'view',
  7200      type: 'function',
  7201      inputs: [],
  7202      name: 'MIN_WITHDRAWAL_AMOUNT',
  7203      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  7204    },
  7205    {
  7206      stateMutability: 'view',
  7207      type: 'function',
  7208      inputs: [],
  7209      name: 'RECIPIENT',
  7210      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  7211    },
  7212    {
  7213      stateMutability: 'view',
  7214      type: 'function',
  7215      inputs: [],
  7216      name: 'l1FeeWallet',
  7217      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  7218    },
  7219    {
  7220      stateMutability: 'view',
  7221      type: 'function',
  7222      inputs: [],
  7223      name: 'totalProcessed',
  7224      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  7225    },
  7226    {
  7227      stateMutability: 'view',
  7228      type: 'function',
  7229      inputs: [],
  7230      name: 'version',
  7231      outputs: [{ name: '', internalType: 'string', type: 'string' }],
  7232    },
  7233    {
  7234      stateMutability: 'nonpayable',
  7235      type: 'function',
  7236      inputs: [],
  7237      name: 'withdraw',
  7238      outputs: [],
  7239    },
  7240    { stateMutability: 'payable', type: 'receive' },
  7241  ] as const
  7242  
  7243  /**
  7244   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000011)
  7245   */
  7246  export const sequencerFeeVaultAddress = {
  7247    420: '0x4200000000000000000000000000000000000011',
  7248  } as const
  7249  
  7250  /**
  7251   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000011)
  7252   */
  7253  export const sequencerFeeVaultConfig = {
  7254    address: sequencerFeeVaultAddress,
  7255    abi: sequencerFeeVaultABI,
  7256  } as const
  7257  
  7258  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  7259  // SystemConfig
  7260  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  7261  
  7262  /**
  7263   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x229047fed2591dbec1eF1118d64F7aF3dB9EB290)
  7264   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xAe851f927Ee40dE99aaBb7461C00f9622ab91d60)
  7265   */
  7266  export const systemConfigABI = [
  7267    { stateMutability: 'nonpayable', type: 'constructor', inputs: [] },
  7268    {
  7269      type: 'event',
  7270      anonymous: false,
  7271      inputs: [
  7272        {
  7273          name: 'version',
  7274          internalType: 'uint256',
  7275          type: 'uint256',
  7276          indexed: true,
  7277        },
  7278        {
  7279          name: 'updateType',
  7280          internalType: 'enum SystemConfig.UpdateType',
  7281          type: 'uint8',
  7282          indexed: true,
  7283        },
  7284        { name: 'data', internalType: 'bytes', type: 'bytes', indexed: false },
  7285      ],
  7286      name: 'ConfigUpdate',
  7287    },
  7288    {
  7289      type: 'event',
  7290      anonymous: false,
  7291      inputs: [
  7292        { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },
  7293      ],
  7294      name: 'Initialized',
  7295    },
  7296    {
  7297      type: 'event',
  7298      anonymous: false,
  7299      inputs: [
  7300        {
  7301          name: 'previousOwner',
  7302          internalType: 'address',
  7303          type: 'address',
  7304          indexed: true,
  7305        },
  7306        {
  7307          name: 'newOwner',
  7308          internalType: 'address',
  7309          type: 'address',
  7310          indexed: true,
  7311        },
  7312      ],
  7313      name: 'OwnershipTransferred',
  7314    },
  7315    {
  7316      stateMutability: 'view',
  7317      type: 'function',
  7318      inputs: [],
  7319      name: 'BATCH_INBOX_SLOT',
  7320      outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
  7321    },
  7322    {
  7323      stateMutability: 'view',
  7324      type: 'function',
  7325      inputs: [],
  7326      name: 'L1_CROSS_DOMAIN_MESSENGER_SLOT',
  7327      outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
  7328    },
  7329    {
  7330      stateMutability: 'view',
  7331      type: 'function',
  7332      inputs: [],
  7333      name: 'L1_ERC_721_BRIDGE_SLOT',
  7334      outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
  7335    },
  7336    {
  7337      stateMutability: 'view',
  7338      type: 'function',
  7339      inputs: [],
  7340      name: 'L1_STANDARD_BRIDGE_SLOT',
  7341      outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
  7342    },
  7343    {
  7344      stateMutability: 'view',
  7345      type: 'function',
  7346      inputs: [],
  7347      name: 'L2_OUTPUT_ORACLE_SLOT',
  7348      outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
  7349    },
  7350    {
  7351      stateMutability: 'view',
  7352      type: 'function',
  7353      inputs: [],
  7354      name: 'OPTIMISM_MINTABLE_ERC20_FACTORY_SLOT',
  7355      outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
  7356    },
  7357    {
  7358      stateMutability: 'view',
  7359      type: 'function',
  7360      inputs: [],
  7361      name: 'OPTIMISM_PORTAL_SLOT',
  7362      outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
  7363    },
  7364    {
  7365      stateMutability: 'view',
  7366      type: 'function',
  7367      inputs: [],
  7368      name: 'UNSAFE_BLOCK_SIGNER_SLOT',
  7369      outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
  7370    },
  7371    {
  7372      stateMutability: 'view',
  7373      type: 'function',
  7374      inputs: [],
  7375      name: 'batchInbox',
  7376      outputs: [{ name: 'addr_', internalType: 'address', type: 'address' }],
  7377    },
  7378    {
  7379      stateMutability: 'view',
  7380      type: 'function',
  7381      inputs: [],
  7382      name: 'batcherHash',
  7383      outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
  7384    },
  7385    {
  7386      stateMutability: 'view',
  7387      type: 'function',
  7388      inputs: [],
  7389      name: 'gasLimit',
  7390      outputs: [{ name: '', internalType: 'uint64', type: 'uint64' }],
  7391    },
  7392    {
  7393      stateMutability: 'nonpayable',
  7394      type: 'function',
  7395      inputs: [
  7396        { name: '_owner', internalType: 'address', type: 'address' },
  7397        { name: '_overhead', internalType: 'uint256', type: 'uint256' },
  7398        { name: '_scalar', internalType: 'uint256', type: 'uint256' },
  7399        { name: '_batcherHash', internalType: 'bytes32', type: 'bytes32' },
  7400        { name: '_gasLimit', internalType: 'uint64', type: 'uint64' },
  7401        { name: '_unsafeBlockSigner', internalType: 'address', type: 'address' },
  7402        {
  7403          name: '_config',
  7404          internalType: 'struct ResourceMetering.ResourceConfig',
  7405          type: 'tuple',
  7406          components: [
  7407            { name: 'maxResourceLimit', internalType: 'uint32', type: 'uint32' },
  7408            {
  7409              name: 'elasticityMultiplier',
  7410              internalType: 'uint8',
  7411              type: 'uint8',
  7412            },
  7413            {
  7414              name: 'baseFeeMaxChangeDenominator',
  7415              internalType: 'uint8',
  7416              type: 'uint8',
  7417            },
  7418            { name: 'minimumBaseFee', internalType: 'uint32', type: 'uint32' },
  7419            { name: 'systemTxMaxGas', internalType: 'uint32', type: 'uint32' },
  7420            { name: 'maximumBaseFee', internalType: 'uint128', type: 'uint128' },
  7421          ],
  7422        },
  7423        { name: '_startBlock', internalType: 'uint256', type: 'uint256' },
  7424        { name: '_batchInbox', internalType: 'address', type: 'address' },
  7425        {
  7426          name: '_addresses',
  7427          internalType: 'struct SystemConfig.Addresses',
  7428          type: 'tuple',
  7429          components: [
  7430            {
  7431              name: 'l1CrossDomainMessenger',
  7432              internalType: 'address',
  7433              type: 'address',
  7434            },
  7435            { name: 'l1ERC721Bridge', internalType: 'address', type: 'address' },
  7436            {
  7437              name: 'l1StandardBridge',
  7438              internalType: 'address',
  7439              type: 'address',
  7440            },
  7441            { name: 'l2OutputOracle', internalType: 'address', type: 'address' },
  7442            { name: 'optimismPortal', internalType: 'address', type: 'address' },
  7443            {
  7444              name: 'optimismMintableERC20Factory',
  7445              internalType: 'address',
  7446              type: 'address',
  7447            },
  7448          ],
  7449        },
  7450      ],
  7451      name: 'initialize',
  7452      outputs: [],
  7453    },
  7454    {
  7455      stateMutability: 'view',
  7456      type: 'function',
  7457      inputs: [],
  7458      name: 'l1CrossDomainMessenger',
  7459      outputs: [{ name: 'addr_', internalType: 'address', type: 'address' }],
  7460    },
  7461    {
  7462      stateMutability: 'view',
  7463      type: 'function',
  7464      inputs: [],
  7465      name: 'l1ERC721Bridge',
  7466      outputs: [{ name: 'addr_', internalType: 'address', type: 'address' }],
  7467    },
  7468    {
  7469      stateMutability: 'view',
  7470      type: 'function',
  7471      inputs: [],
  7472      name: 'l1StandardBridge',
  7473      outputs: [{ name: 'addr_', internalType: 'address', type: 'address' }],
  7474    },
  7475    {
  7476      stateMutability: 'view',
  7477      type: 'function',
  7478      inputs: [],
  7479      name: 'l2OutputOracle',
  7480      outputs: [{ name: 'addr_', internalType: 'address', type: 'address' }],
  7481    },
  7482    {
  7483      stateMutability: 'view',
  7484      type: 'function',
  7485      inputs: [],
  7486      name: 'minimumGasLimit',
  7487      outputs: [{ name: '', internalType: 'uint64', type: 'uint64' }],
  7488    },
  7489    {
  7490      stateMutability: 'view',
  7491      type: 'function',
  7492      inputs: [],
  7493      name: 'optimismMintableERC20Factory',
  7494      outputs: [{ name: 'addr_', internalType: 'address', type: 'address' }],
  7495    },
  7496    {
  7497      stateMutability: 'view',
  7498      type: 'function',
  7499      inputs: [],
  7500      name: 'optimismPortal',
  7501      outputs: [{ name: 'addr_', internalType: 'address', type: 'address' }],
  7502    },
  7503    {
  7504      stateMutability: 'view',
  7505      type: 'function',
  7506      inputs: [],
  7507      name: 'overhead',
  7508      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  7509    },
  7510    {
  7511      stateMutability: 'view',
  7512      type: 'function',
  7513      inputs: [],
  7514      name: 'owner',
  7515      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  7516    },
  7517    {
  7518      stateMutability: 'nonpayable',
  7519      type: 'function',
  7520      inputs: [],
  7521      name: 'renounceOwnership',
  7522      outputs: [],
  7523    },
  7524    {
  7525      stateMutability: 'view',
  7526      type: 'function',
  7527      inputs: [],
  7528      name: 'resourceConfig',
  7529      outputs: [
  7530        {
  7531          name: '',
  7532          internalType: 'struct ResourceMetering.ResourceConfig',
  7533          type: 'tuple',
  7534          components: [
  7535            { name: 'maxResourceLimit', internalType: 'uint32', type: 'uint32' },
  7536            {
  7537              name: 'elasticityMultiplier',
  7538              internalType: 'uint8',
  7539              type: 'uint8',
  7540            },
  7541            {
  7542              name: 'baseFeeMaxChangeDenominator',
  7543              internalType: 'uint8',
  7544              type: 'uint8',
  7545            },
  7546            { name: 'minimumBaseFee', internalType: 'uint32', type: 'uint32' },
  7547            { name: 'systemTxMaxGas', internalType: 'uint32', type: 'uint32' },
  7548            { name: 'maximumBaseFee', internalType: 'uint128', type: 'uint128' },
  7549          ],
  7550        },
  7551      ],
  7552    },
  7553    {
  7554      stateMutability: 'view',
  7555      type: 'function',
  7556      inputs: [],
  7557      name: 'scalar',
  7558      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  7559    },
  7560    {
  7561      stateMutability: 'nonpayable',
  7562      type: 'function',
  7563      inputs: [
  7564        { name: '_batcherHash', internalType: 'bytes32', type: 'bytes32' },
  7565      ],
  7566      name: 'setBatcherHash',
  7567      outputs: [],
  7568    },
  7569    {
  7570      stateMutability: 'nonpayable',
  7571      type: 'function',
  7572      inputs: [
  7573        { name: '_overhead', internalType: 'uint256', type: 'uint256' },
  7574        { name: '_scalar', internalType: 'uint256', type: 'uint256' },
  7575      ],
  7576      name: 'setGasConfig',
  7577      outputs: [],
  7578    },
  7579    {
  7580      stateMutability: 'nonpayable',
  7581      type: 'function',
  7582      inputs: [{ name: '_gasLimit', internalType: 'uint64', type: 'uint64' }],
  7583      name: 'setGasLimit',
  7584      outputs: [],
  7585    },
  7586    {
  7587      stateMutability: 'nonpayable',
  7588      type: 'function',
  7589      inputs: [
  7590        {
  7591          name: '_config',
  7592          internalType: 'struct ResourceMetering.ResourceConfig',
  7593          type: 'tuple',
  7594          components: [
  7595            { name: 'maxResourceLimit', internalType: 'uint32', type: 'uint32' },
  7596            {
  7597              name: 'elasticityMultiplier',
  7598              internalType: 'uint8',
  7599              type: 'uint8',
  7600            },
  7601            {
  7602              name: 'baseFeeMaxChangeDenominator',
  7603              internalType: 'uint8',
  7604              type: 'uint8',
  7605            },
  7606            { name: 'minimumBaseFee', internalType: 'uint32', type: 'uint32' },
  7607            { name: 'systemTxMaxGas', internalType: 'uint32', type: 'uint32' },
  7608            { name: 'maximumBaseFee', internalType: 'uint128', type: 'uint128' },
  7609          ],
  7610        },
  7611      ],
  7612      name: 'setResourceConfig',
  7613      outputs: [],
  7614    },
  7615    {
  7616      stateMutability: 'nonpayable',
  7617      type: 'function',
  7618      inputs: [
  7619        { name: '_unsafeBlockSigner', internalType: 'address', type: 'address' },
  7620      ],
  7621      name: 'setUnsafeBlockSigner',
  7622      outputs: [],
  7623    },
  7624    {
  7625      stateMutability: 'view',
  7626      type: 'function',
  7627      inputs: [],
  7628      name: 'startBlock',
  7629      outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
  7630    },
  7631    {
  7632      stateMutability: 'nonpayable',
  7633      type: 'function',
  7634      inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
  7635      name: 'transferOwnership',
  7636      outputs: [],
  7637    },
  7638    {
  7639      stateMutability: 'view',
  7640      type: 'function',
  7641      inputs: [],
  7642      name: 'unsafeBlockSigner',
  7643      outputs: [{ name: 'addr_', internalType: 'address', type: 'address' }],
  7644    },
  7645    {
  7646      stateMutability: 'view',
  7647      type: 'function',
  7648      inputs: [],
  7649      name: 'version',
  7650      outputs: [{ name: '', internalType: 'string', type: 'string' }],
  7651    },
  7652  ] as const
  7653  
  7654  /**
  7655   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x229047fed2591dbec1eF1118d64F7aF3dB9EB290)
  7656   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xAe851f927Ee40dE99aaBb7461C00f9622ab91d60)
  7657   */
  7658  export const systemConfigAddress = {
  7659    1: '0x229047fed2591dbec1eF1118d64F7aF3dB9EB290',
  7660    5: '0xAe851f927Ee40dE99aaBb7461C00f9622ab91d60',
  7661  } as const
  7662  
  7663  /**
  7664   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x229047fed2591dbec1eF1118d64F7aF3dB9EB290)
  7665   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xAe851f927Ee40dE99aaBb7461C00f9622ab91d60)
  7666   */
  7667  export const systemConfigConfig = {
  7668    address: systemConfigAddress,
  7669    abi: systemConfigABI,
  7670  } as const
  7671  
  7672  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  7673  // SystemDictator
  7674  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  7675  
  7676  /**
  7677   * [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0xB4453CEb33d2e67FA244A24acf2E50CEF31F53cB)
  7678   */
  7679  export const systemDictatorABI = [
  7680    { stateMutability: 'nonpayable', type: 'constructor', inputs: [] },
  7681    {
  7682      type: 'event',
  7683      anonymous: false,
  7684      inputs: [
  7685        { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },
  7686      ],
  7687      name: 'Initialized',
  7688    },
  7689    {
  7690      type: 'event',
  7691      anonymous: false,
  7692      inputs: [
  7693        {
  7694          name: 'previousOwner',
  7695          internalType: 'address',
  7696          type: 'address',
  7697          indexed: true,
  7698        },
  7699        {
  7700          name: 'newOwner',
  7701          internalType: 'address',
  7702          type: 'address',
  7703          indexed: true,
  7704        },
  7705      ],
  7706      name: 'OwnershipTransferred',
  7707    },
  7708    {
  7709      stateMutability: 'view',
  7710      type: 'function',
  7711      inputs: [],
  7712      name: 'EXIT_1_NO_RETURN_STEP',
  7713      outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],
  7714    },
  7715    {
  7716      stateMutability: 'view',
  7717      type: 'function',
  7718      inputs: [],
  7719      name: 'PROXY_TRANSFER_STEP',
  7720      outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],
  7721    },
  7722    {
  7723      stateMutability: 'view',
  7724      type: 'function',
  7725      inputs: [],
  7726      name: 'config',
  7727      outputs: [
  7728        {
  7729          name: 'globalConfig',
  7730          internalType: 'struct SystemDictator.GlobalConfig',
  7731          type: 'tuple',
  7732          components: [
  7733            {
  7734              name: 'addressManager',
  7735              internalType: 'contract AddressManager',
  7736              type: 'address',
  7737            },
  7738            {
  7739              name: 'proxyAdmin',
  7740              internalType: 'contract ProxyAdmin',
  7741              type: 'address',
  7742            },
  7743            { name: 'controller', internalType: 'address', type: 'address' },
  7744            { name: 'finalOwner', internalType: 'address', type: 'address' },
  7745          ],
  7746        },
  7747        {
  7748          name: 'proxyAddressConfig',
  7749          internalType: 'struct SystemDictator.ProxyAddressConfig',
  7750          type: 'tuple',
  7751          components: [
  7752            {
  7753              name: 'l2OutputOracleProxy',
  7754              internalType: 'address',
  7755              type: 'address',
  7756            },
  7757            {
  7758              name: 'optimismPortalProxy',
  7759              internalType: 'address',
  7760              type: 'address',
  7761            },
  7762            {
  7763              name: 'l1CrossDomainMessengerProxy',
  7764              internalType: 'address',
  7765              type: 'address',
  7766            },
  7767            {
  7768              name: 'l1StandardBridgeProxy',
  7769              internalType: 'address',
  7770              type: 'address',
  7771            },
  7772            {
  7773              name: 'optimismMintableERC20FactoryProxy',
  7774              internalType: 'address',
  7775              type: 'address',
  7776            },
  7777            {
  7778              name: 'l1ERC721BridgeProxy',
  7779              internalType: 'address',
  7780              type: 'address',
  7781            },
  7782            {
  7783              name: 'systemConfigProxy',
  7784              internalType: 'address',
  7785              type: 'address',
  7786            },
  7787          ],
  7788        },
  7789        {
  7790          name: 'implementationAddressConfig',
  7791          internalType: 'struct SystemDictator.ImplementationAddressConfig',
  7792          type: 'tuple',
  7793          components: [
  7794            {
  7795              name: 'l2OutputOracleImpl',
  7796              internalType: 'contract L2OutputOracle',
  7797              type: 'address',
  7798            },
  7799            {
  7800              name: 'optimismPortalImpl',
  7801              internalType: 'contract OptimismPortal',
  7802              type: 'address',
  7803            },
  7804            {
  7805              name: 'l1CrossDomainMessengerImpl',
  7806              internalType: 'contract L1CrossDomainMessenger',
  7807              type: 'address',
  7808            },
  7809            {
  7810              name: 'l1StandardBridgeImpl',
  7811              internalType: 'contract L1StandardBridge',
  7812              type: 'address',
  7813            },
  7814            {
  7815              name: 'optimismMintableERC20FactoryImpl',
  7816              internalType: 'contract OptimismMintableERC20Factory',
  7817              type: 'address',
  7818            },
  7819            {
  7820              name: 'l1ERC721BridgeImpl',
  7821              internalType: 'contract L1ERC721Bridge',
  7822              type: 'address',
  7823            },
  7824            {
  7825              name: 'portalSenderImpl',
  7826              internalType: 'contract PortalSender',
  7827              type: 'address',
  7828            },
  7829            {
  7830              name: 'systemConfigImpl',
  7831              internalType: 'contract SystemConfig',
  7832              type: 'address',
  7833            },
  7834          ],
  7835        },
  7836        {
  7837          name: 'systemConfigConfig',
  7838          internalType: 'struct SystemDictator.SystemConfigConfig',
  7839          type: 'tuple',
  7840          components: [
  7841            { name: 'owner', internalType: 'address', type: 'address' },
  7842            { name: 'overhead', internalType: 'uint256', type: 'uint256' },
  7843            { name: 'scalar', internalType: 'uint256', type: 'uint256' },
  7844            { name: 'batcherHash', internalType: 'bytes32', type: 'bytes32' },
  7845            { name: 'gasLimit', internalType: 'uint64', type: 'uint64' },
  7846            {
  7847              name: 'unsafeBlockSigner',
  7848              internalType: 'address',
  7849              type: 'address',
  7850            },
  7851            {
  7852              name: 'resourceConfig',
  7853              internalType: 'struct ResourceMetering.ResourceConfig',
  7854              type: 'tuple',
  7855              components: [
  7856                {
  7857                  name: 'maxResourceLimit',
  7858                  internalType: 'uint32',
  7859                  type: 'uint32',
  7860                },
  7861                {
  7862                  name: 'elasticityMultiplier',
  7863                  internalType: 'uint8',
  7864                  type: 'uint8',
  7865                },
  7866                {
  7867                  name: 'baseFeeMaxChangeDenominator',
  7868                  internalType: 'uint8',
  7869                  type: 'uint8',
  7870                },
  7871                {
  7872                  name: 'minimumBaseFee',
  7873                  internalType: 'uint32',
  7874                  type: 'uint32',
  7875                },
  7876                {
  7877                  name: 'systemTxMaxGas',
  7878                  internalType: 'uint32',
  7879                  type: 'uint32',
  7880                },
  7881                {
  7882                  name: 'maximumBaseFee',
  7883                  internalType: 'uint128',
  7884                  type: 'uint128',
  7885                },
  7886              ],
  7887            },
  7888          ],
  7889        },
  7890      ],
  7891    },
  7892    {
  7893      stateMutability: 'view',
  7894      type: 'function',
  7895      inputs: [],
  7896      name: 'currentStep',
  7897      outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],
  7898    },
  7899    {
  7900      stateMutability: 'view',
  7901      type: 'function',
  7902      inputs: [],
  7903      name: 'dynamicConfigSet',
  7904      outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
  7905    },
  7906    {
  7907      stateMutability: 'nonpayable',
  7908      type: 'function',
  7909      inputs: [],
  7910      name: 'exit1',
  7911      outputs: [],
  7912    },
  7913    {
  7914      stateMutability: 'view',
  7915      type: 'function',
  7916      inputs: [],
  7917      name: 'exited',
  7918      outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
  7919    },
  7920    {
  7921      stateMutability: 'nonpayable',
  7922      type: 'function',
  7923      inputs: [],
  7924      name: 'finalize',
  7925      outputs: [],
  7926    },
  7927    {
  7928      stateMutability: 'view',
  7929      type: 'function',
  7930      inputs: [],
  7931      name: 'finalized',
  7932      outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
  7933    },
  7934    {
  7935      stateMutability: 'nonpayable',
  7936      type: 'function',
  7937      inputs: [
  7938        {
  7939          name: '_config',
  7940          internalType: 'struct SystemDictator.DeployConfig',
  7941          type: 'tuple',
  7942          components: [
  7943            {
  7944              name: 'globalConfig',
  7945              internalType: 'struct SystemDictator.GlobalConfig',
  7946              type: 'tuple',
  7947              components: [
  7948                {
  7949                  name: 'addressManager',
  7950                  internalType: 'contract AddressManager',
  7951                  type: 'address',
  7952                },
  7953                {
  7954                  name: 'proxyAdmin',
  7955                  internalType: 'contract ProxyAdmin',
  7956                  type: 'address',
  7957                },
  7958                { name: 'controller', internalType: 'address', type: 'address' },
  7959                { name: 'finalOwner', internalType: 'address', type: 'address' },
  7960              ],
  7961            },
  7962            {
  7963              name: 'proxyAddressConfig',
  7964              internalType: 'struct SystemDictator.ProxyAddressConfig',
  7965              type: 'tuple',
  7966              components: [
  7967                {
  7968                  name: 'l2OutputOracleProxy',
  7969                  internalType: 'address',
  7970                  type: 'address',
  7971                },
  7972                {
  7973                  name: 'optimismPortalProxy',
  7974                  internalType: 'address',
  7975                  type: 'address',
  7976                },
  7977                {
  7978                  name: 'l1CrossDomainMessengerProxy',
  7979                  internalType: 'address',
  7980                  type: 'address',
  7981                },
  7982                {
  7983                  name: 'l1StandardBridgeProxy',
  7984                  internalType: 'address',
  7985                  type: 'address',
  7986                },
  7987                {
  7988                  name: 'optimismMintableERC20FactoryProxy',
  7989                  internalType: 'address',
  7990                  type: 'address',
  7991                },
  7992                {
  7993                  name: 'l1ERC721BridgeProxy',
  7994                  internalType: 'address',
  7995                  type: 'address',
  7996                },
  7997                {
  7998                  name: 'systemConfigProxy',
  7999                  internalType: 'address',
  8000                  type: 'address',
  8001                },
  8002              ],
  8003            },
  8004            {
  8005              name: 'implementationAddressConfig',
  8006              internalType: 'struct SystemDictator.ImplementationAddressConfig',
  8007              type: 'tuple',
  8008              components: [
  8009                {
  8010                  name: 'l2OutputOracleImpl',
  8011                  internalType: 'contract L2OutputOracle',
  8012                  type: 'address',
  8013                },
  8014                {
  8015                  name: 'optimismPortalImpl',
  8016                  internalType: 'contract OptimismPortal',
  8017                  type: 'address',
  8018                },
  8019                {
  8020                  name: 'l1CrossDomainMessengerImpl',
  8021                  internalType: 'contract L1CrossDomainMessenger',
  8022                  type: 'address',
  8023                },
  8024                {
  8025                  name: 'l1StandardBridgeImpl',
  8026                  internalType: 'contract L1StandardBridge',
  8027                  type: 'address',
  8028                },
  8029                {
  8030                  name: 'optimismMintableERC20FactoryImpl',
  8031                  internalType: 'contract OptimismMintableERC20Factory',
  8032                  type: 'address',
  8033                },
  8034                {
  8035                  name: 'l1ERC721BridgeImpl',
  8036                  internalType: 'contract L1ERC721Bridge',
  8037                  type: 'address',
  8038                },
  8039                {
  8040                  name: 'portalSenderImpl',
  8041                  internalType: 'contract PortalSender',
  8042                  type: 'address',
  8043                },
  8044                {
  8045                  name: 'systemConfigImpl',
  8046                  internalType: 'contract SystemConfig',
  8047                  type: 'address',
  8048                },
  8049              ],
  8050            },
  8051            {
  8052              name: 'systemConfigConfig',
  8053              internalType: 'struct SystemDictator.SystemConfigConfig',
  8054              type: 'tuple',
  8055              components: [
  8056                { name: 'owner', internalType: 'address', type: 'address' },
  8057                { name: 'overhead', internalType: 'uint256', type: 'uint256' },
  8058                { name: 'scalar', internalType: 'uint256', type: 'uint256' },
  8059                { name: 'batcherHash', internalType: 'bytes32', type: 'bytes32' },
  8060                { name: 'gasLimit', internalType: 'uint64', type: 'uint64' },
  8061                {
  8062                  name: 'unsafeBlockSigner',
  8063                  internalType: 'address',
  8064                  type: 'address',
  8065                },
  8066                {
  8067                  name: 'resourceConfig',
  8068                  internalType: 'struct ResourceMetering.ResourceConfig',
  8069                  type: 'tuple',
  8070                  components: [
  8071                    {
  8072                      name: 'maxResourceLimit',
  8073                      internalType: 'uint32',
  8074                      type: 'uint32',
  8075                    },
  8076                    {
  8077                      name: 'elasticityMultiplier',
  8078                      internalType: 'uint8',
  8079                      type: 'uint8',
  8080                    },
  8081                    {
  8082                      name: 'baseFeeMaxChangeDenominator',
  8083                      internalType: 'uint8',
  8084                      type: 'uint8',
  8085                    },
  8086                    {
  8087                      name: 'minimumBaseFee',
  8088                      internalType: 'uint32',
  8089                      type: 'uint32',
  8090                    },
  8091                    {
  8092                      name: 'systemTxMaxGas',
  8093                      internalType: 'uint32',
  8094                      type: 'uint32',
  8095                    },
  8096                    {
  8097                      name: 'maximumBaseFee',
  8098                      internalType: 'uint128',
  8099                      type: 'uint128',
  8100                    },
  8101                  ],
  8102                },
  8103              ],
  8104            },
  8105          ],
  8106        },
  8107      ],
  8108      name: 'initialize',
  8109      outputs: [],
  8110    },
  8111    {
  8112      stateMutability: 'view',
  8113      type: 'function',
  8114      inputs: [],
  8115      name: 'l2OutputOracleDynamicConfig',
  8116      outputs: [
  8117        {
  8118          name: 'l2OutputOracleStartingBlockNumber',
  8119          internalType: 'uint256',
  8120          type: 'uint256',
  8121        },
  8122        {
  8123          name: 'l2OutputOracleStartingTimestamp',
  8124          internalType: 'uint256',
  8125          type: 'uint256',
  8126        },
  8127      ],
  8128    },
  8129    {
  8130      stateMutability: 'view',
  8131      type: 'function',
  8132      inputs: [],
  8133      name: 'oldL1CrossDomainMessenger',
  8134      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  8135    },
  8136    {
  8137      stateMutability: 'view',
  8138      type: 'function',
  8139      inputs: [],
  8140      name: 'optimismPortalDynamicConfig',
  8141      outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
  8142    },
  8143    {
  8144      stateMutability: 'view',
  8145      type: 'function',
  8146      inputs: [],
  8147      name: 'owner',
  8148      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  8149    },
  8150    {
  8151      stateMutability: 'nonpayable',
  8152      type: 'function',
  8153      inputs: [],
  8154      name: 'phase1',
  8155      outputs: [],
  8156    },
  8157    {
  8158      stateMutability: 'nonpayable',
  8159      type: 'function',
  8160      inputs: [],
  8161      name: 'phase2',
  8162      outputs: [],
  8163    },
  8164    {
  8165      stateMutability: 'nonpayable',
  8166      type: 'function',
  8167      inputs: [],
  8168      name: 'renounceOwnership',
  8169      outputs: [],
  8170    },
  8171    {
  8172      stateMutability: 'nonpayable',
  8173      type: 'function',
  8174      inputs: [],
  8175      name: 'step1',
  8176      outputs: [],
  8177    },
  8178    {
  8179      stateMutability: 'nonpayable',
  8180      type: 'function',
  8181      inputs: [],
  8182      name: 'step2',
  8183      outputs: [],
  8184    },
  8185    {
  8186      stateMutability: 'nonpayable',
  8187      type: 'function',
  8188      inputs: [],
  8189      name: 'step3',
  8190      outputs: [],
  8191    },
  8192    {
  8193      stateMutability: 'nonpayable',
  8194      type: 'function',
  8195      inputs: [],
  8196      name: 'step4',
  8197      outputs: [],
  8198    },
  8199    {
  8200      stateMutability: 'nonpayable',
  8201      type: 'function',
  8202      inputs: [],
  8203      name: 'step5',
  8204      outputs: [],
  8205    },
  8206    {
  8207      stateMutability: 'nonpayable',
  8208      type: 'function',
  8209      inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
  8210      name: 'transferOwnership',
  8211      outputs: [],
  8212    },
  8213    {
  8214      stateMutability: 'nonpayable',
  8215      type: 'function',
  8216      inputs: [
  8217        {
  8218          name: '_l2OutputOracleDynamicConfig',
  8219          internalType: 'struct SystemDictator.L2OutputOracleDynamicConfig',
  8220          type: 'tuple',
  8221          components: [
  8222            {
  8223              name: 'l2OutputOracleStartingBlockNumber',
  8224              internalType: 'uint256',
  8225              type: 'uint256',
  8226            },
  8227            {
  8228              name: 'l2OutputOracleStartingTimestamp',
  8229              internalType: 'uint256',
  8230              type: 'uint256',
  8231            },
  8232          ],
  8233        },
  8234        {
  8235          name: '_optimismPortalDynamicConfig',
  8236          internalType: 'bool',
  8237          type: 'bool',
  8238        },
  8239      ],
  8240      name: 'updateDynamicConfig',
  8241      outputs: [],
  8242    },
  8243  ] as const
  8244  
  8245  /**
  8246   * [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0xB4453CEb33d2e67FA244A24acf2E50CEF31F53cB)
  8247   */
  8248  export const systemDictatorAddress = {
  8249    1: '0xB4453CEb33d2e67FA244A24acf2E50CEF31F53cB',
  8250  } as const
  8251  
  8252  /**
  8253   * [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0xB4453CEb33d2e67FA244A24acf2E50CEF31F53cB)
  8254   */
  8255  export const systemDictatorConfig = {
  8256    address: systemDictatorAddress,
  8257    abi: systemDictatorABI,
  8258  } as const
  8259  
  8260  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  8261  // SystemDictator_goerli
  8262  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  8263  
  8264  /**
  8265   * [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x1f0613A44c9a8ECE7B3A2e0CdBdF0F5B47A50971)
  8266   */
  8267  export const systemDictatorGoerliABI = [
  8268    {
  8269      type: 'event',
  8270      anonymous: false,
  8271      inputs: [
  8272        { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },
  8273      ],
  8274      name: 'Initialized',
  8275    },
  8276    {
  8277      type: 'event',
  8278      anonymous: false,
  8279      inputs: [
  8280        {
  8281          name: 'previousOwner',
  8282          internalType: 'address',
  8283          type: 'address',
  8284          indexed: true,
  8285        },
  8286        {
  8287          name: 'newOwner',
  8288          internalType: 'address',
  8289          type: 'address',
  8290          indexed: true,
  8291        },
  8292      ],
  8293      name: 'OwnershipTransferred',
  8294    },
  8295    {
  8296      stateMutability: 'view',
  8297      type: 'function',
  8298      inputs: [],
  8299      name: 'EXIT_1_NO_RETURN_STEP',
  8300      outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],
  8301    },
  8302    {
  8303      stateMutability: 'view',
  8304      type: 'function',
  8305      inputs: [],
  8306      name: 'PROXY_TRANSFER_STEP',
  8307      outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],
  8308    },
  8309    {
  8310      stateMutability: 'view',
  8311      type: 'function',
  8312      inputs: [],
  8313      name: 'config',
  8314      outputs: [
  8315        {
  8316          name: 'globalConfig',
  8317          internalType: 'struct SystemDictator.GlobalConfig',
  8318          type: 'tuple',
  8319          components: [
  8320            {
  8321              name: 'addressManager',
  8322              internalType: 'contract AddressManager',
  8323              type: 'address',
  8324            },
  8325            {
  8326              name: 'proxyAdmin',
  8327              internalType: 'contract ProxyAdmin',
  8328              type: 'address',
  8329            },
  8330            { name: 'controller', internalType: 'address', type: 'address' },
  8331            { name: 'finalOwner', internalType: 'address', type: 'address' },
  8332          ],
  8333        },
  8334        {
  8335          name: 'proxyAddressConfig',
  8336          internalType: 'struct SystemDictator.ProxyAddressConfig',
  8337          type: 'tuple',
  8338          components: [
  8339            {
  8340              name: 'l2OutputOracleProxy',
  8341              internalType: 'address',
  8342              type: 'address',
  8343            },
  8344            {
  8345              name: 'optimismPortalProxy',
  8346              internalType: 'address',
  8347              type: 'address',
  8348            },
  8349            {
  8350              name: 'l1CrossDomainMessengerProxy',
  8351              internalType: 'address',
  8352              type: 'address',
  8353            },
  8354            {
  8355              name: 'l1StandardBridgeProxy',
  8356              internalType: 'address',
  8357              type: 'address',
  8358            },
  8359            {
  8360              name: 'optimismMintableERC20FactoryProxy',
  8361              internalType: 'address',
  8362              type: 'address',
  8363            },
  8364            {
  8365              name: 'l1ERC721BridgeProxy',
  8366              internalType: 'address',
  8367              type: 'address',
  8368            },
  8369            {
  8370              name: 'systemConfigProxy',
  8371              internalType: 'address',
  8372              type: 'address',
  8373            },
  8374          ],
  8375        },
  8376        {
  8377          name: 'implementationAddressConfig',
  8378          internalType: 'struct SystemDictator.ImplementationAddressConfig',
  8379          type: 'tuple',
  8380          components: [
  8381            {
  8382              name: 'l2OutputOracleImpl',
  8383              internalType: 'contract L2OutputOracle',
  8384              type: 'address',
  8385            },
  8386            {
  8387              name: 'optimismPortalImpl',
  8388              internalType: 'contract OptimismPortal',
  8389              type: 'address',
  8390            },
  8391            {
  8392              name: 'l1CrossDomainMessengerImpl',
  8393              internalType: 'contract L1CrossDomainMessenger',
  8394              type: 'address',
  8395            },
  8396            {
  8397              name: 'l1StandardBridgeImpl',
  8398              internalType: 'contract L1StandardBridge',
  8399              type: 'address',
  8400            },
  8401            {
  8402              name: 'optimismMintableERC20FactoryImpl',
  8403              internalType: 'contract OptimismMintableERC20Factory',
  8404              type: 'address',
  8405            },
  8406            {
  8407              name: 'l1ERC721BridgeImpl',
  8408              internalType: 'contract L1ERC721Bridge',
  8409              type: 'address',
  8410            },
  8411            {
  8412              name: 'portalSenderImpl',
  8413              internalType: 'contract PortalSender',
  8414              type: 'address',
  8415            },
  8416            {
  8417              name: 'systemConfigImpl',
  8418              internalType: 'contract SystemConfig',
  8419              type: 'address',
  8420            },
  8421          ],
  8422        },
  8423        {
  8424          name: 'systemConfigConfig',
  8425          internalType: 'struct SystemDictator.SystemConfigConfig',
  8426          type: 'tuple',
  8427          components: [
  8428            { name: 'owner', internalType: 'address', type: 'address' },
  8429            { name: 'overhead', internalType: 'uint256', type: 'uint256' },
  8430            { name: 'scalar', internalType: 'uint256', type: 'uint256' },
  8431            { name: 'batcherHash', internalType: 'bytes32', type: 'bytes32' },
  8432            { name: 'gasLimit', internalType: 'uint64', type: 'uint64' },
  8433            {
  8434              name: 'unsafeBlockSigner',
  8435              internalType: 'address',
  8436              type: 'address',
  8437            },
  8438          ],
  8439        },
  8440      ],
  8441    },
  8442    {
  8443      stateMutability: 'view',
  8444      type: 'function',
  8445      inputs: [],
  8446      name: 'currentStep',
  8447      outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],
  8448    },
  8449    {
  8450      stateMutability: 'view',
  8451      type: 'function',
  8452      inputs: [],
  8453      name: 'dynamicConfigSet',
  8454      outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
  8455    },
  8456    {
  8457      stateMutability: 'nonpayable',
  8458      type: 'function',
  8459      inputs: [],
  8460      name: 'exit1',
  8461      outputs: [],
  8462    },
  8463    {
  8464      stateMutability: 'nonpayable',
  8465      type: 'function',
  8466      inputs: [],
  8467      name: 'finalize',
  8468      outputs: [],
  8469    },
  8470    {
  8471      stateMutability: 'view',
  8472      type: 'function',
  8473      inputs: [],
  8474      name: 'finalized',
  8475      outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
  8476    },
  8477    {
  8478      stateMutability: 'nonpayable',
  8479      type: 'function',
  8480      inputs: [
  8481        {
  8482          name: '_config',
  8483          internalType: 'struct SystemDictator.DeployConfig',
  8484          type: 'tuple',
  8485          components: [
  8486            {
  8487              name: 'globalConfig',
  8488              internalType: 'struct SystemDictator.GlobalConfig',
  8489              type: 'tuple',
  8490              components: [
  8491                {
  8492                  name: 'addressManager',
  8493                  internalType: 'contract AddressManager',
  8494                  type: 'address',
  8495                },
  8496                {
  8497                  name: 'proxyAdmin',
  8498                  internalType: 'contract ProxyAdmin',
  8499                  type: 'address',
  8500                },
  8501                { name: 'controller', internalType: 'address', type: 'address' },
  8502                { name: 'finalOwner', internalType: 'address', type: 'address' },
  8503              ],
  8504            },
  8505            {
  8506              name: 'proxyAddressConfig',
  8507              internalType: 'struct SystemDictator.ProxyAddressConfig',
  8508              type: 'tuple',
  8509              components: [
  8510                {
  8511                  name: 'l2OutputOracleProxy',
  8512                  internalType: 'address',
  8513                  type: 'address',
  8514                },
  8515                {
  8516                  name: 'optimismPortalProxy',
  8517                  internalType: 'address',
  8518                  type: 'address',
  8519                },
  8520                {
  8521                  name: 'l1CrossDomainMessengerProxy',
  8522                  internalType: 'address',
  8523                  type: 'address',
  8524                },
  8525                {
  8526                  name: 'l1StandardBridgeProxy',
  8527                  internalType: 'address',
  8528                  type: 'address',
  8529                },
  8530                {
  8531                  name: 'optimismMintableERC20FactoryProxy',
  8532                  internalType: 'address',
  8533                  type: 'address',
  8534                },
  8535                {
  8536                  name: 'l1ERC721BridgeProxy',
  8537                  internalType: 'address',
  8538                  type: 'address',
  8539                },
  8540                {
  8541                  name: 'systemConfigProxy',
  8542                  internalType: 'address',
  8543                  type: 'address',
  8544                },
  8545              ],
  8546            },
  8547            {
  8548              name: 'implementationAddressConfig',
  8549              internalType: 'struct SystemDictator.ImplementationAddressConfig',
  8550              type: 'tuple',
  8551              components: [
  8552                {
  8553                  name: 'l2OutputOracleImpl',
  8554                  internalType: 'contract L2OutputOracle',
  8555                  type: 'address',
  8556                },
  8557                {
  8558                  name: 'optimismPortalImpl',
  8559                  internalType: 'contract OptimismPortal',
  8560                  type: 'address',
  8561                },
  8562                {
  8563                  name: 'l1CrossDomainMessengerImpl',
  8564                  internalType: 'contract L1CrossDomainMessenger',
  8565                  type: 'address',
  8566                },
  8567                {
  8568                  name: 'l1StandardBridgeImpl',
  8569                  internalType: 'contract L1StandardBridge',
  8570                  type: 'address',
  8571                },
  8572                {
  8573                  name: 'optimismMintableERC20FactoryImpl',
  8574                  internalType: 'contract OptimismMintableERC20Factory',
  8575                  type: 'address',
  8576                },
  8577                {
  8578                  name: 'l1ERC721BridgeImpl',
  8579                  internalType: 'contract L1ERC721Bridge',
  8580                  type: 'address',
  8581                },
  8582                {
  8583                  name: 'portalSenderImpl',
  8584                  internalType: 'contract PortalSender',
  8585                  type: 'address',
  8586                },
  8587                {
  8588                  name: 'systemConfigImpl',
  8589                  internalType: 'contract SystemConfig',
  8590                  type: 'address',
  8591                },
  8592              ],
  8593            },
  8594            {
  8595              name: 'systemConfigConfig',
  8596              internalType: 'struct SystemDictator.SystemConfigConfig',
  8597              type: 'tuple',
  8598              components: [
  8599                { name: 'owner', internalType: 'address', type: 'address' },
  8600                { name: 'overhead', internalType: 'uint256', type: 'uint256' },
  8601                { name: 'scalar', internalType: 'uint256', type: 'uint256' },
  8602                { name: 'batcherHash', internalType: 'bytes32', type: 'bytes32' },
  8603                { name: 'gasLimit', internalType: 'uint64', type: 'uint64' },
  8604                {
  8605                  name: 'unsafeBlockSigner',
  8606                  internalType: 'address',
  8607                  type: 'address',
  8608                },
  8609              ],
  8610            },
  8611          ],
  8612        },
  8613      ],
  8614      name: 'initialize',
  8615      outputs: [],
  8616    },
  8617    {
  8618      stateMutability: 'view',
  8619      type: 'function',
  8620      inputs: [],
  8621      name: 'l2OutputOracleDynamicConfig',
  8622      outputs: [
  8623        {
  8624          name: 'l2OutputOracleStartingBlockNumber',
  8625          internalType: 'uint256',
  8626          type: 'uint256',
  8627        },
  8628        {
  8629          name: 'l2OutputOracleStartingTimestamp',
  8630          internalType: 'uint256',
  8631          type: 'uint256',
  8632        },
  8633      ],
  8634    },
  8635    {
  8636      stateMutability: 'view',
  8637      type: 'function',
  8638      inputs: [],
  8639      name: 'oldL1CrossDomainMessenger',
  8640      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  8641    },
  8642    {
  8643      stateMutability: 'view',
  8644      type: 'function',
  8645      inputs: [],
  8646      name: 'owner',
  8647      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  8648    },
  8649    {
  8650      stateMutability: 'nonpayable',
  8651      type: 'function',
  8652      inputs: [],
  8653      name: 'renounceOwnership',
  8654      outputs: [],
  8655    },
  8656    {
  8657      stateMutability: 'nonpayable',
  8658      type: 'function',
  8659      inputs: [],
  8660      name: 'step1',
  8661      outputs: [],
  8662    },
  8663    {
  8664      stateMutability: 'nonpayable',
  8665      type: 'function',
  8666      inputs: [],
  8667      name: 'step2',
  8668      outputs: [],
  8669    },
  8670    {
  8671      stateMutability: 'nonpayable',
  8672      type: 'function',
  8673      inputs: [],
  8674      name: 'step3',
  8675      outputs: [],
  8676    },
  8677    {
  8678      stateMutability: 'nonpayable',
  8679      type: 'function',
  8680      inputs: [],
  8681      name: 'step4',
  8682      outputs: [],
  8683    },
  8684    {
  8685      stateMutability: 'nonpayable',
  8686      type: 'function',
  8687      inputs: [],
  8688      name: 'step5',
  8689      outputs: [],
  8690    },
  8691    {
  8692      stateMutability: 'nonpayable',
  8693      type: 'function',
  8694      inputs: [],
  8695      name: 'step6',
  8696      outputs: [],
  8697    },
  8698    {
  8699      stateMutability: 'nonpayable',
  8700      type: 'function',
  8701      inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
  8702      name: 'transferOwnership',
  8703      outputs: [],
  8704    },
  8705    {
  8706      stateMutability: 'nonpayable',
  8707      type: 'function',
  8708      inputs: [
  8709        {
  8710          name: '_l2OutputOracleDynamicConfig',
  8711          internalType: 'struct SystemDictator.L2OutputOracleDynamicConfig',
  8712          type: 'tuple',
  8713          components: [
  8714            {
  8715              name: 'l2OutputOracleStartingBlockNumber',
  8716              internalType: 'uint256',
  8717              type: 'uint256',
  8718            },
  8719            {
  8720              name: 'l2OutputOracleStartingTimestamp',
  8721              internalType: 'uint256',
  8722              type: 'uint256',
  8723            },
  8724          ],
  8725        },
  8726      ],
  8727      name: 'updateL2OutputOracleDynamicConfig',
  8728      outputs: [],
  8729    },
  8730  ] as const
  8731  
  8732  /**
  8733   * [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x1f0613A44c9a8ECE7B3A2e0CdBdF0F5B47A50971)
  8734   */
  8735  export const systemDictatorGoerliAddress = {
  8736    5: '0x1f0613A44c9a8ECE7B3A2e0CdBdF0F5B47A50971',
  8737  } as const
  8738  
  8739  /**
  8740   * [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x1f0613A44c9a8ECE7B3A2e0CdBdF0F5B47A50971)
  8741   */
  8742  export const systemDictatorGoerliConfig = {
  8743    address: systemDictatorGoerliAddress,
  8744    abi: systemDictatorGoerliABI,
  8745  } as const
  8746  
  8747  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  8748  // TeleportrWithdrawer
  8749  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  8750  
  8751  /**
  8752   * [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x78A25524D90E3D0596558fb43789bD800a5c3007)
  8753   */
  8754  export const teleportrWithdrawerABI = [
  8755    {
  8756      stateMutability: 'nonpayable',
  8757      type: 'constructor',
  8758      inputs: [{ name: '_owner', internalType: 'address', type: 'address' }],
  8759    },
  8760    {
  8761      type: 'event',
  8762      anonymous: false,
  8763      inputs: [
  8764        { name: 'user', internalType: 'address', type: 'address', indexed: true },
  8765        {
  8766          name: 'newOwner',
  8767          internalType: 'address',
  8768          type: 'address',
  8769          indexed: true,
  8770        },
  8771      ],
  8772      name: 'OwnerUpdated',
  8773    },
  8774    {
  8775      type: 'event',
  8776      anonymous: false,
  8777      inputs: [
  8778        { name: 'from', internalType: 'address', type: 'address', indexed: true },
  8779        {
  8780          name: 'amount',
  8781          internalType: 'uint256',
  8782          type: 'uint256',
  8783          indexed: false,
  8784        },
  8785      ],
  8786      name: 'ReceivedETH',
  8787    },
  8788    {
  8789      type: 'event',
  8790      anonymous: false,
  8791      inputs: [
  8792        {
  8793          name: 'withdrawer',
  8794          internalType: 'address',
  8795          type: 'address',
  8796          indexed: true,
  8797        },
  8798        {
  8799          name: 'recipient',
  8800          internalType: 'address',
  8801          type: 'address',
  8802          indexed: true,
  8803        },
  8804        {
  8805          name: 'asset',
  8806          internalType: 'address',
  8807          type: 'address',
  8808          indexed: true,
  8809        },
  8810        {
  8811          name: 'amount',
  8812          internalType: 'uint256',
  8813          type: 'uint256',
  8814          indexed: false,
  8815        },
  8816      ],
  8817      name: 'WithdrewERC20',
  8818    },
  8819    {
  8820      type: 'event',
  8821      anonymous: false,
  8822      inputs: [
  8823        {
  8824          name: 'withdrawer',
  8825          internalType: 'address',
  8826          type: 'address',
  8827          indexed: true,
  8828        },
  8829        {
  8830          name: 'recipient',
  8831          internalType: 'address',
  8832          type: 'address',
  8833          indexed: true,
  8834        },
  8835        {
  8836          name: 'asset',
  8837          internalType: 'address',
  8838          type: 'address',
  8839          indexed: true,
  8840        },
  8841        { name: 'id', internalType: 'uint256', type: 'uint256', indexed: false },
  8842      ],
  8843      name: 'WithdrewERC721',
  8844    },
  8845    {
  8846      type: 'event',
  8847      anonymous: false,
  8848      inputs: [
  8849        {
  8850          name: 'withdrawer',
  8851          internalType: 'address',
  8852          type: 'address',
  8853          indexed: true,
  8854        },
  8855        {
  8856          name: 'recipient',
  8857          internalType: 'address',
  8858          type: 'address',
  8859          indexed: true,
  8860        },
  8861        {
  8862          name: 'amount',
  8863          internalType: 'uint256',
  8864          type: 'uint256',
  8865          indexed: false,
  8866        },
  8867      ],
  8868      name: 'WithdrewETH',
  8869    },
  8870    {
  8871      stateMutability: 'payable',
  8872      type: 'function',
  8873      inputs: [
  8874        { name: '_target', internalType: 'address', type: 'address' },
  8875        { name: '_data', internalType: 'bytes', type: 'bytes' },
  8876        { name: '_gas', internalType: 'uint256', type: 'uint256' },
  8877        { name: '_value', internalType: 'uint256', type: 'uint256' },
  8878      ],
  8879      name: 'CALL',
  8880      outputs: [
  8881        { name: '', internalType: 'bool', type: 'bool' },
  8882        { name: '', internalType: 'bytes', type: 'bytes' },
  8883      ],
  8884    },
  8885    {
  8886      stateMutability: 'payable',
  8887      type: 'function',
  8888      inputs: [
  8889        { name: '_target', internalType: 'address', type: 'address' },
  8890        { name: '_data', internalType: 'bytes', type: 'bytes' },
  8891        { name: '_gas', internalType: 'uint256', type: 'uint256' },
  8892      ],
  8893      name: 'DELEGATECALL',
  8894      outputs: [
  8895        { name: '', internalType: 'bool', type: 'bool' },
  8896        { name: '', internalType: 'bytes', type: 'bytes' },
  8897      ],
  8898    },
  8899    {
  8900      stateMutability: 'view',
  8901      type: 'function',
  8902      inputs: [],
  8903      name: 'data',
  8904      outputs: [{ name: '', internalType: 'bytes', type: 'bytes' }],
  8905    },
  8906    {
  8907      stateMutability: 'view',
  8908      type: 'function',
  8909      inputs: [],
  8910      name: 'owner',
  8911      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  8912    },
  8913    {
  8914      stateMutability: 'view',
  8915      type: 'function',
  8916      inputs: [],
  8917      name: 'recipient',
  8918      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  8919    },
  8920    {
  8921      stateMutability: 'nonpayable',
  8922      type: 'function',
  8923      inputs: [{ name: '_data', internalType: 'bytes', type: 'bytes' }],
  8924      name: 'setData',
  8925      outputs: [],
  8926    },
  8927    {
  8928      stateMutability: 'nonpayable',
  8929      type: 'function',
  8930      inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
  8931      name: 'setOwner',
  8932      outputs: [],
  8933    },
  8934    {
  8935      stateMutability: 'nonpayable',
  8936      type: 'function',
  8937      inputs: [{ name: '_recipient', internalType: 'address', type: 'address' }],
  8938      name: 'setRecipient',
  8939      outputs: [],
  8940    },
  8941    {
  8942      stateMutability: 'nonpayable',
  8943      type: 'function',
  8944      inputs: [{ name: '_teleportr', internalType: 'address', type: 'address' }],
  8945      name: 'setTeleportr',
  8946      outputs: [],
  8947    },
  8948    {
  8949      stateMutability: 'view',
  8950      type: 'function',
  8951      inputs: [],
  8952      name: 'teleportr',
  8953      outputs: [{ name: '', internalType: 'address', type: 'address' }],
  8954    },
  8955    {
  8956      stateMutability: 'nonpayable',
  8957      type: 'function',
  8958      inputs: [
  8959        { name: '_asset', internalType: 'contract ERC20', type: 'address' },
  8960        { name: '_to', internalType: 'address', type: 'address' },
  8961        { name: '_amount', internalType: 'uint256', type: 'uint256' },
  8962      ],
  8963      name: 'withdrawERC20',
  8964      outputs: [],
  8965    },
  8966    {
  8967      stateMutability: 'nonpayable',
  8968      type: 'function',
  8969      inputs: [
  8970        { name: '_asset', internalType: 'contract ERC20', type: 'address' },
  8971        { name: '_to', internalType: 'address', type: 'address' },
  8972      ],
  8973      name: 'withdrawERC20',
  8974      outputs: [],
  8975    },
  8976    {
  8977      stateMutability: 'nonpayable',
  8978      type: 'function',
  8979      inputs: [
  8980        { name: '_asset', internalType: 'contract ERC721', type: 'address' },
  8981        { name: '_to', internalType: 'address', type: 'address' },
  8982        { name: '_id', internalType: 'uint256', type: 'uint256' },
  8983      ],
  8984      name: 'withdrawERC721',
  8985      outputs: [],
  8986    },
  8987    {
  8988      stateMutability: 'nonpayable',
  8989      type: 'function',
  8990      inputs: [
  8991        { name: '_to', internalType: 'address payable', type: 'address' },
  8992        { name: '_amount', internalType: 'uint256', type: 'uint256' },
  8993      ],
  8994      name: 'withdrawETH',
  8995      outputs: [],
  8996    },
  8997    {
  8998      stateMutability: 'nonpayable',
  8999      type: 'function',
  9000      inputs: [{ name: '_to', internalType: 'address payable', type: 'address' }],
  9001      name: 'withdrawETH',
  9002      outputs: [],
  9003    },
  9004    {
  9005      stateMutability: 'nonpayable',
  9006      type: 'function',
  9007      inputs: [],
  9008      name: 'withdrawFromTeleportr',
  9009      outputs: [],
  9010    },
  9011    { stateMutability: 'payable', type: 'receive' },
  9012  ] as const
  9013  
  9014  /**
  9015   * [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x78A25524D90E3D0596558fb43789bD800a5c3007)
  9016   */
  9017  export const teleportrWithdrawerAddress = {
  9018    1: '0x78A25524D90E3D0596558fb43789bD800a5c3007',
  9019  } as const
  9020  
  9021  /**
  9022   * [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x78A25524D90E3D0596558fb43789bD800a5c3007)
  9023   */
  9024  export const teleportrWithdrawerConfig = {
  9025    address: teleportrWithdrawerAddress,
  9026    abi: teleportrWithdrawerABI,
  9027  } as const
  9028  
  9029  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  9030  // eslintIgnore
  9031  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  9032  
  9033  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  9034  // Core
  9035  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  9036  
  9037  /**
  9038   * Wraps __{@link getContract}__ with `abi` set to __{@link addressManagerABI}__.
  9039   *
  9040   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)
  9041   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xa6f73589243a6A7a9023b1Fa0651b1d89c177111)
  9042   */
  9043  export function getAddressManager(
  9044    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9045      chainId?: keyof typeof addressManagerAddress
  9046    }
  9047  ) {
  9048    return getContract({
  9049      abi: addressManagerABI,
  9050      address:
  9051        addressManagerAddress[
  9052          config.chainId as keyof typeof addressManagerAddress
  9053        ],
  9054      ...config,
  9055    })
  9056  }
  9057  
  9058  /**
  9059   * Wraps __{@link getContract}__ with `abi` set to __{@link assetReceiverABI}__.
  9060   *
  9061   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x15DdA60616Ffca20371ED1659dBB78E888f65556)
  9062   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x15DdA60616Ffca20371ED1659dBB78E888f65556)
  9063   */
  9064  export function getAssetReceiver(
  9065    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9066      chainId?: keyof typeof assetReceiverAddress
  9067    }
  9068  ) {
  9069    return getContract({
  9070      abi: assetReceiverABI,
  9071      address:
  9072        assetReceiverAddress[config.chainId as keyof typeof assetReceiverAddress],
  9073      ...config,
  9074    })
  9075  }
  9076  
  9077  /**
  9078   * Wraps __{@link getContract}__ with `abi` set to __{@link attestationStationABI}__.
  9079   *
  9080   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0xEE36eaaD94d1Cc1d0eccaDb55C38bFfB6Be06C77)
  9081   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0xEE36eaaD94d1Cc1d0eccaDb55C38bFfB6Be06C77)
  9082   */
  9083  export function getAttestationStation(
  9084    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9085      chainId?: keyof typeof attestationStationAddress
  9086    }
  9087  ) {
  9088    return getContract({
  9089      abi: attestationStationABI,
  9090      address:
  9091        attestationStationAddress[
  9092          config.chainId as keyof typeof attestationStationAddress
  9093        ],
  9094      ...config,
  9095    })
  9096  }
  9097  
  9098  /**
  9099   * Wraps __{@link getContract}__ with `abi` set to __{@link baseFeeVaultABI}__.
  9100   *
  9101   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000019)
  9102   */
  9103  export function getBaseFeeVault(
  9104    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9105      chainId?: keyof typeof baseFeeVaultAddress
  9106    }
  9107  ) {
  9108    return getContract({
  9109      abi: baseFeeVaultABI,
  9110      address: baseFeeVaultAddress[420],
  9111      ...config,
  9112    })
  9113  }
  9114  
  9115  /**
  9116   * Wraps __{@link getContract}__ with `abi` set to __{@link checkBalanceHighABI}__.
  9117   *
  9118   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x7eC64a8a591bFf829ff6C8be76074D540ACb813F)
  9119   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x7eC64a8a591bFf829ff6C8be76074D540ACb813F)
  9120   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x5d7103853f12109A7d27F118e54BbC654ad847E9)
  9121   */
  9122  export function getCheckBalanceHigh(
  9123    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9124      chainId?: keyof typeof checkBalanceHighAddress
  9125    }
  9126  ) {
  9127    return getContract({
  9128      abi: checkBalanceHighABI,
  9129      address:
  9130        checkBalanceHighAddress[
  9131          config.chainId as keyof typeof checkBalanceHighAddress
  9132        ],
  9133      ...config,
  9134    })
  9135  }
  9136  
  9137  /**
  9138   * Wraps __{@link getContract}__ with `abi` set to __{@link checkBalanceLowABI}__.
  9139   *
  9140   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x381a4eFC2A2C914eA1889722bB4B44Fa6BD5b640)
  9141   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x381a4eFC2A2C914eA1889722bB4B44Fa6BD5b640)
  9142   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x7Ce13D154FAEE5C8B3E6b19d4Add16f21d884474)
  9143   */
  9144  export function getCheckBalanceLow(
  9145    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9146      chainId?: keyof typeof checkBalanceLowAddress
  9147    }
  9148  ) {
  9149    return getContract({
  9150      abi: checkBalanceLowABI,
  9151      address:
  9152        checkBalanceLowAddress[
  9153          config.chainId as keyof typeof checkBalanceLowAddress
  9154        ],
  9155      ...config,
  9156    })
  9157  }
  9158  
  9159  /**
  9160   * Wraps __{@link getContract}__ with `abi` set to __{@link checkGelatoLowABI}__.
  9161   *
  9162   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x4f7CFc43f6D262a085F3b946cAC69E7a8E39BBAa)
  9163   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x4f7CFc43f6D262a085F3b946cAC69E7a8E39BBAa)
  9164   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0xF9c8a4Cb4021f57F9f6d69799cA9BefF64524862)
  9165   */
  9166  export function getCheckGelatoLow(
  9167    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9168      chainId?: keyof typeof checkGelatoLowAddress
  9169    }
  9170  ) {
  9171    return getContract({
  9172      abi: checkGelatoLowABI,
  9173      address:
  9174        checkGelatoLowAddress[
  9175          config.chainId as keyof typeof checkGelatoLowAddress
  9176        ],
  9177      ...config,
  9178    })
  9179  }
  9180  
  9181  /**
  9182   * Wraps __{@link getContract}__ with `abi` set to __{@link checkTrueABI}__.
  9183   *
  9184   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x5c741a38cb11424711231777D71689C458eE835D)
  9185   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x5c741a38cb11424711231777D71689C458eE835D)
  9186   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x47443D0C184e022F19BD1578F5bca6B8a9F58E32)
  9187   */
  9188  export function getCheckTrue(
  9189    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9190      chainId?: keyof typeof checkTrueAddress
  9191    }
  9192  ) {
  9193    return getContract({
  9194      abi: checkTrueABI,
  9195      address: checkTrueAddress[config.chainId as keyof typeof checkTrueAddress],
  9196      ...config,
  9197    })
  9198  }
  9199  
  9200  /**
  9201   * Wraps __{@link getContract}__ with `abi` set to __{@link drippieABI}__.
  9202   *
  9203   * [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x44b3A2a040057eBafC601A78647e805fd58B1f50)
  9204   */
  9205  export function getDrippie(
  9206    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9207      chainId?: keyof typeof drippieAddress
  9208    }
  9209  ) {
  9210    return getContract({ abi: drippieABI, address: drippieAddress[1], ...config })
  9211  }
  9212  
  9213  /**
  9214   * Wraps __{@link getContract}__ with `abi` set to __{@link drippieGoerliABI}__.
  9215   *
  9216   * [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x44b3A2a040057eBafC601A78647e805fd58B1f50)
  9217   */
  9218  export function getDrippieGoerli(
  9219    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9220      chainId?: keyof typeof drippieGoerliAddress
  9221    }
  9222  ) {
  9223    return getContract({
  9224      abi: drippieGoerliABI,
  9225      address: drippieGoerliAddress[5],
  9226      ...config,
  9227    })
  9228  }
  9229  
  9230  /**
  9231   * Wraps __{@link getContract}__ with `abi` set to __{@link drippieOptimismGoerliABI}__.
  9232   *
  9233   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x8D8d533C16D23847EB04EEB0925be8900Dd3af86)
  9234   */
  9235  export function getDrippieOptimismGoerli(
  9236    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9237      chainId?: keyof typeof drippieOptimismGoerliAddress
  9238    }
  9239  ) {
  9240    return getContract({
  9241      abi: drippieOptimismGoerliABI,
  9242      address: drippieOptimismGoerliAddress[420],
  9243      ...config,
  9244    })
  9245  }
  9246  
  9247  /**
  9248   * Wraps __{@link getContract}__ with `abi` set to __{@link easABI}__.
  9249   *
  9250   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x4E0275Ea5a89e7a3c1B58411379D1a0eDdc5b088)
  9251   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x5A633F1cc84B03F7588486CF2F386c102061E6e1)
  9252   */
  9253  export function getEas(
  9254    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9255      chainId?: keyof typeof easAddress
  9256    }
  9257  ) {
  9258    return getContract({
  9259      abi: easABI,
  9260      address: easAddress[config.chainId as keyof typeof easAddress],
  9261      ...config,
  9262    })
  9263  }
  9264  
  9265  /**
  9266   * Wraps __{@link getContract}__ with `abi` set to __{@link gasPriceOracleABI}__.
  9267   *
  9268   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x420000000000000000000000000000000000000F)
  9269   */
  9270  export function getGasPriceOracle(
  9271    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9272      chainId?: keyof typeof gasPriceOracleAddress
  9273    }
  9274  ) {
  9275    return getContract({
  9276      abi: gasPriceOracleABI,
  9277      address: gasPriceOracleAddress[420],
  9278      ...config,
  9279    })
  9280  }
  9281  
  9282  /**
  9283   * Wraps __{@link getContract}__ with `abi` set to __{@link l1BlockABI}__.
  9284   *
  9285   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000015)
  9286   */
  9287  export function getL1Block(
  9288    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9289      chainId?: keyof typeof l1BlockAddress
  9290    }
  9291  ) {
  9292    return getContract({
  9293      abi: l1BlockABI,
  9294      address: l1BlockAddress[420],
  9295      ...config,
  9296    })
  9297  }
  9298  
  9299  /**
  9300   * Wraps __{@link getContract}__ with `abi` set to __{@link l1CrossDomainMessengerABI}__.
  9301   *
  9302   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1)
  9303   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x5086d1eEF304eb5284A0f6720f79403b4e9bE294)
  9304   */
  9305  export function getL1CrossDomainMessenger(
  9306    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9307      chainId?: keyof typeof l1CrossDomainMessengerAddress
  9308    }
  9309  ) {
  9310    return getContract({
  9311      abi: l1CrossDomainMessengerABI,
  9312      address:
  9313        l1CrossDomainMessengerAddress[
  9314          config.chainId as keyof typeof l1CrossDomainMessengerAddress
  9315        ],
  9316      ...config,
  9317    })
  9318  }
  9319  
  9320  /**
  9321   * Wraps __{@link getContract}__ with `abi` set to __{@link l1Erc721BridgeABI}__.
  9322   *
  9323   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x5a7749f83b81B301cAb5f48EB8516B986DAef23D)
  9324   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x8DD330DdE8D9898d43b4dc840Da27A07dF91b3c9)
  9325   */
  9326  export function getL1Erc721Bridge(
  9327    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9328      chainId?: keyof typeof l1Erc721BridgeAddress
  9329    }
  9330  ) {
  9331    return getContract({
  9332      abi: l1Erc721BridgeABI,
  9333      address:
  9334        l1Erc721BridgeAddress[
  9335          config.chainId as keyof typeof l1Erc721BridgeAddress
  9336        ],
  9337      ...config,
  9338    })
  9339  }
  9340  
  9341  /**
  9342   * Wraps __{@link getContract}__ with `abi` set to __{@link l1FeeVaultABI}__.
  9343   *
  9344   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x420000000000000000000000000000000000001a)
  9345   */
  9346  export function getL1FeeVault(
  9347    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9348      chainId?: keyof typeof l1FeeVaultAddress
  9349    }
  9350  ) {
  9351    return getContract({
  9352      abi: l1FeeVaultABI,
  9353      address: l1FeeVaultAddress[420],
  9354      ...config,
  9355    })
  9356  }
  9357  
  9358  /**
  9359   * Wraps __{@link getContract}__ with `abi` set to __{@link l1StandardBridgeABI}__.
  9360   *
  9361   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1)
  9362   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x636Af16bf2f682dD3109e60102b8E1A089FedAa8)
  9363   */
  9364  export function getL1StandardBridge(
  9365    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9366      chainId?: keyof typeof l1StandardBridgeAddress
  9367    }
  9368  ) {
  9369    return getContract({
  9370      abi: l1StandardBridgeABI,
  9371      address:
  9372        l1StandardBridgeAddress[
  9373          config.chainId as keyof typeof l1StandardBridgeAddress
  9374        ],
  9375      ...config,
  9376    })
  9377  }
  9378  
  9379  /**
  9380   * Wraps __{@link getContract}__ with `abi` set to __{@link l2CrossDomainMessengerABI}__.
  9381   *
  9382   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000007)
  9383   */
  9384  export function getL2CrossDomainMessenger(
  9385    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9386      chainId?: keyof typeof l2CrossDomainMessengerAddress
  9387    }
  9388  ) {
  9389    return getContract({
  9390      abi: l2CrossDomainMessengerABI,
  9391      address: l2CrossDomainMessengerAddress[420],
  9392      ...config,
  9393    })
  9394  }
  9395  
  9396  /**
  9397   * Wraps __{@link getContract}__ with `abi` set to __{@link l2Erc721BridgeABI}__.
  9398   *
  9399   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x4200000000000000000000000000000000000014)
  9400   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000014)
  9401   */
  9402  export function getL2Erc721Bridge(
  9403    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9404      chainId?: keyof typeof l2Erc721BridgeAddress
  9405    }
  9406  ) {
  9407    return getContract({
  9408      abi: l2Erc721BridgeABI,
  9409      address:
  9410        l2Erc721BridgeAddress[
  9411          config.chainId as keyof typeof l2Erc721BridgeAddress
  9412        ],
  9413      ...config,
  9414    })
  9415  }
  9416  
  9417  /**
  9418   * Wraps __{@link getContract}__ with `abi` set to __{@link l2OutputOracleABI}__.
  9419   *
  9420   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0xdfe97868233d1aa22e815a266982f2cf17685a27)
  9421   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xE6Dfba0953616Bacab0c9A8ecb3a9BBa77FC15c0)
  9422   */
  9423  export function getL2OutputOracle(
  9424    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9425      chainId?: keyof typeof l2OutputOracleAddress
  9426    }
  9427  ) {
  9428    return getContract({
  9429      abi: l2OutputOracleABI,
  9430      address:
  9431        l2OutputOracleAddress[
  9432          config.chainId as keyof typeof l2OutputOracleAddress
  9433        ],
  9434      ...config,
  9435    })
  9436  }
  9437  
  9438  /**
  9439   * Wraps __{@link getContract}__ with `abi` set to __{@link l2StandardBridgeABI}__.
  9440   *
  9441   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000010)
  9442   */
  9443  export function getL2StandardBridge(
  9444    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9445      chainId?: keyof typeof l2StandardBridgeAddress
  9446    }
  9447  ) {
  9448    return getContract({
  9449      abi: l2StandardBridgeABI,
  9450      address: l2StandardBridgeAddress[420],
  9451      ...config,
  9452    })
  9453  }
  9454  
  9455  /**
  9456   * Wraps __{@link getContract}__ with `abi` set to __{@link l2ToL1MessagePasserABI}__.
  9457   *
  9458   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000016)
  9459   */
  9460  export function getL2ToL1MessagePasser(
  9461    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9462      chainId?: keyof typeof l2ToL1MessagePasserAddress
  9463    }
  9464  ) {
  9465    return getContract({
  9466      abi: l2ToL1MessagePasserABI,
  9467      address: l2ToL1MessagePasserAddress[420],
  9468      ...config,
  9469    })
  9470  }
  9471  
  9472  /**
  9473   * Wraps __{@link getContract}__ with `abi` set to __{@link mintManagerABI}__.
  9474   *
  9475   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x5C4e7Ba1E219E47948e6e3F55019A647bA501005)
  9476   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x038a8825A3C3B0c08d52Cc76E5E361953Cf6Dc76)
  9477   */
  9478  export function getMintManager(
  9479    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9480      chainId?: keyof typeof mintManagerAddress
  9481    }
  9482  ) {
  9483    return getContract({
  9484      abi: mintManagerABI,
  9485      address:
  9486        mintManagerAddress[config.chainId as keyof typeof mintManagerAddress],
  9487      ...config,
  9488    })
  9489  }
  9490  
  9491  /**
  9492   * Wraps __{@link getContract}__ with `abi` set to __{@link optimismMintableErc20FactoryABI}__.
  9493   *
  9494   * [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x4200000000000000000000000000000000000012)
  9495   */
  9496  export function getOptimismMintableErc20Factory(
  9497    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9498      chainId?: keyof typeof optimismMintableErc20FactoryAddress
  9499    }
  9500  ) {
  9501    return getContract({
  9502      abi: optimismMintableErc20FactoryABI,
  9503      address: optimismMintableErc20FactoryAddress[1],
  9504      ...config,
  9505    })
  9506  }
  9507  
  9508  /**
  9509   * Wraps __{@link getContract}__ with `abi` set to __{@link optimismMintableErc20FactoryGoerliABI}__.
  9510   *
  9511   * [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x4200000000000000000000000000000000000012)
  9512   */
  9513  export function getOptimismMintableErc20FactoryGoerli(
  9514    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9515      chainId?: keyof typeof optimismMintableErc20FactoryGoerliAddress
  9516    }
  9517  ) {
  9518    return getContract({
  9519      abi: optimismMintableErc20FactoryGoerliABI,
  9520      address: optimismMintableErc20FactoryGoerliAddress[5],
  9521      ...config,
  9522    })
  9523  }
  9524  
  9525  /**
  9526   * Wraps __{@link getContract}__ with `abi` set to __{@link optimismMintableErc20FactoryOptimismGoerliABI}__.
  9527   *
  9528   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000012)
  9529   */
  9530  export function getOptimismMintableErc20FactoryOptimismGoerli(
  9531    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9532      chainId?: keyof typeof optimismMintableErc20FactoryOptimismGoerliAddress
  9533    }
  9534  ) {
  9535    return getContract({
  9536      abi: optimismMintableErc20FactoryOptimismGoerliABI,
  9537      address: optimismMintableErc20FactoryOptimismGoerliAddress[420],
  9538      ...config,
  9539    })
  9540  }
  9541  
  9542  /**
  9543   * Wraps __{@link getContract}__ with `abi` set to __{@link optimismMintableErc721FactoryABI}__.
  9544   *
  9545   * [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x4200000000000000000000000000000000000017)
  9546   */
  9547  export function getOptimismMintableErc721Factory(
  9548    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9549      chainId?: keyof typeof optimismMintableErc721FactoryAddress
  9550    }
  9551  ) {
  9552    return getContract({
  9553      abi: optimismMintableErc721FactoryABI,
  9554      address: optimismMintableErc721FactoryAddress[10],
  9555      ...config,
  9556    })
  9557  }
  9558  
  9559  /**
  9560   * Wraps __{@link getContract}__ with `abi` set to __{@link optimismMintableErc721FactoryOptimismGoerliABI}__.
  9561   *
  9562   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000017)
  9563   */
  9564  export function getOptimismMintableErc721FactoryOptimismGoerli(
  9565    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9566      chainId?: keyof typeof optimismMintableErc721FactoryOptimismGoerliAddress
  9567    }
  9568  ) {
  9569    return getContract({
  9570      abi: optimismMintableErc721FactoryOptimismGoerliABI,
  9571      address: optimismMintableErc721FactoryOptimismGoerliAddress[420],
  9572      ...config,
  9573    })
  9574  }
  9575  
  9576  /**
  9577   * Wraps __{@link getContract}__ with `abi` set to __{@link optimismPortalABI}__.
  9578   *
  9579   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0xbEb5Fc579115071764c7423A4f12eDde41f106Ed)
  9580   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x5b47E1A08Ea6d985D6649300584e6722Ec4B1383)
  9581   */
  9582  export function getOptimismPortal(
  9583    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9584      chainId?: keyof typeof optimismPortalAddress
  9585    }
  9586  ) {
  9587    return getContract({
  9588      abi: optimismPortalABI,
  9589      address:
  9590        optimismPortalAddress[
  9591          config.chainId as keyof typeof optimismPortalAddress
  9592        ],
  9593      ...config,
  9594    })
  9595  }
  9596  
  9597  /**
  9598   * Wraps __{@link getContract}__ with `abi` set to __{@link optimistABI}__.
  9599   *
  9600   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x2335022c740d17c2837f9C884Bfe4fFdbf0A95D5)
  9601   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x2335022c740d17c2837f9C884Bfe4fFdbf0A95D5)
  9602   */
  9603  export function getOptimist(
  9604    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9605      chainId?: keyof typeof optimistAddress
  9606    }
  9607  ) {
  9608    return getContract({
  9609      abi: optimistABI,
  9610      address: optimistAddress[config.chainId as keyof typeof optimistAddress],
  9611      ...config,
  9612    })
  9613  }
  9614  
  9615  /**
  9616   * Wraps __{@link getContract}__ with `abi` set to __{@link optimistAllowlistABI}__.
  9617   *
  9618   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x482b1945D58f2E9Db0CEbe13c7fcFc6876b41180)
  9619   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x482b1945D58f2E9Db0CEbe13c7fcFc6876b41180)
  9620   */
  9621  export function getOptimistAllowlist(
  9622    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9623      chainId?: keyof typeof optimistAllowlistAddress
  9624    }
  9625  ) {
  9626    return getContract({
  9627      abi: optimistAllowlistABI,
  9628      address:
  9629        optimistAllowlistAddress[
  9630          config.chainId as keyof typeof optimistAllowlistAddress
  9631        ],
  9632      ...config,
  9633    })
  9634  }
  9635  
  9636  /**
  9637   * Wraps __{@link getContract}__ with `abi` set to __{@link optimistInviterABI}__.
  9638   *
  9639   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x073031A1E1b8F5458Ed41Ce56331F5fd7e1de929)
  9640   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x073031A1E1b8F5458Ed41Ce56331F5fd7e1de929)
  9641   */
  9642  export function getOptimistInviter(
  9643    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9644      chainId?: keyof typeof optimistInviterAddress
  9645    }
  9646  ) {
  9647    return getContract({
  9648      abi: optimistInviterABI,
  9649      address:
  9650        optimistInviterAddress[
  9651          config.chainId as keyof typeof optimistInviterAddress
  9652        ],
  9653      ...config,
  9654    })
  9655  }
  9656  
  9657  /**
  9658   * Wraps __{@link getContract}__ with `abi` set to __{@link portalSenderABI}__.
  9659   *
  9660   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x0A893d9576b9cFD9EF78595963dc973238E78210)
  9661   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xe7FACd39531ee3C313330E93B4d7a8B8A3c84Aa4)
  9662   */
  9663  export function getPortalSender(
  9664    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9665      chainId?: keyof typeof portalSenderAddress
  9666    }
  9667  ) {
  9668    return getContract({
  9669      abi: portalSenderABI,
  9670      address:
  9671        portalSenderAddress[config.chainId as keyof typeof portalSenderAddress],
  9672      ...config,
  9673    })
  9674  }
  9675  
  9676  /**
  9677   * Wraps __{@link getContract}__ with `abi` set to __{@link protocolVersionsABI}__.
  9678   *
  9679   * [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x0C24F5098774aA366827D667494e9F889f7cFc08)
  9680   */
  9681  export function getProtocolVersions(
  9682    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9683      chainId?: keyof typeof protocolVersionsAddress
  9684    }
  9685  ) {
  9686    return getContract({
  9687      abi: protocolVersionsABI,
  9688      address: protocolVersionsAddress[5],
  9689      ...config,
  9690    })
  9691  }
  9692  
  9693  /**
  9694   * Wraps __{@link getContract}__ with `abi` set to __{@link proxyAdminABI}__.
  9695   *
  9696   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x4200000000000000000000000000000000000018)
  9697   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x4200000000000000000000000000000000000018)
  9698   */
  9699  export function getProxyAdmin(
  9700    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9701      chainId?: keyof typeof proxyAdminAddress
  9702    }
  9703  ) {
  9704    return getContract({
  9705      abi: proxyAdminABI,
  9706      address:
  9707        proxyAdminAddress[config.chainId as keyof typeof proxyAdminAddress],
  9708      ...config,
  9709    })
  9710  }
  9711  
  9712  /**
  9713   * Wraps __{@link getContract}__ with `abi` set to __{@link schemaRegistryABI}__.
  9714   *
  9715   * - [__View Contract on Op Mainnet Optimism Explorer__](https://explorer.optimism.io/address/0x6232208d66bAc2305b46b4Cb6BCB3857B298DF13)
  9716   * - [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x2545fa928d5d278cA75Fd47306e4a89096ff6403)
  9717   */
  9718  export function getSchemaRegistry(
  9719    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9720      chainId?: keyof typeof schemaRegistryAddress
  9721    }
  9722  ) {
  9723    return getContract({
  9724      abi: schemaRegistryABI,
  9725      address:
  9726        schemaRegistryAddress[
  9727          config.chainId as keyof typeof schemaRegistryAddress
  9728        ],
  9729      ...config,
  9730    })
  9731  }
  9732  
  9733  /**
  9734   * Wraps __{@link getContract}__ with `abi` set to __{@link sequencerFeeVaultABI}__.
  9735   *
  9736   * [__View Contract on Optimism Goerli Etherscan__](https://goerli-optimism.etherscan.io/address/0x4200000000000000000000000000000000000011)
  9737   */
  9738  export function getSequencerFeeVault(
  9739    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9740      chainId?: keyof typeof sequencerFeeVaultAddress
  9741    }
  9742  ) {
  9743    return getContract({
  9744      abi: sequencerFeeVaultABI,
  9745      address: sequencerFeeVaultAddress[420],
  9746      ...config,
  9747    })
  9748  }
  9749  
  9750  /**
  9751   * Wraps __{@link getContract}__ with `abi` set to __{@link systemConfigABI}__.
  9752   *
  9753   * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x229047fed2591dbec1eF1118d64F7aF3dB9EB290)
  9754   * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xAe851f927Ee40dE99aaBb7461C00f9622ab91d60)
  9755   */
  9756  export function getSystemConfig(
  9757    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9758      chainId?: keyof typeof systemConfigAddress
  9759    }
  9760  ) {
  9761    return getContract({
  9762      abi: systemConfigABI,
  9763      address:
  9764        systemConfigAddress[config.chainId as keyof typeof systemConfigAddress],
  9765      ...config,
  9766    })
  9767  }
  9768  
  9769  /**
  9770   * Wraps __{@link getContract}__ with `abi` set to __{@link systemDictatorABI}__.
  9771   *
  9772   * [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0xB4453CEb33d2e67FA244A24acf2E50CEF31F53cB)
  9773   */
  9774  export function getSystemDictator(
  9775    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9776      chainId?: keyof typeof systemDictatorAddress
  9777    }
  9778  ) {
  9779    return getContract({
  9780      abi: systemDictatorABI,
  9781      address: systemDictatorAddress[1],
  9782      ...config,
  9783    })
  9784  }
  9785  
  9786  /**
  9787   * Wraps __{@link getContract}__ with `abi` set to __{@link systemDictatorGoerliABI}__.
  9788   *
  9789   * [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x1f0613A44c9a8ECE7B3A2e0CdBdF0F5B47A50971)
  9790   */
  9791  export function getSystemDictatorGoerli(
  9792    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9793      chainId?: keyof typeof systemDictatorGoerliAddress
  9794    }
  9795  ) {
  9796    return getContract({
  9797      abi: systemDictatorGoerliABI,
  9798      address: systemDictatorGoerliAddress[5],
  9799      ...config,
  9800    })
  9801  }
  9802  
  9803  /**
  9804   * Wraps __{@link getContract}__ with `abi` set to __{@link teleportrWithdrawerABI}__.
  9805   *
  9806   * [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x78A25524D90E3D0596558fb43789bD800a5c3007)
  9807   */
  9808  export function getTeleportrWithdrawer(
  9809    config: Omit<GetContractArgs, 'abi' | 'address'> & {
  9810      chainId?: keyof typeof teleportrWithdrawerAddress
  9811    }
  9812  ) {
  9813    return getContract({
  9814      abi: teleportrWithdrawerABI,
  9815      address: teleportrWithdrawerAddress[1],
  9816      ...config,
  9817    })
  9818  }