-
Notifications
You must be signed in to change notification settings - Fork 632
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
Bump wasmer #8323
Bump wasmer #8323
Conversation
…don’t instrument, fix some tests for the new meaning of the gas function
I think one important step we should take is first release wasmer with all the improvements excluding finite-wasm work, and then as a separate step introduce finite-wasm. The reason for that is I believe we don't have any breaking changes to wasmer so far, and finite-wasm will require a protocol version bump so we will need to duplicate the dependency and make up another VM type. I think that also opens the way refactoring how our preparation code works – this could be refactored to move to the VM-specific initialization, which is what is happening with the finite-wasm integration in wasmer in the first place. |
Also, am I misremembering, that we were thinking of merging wasmer into |
My recollection is, we said we should 1. make a new wasmer release, 2. hoist the code into nearcore, and 3. drop our current wasmer codebase. That said, "just" moving wasmer into nearcore altogether would also make sense to me, but we should probably choose between hoisting finite-wasm into wasmer or releasing it as a separate crate first
Hmm… I’m not entirely sure about this? I see two possibilities if we do it this way:
Yup, I definitely need to do that as part of making a protocol change anyway, but I don’t think that’s directly related to whether we upgrade wasmer before or after? Unless you mean we should both upgrade wasmer plus introduce wasmer3, but then I don’t see much point in improving wasmer if it’s going to live for at most one release. |
91e43b5
to
0721823
Compare
37ebe08
to
a459587
Compare
a459587
to
28e6690
Compare
This should avoid conflicts between near-vm and wasmer2 Another carry-over from near#8323
This is literally just cut-paste and adjust to calling the right functions for now. Further changes to get to the end-state of near#8323 will come later
This is just a copy-paste extracted from near#8323 for now, changes to actually make it be for near-vm will come in later.
This is extracted from near#8323, it only compiles-in near-vm, without actually starting using it yet. It also removes leftover `[lib]` blocks as well as a stray `rust-toolchain` file.
This closes up the near-vm work. I believe #8886 (comment) is the only remaining point to be checked in former PRs, in addition to all the code added in this PR. Note that there are still things in #8323 that are not in this PR, because either I noticed they actually should not be merged (eg. the wasmparser bump would be a protocol upgrade, so will wait until we get limited replayability), or because they are actually orthogonal to this landing.
This closes up the near-vm work. I believe #8886 (comment) is the only remaining point to be checked in former PRs, in addition to all the code added in this PR. Note that there are still things in #8323 that are not in this PR, because either I noticed they actually should not be merged (eg. the wasmparser bump would be a protocol upgrade, so will wait until we get limited replayability), or because they are actually orthogonal to this landing.
This closes up the near-vm work. I believe #8886 (comment) is the only remaining point to be checked in former PRs, in addition to all the code added in this PR. Note that there are still things in #8323 that are not in this PR, because either I noticed they actually should not be merged (eg. the wasmparser bump would be a protocol upgrade, so will wait until we get limited replayability), or because they are actually orthogonal to this landing.
This is extracted from #8323, it only compiles-in near-vm, without actually starting using it yet. It also removes leftover `[lib]` blocks as well as a stray `rust-toolchain` file.
This closes up the near-vm work. I believe #8886 (comment) is the only remaining point to be checked in former PRs, in addition to all the code added in this PR. Note that there are still things in #8323 that are not in this PR, because either I noticed they actually should not be merged (eg. the wasmparser bump would be a protocol upgrade, so will wait until we get limited replayability), or because they are actually orthogonal to this landing.
Leaving as draft until wasmer is merged.
Still missing:
FunctionCallError
: expose information about function call execution only (that it is actionable to the end user invoking the contract) #8502