diff --git a/graphql/graphql.go b/graphql/graphql.go index cbd76465d6..dc25a41f21 100644 --- a/graphql/graphql.go +++ b/graphql/graphql.go @@ -514,6 +514,14 @@ func (t *Transaction) V(ctx context.Context) (hexutil.Big, error) { return hexutil.Big(*v), nil } +func (t *Transaction) RawReceipt(ctx context.Context) (hexutil.Bytes, error) { + receipt, err := t.getReceipt(ctx) + if err != nil || receipt == nil { + return nil, err + } + return receipt.MarshalBinary() +} + type BlockType int // Block represents an Ethereum block. diff --git a/graphql/schema.go b/graphql/schema.go index 0013e7bae7..c908866be2 100644 --- a/graphql/schema.go +++ b/graphql/schema.go @@ -137,9 +137,12 @@ const schema string = ` r: BigInt! s: BigInt! v: BigInt! - #Envelope transaction support + # Envelope transaction support type: Int accessList: [AccessTuple!] + # RawReceipt is the binary encoding of the receipt. For post EIP-2718 typed transactions + # this is equivalent to TxType || ReceiptEncoding. + rawReceipt: Bytes! } # BlockFilterCriteria encapsulates log filter criteria for a filter applied