'use strict';

var squidTypes = require('@0xsquid/squid-types');
var viem = require('viem');

const bitcoinZeroAddress = "1111111111111111111114oLvT2";
const cosmosZeroAddress = "osmo1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq65mj83";
const solanaZeroAddress = "11111111111111111111111111111111";
const suiZeroAddress = "0x0000000000000000000000000000000000000000";
const xrplZeroAddress = "rrrrrrrrrrrrrrrrrrrrrhoLvTp";
const stellarZeroAddress = "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWHF";
// TODO: check
const cantonZeroAddress = "none::12200000000000000000000000000000000000000000000000000000000000000000";
const chainTypeToZeroAddressMap = {
    [squidTypes.ChainType.EVM]: viem.zeroAddress,
    [squidTypes.ChainType.COSMOS]: cosmosZeroAddress,
    [squidTypes.ChainType.BTC]: bitcoinZeroAddress,
    [squidTypes.ChainType.SOLANA]: solanaZeroAddress,
    [squidTypes.ChainType.SUI]: suiZeroAddress,
    [squidTypes.ChainType.XRPL]: xrplZeroAddress,
    [squidTypes.ChainType.STELLAR]: stellarZeroAddress,
    [squidTypes.ChainType.CANTON]: cantonZeroAddress,
};
const nativeEvmTokenAddress = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
const nativeCosmosTokenAddress = "uosmo";
const nativeSolanaTokenAddress = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
const nativeBitcoinTokenAddress = "satoshi";
const nativeSuiTokenAddress = "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI";
const nativeXrplTokenAddress = "xrp";
const nativeStellarTokenAddress = "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA";
const nativeCantonTokenAddress = "DSO::1220b1431ef217342db44d516bb9befde802be7d8899637d290895fa58880f19accc";
const CHAIN_IDS = {
    // Cosmos
    OSMOSIS: "osmosis-1",
    INJECTIVE: "injective-1",
    SECRET: "secret-4",
    ARCHWAY: "archway-1",
    XION: "xion-mainnet-1",
    NOBLE: "noble-1",
    AGORIC: "agoric-3",
    // EVM
    ETHEREUM: "1",
    ETHEREUM_SEPOLIA: "11155111",
    ARBITRUM: "42161",
    BSC: "56",
    BASE: "8453",
    OPTIMISM: "10",
    LINEA: "59144",
    BLAST: "81457",
    CELO: "42220",
    POLYGON: "137",
    AVALANCHE: "43114",
    IMMUTABLE: "13371",
    SCROLL: "534352",
    MOONBEAM: "1284",
    MANTLE: "5000",
    FANTOM: "250",
    KAVA: "2222",
    FILECOIN: "314",
    BERACHAIN: "80094",
    SAGA_EVM: "5464",
    XRPL_EVM: "1440000",
    XRPL_EVM_TESTNET: "1449000",
    GNOSIS: "100",
    SONIC: "146",
    HYPER_EVM: "999",
    DCHAIN: "2716446429837000",
    SONEIUM: "1868",
    PEAQ: "3338",
    HEDERA: "295",
    MANTRA: "5888",
    CITREA: "4114",
    TEMPO: "4217",
    // others
    BITCOIN: "bitcoin",
    SOLANA: "solana-mainnet-beta",
    SUI: "sui-mainnet",
    SUI_TESTNET: "sui-testnet",
    XRPL: "xrpl-mainnet",
    XRPL_TESTNET: "xrpl-testnet",
    STELLAR: "stellar-mainnet",
    STELLAR_TESTNET: "stellar-testnet",
    CANTON: "canton",
};
({
    [squidTypes.ChainType.EVM]: CHAIN_IDS.ETHEREUM,
    [squidTypes.ChainType.COSMOS]: CHAIN_IDS.OSMOSIS,
    [squidTypes.ChainType.BTC]: CHAIN_IDS.BITCOIN,
    [squidTypes.ChainType.SOLANA]: CHAIN_IDS.SOLANA,
    [squidTypes.ChainType.SUI]: CHAIN_IDS.SUI,
    [squidTypes.ChainType.XRPL]: CHAIN_IDS.XRPL,
    [squidTypes.ChainType.STELLAR]: CHAIN_IDS.STELLAR,
    [squidTypes.ChainType.CANTON]: CHAIN_IDS.CANTON,
});
const chainTypeToNativeTokenAddressMap = {
    [squidTypes.ChainType.EVM]: nativeEvmTokenAddress,
    [squidTypes.ChainType.COSMOS]: nativeCosmosTokenAddress,
    [squidTypes.ChainType.BTC]: nativeBitcoinTokenAddress,
    [squidTypes.ChainType.SOLANA]: nativeSolanaTokenAddress,
    [squidTypes.ChainType.SUI]: nativeSuiTokenAddress,
    [squidTypes.ChainType.XRPL]: nativeXrplTokenAddress,
    [squidTypes.ChainType.STELLAR]: nativeStellarTokenAddress,
    [squidTypes.ChainType.CANTON]: nativeCantonTokenAddress,
};
var EvmPriorityConnectors;
(function (EvmPriorityConnectors) {
    EvmPriorityConnectors["Safe"] = "safe";
    EvmPriorityConnectors["LedgerLive"] = "ledgerLive";
})(EvmPriorityConnectors || (EvmPriorityConnectors = {}));

exports.CHAIN_IDS = CHAIN_IDS;
exports.chainTypeToNativeTokenAddressMap = chainTypeToNativeTokenAddressMap;
exports.chainTypeToZeroAddressMap = chainTypeToZeroAddressMap;
exports.nativeBitcoinTokenAddress = nativeBitcoinTokenAddress;
exports.nativeCantonTokenAddress = nativeCantonTokenAddress;
exports.nativeCosmosTokenAddress = nativeCosmosTokenAddress;
exports.nativeEvmTokenAddress = nativeEvmTokenAddress;
exports.nativeSolanaTokenAddress = nativeSolanaTokenAddress;
exports.nativeStellarTokenAddress = nativeStellarTokenAddress;
exports.nativeSuiTokenAddress = nativeSuiTokenAddress;
exports.nativeXrplTokenAddress = nativeXrplTokenAddress;
//# sourceMappingURL=server.js.map
