1414 * limitations under the License.
1515 */
1616
17- import { ClientResponse } from 'http' ;
18- import { from as observableFrom , Observable , throwError } from 'rxjs' ;
19- import { catchError , map , mergeMap } from 'rxjs/operators' ;
17+ import { from as observableFrom , Observable } from 'rxjs' ;
18+ import { map , mergeMap } from 'rxjs/operators' ;
2019import { PublicAccount } from '../model/account/PublicAccount' ;
2120import { BlockInfo } from '../model/blockchain/BlockInfo' ;
2221import { MerklePathItem } from '../model/blockchain/MerklePathItem' ;
@@ -80,33 +79,29 @@ export class BlockHttp extends Http implements BlockRepository {
8079 * @returns Observable<BlockInfo>
8180 */
8281 public getBlockByHeight ( height : number ) : Observable < BlockInfo > {
83- return observableFrom ( this . blockRoutesApi . getBlockByHeight ( height ) ) . pipe (
84- map ( ( response : { response : ClientResponse ; body : BlockInfoDTO ; } ) => {
85- const blockDTO = response . body ;
86- const networkType = parseInt ( ( blockDTO . block . version as number ) . toString ( 16 ) . substr ( 0 , 2 ) , 16 ) ;
87- return new BlockInfo (
88- blockDTO . meta . hash ,
89- blockDTO . meta . generationHash ,
90- new UInt64 ( blockDTO . meta . totalFee ) ,
91- blockDTO . meta . numTransactions ,
92- blockDTO . block . signature ,
93- PublicAccount . createFromPublicKey ( blockDTO . block . signer , networkType ) ,
94- networkType ,
95- parseInt ( ( blockDTO . block . version as number ) . toString ( 16 ) . substr ( 2 , 2 ) , 16 ) , // Tx version
96- blockDTO . block . type ,
97- new UInt64 ( blockDTO . block . height ) ,
98- new UInt64 ( blockDTO . block . timestamp ) ,
99- new UInt64 ( blockDTO . block . difficulty ) ,
100- blockDTO . block . feeMultiplier ,
101- blockDTO . block . previousBlockHash ,
102- blockDTO . block . blockTransactionsHash ,
103- blockDTO . block . blockReceiptsHash ,
104- blockDTO . block . stateHash ,
105- extractBeneficiary ( blockDTO , networkType ) ,
106- ) ;
107- } ) ,
108- catchError ( ( error ) => throwError ( this . errorHandling ( error ) ) ) ,
109- ) ;
82+ return observableFrom ( this . blockRoutesApi . getBlockByHeight ( height ) ) . pipe ( map ( ( blockDTO : BlockInfoDTO ) => {
83+ const networkType = parseInt ( ( blockDTO . block . version as number ) . toString ( 16 ) . substr ( 0 , 2 ) , 16 ) ;
84+ return new BlockInfo (
85+ blockDTO . meta . hash ,
86+ blockDTO . meta . generationHash ,
87+ new UInt64 ( blockDTO . meta . totalFee ) ,
88+ blockDTO . meta . numTransactions ,
89+ blockDTO . block . signature ,
90+ PublicAccount . createFromPublicKey ( blockDTO . block . signer , networkType ) ,
91+ networkType ,
92+ parseInt ( ( blockDTO . block . version as number ) . toString ( 16 ) . substr ( 2 , 2 ) , 16 ) , // Tx version
93+ blockDTO . block . type ,
94+ new UInt64 ( blockDTO . block . height ) ,
95+ new UInt64 ( blockDTO . block . timestamp ) ,
96+ new UInt64 ( blockDTO . block . difficulty ) ,
97+ blockDTO . block . feeMultiplier ,
98+ blockDTO . block . previousBlockHash ,
99+ blockDTO . block . blockTransactionsHash ,
100+ blockDTO . block . blockReceiptsHash ,
101+ blockDTO . block . stateHash ,
102+ extractBeneficiary ( blockDTO , networkType ) ,
103+ ) ;
104+ } ) ) ;
110105 }
111106
112107 /**
@@ -122,14 +117,11 @@ export class BlockHttp extends Http implements BlockRepository {
122117 this . queryParams ( queryParams ) . pageSize ,
123118 this . queryParams ( queryParams ) . id ,
124119 this . queryParams ( queryParams ) . order ) )
125- . pipe ( map ( ( response : { response : ClientResponse ; body : TransactionInfoDTO [ ] ; } ) => {
126- const transactionsDTO = response . body ;
120+ . pipe ( map ( ( transactionsDTO : TransactionInfoDTO [ ] ) => {
127121 return transactionsDTO . map ( ( transactionDTO ) => {
128122 return CreateTransactionFromDTO ( transactionDTO ) ;
129123 } ) ;
130- } ) ,
131- catchError ( ( error ) => throwError ( this . errorHandling ( error ) ) ) ,
132- ) ;
124+ } ) ) ;
133125 }
134126
135127 /**
@@ -140,35 +132,31 @@ export class BlockHttp extends Http implements BlockRepository {
140132 */
141133 public getBlocksByHeightWithLimit ( height : number , limit : LimitType = LimitType . N_25 ) : Observable < BlockInfo [ ] > {
142134 return observableFrom (
143- this . blockRoutesApi . getBlocksByHeightWithLimit ( height , limit ) ) . pipe (
144- map ( ( response : { response : ClientResponse ; body : BlockInfoDTO [ ] ; } ) => {
145- const blocksDTO = response . body ;
146- return blocksDTO . map ( ( blockDTO ) => {
147- const networkType = parseInt ( ( blockDTO . block . version as number ) . toString ( 16 ) . substr ( 0 , 2 ) , 16 ) ;
148- return new BlockInfo (
149- blockDTO . meta . hash ,
150- blockDTO . meta . generationHash ,
151- new UInt64 ( blockDTO . meta . totalFee ) ,
152- blockDTO . meta . numTransactions ,
153- blockDTO . block . signature ,
154- PublicAccount . createFromPublicKey ( blockDTO . block . signer , networkType ) ,
155- networkType ,
156- parseInt ( ( blockDTO . block . version as number ) . toString ( 16 ) . substr ( 2 , 2 ) , 16 ) , // Tx version
157- blockDTO . block . type ,
158- new UInt64 ( blockDTO . block . height ) ,
159- new UInt64 ( blockDTO . block . timestamp ) ,
160- new UInt64 ( blockDTO . block . difficulty ) ,
161- blockDTO . block . feeMultiplier ,
162- blockDTO . block . previousBlockHash ,
163- blockDTO . block . blockTransactionsHash ,
164- blockDTO . block . blockReceiptsHash ,
165- blockDTO . block . stateHash ,
166- extractBeneficiary ( blockDTO , networkType ) ,
167- ) ;
168- } ) ;
169- } ) ,
170- catchError ( ( error ) => throwError ( this . errorHandling ( error ) ) ) ,
171- ) ;
135+ this . blockRoutesApi . getBlocksByHeightWithLimit ( height , limit ) ) . pipe ( map ( ( blocksDTO : BlockInfoDTO [ ] ) => {
136+ return blocksDTO . map ( ( blockDTO ) => {
137+ const networkType = parseInt ( ( blockDTO . block . version as number ) . toString ( 16 ) . substr ( 0 , 2 ) , 16 ) ;
138+ return new BlockInfo (
139+ blockDTO . meta . hash ,
140+ blockDTO . meta . generationHash ,
141+ new UInt64 ( blockDTO . meta . totalFee ) ,
142+ blockDTO . meta . numTransactions ,
143+ blockDTO . block . signature ,
144+ PublicAccount . createFromPublicKey ( blockDTO . block . signer , networkType ) ,
145+ networkType ,
146+ parseInt ( ( blockDTO . block . version as number ) . toString ( 16 ) . substr ( 2 , 2 ) , 16 ) , // Tx version
147+ blockDTO . block . type ,
148+ new UInt64 ( blockDTO . block . height ) ,
149+ new UInt64 ( blockDTO . block . timestamp ) ,
150+ new UInt64 ( blockDTO . block . difficulty ) ,
151+ blockDTO . block . feeMultiplier ,
152+ blockDTO . block . previousBlockHash ,
153+ blockDTO . block . blockTransactionsHash ,
154+ blockDTO . block . blockReceiptsHash ,
155+ blockDTO . block . stateHash ,
156+ extractBeneficiary ( blockDTO , networkType ) ,
157+ ) ;
158+ } ) ;
159+ } ) ) ;
172160 }
173161
174162 /**
@@ -183,18 +171,14 @@ export class BlockHttp extends Http implements BlockRepository {
183171 */
184172 public getMerkleReceipts ( height : number , hash : string ) : Observable < MerkleProofInfo > {
185173 return observableFrom (
186- this . blockRoutesApi . getMerkleReceipts ( height , hash ) ) . pipe (
187- map ( ( response : { response : ClientResponse ; body : MerkleProofInfoDTO ; } ) => {
188- const merkleProofReceipt = response . body ;
189- return new MerkleProofInfo (
190- new MerkleProofInfoPayload (
191- merkleProofReceipt . payload . merklePath ! . map (
192- ( payload ) => new MerklePathItem ( payload . position , payload . hash ) ) ) ,
193- merkleProofReceipt . type ,
194- ) ;
195- } ) ,
196- catchError ( ( error ) => throwError ( this . errorHandling ( error ) ) ) ,
197- ) ;
174+ this . blockRoutesApi . getMerkleReceipts ( height , hash ) ) . pipe ( map ( ( merkleProofReceipt : MerkleProofInfoDTO ) => {
175+ return new MerkleProofInfo (
176+ new MerkleProofInfoPayload (
177+ merkleProofReceipt . payload . merklePath ! . map (
178+ ( payload ) => new MerklePathItem ( payload . position , payload . hash ) ) ) ,
179+ merkleProofReceipt . type ,
180+ ) ;
181+ } ) ) ;
198182 }
199183
200184 /**
@@ -209,18 +193,13 @@ export class BlockHttp extends Http implements BlockRepository {
209193 */
210194 public getMerkleTransaction ( height : number , hash : string ) : Observable < MerkleProofInfo > {
211195 return observableFrom (
212- this . blockRoutesApi . getMerkleReceipts ( height , hash ) ) . pipe (
213- map ( ( response : { response : ClientResponse ; body : MerkleProofInfoDTO ; } ) => {
214- const merkleProofTransaction = response . body ;
215- return new MerkleProofInfo (
216- new MerkleProofInfoPayload (
217- merkleProofTransaction . payload . merklePath ! . map ( ( payload ) =>
218- new MerklePathItem ( payload . position , payload . hash ) ) ) ,
219- merkleProofTransaction . type ,
220- ) ;
221- } ) ,
222- catchError ( ( error ) => throwError ( this . errorHandling ( error ) ) ) ,
223- ) ;
196+ this . blockRoutesApi . getMerkleReceipts ( height , hash ) ) . pipe ( map ( ( merkleProofTransaction : MerkleProofInfoDTO ) => {
197+ return new MerkleProofInfo (
198+ new MerkleProofInfoPayload (
199+ merkleProofTransaction . payload . merklePath ! . map ( ( payload ) => new MerklePathItem ( payload . position , payload . hash ) ) ) ,
200+ merkleProofTransaction . type ,
201+ ) ;
202+ } ) ) ;
224203 }
225204
226205 /**
@@ -233,11 +212,9 @@ export class BlockHttp extends Http implements BlockRepository {
233212 return this . getNetworkTypeObservable ( ) . pipe (
234213 mergeMap ( ( networkType ) => observableFrom (
235214 this . blockRoutesApi . getBlockReceipts ( height ) ) . pipe (
236- map ( ( response : { response : ClientResponse ; body : StatementsDTO ; } ) => {
237- const receiptDTO = response . body ;
215+ map ( ( receiptDTO : StatementsDTO ) => {
238216 return CreateStatementFromDTO ( receiptDTO , networkType ) ;
239217 } ) ,
240- catchError ( ( error ) => throwError ( this . errorHandling ( error ) ) ) ,
241218 ) ,
242219 ) ,
243220 ) ;
0 commit comments