-
Notifications
You must be signed in to change notification settings - Fork 380
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
graphql: standardize test outputs #475
Comments
As for status, as @shemnon pointed out it goes back to pre-byzantium blocks where status was not a part of the block. Therefore clients should return null for pre-byzantium and an integer value if the block is post-byzantium. |
Here is a proposal for a single response for the test cases mentioned above:
Note for geth:
|
updated, as below:
removed
updated
besu and go-etherum return
as besu and go-ethereum all return empty arry, so I adjust it into:
|
I don't think the |
|
|
As per discussion in ethereum/execution-apis#475
As per discussion in ethereum/execution-apis#475 Signed-off-by: jsvisa <[email protected]>
As per discussion in ethereum/execution-apis#475
As per discussion in ethereum/execution-apis#475 Signed-off-by: jsvisa <[email protected]>
As per discussion in ethereum/execution-apis#475
As per discussion in ethereum/execution-apis#475 Signed-off-by: jsvisa <[email protected]>
As per discussion in ethereum/execution-apis#475
As per discussion in ethereum/execution-apis#475 Signed-off-by: jsvisa <[email protected]>
As per discussion in ethereum/execution-apis#475
As per discussion in ethereum/execution-apis#475 Signed-off-by: jsvisa <[email protected]>
As per discussion in ethereum/execution-apis#475 Signed-off-by: jsvisa <[email protected]>
There are multiple GraphQL hive tests where due to historical reasons 2 responses are accepted. This is unfortunate. The aim of this issue to discuss and agree on one output. The following tests have 2 acceptable responses:
17_eth_getBlock_byNumberInvalid.json
tries to get a block by a number that doesn't exist in the chain (88888888)07_eth_gasPrice.json
accepts both0x10
and0x1
as valid responses30_eth_getTransaction_byHash.json
this returns a transaction object. it accepts 2 responses. As far as I can tell these are the differences:index
being0
vs0x0
. We should use0x0
here now that all integer values are hex-encodedlog.index
being0
vs0x0
. Same as above.status
beingnull
vs0x0
. I'm not sure why status should be null here. IMO we should return0x0
.33_eth_getTransactionReceipt.json
as far as I can tell only difference isindex
being0
vs0x0
. Should use0x0
.The following testcase also accepts 2 responses. Either an error, or simply a nil value. It gets the balance of an account against a block which shouldnt exist. However since we've added new block the query has now actually a correct response. It needs to be updated with another block number.
12_eth_getBalance_toobig_bn.json
We need to agree what to do for 12 and 17. It boils down to this: when a resource does not exist, return null or error. IMO to stay consistent with JSON-RPC we should return null. Also this is not really an exception.
Not sure what to do for
07_eth_gasPrice
.The text was updated successfully, but these errors were encountered: