DAORoot

propose

Creates new DAO proposal.

function propose(
        uint32 answerId,
        TonAction[] tonActions,
        EthAction[] ethActions,
        string description
    ) override public

Parameters:

deployProposal

Deploys Proposal contract (creates a new instance of Platform contract).

function deployProposal(
        uint32 nonce,
        address accountOwner,
        TvmCell proposalData
    ) override public onlyStakingAccount(accountOwner)onProposalDeployed

Events emitted:

  • ProposalCreated

onProposalSucceeded

Callback method after successful proposal.

function onProposalSucceeded(
        uint32 proposalId,
        address proposer,
        TonAction[] tonActions,
        EthAction[] ethActions
    ) override public onlyProposal(proposalId)

Parameters:

Events emitted:

  • ExecutingTonActions

executeTonAction

Does the transfer based on the action payload.

function executeTonAction(TonAction action) private pure inline

Parameters:

executeEthActions

Based on the list of actions fills necessary data, adds actions to the chain of actions, encodes them to the event data and deploys events.

function executeEthActions(address proposer, EthAction[] actions) private view inline

Parameters:

calcTonActionsValue

Calculates total value of actions on Everscale.

function calcTonActionsValue(TonAction[] actions) public pure returns (uint128 totalValue)

Parameters:

Return values:

calcEthActionsValue

Calculates total value of actions on Ethereum.

function calcEthActionsValue(
        EthAction[] actions
    ) public view returns (uint128 totalValue)

Parameters:

Return values:

_buildProposalInitialData Builds initial data for Proposal

function _buildProposalInitialData(uint32 proposalId) private inline pure returns (TvmCell)

Parameters:

Return values:

_buildStakingAccountInitialData

Builds initial data for Staking account

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

Parameters:

Return values:

_buildInitData

Builds initial data for specified Platform type.

function _buildInitData(PlatformType platformType, TvmCell initialData) private view returns (TvmCell)

Parameters:

Return values:

requestUpgradeProposal

Creates request for upgrading proposal for different version.

function requestUpgradeProposal(
        uint16 currentVersion,
        address sendGasTo,
        uint32 proposalId
    ) override public onlyProposal(proposalId)

Parameters:

setStakingRoot

Sets staking root address from params and transfers remaining gas to admin

function setStakingRoot(address newStakingRoot) override public onlyAdmin

Parameters:

Events emitted:

  • StakingRootUpdated

transferAdmin

Transfers admin role to other address.

function transferAdmin(address newAdmin) override public onlyAdmin

Parameters:

Events emitted:

  • AdminTransferAccepted

Last updated