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(), }; }
/// <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); }