Skip to content

Commit 9f49fb8

Browse files
feat(evm): allow pause from admin
1 parent a0b5cb4 commit 9f49fb8

File tree

5 files changed

+69
-19
lines changed

5 files changed

+69
-19
lines changed

evm/contracts/apps/ucs/03-zkgm/Zkgm.sol

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -663,7 +663,7 @@ contract UCS03Zkgm is
663663
uint64 timeoutTimestamp,
664664
bytes32 salt,
665665
Instruction calldata instruction
666-
) public {
666+
) public whenNotPaused {
667667
verifyInternal(channelId, 0, instruction);
668668
ibcHandler.sendPacket(
669669
channelId,
@@ -838,7 +838,7 @@ contract UCS03Zkgm is
838838
IBCPacket calldata packet,
839839
address relayer,
840840
bytes calldata relayerMsg
841-
) external virtual override onlyIBC returns (bytes memory) {
841+
) external virtual override onlyIBC whenNotPaused returns (bytes memory) {
842842
(bool success, bytes memory returnData) = address(this).call(
843843
abi.encodeCall(this.execute, (packet, relayer, relayerMsg))
844844
);
@@ -1245,7 +1245,7 @@ contract UCS03Zkgm is
12451245
IBCPacket calldata ibcPacket,
12461246
bytes calldata ack,
12471247
address relayer
1248-
) external virtual override onlyIBC {
1248+
) external virtual override onlyIBC whenNotPaused {
12491249
ZkgmPacket calldata zkgmPacket = ZkgmLib.decode(ibcPacket.data);
12501250
if (ZkgmLib.isForwardedPacket(zkgmPacket.salt)) {
12511251
bytes32 packetHash = IBCPacketLib.commitPacket(ibcPacket);
@@ -1467,7 +1467,7 @@ contract UCS03Zkgm is
14671467
function onTimeoutPacket(
14681468
IBCPacket calldata ibcPacket,
14691469
address relayer
1470-
) external virtual override onlyIBC {
1470+
) external virtual override onlyIBC whenNotPaused {
14711471
ZkgmPacket calldata zkgmPacket = ZkgmLib.decode(ibcPacket.data);
14721472
if (ZkgmLib.isForwardedPacket(zkgmPacket.salt)) {
14731473
bytes32 packetHash = IBCPacketLib.commitPacket(ibcPacket);

evm/contracts/clients/CometblsClient.sol

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ contract CometblsClient is
255255
function misbehaviour(
256256
uint32 clientId,
257257
bytes calldata clientMessageBytes
258-
) external override onlyIBC {
258+
) external override onlyIBC whenNotPaused {
259259
Misbehaviour calldata m = clientMessageBytes.decodeMisbehaviour();
260260
ClientState storage clientState = clientStates[clientId];
261261
bool fraud =
@@ -373,7 +373,13 @@ contract CometblsClient is
373373
function updateClient(
374374
uint32 clientId,
375375
bytes calldata clientMessageBytes
376-
) external override onlyIBC returns (ConsensusStateUpdate memory) {
376+
)
377+
external
378+
override
379+
onlyIBC
380+
whenNotPaused
381+
returns (ConsensusStateUpdate memory)
382+
{
377383
ClientState storage clientState = clientStates[clientId];
378384

379385
if (clientState.frozenHeight > 0) {
@@ -412,7 +418,7 @@ contract CometblsClient is
412418
bytes calldata proof,
413419
bytes calldata path,
414420
bytes calldata value
415-
) external virtual returns (bool) {
421+
) external virtual whenNotPaused returns (bool) {
416422
if (isFrozenImpl(clientId)) {
417423
revert CometblsClientLib.ErrClientFrozen();
418424
}
@@ -437,7 +443,7 @@ contract CometblsClient is
437443
uint64 height,
438444
bytes calldata proof,
439445
bytes calldata path
440-
) external virtual returns (bool) {
446+
) external virtual whenNotPaused returns (bool) {
441447
if (isFrozenImpl(clientId)) {
442448
revert CometblsClientLib.ErrClientFrozen();
443449
}
@@ -484,7 +490,7 @@ contract CometblsClient is
484490

485491
function isFrozen(
486492
uint32 clientId
487-
) external view virtual returns (bool) {
493+
) external view virtual whenNotPaused returns (bool) {
488494
return isFrozenImpl(clientId);
489495
}
490496

@@ -581,6 +587,14 @@ contract CometblsClient is
581587
address newImplementation
582588
) internal override onlyOwner {}
583589

590+
function pause() public onlyOwner {
591+
_pause();
592+
}
593+
594+
function unpause() public onlyOwner {
595+
_unpause();
596+
}
597+
584598
function _onlyIBC() internal view {
585599
if (msg.sender != ibcHandler) {
586600
revert CometblsClientLib.ErrNotIBC();

evm/contracts/clients/StateLensIcs23Ics23Client.sol

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,13 @@ contract StateLensIcs23Ics23Client is
166166
function updateClient(
167167
uint32 clientId,
168168
bytes calldata clientMessageBytes
169-
) external override onlyIBC returns (ConsensusStateUpdate memory) {
169+
)
170+
external
171+
override
172+
onlyIBC
173+
whenNotPaused
174+
returns (ConsensusStateUpdate memory)
175+
{
170176
Header calldata header;
171177
assembly {
172178
header := clientMessageBytes.offset
@@ -225,7 +231,7 @@ contract StateLensIcs23Ics23Client is
225231
function misbehaviour(
226232
uint32 clientId,
227233
bytes calldata clientMessageBytes
228-
) external override onlyIBC {
234+
) external override onlyIBC whenNotPaused {
229235
revert StateLensIcs23Ics23Lib.ErrInvalidMisbehaviour();
230236
}
231237

@@ -235,7 +241,7 @@ contract StateLensIcs23Ics23Client is
235241
bytes calldata proof,
236242
bytes calldata path,
237243
bytes calldata value
238-
) external virtual returns (bool) {
244+
) external virtual whenNotPaused returns (bool) {
239245
if (isFrozenImpl(clientId)) {
240246
revert StateLensIcs23Ics23Lib.ErrClientFrozen();
241247
}
@@ -260,7 +266,7 @@ contract StateLensIcs23Ics23Client is
260266
uint64 height,
261267
bytes calldata proof,
262268
bytes calldata path
263-
) external virtual returns (bool) {
269+
) external virtual whenNotPaused returns (bool) {
264270
if (isFrozenImpl(clientId)) {
265271
revert StateLensIcs23Ics23Lib.ErrClientFrozen();
266272
}
@@ -307,7 +313,7 @@ contract StateLensIcs23Ics23Client is
307313

308314
function isFrozen(
309315
uint32 clientId
310-
) external view virtual returns (bool) {
316+
) external view virtual whenNotPaused returns (bool) {
311317
return isFrozenImpl(clientId);
312318
}
313319

@@ -322,6 +328,14 @@ contract StateLensIcs23Ics23Client is
322328
address newImplementation
323329
) internal override onlyOwner {}
324330

331+
function pause() public onlyOwner {
332+
_pause();
333+
}
334+
335+
function unpause() public onlyOwner {
336+
_unpause();
337+
}
338+
325339
function _onlyIBC() internal view {
326340
if (msg.sender != ibcHandler) {
327341
revert StateLensIcs23Ics23Lib.ErrNotIBC();

evm/contracts/clients/StateLensIcs23MptClient.sol

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,13 @@ contract StateLensIcs23MptClient is
172172
function updateClient(
173173
uint32 clientId,
174174
bytes calldata clientMessageBytes
175-
) external override onlyIBC returns (ConsensusStateUpdate memory) {
175+
)
176+
external
177+
override
178+
onlyIBC
179+
whenNotPaused
180+
returns (ConsensusStateUpdate memory)
181+
{
176182
Header calldata header;
177183
assembly {
178184
header := clientMessageBytes.offset
@@ -235,7 +241,7 @@ contract StateLensIcs23MptClient is
235241
function misbehaviour(
236242
uint32 clientId,
237243
bytes calldata clientMessageBytes
238-
) external override onlyIBC {
244+
) external override onlyIBC whenNotPaused {
239245
revert StateLensIcs23MptLib.ErrUnsupported();
240246
}
241247

@@ -245,7 +251,7 @@ contract StateLensIcs23MptClient is
245251
bytes calldata proof,
246252
bytes calldata path,
247253
bytes calldata value
248-
) external virtual returns (bool) {
254+
) external virtual whenNotPaused returns (bool) {
249255
if (isFrozenImpl(clientId)) {
250256
revert StateLensIcs23MptLib.ErrClientFrozen();
251257
}
@@ -266,7 +272,7 @@ contract StateLensIcs23MptClient is
266272
uint64 height,
267273
bytes calldata proof,
268274
bytes calldata path
269-
) external virtual returns (bool) {
275+
) external virtual whenNotPaused returns (bool) {
270276
if (isFrozenImpl(clientId)) {
271277
revert StateLensIcs23MptLib.ErrClientFrozen();
272278
}
@@ -308,7 +314,7 @@ contract StateLensIcs23MptClient is
308314

309315
function isFrozen(
310316
uint32 clientId
311-
) external view virtual returns (bool) {
317+
) external view virtual whenNotPaused returns (bool) {
312318
return isFrozenImpl(clientId);
313319
}
314320

@@ -323,6 +329,14 @@ contract StateLensIcs23MptClient is
323329
address newImplementation
324330
) internal override onlyOwner {}
325331

332+
function pause() public onlyOwner {
333+
_pause();
334+
}
335+
336+
function unpause() public onlyOwner {
337+
_unpause();
338+
}
339+
326340
function _onlyIBC() internal view {
327341
if (msg.sender != ibcHandler) {
328342
revert StateLensIcs23MptLib.ErrNotIBC();

evm/contracts/clients/StateLensIcs23SmtClient.sol

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,14 @@ contract StateLensIcs23SmtClient is
304304
address newImplementation
305305
) internal override onlyOwner {}
306306

307+
function pause() public onlyOwner {
308+
_pause();
309+
}
310+
311+
function unpause() public onlyOwner {
312+
_unpause();
313+
}
314+
307315
function _onlyIBC() internal view {
308316
if (msg.sender != ibcHandler) {
309317
revert StateLensIcs23SmtLib.ErrNotIBC();

0 commit comments

Comments
 (0)