@@ -38,6 +38,8 @@ struct Message:
38
38
MAX_BYTES: constant (uint256 ) = 1024
39
39
MAX_MESSAGES: constant (uint256 ) = 8
40
40
41
+ DAY: constant (uint256 ) = 86400
42
+ WEEK: constant (uint256 ) = 7 * DAY
41
43
42
44
admins: public (AdminSet)
43
45
future_admins: public (AdminSet)
@@ -65,18 +67,25 @@ def __init__(_admins: AdminSet):
65
67
66
68
67
69
@external
68
- def broadcast (_chain_id: uint256 , _messages: DynArray[Message, MAX_MESSAGES], _ttl: uint256 = 7 * 86400 ):
70
+ def broadcast (_chain_id: uint256 , _messages: DynArray[Message, MAX_MESSAGES], _ttl: uint256 = 0 ):
69
71
"""
70
- @notice Broadcast a sequence of messeages .
72
+ @notice Broadcast a sequence of messages .
71
73
@param _chain_id The chain id to have messages executed on.
72
74
@param _messages The sequence of messages to broadcast.
73
- @param _ttl Time-to-leave for message if it's not executed.
75
+ @param _ttl Time-to-leave for message if it's not executed. 0 will use default values.
74
76
"""
75
77
agent: Agent = self .agent[msg .sender ]
76
78
assert agent != empty (Agent) and len (_messages) > 0
77
- if agent != Agent.EMERGENCY: # Emergency votes should be emergent
78
- assert 86400 <= _ttl
79
- assert _ttl <= 21 * 86400
79
+ ttl: uint256 = _ttl
80
+ if agent == Agent.EMERGENCY:
81
+ # Emergency votes should be brisk
82
+ if ttl == 0 :
83
+ ttl = DAY # default
84
+ assert ttl <= WEEK
85
+ else :
86
+ if ttl == 0 :
87
+ ttl = WEEK # default
88
+ assert DAY <= ttl and ttl <= 3 * WEEK
80
89
81
90
digest: bytes32 = keccak256 (_abi_encode (_messages))
82
91
nonce: uint256 = self .nonce[agent][_chain_id]
0 commit comments