From 641a25b54852f6fbfe1c4d0165efa37651563a9c Mon Sep 17 00:00:00 2001
From: Jean-Marie PEDURAND <jm81@hotmail.fr>
Date: Sat, 30 Nov 2019 10:56:50 +0100
Subject: [PATCH] [feat] gva: add issuersFrame issuersFrameVar field
---
lib/dubp/block-doc/src/block.rs | 8 ++++++++
lib/dubp/block-doc/src/block/v10.rs | 3 +++
lib/modules/gva/resources/schema.gql | 2 ++
lib/modules/gva/src/schema/entities/block.rs | 12 ++++++++++++
lib/modules/gva/src/schema/queries/block.rs | 8 ++++++--
5 files changed, 31 insertions(+), 2 deletions(-)
diff --git a/lib/dubp/block-doc/src/block.rs b/lib/dubp/block-doc/src/block.rs
index 933ea8a3..af8f61bf 100644
--- a/lib/dubp/block-doc/src/block.rs
+++ b/lib/dubp/block-doc/src/block.rs
@@ -95,6 +95,8 @@ pub trait BlockDocumentTrait {
fn sign(&mut self, signator: &SignatorEnum);
/// Get unit_base
fn unit_base(&self) -> usize;
+ /// Get issuers_frame_var
+ fn issuers_frame_var(&self) -> isize;
}
impl BlockDocumentTrait for BlockDocument {
@@ -230,6 +232,12 @@ impl BlockDocumentTrait for BlockDocument {
BlockDocument::V10(block) => block.unit_base(),
}
}
+ #[inline]
+ fn issuers_frame_var(&self) -> isize {
+ match self {
+ BlockDocument::V10(block) => block.issuers_frame_var(),
+ }
+ }
}
impl Document for BlockDocument {
diff --git a/lib/dubp/block-doc/src/block/v10.rs b/lib/dubp/block-doc/src/block/v10.rs
index 6c50540c..a48f949f 100644
--- a/lib/dubp/block-doc/src/block/v10.rs
+++ b/lib/dubp/block-doc/src/block/v10.rs
@@ -365,6 +365,9 @@ Transactions:{transactions}
fn unit_base(&self) -> usize {
self.unit_base
}
+ fn issuers_frame_var(&self) -> isize {
+ self.issuers_frame_var
+ }
}
impl Document for BlockDocumentV10 {
diff --git a/lib/modules/gva/resources/schema.gql b/lib/modules/gva/resources/schema.gql
index d1a97acd..cd222a90 100644
--- a/lib/modules/gva/resources/schema.gql
+++ b/lib/modules/gva/resources/schema.gql
@@ -89,6 +89,8 @@ type Block {
commonTime: DateTimeUtc!
powMin: Int!
unitBase: Int!
+ issuersFrame: Int!
+ issuersFrameVar: Int!
}
#################################
diff --git a/lib/modules/gva/src/schema/entities/block.rs b/lib/modules/gva/src/schema/entities/block.rs
index 5e1a655e..2b0036cd 100644
--- a/lib/modules/gva/src/schema/entities/block.rs
+++ b/lib/modules/gva/src/schema/entities/block.rs
@@ -38,6 +38,8 @@ pub struct Block {
common_time: NaiveDateTime,
pow_min: i32,
unit_base: i32,
+ issuers_frame: i32,
+ issuers_frame_var: i32,
}
impl Block {
@@ -71,6 +73,8 @@ impl Block {
common_time: NaiveDateTime::from_timestamp(block_db.block.common_time() as i64, 0),
pow_min: block_db.block.pow_min() as i32,
unit_base: block_db.block.unit_base() as i32,
+ issuers_frame: block_db.block.current_frame_size() as i32,
+ issuers_frame_var: block_db.block.issuers_frame_var() as i32,
})
}
}
@@ -126,4 +130,12 @@ impl super::super::BlockFields for Block {
fn field_members_count(&self, _executor: &Executor<'_, QueryContext>) -> FieldResult<&i32> {
Ok(&self.members_count)
}
+ #[inline]
+ fn field_issuers_frame(&self, _executor: &Executor<'_, QueryContext>) -> FieldResult<&i32> {
+ Ok(&self.issuers_frame)
+ }
+ #[inline]
+ fn field_issuers_frame_var(&self, _executor: &Executor<'_, QueryContext>) -> FieldResult<&i32> {
+ Ok(&self.issuers_frame_var)
+ }
}
diff --git a/lib/modules/gva/src/schema/queries/block.rs b/lib/modules/gva/src/schema/queries/block.rs
index cc6bcd98..d0630b97 100644
--- a/lib/modules/gva/src/schema/queries/block.rs
+++ b/lib/modules/gva/src/schema/queries/block.rs
@@ -71,6 +71,8 @@ mod tests {
block.issuers = vec![pubkey('B')];
block.issuers_count = 3;
block.pow_min = 70;
+ block.issuers_frame = 125;
+ block.issuers_frame_var = 3;
Ok(Some(BlockDb {
block: BlockDocument::V10(block),
expire_certs: None,
@@ -100,7 +102,7 @@ mod tests {
tests::test_gql_query(
schema,
- "{ block(number: 42) { commonTime, currency, hash, issuer, issuerName, issuersCount, number, powMin, version } }",
+ "{ block(number: 42) { commonTime, currency, hash, issuer, issuerName, issuersCount, number, powMin, version, issuersFrame, issuersFrameVar } }",
json!({
"data": {
"block": {
@@ -112,7 +114,9 @@ mod tests {
"issuersCount": 3,
"number": 42,
"powMin": 70,
- "version": 10
+ "version": 10,
+ "issuersFrame": 125,
+ "issuersFrameVar": 3,
}
}
}),
--
GitLab