Skip to content

Commit 4a7401d

Browse files
committed
sui: pause create_transceiver_message
1 parent 897a6a8 commit 4a7401d

3 files changed

Lines changed: 15 additions & 9 deletions

File tree

sui/packages/ntt/sources/ntt.move

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,6 @@ module ntt::ntt {
2424
const EWrongDestinationChain: vector<u8>
2525
= b"Wrong destination chain";
2626

27-
#[error]
28-
const EPaused: vector<u8>
29-
= b"Contract is paused";
30-
3127
#[allow(lint(coin_field))]
3228
public struct TransferTicket<phantom CoinType> {
3329
coins: Coin<CoinType>,
@@ -130,7 +126,7 @@ module ntt::ntt {
130126
): OutboxKey {
131127
version_gated.check_version(state);
132128

133-
assert!(!state.is_paused(), EPaused);
129+
state.assert_not_paused();
134130

135131
let TransferTicket {
136132
coins,
@@ -198,7 +194,7 @@ module ntt::ntt {
198194
) {
199195
version_gated.check_version(state);
200196

201-
assert!(!state.is_paused(), EPaused);
197+
state.assert_not_paused();
202198

203199
let (chain_id, source_ntt_manager, ntt_manager_message) =
204200
validated_message.destruct_recipient_only(&ntt::auth::new_auth(), state);
@@ -281,7 +277,7 @@ module ntt::ntt {
281277

282278
version_gated.check_version(state);
283279

284-
assert!(!state.is_paused(), EPaused);
280+
state.assert_not_paused();
285281

286282
// NOTE: this validates that the message has enough votes etc
287283
let released = state.try_release_in(chain_id, message, clock);

sui/packages/ntt/sources/state.move

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ module ntt::state {
2222
const EThresholdTooHigh: vector<u8> =
2323
b"Threshold too high";
2424

25+
#[error]
26+
const EPaused: vector<u8>
27+
= b"Contract is paused";
28+
2529
/// NOTE: this is a shared object, so anyone can grab a mutable reference to
2630
/// it. Thus, functions are access-controlled by (package) visibility.
2731
public struct State<phantom T> has key, store {
@@ -184,6 +188,8 @@ module ntt::state {
184188
message_id: Bytes32,
185189
clock: &Clock
186190
): ntt_common::outbound_message::OutboundMessage<ntt::auth::ManagerAuth, TransceiverAuth> {
191+
self.assert_not_paused();
192+
187193
let transceiver_index = self.transceivers.transceiver_id<TransceiverAuth>();
188194
let outbox_key = outbox::new_outbox_key(message_id);
189195
let released = self.outbox.try_release(outbox_key, transceiver_index, clock);
@@ -333,6 +339,10 @@ module ntt::state {
333339
state.paused
334340
}
335341

342+
public fun assert_not_paused<T>(state: &State<T>) {
343+
assert!(!state.paused, EPaused);
344+
}
345+
336346
/// Get the current threshold value
337347
public fun threshold<T>(state: &State<T>): u8 {
338348
state.threshold

sui/packages/ntt/tests/ntt_tests.move

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -642,7 +642,7 @@ module ntt::ntt_tests {
642642
scenario.end();
643643
}
644644

645-
#[test, expected_failure(abort_code = ::ntt::ntt::EPaused)]
645+
#[test, expected_failure(abort_code = ::ntt::state::EPaused)]
646646
fun test_transfer_when_paused() {
647647
let (admin, user_a, _, _) = ntt_scenario::test_addresses();
648648
let mut scenario = test_scenario::begin(admin);
@@ -695,7 +695,7 @@ module ntt::ntt_tests {
695695
scenario.end();
696696
}
697697

698-
#[test, expected_failure(abort_code = ::ntt::ntt::EPaused)]
698+
#[test, expected_failure(abort_code = ::ntt::state::EPaused)]
699699
fun test_redeem_when_paused() {
700700
let (admin, user_a, user_b, _) = ntt_scenario::test_addresses();
701701
let mut scenario = test_scenario::begin(admin);

0 commit comments

Comments
 (0)