mirror of
https://github.com/nspcc-dev/neo-go.git
synced 2024-12-29 19:27:36 +00:00
ae3f15523c
Closes #1234
47 lines
986 B
Go
47 lines
986 B
Go
package runtimecontract
|
|
|
|
import (
|
|
"github.com/nspcc-dev/neo-go/pkg/interop/runtime"
|
|
"github.com/nspcc-dev/neo-go/pkg/interop/util"
|
|
)
|
|
|
|
var (
|
|
// Check if the invoker of the contract is the specified owner
|
|
owner = util.FromAddress("NULwe3UAHckN2fzNdcVg31tDiaYtMDwANt")
|
|
trigger byte
|
|
)
|
|
|
|
// init initializes trigger before any other contract method is called
|
|
func init() {
|
|
trigger = runtime.GetTrigger()
|
|
}
|
|
|
|
// CheckWitness checks owner's witness
|
|
func CheckWitness() bool {
|
|
// Log owner upon Verification trigger
|
|
if trigger != runtime.Verification {
|
|
return false
|
|
}
|
|
if runtime.CheckWitness(owner) {
|
|
runtime.Log("Verified Owner")
|
|
}
|
|
return true
|
|
}
|
|
|
|
// Log logs given message
|
|
func Log(message string) bool {
|
|
if trigger != runtime.Application {
|
|
return false
|
|
}
|
|
runtime.Log(message)
|
|
return true
|
|
}
|
|
|
|
// Notify notifies about given message
|
|
func Notify(event interface{}) bool {
|
|
if trigger != runtime.Application {
|
|
return false
|
|
}
|
|
runtime.Notify("Event", event)
|
|
return true
|
|
}
|