Join our community of builders on

Telegram!Telegram
Utilities

Pausable

Source Code

Purpose

Allows contracts to be paused and unpaused by authorized accounts.

This utility contract can be used with any token standard (fungible, non-fungible, multi-token).

Design

To make it easier to spot when inspecting the code, we turned this simple functionality into a macro that can annotate your smart contract functions.

An example:

#[when_paused]
pub fn emergency_reset(e: &Env) {
    e.storage().instance().set(&DataKey::Counter, &0);
}

Which will expand into the below code:

pub fn emergency_reset(e: &Env) {
    when_paused(e);

    e.storage().instance().set(&DataKey::Counter, &0);
}

On this page