Proposal

queue

Happening after proposal execution

function queue() override public

Events emitted:

  • Queued

execute

Proposal execution.

function execute() override public

Events emitted:

  • Executed

cancel

Proposal cancel.

function cancel() override public

Events emitted:

  • Canceled

castVote

Processing voter's vote is it for or against proposal.

function castVote(
        uint32 /*proposalId*/,
        address voter,
        uint128 votes,
        bool support,
        string reason
    ) override public onlyStakingAccount(voter)

Parameters:

NameTypeDescription

uint32

The id of the proposal

voter

address

The address of the voter

votes

uint128

Number of votes given for proposal

support

bool

True if voting in favor, false if against

reason

string

Reason of the decided vote

Events emitted:

  • VoteCast

onActionsExecuted

Callback for executed actions.

function onActionsExecuted() override public onlyRoot

state

Gets the state of the proposal based on the specified conditions.

function state() private view returns (ProposalState)

Return values:

TypeDescription

ProposalState

Current proposal state

unlockCastedVote

Unlocks casted vote only if proposal state is not active.

function unlockCastedVote(address accountOwner) override public view onlyStakingAccount(accountOwner)

Parameters:

NameTypeDescription

accountOwner

address

The address of the account owner

unlockVoteTokens

Unlocks vote tokens based on the proposal state.

function unlockVoteTokens(address accountOwner) override public view onlyStakingAccount(accountOwner)

Parameters:

NameTypeDescription

accountOwner

address

The address of the account owner

_buildAccountInitialData

Builds initial data for account.

function _buildAccountInitialData(address accountOwner) private inline pure returns (TvmCell)

Parameters:

NameTypeDescription

accountOwner

address

The address of the account owner

Return values:

TypeDescription

TvmCell

Account initial data in cell format

_buildStakingInitData

Builds initial data for staking.

function _buildStakingInitData(uint8 platformType, TvmCell initialData) private inline view returns (TvmCell)

Parameters:

NameTypeDescription

platformType

uint8

The type of the platform

initialData

TvmCell

Initial data represented in cell format

Return values:

TypeDescription

TvmCell

Staking initial data in cell format

requestUpgrade

Creates request for upgrading proposal for different version

function requestUpgrade(address sendGasTo) override public view

Parameters:

NameTypeDescription

sendGasTo

address

Address where to send spent gas

Events emitted:

  • CodeUpgradeRequested

upgrade

Upgrades code to the new version

function upgrade(TvmCell code, uint16 newVersion, address sendGasTo) override public onlyRoot

Parameters:

NameTypeDescription

code

TvmCell

Code to be set for upgraded version

newVersion

uint16

New version of the code

sendGasTo

address

Address where to send spent gas

Events emitted:

  • ProposalCodeUpgraded

Last updated