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);
        }
Exemple #2
0
        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));
        }