@@ -12,9 +12,9 @@ const [blockData] = beaconData
1212
1313const parentBeaconBlockRoot = '0x42942949c4ed512cd85c2cb54ca88591338cbb0564d3a2bea7961a639ef29d64'
1414const validForkChoiceState = {
15- headBlockHash : '0x6abe4c2777a6a1e994d83920cfb95229b071174b95c89343f54b926f733789f2 ' ,
16- safeBlockHash : '0x6abe4c2777a6a1e994d83920cfb95229b071174b95c89343f54b926f733789f2 ' ,
17- finalizedBlockHash : '0x6abe4c2777a6a1e994d83920cfb95229b071174b95c89343f54b926f733789f2 ' ,
15+ headBlockHash : '0x5bc7efe14c04eed7572809bb9c11d48d872139384097b95e04f8ab1b01ae8ecc ' ,
16+ safeBlockHash : '0x5bc7efe14c04eed7572809bb9c11d48d872139384097b95e04f8ab1b01ae8ecc ' ,
17+ finalizedBlockHash : '0x5bc7efe14c04eed7572809bb9c11d48d872139384097b95e04f8ab1b01ae8ecc ' ,
1818}
1919const validPayloadAttributes = {
2020 timestamp : '0x64ba84fd' ,
@@ -35,26 +35,24 @@ const electraGenesisContracts = {
3535 // sender corresponding to the priv key 0x9c9996335451aab4fc4eac58e31a8c300e095cdbcee532d53d09280e83360355
3636 '0x610adc49ecd66cbf176a8247ebd59096c031bd9f' : { balance : '0x6d6172697573766477000000' } ,
3737 // eip 2925 contract
38- '0x0aae40965e6800cd9b1f4b05ff21581047e3f91e ' : {
38+ '0x0f792be4b0c0cb4dae440ef133e90c0ecd48cccc ' : {
3939 balance : '0' ,
4040 nonce : '1' ,
41- code : '0x3373fffffffffffffffffffffffffffffffffffffffe1460575767ffffffffffffffff5f3511605357600143035f3511604b575f35612000014311604b57611fff5f3516545f5260205ff35b5f5f5260205ff35b5f5ffd5b5f35611fff60014303165500 ' ,
41+ code : '0x3373fffffffffffffffffffffffffffffffffffffffe14604657602036036042575f35600143038111604257611fff81430311604257611fff9006545f5260205ff35b5f5ffd5b5f35611fff60014303065500 ' ,
4242 } ,
4343 // consolidation requests contract
44- '0x00706203067988Ab3E2A2ab626EdCD6f28bDBbbb' : {
45- balance : '0' ,
46- nonce : '1' ,
47- code : '0x3373fffffffffffffffffffffffffffffffffffffffe1460cf573615156028575f545f5260205ff35b366060141561019a5760115f54807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1461019a57600182026001905f5b5f821115608057810190830284830290049160010191906065565b90939004341061019a57600154600101600155600354806004026004013381556001015f358155600101602035815560010160403590553360601b5f5260605f60143760745fa0600101600355005b6003546002548082038060011160e3575060015b5f5b8181146101295780607402838201600402600401805490600101805490600101805490600101549260601b84529083601401528260340152906054015260010160e5565b910180921461013b5790600255610146565b90505f6002555f6003555b5f54807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff141561017357505f5b6001546001828201116101885750505f61018e565b01600190035b5f555f6001556074025ff35b5f5ffd' ,
44+ '0x00431f263ce400f4455c2dcf564e53007ca4bbbb' : {
45+ nonce : '0x01' ,
46+ balance : '0x00' ,
47+ code : '0x3373fffffffffffffffffffffffffffffffffffffffe1460d35760115f54807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1461019a57600182026001905f5b5f82111560685781019083028483029004916001019190604d565b9093900492505050366060146088573661019a573461019a575f5260205ff35b341061019a57600154600101600155600354806004026004013381556001015f358155600101602035815560010160403590553360601b5f5260605f60143760745fa0600101600355005b6003546002548082038060021160e7575060025b5f5b8181146101295782810160040260040181607402815460601b815260140181600101548152602001816002015481526020019060030154905260010160e9565b910180921461013b5790600255610146565b90505f6002555f6003555b5f54807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff141561017357505f5b6001546001828201116101885750505f61018e565b01600190035b5f555f6001556074025ff35b5f5ffd' ,
48+ storage : { } ,
4849 } ,
4950 // withdrawals request contract
50- '0x05F27129610CB42103b665629CB5c8C00296AaAa' : {
51- balance : '0' ,
52- nonce : '1' ,
53- code : '0x3373fffffffffffffffffffffffffffffffffffffffe1460c7573615156028575f545f5260205ff35b36603814156101f05760115f54807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff146101f057600182026001905f5b5f821115608057810190830284830290049160010191906065565b9093900434106101f057600154600101600155600354806003026004013381556001015f35815560010160203590553360601b5f5260385f601437604c5fa0600101600355005b6003546002548082038060101160db575060105b5f5b81811461017f5780604c02838201600302600401805490600101805490600101549160601b83528260140152807fffffffffffffffffffffffffffffffff0000000000000000000000000000000016826034015260401c906044018160381c81600701538160301c81600601538160281c81600501538160201c81600401538160181c81600301538160101c81600201538160081c81600101535360010160dd565b9101809214610191579060025561019c565b90505f6002555f6003555b5f54807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14156101c957505f5b6001546002828201116101de5750505f6101e4565b01600290035b5f555f600155604c025ff35b5f5ffd' ,
54- storage : {
55- '0x0000000000000000000000000000000000000000000000000000000000000000' :
56- '0x000000000000000000000000000000000000000000000000000000000000049d' ,
57- } ,
51+ '0x0c15f14308530b7cdb8460094bbb9cc28b9aaaaa' : {
52+ nonce : '0x01' ,
53+ balance : '0x00' ,
54+ code : '0x3373fffffffffffffffffffffffffffffffffffffffe1460cb5760115f54807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff146101f457600182026001905f5b5f82111560685781019083028483029004916001019190604d565b909390049250505036603814608857366101f457346101f4575f5260205ff35b34106101f457600154600101600155600354806003026004013381556001015f35815560010160203590553360601b5f5260385f601437604c5fa0600101600355005b6003546002548082038060101160df575060105b5f5b8181146101835782810160030260040181604c02815460601b8152601401816001015481526020019060020154807fffffffffffffffffffffffffffffffff00000000000000000000000000000000168252906010019060401c908160381c81600701538160301c81600601538160281c81600501538160201c81600401538160181c81600301538160101c81600201538160081c81600101535360010160e1565b910180921461019557906002556101a0565b90505f6002555f6003555b5f54807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14156101cd57505f5b6001546002828201116101e25750505f6101e8565b01600290035b5f555f600155604c025ff35b5f5ffd' ,
55+ storage : { } ,
5856 } ,
5957 // beacon deposit contract for deposit receipts
6058 '0x00000000219ab540356cBB839Cbe05303d7705Fa' : {
@@ -160,9 +158,9 @@ describe(`${method}: call with executionPayloadV4`, () => {
160158 withdrawals : [ ] ,
161159 blobGasUsed : '0x0' ,
162160 excessBlobGas : '0x0' ,
163- parentHash : '0x6abe4c2777a6a1e994d83920cfb95229b071174b95c89343f54b926f733789f2 ' ,
164- stateRoot : '0x7aa6e46df1f78988a3141b5e7da8abee78d1daca175f43fe8866b2d1bf8d8ef8 ' ,
165- blockHash : '0x9a5903d803e6e7c3631cd76cb7279f93d7facc995c53eaffadf4e225504b18eb ' ,
161+ parentHash : '0x5bc7efe14c04eed7572809bb9c11d48d872139384097b95e04f8ab1b01ae8ecc ' ,
162+ stateRoot : '0xebe157ea5c3dc6fb5970f67b76266903282aee9772030f06c112348f32037fd9 ' ,
163+ blockHash : '0x725c21032b68ae7d2f143581d0196cfbfd14dbc45c14eaeab15443831de489b7 ' ,
166164 }
167165
168166 const oldMethods = [ 'engine_newPayloadV1' , 'engine_newPayloadV2' , 'engine_newPayloadV3' ]
@@ -180,7 +178,7 @@ describe(`${method}: call with executionPayloadV4`, () => {
180178 assert . ok ( res . error . message . includes ( expectedError ) )
181179 }
182180
183- res = await rpc . request ( method , [ validBlock , [ ] , parentBeaconBlockRoot , [ '0x' , '0x' , '0x' ] ] )
181+ res = await rpc . request ( method , [ validBlock , [ ] , parentBeaconBlockRoot , [ ] ] )
184182 assert . equal ( res . result . status , 'VALID' )
185183
186184 res = await rpc . request ( 'engine_forkchoiceUpdatedV3' , validPayload )
@@ -201,9 +199,20 @@ describe(`${method}: call with executionPayloadV4`, () => {
201199
202200 res = await rpc . request ( 'engine_getPayloadV4' , [ payloadId ] )
203201 const { executionPayload, executionRequests } = res . result
202+
203+ assert . ok (
204+ executionRequests ?. length === 1 ,
205+ 'executionRequests should have the deposit request, and should exclude the other requests (these are empty)' ,
206+ )
207+
208+ const depositRequestBytes = hexToBytes ( executionRequests [ 0 ] )
209+ assert . ok (
210+ depositRequestBytes [ 0 ] === 0x00 ,
211+ 'deposit request byte 0 is the deposit request identifier byte (0x00)' ,
212+ )
204213 assert . ok (
205- executionRequests ? .length === 3 ,
206- 'executionRequests should have 3 entries for each request type ' ,
214+ depositRequestBytes . length > 1 ,
215+ 'deposit request includes data (and is thus not empty) ' ,
207216 )
208217
209218 res = await rpc . request ( method , [
0 commit comments