import { Network } from "bitcoinjs-lib"

export const BTC_DERIVATION_PATH = 'm/44\'/0\'/0\'/0'
export const TESTNET_DERIVATION_PATH = 'm/44\'/1\'/0\'/0'
export const QTUM_DERIVATION_PATH = 'm/44\'/2301\'/0\'/0'
export const LTC_DERIVATION_PATH = 'm/44\'/2\'/0\'/0'
export const DOGE_DERIVATION_PATH = 'm/44\'/3\'/0\'/0'
export const BCH_DERIVATION_PATH = 'm/44\'/145\'/0\'/0'

export const LTC_TEST_NETWORK = {
    messagePrefix: '\x18Litecoin Signed Message:\n',
    bech32: 'litecointestnet',
    bip32: {
        public: 0x043587cf,
        private: 0x04358394
    },
    pubKeyHash: 0x6f,
    scriptHash: 0xc4,
    wif: 0xef
} as Network

export const LTC_NETWORK = {
    messagePrefix: '\x18Litecoin Signed Message:\n',
    bech32: 'ltc',
    bip32: {
        public: 0x019da462,
        private: 0x019d9cfe,
    },
    pubKeyHash: 0x30,
    scriptHash: 0x32,
    wif: 0xb0,
} as Network
export const QTUM_NETWORK_MAINNET = {
    messagePrefix: '\x15Qtum Signed Message:\n',
    bech32: 'qc',
    bip32: {
        public: 0x0488b21e,
        private: 0x0488ade4
    },
    pubKeyHash: 0x3a,
    scriptHash: 0x32,
    wif: 0x80
} as Network
export const QTUM_NETWORK_TESTNET = {
    messagePrefix: '\x15Qtum Signed Message:\n',
    bech32: 'tq',
    bip32: {
        public: 0x043587cf,
        private: 0x04358394
    },
    pubKeyHash: 0x78,
    scriptHash: 0x6e,
    wif: 0xef
} as Network

export const DOGE_TEST_NETWORK = {
    messagePrefix: '\x18Dogecoin Signed Message:\n',
    bech32: '',
    bip32: {
        public: 0x043587cf,
        private: 0x04358394,
    },
    pubKeyHash: 0x71,
    scriptHash: 0xc4,
    wif: 0xf1,
} as Network
export const DOGE_NETWORK = {
    messagePrefix: '\x18Dogecoin Signed Message:\n',
    bech32: '',
    bip32: {
        public: 0x02facafd,
        private: 0x02fac398
    },
    pubKeyHash: 0x1e,
    scriptHash: 0x16,
    wif: 0x9e,
} as Network

export const LYRA_TEST_NETWORK = {
    messagePrefix: '\x18DarkNet Signed Message:\n',
    bech32: '',
    bip32: {
        public: 0x043587cf,
        private: 0x04358394,
    },
    pubKeyHash: 0x7f,
    scriptHash: 0x13,
    wif: 0xae,
}
export const LYRA_NETWORK = {
    messagePrefix: '\x18DarkNet Signed Message:\n',
    bech32: '',
    bip32: {
        public: 0x0488b21e,
        private: 0x0488ade4,
    },
    pubKeyHash: 0x30,
    scriptHash: 0x0d,
    wif: 0xae,
}
export type NetworkType = "mainnet" | "testnet"