public static Hash SimulateExternalTransaction(string platformName, byte platformID, byte[] publicKey, string publicAddress, string symbol, decimal amount)
        {
            var interopAddress = Address.FromInterop(platformID, publicKey);

            var bytes = interopAddress.ToByteArray();

            bytes[0]       = (byte)AddressKind.User;
            interopAddress = Address.FromBytes(bytes);

            Address sourceAddress;

            switch (platformID)
            {
            case NeoWallet.NeoID:
                sourceAddress = NeoWallet.EncodeAddress(publicAddress);
                break;

            default:
                throw new System.NotImplementedException();
            }

            var swap = new SimulatorChainSwap()
            {
                hash           = Hash.FromString(platformName + sourceAddress.Text + symbol + amount),
                Symbol         = symbol,
                platformName   = platformName,
                sourceAddress  = sourceAddress,
                interopAddress = interopAddress,
                Amount         = amount
            };

            _swaps.Add(swap);
            return(swap.hash);
        }
        public static Hash SimulateExternalTransaction(string platformName, string address, string symbol, decimal amount)
        {
            var swap = new SimulatorChainSwap()
            {
                hash          = Hash.FromString(platformName + address + symbol + amount),
                symbol        = symbol,
                platformName  = platformName,
                sourceAddress = address,
                amount        = amount
            };

            _swaps.Add(swap);
            return(swap.hash);
        }