@@ -316,37 +316,38 @@ func (alv AccessListView) HashTreeRoot(hFn tree.HashFn) tree.Root {
316316}
317317
318318type BlobTxMessage struct {
319- ChainID Uint256View
320- Nonce Uint64View
321- GasTipCap Uint256View // a.k.a. maxPriorityFeePerGas
322- GasFeeCap Uint256View // a.k.a. maxFeePerGas
323- Gas Uint64View
324- To AddressOptionalSSZ // nil means contract creation
325- Value Uint256View
326- Data TxDataView
327- AccessList AccessListView
319+ ChainID Uint256View
320+ Nonce Uint64View
321+ GasTipCap Uint256View // a.k.a. maxPriorityFeePerGas
322+ GasFeeCap Uint256View // a.k.a. maxFeePerGas
323+ Gas Uint64View
324+ To AddressOptionalSSZ // nil means contract creation
325+ Value Uint256View
326+ Data TxDataView
327+ AccessList AccessListView
328+ MaxFeePerDataGas Uint256View
328329
329330 BlobVersionedHashes VersionedHashesView
330331}
331332
332333func (tx * BlobTxMessage ) Deserialize (dr * codec.DecodingReader ) error {
333- return dr .Container (& tx .ChainID , & tx .Nonce , & tx .GasTipCap , & tx .GasFeeCap , & tx .Gas , & tx .To , & tx .Value , & tx .Data , & tx .AccessList , & tx .BlobVersionedHashes )
334+ return dr .Container (& tx .ChainID , & tx .Nonce , & tx .GasTipCap , & tx .GasFeeCap , & tx .Gas , & tx .To , & tx .Value , & tx .Data , & tx .AccessList , & tx .MaxFeePerDataGas , & tx . BlobVersionedHashes )
334335}
335336
336337func (tx * BlobTxMessage ) Serialize (w * codec.EncodingWriter ) error {
337- return w .Container (& tx .ChainID , & tx .Nonce , & tx .GasTipCap , & tx .GasFeeCap , & tx .Gas , & tx .To , & tx .Value , & tx .Data , & tx .AccessList , & tx .BlobVersionedHashes )
338+ return w .Container (& tx .ChainID , & tx .Nonce , & tx .GasTipCap , & tx .GasFeeCap , & tx .Gas , & tx .To , & tx .Value , & tx .Data , & tx .AccessList , & tx .MaxFeePerDataGas , & tx . BlobVersionedHashes )
338339}
339340
340341func (tx * BlobTxMessage ) ByteLength () uint64 {
341- return codec .ContainerLength (& tx .ChainID , & tx .Nonce , & tx .GasTipCap , & tx .GasFeeCap , & tx .Gas , & tx .To , & tx .Value , & tx .Data , & tx .AccessList , & tx .BlobVersionedHashes )
342+ return codec .ContainerLength (& tx .ChainID , & tx .Nonce , & tx .GasTipCap , & tx .GasFeeCap , & tx .Gas , & tx .To , & tx .Value , & tx .Data , & tx .AccessList , & tx .MaxFeePerDataGas , & tx . BlobVersionedHashes )
342343}
343344
344345func (tx * BlobTxMessage ) FixedLength () uint64 {
345346 return 0
346347}
347348
348349func (tx * BlobTxMessage ) HashTreeRoot (hFn tree.HashFn ) tree.Root {
349- return hFn .HashTreeRoot (& tx .ChainID , & tx .Nonce , & tx .GasTipCap , & tx .GasFeeCap , & tx .Gas , & tx .To , & tx .Value , & tx .Data , & tx .AccessList , & tx .BlobVersionedHashes )
350+ return hFn .HashTreeRoot (& tx .ChainID , & tx .Nonce , & tx .GasTipCap , & tx .GasFeeCap , & tx .Gas , & tx .To , & tx .Value , & tx .Data , & tx .AccessList , & tx .MaxFeePerDataGas , & tx . BlobVersionedHashes )
350351}
351352
352353// copy creates a deep copy of the transaction data and initializes all fields.
@@ -361,6 +362,7 @@ func (tx *BlobTxMessage) copy() *BlobTxMessage {
361362 Value : tx .Value ,
362363 Data : common .CopyBytes (tx .Data ),
363364 AccessList : make ([]AccessTuple , len (tx .AccessList )),
365+ MaxFeePerDataGas : tx .MaxFeePerDataGas ,
364366 BlobVersionedHashes : make ([]common.Hash , len (tx .BlobVersionedHashes )),
365367 }
366368 copy (cpy .AccessList , tx .AccessList )
@@ -416,18 +418,19 @@ func u256ToBig(v *Uint256View) *big.Int {
416418}
417419
418420// accessors for innerTx.
419- func (stx * SignedBlobTx ) txType () byte { return BlobTxType }
420- func (stx * SignedBlobTx ) chainID () * big.Int { return u256ToBig (& stx .Message .ChainID ) }
421- func (stx * SignedBlobTx ) accessList () AccessList { return AccessList (stx .Message .AccessList ) }
422- func (stx * SignedBlobTx ) dataHashes () []common.Hash { return stx .Message .BlobVersionedHashes }
423- func (stx * SignedBlobTx ) data () []byte { return stx .Message .Data }
424- func (stx * SignedBlobTx ) gas () uint64 { return uint64 (stx .Message .Gas ) }
425- func (stx * SignedBlobTx ) gasFeeCap () * big.Int { return u256ToBig (& stx .Message .GasFeeCap ) }
426- func (stx * SignedBlobTx ) gasTipCap () * big.Int { return u256ToBig (& stx .Message .GasTipCap ) }
427- func (stx * SignedBlobTx ) gasPrice () * big.Int { return u256ToBig (& stx .Message .GasFeeCap ) }
428- func (stx * SignedBlobTx ) value () * big.Int { return u256ToBig (& stx .Message .Value ) }
429- func (stx * SignedBlobTx ) nonce () uint64 { return uint64 (stx .Message .Nonce ) }
430- func (stx * SignedBlobTx ) to () * common.Address { return (* common .Address )(stx .Message .To .Address ) }
421+ func (stx * SignedBlobTx ) txType () byte { return BlobTxType }
422+ func (stx * SignedBlobTx ) chainID () * big.Int { return u256ToBig (& stx .Message .ChainID ) }
423+ func (stx * SignedBlobTx ) accessList () AccessList { return AccessList (stx .Message .AccessList ) }
424+ func (stx * SignedBlobTx ) dataHashes () []common.Hash { return stx .Message .BlobVersionedHashes }
425+ func (stx * SignedBlobTx ) data () []byte { return stx .Message .Data }
426+ func (stx * SignedBlobTx ) gas () uint64 { return uint64 (stx .Message .Gas ) }
427+ func (stx * SignedBlobTx ) gasFeeCap () * big.Int { return u256ToBig (& stx .Message .GasFeeCap ) }
428+ func (stx * SignedBlobTx ) gasTipCap () * big.Int { return u256ToBig (& stx .Message .GasTipCap ) }
429+ func (stx * SignedBlobTx ) maxFeePerDataGas () * big.Int { return u256ToBig (& stx .Message .MaxFeePerDataGas ) }
430+ func (stx * SignedBlobTx ) gasPrice () * big.Int { return u256ToBig (& stx .Message .GasFeeCap ) }
431+ func (stx * SignedBlobTx ) value () * big.Int { return u256ToBig (& stx .Message .Value ) }
432+ func (stx * SignedBlobTx ) nonce () uint64 { return uint64 (stx .Message .Nonce ) }
433+ func (stx * SignedBlobTx ) to () * common.Address { return (* common .Address )(stx .Message .To .Address ) }
431434
432435func (stx * SignedBlobTx ) rawSignatureValues () (v , r , s * big.Int ) {
433436 return big .NewInt (int64 (stx .Signature .V )), u256ToBig (& stx .Signature .R ), u256ToBig (& stx .Signature .S )
0 commit comments