-
Notifications
You must be signed in to change notification settings - Fork 100
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
RpcServer Plugin: unexpected invokecontractverify
behaviour
#552
Comments
This api requires signers' private key in rpc node wallet, how to use it in client side? I wonder even after repair the behaviour, it cannot work properly in your scenarios. |
Merged
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Describe the bug
Initially,
invokecontractverify
RPC API was created to define network fee for contract witness verification (neo-project/neo#1977). But it performs aSystem.Contract.Call
instead of behaving like Helper.VerifyWitness. So the resulting RPC verification fee got frominvokecontractverify
is different from the one we got during the real witness verification.During real contract witness verification, the whole contract's script is loaded into VM, and then we jump to the verify method. Thus, to define the exact contract verification price, we should act like this (and not just perform the
System.Contract.Call
of theverify
method).Expected behavior
invokecontractverify
behaviour should exactly match theHelper.VerifyWitness
behaviour to calculate contract witness verification fee properly.See nspcc-dev/neo-go#1825 for the reference implementation.
Platform:
The text was updated successfully, but these errors were encountered: