CodeRemoved

Event v334 → current #4

Emitted when contract code is removed from on-chain storage .

View events on chain
Useful for: developersanalytics

The Big Picture

When code is no longer needed, the uploader can remove it to reclaim their deposit.

Use Cases

  • Track code cleanup
  • Monitor storage reclamation
  • Update code registries

From Chain Metadata

A code with the specified hash was removed.

Triggers

Emitted by

Preconditions

  • Code exists
  • No contract instances reference this code
  • Caller is original uploader

Effects

Storage Modified

Postconditions

  • Code removed
  • CodeInfoOf cleared
  • Deposit refunded

Side Effects

  • Code hash no longer available for instantiation

Event Data

#NameTypeDescription
0
code_hash
H256 Hash of the removed code
1
deposit_released
u64 Amount of deposit refunded (RAO) (RAO -> TAO (/ 10^9))
2
remover
AccountId Account that removed the code (original uploader) (hex -> SS58)

Code Examples

import { ApiPromise, WsProvider } from "@polkadot/api";
import { stringCamelCase } from "@polkadot/util";

const provider = new WsProvider("wss://entrypoint-finney.opentensor.ai:443");
const api = await ApiPromise.create({ provider });

// Subscribe to CodeRemoved events
api.query.system.events((events) => {
  events
    .filter(({ event }) =>
      event.section === stringCamelCase("Contracts") &&
      event.method === "CodeRemoved"
    )
    .forEach(({ event }) => {
      console.log("CodeRemoved:", event.data.toHuman());
    });
});

Runtime Info

Pallet Index
29
Event Index
4
First Version
v334
Current Version
v393