public static OperationMetaEntity Map(string partitionKey, string rowKey, IOperationMeta source) { return(new OperationMetaEntity { PartitionKey = partitionKey, RowKey = rowKey, ToAddress = source.ToAddress, FromAddress = source.FromAddress, AssetId = source.AssetId, OperationId = source.OperationId, IncludeFee = source.IncludeFee, AmountSatoshi = source.AmountSatoshi, Inserted = source.Inserted, FeeSatoshi = source.FeeSatoshi }); }
public static OperationMetaEntity Map(string partitionKey, string rowKey, IOperationMeta source) { return(new OperationMetaEntity { PartitionKey = partitionKey, RowKey = rowKey, Hash = source.Hash, Inputs = source.Inputs, Outputs = source.Outputs, AssetId = source.AssetId, OperationId = source.OperationId, IncludeFee = source.IncludeFee, Inserted = source.Inserted, FeeSatoshi = source.FeeSatoshi }); }
public static ObervableOperation Create(IOperationMeta operation, BroadcastStatus status, string txHash, DateTime?updated = null) { return(new ObervableOperation { OperationId = operation.OperationId, AmountSatoshi = operation.AmountSatoshi, AssetId = operation.AssetId, FromAddress = operation.FromAddress, IncludeFee = operation.IncludeFee, ToAddress = operation.ToAddress, Status = status, TxHash = txHash, Updated = updated ?? DateTime.UtcNow, FeeSatoshi = operation.FeeSatoshi }); }
public static ObervableOperation Create(IOperationMeta operation, BroadcastStatus status, string txHash, int updatedAtBlockHeight, DateTime?updated = null) { return(new ObervableOperation { OperationId = operation.OperationId, Inputs = operation.Inputs.ToArray(), AssetId = operation.AssetId, Outputs = operation.Outputs.ToArray(), IncludeFee = operation.IncludeFee, Status = status, TxHash = txHash, Updated = updated ?? DateTime.UtcNow, FeeSatoshi = operation.FeeSatoshi, UpdatedAtBlockHeight = updatedAtBlockHeight, }); }
public static bool Compare(IOperationMeta operationMeta, IList <OperationInput> inputs, IList <OperationOutput> outputs, string assetId, bool includeFee) { if (operationMeta.Inputs.Length != inputs.Count || operationMeta.Outputs.Length != outputs.Count) { return(false); } var orderedInputs = operationMeta.Inputs.OrderBy(o => o.Address).ThenBy(o => o.Amount).ToList(); var orderedOtherInputs = inputs.OrderBy(o => o.Address).ThenBy(o => o.Amount).ToList(); for (var i = 0; i < inputs.Count; i++) { if (orderedInputs[i].Address != orderedOtherInputs[i].Address || orderedInputs[i].Amount != orderedOtherInputs[i].Amount) { return(false); } } var orderedOutputs = operationMeta.Outputs.OrderBy(o => o.Address).ThenBy(o => o.Amount).ToList(); var orderedOtherOutputs = outputs.OrderBy(o => o.Address).ThenBy(o => o.Amount).ToList(); for (var i = 0; i < outputs.Count; i++) { if (orderedOutputs[i].Address != orderedOtherOutputs[i].Address || orderedOutputs[i].Amount != orderedOtherOutputs[i].Amount) { return(false); } } return(operationMeta.AssetId == assetId && operationMeta.IncludeFee == includeFee); }
public Task Insert(IOperationMeta meta) { return(_storage.InsertAsync(OperationMetaEntity.ByOperationId.Create(meta))); }
public static OperationMetaEntity Create(IOperationMeta source) { return(Map(GeneratePartitionKey(source.OperationId), GenerateRowKey(source.OperationId), source)); }