@@ -276,19 +276,21 @@ The `"rlp"` key loads the block information.
276
276
, "nonce" : TN , "r" : TR , "s" : TS
277
277
, "to" : TT , "v" : TW , "value" : TV
278
278
, "type" : #dasmTxPrefix(Legacy) , "maxPriorityFeePerGas" : TP
279
- , "maxFeePerGas": TP , .JSONs
279
+ , "maxFeePerGas": TP , "maxFeePerBlobGas" : 0
280
+ , "blobVersionedHashes" : [ .JSONs ] , .JSONs
280
281
}
281
282
~> load "transaction" : [ REST ]
282
283
...
283
284
</k>
284
285
285
286
rule <k> load "transaction" : [ [TYPE , [TC, TN, TP, TG, TT, TV, TI, TA, TY , TR, TS ]] , REST ]
286
287
=> mkTX !ID:Int
287
- ~> loadTransaction !ID { "data" : TI , "gasLimit" : TG , "gasPrice" : TP
288
- , "nonce" : TN , "r" : TR , "s" : TS
289
- , "to" : TT , "v" : TY , "value" : TV
290
- , "accessList" : TA , "type" : TYPE , "chainID" : TC
291
- , "maxPriorityFeePerGas" : TP , "maxFeePerGas": TP
288
+ ~> loadTransaction !ID { "data" : TI , "gasLimit" : TG , "gasPrice" : TP
289
+ , "nonce" : TN , "r" : TR , "s" : TS
290
+ , "to" : TT , "v" : TY , "value" : TV
291
+ , "accessList" : TA , "type" : TYPE , "chainID" : TC
292
+ , "maxPriorityFeePerGas" : TP , "maxFeePerGas" : TP
293
+ , "maxFeePerBlobGas" : 0 , "blobVersionedHashes" : [ .JSONs ]
292
294
, .JSONs
293
295
}
294
296
~> load "transaction" : [ REST ]
@@ -303,13 +305,28 @@ The `"rlp"` key loads the block information.
303
305
, "nonce" : TN , "r" : TR , "s" : TS
304
306
, "to" : TT , "v" : TY , "value" : TV
305
307
, "accessList" : TA , "type" : TYPE , "chainID" : TC
306
- , "maxFeePerGas" : TF , .JSONs
308
+ , "maxFeePerGas" : TF , "maxFeePerBlobGas" : 0
309
+ , "blobVersionedHashes" : [ .JSONs ] , .JSONs
307
310
}
308
311
~> load "transaction" : [ REST ]
309
312
...
310
313
</k>
311
314
requires #asWord(TYPE) ==Int #dasmTxPrefix(DynamicFee)
312
315
316
+ rule <k> load "transaction" : [ [TYPE , [TC, TN, TP, TF, TG, TT, TV, TI, TA, TY, TVH, TB, TR, TS ]] , REST ]
317
+ => mkTX !ID:Int
318
+ ~> loadTransaction !ID { "data" : TI , "gasLimit" : TG , "maxPriorityFeePerGas" : TP
319
+ , "nonce" : TN , "r" : TR , "s" : TS
320
+ , "to" : TT , "v" : TY , "value" : TV
321
+ , "accessList" : TA , "type" : TYPE , "chainID" : TC
322
+ , "maxFeePerGas" : TF , "maxFeePerBlobGas" : TB , "blobVersionedHashes" : TVH
323
+ , .JSONs
324
+ }
325
+ ~> load "transaction" : [ REST ]
326
+ ...
327
+ </k>
328
+ requires #asWord(TYPE) ==Int #dasmTxPrefix(Blob)
329
+
313
330
syntax EthereumCommand ::= "loadTransaction" Int JSON
314
331
// -----------------------------------------------------
315
332
rule <k> loadTransaction _ { .JSONs } => .K ... </k>
@@ -356,6 +373,12 @@ The `"rlp"` key loads the block information.
356
373
357
374
rule <k> loadTransaction TXID { "maxFeePerGas" : TF:Int, REST => REST } ... </k>
358
375
<message> <msgID> TXID </msgID> <txMaxFee> _ => TF </txMaxFee> ... </message>
376
+
377
+ rule <k> loadTransaction TXID { "maxFeePerBlobGas" : TB:Int, REST => REST } ... </k>
378
+ <message> <msgID> TXID </msgID> <txMaxBlobFee> _ => TB </txMaxBlobFee> ... </message>
379
+
380
+ rule <k> loadTransaction TXID { "blobVersionedHashes" : [TVH:JSONs], REST => REST } ... </k>
381
+ <message> <msgID> TXID </msgID> <txVersionedHashes> _ => [TVH] </txVersionedHashes> ... </message>
359
382
```
360
383
361
384
### Getting State
@@ -426,6 +449,25 @@ The `"rlp"` key loads the block information.
426
449
<txType> DynamicFee </txType>
427
450
...
428
451
</message>
452
+
453
+ rule [[ #getTxData( TXID ) => BlobTxData(TN, TPF, TM, TG, TT, TV, DATA, CID, TA, TB, TVH) ]]
454
+ <message>
455
+ <msgID> TXID </msgID>
456
+ <txNonce> TN </txNonce>
457
+ <txGasPrice> TP </txGasPrice>
458
+ <txGasLimit> TG </txGasLimit>
459
+ <to> TT </to>
460
+ <value> TV </value>
461
+ <data> DATA </data>
462
+ <txChainID> CID </txChainID>
463
+ <txAccess> TA </txAccess>
464
+ <txPriorityFee> TPF </txPriorityFee>
465
+ <txMaxFee> TM </txMaxFee>
466
+ <txMaxBlobFee> TB </txMaxBlobFee>
467
+ <txVersionedHashes> TVH </txVersionedHashes>
468
+ <txType> Blob </txType>
469
+ ...
470
+ </message>
429
471
```
430
472
431
473
- ` #effectiveGasPrice ` will compute the gas price for TXID, as specified by EIP-1559
0 commit comments