[ { "constant": false, "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "participant", "type": "address" } ], "name": "addParticipantRole", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "string", "name": "message", "type": "string" }, { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "addWorkflowStep", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "trackingAddress", "type": "address" }, { "internalType": "bytes32", "name": "hashEstado", "type": "bytes32" }, { "internalType": "string", "name": "message", "type": "string" }, { "internalType": "bytes32", "name": "_nextRole", "type": "bytes32" } ], "name": "forward", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "trackingAddress", "type": "address" }, { "internalType": "bytes32", "name": "hashEstado", "type": "bytes32" } ], "name": "forwardWorkflow", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "trackCount", "type": "uint256" } ], "name": "PageReached", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "participant", "type": "address" } ], "name": "ParticipantAdded", "type": "event" }, { "constant": false, "inputs": [ { "internalType": "bytes32", "name": "trackingId", "type": "bytes32" }, { "internalType": "bytes32", "name": "hashEstado", "type": "bytes32" }, { "internalType": "string", "name": "message", "type": "string" }, { "internalType": "bytes32", "name": "_nextRole", "type": "bytes32" } ], "name": "startTrack", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "bytes32", "name": "trackingId", "type": "bytes32" }, { "internalType": "bytes32", "name": "hashEstado", "type": "bytes32" } ], "name": "startTrackWorkflow", "outputs": [], "payable": true, "stateMutability": "payable", "type": "function" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "trackingId", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "hashEstado", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "trackingAddress", "type": "address" } ], "name": "TrackingEnded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "trackingId", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "hashEstado", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "trackingAddress", "type": "address" } ], "name": "TrackingStarted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "trackingId", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "hashEstado", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "trackingAddress", "type": "address" }, { "indexed": false, "internalType": "string", "name": "message", "type": "string" } ], "name": "UnitMoved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": false, "internalType": "string", "name": "message", "type": "string" } ], "name": "WorkflowStepAdded", "type": "event" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "trackingAddress", "type": "address" } ], "name": "currentHashState", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "trackingAddress", "type": "address" } ], "name": "currentPosition", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "add", "type": "address" } ], "name": "isOwner", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "participant", "type": "address" } ], "name": "isParticipant", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "isRole", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "participant", "type": "address" }, { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "participantHasRole", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "trackingAddress", "type": "address" }, { "internalType": "address", "name": "participant", "type": "address" } ], "name": "participantIsAuthorizedForNextStep", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "trackingAddress", "type": "address" }, { "internalType": "address", "name": "participant", "type": "address" } ], "name": "participantIsAuthorizedForNextStepWorkflow", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "participant", "type": "address" } ], "name": "participantIsAuthorizedForStart", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "workflowIsDefined", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "uint256", "name": "step", "type": "uint256" } ], "name": "workflowStepMessage", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function" } ]