Exemple #1
0
        private TransferInfo ToNep5TransferInfo(Nep5TransferEntity entity)
        {
            return new TransferInfo()
            {
                BlockHeight = entity.BlockHeight,
                TxId = entity.TxId != null ? UInt256.Parse(entity.TxId) : null,
                From = entity.From != null ? UInt160.Parse(entity.From.Hash) : null,
                To = entity.To != null ? UInt160.Parse(entity.To.Hash) : null,
                Amount = new BigInteger(entity.Amount),
                Asset = UInt160.Parse(entity.Asset.Hash),

                TimeStamp = entity.Time.AsUtcTime().ToTimestampMS(),
            };
        }
Exemple #2
0
        /// <summary>
        /// will save after call <see cref="Commit"/> method
        /// </summary>
        /// <param name="transfer"></param>
        public void AddTransfer(TransferInfo transfer)
        {
            var from = GetOrCreateAddress(transfer.From);
            var to = GetOrCreateAddress(transfer.To);
            var asset = GetActiveContract(transfer.Asset);

            var tran = new Nep5TransferEntity
            {
                BlockHeight = transfer.BlockHeight,
                TxId = transfer.TxId?.ToBigEndianHex(),
                FromId = from?.Id,
                ToId = to?.Id,
                Amount = transfer.Amount.ToByteArray(),
                AssetId = asset.Id,
                Time = transfer.TimeStamp.FromTimestampMS(),
                Trigger = transfer.Trigger,
            };
            _sqldb.Nep5Transactions.Add(tran);
        }