public Caladan.Models.TransactionReceipt ConvertToDbTransactionReceipt(TransactionReceipt transaction) { var result = new Caladan.Models.TransactionReceipt() { BlockHash = transaction.BlockHash, BlockNumber = transaction.BlockNumber, From = transaction.From, To = transaction.To, TransactionHash = transaction.TransactionHash, TransactionIndex = transaction.TransactionIndex, ContractAddress = transaction.ContractAddress, CumulativeGasUsed = transaction.CumulativeGasUsed, GasUsed = transaction.GasUsed, LogsBloom = transaction.LogsBloom, Root = transaction.Root }; if (transaction.Logs != null) { using (var jsonReader = new MongoDB.Bson.IO.JsonReader(transaction.Logs.ToString())) { var serializer = new MongoDB.Bson.Serialization.Serializers.BsonArraySerializer(); result.Logs = serializer.Deserialize(BsonDeserializationContext.CreateRoot(jsonReader)); } } return(result); }
private static string SerializeTransactionReceipt(Caladan.Models.TransactionReceipt receipt) { var jsonResolver = new PropertyRenameAndIgnoreSerializerContractResolver(); jsonResolver.IgnoreProperty(typeof(Caladan.Models.TransactionReceipt), "Id"); var serializerSettings = new JsonSerializerSettings(); serializerSettings.ContractResolver = jsonResolver; var json = JsonConvert.SerializeObject(receipt, Formatting.Indented, serializerSettings); return(json); }