mirror of
https://github.com/nspcc-dev/neo-go.git
synced 2024-12-22 19:19:09 +00:00
native: support callflags-based native method after HFEchidna
Close #3702 Signed-off-by: Ekaterina Pavlova <ekt@morphbits.io>
This commit is contained in:
parent
397aad0a59
commit
20b74b038f
2 changed files with 15 additions and 6 deletions
|
@ -192,18 +192,27 @@ func newNEO(cfg config.ProtocolConfiguration) *NEO {
|
|||
|
||||
desc = newDescriptor("registerCandidate", smartcontract.BoolType,
|
||||
manifest.NewParameter("pubkey", smartcontract.PublicKeyType))
|
||||
md = newMethodAndPrice(n.registerCandidate, 0, callflag.States)
|
||||
md = newMethodAndPrice(n.registerCandidate, 0, callflag.States, config.HFDefault, config.HFEchidna)
|
||||
n.AddMethod(md, desc)
|
||||
|
||||
md = newMethodAndPrice(n.registerCandidate, 0, callflag.States|callflag.AllowNotify, config.HFEchidna)
|
||||
n.AddMethod(md, desc)
|
||||
|
||||
desc = newDescriptor("unregisterCandidate", smartcontract.BoolType,
|
||||
manifest.NewParameter("pubkey", smartcontract.PublicKeyType))
|
||||
md = newMethodAndPrice(n.unregisterCandidate, 1<<16, callflag.States)
|
||||
md = newMethodAndPrice(n.unregisterCandidate, 1<<16, callflag.States, config.HFDefault, config.HFEchidna)
|
||||
n.AddMethod(md, desc)
|
||||
|
||||
md = newMethodAndPrice(n.unregisterCandidate, 1<<16, callflag.States|callflag.AllowNotify, config.HFEchidna)
|
||||
n.AddMethod(md, desc)
|
||||
|
||||
desc = newDescriptor("vote", smartcontract.BoolType,
|
||||
manifest.NewParameter("account", smartcontract.Hash160Type),
|
||||
manifest.NewParameter("voteTo", smartcontract.PublicKeyType))
|
||||
md = newMethodAndPrice(n.vote, 1<<16, callflag.States)
|
||||
md = newMethodAndPrice(n.vote, 1<<16, callflag.States, config.HFDefault, config.HFEchidna)
|
||||
n.AddMethod(md, desc)
|
||||
|
||||
md = newMethodAndPrice(n.vote, 1<<16, callflag.States|callflag.AllowNotify, config.HFEchidna)
|
||||
n.AddMethod(md, desc)
|
||||
|
||||
desc = newDescriptor("getCandidates", smartcontract.ArrayType)
|
||||
|
|
|
@ -104,17 +104,17 @@ func SetRegisterPrice(amount int) {
|
|||
|
||||
// RegisterCandidate represents `registerCandidate` method of NEO native contract.
|
||||
func RegisterCandidate(pub interop.PublicKey) bool {
|
||||
return neogointernal.CallWithToken(Hash, "registerCandidate", int(contract.States), pub).(bool)
|
||||
return neogointernal.CallWithToken(Hash, "registerCandidate", int(contract.States|contract.AllowNotify), pub).(bool)
|
||||
}
|
||||
|
||||
// UnregisterCandidate represents `unregisterCandidate` method of NEO native contract.
|
||||
func UnregisterCandidate(pub interop.PublicKey) bool {
|
||||
return neogointernal.CallWithToken(Hash, "unregisterCandidate", int(contract.States), pub).(bool)
|
||||
return neogointernal.CallWithToken(Hash, "unregisterCandidate", int(contract.States|contract.AllowNotify), pub).(bool)
|
||||
}
|
||||
|
||||
// Vote represents `vote` method of NEO native contract.
|
||||
func Vote(addr interop.Hash160, pub interop.PublicKey) bool {
|
||||
return neogointernal.CallWithToken(Hash, "vote", int(contract.States), addr, pub).(bool)
|
||||
return neogointernal.CallWithToken(Hash, "vote", int(contract.States|contract.AllowNotify), addr, pub).(bool)
|
||||
}
|
||||
|
||||
// UnclaimedGAS represents `unclaimedGas` method of NEO native contract.
|
||||
|
|
Loading…
Reference in a new issue