@@ -61,14 +61,36 @@ private def Method.Message.logicFun
61
61
let ! [selfRes] := consumedResObjs
62
62
let try selfObj : Object classId := Object.fromResource selfRes
63
63
check method.invariant selfObj argsData
64
- check method.authorization selfObj argsData sorry
64
+ let signatures0 : msg.id.Signatures msg.args := msg.signatures
65
+ let signatures : methodId.Signatures argsData := sorry
66
+ check method.authorization selfObj argsData signatures
65
67
let body := method.body selfObj argsData
66
68
let try vals : body.params.Product := tryCast msg.vals
67
69
let createdObject : Object classId := body |>.value vals
68
70
Logic.checkResourceValues [createdObject.toObjectValue] createdResObjs
69
71
&& Logic.checkResourcesPersistent consumedResObjs
70
72
&& Logic.checkResourcesPersistent createdResObjs
71
73
74
+ private def Method.Message.logicFun2
75
+ {lab : Ecosystem.Label}
76
+ {classId : lab.ClassId}
77
+ {methodId : classId.label.MethodId}
78
+ (method : Class.Method classId methodId)
79
+ (args : Logic.Args)
80
+ : Bool :=
81
+ let try msg : Message lab := Message.fromResource args.self
82
+
83
+ -- let try msg : Message lab := Message.fromResource args.self
84
+ -- let try argsData := SomeType.cast msg.args
85
+ -- let consumedResObjs := Logic.selectObjectResources args.consumed
86
+ -- let createdResObjs := Logic.selectObjectResources args.created
87
+ -- let! [ selfRes ] := consumedResObjs
88
+ -- let try selfObj : Object classId := Object.fromResource selfRes
89
+ -- check method.invariant selfObj argsData
90
+ -- let signatures0 : msg.id.Signatures msg.args := msg.signatures
91
+ -- let signatures : methodId.Signatures argsData := sorry
92
+ -- false
93
+
72
94
/-- The class logic checks if all consumed messages in the action correspond to
73
95
class members, the single consumed object is the receiver, and there is
74
96
at least one message. -/
0 commit comments