-
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
[refactor] Extracted near-vm-runner from near-primitives #11578
[refactor] Extracted near-vm-runner from near-primitives #11578
Conversation
95b64e5
to
585db43
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #11578 +/- ##
==========================================
+ Coverage 71.44% 71.49% +0.04%
==========================================
Files 786 787 +1
Lines 160355 160698 +343
Branches 160355 160698 +343
==========================================
+ Hits 114573 114898 +325
Misses 40793 40793
- Partials 4989 5007 +18
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
89c8009
to
7a17ee6
Compare
7a17ee6
to
6a23b9b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks quite a bit more reasonable! The copies of profile_data_v3 can be simplified and made smaller in a follow-up(s) by anybody who cares.
I did a brief look-around for ecosystem uses of ViewApplyState
and it does appear that near-sdk-rs/near-sdk-sim
is using this structure (alongside the whole contract cache thing...) and is the only public user that I was able to find.
This crate however also pulls in the whole transaction runtime, so it shouldn't be a big deal for it to reference that struct from there. Will there be other users of this struct? I don't know! And I don't think we'll find out without breaking those users ^^
(The approval is conditional on the fixes to GHA workflows)
This pull request tries to de-couple the near-vm-runner from the dependency list of near-primitives Near-vm-runner is not a proper dependency for something primitive, but now it's a part of many near dependencies. Also, near-vm-runner uses rustix::fs, a blocker for any release on Windows. * [here](near/near-cli-rs#350) you can see that Windows built is broken. * [here](https://github.com/near/nearcore/compare/1.39.2...akorchyn:nearcore:patch-defaults?expand=1) you can see an example patch so build pass Well, I have proceeded next way: * Moved ViewApplyState to node-runtime * Copied ProfileV3 to near-primitives and created conversion in node-runtime * [x] Windows CI for public libraries :) * [x] Fix tests compilation * Please take a look at a patch that I have created [here](https://github.com/near/nearcore/compare/1.39.2...akorchyn:nearcore:patch-defaults?expand=1). Do you think we could rollout 0.22.2 release, so I could continue rolling out 0.22, but go with this more proper implementation for future 0.23/0.24 release?
### Description This pull request tries to de-couple the near-vm-runner from the dependency list of near-primitives ### Motivation Near-vm-runner is not a proper dependency for something primitive, but now it's a part of many near dependencies. Also, near-vm-runner uses rustix::fs, a blocker for any release on Windows. * [here](near/near-cli-rs#350) you can see that Windows built is broken. * [here](https://github.com/near/nearcore/compare/1.39.2...akorchyn:nearcore:patch-defaults?expand=1) you can see an example patch so build pass ### How is it done? Well, I have proceeded next way: * Moved ViewApplyState to node-runtime * Copied ProfileV3 to near-primitives and created conversion in node-runtime #### TODO: * [x] Windows CI for public libraries :) * [x] Fix tests compilation ## For reviewers * Please take a look at a patch that I have created [here](https://github.com/near/nearcore/compare/1.39.2...akorchyn:nearcore:patch-defaults?expand=1). Do you think we could rollout 0.22.2 release, so I could continue rolling out 0.22, but go with this more proper implementation for future 0.23/0.24 release?
Description
This pull request tries to de-couple the near-vm-runner from the dependency list of near-primitives
Motivation
Near-vm-runner is not a proper dependency for something primitive, but now it's a part of many near dependencies.
Also, near-vm-runner uses rustix::fs, a blocker for any release on Windows.
How is it done?
Well, I have proceeded next way:
TODO:
For reviewers