diff --git a/nep-X1.mediawiki b/nep-X1.mediawiki index 1d6b0526..26313a27 100644 --- a/nep-X1.mediawiki +++ b/nep-X1.mediawiki @@ -27,7 +27,7 @@ Neo N3 has the native ContractManagement contract that is responsib { "name": "destroy", "safe": false, - "parameters": [], + "parameters": not restricted, "returntype": "Void" } @@ -35,9 +35,11 @@ This method MUST invoke the destroy method of ContractManagem destroy method can have multi parameters for any specific purpose since it's an operation only for contract owner. -This function SHOULD check whether the signer address equals the owner hash of contract to avoid security risks. This function SHOULD use the SYSCALL Neo.Runtime.CheckWitness to verify the signer. Details has been explained in [NEP-30](https://github.com/superboyiii/proposals/blob/upgrade-standard/nep-30.mediawiki). +destroy method SHOULD do checkwitness for contract owner to avoid security risks. This function SHOULD use the SYSCALL Neo.Runtime.CheckWitness to verify the signer. Details has been explained in [NEP-30](https://github.com/superboyiii/proposals/blob/upgrade-standard/nep-30.mediawiki). -This function is not allowed to call another contract when executing destroy method of native ContractManagement contract since RequiredCallFlags = CallFlags.States | CallFlags.AllowNotify +It's strongly recommended to execute all codes before calling ContractManagement.Destroy() to ensure they can be executed correctly. + +destroy method is not allowed to call another contract when executing the destroy method of native ContractManagement contract since RequiredCallFlags = CallFlags.States | CallFlags.AllowNotify ===Events===