Research Article
A Four-Tier Smart Contract Model with On-Chain Upgrade
Algorithm 2
Contract verification algorithm.
| Input: | | contractAddr | | userAddr | | userId | | operation | | Output: | | bool | (1) | Begin | (2) | Role ← invokeUserContract (userAddr, userId) | (3) | If (!verifyAuthority (role, operation)) | (4) | return false | (5) | ContractInstance ← loadContract (contractAddr) | (6) | For (function: fuctionList) | (7) | If (!boundaryValueTest (contractInstance, function)) | (8) | revert()//rollback operation | (9) | return false | (10) | If (!expectedTest (contractInstance, function)) | (11) | revert() | (12) | return false | (13) | If (!exceptionTest (contractInstance, function)) | (14) | revert() | (15) | return false | (16) | revert() | (17) | return true | (18) | End |
|