-
Notifications
You must be signed in to change notification settings - Fork 227
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
Milestone 1: Ensure Solang works with latest Substrate #969
Comments
@xermicus thank you for the work here. Do you have an estimate of when it would be finished? |
Very welcome. Currently blocked until the |
@xermicus great news, we will check it out 🙏 |
@erasmus FYI #988 got merged into main. For contract development you should be good with the following:
Please let me know whether this works for you or if you run into any problems. There are very few broken things remaining now that I know of. The main thing is #970, so don't expect indexed (topic) events to work at all. Once this is done, we will make another solang release (probably next week) that works with the contract node versions I mentioned above and can be used until |
Why is Solang not compatible with the newest contracts node (´0.22.1`)? Is this about stabilized functions changing its module (we should really stop doing that)? |
I have a solidity smart contract that I compile using Solang to substrate wasm.
But I received the error trying deploy the contract using polkadot js org I found the notes according to solang current stage Solang works with Parity Substrate 3.0. Note that for recent Substrate Version, cross-contract calls as well as using address type as function argument or return values ARE NOT SUPPORTED. We are currently working on fixing any regressions. https://solang.readthedocs.io/en/latest/targets/substrate.html Does solang already support cross-contract calls as well as using address type as function argument or return values? |
@athei I had this PR that went into v0.22.1 at the back of my mind and so it is potentially breaking (solang currently links some @cr4pt0 are you using solang based on our main branch? Your example works fine (metadata-wise) but you need to compile solang from our main branch yourself as the fix for this issue is not yet released see my comment above. |
Compile solang yourself using main branch means? But how to build for substrate? |
@cr4pt0 yes you should do |
You are right. It is annoying that functions change modules when they are stabilized. I wanna change that so that they will be added in the module they will eventually end up in if they get stabilized. They are just not there if the |
@xermicus Amazing!! Thank you so much! |
Solang was developed against Substrate v3.0 and older versions of both the npm polkadot api and the contract metadata crate. They need to be updated to the latest versions, and any consequent issues will need to be resolved.
The Substrate integration tests at:
https://github.com/hyperledger-labs/solang/tree/main/integration/substrate
use various polkadot npm libraries, must all be updated to the latest version, and any consequent issues must be resolved. Success for this milestone is simply that the tests are upgraded to the latestversions of all the substrate components and the tests pass, in a pull request to solang repository and any review comments are addressed.
Status
Integrate and usesubxt
for integration tests: test: initial subxt test #990seal
API to reflect latest versions: Update seal calls #1025Implement missing(can be done at a later stage)seal
API callsink_metadata
for ABI generation: Feature ink metadata for substrate #989ink!
storage refactor,ink_metadata
requires nightly rust. We must be able to compile with stable rust (withoutRUSTC_BOOTSTRAP
). Potential fixThe text was updated successfully, but these errors were encountered: