ContractCodeUpdated
Event v334 → current #5Emitted when a contract's code is updated to a different code hash.
View events on chainUseful for: developersanalytics
The Big Picture
A privileged upgrade mechanism that swaps contract code in-place, preserving address and storage.
Use Cases
- Track contract upgrades
- Monitor governance-approved changes
- Build upgrade history
From Chain Metadata
A contract's code was updated.
Triggers
Emitted by
Preconditions
- Contract exists
- Caller has root privileges
- New code exists
Effects
Storage Modified
Postconditions
- Contract references new code_hash
Side Effects
- Contract behavior changes immediately
Event Data
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 ContractCodeUpdated events
api.query.system.events((events) => {
events
.filter(({ event }) =>
event.section === stringCamelCase("Contracts") &&
event.method === "ContractCodeUpdated"
)
.forEach(({ event }) => {
console.log("ContractCodeUpdated:", event.data.toHuman());
});
});Runtime Info
- Pallet Index
- 29
- Event Index
- 5
- First Version
- v334
- Current Version
- v393