-
Notifications
You must be signed in to change notification settings - Fork 3
/
jlog.txt
1 lines (1 loc) · 1.86 KB
/
jlog.txt
1
{"startState":"0,0,0,0","message":"let contract = tx.sender\r\nlet human= extract(getInteger(contract,\"human\"))\r\nlet wolf= extract(getInteger(contract,\"wolf\"))\r\nlet goat= extract(getInteger(contract,\"goat\"))\r\nlet cabbage= extract(getInteger(contract,\"cabbage\"))\r\n\r\nmatch tx {\r\ncase t:DataTransaction =>\r\n let newHuman= extract(getInteger(t.data,\"human\")) \r\n let newWolf= extract(getInteger(t.data,\"wolf\"))\r\n let newGoat= extract(getInteger(t.data,\"goat\"))\r\n let newCabbage= extract(getInteger(t.data,\"cabbage\"))\r\n \r\n let humanSide= human == 0 || human == 1\r\n let wolfSide= wolf == 0 || wolf == 1\r\n let goatSide= goat == 0 || goat == 1\r\n let cabbageSide= cabbage == 0 || cabbage == 1\r\n let side= humanSide && wolfSide && goatSide && cabbageSide\r\n\r\n let safeAlone= newGoat != newWolf && newGoat != newCabbage\r\n let safe= safeAlone || newGoat == newHuman\r\n let humanTravel= human != newHuman \r\n\r\n let t1= humanTravel && newWolf == wolf + 1 && newGoat == goat && newCabbage == cabbage \r\n let t2= humanTravel && newWolf == wolf && newGoat == goat + 1 && newCabbage == cabbage\r\n let t3= humanTravel && newWolf == wolf && newGoat == goat && newCabbage == cabbage + 1\r\n let t4= humanTravel && newWolf == wolf - 1 && newGoat == goat && newCabbage == cabbage\r\n let t5= humanTravel && newWolf == wolf && newGoat == goat - 1 && newCabbage == cabbage\r\n let t6= humanTravel && newWolf == wolf && newGoat == goat && newCabbage == cabbage - 1\r\n let t7= humanTravel && newWolf == wolf && newGoat == goat && newCabbage == cabbage\r\n let objectTravel = t1 || t2 || t3 || t4 || t5 || t6 || t7\r\n \r\n side && safe && humanTravel && objectTravel\r\ncase s:TransferTransaction =>\r\nhuman == 1 && wolf == 1 && goat == 1 && cabbage == 1\r\n\r\n\r\ncase _ => false\r\n\r\n}","steps":"7","tdata":"1,0,1,0"}