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

Version Control on Transacitons #2675

Closed
Jim8y opened this issue Mar 16, 2022 · 2 comments
Closed

Version Control on Transacitons #2675

Jim8y opened this issue Mar 16, 2022 · 2 comments
Labels
discussion Initial issue state - proposed but not yet accepted

Comments

@Jim8y
Copy link
Contributor

Jim8y commented Mar 16, 2022

Summary or problem description
Since neo N3 support smart contract update, I think it is necessary for users to know which contract version are they calling.

Do you have any solution you want to propose?
And user should be able to set the Transaciton be valid only to specific version.

something like assert(version ==3)

Neo Version

  • Neo 3

Where in the software does this update applies to?

  • SDK
@Jim8y Jim8y added the discussion Initial issue state - proposed but not yet accepted label Mar 16, 2022
@roman-khimov
Copy link
Contributor

We call contracts either via System.Contract.Call or CALLT. It's pretty trivial to add System.Contract.CallWithVersion as an alternative for people that want/need it, but I'm not so sure about CALLT, token specification is a part of NEF.

@dusmart
Copy link

dusmart commented Jun 19, 2022

There is some GAS-expensive way for this purpose now.

ExecutionEngine.Assert(ContractManagement.GetContract(Hash).UpdateCounter == 3, "invalid version");

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion Initial issue state - proposed but not yet accepted
Projects
None yet
Development

No branches or pull requests

4 participants
@Jim8y @dusmart @roman-khimov and others