@@ -11,7 +11,7 @@ use super::{OfferToSellWaitingForPayment, RecoursePaymentInfo};
11
11
use crate :: NodeId ;
12
12
use crate :: bill:: { BillKeys , Endorsement , LightSignedBy , PastEndorsee , PastPaymentStatus } ;
13
13
use crate :: blockchain:: bill:: block:: BillRejectToBuyBlockData ;
14
- use crate :: blockchain:: { Block , Blockchain , Error } ;
14
+ use crate :: blockchain:: { Block , Blockchain , Error , borsh_to_json_string } ;
15
15
use crate :: constants:: { PAYMENT_DEADLINE_SECONDS , RECOURSE_DEADLINE_SECONDS } ;
16
16
use crate :: contact:: {
17
17
BillParticipant , ContactType , LightBillIdentParticipant , LightBillParticipant ,
@@ -97,58 +97,51 @@ impl BillBlockPlaintextWrapper {
97
97
let mut block = self . block . clone ( ) ;
98
98
let block_data_string: String = match self . block . op_code ( ) {
99
99
BillOpCode :: Issue => {
100
- Self :: borsh_to_json_string :: < BillIssueBlockData > ( & self . plaintext_data_bytes ) ?
100
+ borsh_to_json_string :: < BillIssueBlockData > ( & self . plaintext_data_bytes ) ?
101
101
}
102
102
BillOpCode :: Accept => {
103
- Self :: borsh_to_json_string :: < BillAcceptBlockData > ( & self . plaintext_data_bytes ) ?
103
+ borsh_to_json_string :: < BillAcceptBlockData > ( & self . plaintext_data_bytes ) ?
104
104
}
105
105
BillOpCode :: Endorse => {
106
- Self :: borsh_to_json_string :: < BillEndorseBlockData > ( & self . plaintext_data_bytes ) ?
106
+ borsh_to_json_string :: < BillEndorseBlockData > ( & self . plaintext_data_bytes ) ?
107
+ }
108
+ BillOpCode :: RequestToAccept => {
109
+ borsh_to_json_string :: < BillRequestToAcceptBlockData > ( & self . plaintext_data_bytes ) ?
107
110
}
108
- BillOpCode :: RequestToAccept => Self :: borsh_to_json_string :: <
109
- BillRequestToAcceptBlockData ,
110
- > ( & self . plaintext_data_bytes ) ?,
111
111
BillOpCode :: RequestToPay => {
112
- Self :: borsh_to_json_string :: < BillRequestToPayBlockData > ( & self . plaintext_data_bytes ) ?
112
+ borsh_to_json_string :: < BillRequestToPayBlockData > ( & self . plaintext_data_bytes ) ?
113
113
}
114
114
BillOpCode :: OfferToSell => {
115
- Self :: borsh_to_json_string :: < BillOfferToSellBlockData > ( & self . plaintext_data_bytes ) ?
115
+ borsh_to_json_string :: < BillOfferToSellBlockData > ( & self . plaintext_data_bytes ) ?
116
116
}
117
117
BillOpCode :: Sell => {
118
- Self :: borsh_to_json_string :: < BillSellBlockData > ( & self . plaintext_data_bytes ) ?
118
+ borsh_to_json_string :: < BillSellBlockData > ( & self . plaintext_data_bytes ) ?
119
119
}
120
120
BillOpCode :: Mint => {
121
- Self :: borsh_to_json_string :: < BillMintBlockData > ( & self . plaintext_data_bytes ) ?
121
+ borsh_to_json_string :: < BillMintBlockData > ( & self . plaintext_data_bytes ) ?
122
122
}
123
123
BillOpCode :: RejectToAccept => {
124
- Self :: borsh_to_json_string :: < BillRejectBlockData > ( & self . plaintext_data_bytes ) ?
124
+ borsh_to_json_string :: < BillRejectBlockData > ( & self . plaintext_data_bytes ) ?
125
125
}
126
126
BillOpCode :: RejectToPay => {
127
- Self :: borsh_to_json_string :: < BillRejectBlockData > ( & self . plaintext_data_bytes ) ?
127
+ borsh_to_json_string :: < BillRejectBlockData > ( & self . plaintext_data_bytes ) ?
128
128
}
129
129
BillOpCode :: RejectToBuy => {
130
- Self :: borsh_to_json_string :: < BillRejectToBuyBlockData > ( & self . plaintext_data_bytes ) ?
130
+ borsh_to_json_string :: < BillRejectToBuyBlockData > ( & self . plaintext_data_bytes ) ?
131
131
}
132
132
BillOpCode :: RejectToPayRecourse => {
133
- Self :: borsh_to_json_string :: < BillRejectBlockData > ( & self . plaintext_data_bytes ) ?
133
+ borsh_to_json_string :: < BillRejectBlockData > ( & self . plaintext_data_bytes ) ?
134
+ }
135
+ BillOpCode :: RequestRecourse => {
136
+ borsh_to_json_string :: < BillRequestRecourseBlockData > ( & self . plaintext_data_bytes ) ?
134
137
}
135
- BillOpCode :: RequestRecourse => Self :: borsh_to_json_string :: <
136
- BillRequestRecourseBlockData ,
137
- > ( & self . plaintext_data_bytes ) ?,
138
138
BillOpCode :: Recourse => {
139
- Self :: borsh_to_json_string :: < BillRecourseBlockData > ( & self . plaintext_data_bytes ) ?
139
+ borsh_to_json_string :: < BillRecourseBlockData > ( & self . plaintext_data_bytes ) ?
140
140
}
141
141
} ;
142
142
block. data = block_data_string;
143
143
serde_json:: to_string ( & block) . map_err ( |e| Error :: JSON ( e. to_string ( ) ) )
144
144
}
145
-
146
- fn borsh_to_json_string < T : borsh:: BorshDeserialize + serde:: Serialize > (
147
- bytes : & [ u8 ] ,
148
- ) -> Result < String > {
149
- let block_data: T = borsh:: from_slice ( bytes) ?;
150
- serde_json:: to_string ( & block_data) . map_err ( |e| Error :: JSON ( e. to_string ( ) ) )
151
- }
152
145
}
153
146
154
147
/// Gets bill parties from blocks with their plaintext data
@@ -966,48 +959,20 @@ impl BillBlockchain {
966
959
let mut result = Vec :: with_capacity ( self . blocks ( ) . len ( ) ) ;
967
960
for block in self . blocks . iter ( ) {
968
961
let plaintext_data_bytes = match block. op_code ( ) {
969
- BillOpCode :: Issue => {
970
- borsh:: to_vec ( & block. get_decrypted_block :: < BillIssueBlockData > ( bill_keys) ?) ?
971
- }
972
- BillOpCode :: Accept => {
973
- borsh:: to_vec ( & block. get_decrypted_block :: < BillAcceptBlockData > ( bill_keys) ?) ?
974
- }
975
- BillOpCode :: Endorse => {
976
- borsh:: to_vec ( & block. get_decrypted_block :: < BillEndorseBlockData > ( bill_keys) ?) ?
977
- }
978
- BillOpCode :: RequestToAccept => borsh:: to_vec (
979
- & block. get_decrypted_block :: < BillRequestToAcceptBlockData > ( bill_keys) ?,
980
- ) ?,
981
- BillOpCode :: RequestToPay => borsh:: to_vec (
982
- & block. get_decrypted_block :: < BillRequestToPayBlockData > ( bill_keys) ?,
983
- ) ?,
984
- BillOpCode :: OfferToSell => borsh:: to_vec (
985
- & block. get_decrypted_block :: < BillOfferToSellBlockData > ( bill_keys) ?,
986
- ) ?,
987
- BillOpCode :: Sell => {
988
- borsh:: to_vec ( & block. get_decrypted_block :: < BillSellBlockData > ( bill_keys) ?) ?
989
- }
990
- BillOpCode :: Mint => {
991
- borsh:: to_vec ( & block. get_decrypted_block :: < BillMintBlockData > ( bill_keys) ?) ?
992
- }
993
- BillOpCode :: RejectToAccept => {
994
- borsh:: to_vec ( & block. get_decrypted_block :: < BillRejectBlockData > ( bill_keys) ?) ?
995
- }
996
- BillOpCode :: RejectToPay => {
997
- borsh:: to_vec ( & block. get_decrypted_block :: < BillRejectBlockData > ( bill_keys) ?) ?
998
- }
999
- BillOpCode :: RejectToBuy => borsh:: to_vec (
1000
- & block. get_decrypted_block :: < BillRejectToBuyBlockData > ( bill_keys) ?,
1001
- ) ?,
1002
- BillOpCode :: RejectToPayRecourse => {
1003
- borsh:: to_vec ( & block. get_decrypted_block :: < BillRejectBlockData > ( bill_keys) ?) ?
1004
- }
1005
- BillOpCode :: RequestRecourse => borsh:: to_vec (
1006
- & block. get_decrypted_block :: < BillRequestRecourseBlockData > ( bill_keys) ?,
1007
- ) ?,
1008
- BillOpCode :: Recourse => {
1009
- borsh:: to_vec ( & block. get_decrypted_block :: < BillRecourseBlockData > ( bill_keys) ?) ?
1010
- }
962
+ BillOpCode :: Issue => block. get_decrypted_block_bytes ( bill_keys) ?,
963
+ BillOpCode :: Accept => block. get_decrypted_block_bytes ( bill_keys) ?,
964
+ BillOpCode :: Endorse => block. get_decrypted_block_bytes ( bill_keys) ?,
965
+ BillOpCode :: RequestToAccept => block. get_decrypted_block_bytes ( bill_keys) ?,
966
+ BillOpCode :: RequestToPay => block. get_decrypted_block_bytes ( bill_keys) ?,
967
+ BillOpCode :: OfferToSell => block. get_decrypted_block_bytes ( bill_keys) ?,
968
+ BillOpCode :: Sell => block. get_decrypted_block_bytes ( bill_keys) ?,
969
+ BillOpCode :: Mint => block. get_decrypted_block_bytes ( bill_keys) ?,
970
+ BillOpCode :: RejectToAccept => block. get_decrypted_block_bytes ( bill_keys) ?,
971
+ BillOpCode :: RejectToPay => block. get_decrypted_block_bytes ( bill_keys) ?,
972
+ BillOpCode :: RejectToBuy => block. get_decrypted_block_bytes ( bill_keys) ?,
973
+ BillOpCode :: RejectToPayRecourse => block. get_decrypted_block_bytes ( bill_keys) ?,
974
+ BillOpCode :: RequestRecourse => block. get_decrypted_block_bytes ( bill_keys) ?,
975
+ BillOpCode :: Recourse => block. get_decrypted_block_bytes ( bill_keys) ?,
1011
976
} ;
1012
977
1013
978
if block. plaintext_hash != util:: sha256_hash ( & plaintext_data_bytes) {
0 commit comments