web3dart
web3dart copied to clipboard
Getting transactions with eth_getBlockByNumber
eth_getBlockByNumber
returns either transaction hashes or full transactions depending on the second boolean argument. For this we have Web3Client.getBlockInformation
that also has an optional boolean argument which is sent but the transactions from the response are never parsed.
I need to parse them and so to add this functionality. We need to decide on Dart data structure because it is a bad practice to use List<dynamic>
for this.
I suggest to:
-
Subclass
BlockInformation
withBlockInformationWithTransactions
andBlockInformationWithTransactionHashes
. The subclasses would have transactions field of corresponding list type. The base class would not have this field. -
Add 2 methods to Web3Client:
getBlockByNumberWithTransactions
,getBlockByNumberWithTransactionHashes
. They would return the corresponding block types. Their names are chosen to more closely match the RPC names. They would acceptBlockNum
as the first argument instead of String thatgetBlockInformation
currently accepts, this is for consistency across other methods and for ease of calling. -
Deprecate the existing
getBlockInformation
method.