Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

contracts: Add RPC that allows instantiating of a contract #8451

Merged
9 commits merged into from
Apr 13, 2021
Merged

Conversation

athei
Copy link
Member

@athei athei commented Mar 25, 2021

Fixes #7379

This PR adds a new RPC called contracts_instantiate that allows dry-running contract instantiation. This is mainly of interests for general purpose UIs that now can offer the user guidance in choosing the endowment and gas_limit parameter. Just like the existing contracts_call RPC this one also returns the gas_consumed. In addition to this a RentProjection is also returned which is helpful to give users feedback on the chosen endowment.

Additionally, this PR also gets away with most of the wrapper types defined in the RPC crate by unifying them with the ones in the primitives crates. The only change to existing RPCs is that the unused debug_message field is now encoded as Bytes and not as String. This added some mostly boring code churn to this PR because many tests needed some trivial fixing because of this.

cc @jacogr

@athei athei added A0-please_review Pull request needs code review. B5-clientnoteworthy C1-low PR touches the given topic and has a low impact on builders. D2-notlive 💤 PR contains changes in a runtime directory that is not deployed to a chain that requires an audit. labels Mar 25, 2021
@athei athei requested review from ascjones and gui1117 March 25, 2021 10:15
Copy link
Contributor

@ascjones ascjones left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

frame/contracts/src/rent.rs Show resolved Hide resolved
frame/contracts/src/rent.rs Outdated Show resolved Hide resolved
athei and others added 2 commits March 30, 2021 08:08
Co-authored-by: Andrew Jones <ascjones@gmail.com>
@athei
Copy link
Member Author

athei commented Apr 13, 2021

bot merge

@ghost
Copy link

ghost commented Apr 13, 2021

Waiting for commit status.

@ghost ghost merged commit dcce8b4 into master Apr 13, 2021
@ghost ghost deleted the at-deploy-rpc branch April 13, 2021 11:26
hirschenberger pushed a commit to hirschenberger/substrate that referenced this pull request Apr 14, 2021
…h#8451)

* contracts: Add RPC that allows instantiating of a contract

* Encode `debug_message` as bytes because usage of `String` is forbidden

* Remove erroneous derive attribute

* Fix rpc tests for new `debug_message` encoding

* Fix typo

Co-authored-by: Andrew Jones <ascjones@gmail.com>

Co-authored-by: Andrew Jones <ascjones@gmail.com>
This pull request was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
A0-please_review Pull request needs code review. C1-low PR touches the given topic and has a low impact on builders. D2-notlive 💤 PR contains changes in a runtime directory that is not deployed to a chain that requires an audit.
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Add RPC to run constructors
3 participants