[bitcoin core] add missing verbose params to bitcoin core internal routes
This commit is contained in:
		
							parent
							
								
									f095913538
								
							
						
					
					
						commit
						b38bbb9513
					
				| @ -92,12 +92,23 @@ class BitcoinBackendRoutes { | |||||||
| 
 | 
 | ||||||
|   private async $getRawTransaction(req: Request, res: Response): Promise<void> { |   private async $getRawTransaction(req: Request, res: Response): Promise<void> { | ||||||
|     const txid = req.query.txid; |     const txid = req.query.txid; | ||||||
|  |     const verbose = req.query.verbose; | ||||||
|     try { |     try { | ||||||
|       if (typeof(txid) !== 'string' || txid.length !== 64) { |       if (typeof(txid) !== 'string' || txid.length !== 64) { | ||||||
|         res.status(400).send(`invalid param txid ${txid}. must be a string of 64 char`); |         res.status(400).send(`invalid param txid ${txid}. must be a string of 64 char`); | ||||||
|         return; |         return; | ||||||
|       } |       } | ||||||
|       const decodedTx = await bitcoinClient.getRawTransaction(txid); |       if (typeof(verbose) !== 'string') { | ||||||
|  |         res.status(400).send(`invalid param verbose ${verbose}. must be a string representing an integer`); | ||||||
|  |         return; | ||||||
|  |       } | ||||||
|  |       const verboseNumber = parseInt(verbose, 10); | ||||||
|  |       if (typeof(verboseNumber) !== 'number') { | ||||||
|  |         res.status(400).send(`invalid param verbose ${verbose}. must be a valid integer`); | ||||||
|  |         return; | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|  |       const decodedTx = await bitcoinClient.getRawTransaction(txid, verboseNumber); | ||||||
|       if (!decodedTx) { |       if (!decodedTx) { | ||||||
|         res.status(400).send(`unable to get raw transaction for txid ${txid}`); |         res.status(400).send(`unable to get raw transaction for txid ${txid}`); | ||||||
|         return; |         return; | ||||||
| @ -127,15 +138,15 @@ class BitcoinBackendRoutes { | |||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   private async $testMempoolAccept(req: Request, res: Response): Promise<void> { |   private async $testMempoolAccept(req: Request, res: Response): Promise<void> { | ||||||
|     const rawTx = req.body.rawTx; |     const rawTxs = req.body.rawTxs; | ||||||
|     try { |     try { | ||||||
|       if (typeof(rawTx) !== 'string') { |       if (typeof(rawTxs) !== 'object') { | ||||||
|         res.status(400).send(`invalid param rawTx ${rawTx}. must be a string`); |         res.status(400).send(`invalid param rawTxs ${JSON.stringify(rawTxs)}. must be an array of string`); | ||||||
|         return; |         return; | ||||||
|       } |       } | ||||||
|       const txHex = await bitcoinClient.testMempoolAccept([rawTx]); |       const txHex = await bitcoinClient.testMempoolAccept(rawTxs); | ||||||
|       if (typeof(txHex) !== 'object' || txHex.length === 0) { |       if (typeof(txHex) !== 'object' || txHex.length === 0) { | ||||||
|         res.status(400).send(`testmempoolaccept failed for raw tx ${rawTx}, got an empty result`); |         res.status(400).send(`testmempoolaccept failed for raw txs ${JSON.stringify(rawTxs)}, got an empty result`); | ||||||
|         return; |         return; | ||||||
|       } |       } | ||||||
|       res.status(200).send(txHex); |       res.status(200).send(txHex); | ||||||
| @ -146,12 +157,23 @@ class BitcoinBackendRoutes { | |||||||
| 
 | 
 | ||||||
|   private async $getMempoolAncestors(req: Request, res: Response): Promise<void> { |   private async $getMempoolAncestors(req: Request, res: Response): Promise<void> { | ||||||
|     const txid = req.query.txid; |     const txid = req.query.txid; | ||||||
|  |     const verbose = req.query.verbose; | ||||||
|     try { |     try { | ||||||
|       if (typeof(txid) !== 'string' || txid.length !== 64) { |       if (typeof(txid) !== 'string' || txid.length !== 64) { | ||||||
|         res.status(400).send(`invalid param txid ${txid}. must be a string of 64 char`); |         res.status(400).send(`invalid param txid ${txid}. must be a string of 64 char`); | ||||||
|         return; |         return; | ||||||
|       } |       } | ||||||
|       const decodedTx = await bitcoinClient.getMempoolAncestors(txid); |       if (typeof(verbose) !== 'string') { | ||||||
|  |         res.status(400).send(`invalid param verbose ${verbose}. must be a string representing an integer`); | ||||||
|  |         return; | ||||||
|  |       } | ||||||
|  |       const verboseNumber = parseInt(verbose, 10); | ||||||
|  |       if (typeof(verboseNumber) !== 'number') { | ||||||
|  |         res.status(400).send(`invalid param verbose ${verbose}. must be a valid integer`); | ||||||
|  |         return; | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|  |       const decodedTx = await bitcoinClient.getMempoolAncestors(txid, verboseNumber); | ||||||
|       if (!decodedTx) { |       if (!decodedTx) { | ||||||
|         res.status(400).send(`unable to get mempool ancestors for txid ${txid}`); |         res.status(400).send(`unable to get mempool ancestors for txid ${txid}`); | ||||||
|         return; |         return; | ||||||
| @ -164,12 +186,23 @@ class BitcoinBackendRoutes { | |||||||
| 
 | 
 | ||||||
|   private async $getBlock(req: Request, res: Response): Promise<void> { |   private async $getBlock(req: Request, res: Response): Promise<void> { | ||||||
|     const blockHash = req.query.hash; |     const blockHash = req.query.hash; | ||||||
|  |     const verbosity = req.query.verbosity; | ||||||
|     try { |     try { | ||||||
|       if (typeof(blockHash) !== 'string' || blockHash.length !== 64) { |       if (typeof(blockHash) !== 'string' || blockHash.length !== 64) { | ||||||
|         res.status(400).send(`invalid param blockHash ${blockHash}. must be a string of 64 char`); |         res.status(400).send(`invalid param blockHash ${blockHash}. must be a string of 64 char`); | ||||||
|         return; |         return; | ||||||
|       } |       } | ||||||
|       const block = await bitcoinClient.getBlock(blockHash); |       if (typeof(verbosity) !== 'string') { | ||||||
|  |         res.status(400).send(`invalid param verbosity ${verbosity}. must be a string representing an integer`); | ||||||
|  |         return; | ||||||
|  |       } | ||||||
|  |       const verbosityNumber = parseInt(verbosity, 10); | ||||||
|  |       if (typeof(verbosityNumber) !== 'number') { | ||||||
|  |         res.status(400).send(`invalid param verbosity ${verbosity}. must be a valid integer`); | ||||||
|  |         return; | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|  |       const block = await bitcoinClient.getBlock(blockHash, verbosityNumber); | ||||||
|       if (!block) { |       if (!block) { | ||||||
|         res.status(400).send(`unable to get block for block hash ${blockHash}`); |         res.status(400).send(`unable to get block for block hash ${blockHash}`); | ||||||
|         return; |         return; | ||||||
| @ -188,7 +221,7 @@ class BitcoinBackendRoutes { | |||||||
|         return; |         return; | ||||||
|       } |       } | ||||||
|       const blockHeightNumber = parseInt(blockHeight, 10); |       const blockHeightNumber = parseInt(blockHeight, 10); | ||||||
|       if (!blockHeightNumber) { |       if (typeof(blockHeightNumber) !== 'number') { | ||||||
|         res.status(400).send(`invalid param blockHeight ${blockHeight}. must be a valid integer`); |         res.status(400).send(`invalid param blockHeight ${blockHeight}. must be a valid integer`); | ||||||
|         return; |         return; | ||||||
|       } |       } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user