Skip to content

Commit 0451529

Browse files
committed
Merge remote-tracking branch 'origin/main' into dx-upgrade
2 parents 1b900b6 + bbf817f commit 0451529

File tree

8 files changed

+73
-1905
lines changed

8 files changed

+73
-1905
lines changed

package-lock.json

Lines changed: 8 additions & 1832 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,14 @@
66
"scripts": {
77
"build": "npm run build:spec",
88
"build:spec": "node scripts/build.js",
9-
"build:test": "which go > /dev/null 2>&1 || (echo 'Error: Go binary not found. Please install Go first.' && exit 1) && go install github.com/lightclient/rpctestgen/cmd/speccheck@latest",
109
"build:docs": "npm run generate-clients && npm run build:docs:gatsby",
1110
"build:docs:gatsby": "cp README.md docs/reference/quickstart.md && cd build/docs/gatsby && npm install && gatsby build --prefix-paths",
1211
"lint": "node scripts/build.js && node scripts/validate.js && node scripts/graphql-validate.js",
1312
"clean": "rm -rf build && mkdir -p build",
1413
"generate-clients": "mkdir -p build && open-rpc-generator generate -c open-rpc-generator-config.json",
1514
"graphql:schema": "node scripts/graphql.js",
1615
"graphql:validate": "node scripts/graphql-validate.js",
17-
"serve": "cd build/docs/gatsby && gatsby develop",
18-
"test": "speccheck -v"
16+
"serve": "cd build/docs/gatsby && gatsby develop"
1917
},
2018
"repository": {
2119
"type": "git",

src/engine/osaka.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,8 +108,9 @@ Consensus layer clients **MAY** use this method to fetch blobs from the executio
108108
Refer to the specification for [`engine_getBlobsV1`](./cancun.md#engine_getblobsv1) with changes of the following:
109109

110110
1. Given an array of blob versioned hashes client software **MUST** respond with an array of `BlobAndProofV2` objects with matching versioned hashes, respecting the order of versioned hashes in the input array.
111-
1. Given an array of blob versioned hashes, if client software has every one of the requested blobs, it **MUST** return an array of `BlobAndProofV2` objects whose order exactly matches the input array. For instance, if the request is `[A_versioned_hash, B_versioned_hash, C_versioned_hash]` and client software has `A`, `B` and `C` available, the response **MUST** be `[A, B, C]`.
112-
2. If one or more of the requested blobs are unavailable, the client **MUST** return either `null` or an array of the same length and order, inserting `null` only at the positions of the missing blobs. For instance, if the request is `[A_versioned_hash, B_versioned_hash, C_versioned_hash]` and client software has data for blobs `A` and `C`, but doesn't have data for `B`, the response **MUST** be either `null` or `[A, null, C]`.
111+
2. Client software **MUST** return `null` in case of any missing or older version blobs. For instance,
112+
1. if the request is `[A_versioned_hash, B_versioned_hash, C_versioned_hash]` and client software has data for blobs `A` and `C`, but doesn't have data for `B`, the response **MUST** be `null`.
113+
2. if the request is `[A_versioned_hash_for_blob_with_blob_proof]`, the response **MUST** be `null` as well.
113114
3. Client software **MUST** support request sizes of at least 128 blob versioned hashes. The client **MUST** return `-38004: Too large request` error if the number of requested blobs is too large.
114115
4. Client software **MUST** return `null` if syncing or otherwise unable to serve blob pool data.
115116
5. Callers **MUST** consider that execution layer clients may prune old blobs from their pool, and will respond with `null` if a blob has been pruned.

src/eth/execute.yaml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,3 +111,42 @@
111111
name: Result of calls
112112
schema:
113113
$ref: '#/components/schemas/EthSimulateResult'
114+
errors:
115+
- code: -32000
116+
message: Invalid request
117+
- code: -32602
118+
message: Missing or invalid parameters
119+
- code: -32005
120+
message: Transactions maxFeePerGas is too low
121+
- code: -32015
122+
message: Execution error
123+
- code: -32016
124+
message: Timeout
125+
- code: -32603
126+
message: The Ethereum node encountered an internal error
127+
- code: -38010
128+
message: Transactions nonce is too low
129+
- code: -38011
130+
message: Transactions nonce is too high
131+
- code: -38012
132+
message: Transactions baseFeePerGas is too low
133+
- code: -38013
134+
message: Not enough gas provided to pay for intrinsic gas for a transaction
135+
- code: -38014
136+
message: Insufficient funds to pay for gas fees and value for a transaction
137+
- code: -38015
138+
message: Block gas limit exceeded by the block's transactions
139+
- code: -38020
140+
message: Block number in sequence did not increase
141+
- code: -38021
142+
message: Block timestamp in sequence did not increase or stay the same
143+
- code: -38022
144+
message: MovePrecompileToAddress referenced itself in replacement
145+
- code: -38023
146+
message: Multiple MovePrecompileToAddress referencing the same address to replace
147+
- code: -38024
148+
message: Sender is not an EOA
149+
- code: -38025
150+
message: Max init code size exceeded
151+
- code: -38026
152+
message: Client adjustable limit exceeded

src/schemas/block.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ Block:
2020
- size
2121
- transactions
2222
- uncles
23-
additionalProperties: false
2423
properties:
2524
hash:
2625
title: Hash

src/schemas/execute.yaml

Lines changed: 22 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
EthSimulatePayload:
2-
title: Arguments for multi call
2+
title: Arguments for eth_simulate
33
required:
44
- blockStateCalls
55
properties:
@@ -149,7 +149,7 @@ Withdrawals:
149149
description: This array can have a maximum length of 16.
150150
type: array
151151
items:
152-
- $ref: '#/components/schemas/Withdrawal'
152+
$ref: '#/components/schemas/Withdrawal'
153153
Withdrawal:
154154
title: A withdrawal made by a validator
155155
type: object
@@ -167,13 +167,7 @@ Withdrawal:
167167
title: Amount
168168
$ref: '#/components/schemas/uint64'
169169
EthSimulateResult:
170-
title: Full results of multi call
171-
type: object
172-
oneOf:
173-
- $ref: '#/components/schemas/EthSimulateBlockResultInvalid'
174-
- $ref: '#/components/schemas/EthSimulateBlockResultSuccess'
175-
EthSimulateBlockResultSuccess:
176-
title: Full results of multi call
170+
title: Full results of eth_simulate
177171
type: array
178172
items:
179173
$ref: '#/components/schemas/EthSimulateBlockResultSingleSuccess'
@@ -182,62 +176,16 @@ EthSimulateBlockResultSingleSuccess:
182176
type: object
183177
allOf:
184178
- $ref: '#/components/schemas/Block'
185-
- title: Eth Simulate call results
179+
- type: object
180+
title: Eth Simulate call results
186181
required:
187182
- calls
188183
properties:
189184
calls:
190185
title: Call Results
191186
$ref: '#/components/schemas/CallResults'
192-
EthSimulateBlockResultInvalid:
193-
title: Result of eth_simulate not being valid
194-
description: The error messages are suggestions and a client might decide to return a different errror message than specified here. However, the error codes are enforced by this specification.
195-
type: object
196-
required:
197-
- error
198-
properties:
199-
error:
200-
oneOf:
201-
- code: -32000
202-
message: Invalid request
203-
- code: -32602
204-
message: Missing or invalid parameters
205-
- code: -32005
206-
message: Transactions maxFeePerGas is too low
207-
- code: -32015
208-
messagE: Execution error
209-
- code: -32016
210-
message: Timeout
211-
- code: -32603
212-
message: The Ethereum node encountered an internal error
213-
- code: -38010
214-
message: Transactions nonce is too low
215-
- code: -38011
216-
message: Transactions nonce is too high
217-
- code: -38012
218-
message: Transactions baseFeePerGas is too low
219-
- code: -38013
220-
message: Not enough gas provided to pay for intrinsic gas for a transaction
221-
- code: -38014
222-
message: Insufficient funds to pay for gas fees and value for a transaction
223-
- code: -38015
224-
message: Block gas limit exceeded by the block's transactions
225-
- code: -38020
226-
message: Block number in sequence did not increase
227-
- code: -38021
228-
message: Block timestamp in sequence did not increase or stay the same
229-
- code: -38022
230-
message: MovePrecompileToAddress referenced itself in replacement
231-
- code: -38023
232-
message: Multiple MovePrecompileToAddress referencing the same address to replace
233-
- code: -38024
234-
message: Sender is not an EOA
235-
- code: -38025
236-
message: Max init code size exceeded
237-
- code: -38026
238-
message: Client adjustable limit exceeded
239187
CallResults:
240-
title: Results of multi call within block
188+
title: Results of eth_simulate within block
241189
type: array
242190
items:
243191
oneOf:
@@ -265,10 +213,21 @@ CallResultFailure:
265213
$ref: '#/components/schemas/uint64'
266214
error:
267215
oneOf:
268-
- code: -32000
269-
message: 'Execution reverted'
270-
- code: -32015
271-
message: 'VM execution error'
216+
- type: object
217+
properties:
218+
code:
219+
const: -32000
220+
message:
221+
type: string
222+
pattern: "^execution reverted.*"
223+
required: [code, message]
224+
- type: object
225+
properties:
226+
code:
227+
const: -32015
228+
message:
229+
type: string
230+
pattern: "^vm execution error.*"
272231
CallResultSuccess:
273232
title: Result of call success
274233
type: object
@@ -298,7 +257,7 @@ CallResultLog:
298257
type: object
299258
required:
300259
- logIndex
301-
- blockhash
260+
- blockHash
302261
- blockNumber
303262
- transactionHash
304263
- transactionIndex

src/schemas/transaction.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -467,7 +467,6 @@ TransactionInfo:
467467
- from
468468
- hash
469469
- transactionIndex
470-
unevaluatedProperties: false
471470
properties:
472471
blockHash:
473472
title: block hash

tests/eth_simulateV1/ethSimulate-empty-ethSimulate.io

Lines changed: 0 additions & 3 deletions
This file was deleted.

0 commit comments

Comments
 (0)