public string GetAddress(WalletKind kind) { if (_wallets.ContainsKey(kind)) { return(_wallets[kind].Address); } CryptoWallet wallet; switch (kind) { case WalletKind.Phantasma: wallet = new PhantasmaWallet(keys); break; case WalletKind.Neo: wallet = new NeoWallet(keys); break; case WalletKind.Bitcoin: wallet = new BitcoinWallet(keys); break; case WalletKind.Ethereum: wallet = new EthereumWallet(keys); break; case WalletKind.EOS: wallet = new EOSWallet(keys); break; default: throw new Exception("Unsupported wallet kind: " + kind); } _wallets[kind] = wallet; return(wallet.Address); }
public void TestEOSWallet() { var wif = "5KA2AqEoo7jqepqeEqK2FjjjgG5nxQN6vfuiSZqgJM79ej6eo4Q"; byte[] data = wif.Base58CheckDecode(); byte[] privateKey = new byte[32]; ByteArrayUtils.CopyBytes(data, 1, privateKey, 0, privateKey.Length); var keys = new PhantasmaKeys(privateKey); var wallet = new EOSWallet(keys); var address = wallet.Address; Assert.IsTrue(address.Equals("EOS8dBKtG9fbhC1wi1SscL32iFRsSi4PsZDT2EHJcYXwV5dAMiBcK", StringComparison.OrdinalIgnoreCase)); }