IInterpreterCallerV2
A contract that calls an IInterpreterV1 via. eval. There are near
zero requirements on a caller other than:
- Emit some meta about itself upon construction so humans know what the contract does
- Provide the context, which can be built in a standard way by
LibContext - Handle the stack array returned from
eval - OPTIONALLY emit the
Contextevent - OPTIONALLY set state on the
IInterpreterStoreV1returned from eval.
Events
Context
Calling contracts SHOULD emit Context before calling eval if they
are able. Notably eval MAY be called within a static call which means
that events cannot be emitted, in which case this does not apply. It MAY
NOT be useful to emit this multiple times for several eval calls if they
all share a common context, in which case a single emit is sufficient.
event Context(address sender, uint256[][] context);
Parameters
| Name | Type | Description |
|---|---|---|
sender | address | msg.sender building the context. |
context | uint256[][] | The context that was built. |