Allow extra options to pass through to blockchain connectors #844
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds the ability to pass additional options through to blockchain connectors. This is useful for controlling other parameters when submitting a blockchain transaction besides the specific arguments that a smart contract function takes. For example, this can now be used to set a custom gas price
Anywhere that a smart contract can be invoked or queried a new
options
JSON object (treated as amap[string]interface{}
in Go) can be optionally specified. Any fields in this structure will be included in the request to the blockchain connector.Overriding existing fields in the request is not allowed. For example, if using Ethconnect, the following request body would be rejected because
headers
is a field that FireFly itself needs to set:This would result in an HTTP 400 with an error message indicating which option was not allowed.