Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

openzeppelin_upgrades

Fully qualified path: openzeppelin_upgrades

Modules


Re-exports:


Modules

Modules

upgradeable

Fully qualified path: openzeppelin_upgrades::upgradeable

Modules

Modules

Modules

UpgradeableComponent

Upgradeable Component

The Upgradeable component provides a mechanism to make a contract upgradeable.

Fully qualified path: openzeppelin_upgrades::upgradeable::UpgradeableComponent

Modules

Errors

Free functions

Structs

Storage
UpgradedEmitted when the contract is upgraded.
ComponentState

Enums

Event

Traits

Modules

Modules

Errors

Errors

Fully qualified path: openzeppelin_upgrades::upgradeable::UpgradeableComponent::Errors

Constants

Constants

Constants

INVALID_CLASS

Fully qualified path: openzeppelin_upgrades::upgradeable::UpgradeableComponent::Errors::INVALID_CLASS

pub const INVALID_CLASS: felt252 = 423223302514606273361610285513559705916828015570713607238255;

Free functions

Free functions

unsafe_new_component_state

Fully qualified path: openzeppelin_upgrades::upgradeable::UpgradeableComponent::unsafe_new_component_state

pub fn unsafe_new_component_state<TContractState>() -> ComponentState<TContractState>

Structs

Structs

Storage
UpgradedEmitted when the contract is upgraded.
ComponentState

Storage

Fully qualified path: openzeppelin_upgrades::upgradeable::UpgradeableComponent::Storage

[storage]
pub struct Storage {}

Upgraded

Emitted when the contract is upgraded.

Fully qualified path: openzeppelin_upgrades::upgradeable::UpgradeableComponent::Upgraded

[derive(Drop, Debug, PartialEq, starknet::Event)]
pub struct Upgraded {
    pub class_hash: ClassHash,
}

Members

class_hash

Fully qualified path: openzeppelin_upgrades::upgradeable::UpgradeableComponent::Upgraded::class_hash

pub class_hash: ClassHash

ComponentState

Fully qualified path: openzeppelin_upgrades::upgradeable::UpgradeableComponent::ComponentState

pub struct ComponentState<TContractState> {}

Enums

Enums

Event

Event

Fully qualified path: openzeppelin_upgrades::upgradeable::UpgradeableComponent::Event

pub enum Event {
    Upgraded: Upgraded,
}

Variants

Upgraded

Fully qualified path: openzeppelin_upgrades::upgradeable::UpgradeableComponent::Event::Upgraded

Upgraded: Upgraded

Traits

Traits

HasComponent

Fully qualified path: openzeppelin_upgrades::upgradeable::UpgradeableComponent::HasComponent

pub trait HasComponent<TContractState>

Trait functions

get_component

Fully qualified path: openzeppelin_upgrades::upgradeable::UpgradeableComponent::HasComponent::get_component

fn get_component(self: @TContractState) -> @ComponentState<TContractState>

get_component_mut

Fully qualified path: openzeppelin_upgrades::upgradeable::UpgradeableComponent::HasComponent::get_component_mut

fn get_component_mut(ref self: TContractState) -> ComponentState<TContractState>

get_contract

Fully qualified path: openzeppelin_upgrades::upgradeable::UpgradeableComponent::HasComponent::get_contract

fn get_contract(self: @ComponentState<TContractState>) -> @TContractState

get_contract_mut

Fully qualified path: openzeppelin_upgrades::upgradeable::UpgradeableComponent::HasComponent::get_contract_mut

fn get_contract_mut(ref self: ComponentState<TContractState>) -> TContractState

emit

Fully qualified path: openzeppelin_upgrades::upgradeable::UpgradeableComponent::HasComponent::emit

fn emit<S, impl IntoImp: Into<S, openzeppelin_upgrades::upgradeable::UpgradeableComponent::Event>>(
    ref self: ComponentState<TContractState>, event: S,
)

InternalTrait

Fully qualified path: openzeppelin_upgrades::upgradeable::UpgradeableComponent::InternalTrait

pub trait InternalTrait<TContractState, +HasComponent<TContractState>>

Trait functions

upgrade

Replaces the contract’s class hash with new_class_hash.

Requirements:

  • new_class_hash is not zero.

Emits an Upgraded event.

Fully qualified path: openzeppelin_upgrades::upgradeable::UpgradeableComponent::InternalTrait::upgrade

fn upgrade(ref self: ComponentState<TContractState>, new_class_hash: ClassHash)

upgrade_and_call

Replaces the contract’s class hash with new_class_hash and then calls selector from the upgraded context. This function returns the unwrapped response data from a call made to the contract itself, using the specified selector as the entrypoint.

Requirements:

  • new_class_hash is not zero.

Emits an Upgraded event.

Fully qualified path: openzeppelin_upgrades::upgradeable::UpgradeableComponent::InternalTrait::upgrade_and_call

fn upgrade_and_call(
    ref self: ComponentState<TContractState>,
    new_class_hash: ClassHash,
    selector: felt252,
    calldata: Span<felt252>,
) -> Span<felt252>