COOPENOMICS  v1
Кооперативная Экономика
Класс eosio::multisig

#include <eosio.msig.hpp>

Граф наследования:eosio::multisig:

Классы

struct  approval
 
struct  approvals_info
 Таблица информации об одобрениях хранит информацию об одобрениях предложений. Подробнее...
 
struct  invalidation
 Таблица инвалидаций хранит информацию об инвалидированных аккаунтах. Подробнее...
 
struct  old_approvals_info
 Таблица старых одобрений хранит информацию об одобрениях предложений (устаревшая версия). Подробнее...
 
struct  proposal
 Таблица предложений хранит информацию о предложенных транзакциях. Подробнее...
 

Открытые типы

using propose_action = eosio::action_wrapper<"propose"_n, &multisig::propose >
 
using approve_action = eosio::action_wrapper<"approve"_n, &multisig::approve >
 
using unapprove_action = eosio::action_wrapper<"unapprove"_n, &multisig::unapprove >
 
using cancel_action = eosio::action_wrapper<"cancel"_n, &multisig::cancel >
 
using exec_action = eosio::action_wrapper<"exec"_n, &multisig::exec >
 
using invalidate_action = eosio::action_wrapper<"invalidate"_n, &multisig::invalidate >
 
typedef eosio::multi_index< "proposal"_n, proposalproposals
 
typedef eosio::multi_index< "approvals"_n, old_approvals_infoold_approvals
 
typedef eosio::multi_index< "approvals2"_n, approvals_infoapprovals
 
typedef eosio::multi_index< "invals"_n, invalidationinvalidations
 

Открытые члены

void propose (name proposer, name proposal_name, std::vector< permission_level > requested, ignore< transaction > trx)
 Создает предложение транзакции. Позволяет аккаунту proposer создать предложение proposal_name с требуемыми уровнями разрешений. Подробнее...
 
void approve (name proposer, name proposal_name, permission_level level, const eosio::binary_extension< eosio::checksum256 > &proposal_hash)
 Одобряет существующее предложение. Позволяет аккаунту, владельцу level разрешения, одобрить предложение proposal_name. Подробнее...
 
void unapprove (name proposer, name proposal_name, permission_level level)
 Отзывает одобрение существующего предложения. Позволяет аккаунту отозвать свое одобрение предложения, перемещая разрешение из provided_approvals обратно в requested_approvals. Подробнее...
 
void cancel (name proposer, name proposal_name, name canceler)
 Отменяет существующее предложение. Позволяет аккаунту canceler отменить предложение proposal_name, созданное proposer. Подробнее...
 
void exec (name proposer, name proposal_name, name executer)
 Выполняет предложение. Позволяет аккаунту executer выполнить предложение, если все условия выполнены. Подробнее...
 
void invalidate (name account)
 Инвалидирует аккаунт. Позволяет аккаунту инвалидировать себя, добавляя свое имя в таблицу инвалидаций. Подробнее...
 

Подробное описание

The eosio.msig system contract allows for creation of proposed transactions which require authorization from a list of accounts, approval of the proposed transactions by those accounts required to approve it, and finally, it also allows the execution of the approved transactions on the blockchain.

In short, the workflow to propose, review, approve and then executed a transaction it can be described by the following:

  • first you create a transaction json file,
  • then you submit this proposal to the eosio.msig contract, and you also insert the account permissions required to approve this proposal into the command that submits the proposal to the blockchain,
  • the proposal then gets stored on the blockchain by the eosio.msig contract, and is accessible for review and approval to those accounts required to approve it,
  • after each of the appointed accounts required to approve the proposed transactions reviews and approves it, you can execute the proposed transaction. The eosio.msig contract will execute it automatically, but not before validating that the transaction has not expired, it is not cancelled, and it has been signed by all the permissions in the initial proposal's required permission list.

Определения типов

◆ approvals

typedef eosio::multi_index< "approvals2"_n, approvals_info > eosio::multisig::approvals

◆ approve_action

using eosio::multisig::approve_action = eosio::action_wrapper<"approve"_n, &multisig::approve>

◆ cancel_action

using eosio::multisig::cancel_action = eosio::action_wrapper<"cancel"_n, &multisig::cancel>

◆ exec_action

using eosio::multisig::exec_action = eosio::action_wrapper<"exec"_n, &multisig::exec>

◆ invalidate_action

using eosio::multisig::invalidate_action = eosio::action_wrapper<"invalidate"_n, &multisig::invalidate>

◆ invalidations

typedef eosio::multi_index< "invals"_n, invalidation > eosio::multisig::invalidations

◆ old_approvals

typedef eosio::multi_index< "approvals"_n, old_approvals_info > eosio::multisig::old_approvals

◆ proposals

typedef eosio::multi_index< "proposal"_n, proposal > eosio::multisig::proposals

◆ propose_action

using eosio::multisig::propose_action = eosio::action_wrapper<"propose"_n, &multisig::propose>

◆ unapprove_action

using eosio::multisig::unapprove_action = eosio::action_wrapper<"unapprove"_n, &multisig::unapprove>

Объявления и описания членов классов находятся в файлах: