Which changes the request schema for the simulateTransaction endpoint, adding the optional resourceConfig parameter, which, for now, contains a single field:
{
"transaction": "<base64-encoded transaction>",
"resourceConfig" {
"instructionLeeway": 0 // <number of add'l CPU instructions to reserve>
}
}
Though this is an optional parameter, it may require an update depending on how you were submitting the request via JSON-RPC previously. Namely, optional parameters are treated differently depending on whether or not you are POSTing with an object (i.e. params: { transaction: "..." }) or an array (i.e. params: [ "..." ]). In the latter case, the optional parameter will not be honored and the request will be met with the following error:
[ ] Please update your SDK to use object-based parameter passing in JSON-RPC (if necessary) and allow users to optionally specify this additional CPU instruction leeway parameter.
[ ] Please also note the set of breaking schema changes that occurred in the stable Protocol 20 release, described here.
Upcoming Soroban RPC Change
The v20.1.0 version of Soroban RPC introduces the following additive change:
Which changes the request schema for the
simulateTransaction
endpoint, adding the optionalresourceConfig
parameter, which, for now, contains a single field:Though this is an optional parameter, it may require an update depending on how you were submitting the request via JSON-RPC previously. Namely, optional parameters are treated differently depending on whether or not you are POSTing with an object (i.e.
params: { transaction: "..." }
) or an array (i.e.params: [ "..." ]
). In the latter case, the optional parameter will not be honored and the request will be met with the following error:Reference implementation