-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable certain dispatchable calls in smart contracts #1041
Conversation
Codecov Report
❗ Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more. @@ Coverage Diff @@
## main #1041 +/- ##
=======================================
Coverage 92.94% 92.94%
=======================================
Files 92 92
Lines 21581 21581
=======================================
Hits 20058 20058
Misses 1523 1523
Flags with carried forward coverage won't be shown. Click here to find out more. |
Edit Hola Harald 👋🥅 GoalWe wanna include one chain extension call. ❓ ProblemHow do we include a chain extenstion in our contract? ℹ️ ContextToggle some contextPat, Tom and me are the guys who wanna test this chain extension.We have a contract. The contract is simple. Its with purpose. The contract looks: classDiagram
class football_match
football_match : +i32 winner
football_match : +AccountId participant_chelsea
football_match : +AccountID participant_manchester
football_match : +new()
class FootballMatch
<<interface>> FootballMatch
FootballMatch : get_game()
FootballMatch : set_winner()
FootballMatch : set_participant_chelsea()
FootballMatch : set_participant_manchester()
FootballMatch <|-- football_match
Current Ressources Note ❗ ❓ Solutions
Cheers Frank ✌️P.s. Malte gave me this link, so I just put this thing in here. I know its a bit out of context to this PR. But yeah, it relates, so thats fine🐵 |
Co-authored-by: Chralt <[email protected]>
Co-authored-by: Chralt <[email protected]>
Co-authored-by: Chralt <[email protected]>
This pull request is now in conflicts. Could you fix it @sea212? 🙏 |
What does it do?
Removes the certain functions of
AssetManager
,PredictionMarkets
andSwaps
from the contracts call filters.What important points should reviewers know?
The enabled dispatchable calls should be safe to be used within smart contracts as deleting a smart contract does not lead to unresolvable situations.
In addition to that, once smart contracts utilize dispatchable calls, those dispatchable calls must remain available to guarantee proper functioning of the smart contracts that are already deployed. As there is no value attached to contracts on Battery Station testnet, a changing interface is acceptable in exchange for the capability to test upcoming features early.
Lastly, the
call_runtime
function cannot be utilized in smart contracts although the runtime is prepared for this in this PR. Based on the advise from Parity's Ink! team,call_runtime
will be available as an unstable feature frompolkadot-v0.9.33
onwards and as a stable features frompolkadot-v0.9.42
.Is there something left for follow-up PRs?
unstable-interface
will be replaced by aConfig
type forpallet-contracts
What alternative implementations were considered?
Are there relevant PRs or issues?
References