Messages
A message is the human-readable version of a script. It can be stored into a database, retrieved and sent to the script executors. Each Action has its own associated message.
Messages look like this:
struct Transfer {
bytes32 scriptId;
address token;
address destination;
bytes1 typeAmt;
uint256 amount;
address user;
address executor;
uint256 chainId;
uint256 tip;
Balance balance;
Follow follow;
Frequency frequency;
Price price;
Repetitions repetitions;
}
In all messages, you'll find some recurring parts:
- 1.Action related fields (in this example, from line 2 to 10 included), are the fields of the message that describe what the action has to do
- 2.Condition related fields (from line 11 to 15), are the fields describing the script conditions.
Each action message contains multiple sub-messages representing the conditions. These messages have also some recurring information: an Enabled field and a list of fields describing when the condition is triggered.
Some examples:
struct Balance {
bool enabled;
address token;
bytes1 comparison;
uint256 amount;
}
struct Frequency {
bool enabled;
uint256 delay;
uint256 start;
}
Last modified 1yr ago