diff --git a/lockup/res/lockup_contract.wasm b/lockup/res/lockup_contract.wasm index 6d227c6f..63671302 100755 Binary files a/lockup/res/lockup_contract.wasm and b/lockup/res/lockup_contract.wasm differ diff --git a/lockup/src/owner.rs b/lockup/src/owner.rs index a09f02e3..83c8fc49 100644 --- a/lockup/src/owner.rs +++ b/lockup/src/owner.rs @@ -488,9 +488,14 @@ impl LockupContract { /// /// Requires 50 TGas (2 * BASE_GAS) /// - /// Adds full access key with the given public key to the account once the contract is fully - /// vested, lockup duration has expired and transfers are enabled. - /// This will allow owner to use this account as a regular account and remove the contract. + /// Adds full access key with the given public key to the account. + /// The following requirements should be met: + /// - The contract is fully vested; + /// - Lockup duration has expired; + /// - Transfers are enabled; + /// - If there’s a termination made by foundation, it has to be finished. + /// Full access key will allow owner to use this account as a regular account and remove + /// the contract. pub fn add_full_access_key(&mut self, new_public_key: Base58PublicKey) -> Promise { self.assert_owner(); self.assert_transfers_enabled(); diff --git a/lockup/src/owner_callbacks.rs b/lockup/src/owner_callbacks.rs index 3a79be3d..70a8f58c 100644 --- a/lockup/src/owner_callbacks.rs +++ b/lockup/src/owner_callbacks.rs @@ -15,6 +15,7 @@ impl LockupContract { "The given staking pool account ID is not whitelisted" ); self.assert_staking_pool_is_not_selected(); + self.assert_no_termination(); self.staking_information = Some(StakingInformation { staking_pool_account_id, status: TransactionStatus::Idle,