You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Spec out getCapabilities
* Do exchange capabilities instead of get
* Update capabilities.md
* State that exchangeCapabilities is optional
* Move exchangeCapabilities to common.md
Execution and consensus layer client software may exchange with a list of supported Engine API methods by calling `engine_exchangeCapabilities` method.
143
+
144
+
Execution layer clients **MUST** support `engine_exchangeCapabilities` method, while consensus layer clients are free to choose whether to call it or not.
145
+
146
+
*Note:* The method itself doesn't have a version suffix.
147
+
148
+
### engine_exchangeCapabilities
149
+
150
+
#### Request
151
+
152
+
* method: `engine_exchangeCapabilities`
153
+
* params:
154
+
1.`Array of string` -- Array of strings, each string is a name of a method supported by consensus layer client software.
155
+
* timeout: 1s
156
+
157
+
#### Response
158
+
159
+
`Array of string` -- Array of strings, each string is a name of a method supported by execution layer client software.
160
+
161
+
#### Specification
162
+
163
+
1. Consensus and execution layer client software **MAY** exchange with a list of currently supported Engine API methods. Execution layer client software **MUST NOT** log any error messages if this method has either never been called or haven't been called for a significant amount of time.
164
+
165
+
2. Request and response lists **MUST** contain Engine API methods that are currently supported by consensus and execution client software respectively. Name of each method in both lists **MUST** include suffixed version. Consider the following examples:
166
+
* Client software of both layers currently supports `V1` and `V2` versions of `engine_newPayload` method:
0 commit comments