@@ -104,6 +104,36 @@ func randHeader() (*types.Header, *RPCHeader) {
104104 return hdr , rhdr
105105}
106106
107+ func TestToCallArgIncludesFeeFields (t * testing.T ) {
108+ to := common.Address {0x01 }
109+ accessList := types.AccessList {
110+ {Address : common.Address {0x02 }, StorageKeys : []common.Hash {{0x03 }}},
111+ }
112+ msg := ethereum.CallMsg {
113+ From : common.Address {0x04 },
114+ To : & to ,
115+ Gas : 123_456 ,
116+ GasPrice : big .NewInt (1 ),
117+ GasFeeCap : big .NewInt (2 ),
118+ GasTipCap : big .NewInt (3 ),
119+ Value : big .NewInt (4 ),
120+ Data : []byte {0x05 , 0x06 },
121+ AccessList : accessList ,
122+ }
123+
124+ arg , ok := ToCallArg (msg ).(map [string ]interface {})
125+ require .True (t , ok )
126+ require .Equal (t , msg .From , arg ["from" ])
127+ require .Equal (t , msg .To , arg ["to" ])
128+ require .Equal (t , hexutil .Uint64 (msg .Gas ), arg ["gas" ])
129+ require .Equal (t , (* hexutil .Big )(msg .GasPrice ), arg ["gasPrice" ])
130+ require .Equal (t , (* hexutil .Big )(msg .GasFeeCap ), arg ["maxFeePerGas" ])
131+ require .Equal (t , (* hexutil .Big )(msg .GasTipCap ), arg ["maxPriorityFeePerGas" ])
132+ require .Equal (t , (* hexutil .Big )(msg .Value ), arg ["value" ])
133+ require .Equal (t , hexutil .Bytes (msg .Data ), arg ["data" ])
134+ require .Equal (t , accessList , arg ["accessList" ])
135+ }
136+
107137func TestEthClient_InfoByHash (t * testing.T ) {
108138 m := new (mockRPC )
109139 _ , rhdr := randHeader ()
0 commit comments