COOPENOMICS  v1
Кооперативная Экономика
Действия

Функции

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

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

Функции

◆ approve()

void eosio::multisig::approve ( name  proposer,
name  proposal_name,
permission_level  level,
const eosio::binary_extension< eosio::checksum256 > &  proposal_hash 
)

Одобряет существующее предложение. Позволяет аккаунту, владельцу level разрешения, одобрить предложение proposal_name.

Approve action approves an existing proposal. Allows an account, the owner of level permission, to approve a proposal proposal_name proposed by proposer. If the proposal's requested approval list contains the level permission then the level permission is moved from internal requested_approvals list to internal provided_approvals list of the proposal, thus persisting the approval for the proposal_name proposal. Storage changes are billed to proposer.

Аргументы
proposer- The account proposing a transaction
proposal_name- The name of the proposal (should be unique for proposer)
level- Permission level approving the transaction
proposal_hash- Transaction's checksum
proposerАккаунт, предлагающий транзакцию
proposal_nameИмя предложения (должно быть уникальным для proposer)
levelУровень разрешения, одобряющий транзакцию
proposal_hashКонтрольная сумма транзакции
Заметки
Авторизация требуется от аккаунта: level

◆ cancel()

void eosio::multisig::cancel ( name  proposer,
name  proposal_name,
name  canceler 
)

Отменяет существующее предложение. Позволяет аккаунту canceler отменить предложение proposal_name, созданное proposer.

Cancel action cancels an existing proposal.

Аргументы
proposer- The account proposing a transaction
proposal_name- The name of the proposal (should be an existing proposal)
canceler- The account cancelling the proposal (only the proposer can cancel an unexpired transaction, and the canceler has to be different than the proposer)

Allows the canceler account to cancel the proposal_name proposal, created by a proposer, only after time has expired on the proposed transaction. It removes corresponding entries from internal proptable and from approval (or old approvals) tables as well.

Аргументы
proposerАккаунт, предлагающий транзакцию
proposal_nameИмя предложения (должно быть существующим предложением)
cancelerАккаунт, отменяющий предложение
Заметки
Авторизация требуется от аккаунта: canceler

◆ exec()

void eosio::multisig::exec ( name  proposer,
name  proposal_name,
name  executer 
)

Выполняет предложение. Позволяет аккаунту executer выполнить предложение, если все условия выполнены.

Exec action allows an executer account to execute a proposal.

Preconditions:

  • executer has authorization,
  • proposal_name is found in the proposals table,
  • all requested approvals are received,
  • proposed transaction is not expired,
  • and approval accounts are not found in invalidations table.

If all preconditions are met the transaction is executed as a deferred transaction, and the proposal is erased from the proposals table.

Аргументы
proposer- The account proposing a transaction
proposal_name- The name of the proposal (should be an existing proposal)
executer- The account executing the transaction
proposerАккаунт, предлагающий транзакцию
proposal_nameИмя предложения (должно быть существующим предложением)
executerАккаунт, выполняющий транзакцию
Заметки
Авторизация требуется от аккаунта: executer

◆ invalidate()

void eosio::multisig::invalidate ( name  account)

Инвалидирует аккаунт. Позволяет аккаунту инвалидировать себя, добавляя свое имя в таблицу инвалидаций.

Invalidate action allows an account to invalidate itself, that is, its name is added to the invalidations table and this table will be cross referenced when exec is performed.

Аргументы
account- The account invalidating the transaction
accountАккаунт, инвалидирующий транзакцию
Заметки
Авторизация требуется от аккаунта: account

◆ propose()

void eosio::multisig::propose ( name  proposer,
name  proposal_name,
std::vector< permission_level requested,
ignore< transaction >  trx 
)

Создает предложение транзакции. Позволяет аккаунту proposer создать предложение proposal_name с требуемыми уровнями разрешений.

Propose action, creates a proposal containing one transaction. Allows an account proposer to make a proposal proposal_name which has requested permission levels expected to approve the proposal, and if approved by all expected permission levels then trx transaction can we executed by this proposal. The proposer account is authorized and the trx transaction is verified if it was authorized by the provided keys and permissions, and if the proposal name doesn’t already exist; if all validations pass the proposal_name and trx trasanction are saved in the proposals table and the requested permission levels to the approvals table (for the proposer context). Storage changes are billed to proposer.

Аргументы
proposer- The account proposing a transaction
proposal_name- The name of the proposal (should be unique for proposer)
requested- Permission levels expected to approve the proposal
trx- Proposed transaction
proposerАккаунт, предлагающий транзакцию
proposal_nameИмя предложения (должно быть уникальным для proposer)
requestedУровни разрешений, ожидаемые для одобрения предложения
trxПредлагаемая транзакция
Заметки
Авторизация требуется от аккаунта: proposer

◆ unapprove()

void eosio::multisig::unapprove ( name  proposer,
name  proposal_name,
permission_level  level 
)

Отзывает одобрение существующего предложения. Позволяет аккаунту отозвать свое одобрение предложения, перемещая разрешение из provided_approvals обратно в requested_approvals.

Unapprove action revokes an existing proposal. This action is the reverse of the approve action: if all validations pass the level permission is erased from internal provided_approvals and added to the internal requested_approvals list, and thus un-approve or revoke the proposal.

Аргументы
proposer- The account proposing a transaction
proposal_name- The name of the proposal (should be an existing proposal)
level- Permission level revoking approval for proposal
proposerАккаунт, предлагающий транзакцию
proposal_nameИмя предложения (должно быть существующим предложением)
levelУровень разрешения, отзывающий одобрение предложения
Заметки
Авторизация требуется от аккаунта: level