@@ -221,10 +221,10 @@ pub struct GetBlockHeaderResult {
221
221
222
222
#[ derive( Clone , PartialEq , Debug , Deserialize , Serialize ) ]
223
223
pub struct GetBlockStatsResult {
224
- #[ serde( rename = "avgfee" ) ]
225
- pub avg_fee : u32 ,
226
- #[ serde( rename = "avgfeerate" ) ]
227
- pub avg_fee_rate : u32 ,
224
+ #[ serde( rename = "avgfee" , with = "bitcoin::util::amount::serde::as_sat" ) ]
225
+ pub avg_fee : Amount ,
226
+ #[ serde( rename = "avgfeerate" , with = "bitcoin::util::amount::serde::as_sat" ) ]
227
+ pub avg_fee_rate : Amount ,
228
228
#[ serde( rename = "avgtxsize" ) ]
229
229
pub avg_tx_size : u32 ,
230
230
#[ serde( rename = "blockhash" ) ]
@@ -233,101 +233,207 @@ pub struct GetBlockStatsResult {
233
233
pub fee_rate_percentiles : FeeRatePercentiles ,
234
234
pub height : u64 ,
235
235
pub ins : usize ,
236
- #[ serde( rename = "maxfee" ) ]
237
- pub max_fee : u64 ,
238
- #[ serde( rename = "maxfeerate" ) ]
239
- pub max_fee_rate : u32 ,
236
+ #[ serde( rename = "maxfee" , with = "bitcoin::util::amount::serde::as_sat" ) ]
237
+ pub max_fee : Amount ,
238
+ #[ serde( rename = "maxfeerate" , with = "bitcoin::util::amount::serde::as_sat" ) ]
239
+ pub max_fee_rate : Amount ,
240
240
#[ serde( rename = "maxtxsize" ) ]
241
241
pub max_tx_size : u32 ,
242
- #[ serde( rename = "medianfee" ) ]
243
- pub median_fee : u32 ,
242
+ #[ serde( rename = "medianfee" , with = "bitcoin::util::amount::serde::as_sat" ) ]
243
+ pub median_fee : Amount ,
244
244
#[ serde( rename = "mediantime" ) ]
245
245
pub median_time : u32 ,
246
246
#[ serde( rename = "mediantxsize" ) ]
247
247
pub median_tx_size : u32 ,
248
- #[ serde( rename = "minfee" ) ]
249
- pub min_fee : u32 ,
250
- #[ serde( rename = "minfeerate" ) ]
251
- pub min_fee_rate : u32 ,
248
+ #[ serde( rename = "minfee" , with = "bitcoin::util::amount::serde::as_sat" ) ]
249
+ pub min_fee : Amount ,
250
+ #[ serde( rename = "minfeerate" , with = "bitcoin::util::amount::serde::as_sat" ) ]
251
+ pub min_fee_rate : Amount ,
252
252
#[ serde( rename = "mintxsize" ) ]
253
253
pub min_tx_size : u32 ,
254
254
pub outs : usize ,
255
- pub subsidy : u32 ,
255
+ #[ serde( with = "bitcoin::util::amount::serde::as_sat" ) ]
256
+ pub subsidy : Amount ,
256
257
#[ serde( rename = "swtotal_size" ) ]
257
258
pub sw_total_size : usize ,
258
259
#[ serde( rename = "swtotal_weight" ) ]
259
260
pub sw_total_weight : usize ,
260
261
#[ serde( rename = "swtxs" ) ]
261
262
pub sw_txs : usize ,
262
263
pub time : u32 ,
263
- pub total_out : usize ,
264
+ #[ serde ( with = "bitcoin::util::amount::serde::as_sat" ) ]
265
+ pub total_out : Amount ,
264
266
pub total_size : usize ,
265
267
pub total_weight : usize ,
266
- #[ serde( rename = "totalfee" ) ]
267
- pub total_fee : u64 ,
268
+ #[ serde( rename = "totalfee" , with = "bitcoin::util::amount::serde::as_sat" ) ]
269
+ pub total_fee : Amount ,
268
270
pub txs : usize ,
269
271
pub utxo_increase : i32 ,
270
272
pub utxo_size_inc : i32 ,
271
273
}
272
274
273
275
#[ derive( Clone , PartialEq , Debug , Deserialize , Serialize ) ]
274
276
pub struct GetBlockStatsResultPartial {
275
- #[ serde( rename = "avgfee" ) ]
276
- pub avg_fee : Option < u32 > ,
277
- #[ serde( rename = "avgfeerate" ) ]
278
- pub avg_fee_rate : Option < u32 > ,
279
- #[ serde( rename = "avgtxsize" ) ]
277
+ #[ serde(
278
+ default ,
279
+ rename = "avgfee" ,
280
+ with = "bitcoin::util::amount::serde::as_sat::opt" ,
281
+ skip_serializing_if = "Option::is_none"
282
+ ) ]
283
+ pub avg_fee : Option < Amount > ,
284
+ #[ serde(
285
+ default ,
286
+ rename = "avgfeerate" ,
287
+ with = "bitcoin::util::amount::serde::as_sat::opt" ,
288
+ skip_serializing_if = "Option::is_none"
289
+ ) ]
290
+ pub avg_fee_rate : Option < Amount > ,
291
+ #[ serde(
292
+ default ,
293
+ rename = "avgtxsize" ,
294
+ skip_serializing_if = "Option::is_none"
295
+ ) ]
280
296
pub avg_tx_size : Option < u32 > ,
281
- #[ serde( rename = "blockhash" ) ]
297
+ #[ serde(
298
+ default ,
299
+ rename = "blockhash" ,
300
+ skip_serializing_if = "Option::is_none"
301
+ ) ]
282
302
pub block_hash : Option < bitcoin:: BlockHash > ,
283
- #[ serde( rename = "feerate_percentiles" ) ]
303
+ #[ serde(
304
+ default ,
305
+ rename = "feerate_percentiles" ,
306
+ skip_serializing_if = "Option::is_none"
307
+ ) ]
284
308
pub fee_rate_percentiles : Option < FeeRatePercentiles > ,
309
+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
285
310
pub height : Option < u64 > ,
311
+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
286
312
pub ins : Option < usize > ,
287
- #[ serde( rename = "maxfee" ) ]
288
- pub max_fee : Option < u64 > ,
289
- #[ serde( rename = "maxfeerate" ) ]
290
- pub max_fee_rate : Option < u32 > ,
291
- #[ serde( rename = "maxtxsize" ) ]
313
+ #[ serde(
314
+ default ,
315
+ rename = "maxfee" ,
316
+ with = "bitcoin::util::amount::serde::as_sat::opt" ,
317
+ skip_serializing_if = "Option::is_none"
318
+ ) ]
319
+ pub max_fee : Option < Amount > ,
320
+ #[ serde(
321
+ default ,
322
+ rename = "maxfeerate" ,
323
+ with = "bitcoin::util::amount::serde::as_sat::opt" ,
324
+ skip_serializing_if = "Option::is_none"
325
+ ) ]
326
+ pub max_fee_rate : Option < Amount > ,
327
+ #[ serde(
328
+ default ,
329
+ rename = "maxtxsize" ,
330
+ skip_serializing_if = "Option::is_none"
331
+ ) ]
292
332
pub max_tx_size : Option < u32 > ,
293
- #[ serde( rename = "medianfee" ) ]
294
- pub median_fee : Option < u32 > ,
295
- #[ serde( rename = "mediantime" ) ]
333
+ #[ serde(
334
+ default ,
335
+ rename = "medianfee" ,
336
+ with = "bitcoin::util::amount::serde::as_sat::opt" ,
337
+ skip_serializing_if = "Option::is_none"
338
+ ) ]
339
+ pub median_fee : Option < Amount > ,
340
+ #[ serde(
341
+ default ,
342
+ rename = "mediantime" ,
343
+ skip_serializing_if = "Option::is_none"
344
+ ) ]
296
345
pub median_time : Option < u32 > ,
297
- #[ serde( rename = "mediantxsize" ) ]
346
+ #[ serde(
347
+ default ,
348
+ rename = "mediantxsize" ,
349
+ skip_serializing_if = "Option::is_none"
350
+ ) ]
298
351
pub median_tx_size : Option < u32 > ,
299
- #[ serde( rename = "minfee" ) ]
300
- pub min_fee : Option < u32 > ,
301
- #[ serde( rename = "minfeerate" ) ]
302
- pub min_fee_rate : Option < u32 > ,
303
- #[ serde( rename = "mintxsize" ) ]
352
+ #[ serde(
353
+ default ,
354
+ rename = "minfee" ,
355
+ with = "bitcoin::util::amount::serde::as_sat::opt" ,
356
+ skip_serializing_if = "Option::is_none"
357
+ ) ]
358
+ pub min_fee : Option < Amount > ,
359
+ #[ serde(
360
+ default ,
361
+ rename = "minfeerate" ,
362
+ with = "bitcoin::util::amount::serde::as_sat::opt" ,
363
+ skip_serializing_if = "Option::is_none"
364
+ ) ]
365
+ pub min_fee_rate : Option < Amount > ,
366
+ #[ serde(
367
+ default ,
368
+ rename = "mintxsize" ,
369
+ skip_serializing_if = "Option::is_none"
370
+ ) ]
304
371
pub min_tx_size : Option < u32 > ,
372
+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
305
373
pub outs : Option < usize > ,
306
- pub subsidy : Option < u32 > ,
307
- #[ serde( rename = "swtotal_size" ) ]
374
+ #[ serde(
375
+ default ,
376
+ with = "bitcoin::util::amount::serde::as_sat::opt" ,
377
+ skip_serializing_if = "Option::is_none"
378
+ ) ]
379
+ pub subsidy : Option < Amount > ,
380
+ #[ serde(
381
+ default ,
382
+ rename = "swtotal_size" ,
383
+ skip_serializing_if = "Option::is_none"
384
+ ) ]
308
385
pub sw_total_size : Option < usize > ,
309
- #[ serde( rename = "swtotal_weight" ) ]
386
+ #[ serde(
387
+ default ,
388
+ rename = "swtotal_weight" ,
389
+ skip_serializing_if = "Option::is_none"
390
+ ) ]
310
391
pub sw_total_weight : Option < usize > ,
311
- #[ serde( rename = "swtxs" ) ]
392
+ #[ serde(
393
+ default ,
394
+ rename = "swtxs" ,
395
+ skip_serializing_if = "Option::is_none"
396
+ ) ]
312
397
pub sw_txs : Option < usize > ,
398
+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
313
399
pub time : Option < u32 > ,
314
- pub total_out : Option < usize > ,
400
+ #[ serde(
401
+ default ,
402
+ with = "bitcoin::util::amount::serde::as_sat::opt" ,
403
+ skip_serializing_if = "Option::is_none"
404
+ ) ]
405
+ pub total_out : Option < Amount > ,
406
+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
315
407
pub total_size : Option < usize > ,
408
+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
316
409
pub total_weight : Option < usize > ,
317
- #[ serde( rename = "totalfee" ) ]
318
- pub total_fee : Option < u64 > ,
410
+ #[ serde(
411
+ default ,
412
+ rename = "totalfee" ,
413
+ with = "bitcoin::util::amount::serde::as_sat::opt" ,
414
+ skip_serializing_if = "Option::is_none"
415
+ ) ]
416
+ pub total_fee : Option < Amount > ,
417
+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
319
418
pub txs : Option < usize > ,
419
+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
320
420
pub utxo_increase : Option < i32 > ,
421
+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
321
422
pub utxo_size_inc : Option < i32 > ,
322
423
}
323
424
324
425
#[ derive( Clone , PartialEq , Debug , Deserialize , Serialize ) ]
325
426
pub struct FeeRatePercentiles {
326
- pub fr_10th : u32 ,
327
- pub fr_25th : u32 ,
328
- pub fr_50th : u32 ,
329
- pub fr_75th : u32 ,
330
- pub fr_90th : u32 ,
427
+ #[ serde( with = "bitcoin::util::amount::serde::as_sat" ) ]
428
+ pub fr_10th : Amount ,
429
+ #[ serde( with = "bitcoin::util::amount::serde::as_sat" ) ]
430
+ pub fr_25th : Amount ,
431
+ #[ serde( with = "bitcoin::util::amount::serde::as_sat" ) ]
432
+ pub fr_50th : Amount ,
433
+ #[ serde( with = "bitcoin::util::amount::serde::as_sat" ) ]
434
+ pub fr_75th : Amount ,
435
+ #[ serde( with = "bitcoin::util::amount::serde::as_sat" ) ]
436
+ pub fr_90th : Amount ,
331
437
}
332
438
333
439
pub enum BlockStatsFields {
0 commit comments