graphql: validate block params (#27876)

Block takes a number and a hash. The spec is unclear on what should happen in this case, leaving it an implemenation detail. With this change, we return an error in case both number and hash are passed in.
This commit is contained in:
Sina Mahmoodi 2023-08-10 13:00:52 +02:00 committed by GitHub
parent 86d7f5aeee
commit 5e89ff4d6b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1217,6 +1217,9 @@ func (r *Resolver) Block(ctx context.Context, args struct {
Number *Long Number *Long
Hash *common.Hash Hash *common.Hash
}) (*Block, error) { }) (*Block, error) {
if args.Number != nil && args.Hash != nil {
return nil, errors.New("only one of number or hash must be specified")
}
var numberOrHash rpc.BlockNumberOrHash var numberOrHash rpc.BlockNumberOrHash
if args.Number != nil { if args.Number != nil {
if *args.Number < 0 { if *args.Number < 0 {