graphql: add transaction signature values (#20623)
The feature update allows the GraphQL API endpoint to retrieve transaction signature R,S,V parameters. Co-authored-by: amitshah <amitshah0t7@gmail.com> Co-authored-by: Felix Lange <fjl@twurst.com>
This commit is contained in:
		
							parent
							
								
									675f4e75b8
								
							
						
					
					
						commit
						34bb132b10
					
				| @ -314,6 +314,33 @@ func (t *Transaction) Logs(ctx context.Context) (*[]*Log, error) { | ||||
| 	return &ret, nil | ||||
| } | ||||
| 
 | ||||
| func (t *Transaction) R(ctx context.Context) (hexutil.Big, error) { | ||||
| 	tx, err := t.resolve(ctx) | ||||
| 	if err != nil || tx == nil { | ||||
| 		return hexutil.Big{}, err | ||||
| 	} | ||||
| 	_, r, _ := tx.RawSignatureValues() | ||||
| 	return hexutil.Big(*r), nil | ||||
| } | ||||
| 
 | ||||
| func (t *Transaction) S(ctx context.Context) (hexutil.Big, error) { | ||||
| 	tx, err := t.resolve(ctx) | ||||
| 	if err != nil || tx == nil { | ||||
| 		return hexutil.Big{}, err | ||||
| 	} | ||||
| 	_, _, s := tx.RawSignatureValues() | ||||
| 	return hexutil.Big(*s), nil | ||||
| } | ||||
| 
 | ||||
| func (t *Transaction) V(ctx context.Context) (hexutil.Big, error) { | ||||
| 	tx, err := t.resolve(ctx) | ||||
| 	if err != nil || tx == nil { | ||||
| 		return hexutil.Big{}, err | ||||
| 	} | ||||
| 	v, _, _ := tx.RawSignatureValues() | ||||
| 	return hexutil.Big(*v), nil | ||||
| } | ||||
| 
 | ||||
| type BlockType int | ||||
| 
 | ||||
| // Block represents an Ethereum block.
 | ||||
|  | ||||
| @ -115,6 +115,9 @@ const schema string = ` | ||||
|         # Logs is a list of log entries emitted by this transaction. If the | ||||
|         # transaction has not yet been mined, this field will be null. | ||||
|         logs: [Log!] | ||||
|         r: BigInt! | ||||
|         s: BigInt! | ||||
|         v: BigInt! | ||||
|     } | ||||
| 
 | ||||
|     # BlockFilterCriteria encapsulates log filter criteria for a filter applied | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user