Skip to content
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

Design & implement infrastructure for calling remote smart contracts #30

Closed
Robbepop opened this issue Mar 14, 2019 · 1 comment
Closed
Labels
A-eDSL Concerning the Rust eDSL as a total. B-design Designing a new component, interface or functionality.

Comments

@Robbepop
Copy link
Collaborator

Robbepop commented Mar 14, 2019

Currently there is only an extremely bare metal and unsafe way of calling remote smart contracts.
People will basically not use this feature without support that comes out of the box from pdsl_lang or layers below.

First we need to find the perfect layer to support calling remote contracts.

  • The core layer could provide some utilities to build up call-data but the user still has to provide all the necessary information about the API of the remote smart contract.

  • The model layer could provide further safety features to implement automatic flushing of the contract state before calling a remote smart contract since that could possible lead to storage mutation and thus re-entrancy attacks.

  • The lang layer could provide automatic API generation in form of JSON files and could also be fed by API files of dependent on smart contracts to make calling remote smart contracts nearly as simple as calling just another internal function.

@Robbepop Robbepop added B-design Designing a new component, interface or functionality. D-hard A-ink_lang [ink_lang] Work item A-eDSL Concerning the Rust eDSL as a total. and removed A-ink_lang [ink_lang] Work item A-pdsl_model labels Mar 14, 2019
@Robbepop
Copy link
Collaborator Author

Robbepop commented Aug 8, 2019

Superseeded by #81

@Robbepop Robbepop closed this as completed Aug 8, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-eDSL Concerning the Rust eDSL as a total. B-design Designing a new component, interface or functionality.
Projects
None yet
Development

No branches or pull requests

1 participant