package com.mygeopay.wallet;
import android.text.format.DateUtils;
import com.mygeopay.core.coins.BitcoinMain;
import com.mygeopay.core.coins.BitcoinTest;
import com.mygeopay.core.coins.BlackcoinMain;
import com.mygeopay.core.coins.BatacoinMain;
import com.mygeopay.core.coins.BolicoinMain;
import com.mygeopay.core.coins.CanadaeCoinMain;
import com.mygeopay.core.coins.CannacoinMain;
import com.mygeopay.core.coins.ClamcoinMain;
import com.mygeopay.core.coins.CoinID;
import com.mygeopay.core.coins.CoinType;
import com.mygeopay.core.coins.CryptoescudoMain;
import com.mygeopay.core.coins.DashMain;
import com.mygeopay.core.coins.DigibyteMain;
import com.mygeopay.core.coins.DigitalcoinMain;
import com.mygeopay.core.coins.DogecoinDarkMain;
import com.mygeopay.core.coins.DogecoinMain;
import com.mygeopay.core.coins.DogecoinTest;
import com.mygeopay.core.coins.EuropecoinMain;
import com.mygeopay.core.coins.FairCoinMain;
import com.mygeopay.core.coins.FeathercoinMain;
import com.mygeopay.core.coins.GcrCoinMain;
import com.mygeopay.core.coins.GroestlCoinMain;
import com.mygeopay.core.coins.LitecoinMain;
import com.mygeopay.core.coins.LitecoinTest;
import com.mygeopay.core.coins.PakcoinMain;
import com.mygeopay.core.coins.MazacoinMain;
import com.mygeopay.core.coins.NovacoinMain;
import com.mygeopay.core.coins.ParkbyteMain;
import com.mygeopay.core.coins.ShadowCashMain;
import com.mygeopay.core.coins.StartcoinMain;
import com.mygeopay.core.coins.MonacoinMain;
import com.mygeopay.core.coins.NamecoinMain;
import com.mygeopay.core.coins.NuBitsMain;
import com.mygeopay.core.coins.NuSharesMain;
import com.mygeopay.core.coins.PeercoinMain;
import com.mygeopay.core.coins.ReddcoinMain;
import com.mygeopay.core.coins.RubycoinMain;
import com.mygeopay.core.coins.StepscoinMain;
import com.mygeopay.core.coins.UroMain;
import com.mygeopay.core.coins.NeoscoinMain;
import com.mygeopay.core.coins.JumbucksMain;
import com.mygeopay.core.coins.VcoinMain;
import com.mygeopay.core.coins.VertcoinMain;
import com.mygeopay.core.coins.ViacoinMain;
import com.mygeopay.core.coins.VpncoinMain;
import com.mygeopay.core.coins.OkCashMain;
import com.mygeopay.core.network.CoinAddress;
import com.mygeopay.stratumj.ServerAddress;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.concurrent.TimeUnit;
/**
* @author John L. Jegutanis
* @author Andreas Schildbach
*/
public class Constants {
public static final int SEED_ENTROPY_DEFAULT = 192;
public static final int SEED_ENTROPY_EXTRA = 256;
public static final String ARG_SEED = "seed";
public static final String ARG_PASSWORD = "password";
public static final String ARG_SEED_PASSWORD = "seed_password";
public static final String ARG_EMPTY_WALLET = "empty_wallet";
public static final String ARG_SEND_TO_ADDRESS = "send_to_address";
public static final String ARG_SEND_TO_COIN_TYPE = "send_to_coin_type";
public static final String ARG_SEND_TO_ACCOUNT_ID = "send_to_account_id";
public static final String ARG_SEND_VALUE = "send_value";
public static final String ARG_COIN_ID = "coin_id";
public static final String ARG_ACCOUNT_ID = "account_id";
public static final String ARG_MULTIPLE_COIN_IDS = "multiple_coin_ids";
public static final String ARG_MULTIPLE_CHOICE = "multiple_choice";
public static final String ARG_TRANSACTION_ID = "transaction_id";
public static final String ARG_ERROR = "error";
public static final String ARG_MESSAGE = "message";
public static final String ARG_ADDRESS = "address";
public static final String ARG_ADDRESS_STRING = "address_string";
public static final String ARG_EXCHANGE_ENTRY = "exchange_entry";
public static final String ARG_TEST_WALLET = "test_wallet";
public static final String ARG_URI = "test_wallet";
public static final String WALLET_FILENAME_PROTOBUF = "wallet";
public static final long WALLET_WRITE_DELAY = 5;
public static final TimeUnit WALLET_WRITE_DELAY_UNIT = TimeUnit.SECONDS;
public static final long STOP_SERVICE_AFTER_IDLE_SECS = 30 * 60; // 30 mins
public static final String HTTP_CACHE_DIR = "http_cache";
public static final int HTTP_CACHE_SIZE = 256 * 1024; // 256 KiB
public static final int HTTP_TIMEOUT_MS = 15 * (int) DateUtils.SECOND_IN_MILLIS;
public static final long RATE_UPDATE_FREQ_MS = 30 * DateUtils.SECOND_IN_MILLIS;
/** Default currency to use if all default mechanisms fail. */
public static final String DEFAULT_EXCHANGE_CURRENCY = "USD";
public static final Charset UTF_8 = Charset.forName("UTF-8");
public static final Charset US_ASCII = Charset.forName("US-ASCII");
public static final char CHAR_HAIR_SPACE = '\u200a';
public static final char CHAR_THIN_SPACE = '\u2009';
public static final char CHAR_ALMOST_EQUAL_TO = '\u2248';
public static final char CHAR_CHECKMARK = '\u2713';
public static final char CURRENCY_PLUS_SIGN = '+';
public static final char CURRENCY_MINUS_SIGN = '-';
public static final String MARKET_APP_URL = "market://details?id=%s";
public static final String BINARY_URL = "https://github.com/UberPay/uberpay-wallet/releases";
public static final String VERSION_URL = "http://uberpay.io/version";
// TODO move to resource files
public static final List<CoinAddress> DEFAULT_COINS_SERVERS = ImmutableList.of(
new CoinAddress(BitcoinMain.get(), new ServerAddress("btc-cce-1.coinomi.net", 5001),
new ServerAddress("btc-cce-2.coinomi.net", 5001)),
new CoinAddress(BitcoinTest.get(), new ServerAddress("btc-testnet-cce-1.coinomi.net", 15001),
new ServerAddress("btc-testnet-cce-2.coinomi.net", 15001)),
new CoinAddress(DogecoinMain.get(), new ServerAddress("doge-cce-1.coinomi.net", 5003),
new ServerAddress("doge-cce-2.coinomi.net", 5003)),
new CoinAddress(DogecoinTest.get(), new ServerAddress("doge-testnet-cce-1.coinomi.net", 15003),
new ServerAddress("doge-testnet-cce-2.coinomi.net", 15003)),
new CoinAddress(LitecoinMain.get(), new ServerAddress("ltc-cce-1.coinomi.net", 5002),
new ServerAddress("ltc-cce-2.coinomi.net", 5002)),
new CoinAddress(LitecoinTest.get(), new ServerAddress("ltc-testnet-cce-1.coinomi.net", 15002),
new ServerAddress("ltc-testnet-cce-2.coinomi.net", 15002)),
// Pakcoin Server (alpha)
new CoinAddress(PakcoinMain.get(), new ServerAddress("electrum.pakcoin.org", 50001)),
//
new CoinAddress(PeercoinMain.get(), new ServerAddress("ppc-cce-1.coinomi.net", 5004),
new ServerAddress("ppc-cce-2.coinomi.net", 5004)),
new CoinAddress(NuSharesMain.get(), new ServerAddress("nsr-cce-1.coinomi.net", 5011),
new ServerAddress("nsr-cce-2.coinomi.net", 5011)),
new CoinAddress(NuBitsMain.get(), new ServerAddress("nbt-cce-1.coinomi.net", 5012),
new ServerAddress("nbt-cce-2.coinomi.net", 5012)),
new CoinAddress(DashMain.get(), new ServerAddress("drk-cce-1.coinomi.net", 5013),
new ServerAddress("drk-cce-2.coinomi.net", 5013)),
new CoinAddress(ReddcoinMain.get(), new ServerAddress("rdd-cce-1.coinomi.net", 5014),
new ServerAddress("rdd-cce-2.coinomi.net", 5014)),
new CoinAddress(BlackcoinMain.get(), new ServerAddress("blk-cce-1.coinomi.net", 5015),
new ServerAddress("blk-cce-2.coinomi.net", 5015)),
new CoinAddress(NamecoinMain.get(), new ServerAddress("nmc-cce-1.coinomi.net", 5016),
new ServerAddress("nmc-cce-2.coinomi.net", 5016)),
new CoinAddress(FeathercoinMain.get(), new ServerAddress("ftc-cce-1.coinomi.net", 5017),
new ServerAddress("ftc-cce-2.coinomi.net", 5017)),
new CoinAddress(RubycoinMain.get(), new ServerAddress("rby-cce-1.coinomi.net", 5018),
new ServerAddress("rby-cce-2.coinomi.net", 5018)),
new CoinAddress(UroMain.get(), new ServerAddress("uro-cce-1.coinomi.net", 5019),
new ServerAddress("uro-cce-2.coinomi.net", 5019)),
new CoinAddress(DigitalcoinMain.get(), new ServerAddress("dgc-cce-1.coinomi.net", 5020),
new ServerAddress("dgc-cce-2.coinomi.net", 5020)),
new CoinAddress(CannacoinMain.get(), new ServerAddress("ccn-cce-1.coinomi.net", 5021),
new ServerAddress("ccn-cce-2.coinomi.net", 5021)),
new CoinAddress(MonacoinMain.get(), new ServerAddress("mona-cce-1.coinomi.net", 5022),
new ServerAddress("mona-cce-2.coinomi.net", 5022)),
new CoinAddress(DigibyteMain.get(), new ServerAddress("dgb-cce-1.coinomi.net", 5023),
new ServerAddress("dgb-cce-2.coinomi.net", 5023)),
new CoinAddress(MazacoinMain.get(), new ServerAddress("tate.cryptoadhd.com", 50001),
new ServerAddress("tate.maza.club", 50001)),
new CoinAddress(CryptoescudoMain.get(), new ServerAddress("electrum1.cryptoescudo.pt", 50001),
new ServerAddress("electrum2.cryptoescudo.pt", 50001),
new ServerAddress("electrum3.cryptoescudo.pt", 50001)),
// TODO alpha stage Electrum URL for CRYPTOESCUDO
new CoinAddress(StartcoinMain.get(), new ServerAddress("node1.startcoin.org", 9247),
new ServerAddress("node2.startcoin.org", 9247)),
new CoinAddress(ShadowCashMain.get(), new ServerAddress("sdc-cce-1.coinomi.net", 5026),
new ServerAddress("sdc-cce-2.coinomi.net", 5026)),
new CoinAddress(ParkbyteMain.get(), new ServerAddress("pkb-cce-1.coinomi.net", 5035),
new ServerAddress("pkb-cce-2.coinomi.net", 5035)),
new CoinAddress(VcoinMain.get(), new ServerAddress("vcn.btcnetwork.info", 50001)),
// TODO Correct Electrum URL for VCOIN
new CoinAddress(ViacoinMain.get(), new ServerAddress("vialectrum.viacoin.net", 50001),
new ServerAddress("server.vialectrum.org", 50001)),
//
new CoinAddress(OkCashMain.get(), new ServerAddress("ok.el.0.btcnetwork.info", 5040), //162.248.142.89
new ServerAddress("ok.el.1.btcnetwork.info", 5040)), //167.88.40.231
// 192.99.35.69:9247 # node1.startcoin.org
// 37.59.54.5:9247 # node2.startcoin.org
// 5024 primecoin
// 5025 clams
// 5026 shadowcoin
new CoinAddress(NeoscoinMain.get(), new ServerAddress("neos-cce-1.coinomi.net", 5027),
new ServerAddress("neos-cce-2.coinomi.net", 5027)),
new CoinAddress(VertcoinMain.get(), new ServerAddress("vtc-cce-1.coinomi.net", 5028),
new ServerAddress("vtc-cce-2.coinomi.net", 5028)),
new CoinAddress(JumbucksMain.get(), new ServerAddress("jbs-cce-1.coinomi.net", 5029),
new ServerAddress("jbs-cce-2.coinomi.net", 5029)),
new CoinAddress(CanadaeCoinMain.get(), new ServerAddress("cdn-cce-1.coinomi.net", 5033),
new ServerAddress("cdn-cce-2.coinomi.net", 5033)),
//new CoinAddress(ClamcoinMain.get(), new ServerAddress("clam.el.0.btcnetwork.info", 50001)),
new CoinAddress(ClamcoinMain.get(), new ServerAddress("clam-cce-2.coinomi.net", 5025),
new ServerAddress("clam-cce-1.coinomi.net", 5025)),
// TODO Correct electrum URL for CLAM
new CoinAddress(DogecoinDarkMain.get(), new ServerAddress("electrum-doged.space", 50001),
// SSL
// new CoinAddress(DogecoinDarkTest.get(), new ServerAddress("electrum-doged.space", 50002),
new ServerAddress("doged.el.0.btcnetwork.info", 50001)), // 104.236.133.57
//
new CoinAddress(NovacoinMain.get(), new ServerAddress("nvc-cce-1.coinomi.net", 5034),
new ServerAddress("nvc-cce-2.coinomi.net", 5034)),
//
new CoinAddress(GcrCoinMain.get(), new ServerAddress("gcr-cce-1.coinomi.net", 5038),
new ServerAddress("gcr-cce-2.coinomi.net", 5038)),
//
new CoinAddress(BatacoinMain.get(), new ServerAddress("electrum-bta.xyz", 50001)),
//
new CoinAddress(StepscoinMain.get(), new ServerAddress("192.241.216.229", 50001)),
// new ServerAddress("192.241.216.229", 50002)),
new CoinAddress(BolicoinMain.get(), new ServerAddress("electrum-boli.xyz", 50001)),
//
new CoinAddress(EuropecoinMain.get(), new ServerAddress("electrum-boli.xyz", 50001)),
// TODO Test ERC Electrum Server
new CoinAddress(VpncoinMain.get(), new ServerAddress("vpn-cce-1.coinomi.net", 5032),
new ServerAddress("vpn-cce-2.coinomi.net", 5032)),
new CoinAddress(GroestlCoinMain.get(), new ServerAddress("electrum2.groestlcoin.org", 50001),
new ServerAddress("electrum1.groestlcoin.org", 50001)),
// FairCoin
new CoinAddress(FairCoinMain.get(), new ServerAddress("fairlectrum.fair-coin.org", 9251))
// SSL
// new CoinAddress(FairCoinMain.get(), new ServerAddress("electrum.fair.to", 51002))
);
public static final HashMap<CoinType, Integer> COINS_ICONS;
public static final HashMap<CoinType, String> COINS_BLOCK_EXPLORERS;
static {
COINS_ICONS = new HashMap<>();
COINS_ICONS.put(CoinID.BITCOIN_MAIN.getCoinType(), R.drawable.bitcoin);
COINS_ICONS.put(CoinID.BITCOIN_TEST.getCoinType(), R.drawable.bitcoin_test);
COINS_ICONS.put(CoinID.DOGECOIN_MAIN.getCoinType(), R.drawable.dogecoin);
COINS_ICONS.put(CoinID.DOGECOIN_TEST.getCoinType(), R.drawable.dogecoin_test);
COINS_ICONS.put(CoinID.DOGECOINDARK_MAIN.getCoinType(), R.drawable.doged);
COINS_ICONS.put(CoinID.GCRCOIN_MAIN.getCoinType(), R.drawable.gcrcoin);
COINS_ICONS.put(CoinID.BATACOIN_MAIN.getCoinType(), R.drawable.bta);
COINS_ICONS.put(CoinID.LITECOIN_MAIN.getCoinType(), R.drawable.litecoin);
COINS_ICONS.put(CoinID.LITECOIN_TEST.getCoinType(), R.drawable.litecoin_test);
COINS_ICONS.put(CoinID.PAKCOIN_MAIN.getCoinType(), R.drawable.pakcoin);
COINS_ICONS.put(CoinID.PEERCOIN_MAIN.getCoinType(), R.drawable.peercoin);
COINS_ICONS.put(CoinID.DASH_MAIN.getCoinType(), R.drawable.dash);
COINS_ICONS.put(CoinID.REDDCOIN_MAIN.getCoinType(), R.drawable.reddcoin);
COINS_ICONS.put(CoinID.NUSHARES_MAIN.getCoinType(), R.drawable.nushares);
COINS_ICONS.put(CoinID.NUBITS_MAIN.getCoinType(), R.drawable.nubits);
COINS_ICONS.put(CoinID.BLACKCOIN_MAIN.getCoinType(), R.drawable.blackcoin);
COINS_ICONS.put(CoinID.MONACOIN_MAIN.getCoinType(), R.drawable.monacoin);
COINS_ICONS.put(CoinID.RUBYCOIN_MAIN.getCoinType(), R.drawable.rubycoin);
COINS_ICONS.put(CoinID.NAMECOIN_MAIN.getCoinType(), R.drawable.namecoin);
COINS_ICONS.put(CoinID.FEATHERCOIN_MAIN.getCoinType(), R.drawable.feathercoin);
COINS_ICONS.put(CoinID.CANADAECOIN_MAIN.getCoinType(), R.drawable.canadaecoin);
COINS_ICONS.put(CoinID.SHADOWCASH_MAIN.getCoinType(), R.drawable.shadowcash);
COINS_ICONS.put(CoinID.CLAMCOIN_MAIN.getCoinType(), R.drawable.clam);
COINS_ICONS.put(CoinID.PARKBYTE_MAIN.getCoinType(), R.drawable.parkbyte);
COINS_ICONS.put(CoinID.CRYPTOESCUDO_MAIN.getCoinType(), R.drawable.cryptoescudo);
COINS_ICONS.put(CoinID.OKCASHCOIN_MAIN.getCoinType(), R.drawable.okcash);
// COINS_ICONS.put(CoinID.URO_MAIN.getCoinType(), R.drawable.uro);
COINS_ICONS.put(CoinID.MAZACOIN_MAIN.getCoinType(), R.drawable.mazacoin);
COINS_ICONS.put(CoinID.STARTCOIN_MAIN.getCoinType(), R.drawable.startcoin);
COINS_ICONS.put(CoinID.DIGITALCOIN_MAIN.getCoinType(), R.drawable.digitalcoin);
COINS_ICONS.put(CoinID.CANNACOIN_MAIN.getCoinType(), R.drawable.cannacoin);
COINS_ICONS.put(CoinID.DIGIBYTE_MAIN.getCoinType(), R.drawable.digibyte);
COINS_ICONS.put(CoinID.NEOSCOIN_MAIN.getCoinType(), R.drawable.neoscoin);
COINS_ICONS.put(CoinID.VERTCOIN_MAIN.getCoinType(), R.drawable.vertcoin);
COINS_ICONS.put(CoinID.JUMBUCKS_MAIN.getCoinType(), R.drawable.jumbucks);
COINS_ICONS.put(CoinID.VPNCOIN_MAIN.getCoinType(), R.drawable.vpncoin);
COINS_ICONS.put(CoinID.VCOIN_MAIN.getCoinType(), R.drawable.vcoin);
COINS_ICONS.put(CoinID.EUROPECOIN_MAIN.getCoinType(), R.drawable.europecoin);
COINS_ICONS.put(CoinID.GROESTLCOIN_MAIN.getCoinType(), R.drawable.groestlcoin);
COINS_ICONS.put(CoinID.NOVACOIN_MAIN.getCoinType(), R.drawable.novacoin);
COINS_ICONS.put(CoinID.VIACOIN_MAIN.getCoinType(), R.drawable.viacoin);
COINS_ICONS.put(CoinID.BOLICOIN_MAIN.getCoinType(), R.drawable.bolivar);
COINS_ICONS.put(CoinID.STEPSCOIN_MAIN.getCoinType(), R.drawable.steps);
COINS_ICONS.put(CoinID.FAIRCOIN_MAIN.getCoinType(), R.drawable.faircoin);
COINS_BLOCK_EXPLORERS = new HashMap<CoinType, String>();
COINS_BLOCK_EXPLORERS.put(CoinID.BITCOIN_MAIN.getCoinType(), "https://blockchain.info/tx/%s");
COINS_BLOCK_EXPLORERS.put(CoinID.BITCOIN_TEST.getCoinType(), "https://chain.so/tx/BTCTEST/%s");
COINS_BLOCK_EXPLORERS.put(CoinID.DOGECOIN_MAIN.getCoinType(), "https://chain.so/tx/DOGE/%s");
COINS_BLOCK_EXPLORERS.put(CoinID.DOGECOIN_TEST.getCoinType(), "https://chain.so/tx/DOGETEST/%s");
COINS_BLOCK_EXPLORERS.put(CoinID.GCRCOIN_MAIN.getCoinType(), "https://chainz.cryptoid.info/gcr/tx.dws?%s");
COINS_BLOCK_EXPLORERS.put(CoinID.LITECOIN_MAIN.getCoinType(), "http://ltc.blockr.io/tx/info/%s");
COINS_BLOCK_EXPLORERS.put(CoinID.LITECOIN_TEST.getCoinType(), "https://chain.so/tx/LTCTEST/%s");
COINS_BLOCK_EXPLORERS.put(CoinID.PEERCOIN_MAIN.getCoinType(), "http://ppc.blockr.io/tx/info/%s");
COINS_BLOCK_EXPLORERS.put(CoinID.DASH_MAIN.getCoinType(), "https://bitinfocharts.com/darkcoin/tx/%s");
COINS_BLOCK_EXPLORERS.put(CoinID.NUSHARES_MAIN.getCoinType(), "http://blockexplorer.nu/transactions/%s");
COINS_BLOCK_EXPLORERS.put(CoinID.NUBITS_MAIN.getCoinType(), "http://blockexplorer.nu/transactions/%s");
COINS_BLOCK_EXPLORERS.put(CoinID.REDDCOIN_MAIN.getCoinType(), "http://live.reddcoin.com/tx/%s");
COINS_BLOCK_EXPLORERS.put(CoinID.BLACKCOIN_MAIN.getCoinType(), "https://chainz.cryptoid.info/blk/tx.dws?%s.htm");
COINS_BLOCK_EXPLORERS.put(CoinID.CLAMCOIN_MAIN.getCoinType(), "http://clamsight.com/tx/%s");
COINS_BLOCK_EXPLORERS.put(CoinID.MONACOIN_MAIN.getCoinType(), "http://abe.monash.pw:3000/tx/%s");
COINS_BLOCK_EXPLORERS.put(CoinID.RUBYCOIN_MAIN.getCoinType(), "https://chainz.cryptoid.info/rby/tx.dws?%s");
COINS_BLOCK_EXPLORERS.put(CoinID.NAMECOIN_MAIN.getCoinType(), "https://explorer.namecoin.info/tx/%s");
COINS_BLOCK_EXPLORERS.put(CoinID.FEATHERCOIN_MAIN.getCoinType(), "http://explorer.feathercoin.com/tx/%s");
COINS_BLOCK_EXPLORERS.put(CoinID.SHADOWCASH_MAIN.getCoinType(), "http://shadowchain.info/tx/%s");
// COINS_BLOCK_EXPLORERS.put(CoinID.URO_MAIN.getCoinType(), "https://chainz.cryptoid.info/uro/tx.dws?%s");
COINS_BLOCK_EXPLORERS.put(CoinID.MAZACOIN_MAIN.getCoinType(), "https://mazacha.in/tx/%s");
COINS_BLOCK_EXPLORERS.put(CoinID.STARTCOIN_MAIN.getCoinType(), "http://explorer.startcoin.org/tx/%s");
COINS_BLOCK_EXPLORERS.put(CoinID.CANADAECOIN_MAIN.getCoinType(), "http://explorer.canadaecoin.ca/tx/%s");
COINS_BLOCK_EXPLORERS.put(CoinID.DIGITALCOIN_MAIN.getCoinType(), "https://chainz.cryptoid.info/dgc/tx.dws?%s");
COINS_BLOCK_EXPLORERS.put(CoinID.PARKBYTE_MAIN.getCoinType(), "https://chainz.cryptoid.info/pkb/tx.dws?%s");
COINS_BLOCK_EXPLORERS.put(CoinID.CANNACOIN_MAIN.getCoinType(), "https://chainz.cryptoid.info/ccn/tx.dws?%s");
COINS_BLOCK_EXPLORERS.put(CoinID.DIGIBYTE_MAIN.getCoinType(), "https://digiexplorer.info/tx/%s");
COINS_BLOCK_EXPLORERS.put(CoinID.NEOSCOIN_MAIN.getCoinType(), "http://explorer.infernopool.com/tx/%s");
COINS_BLOCK_EXPLORERS.put(CoinID.VERTCOIN_MAIN.getCoinType(), "https://bitinfocharts.com/vertcoin/tx/%s");
COINS_BLOCK_EXPLORERS.put(CoinID.JUMBUCKS_MAIN.getCoinType(), "http://explorer.getjumbucks.com/tx/%s");
COINS_BLOCK_EXPLORERS.put(CoinID.VPNCOIN_MAIN.getCoinType(), "https://blockexperts.com/vpn/tx/%s");
COINS_BLOCK_EXPLORERS.put(CoinID.CRYPTOESCUDO_MAIN.getCoinType(), "http://explorador.cryptoescudo.net/tx/%s");
COINS_BLOCK_EXPLORERS.put(CoinID.VCOIN_MAIN.getCoinType(), "https://chainz.cryptoid.info/vcn/tx.dws?%s");
COINS_BLOCK_EXPLORERS.put(CoinID.DOGECOINDARK_MAIN.getCoinType(), "https://www.blockexperts.com/doged/tx/%s");
COINS_BLOCK_EXPLORERS.put(CoinID.BATACOIN_MAIN.getCoinType(), "https://chainz.cryptoid.info/bta/tx.dws?%s");
COINS_BLOCK_EXPLORERS.put(CoinID.NOVACOIN_MAIN.getCoinType(), "http://explorer.novaco.in/tx/%s");
COINS_BLOCK_EXPLORERS.put(CoinID.VIACOIN_MAIN.getCoinType(), "http://explorer.viacoin.org/tx/%s");
COINS_BLOCK_EXPLORERS.put(CoinID.STEPSCOIN_MAIN.getCoinType(), "http://chain.altcoinsteps.com/tx/%s");
COINS_BLOCK_EXPLORERS.put(CoinID.OKCASHCOIN_MAIN.getCoinType(), "https://chainz.cryptoid.info/ok/tx.dws?%s");
COINS_BLOCK_EXPLORERS.put(CoinID.FAIRCOIN_MAIN.getCoinType(), "https://chain.fair-coin.org/tx/%s");
COINS_BLOCK_EXPLORERS.put(CoinID.BOLICOIN_MAIN.getCoinType(), "https://chainz.cryptoid.info/boli/tx.dws?%s");
COINS_BLOCK_EXPLORERS.put(CoinID.EUROPECOIN_MAIN.getCoinType(), "http://http://erc.explorer.bitnodes.net/tx/%s");
COINS_BLOCK_EXPLORERS.put(CoinID.GROESTLCOIN_MAIN.getCoinType(), "https://chainz.cryptoid.info/grs/tx.dws?%s");
}
public static final CoinType DEFAULT_COIN = BitcoinMain.get();
public static final List<CoinType> DEFAULT_COINS = ImmutableList.of((CoinType) BitcoinMain.get());
public static final ArrayList<String> DEFAULT_TEST_COIN_IDS = Lists.newArrayList(
BitcoinTest.get().getId(),
LitecoinTest.get().getId(),
DogecoinTest.get().getId()
);
public static final List<CoinType> SUPPORTED_COINS = ImmutableList.of(
BitcoinMain.get(),
DogecoinMain.get(),
LitecoinMain.get(),
DogecoinDarkMain.get(),
BatacoinMain.get(),
/* EuropecoinMain.get(), */
FairCoinMain.get(),
ViacoinMain.get(),
MazacoinMain.get(),
BolicoinMain.get(),
CanadaeCoinMain.get(),
OkCashMain.get(),
/* StartcoinMain.get(), */
PakcoinMain.get(),
PeercoinMain.get(),
DashMain.get(),
NamecoinMain.get(),
BlackcoinMain.get(),
ClamcoinMain.get(),
MonacoinMain.get(),
/* GroestlCoinMain.get(), */
NovacoinMain.get(),
NuSharesMain.get(),
VpncoinMain.get(),
ReddcoinMain.get(),
VertcoinMain.get(),
FeathercoinMain.get(),
RubycoinMain.get(),
DigibyteMain.get(),
DigitalcoinMain.get(),
JumbucksMain.get(),
NeoscoinMain.get(),
CannacoinMain.get(),
ShadowCashMain.get(),
StepscoinMain.get(),
NuBitsMain.get(),
/* VcoinMain.get(), */
ParkbyteMain.get(),
GcrCoinMain.get(),
CryptoescudoMain.get(),
BitcoinTest.get(),
LitecoinTest.get(),
DogecoinTest.get()
);
}