"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isSupportedNetworkT3rn = exports.idToNativeAssetName = exports.nativeAssetsList = exports.idToContractsConfig = exports.idToName = exports.isSupportedAssetT3rn = exports.AssetPriceProviders = void 0;
const tslib_1 = require("tslib");
const abstract_sepolia_contracts_json_1 = tslib_1.__importDefault(require("../config/networks/abstract-sepolia-contracts.json"));
const arbitrum_contracts_json_1 = tslib_1.__importDefault(require("../config/networks/arbitrum-contracts.json"));
const arbitrum_sepolia_contracts_json_1 = tslib_1.__importDefault(require("../config/networks/arbitrum-sepolia-contracts.json"));
const base_contracts_json_1 = tslib_1.__importDefault(require("../config/networks/base-contracts.json"));
const base_sepolia_contracts_json_1 = tslib_1.__importDefault(require("../config/networks/base-sepolia-contracts.json"));
const berachain_bepolia_contracts_json_1 = tslib_1.__importDefault(require("../config/networks/berachain-bepolia-contracts.json"));
const binance_contracts_json_1 = tslib_1.__importDefault(require("../config/networks/binance-contracts.json"));
const binance_testnet_contracts_json_1 = tslib_1.__importDefault(require("../config/networks/binance-testnet-contracts.json"));
const blast_sepolia_contracts_json_1 = tslib_1.__importDefault(require("../config/networks/blast-sepolia-contracts.json"));
const __empty_contracts_json_1 = tslib_1.__importDefault(require("../config/networks/__empty-contracts.json"));
const ethereum_contracts_json_1 = tslib_1.__importDefault(require("../config/networks/ethereum-contracts.json"));
const l0rn_contracts_json_1 = tslib_1.__importDefault(require("../config/networks/l0rn-contracts.json"));
const l1rn_contracts_json_1 = tslib_1.__importDefault(require("../config/networks/l1rn-contracts.json"));
const l2rn_contracts_json_1 = tslib_1.__importDefault(require("../config/networks/l2rn-contracts.json"));
const linea_contracts_json_1 = tslib_1.__importDefault(require("../config/networks/linea-contracts.json"));
const linea_sepolia_contracts_json_1 = tslib_1.__importDefault(require("../config/networks/linea-sepolia-contracts.json"));
const lisk_sepolia_contracts_json_1 = tslib_1.__importDefault(require("../config/networks/lisk-sepolia-contracts.json"));
const optimism_contracts_json_1 = tslib_1.__importDefault(require("../config/networks/optimism-contracts.json"));
const optimism_sepolia_contracts_json_1 = tslib_1.__importDefault(require("../config/networks/optimism-sepolia-contracts.json"));
const scroll_sepolia_contracts_json_1 = tslib_1.__importDefault(require("../config/networks/scroll-sepolia-contracts.json"));
const sepolia_contracts_json_1 = tslib_1.__importDefault(require("../config/networks/sepolia-contracts.json"));
const t3rn_contracts_json_1 = tslib_1.__importDefault(require("../config/networks/t3rn-contracts.json"));
const txrn_local_contracts_json_1 = tslib_1.__importDefault(require("../config/networks/txrn-local-contracts.json"));
const unichain_sepolia_contracts_json_1 = tslib_1.__importDefault(require("../config/networks/unichain-sepolia-contracts.json"));
const enums_1 = require("./enums");
const monad_testnet_contracts_json_1 = tslib_1.__importDefault(require("../config/networks/monad-testnet-contracts.json"));
const sei_testnet_contracts_json_1 = tslib_1.__importDefault(require("../config/networks/sei-testnet-contracts.json"));
const gnosis_testnet_1 = tslib_1.__importDefault(require("../config/networks/gnosis-testnet"));
var AssetPriceProviders;
(function (AssetPriceProviders) {
    AssetPriceProviders["Moralis"] = "Moralis";
    AssetPriceProviders["Pyth"] = "Pyth";
    AssetPriceProviders["Coinbase"] = "Coinbase";
})(AssetPriceProviders || (exports.AssetPriceProviders = AssetPriceProviders = {}));
const assetsT3rn = [
    'eth',
    'btc',
    'bera',
    'bnb',
    'dai',
    'xdai',
    'optimism',
    'arbitrum',
    'matic',
    'sol',
    'dot',
    'usdc',
    'usdt',
    'trn',
    'brn',
    'mon',
    'sei',
    'lrn',
    't3dot',
    't3btc',
    't3sol',
    't3usd',
    't3tia',
    't3eth',
    't3mon',
    't3sei',
];
const isSupportedAssetT3rn = (asset) => assetsT3rn.includes(asset);
exports.isSupportedAssetT3rn = isSupportedAssetT3rn;
const networkIdsT3rn = [
    /*
     * Mainnets
     */
    'arbm',
    'basm',
    'bscm',
    'blsm',
    'btcm',
    'unim',
    'ethm',
    'linm',
    'optm',
    'scrm',
    'l3rn',
    't3rn',
    'btcm',
    /*
     * Testnets
     */
    'arbt',
    'bast',
    'bsct',
    'blst',
    'lint',
    'unit',
    'opst',
    'scrt',
    'sept',
    'lint',
    'l0rn',
    'l1rn',
    'l2rn',
    't1rn',
    't2rn',
    /*
     * Testnets Season 2
     */
    'bert',
    'berm',
    'abst',
    'absm',
    'lskt',
    'lskm',
    'mont',
    'monm',
    'seim',
    'seit',
    'gnot',
    'gnom',
    'sklt',
    'sklm',
    /*
     * Local dev
     */
    'lol3',
    'lols',
    'lold',
    'zero',
    /*
     * Exotic
     */
    'ctit',
    'ctim',
];
exports.idToName = {
    absm: 'abstract',
    abst: 'abstract-sepolia',
    arbm: 'arbitrum',
    arbt: 'arbitrum-sepolia',
    basm: 'base',
    bast: 'base-sepolia',
    berm: 'berachain',
    btcm: 'bitcoin',
    bert: 'berachain-bepolia',
    blsm: 'blast',
    blst: 'blast-sepolia',
    bscm: 'binance',
    bsct: 'binance-testnet',
    ctim: 'celestia',
    ctit: 'celestia-mocha',
    ethm: 'ethereum',
    gnom: 'gnosis',
    gnot: 'gnosis-testnet',
    l0rn: 'l0rn',
    l1rn: 'l1rn',
    l2rn: 'l2rn',
    l3rn: 'l3rn',
    linm: 'linea',
    lint: 'linea-sepolia',
    lol3: 'lol3',
    lold: 'lold',
    lols: 'lols',
    lskm: 'lisk-mainnet',
    lskt: 'lisk-sepolia',
    opst: 'optimism-sepolia',
    optm: 'optimism',
    scrm: 'scroll',
    scrt: 'scroll-sepolia',
    sept: 'sepolia',
    t1rn: 't1rn',
    t2rn: 't2rn',
    t3rn: 't3rn',
    unim: 'unichain',
    unit: 'unichain-sepolia',
    mont: 'monad-testnet',
    monm: 'monad',
    seim: 'sei',
    seit: 'sei-testnet',
    zero: 'zero',
    sklm: 'skale-europa',
    sklt: 'skale-europa-testnet',
};
exports.idToContractsConfig = {
    arbm: arbitrum_contracts_json_1.default,
    arbt: arbitrum_sepolia_contracts_json_1.default,
    basm: base_contracts_json_1.default,
    bast: base_sepolia_contracts_json_1.default,
    bscm: binance_contracts_json_1.default,
    bsct: binance_testnet_contracts_json_1.default,
    blsm: __empty_contracts_json_1.default,
    blst: blast_sepolia_contracts_json_1.default,
    ethm: ethereum_contracts_json_1.default,
    gnom: __empty_contracts_json_1.default,
    gnot: gnosis_testnet_1.default,
    abst: abstract_sepolia_contracts_json_1.default,
    absm: __empty_contracts_json_1.default,
    seim: __empty_contracts_json_1.default,
    seit: sei_testnet_contracts_json_1.default,
    linm: linea_contracts_json_1.default,
    lint: linea_sepolia_contracts_json_1.default,
    optm: optimism_contracts_json_1.default,
    opst: optimism_sepolia_contracts_json_1.default,
    unim: unichain_sepolia_contracts_json_1.default,
    unit: unichain_sepolia_contracts_json_1.default,
    scrm: scroll_sepolia_contracts_json_1.default,
    l3rn: __empty_contracts_json_1.default,
    t3rn: t3rn_contracts_json_1.default,
    scrt: scroll_sepolia_contracts_json_1.default,
    sept: sepolia_contracts_json_1.default,
    l0rn: l0rn_contracts_json_1.default,
    l1rn: l1rn_contracts_json_1.default,
    l2rn: l2rn_contracts_json_1.default,
    t1rn: txrn_local_contracts_json_1.default,
    t2rn: txrn_local_contracts_json_1.default,
    bert: berachain_bepolia_contracts_json_1.default,
    berm: berachain_bepolia_contracts_json_1.default,
    lskt: lisk_sepolia_contracts_json_1.default,
    lskm: lisk_sepolia_contracts_json_1.default,
    mont: monad_testnet_contracts_json_1.default,
    monm: __empty_contracts_json_1.default,
    lol3: __empty_contracts_json_1.default,
    lols: __empty_contracts_json_1.default,
    lold: __empty_contracts_json_1.default,
    zero: __empty_contracts_json_1.default,
    btcm: __empty_contracts_json_1.default,
    ctim: __empty_contracts_json_1.default,
    ctit: __empty_contracts_json_1.default,
    sklm: __empty_contracts_json_1.default,
    sklt: __empty_contracts_json_1.default,
};
exports.nativeAssetsList = [
    enums_1.AssetName.ETH,
    enums_1.AssetName.BNB,
    enums_1.AssetName.MON,
    enums_1.AssetName.TRN,
    enums_1.AssetName.L0RN,
    enums_1.AssetName.BRN,
    enums_1.AssetName.SEI,
    enums_1.AssetName.XDAI,
    enums_1.AssetName.BERA,
];
exports.idToNativeAssetName = {
    arbm: enums_1.AssetName.ETH,
    btcm: enums_1.AssetName.BTC,
    arbt: enums_1.AssetName.ETH,
    basm: enums_1.AssetName.ETH,
    bast: enums_1.AssetName.ETH,
    bscm: enums_1.AssetName.BNB,
    bsct: enums_1.AssetName.BNB,
    blsm: enums_1.AssetName.ETH,
    blst: enums_1.AssetName.ETH,
    ethm: enums_1.AssetName.ETH,
    linm: enums_1.AssetName.ETH,
    lint: enums_1.AssetName.ETH,
    optm: enums_1.AssetName.ETH,
    opst: enums_1.AssetName.ETH,
    unim: enums_1.AssetName.ETH,
    unit: enums_1.AssetName.ETH,
    scrm: enums_1.AssetName.ETH,
    l3rn: enums_1.AssetName.TRN,
    t3rn: enums_1.AssetName.TRN,
    scrt: enums_1.AssetName.ETH,
    mont: enums_1.AssetName.MON,
    monm: enums_1.AssetName.MON,
    seit: enums_1.AssetName.SEI,
    seim: enums_1.AssetName.SEI,
    sept: enums_1.AssetName.ETH,
    l0rn: enums_1.AssetName.L0RN,
    l1rn: enums_1.AssetName.BRN,
    l2rn: enums_1.AssetName.BRN,
    t1rn: enums_1.AssetName.BRN,
    t2rn: enums_1.AssetName.BRN,
    bert: enums_1.AssetName.BERA,
    gnot: enums_1.AssetName.XDAI,
    gnom: enums_1.AssetName.XDAI,
    berm: enums_1.AssetName.ETH,
    abst: enums_1.AssetName.ETH,
    absm: enums_1.AssetName.ETH,
    lskt: enums_1.AssetName.ETH,
    lskm: enums_1.AssetName.ETH,
    lol3: enums_1.AssetName.UNKNOWN,
    lols: enums_1.AssetName.UNKNOWN,
    lold: enums_1.AssetName.UNKNOWN,
    zero: enums_1.AssetName.UNKNOWN,
    ctim: enums_1.AssetName.t3TIA,
    ctit: enums_1.AssetName.t3TIA,
    sklt: enums_1.AssetName.UNKNOWN,
    sklm: enums_1.AssetName.UNKNOWN,
};
const isSupportedNetworkT3rn = (network) => networkIdsT3rn.includes(network);
exports.isSupportedNetworkT3rn = isSupportedNetworkT3rn;
//# sourceMappingURL=types.js.map