// Generated by build script for version 2.8.12-12fea76
import { Hex } from 'viem'
export * from './abi'
export * from './utils'

/**
 * This file contains the addresses of the contracts deployed on the EcoProtocol network
 * for the current npm package release. The addresses are generated by the deploy script.
 *
 * @packageDocumentation
 * @module index
*/
export const EcoProtocolAddresses = {
  "1": {
    "IntentSource": "0x2020ae689ED3e017450280CEA110d0ef6E640Da4",
    "Inbox": "0x04c816032A076dF65b411Bb3F31c8d569d411ee2",
    "HyperProver": "0x0f124aA8F92F47302fCba08b7349AEFEe853Ed8d",
    "MetaProver": "0x0000000000000000000000000000000000000000"
  },
  "10": {
    "IntentSource": "0x2020ae689ED3e017450280CEA110d0ef6E640Da4",
    "Inbox": "0x04c816032A076dF65b411Bb3F31c8d569d411ee2",
    "HyperProver": "0x0f124aA8F92F47302fCba08b7349AEFEe853Ed8d",
    "MetaProver": "0x0000000000000000000000000000000000000000"
  },
  "56": {
    "IntentSource": "0x2020ae689ED3e017450280CEA110d0ef6E640Da4",
    "Inbox": "0x04c816032A076dF65b411Bb3F31c8d569d411ee2",
    "HyperProver": "0x0f124aA8F92F47302fCba08b7349AEFEe853Ed8d",
    "MetaProver": "0x3d529eFAEDb3B999A404c1B8543441aE616cB914"
  },
  "130": {
    "IntentSource": "0x2020ae689ED3e017450280CEA110d0ef6E640Da4",
    "Inbox": "0x04c816032A076dF65b411Bb3F31c8d569d411ee2",
    "HyperProver": "0x0f124aA8F92F47302fCba08b7349AEFEe853Ed8d",
    "MetaProver": "0x0000000000000000000000000000000000000000"
  },
  "137": {
    "IntentSource": "0x2020ae689ED3e017450280CEA110d0ef6E640Da4",
    "Inbox": "0x04c816032A076dF65b411Bb3F31c8d569d411ee2",
    "HyperProver": "0x0f124aA8F92F47302fCba08b7349AEFEe853Ed8d",
    "MetaProver": "0x0000000000000000000000000000000000000000"
  },
  "146": {
    "IntentSource": "0x2020ae689ED3e017450280CEA110d0ef6E640Da4",
    "Inbox": "0x04c816032A076dF65b411Bb3F31c8d569d411ee2",
    "HyperProver": "0x0f124aA8F92F47302fCba08b7349AEFEe853Ed8d",
    "MetaProver": "0x0000000000000000000000000000000000000000"
  },
  "169": {
    "IntentSource": "0x2020ae689ED3e017450280CEA110d0ef6E640Da4",
    "Inbox": "0x04c816032A076dF65b411Bb3F31c8d569d411ee2",
    "HyperProver": "0x0f124aA8F92F47302fCba08b7349AEFEe853Ed8d",
    "MetaProver": "0x3d529eFAEDb3B999A404c1B8543441aE616cB914"
  },
  "360": {
    "IntentSource": "0x2020ae689ED3e017450280CEA110d0ef6E640Da4",
    "Inbox": "0x04c816032A076dF65b411Bb3F31c8d569d411ee2",
    "HyperProver": "0x0f124aA8F92F47302fCba08b7349AEFEe853Ed8d",
    "MetaProver": "0x3d529eFAEDb3B999A404c1B8543441aE616cB914"
  },
  "466": {
    "IntentSource": "0x2020ae689ED3e017450280CEA110d0ef6E640Da4",
    "Inbox": "0x04c816032A076dF65b411Bb3F31c8d569d411ee2",
    "MetaProver": "0x3d529eFAEDb3B999A404c1B8543441aE616cB914",
    "HyperProver": "0x0000000000000000000000000000000000000000"
  },
  "478": {
    "IntentSource": "0x2020ae689ED3e017450280CEA110d0ef6E640Da4",
    "Inbox": "0x04c816032A076dF65b411Bb3F31c8d569d411ee2",
    "HyperProver": "0x0f124aA8F92F47302fCba08b7349AEFEe853Ed8d",
    "MetaProver": "0x3d529eFAEDb3B999A404c1B8543441aE616cB914"
  },
  "480": {
    "IntentSource": "0xeA5a5D21c9A4C7AEa216f63e0A6f9550092675aB",
    "Inbox": "0xc06F962a412c7aF34E44D324AaBF340365f29a55",
    "HyperProver": "0x1871c138cEaB2bB36c5dBcAED0AB4BC88271feE7",
    "MetaProver": "0x0000000000000000000000000000000000000000"
  },
  "1992": {
    "IntentSource": "0x2020ae689ED3e017450280CEA110d0ef6E640Da4",
    "Inbox": "0x04c816032A076dF65b411Bb3F31c8d569d411ee2",
    "MetaProver": "0x3d529eFAEDb3B999A404c1B8543441aE616cB914",
    "HyperProver": "0x0000000000000000000000000000000000000000"
  },
  "1996": {
    "IntentSource": "0x2020ae689ED3e017450280CEA110d0ef6E640Da4",
    "Inbox": "0x04c816032A076dF65b411Bb3F31c8d569d411ee2",
    "HyperProver": "0x0f124aA8F92F47302fCba08b7349AEFEe853Ed8d",
    "MetaProver": "0x3d529eFAEDb3B999A404c1B8543441aE616cB914"
  },
  "2525": {
    "IntentSource": "0x2020ae689ED3e017450280CEA110d0ef6E640Da4",
    "Inbox": "0x04c816032A076dF65b411Bb3F31c8d569d411ee2",
    "HyperProver": "0x0f124aA8F92F47302fCba08b7349AEFEe853Ed8d",
    "MetaProver": "0x3d529eFAEDb3B999A404c1B8543441aE616cB914"
  },
  "5000": {
    "IntentSource": "0x2020ae689ED3e017450280CEA110d0ef6E640Da4",
    "Inbox": "0x04c816032A076dF65b411Bb3F31c8d569d411ee2",
    "HyperProver": "0x0f124aA8F92F47302fCba08b7349AEFEe853Ed8d",
    "MetaProver": "0x0000000000000000000000000000000000000000"
  },
  "5330": {
    "IntentSource": "0x2020ae689ED3e017450280CEA110d0ef6E640Da4",
    "Inbox": "0x04c816032A076dF65b411Bb3F31c8d569d411ee2",
    "HyperProver": "0x0f124aA8F92F47302fCba08b7349AEFEe853Ed8d",
    "MetaProver": "0x0000000000000000000000000000000000000000"
  },
  "8333": {
    "IntentSource": "0x2020ae689ED3e017450280CEA110d0ef6E640Da4",
    "Inbox": "0x04c816032A076dF65b411Bb3F31c8d569d411ee2",
    "HyperProver": "0x0f124aA8F92F47302fCba08b7349AEFEe853Ed8d",
    "MetaProver": "0x3d529eFAEDb3B999A404c1B8543441aE616cB914"
  },
  "8453": {
    "IntentSource": "0x2020ae689ED3e017450280CEA110d0ef6E640Da4",
    "Inbox": "0x04c816032A076dF65b411Bb3F31c8d569d411ee2",
    "HyperProver": "0x0f124aA8F92F47302fCba08b7349AEFEe853Ed8d",
    "MetaProver": "0x3d529eFAEDb3B999A404c1B8543441aE616cB914"
  },
  "33111": {
    "IntentSource": "0x2020ae689ED3e017450280CEA110d0ef6E640Da4",
    "Inbox": "0x04c816032A076dF65b411Bb3F31c8d569d411ee2",
    "MetaProver": "0x3d529eFAEDb3B999A404c1B8543441aE616cB914",
    "HyperProver": "0x0000000000000000000000000000000000000000"
  },
  "33139": {
    "IntentSource": "0x2020ae689ED3e017450280CEA110d0ef6E640Da4",
    "Inbox": "0x04c816032A076dF65b411Bb3F31c8d569d411ee2",
    "HyperProver": "0x0f124aA8F92F47302fCba08b7349AEFEe853Ed8d",
    "MetaProver": "0x3d529eFAEDb3B999A404c1B8543441aE616cB914"
  },
  "42161": {
    "IntentSource": "0x2020ae689ED3e017450280CEA110d0ef6E640Da4",
    "Inbox": "0x04c816032A076dF65b411Bb3F31c8d569d411ee2",
    "HyperProver": "0x0f124aA8F92F47302fCba08b7349AEFEe853Ed8d",
    "MetaProver": "0x3d529eFAEDb3B999A404c1B8543441aE616cB914"
  },
  "42220": {
    "IntentSource": "0x2020ae689ED3e017450280CEA110d0ef6E640Da4",
    "Inbox": "0x04c816032A076dF65b411Bb3F31c8d569d411ee2",
    "HyperProver": "0x0f124aA8F92F47302fCba08b7349AEFEe853Ed8d",
    "MetaProver": "0x0000000000000000000000000000000000000000"
  },
  "57073": {
    "IntentSource": "0x2020ae689ED3e017450280CEA110d0ef6E640Da4",
    "Inbox": "0x04c816032A076dF65b411Bb3F31c8d569d411ee2",
    "HyperProver": "0x0f124aA8F92F47302fCba08b7349AEFEe853Ed8d",
    "MetaProver": "0x0000000000000000000000000000000000000000"
  },
  "84532": {
    "IntentSource": "0x2020ae689ED3e017450280CEA110d0ef6E640Da4",
    "Inbox": "0x04c816032A076dF65b411Bb3F31c8d569d411ee2",
    "HyperProver": "0x0f124aA8F92F47302fCba08b7349AEFEe853Ed8d",
    "MetaProver": "0x0000000000000000000000000000000000000000"
  },
  "3441006": {
    "IntentSource": "0x2020ae689ED3e017450280CEA110d0ef6E640Da4",
    "Inbox": "0x04c816032A076dF65b411Bb3F31c8d569d411ee2",
    "MetaProver": "0x3d529eFAEDb3B999A404c1B8543441aE616cB914",
    "HyperProver": "0x0000000000000000000000000000000000000000"
  },
  "6524490": {
    "IntentSource": "0x2020ae689ED3e017450280CEA110d0ef6E640Da4",
    "Inbox": "0x04c816032A076dF65b411Bb3F31c8d569d411ee2",
    "MetaProver": "0x3d529eFAEDb3B999A404c1B8543441aE616cB914",
    "HyperProver": "0x0000000000000000000000000000000000000000"
  },
  "10241024": {
    "IntentSource": "0x2020ae689ED3e017450280CEA110d0ef6E640Da4",
    "Inbox": "0x04c816032A076dF65b411Bb3F31c8d569d411ee2",
    "MetaProver": "0x3d529eFAEDb3B999A404c1B8543441aE616cB914",
    "HyperProver": "0x0000000000000000000000000000000000000000"
  },
  "11155111": {
    "IntentSource": "0x2020ae689ED3e017450280CEA110d0ef6E640Da4",
    "Inbox": "0x04c816032A076dF65b411Bb3F31c8d569d411ee2",
    "HyperProver": "0x0f124aA8F92F47302fCba08b7349AEFEe853Ed8d",
    "MetaProver": "0x0000000000000000000000000000000000000000"
  },
  "11155420": {
    "IntentSource": "0x2020ae689ED3e017450280CEA110d0ef6E640Da4",
    "Inbox": "0x04c816032A076dF65b411Bb3F31c8d569d411ee2",
    "HyperProver": "0x0f124aA8F92F47302fCba08b7349AEFEe853Ed8d",
    "MetaProver": "0x0000000000000000000000000000000000000000"
  },
  "1380012617": {
    "IntentSource": "0x2020ae689ED3e017450280CEA110d0ef6E640Da4",
    "Inbox": "0x04c816032A076dF65b411Bb3F31c8d569d411ee2",
    "HyperProver": "0x0f124aA8F92F47302fCba08b7349AEFEe853Ed8d",
    "MetaProver": "0x3d529eFAEDb3B999A404c1B8543441aE616cB914"
  },
  "1-pre": {
    "IntentSource": "0x17683C781adb1CD185B08041dA61b02a2DF65538",
    "Inbox": "0xE02A17467Df7b1950C8849dA226844e5d3Db781a",
    "HyperProver": "0x06A931CC393692eC523E413e341A00fe6C801824",
    "MetaProver": "0x0000000000000000000000000000000000000000"
  },
  "10-pre": {
    "IntentSource": "0x17683C781adb1CD185B08041dA61b02a2DF65538",
    "Inbox": "0xE02A17467Df7b1950C8849dA226844e5d3Db781a",
    "HyperProver": "0x06A931CC393692eC523E413e341A00fe6C801824",
    "MetaProver": "0x0000000000000000000000000000000000000000"
  },
  "56-pre": {
    "IntentSource": "0x17683C781adb1CD185B08041dA61b02a2DF65538",
    "Inbox": "0xE02A17467Df7b1950C8849dA226844e5d3Db781a",
    "HyperProver": "0x06A931CC393692eC523E413e341A00fe6C801824",
    "MetaProver": "0x3d529eFAEDb3B999A404c1B8543441aE616cB914"
  },
  "130-pre": {
    "IntentSource": "0x17683C781adb1CD185B08041dA61b02a2DF65538",
    "Inbox": "0xE02A17467Df7b1950C8849dA226844e5d3Db781a",
    "HyperProver": "0x06A931CC393692eC523E413e341A00fe6C801824",
    "MetaProver": "0x0000000000000000000000000000000000000000"
  },
  "137-pre": {
    "IntentSource": "0x17683C781adb1CD185B08041dA61b02a2DF65538",
    "Inbox": "0xE02A17467Df7b1950C8849dA226844e5d3Db781a",
    "HyperProver": "0x06A931CC393692eC523E413e341A00fe6C801824",
    "MetaProver": "0x0000000000000000000000000000000000000000"
  },
  "146-pre": {
    "IntentSource": "0x17683C781adb1CD185B08041dA61b02a2DF65538",
    "Inbox": "0xE02A17467Df7b1950C8849dA226844e5d3Db781a",
    "HyperProver": "0x06A931CC393692eC523E413e341A00fe6C801824",
    "MetaProver": "0x0000000000000000000000000000000000000000"
  },
  "169-pre": {
    "IntentSource": "0x17683C781adb1CD185B08041dA61b02a2DF65538",
    "Inbox": "0xE02A17467Df7b1950C8849dA226844e5d3Db781a",
    "HyperProver": "0x06A931CC393692eC523E413e341A00fe6C801824",
    "MetaProver": "0x3d529eFAEDb3B999A404c1B8543441aE616cB914"
  },
  "360-pre": {
    "IntentSource": "0x17683C781adb1CD185B08041dA61b02a2DF65538",
    "Inbox": "0xE02A17467Df7b1950C8849dA226844e5d3Db781a",
    "HyperProver": "0x06A931CC393692eC523E413e341A00fe6C801824",
    "MetaProver": "0x3d529eFAEDb3B999A404c1B8543441aE616cB914"
  },
  "466-pre": {
    "IntentSource": "0x17683C781adb1CD185B08041dA61b02a2DF65538",
    "Inbox": "0xE02A17467Df7b1950C8849dA226844e5d3Db781a",
    "MetaProver": "0x3d529eFAEDb3B999A404c1B8543441aE616cB914",
    "HyperProver": "0x0000000000000000000000000000000000000000"
  },
  "478-pre": {
    "IntentSource": "0x17683C781adb1CD185B08041dA61b02a2DF65538",
    "Inbox": "0xE02A17467Df7b1950C8849dA226844e5d3Db781a",
    "HyperProver": "0x06A931CC393692eC523E413e341A00fe6C801824",
    "MetaProver": "0x3d529eFAEDb3B999A404c1B8543441aE616cB914"
  },
  "480-pre": {
    "IntentSource": "0xe39F0072f5C267ae79cC81b6D404d66c00D91092",
    "Inbox": "0x46a5C76Fe4248Bc49D9f934903ac212A9EFe0995",
    "HyperProver": "0xA9b1aA9f11045EFd418e50F96fa9c019C39ff70F",
    "MetaProver": "0x0000000000000000000000000000000000000000"
  },
  "1992-pre": {
    "IntentSource": "0x17683C781adb1CD185B08041dA61b02a2DF65538",
    "Inbox": "0xE02A17467Df7b1950C8849dA226844e5d3Db781a",
    "MetaProver": "0x3d529eFAEDb3B999A404c1B8543441aE616cB914",
    "HyperProver": "0x0000000000000000000000000000000000000000"
  },
  "1996-pre": {
    "IntentSource": "0x17683C781adb1CD185B08041dA61b02a2DF65538",
    "Inbox": "0xE02A17467Df7b1950C8849dA226844e5d3Db781a",
    "HyperProver": "0x06A931CC393692eC523E413e341A00fe6C801824",
    "MetaProver": "0x3d529eFAEDb3B999A404c1B8543441aE616cB914"
  },
  "2525-pre": {
    "IntentSource": "0x17683C781adb1CD185B08041dA61b02a2DF65538",
    "Inbox": "0xE02A17467Df7b1950C8849dA226844e5d3Db781a",
    "HyperProver": "0x06A931CC393692eC523E413e341A00fe6C801824",
    "MetaProver": "0x3d529eFAEDb3B999A404c1B8543441aE616cB914"
  },
  "5000-pre": {
    "IntentSource": "0x17683C781adb1CD185B08041dA61b02a2DF65538",
    "Inbox": "0xE02A17467Df7b1950C8849dA226844e5d3Db781a",
    "HyperProver": "0x06A931CC393692eC523E413e341A00fe6C801824",
    "MetaProver": "0x0000000000000000000000000000000000000000"
  },
  "5330-pre": {
    "IntentSource": "0x17683C781adb1CD185B08041dA61b02a2DF65538",
    "Inbox": "0xE02A17467Df7b1950C8849dA226844e5d3Db781a",
    "HyperProver": "0x06A931CC393692eC523E413e341A00fe6C801824",
    "MetaProver": "0x0000000000000000000000000000000000000000"
  },
  "8333-pre": {
    "IntentSource": "0x17683C781adb1CD185B08041dA61b02a2DF65538",
    "Inbox": "0xE02A17467Df7b1950C8849dA226844e5d3Db781a",
    "HyperProver": "0x06A931CC393692eC523E413e341A00fe6C801824",
    "MetaProver": "0x3d529eFAEDb3B999A404c1B8543441aE616cB914"
  },
  "8453-pre": {
    "IntentSource": "0x17683C781adb1CD185B08041dA61b02a2DF65538",
    "Inbox": "0xE02A17467Df7b1950C8849dA226844e5d3Db781a",
    "HyperProver": "0x06A931CC393692eC523E413e341A00fe6C801824",
    "MetaProver": "0x3d529eFAEDb3B999A404c1B8543441aE616cB914"
  },
  "33111-pre": {
    "IntentSource": "0x17683C781adb1CD185B08041dA61b02a2DF65538",
    "Inbox": "0xE02A17467Df7b1950C8849dA226844e5d3Db781a",
    "MetaProver": "0x3d529eFAEDb3B999A404c1B8543441aE616cB914",
    "HyperProver": "0x0000000000000000000000000000000000000000"
  },
  "33139-pre": {
    "IntentSource": "0x17683C781adb1CD185B08041dA61b02a2DF65538",
    "Inbox": "0xE02A17467Df7b1950C8849dA226844e5d3Db781a",
    "HyperProver": "0x06A931CC393692eC523E413e341A00fe6C801824",
    "MetaProver": "0x3d529eFAEDb3B999A404c1B8543441aE616cB914"
  },
  "42161-pre": {
    "IntentSource": "0x17683C781adb1CD185B08041dA61b02a2DF65538",
    "Inbox": "0xE02A17467Df7b1950C8849dA226844e5d3Db781a",
    "HyperProver": "0x06A931CC393692eC523E413e341A00fe6C801824",
    "MetaProver": "0x3d529eFAEDb3B999A404c1B8543441aE616cB914"
  },
  "42220-pre": {
    "IntentSource": "0x17683C781adb1CD185B08041dA61b02a2DF65538",
    "Inbox": "0xE02A17467Df7b1950C8849dA226844e5d3Db781a",
    "HyperProver": "0x06A931CC393692eC523E413e341A00fe6C801824",
    "MetaProver": "0x0000000000000000000000000000000000000000"
  },
  "57073-pre": {
    "IntentSource": "0x17683C781adb1CD185B08041dA61b02a2DF65538",
    "Inbox": "0xE02A17467Df7b1950C8849dA226844e5d3Db781a",
    "HyperProver": "0x06A931CC393692eC523E413e341A00fe6C801824",
    "MetaProver": "0x0000000000000000000000000000000000000000"
  },
  "84532-pre": {
    "IntentSource": "0x17683C781adb1CD185B08041dA61b02a2DF65538",
    "Inbox": "0xE02A17467Df7b1950C8849dA226844e5d3Db781a",
    "HyperProver": "0x06A931CC393692eC523E413e341A00fe6C801824",
    "MetaProver": "0x0000000000000000000000000000000000000000"
  },
  "3441006-pre": {
    "IntentSource": "0x17683C781adb1CD185B08041dA61b02a2DF65538",
    "Inbox": "0xE02A17467Df7b1950C8849dA226844e5d3Db781a",
    "MetaProver": "0x3d529eFAEDb3B999A404c1B8543441aE616cB914",
    "HyperProver": "0x0000000000000000000000000000000000000000"
  },
  "6524490-pre": {
    "IntentSource": "0x17683C781adb1CD185B08041dA61b02a2DF65538",
    "Inbox": "0xE02A17467Df7b1950C8849dA226844e5d3Db781a",
    "MetaProver": "0x3d529eFAEDb3B999A404c1B8543441aE616cB914",
    "HyperProver": "0x0000000000000000000000000000000000000000"
  },
  "10241024-pre": {
    "IntentSource": "0x17683C781adb1CD185B08041dA61b02a2DF65538",
    "Inbox": "0xE02A17467Df7b1950C8849dA226844e5d3Db781a",
    "MetaProver": "0x3d529eFAEDb3B999A404c1B8543441aE616cB914",
    "HyperProver": "0x0000000000000000000000000000000000000000"
  },
  "11155111-pre": {
    "IntentSource": "0x17683C781adb1CD185B08041dA61b02a2DF65538",
    "Inbox": "0xE02A17467Df7b1950C8849dA226844e5d3Db781a",
    "HyperProver": "0x06A931CC393692eC523E413e341A00fe6C801824",
    "MetaProver": "0x0000000000000000000000000000000000000000"
  },
  "11155420-pre": {
    "IntentSource": "0x17683C781adb1CD185B08041dA61b02a2DF65538",
    "Inbox": "0xE02A17467Df7b1950C8849dA226844e5d3Db781a",
    "HyperProver": "0x06A931CC393692eC523E413e341A00fe6C801824",
    "MetaProver": "0x0000000000000000000000000000000000000000"
  },
  "1380012617-pre": {
    "IntentSource": "0x17683C781adb1CD185B08041dA61b02a2DF65538",
    "Inbox": "0xE02A17467Df7b1950C8849dA226844e5d3Db781a",
    "HyperProver": "0x06A931CC393692eC523E413e341A00fe6C801824",
    "MetaProver": "0x3d529eFAEDb3B999A404c1B8543441aE616cB914"
  }
} as const;

/**
 * The eco protocol chain configuration type. Represents
 * all the deployed contracts on a chain.
 * 
 * @packageDocumentation
 * @module index
 */
export type EcoChainConfig = {
  IntentSource: Hex,
  Inbox: Hex,
  HyperProver: Hex,
  MetaProver: Hex
}

/**
 * The chain ids of the eco protocol, including the different environments. 
 */
export type EcoChainIdsEnv = keyof typeof EcoProtocolAddresses

/**
 * The chain ids of the eco protocol, exluding the different environments. 
 */
export type EcoChainIds = Exclude<EcoChainIdsEnv, `${number}-pre`> extends `${infer N extends number}` ? N : never;
export type ContractName<T extends EcoChainIdsEnv> = keyof typeof EcoProtocolAddresses[T];

/**
 * An array of all the chain ids of the eco protocol, including the different environments.
 */
export const EcoChainIdsEnvArray: EcoChainIdsEnv[] = Object.keys(EcoProtocolAddresses) as EcoChainIdsEnv[];

/**
 * An array of all the chain ids of the eco protocol, excluding the different environments.
 */
export const EcoChainIdsArray: EcoChainIds[] = EcoChainIdsEnvArray.filter(
  (chainId) => !chainId.includes('-')
).map((chainId) => parseInt(chainId) as EcoChainIds);

export function getContractAddress<T extends EcoChainIdsEnv>(
  chainId: T,
  contractName: ContractName<T>
): Hex {
  return EcoProtocolAddresses[chainId][contractName] as Hex;
}
