group operations

A set of valid comands for mutating the globally shared state.

An operation can be thought of like a function that will modify the global shared state of the blockchain. The members of each struct are like function arguments and each operation can potentially generate a return value.

Operations can be grouped into transactions (transaction) to ensure that they occur in a particular order and that all operations apply successfully or no operations apply.

Each operation is a fully defined state transition and can exist in a transaction on its own.

Design PrinciplesOperations have been carefully designed to include all of the information necessary to interpret them outside the context of the blockchain. This means that information about current chain state is included in the operation even though it could be inferred from a subset of the data. This makes the expected outcome of each operation well defined and easily understood without access to chain state.

Balance Calculation PrincipleWe have stipulated that the current account balance may be entirely calculated from just the subset of operations that are relevant to that account. There should be no need to process the entire blockchain inorder to know your account's balance.

Explicit Fee PrincipleBlockchain fees can change from time to time and it is important that a signed transaction explicitly agree to the fees it will be paying. This aids with account balance updates and ensures that the sender agreed to the fee prior to making the transaction.

Explicit AuthorityEach operation shall contain enough information to know which accounts must authorize the operation. This principle enables authority verification to occur in a centralized, optimized, and parallel manner.

Explicit Relevant AccountsEach operation contains enough information to enumerate all accounts for which the operation should apear in its account history. This principle enables us to easily define and enforce the . This is superset of the Explicit Authority

Summary

Members Descriptions
structgraphene::chain::account_create_operation
structgraphene::chain::account_update_operation Update an existing account.
structgraphene::chain::assert_operation assert that some conditions are true.

This operation performs no changes to the database state, but can but used to verify pre or post conditions for other operations.
structgraphene::chain::asset_create_operation Creates an asset.
structgraphene::chain::asset_issue_operation
structgraphene::chain::update_user_issued_asset_operation Update the options specific to a user issued asset.

There are a number of options which all assets in the network use. These options are enumerated in the asset_options struct. This operation is used to update these options for an existing asset.
structgraphene::chain::asset_fund_pools_operation
structgraphene::chain::asset_reserve_operation used to take an asset out of circulation, returning to the issuer
structgraphene::chain::update_monitored_asset_operation Update options common to monitored assets

There are a number of options which all assets in the network use. These options are enumerated in the asset_options struct. This operation is used to update these options for an existing asset.
structgraphene::chain::asset_publish_feed_operation Publish price feeds for market-issued assets

Price feed providers use this operation to publish their price feeds for market-issued assets. A price feed is used to tune the market for a particular market-issued asset. For each value in the feed, the median across all committee_member feeds for that asset is calculated and the market for the asset is configured with the median of that value.
structgraphene::chain::void_result
structgraphene::chain::base_operation
structgraphene::chain::custom_operation provides a generic way to add higher level protocols on top of miner consensus

There is no validation for this operation other than that required auths are valid and a fee is paid that is appropriate for the data contained.
structgraphene::chain::set_publishing_manager_operation This operation is used to promote account to publishing manager. Such an account can grant or remove right to publish a content. Only DECENT account has permission to use this method.
structgraphene::chain::set_publishing_right_operation Allows account to publish a content. Only account with publishing manager status has permission to use this method.
structgraphene::chain::content_submit_operation Submits content to the blockchain.
structgraphene::chain::content_cancellation_operation This operation is used to cancel submitted content.
structgraphene::chain::request_to_buy_operation This operation is used to send a request to buy a content.
structgraphene::chain::leave_rating_and_comment_operation Rates a content.
structgraphene::chain::ready_to_publish_operation This operation is used to register a new seeder, modify the existing seeder or to extend seeder's lifetime.
structgraphene::chain::ready_to_publish2_operation This operation is used to register a new seeder, modify the existing seeder or to extend seeder's lifetime.
structgraphene::chain::proof_of_custody_operation Seeders have to periodically prove that they hold the content.
structgraphene::chain::deliver_keys_operation This operation is used to send encrypted share of a content and proof of delivery to consumer.
structgraphene::chain::return_escrow_submission_operation This is a virtual operation emitted for the purpose of returning escrow to author.
structgraphene::chain::return_escrow_buying_operation This is a virtual operation emitted for the purpose of returning escrow to consumer.
structgraphene::chain::report_stats_operation This operation is used to report stats. These stats are later used to rate seeders.
structgraphene::chain::pay_seeder_operation This is a virtual operation.
structgraphene::chain::finish_buying_operation This is a virtual operation.
structgraphene::chain::miner_create_operation Create a miner object, as a bid to hold a miner position on the network.

Accounts which wish to become miners may use this operation to create a miner object which stakeholders may vote on to approve its position as a miner.
structgraphene::chain::miner_update_operation Update a miner object's URL and block signing key.
structgraphene::chain::miner_update_global_parameters_operation Used by miners to update the global parameters of the blockchain.

This operation allows the miners to update the global parameters on the blockchain. These control various tunable aspects of the chain, including block and maintenance intervals, maximum data sizes, the fees charged by the network, etc.
structgraphene::chain::transfer_operation Transfers an amount of one asset from one account to another.
structgraphene::chain::vesting_balance_create_operation Create a vesting balance.

The chain allows a user to create a vesting balance. Normally, vesting balances are created automatically as part of cashback and worker operations. This operation allows vesting balances to be created manually as well.
structgraphene::chain::vesting_balance_withdraw_operation Withdraw from a vesting balance.

Withdrawal from a not-completely-mature vesting balance will result in paying fees.
structgraphene::chain::withdraw_permission_create_operation Create a new withdrawal permission

This operation creates a withdrawal permission, which allows some authorized account to withdraw from an authorizing account. This operation is primarily useful for scheduling recurring payments.
structgraphene::chain::withdraw_permission_update_operation Update an existing withdraw permission

This oeration is used to update the settings for an existing withdrawal permission. The accounts to withdraw to and from may never be updated. The fields which may be updated are the withdrawal limit (both amount and asset type may be updated), the withdrawal period length, the remaining number of periods until expiration, and the starting time of the new period.
structgraphene::chain::withdraw_permission_claim_operation Withdraw from an account which has published a withdrawal permission

This operation is used to withdraw from an account which has authorized such a withdrawal. It may be executed at most once per withdrawal period for the given permission. On execution, amount_to_withdraw is transferred from withdraw_from_account to withdraw_to_account, assuming amount_to_withdraw is within the withdrawal limit. The withdrawal permission will be updated to note that the withdrawal for the current period has occurred, and further withdrawals will not be permitted until the next withdrawal period, assuming the permission has not expired. This operation may be executed at any time within the current withdrawal period.
structgraphene::chain::withdraw_permission_delete_operation Delete an existing withdrawal permission

This operation cancels a withdrawal permission, thus preventing any future withdrawals using that permission.

struct graphene::chain::account_create_operation {#structgraphene_1_1chain_1_1accountcreateoperation}

struct graphene::chain::account_create_operation
  : public graphene::chain::base_operation

Summary

Members Descriptions
publicassetfee
publicaccount_id_typeregistrar This account pays the fee. Must be a lifetime member.
public stringname
publicauthorityowner
publicauthorityactive
publicaccount_optionsoptions
publicextension](#structgraphene_1_1chain_1_1extension)< [ext>extensions
public inlineaccount_id_typefee_payer() const
public voidvalidate() const
publicshare_typecalculate_fee(constfee_parameters_type&) const
public inline voidget_required_active_authorities(flat_set<account_id_type> & a) const

Members

publicassetfee {#structgraphene_1_1chain_1_1accountcreateoperation_1a75d2e2783d5ba89c2605b57c0f245af1}

publicaccount_id_typeregistrar {#structgraphene_1_1chain_1_1accountcreateoperation_1a597a18603a7f81bd4aa983391aea3fd8}

This account pays the fee. Must be a lifetime member.

public stringname {#structgraphene_1_1chain_1_1accountcreateoperation_1ada5d189d0a12ada8576591b05fc91d4b}

publicauthorityowner {#structgraphene_1_1chain_1_1accountcreateoperation_1a02db16fd17502c38bf06048024a47f73}

publicauthorityactive {#structgraphene_1_1chain_1_1accountcreateoperation_1a90a74f94581318be4aa0fad69c0caf50}

publicaccount_optionsoptions {#structgraphene_1_1chain_1_1accountcreateoperation_1a7d621d96b90860c898d0b999c31ce574}

publicextension](#structgraphene_1_1chain_1_1extension)< [ext>extensions {#structgraphene_1_1chain_1_1accountcreateoperation_1ad41627b18e2043de78b71a29b24d154f}

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1accountcreateoperation_1a58c55ea394dd5d8118d1880eb959579b}

public voidvalidate() const {#structgraphene_1_1chain_1_1accountcreateoperation_1ab0acc795f998221f6a60bd624fdb303b}

publicshare_typecalculate_fee(constfee_parameters_type&) const {#structgraphene_1_1chain_1_1accountcreateoperation_1a463971fb4222ff1a33a05e9f7c4a8325}

public inline voidget_required_active_authorities(flat_set<account_id_type> & a) const {#structgraphene_1_1chain_1_1accountcreateoperation_1abaf6b214189d17f3ac99db5ac8da6d37}

struct graphene::chain::account_update_operation {#structgraphene_1_1chain_1_1accountupdateoperation}

struct graphene::chain::account_update_operation
  : public graphene::chain::base_operation

Update an existing account.

This operation is used to update an existing account. It can be used to update the authorities, or adjust the options on the account. See account_object::options_type for the options which may be updated.

Summary

Members Descriptions
publicassetfee
publicaccount_id_typeaccount The account to update.
public optional<authority>owner New owner authority. If set, this operation requires owner authority to execute.
public optional<authority>active New active authority. This can be updated by the current active authority.
public optional<account_options>new_options New account options.
publicextension](#structgraphene_1_1chain_1_1extension)< [ext>extensions
public inlineaccount_id_typefee_payer() const
public voidvalidate() const
publicshare_typecalculate_fee(constfee_parameters_type& k) const
public inline boolis_owner_update() const
public inline voidget_required_owner_authorities(flat_set<account_id_type> & a) const
public inline voidget_required_active_authorities(flat_set<account_id_type> & a) const

Members

publicassetfee {#structgraphene_1_1chain_1_1accountupdateoperation_1a8bdfe1688253666766f62b2f2c50a002}

publicaccount_id_typeaccount {#structgraphene_1_1chain_1_1accountupdateoperation_1a83dbfc5e1c9b87fd62b2f45708a91cd2}

The account to update.

public optional<authority>owner {#structgraphene_1_1chain_1_1accountupdateoperation_1acc625960e7abec67a4e9f04990f46fdd}

New owner authority. If set, this operation requires owner authority to execute.

public optional<authority>active {#structgraphene_1_1chain_1_1accountupdateoperation_1a2cf75cb8bcda11e699ac4a34ff69a992}

New active authority. This can be updated by the current active authority.

public optional<account_options>new_options {#structgraphene_1_1chain_1_1accountupdateoperation_1a8967106f4e0564381b7a13063245937c}

New account options.

publicextension](#structgraphene_1_1chain_1_1extension)< [ext>extensions {#structgraphene_1_1chain_1_1accountupdateoperation_1abd1ac89fc473b847db7a1a478c211af4}

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1accountupdateoperation_1ad546c13e0ae5d8e62af91f156e2efad1}

public voidvalidate() const {#structgraphene_1_1chain_1_1accountupdateoperation_1a8c4515fcf807f84eea197234be644395}

publicshare_typecalculate_fee(constfee_parameters_type& k) const {#structgraphene_1_1chain_1_1accountupdateoperation_1a8fec5b846eceb1a0d00fc4fb5d6b0e3a}

public inline boolis_owner_update() const {#structgraphene_1_1chain_1_1accountupdateoperation_1a5679ef8aad2db26c7f65c2e8d00a6c82}

public inline voidget_required_owner_authorities(flat_set<account_id_type> & a) const {#structgraphene_1_1chain_1_1accountupdateoperation_1a2224a3c52bcbfeee46dcc175bc36e1d6}

public inline voidget_required_active_authorities(flat_set<account_id_type> & a) const {#structgraphene_1_1chain_1_1accountupdateoperation_1a2408e86d5d0d080220fb1062bc637465}

struct graphene::chain::assert_operation {#structgraphene_1_1chain_1_1assert__operation}

struct graphene::chain::assert_operation
  : public graphene::chain::base_operation

assert that some conditions are true.

This operation performs no changes to the database state, but can but used to verify pre or post conditions for other operations.

Summary

Members Descriptions
publicassetfee
publicaccount_id_typefee_paying_account
public vector<predicate>predicates
public flat_set<account_id_type>required_auths
publicextensions_typeextensions
public inlineaccount_id_typefee_payer() const
public voidvalidate() const
publicshare_typecalculate_fee(constfee_parameters_type& k) const The fee for assert operations is proportional to their size, but cheaper than a data fee because they require no storage

Members

publicassetfee {#structgraphene_1_1chain_1_1assert__operation_1a986eda79f46cc52e8cadfdc8844b69c8}

publicaccount_id_typefee_paying_account {#structgraphene_1_1chain_1_1assert__operation_1a9e17007a4200b8c83e5b0f8068731603}

public vector<predicate>predicates {#structgraphene_1_1chain_1_1assert__operation_1a07ddba548b1d19ccb865deb2c02db54c}

public flat_set<account_id_type>required_auths {#structgraphene_1_1chain_1_1assert__operation_1a9f9c41e0ee860173626bee72e6748f8a}

publicextensions_typeextensions {#structgraphene_1_1chain_1_1assert__operation_1a5b0be39dd72bac52454928cab9e168a9}

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1assert__operation_1ad0ac6c659d15ddfd44ebe7acfa81884d}

public voidvalidate() const {#structgraphene_1_1chain_1_1assert__operation_1a6b861a5e6a2f32a7c5fc6b1cb2a1cc38}

publicshare_typecalculate_fee(constfee_parameters_type& k) const {#structgraphene_1_1chain_1_1assert__operation_1a88fbc36f8f4c2283ff80565b0ac212b1}

The fee for assert operations is proportional to their size, but cheaper than a data fee because they require no storage

struct graphene::chain::asset_create_operation {#structgraphene_1_1chain_1_1assetcreateoperation}

struct graphene::chain::asset_create_operation
  : public graphene::chain::base_operation

Creates an asset.

Summary

Members Descriptions
publicassetfee
publicaccount_id_typeissuer This account must sign and pay the fee for this operation. Later, this account may update the asset.
public stringsymbol The ticker symbol of this asset.
public uint8_tprecision Number of digits to the right of decimal point, must be less than or equal to 12.
public stringdescription data that describes the meaning/purpose of this asset, fee will be charged proportional to size of description.
publicasset_optionsoptions
public optional<monitored_asset_options>monitored_asset_opts
public boolis_exchangeable True to allow implicit conversion of this asset to/from core asset.
publicextensions_typeextensions
public inlineaccount_id_typefee_payer() const
public voidvalidate() const
publicshare_typecalculate_fee(constfee_parameters_type& k) const

Members

publicassetfee {#structgraphene_1_1chain_1_1assetcreateoperation_1ae090fb3772fbc75cd0f0bb7bed5320db}

publicaccount_id_typeissuer {#structgraphene_1_1chain_1_1assetcreateoperation_1a330f289a8c3ec1f2e893552ae17cb5f6}

This account must sign and pay the fee for this operation. Later, this account may update the asset.

public stringsymbol {#structgraphene_1_1chain_1_1assetcreateoperation_1a0975c46dd1cf552ec7e12b5233bc95db}

The ticker symbol of this asset.

public uint8_tprecision {#structgraphene_1_1chain_1_1assetcreateoperation_1a1e5633b769577af84537465bbd0dd600}

Number of digits to the right of decimal point, must be less than or equal to 12.

public stringdescription {#structgraphene_1_1chain_1_1assetcreateoperation_1ac92e9b3af9b7fb4574570921e2bc6edf}

data that describes the meaning/purpose of this asset, fee will be charged proportional to size of description.

publicasset_optionsoptions {#structgraphene_1_1chain_1_1assetcreateoperation_1a686d5dc458b4ee6e97182163c0696da9}

public optional<monitored_asset_options>monitored_asset_opts {#structgraphene_1_1chain_1_1assetcreateoperation_1a228a8af1e4d34c2ba03d51882324847a}

public boolis_exchangeable {#structgraphene_1_1chain_1_1assetcreateoperation_1a8b07583ce30f65db4466ce277623e2c0}

True to allow implicit conversion of this asset to/from core asset.

publicextensions_typeextensions {#structgraphene_1_1chain_1_1assetcreateoperation_1ad167178813ec132701ebf055174a095e}

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1assetcreateoperation_1af06738c7950efa73528225e225c7f3d1}

public voidvalidate() const {#structgraphene_1_1chain_1_1assetcreateoperation_1a8f09f1554bc1b791a267abf70c2d7547}

publicshare_typecalculate_fee(constfee_parameters_type& k) const {#structgraphene_1_1chain_1_1assetcreateoperation_1a9bd55e41ac3ec855bc9d9fd9a9f9b34a}

struct graphene::chain::asset_issue_operation {#structgraphene_1_1chain_1_1assetissueoperation}

struct graphene::chain::asset_issue_operation
  : public graphene::chain::base_operation

Summary

Members Descriptions
publicassetfee
publicaccount_id_typeissuer Must be asset_to_issue->asset_id->issuer.
publicassetasset_to_issue
publicaccount_id_typeissue_to_account
public optional<memo_data>memo user provided data encrypted to the memo key of the "to" account
publicextensions_typeextensions
public inlineaccount_id_typefee_payer() const
public voidvalidate() const
publicshare_typecalculate_fee(constfee_parameters_type& k) const

Members

publicassetfee {#structgraphene_1_1chain_1_1assetissueoperation_1ad0f5a2baa751aa0ec5440725d817fa92}

publicaccount_id_typeissuer {#structgraphene_1_1chain_1_1assetissueoperation_1a580282df5e465e2f48cb13bc99d52881}

Must be asset_to_issue->asset_id->issuer.

publicassetasset_to_issue {#structgraphene_1_1chain_1_1assetissueoperation_1aa9b85e531cedaa9185965fad534d01e9}

publicaccount_id_typeissue_to_account {#structgraphene_1_1chain_1_1assetissueoperation_1ad3a442dc3ec8a370bdaed13f7b286852}

public optional<memo_data>memo {#structgraphene_1_1chain_1_1assetissueoperation_1a29eed183223fc44098abec0372ebcdbc}

user provided data encrypted to the memo key of the "to" account

publicextensions_typeextensions {#structgraphene_1_1chain_1_1assetissueoperation_1ade42d5033eab51a635890f0600579a23}

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1assetissueoperation_1a2305d290b4db0865a892d9f583425551}

public voidvalidate() const {#structgraphene_1_1chain_1_1assetissueoperation_1aabac3bb8c8d4716a57a3829fec634d93}

publicshare_typecalculate_fee(constfee_parameters_type& k) const {#structgraphene_1_1chain_1_1assetissueoperation_1a57dfd1647adabb2144aa9eedcacec617}

struct graphene::chain::update_user_issued_asset_operation {#structgraphene_1_1chain_1_1updateuserissuedassetoperation}

struct graphene::chain::update_user_issued_asset_operation
  : public graphene::chain::base_operation

Update the options specific to a user issued asset.

There are a number of options which all assets in the network use. These options are enumerated in the asset_options struct. This operation is used to update these options for an existing asset.

issuer SHALL be an existing account and MUST match asset_object::issuer on asset_to_update

fee SHALL be nonnegative, and issuer MUST have a sufficient balance to pay it

new_options SHALL be internally consistent, as verified by validate()

asset_to_update will have options matching those of new_options

Summary

Members Descriptions
publicassetfee
publicaccount_id_typeissuer
publicasset_id_typeasset_to_update
public stringnew_description
public optional<account_id_type>new_issuer If the asset is to be given a new issuer, specify his ID here.
public uint64_tmax_supply
publicpricecore_exchange_rate
public boolis_exchangeable True to allow implicit conversion of this asset to/from core asset.
publicextensions_typeextensions
public inlineaccount_id_typefee_payer() const
public voidvalidate() const

Members

publicassetfee {#structgraphene_1_1chain_1_1updateuserissuedassetoperation_1a2883adc5fa20d6d5474074b98bee2364}

publicaccount_id_typeissuer {#structgraphene_1_1chain_1_1updateuserissuedassetoperation_1a79370a8e768ca8c4bf9342fbfb17ff32}

publicasset_id_typeasset_to_update {#structgraphene_1_1chain_1_1updateuserissuedassetoperation_1a1cb82a3a69180910d563fbc2db93859f}

public stringnew_description {#structgraphene_1_1chain_1_1updateuserissuedassetoperation_1abdf458c0a43440daba00d56b1d3865ed}

public optional<account_id_type>new_issuer {#structgraphene_1_1chain_1_1updateuserissuedassetoperation_1a17b2a21f398f216a0025dddcf0fec4b1}

If the asset is to be given a new issuer, specify his ID here.

public uint64_tmax_supply {#structgraphene_1_1chain_1_1updateuserissuedassetoperation_1a021ccf66eec9923f1cd8088f97904203}

publicpricecore_exchange_rate {#structgraphene_1_1chain_1_1updateuserissuedassetoperation_1a5a152be974ea282a7d6df1c34690fbdf}

public boolis_exchangeable {#structgraphene_1_1chain_1_1updateuserissuedassetoperation_1add7c3024b3613b50a757728d3667298e}

True to allow implicit conversion of this asset to/from core asset.

publicextensions_typeextensions {#structgraphene_1_1chain_1_1updateuserissuedassetoperation_1a62cbabd695842d88f57169cb498397d5}

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1updateuserissuedassetoperation_1a25c93eb3bbf07de7b3dc5917a7e6bea7}

public voidvalidate() const {#structgraphene_1_1chain_1_1updateuserissuedassetoperation_1ac3b2bf4424952f9b2b0bdc1fa878bdb6}

struct graphene::chain::asset_fund_pools_operation {#structgraphene_1_1chain_1_1assetfundpools__operation}

struct graphene::chain::asset_fund_pools_operation
  : public graphene::chain::base_operation

Summary

Members Descriptions
publicassetfee core asset
publicaccount_id_typefrom_account
publicassetuia_asset this asset
publicassetdct_asset core asset
publicextensions_typeextensions
public inlineaccount_id_typefee_payer() const
public voidvalidate() const

Members

publicassetfee {#structgraphene_1_1chain_1_1assetfundpools__operation_1aefda32bcfd6ee678b6226ee3f87b0ed7}

core asset

publicaccount_id_typefrom_account {#structgraphene_1_1chain_1_1assetfundpools__operation_1ac3f8a24e746d24fa41346bf55f7e5c51}

publicassetuia_asset {#structgraphene_1_1chain_1_1assetfundpools__operation_1ade903dba9acde2fd960eb07b9eb2888e}

this asset

publicassetdct_asset {#structgraphene_1_1chain_1_1assetfundpools__operation_1ae426dded91d54641689b4a00bd947c0e}

core asset

publicextensions_typeextensions {#structgraphene_1_1chain_1_1assetfundpools__operation_1ad3749a2bcb3a690656b7022f5451066c}

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1assetfundpools__operation_1ab96267a5ae1c7aeb0c873b581c131d78}

public voidvalidate() const {#structgraphene_1_1chain_1_1assetfundpools__operation_1ab0bf57bc4f8074f800e7c56c9fe73870}

struct graphene::chain::asset_reserve_operation {#structgraphene_1_1chain_1_1assetreserveoperation}

struct graphene::chain::asset_reserve_operation
  : public graphene::chain::base_operation

used to take an asset out of circulation, returning to the issuer

You cannot use this operation on market-issued assets.

Summary

Members Descriptions
publicassetfee
publicaccount_id_typepayer
publicassetamount_to_reserve
publicextensions_typeextensions
public inlineaccount_id_typefee_payer() const
public voidvalidate() const

Members

publicassetfee {#structgraphene_1_1chain_1_1assetreserveoperation_1ab09c92630daca907bb9f56c080d48cda}

publicaccount_id_typepayer {#structgraphene_1_1chain_1_1assetreserveoperation_1a5108d1c8c02a9a7c65c129689d02edac}

publicassetamount_to_reserve {#structgraphene_1_1chain_1_1assetreserveoperation_1a538750398d1198dc3d508e0536ce0ac6}

publicextensions_typeextensions {#structgraphene_1_1chain_1_1assetreserveoperation_1a62358b4a804f9951a1354c86f5f6011f}

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1assetreserveoperation_1a9129325831dfd7014054162f5ab407ed}

public voidvalidate() const {#structgraphene_1_1chain_1_1assetreserveoperation_1aaa8bf21ee6aaa9fec46a3a879e26240e}

struct graphene::chain::update_monitored_asset_operation {#structgraphene_1_1chain_1_1updatemonitoredasset__operation}

struct graphene::chain::update_monitored_asset_operation
  : public graphene::chain::base_operation

Update options common to monitored assets

There are a number of options which all assets in the network use. These options are enumerated in the asset_options struct. This operation is used to update these options for an existing asset.

issuer SHALL be an existing account and MUST match asset_object::issuer on asset_to_update

fee SHALL be nonnegative, and issuer MUST have a sufficient balance to pay it

new_options SHALL be internally consistent, as verified by validate()

asset_to_update will have options matching those of new_options

Summary

Members Descriptions
publicassetfee
publicaccount_id_typeissuer
publicasset_id_typeasset_to_update
public stringnew_description
public uint32_tnew_feed_lifetime_sec Time before a price feed expires.
public uint8_tnew_minimum_feeds Minimum number of unexpired feeds required to extract a median feed from.
publicextensions_typeextensions
public inlineupdate_monitored_asset_operation()
public inlineaccount_id_typefee_payer() const
public voidvalidate() const

Members

publicassetfee {#structgraphene_1_1chain_1_1updatemonitoredasset__operation_1a4d3e3b0cbd8f1df5bec7e36709cc0996}

publicaccount_id_typeissuer {#structgraphene_1_1chain_1_1updatemonitoredasset__operation_1a8a67260a57bc00e650e00fe79e3cd240}

publicasset_id_typeasset_to_update {#structgraphene_1_1chain_1_1updatemonitoredasset__operation_1afc2508c76c97a63ca08f38928f52c6e7}

public stringnew_description {#structgraphene_1_1chain_1_1updatemonitoredasset__operation_1af259b6fea89a6f6ba503394eb42afcb5}

public uint32_tnew_feed_lifetime_sec {#structgraphene_1_1chain_1_1updatemonitoredasset__operation_1a0d396b57dc4c4ffaede55eba078dab15}

Time before a price feed expires.

public uint8_tnew_minimum_feeds {#structgraphene_1_1chain_1_1updatemonitoredasset__operation_1ab09bff5060c7538c7a2b231a62085665}

Minimum number of unexpired feeds required to extract a median feed from.

publicextensions_typeextensions {#structgraphene_1_1chain_1_1updatemonitoredasset__operation_1a2420e66b80f646bec1f57e6e52fbd0df}

public inlineupdate_monitored_asset_operation() {#structgraphene_1_1chain_1_1updatemonitoredasset__operation_1ad0af3c04c67542ae4f52ef25b8f401f8}

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1updatemonitoredasset__operation_1aa71d9b8c25081a771ffc0feaf6935742}

public voidvalidate() const {#structgraphene_1_1chain_1_1updatemonitoredasset__operation_1abb3420e0caccc970280fc6f07ecdbdff}

struct graphene::chain::asset_publish_feed_operation {#structgraphene_1_1chain_1_1assetpublishfeed__operation}

struct graphene::chain::asset_publish_feed_operation
  : public graphene::chain::base_operation

Publish price feeds for market-issued assets

Price feed providers use this operation to publish their price feeds for market-issued assets. A price feed is used to tune the market for a particular market-issued asset. For each value in the feed, the median across all committee_member feeds for that asset is calculated and the market for the asset is configured with the median of that value.

The feed in the operation contains three prices: a call price limit, a short price limit, and a settlement price. The call limit price is structured as (collateral asset) / (debt asset) and the short limit price is structured as (asset for sale) / (collateral asset). Note that the asset IDs are opposite to eachother, so if we're publishing a feed for USD, the call limit price will be CORE/USD and the short limit price will be USD/CORE. The settlement price may be flipped either direction, as long as it is a ratio between the market-issued asset and its collateral.

Summary

Members Descriptions
publicassetfee paid for by publisher
publicaccount_id_typepublisher
publicasset_id_typeasset_id asset for which the feed is published
publicprice_feedfeed
publicextensions_typeextensions
public inlineaccount_id_typefee_payer() const
public voidvalidate() const

Members

publicassetfee {#structgraphene_1_1chain_1_1assetpublishfeed__operation_1aa9f9b165311e53b57dc7908d6a7f4508}

paid for by publisher

publicaccount_id_typepublisher {#structgraphene_1_1chain_1_1assetpublishfeed__operation_1a620fae33c63581869bdec733e41d3b31}

publicasset_id_typeasset_id {#structgraphene_1_1chain_1_1assetpublishfeed__operation_1ab2f81f712ae704c2243636442043c7b3}

asset for which the feed is published

publicprice_feedfeed {#structgraphene_1_1chain_1_1assetpublishfeed__operation_1a87ae35eb8c75ca98ed70ddad9c606b06}

publicextensions_typeextensions {#structgraphene_1_1chain_1_1assetpublishfeed__operation_1a88dd0e60d25a95536b44bd44a04f56ff}

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1assetpublishfeed__operation_1a572b1ac0c4a74fb5eeff95ba22f55424}

public voidvalidate() const {#structgraphene_1_1chain_1_1assetpublishfeed__operation_1a934e973270a71502005076c4bde3531c}

struct graphene::chain::void_result {#structgraphene_1_1chain_1_1void__result}

Summary

Members Descriptions

Members

struct graphene::chain::base_operation {#structgraphene_1_1chain_1_1base__operation}

Summary

Members Descriptions
public template<typename T>
inlineshare_typecalculate_fee(const T & params) const
public inline voidget_required_authorities(vector<authority> &) const
public inline voidget_required_active_authorities(flat_set<account_id_type> &) const
public inline voidget_required_owner_authorities(flat_set<account_id_type> &) const
public inline voidvalidate() const

Members

public template<typename T>
inlineshare_typecalculate_fee(const T & params) const {#structgraphene_1_1chain_1_1base__operation_1a18b678eb05bc5b30d75f10b398c07a91}

public inline voidget_required_authorities(vector<authority> &) const {#structgraphene_1_1chain_1_1base__operation_1ac7e2861a01bbaef8fbe5c5dcf5e73b38}

public inline voidget_required_active_authorities(flat_set<account_id_type> &) const {#structgraphene_1_1chain_1_1base__operation_1a1d398b2f68e1dca5f453b86655a64c41}

public inline voidget_required_owner_authorities(flat_set<account_id_type> &) const {#structgraphene_1_1chain_1_1base__operation_1aff6e2d2b66117c8c87f6a6e7e7ddba1f}

public inline voidvalidate() const {#structgraphene_1_1chain_1_1base__operation_1a0ebbd0b4de5186e51b98d7e6a76a64bc}

struct graphene::chain::custom_operation {#structgraphene_1_1chain_1_1custom__operation}

struct graphene::chain::custom_operation
  : public graphene::chain::base_operation

provides a generic way to add higher level protocols on top of miner consensus

There is no validation for this operation other than that required auths are valid and a fee is paid that is appropriate for the data contained.

Summary

Members Descriptions
publicassetfee
publicaccount_id_typepayer
public flat_set<account_id_type>required_auths
public uint16_tid
public vector< char >data
public inlineaccount_id_typefee_payer() const
public voidvalidate() const
publicshare_typecalculate_fee(constfee_parameters_type& k) const
public inline voidget_messaging_payload(message_payload& pl) const
public inline voidset_messaging_payload(constmessage_payload& pl)

Members

publicassetfee {#structgraphene_1_1chain_1_1custom__operation_1ab003ab9311def18ea76c4b7a0c37fb5e}

publicaccount_id_typepayer {#structgraphene_1_1chain_1_1custom__operation_1a79af14457460a5ef1e71cca4c2019210}

public flat_set<account_id_type>required_auths {#structgraphene_1_1chain_1_1custom__operation_1a729a0de38636ba0875dbe3d5b8244e91}

public uint16_tid {#structgraphene_1_1chain_1_1custom__operation_1aff4c0559b1bb9c1d21dc77fbb2e8cbf5}

public vector< char >data {#structgraphene_1_1chain_1_1custom__operation_1a40d2e8641c1711f701f719ee3c2732eb}

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1custom__operation_1a834ea2aa5fd1a16c6a0893e043615147}

public voidvalidate() const {#structgraphene_1_1chain_1_1custom__operation_1a3e49981f47ca669a352ef165089c385e}

publicshare_typecalculate_fee(constfee_parameters_type& k) const {#structgraphene_1_1chain_1_1custom__operation_1acaaf2808e4011e0b6c0373ba6ecb191c}

public inline voidget_messaging_payload(message_payload& pl) const {#structgraphene_1_1chain_1_1custom__operation_1ab0ded6a2f310b1db8252256e6e5d549e}

public inline voidset_messaging_payload(constmessage_payload& pl) {#structgraphene_1_1chain_1_1custom__operation_1a98bcd9cf09f7dfd5e760f85775ba2629}

struct graphene::chain::set_publishing_manager_operation {#structgraphene_1_1chain_1_1setpublishingmanager__operation}

struct graphene::chain::set_publishing_manager_operation
  : public graphene::chain::base_operation

This operation is used to promote account to publishing manager. Such an account can grant or remove right to publish a content. Only DECENT account has permission to use this method.

Summary

Members Descriptions
publicassetfee
publicaccount_id_typefrom
public vector<account_id_type>to
public boolcan_create_publishers
public inlineaccount_id_typefee_payer() const
public voidvalidate() const
public inline voidget_required_active_authorities(flat_set<account_id_type> & a) const

Members

publicassetfee {#structgraphene_1_1chain_1_1setpublishingmanager__operation_1ae10cdd58ae02e2dc7055c1a29aa36296}

publicaccount_id_typefrom {#structgraphene_1_1chain_1_1setpublishingmanager__operation_1a37cee6583b1584657fc285f7996fccb9}

public vector<account_id_type>to {#structgraphene_1_1chain_1_1setpublishingmanager__operation_1a91299ff8f8c556c16ae39f3b50a4c019}

public boolcan_create_publishers {#structgraphene_1_1chain_1_1setpublishingmanager__operation_1ad31cc2808f329c8618fdd9f96d501d3f}

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1setpublishingmanager__operation_1aa7a1fa4ffea26864184e584eaffe00a6}

public voidvalidate() const {#structgraphene_1_1chain_1_1setpublishingmanager__operation_1a42bed4a5e4ea00f5d414b39983b892ce}

public inline voidget_required_active_authorities(flat_set<account_id_type> & a) const {#structgraphene_1_1chain_1_1setpublishingmanager__operation_1ab67a78d4cd9d50d751c7c1dbc6f5d864}

struct graphene::chain::set_publishing_right_operation {#structgraphene_1_1chain_1_1setpublishingright__operation}

struct graphene::chain::set_publishing_right_operation
  : public graphene::chain::base_operation

Allows account to publish a content. Only account with publishing manager status has permission to use this method.

Summary

Members Descriptions
publicassetfee
publicaccount_id_typefrom
public vector<account_id_type>to
public boolis_publisher
public inlineaccount_id_typefee_payer() const
public voidvalidate() const

Members

publicassetfee {#structgraphene_1_1chain_1_1setpublishingright__operation_1ade9f17a788e41561e587fd82a1142913}

publicaccount_id_typefrom {#structgraphene_1_1chain_1_1setpublishingright__operation_1aed8682e89c61c0ff0fa47b8568a06f38}

public vector<account_id_type>to {#structgraphene_1_1chain_1_1setpublishingright__operation_1a1daf9674d72c4d37cb4b58db7dd2e0b7}

public boolis_publisher {#structgraphene_1_1chain_1_1setpublishingright__operation_1a7c66f3a5c662910d49e4aa3246a216e6}

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1setpublishingright__operation_1aa2145e6bfb86e897aa5b991d0e78570d}

public voidvalidate() const {#structgraphene_1_1chain_1_1setpublishingright__operation_1a2d0f684466348a5cb42e445651bbfca9}

struct graphene::chain::content_submit_operation {#structgraphene_1_1chain_1_1contentsubmitoperation}

struct graphene::chain::content_submit_operation
  : public graphene::chain::base_operation

Submits content to the blockchain.

Summary

Members Descriptions
publicassetfee
publicaccount_id_typeauthor author of the content. If co-authors is not filled, this account will receive full payout
public map<account_id_type, uint32_t >co_authors Optional parameter. If map is not empty, payout will be splitted - the parameter maps co-authors to basis points split, e.g. author1:9000 (bp), auhtor2:1000 (bp)
public stringURI URI where the content can be found.
public vector<regional_price>price list of regional prices
public uint64_tsize Size of content, including samples, in megabytes.
public fc::ripemd160hash hash of the content
public vector<account_id_type>seeders List of selected seeders.
public vector<ciphertext_type>key_parts Key particles, each assigned to one of the seeders, encrypted with his key
public uint32_tquorum Defines number of seeders needed to restore the encryption key.
public fc::time_point_secexpiration
publicassetpublishing_fee Fee must be greater than the sum of seeders' publishing prices * number of days. Is paid by author.
public stringsynopsis JSON formatted structure containing content information.
public optional<custody_data_type>cd if cd.n == 0 then no custody is submitted, and simplified verification is done.
public inlineaccount_id_typefee_payer() const
public voidvalidate() const

Members

publicassetfee {#structgraphene_1_1chain_1_1contentsubmitoperation_1af166ba014de3e54b3335d186404e047f}

publicaccount_id_typeauthor {#structgraphene_1_1chain_1_1contentsubmitoperation_1ac561cf2481a61107f60ee499d21f67da}

author of the content. If co-authors is not filled, this account will receive full payout

public map<account_id_type, uint32_t >co_authors {#structgraphene_1_1chain_1_1contentsubmitoperation_1ac3d7948a5ea331dd98cf187a398d71af}

Optional parameter. If map is not empty, payout will be splitted - the parameter maps co-authors to basis points split, e.g. author1:9000 (bp), auhtor2:1000 (bp)

public stringURI {#structgraphene_1_1chain_1_1contentsubmitoperation_1ad84b860afcd08db2700c61882d2bccc3}

URI where the content can be found.

public vector<regional_price>price {#structgraphene_1_1chain_1_1contentsubmitoperation_1af4a051f53aac6827c2887d2114a0a736}

list of regional prices

public uint64_tsize {#structgraphene_1_1chain_1_1contentsubmitoperation_1a790f481aaa77c95609f262af2706c88b}

Size of content, including samples, in megabytes.

public fc::ripemd160hash {#structgraphene_1_1chain_1_1contentsubmitoperation_1a5036893545c7327fafaf72f426363b8c}

hash of the content

public vector<account_id_type>seeders {#structgraphene_1_1chain_1_1contentsubmitoperation_1a854e64e593c033af57aaeb45101ebbd7}

List of selected seeders.

public vector<ciphertext_type>key_parts {#structgraphene_1_1chain_1_1contentsubmitoperation_1aefe6fe30ccc81049fe4626900b870039}

Key particles, each assigned to one of the seeders, encrypted with his key

public uint32_tquorum {#structgraphene_1_1chain_1_1contentsubmitoperation_1acbf17fa9e807dbee70e8f466e8a295d8}

Defines number of seeders needed to restore the encryption key.

How many seeders needs to cooperate to recover the key

public fc::time_point_secexpiration {#structgraphene_1_1chain_1_1contentsubmitoperation_1a9272030ab8d91c0c3174fac4549357a0}

publicassetpublishing_fee {#structgraphene_1_1chain_1_1contentsubmitoperation_1a58c995ad3b75562880240d1eaa86148e}

Fee must be greater than the sum of seeders' publishing prices * number of days. Is paid by author.

public stringsynopsis {#structgraphene_1_1chain_1_1contentsubmitoperation_1a2f34ef7ac4a78e2ac99b6a572e773bd5}

JSON formatted structure containing content information.

public optional<custody_data_type>cd {#structgraphene_1_1chain_1_1contentsubmitoperation_1ab46ff40d23642c629522fe1658016e76}

if cd.n == 0 then no custody is submitted, and simplified verification is done.

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1contentsubmitoperation_1a7858d4b7e1aab7771321052264d06fed}

public voidvalidate() const {#structgraphene_1_1chain_1_1contentsubmitoperation_1add55113267ad168c43ff308d40ef98ef}

struct graphene::chain::content_cancellation_operation {#structgraphene_1_1chain_1_1contentcancellationoperation}

struct graphene::chain::content_cancellation_operation
  : public graphene::chain::base_operation

This operation is used to cancel submitted content.

Summary

Members Descriptions
publicassetfee
publicaccount_id_typeauthor
public stringURI
public inlineaccount_id_typefee_payer() const
public inline voidvalidate() const

Members

publicassetfee {#structgraphene_1_1chain_1_1contentcancellationoperation_1a5042661f7e60d0046c39b0d3c29f8770}

publicaccount_id_typeauthor {#structgraphene_1_1chain_1_1contentcancellationoperation_1a8f5e9c641733dcbe79d9a2cce345ae31}

public stringURI {#structgraphene_1_1chain_1_1contentcancellationoperation_1a3f4dc25bd79140aae18ba6fcc1c01aa0}

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1contentcancellationoperation_1a3b88996f7df86365805221172d023295}

public inline voidvalidate() const {#structgraphene_1_1chain_1_1contentcancellationoperation_1aefc76779d52dd32871c16e93b2325ed4}

struct graphene::chain::request_to_buy_operation {#structgraphene_1_1chain_1_1requesttobuy__operation}

struct graphene::chain::request_to_buy_operation
  : public graphene::chain::base_operation

This operation is used to send a request to buy a content.

Summary

Members Descriptions
publicassetfee
public stringURI Reference to the content beuing bought.
publicaccount_id_typeconsumer Who is buying (and paying)
publicassetprice Has to be equal or greater than the price defined in content.
public uint32_tregion_code_from Location of the consumer.
publicbigint_typepubKey Consumer's public key.
public inlineaccount_id_typefee_payer() const
public voidvalidate() const

Members

publicassetfee {#structgraphene_1_1chain_1_1requesttobuy__operation_1a5d28871808631ca1128b9fc6b7686902}

public stringURI {#structgraphene_1_1chain_1_1requesttobuy__operation_1af69b716378bd2874b9b269822d703d61}

Reference to the content beuing bought.

publicaccount_id_typeconsumer {#structgraphene_1_1chain_1_1requesttobuy__operation_1a9979798527dd52aa58215e5c1445e6d2}

Who is buying (and paying)

publicassetprice {#structgraphene_1_1chain_1_1requesttobuy__operation_1a3af2df74b0a7ffad063c1c2ab71f98c6}

Has to be equal or greater than the price defined in content.

public uint32_tregion_code_from {#structgraphene_1_1chain_1_1requesttobuy__operation_1ac88e4bcc350c14261451acb3a01b1486}

Location of the consumer.

publicbigint_typepubKey {#structgraphene_1_1chain_1_1requesttobuy__operation_1a4b473bc2d8a6798dfaad8bcdbd5b8c35}

Consumer's public key.

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1requesttobuy__operation_1a84981066d0d39cbea79c36a586813405}

public voidvalidate() const {#structgraphene_1_1chain_1_1requesttobuy__operation_1a691493ed16d3872b6d50031c12f61964}

struct graphene::chain::leave_rating_and_comment_operation {#structgraphene_1_1chain_1_1leaveratingandcommentoperation}

struct graphene::chain::leave_rating_and_comment_operation
  : public graphene::chain::base_operation

Rates a content.

Summary

Members Descriptions
publicassetfee
public stringURI
publicaccount_id_typeconsumer
public uint64_trating 1-5 stars
public stringcomment
public inlineaccount_id_typefee_payer() const DECENT_MAX_COMMENT_SIZE.
public voidvalidate() const

Members

publicassetfee {#structgraphene_1_1chain_1_1leaveratingandcommentoperation_1a39cba3c00809c1ca734966bfd2b10aba}

public stringURI {#structgraphene_1_1chain_1_1leaveratingandcommentoperation_1afb8c5fed97d4be4998115b4cc62e5533}

publicaccount_id_typeconsumer {#structgraphene_1_1chain_1_1leaveratingandcommentoperation_1abe8dae0514280cb7d97fce6414de82ba}

public uint64_trating {#structgraphene_1_1chain_1_1leaveratingandcommentoperation_1abd5710d778839edca4491fc35f833fb4}

1-5 stars

public stringcomment {#structgraphene_1_1chain_1_1leaveratingandcommentoperation_1a9867ef1da1e59f92f7f9876969f47d38}

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1leaveratingandcommentoperation_1a83d21384c616d78a550b5708ba3463d2}

DECENT_MAX_COMMENT_SIZE.

public voidvalidate() const {#structgraphene_1_1chain_1_1leaveratingandcommentoperation_1a5a2f05edf3b37a967aa3e7edec9b2810}

struct graphene::chain::ready_to_publish_operation {#structgraphene_1_1chain_1_1readytopublish__operation}

struct graphene::chain::ready_to_publish_operation
  : public graphene::chain::base_operation

This operation is used to register a new seeder, modify the existing seeder or to extend seeder's lifetime.

Summary

Members Descriptions
publicassetfee
publicaccount_id_typeseeder
publicbigint_typepubKey
public uint64_tspace Available space on seeder's disc dedicated to contents, in MBs.
public uint32_tprice_per_MByte The price charged to author for seeding 1 MB per day.
public stringipfs_ID
public inlineaccount_id_typefee_payer() const
public voidvalidate() const

Members

publicassetfee {#structgraphene_1_1chain_1_1readytopublish__operation_1a747deb4fa23e5d75606fdbd4626a47f4}

publicaccount_id_typeseeder {#structgraphene_1_1chain_1_1readytopublish__operation_1a642613a731e04d366d8faf47c3addccf}

publicbigint_typepubKey {#structgraphene_1_1chain_1_1readytopublish__operation_1a8ec7bc8586979763c779d61331c274e8}

public uint64_tspace {#structgraphene_1_1chain_1_1readytopublish__operation_1a4f4baecbdb1fb5eee3136e76f8bfaa7d}

Available space on seeder's disc dedicated to contents, in MBs.

public uint32_tprice_per_MByte {#structgraphene_1_1chain_1_1readytopublish__operation_1a2c1308ea5c9df7393c27565864361407}

The price charged to author for seeding 1 MB per day.

public stringipfs_ID {#structgraphene_1_1chain_1_1readytopublish__operation_1a8bcc2a133f2f4c3cdb818baa410b5e7a}

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1readytopublish__operation_1a13223e4d70a22c7daa899c607c979636}

public voidvalidate() const {#structgraphene_1_1chain_1_1readytopublish__operation_1a695e1ac8f08dd094275836c4d13cf357}

struct graphene::chain::ready_to_publish2_operation {#structgraphene_1_1chain_1_1readytopublish2__operation}

struct graphene::chain::ready_to_publish2_operation
  : public graphene::chain::base_operation

This operation is used to register a new seeder, modify the existing seeder or to extend seeder's lifetime.

Summary

Members Descriptions
publicassetfee
publicaccount_id_typeseeder
publicbigint_typepubKey
public uint64_tspace Available space on seeder's disc dedicated to contents, in MBs.
public uint32_tprice_per_MByte The price charged to author for seeding 1 MB per day.
public stringipfs_ID
public optional< string >region_code Optional ISO 3166-1 alpha-2 two-letter region code.
publicextensions_typeextensions
public inlineaccount_id_typefee_payer() const
public voidvalidate() const

Members

publicassetfee {#structgraphene_1_1chain_1_1readytopublish2__operation_1ad63e4b5fe5435ebdff2dbe9e3c8a5016}

publicaccount_id_typeseeder {#structgraphene_1_1chain_1_1readytopublish2__operation_1aefdb32079fbb6e71343a6c49f250ae65}

publicbigint_typepubKey {#structgraphene_1_1chain_1_1readytopublish2__operation_1a0183670f08535776ea272d9c5ed867fb}

public uint64_tspace {#structgraphene_1_1chain_1_1readytopublish2__operation_1a3021544c429e96e8a9c4fa88fa98434c}

Available space on seeder's disc dedicated to contents, in MBs.

public uint32_tprice_per_MByte {#structgraphene_1_1chain_1_1readytopublish2__operation_1aa0fc51f6bd9697cf4d97931c552b7431}

The price charged to author for seeding 1 MB per day.

public stringipfs_ID {#structgraphene_1_1chain_1_1readytopublish2__operation_1a17f8cb6623dbbdd8a06c098cd0c14278}

public optional< string >region_code {#structgraphene_1_1chain_1_1readytopublish2__operation_1a8d925787793d4233d99b9b444d7b8cba}

Optional ISO 3166-1 alpha-2 two-letter region code.

publicextensions_typeextensions {#structgraphene_1_1chain_1_1readytopublish2__operation_1a947a499739fb2944cf751e63120a7acd}

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1readytopublish2__operation_1aa726c03724efaf568d4e892c139aea60}

public voidvalidate() const {#structgraphene_1_1chain_1_1readytopublish2__operation_1a86b3927ca58c6d1194446353e3844dfe}

struct graphene::chain::proof_of_custody_operation {#structgraphene_1_1chain_1_1proofofcustody__operation}

struct graphene::chain::proof_of_custody_operation
  : public graphene::chain::base_operation

Seeders have to periodically prove that they hold the content.

Summary

Members Descriptions
publicassetfee
publicaccount_id_typeseeder
public stringURI
public fc::optional<custody_proof_type>proof
public inlineaccount_id_typefee_payer() const
public voidvalidate() const

Members

publicassetfee {#structgraphene_1_1chain_1_1proofofcustody__operation_1a5ad86a794af032503328494a18524f5f}

publicaccount_id_typeseeder {#structgraphene_1_1chain_1_1proofofcustody__operation_1adff8c4498573f4e10d333ea145939075}

public stringURI {#structgraphene_1_1chain_1_1proofofcustody__operation_1af775b7c14d19317bc6d9a25c16830731}

public fc::optional<custody_proof_type>proof {#structgraphene_1_1chain_1_1proofofcustody__operation_1a30c186528d7a648598e09d37de0badc3}

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1proofofcustody__operation_1a6a260e3181a4be58427fcb17c2e94938}

public voidvalidate() const {#structgraphene_1_1chain_1_1proofofcustody__operation_1a22c4fb3b9360bbceb41ee60a80cdc52e}

struct graphene::chain::deliver_keys_operation {#structgraphene_1_1chain_1_1deliverkeysoperation}

struct graphene::chain::deliver_keys_operation
  : public graphene::chain::base_operation

This operation is used to send encrypted share of a content and proof of delivery to consumer.

Summary

Members Descriptions
publicassetfee
publicaccount_id_typeseeder
publicbuying_id_typebuying
publicdelivery_proof_typeproof
publicciphertext_typekey
public inlineaccount_id_typefee_payer() const
public voidvalidate() const

Members

publicassetfee {#structgraphene_1_1chain_1_1deliverkeysoperation_1a2f788f030d56ccf82ba5421727dd455f}

publicaccount_id_typeseeder {#structgraphene_1_1chain_1_1deliverkeysoperation_1a9580bc1326faeedab5263e9322020c1b}

publicbuying_id_typebuying {#structgraphene_1_1chain_1_1deliverkeysoperation_1ac28359fc366ba3513d3ed8fca36eae88}

publicdelivery_proof_typeproof {#structgraphene_1_1chain_1_1deliverkeysoperation_1af237abc65d09ccda2f78c34c066e593c}

publicciphertext_typekey {#structgraphene_1_1chain_1_1deliverkeysoperation_1a3be7e9a5f4d3d89c7d5e67ea9ffa07e5}

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1deliverkeysoperation_1adfa750fef93eeddd930b867127fa8ab6}

public voidvalidate() const {#structgraphene_1_1chain_1_1deliverkeysoperation_1aaeea3e05517cd7b6d6444805cde3d0bb}

struct graphene::chain::return_escrow_submission_operation {#structgraphene_1_1chain_1_1returnescrowsubmission__operation}

struct graphene::chain::return_escrow_submission_operation
  : public graphene::chain::base_operation

This is a virtual operation emitted for the purpose of returning escrow to author.

Summary

Members Descriptions
publicassetfee
publicaccount_id_typeauthor
publicassetescrow
publiccontent_id_typecontent
public inlineaccount_id_typefee_payer() const
public inline voidvalidate() const

Members

publicassetfee {#structgraphene_1_1chain_1_1returnescrowsubmission__operation_1aa2c71d5d459a5a16cc7c3b963496bd94}

publicaccount_id_typeauthor {#structgraphene_1_1chain_1_1returnescrowsubmission__operation_1a0e20977aeda5e58cb6987657c983c4c1}

publicassetescrow {#structgraphene_1_1chain_1_1returnescrowsubmission__operation_1a75ab5f27d8782d8e176419af0a701b31}

publiccontent_id_typecontent {#structgraphene_1_1chain_1_1returnescrowsubmission__operation_1aa8aaf07c14e344e099216890011d54c6}

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1returnescrowsubmission__operation_1a3cd749ea5bd6c30b175729bf2e347bf6}

public inline voidvalidate() const {#structgraphene_1_1chain_1_1returnescrowsubmission__operation_1a9b39e82becb19e049c1b18dacca2a980}

struct graphene::chain::return_escrow_buying_operation {#structgraphene_1_1chain_1_1returnescrowbuying__operation}

struct graphene::chain::return_escrow_buying_operation
  : public graphene::chain::base_operation

This is a virtual operation emitted for the purpose of returning escrow to consumer.

Summary

Members Descriptions
publicassetfee
publicaccount_id_typeconsumer
publicassetescrow
publicbuying_id_typebuying
public inlineaccount_id_typefee_payer() const
public inline voidvalidate() const

Members

publicassetfee {#structgraphene_1_1chain_1_1returnescrowbuying__operation_1a2911bcbcc419477e0c49d99c6a015088}

publicaccount_id_typeconsumer {#structgraphene_1_1chain_1_1returnescrowbuying__operation_1a5c5e30373f0fcb32b8a1bb55af724cde}

publicassetescrow {#structgraphene_1_1chain_1_1returnescrowbuying__operation_1a02606fc80f0e072363064824ed305fa9}

publicbuying_id_typebuying {#structgraphene_1_1chain_1_1returnescrowbuying__operation_1aba91b99bb9cdafdc7dcf4ee16b201677}

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1returnescrowbuying__operation_1a8b84cecee2984a3c569004690aab04cb}

public inline voidvalidate() const {#structgraphene_1_1chain_1_1returnescrowbuying__operation_1a0e6ed73a5af626ef32c0b9383539d299}

struct graphene::chain::report_stats_operation {#structgraphene_1_1chain_1_1reportstatsoperation}

struct graphene::chain::report_stats_operation
  : public graphene::chain::base_operation

This operation is used to report stats. These stats are later used to rate seeders.

Summary

Members Descriptions
publicassetfee
public map<account_id_type, uint64_t >stats Map of seeders to amount they uploaded.
publicaccount_id_typeconsumer
public inlineaccount_id_typefee_payer() const
public voidvalidate() const

Members

publicassetfee {#structgraphene_1_1chain_1_1reportstatsoperation_1ab206f658247050249232c12bb19c05da}

public map<account_id_type, uint64_t >stats {#structgraphene_1_1chain_1_1reportstatsoperation_1a307868b69553b189cb7f6631f0156d88}

Map of seeders to amount they uploaded.

publicaccount_id_typeconsumer {#structgraphene_1_1chain_1_1reportstatsoperation_1aaa54adc182a4eaffb0fd7044209bcab2}

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1reportstatsoperation_1abd1ec2013db3a3939809373b6d5e2d4a}

public voidvalidate() const {#structgraphene_1_1chain_1_1reportstatsoperation_1a4d9baa4673f8df9ca9b1d9e06e72ec33}

struct graphene::chain::pay_seeder_operation {#structgraphene_1_1chain_1_1payseederoperation}

struct graphene::chain::pay_seeder_operation
  : public graphene::chain::base_operation

This is a virtual operation.

Summary

Members Descriptions
publicassetfee
publicassetpayout
publicaccount_id_typeauthor
publicaccount_id_typeseeder
public inlineaccount_id_typefee_payer() const
public inline voidvalidate() const

Members

publicassetfee {#structgraphene_1_1chain_1_1payseederoperation_1adfed7c46e4faddb7a21aeef424e36033}

publicassetpayout {#structgraphene_1_1chain_1_1payseederoperation_1a9b61341e0e14fde93ca0d9fc70f70be9}

publicaccount_id_typeauthor {#structgraphene_1_1chain_1_1payseederoperation_1a7a1dc9e56b3e907fbdebb67414efea14}

publicaccount_id_typeseeder {#structgraphene_1_1chain_1_1payseederoperation_1ab8be00c0549d8adee1097aee77ff24eb}

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1payseederoperation_1a445a41111259614bf4b80d80c3af5d78}

public inline voidvalidate() const {#structgraphene_1_1chain_1_1payseederoperation_1a215af1913d7d859514913f420236c450}

struct graphene::chain::finish_buying_operation {#structgraphene_1_1chain_1_1finishbuyingoperation}

struct graphene::chain::finish_buying_operation
  : public graphene::chain::base_operation

This is a virtual operation.

Summary

Members Descriptions
publicassetfee
publicassetpayout
publicaccount_id_typeauthor
public map<account_id_type, uint32_t >co_authors
publicaccount_id_typeconsumer
publicbuying_id_typebuying
public inlineaccount_id_typefee_payer() const
public inline voidvalidate() const

Members

publicassetfee {#structgraphene_1_1chain_1_1finishbuyingoperation_1a73f2d05e1913677d5d25917043003533}

publicassetpayout {#structgraphene_1_1chain_1_1finishbuyingoperation_1a759b94a3ec4171c073fec2824f62a455}

publicaccount_id_typeauthor {#structgraphene_1_1chain_1_1finishbuyingoperation_1a2207dc4f8013817d6f31edee82775e9c}

public map<account_id_type, uint32_t >co_authors {#structgraphene_1_1chain_1_1finishbuyingoperation_1a756a53554cc8bbcf18df07b293ff74b1}

publicaccount_id_typeconsumer {#structgraphene_1_1chain_1_1finishbuyingoperation_1a407ef6eaf626ec044d0e7e3533877335}

publicbuying_id_typebuying {#structgraphene_1_1chain_1_1finishbuyingoperation_1ac67c41520c6db23c1cf038a085beed0d}

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1finishbuyingoperation_1abc4d736566d127a59a828800d1f09420}

public inline voidvalidate() const {#structgraphene_1_1chain_1_1finishbuyingoperation_1af40246a8d461ba448eae9de3b81488f3}

struct graphene::chain::miner_create_operation {#structgraphene_1_1chain_1_1minercreateoperation}

struct graphene::chain::miner_create_operation
  : public graphene::chain::base_operation

Create a miner object, as a bid to hold a miner position on the network.

Accounts which wish to become miners may use this operation to create a miner object which stakeholders may vote on to approve its position as a miner.

Summary

Members Descriptions
publicassetfee
publicaccount_id_typeminer_account The account which owns the miner. This account pays the fee for this operation.
public stringurl
publicpublic_key_typeblock_signing_key
public inlineaccount_id_typefee_payer() const
public voidvalidate() const

Members

publicassetfee {#structgraphene_1_1chain_1_1minercreateoperation_1ae3b54e65a3d5b25e96879de352e4881c}

publicaccount_id_typeminer_account {#structgraphene_1_1chain_1_1minercreateoperation_1a347d6edfd45136db45dc262c34745730}

The account which owns the miner. This account pays the fee for this operation.

public stringurl {#structgraphene_1_1chain_1_1minercreateoperation_1a6a72e694b7550fdd4d73d43b4b3d5de5}

publicpublic_key_typeblock_signing_key {#structgraphene_1_1chain_1_1minercreateoperation_1a6e98e1ed3cfc08ca3e832276fe908ed9}

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1minercreateoperation_1a02fbc63716b45d04c5083c53b15c4d0a}

public voidvalidate() const {#structgraphene_1_1chain_1_1minercreateoperation_1a2d6bf258bd8e11e3df46116ef345d427}

struct graphene::chain::miner_update_operation {#structgraphene_1_1chain_1_1minerupdateoperation}

struct graphene::chain::miner_update_operation
  : public graphene::chain::base_operation

Update a miner object's URL and block signing key.

Summary

Members Descriptions
publicassetfee
publicminer_id_typeminer The miner object to update.
publicaccount_id_typeminer_account The account which owns the miner. This account pays the fee for this operation.
public optional< string >new_url The new URL.
public optional<public_key_type>new_signing_key The new block signing key.
public inlineaccount_id_typefee_payer() const
public voidvalidate() const

Members

publicassetfee {#structgraphene_1_1chain_1_1minerupdateoperation_1a1c06b75bd3ac1caeb1f517778bc18444}

publicminer_id_typeminer {#structgraphene_1_1chain_1_1minerupdateoperation_1ac9b1283a7c5304d5ea6f5462657e5d0d}

The miner object to update.

publicaccount_id_typeminer_account {#structgraphene_1_1chain_1_1minerupdateoperation_1a7e2c8190e960422108c3aae167198062}

The account which owns the miner. This account pays the fee for this operation.

public optional< string >new_url {#structgraphene_1_1chain_1_1minerupdateoperation_1a06b78dcb0ca2eac646c13fd658c05bfc}

The new URL.

public optional<public_key_type>new_signing_key {#structgraphene_1_1chain_1_1minerupdateoperation_1a0f7b4fafd016b89b15f3d46fc52efe61}

The new block signing key.

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1minerupdateoperation_1a5dcbf7c216faa6122b2fd99d75a58da9}

public voidvalidate() const {#structgraphene_1_1chain_1_1minerupdateoperation_1a7814f8f8b34d891456ea02f174b6a007}

struct graphene::chain::miner_update_global_parameters_operation {#structgraphene_1_1chain_1_1minerupdateglobalparametersoperation}

struct graphene::chain::miner_update_global_parameters_operation
  : public graphene::chain::base_operation

Used by miners to update the global parameters of the blockchain.

This operation allows the miners to update the global parameters on the blockchain. These control various tunable aspects of the chain, including block and maintenance intervals, maximum data sizes, the fees charged by the network, etc.

This operation may only be used in a proposed transaction, and a proposed transaction which contains this operation must have a review period specified in the current global parameters before it may be accepted.

Summary

Members Descriptions
publicassetfee
publicchain_parametersnew_parameters
public inlineaccount_id_typefee_payer() const
public voidvalidate() const

Members

publicassetfee {#structgraphene_1_1chain_1_1minerupdateglobalparametersoperation_1a2c1d0ac0f1e6d6d40e5a4e2581eeb8a2}

publicchain_parametersnew_parameters {#structgraphene_1_1chain_1_1minerupdateglobalparametersoperation_1a49b30419f2df557c3cd0de6ff1495199}

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1minerupdateglobalparametersoperation_1a991b095c75fb2fef0bc49cd82be53780}

public voidvalidate() const {#structgraphene_1_1chain_1_1minerupdateglobalparametersoperation_1a659bf0054ee5d126804b622cf86797ba}

struct graphene::chain::transfer_operation {#structgraphene_1_1chain_1_1transfer__operation}

struct graphene::chain::transfer_operation
  : public graphene::chain::base_operation

Transfers an amount of one asset from one account to another.

Fees are paid by the "from" account

amount.amount > 0

fee.amount >= 0

from != to

from account's balance will be reduced by fee and amount

to account's balance will be increased by amount

Returns

n/a

Summary

Members Descriptions
publicassetfee
publicaccount_id_typefrom Account to transfer asset from.
publicaccount_id_typeto Account to transfer asset to.
publicassetamount The amount of asset to transfer from from to to.
public optional<memo_data>memo User provided data encrypted to the memo key of the "to" account.
publicextensions_typeextensions
public inlineaccount_id_typefee_payer() const
public voidvalidate() const

Members

publicassetfee {#structgraphene_1_1chain_1_1transfer__operation_1abe4dae3b100e79a7e51feec5d44f138d}

publicaccount_id_typefrom {#structgraphene_1_1chain_1_1transfer__operation_1aef2ea25c2682522b5552afcc04a8b5f9}

Account to transfer asset from.

publicaccount_id_typeto {#structgraphene_1_1chain_1_1transfer__operation_1ae3341bdd125d31de62bb5e0956acad65}

Account to transfer asset to.

publicassetamount {#structgraphene_1_1chain_1_1transfer__operation_1a0f50da74901acd7af97df5eb0c9dd2bb}

The amount of asset to transfer from from to to.

public optional<memo_data>memo {#structgraphene_1_1chain_1_1transfer__operation_1a32eb9713ef1bed77a2e690170e281de2}

User provided data encrypted to the memo key of the "to" account.

publicextensions_typeextensions {#structgraphene_1_1chain_1_1transfer__operation_1ad4acf8e4541b8df4e4d5b596a5ef63f9}

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1transfer__operation_1acd4eb1aa605232a9ce2ba79255fec604}

public voidvalidate() const {#structgraphene_1_1chain_1_1transfer__operation_1a4785876e2e526ec92ece0f171cd9682d}

struct graphene::chain::vesting_balance_create_operation {#structgraphene_1_1chain_1_1vestingbalancecreate__operation}

struct graphene::chain::vesting_balance_create_operation
  : public graphene::chain::base_operation

Create a vesting balance.

The chain allows a user to create a vesting balance. Normally, vesting balances are created automatically as part of cashback and worker operations. This operation allows vesting balances to be created manually as well.

Manual creation of vesting balances can be used by a stakeholder to publicly demonstrate that they are committed to the chain. It can also be used as a building block to create transactions that function like public debt. Finally, it is useful for testing vesting balance functionality.

Returns

ID of newly created vesting_balance_object

Summary

Members Descriptions
publicassetfee
publicaccount_id_typecreator Who provides funds initially.
publicaccount_id_typeowner Who is able to withdraw the balance.
publicassetamount
publicvesting_policy_initializerpolicy
public inlineaccount_id_typefee_payer() const
public inline voidvalidate() const

Members

publicassetfee {#structgraphene_1_1chain_1_1vestingbalancecreate__operation_1af0890710bc515bb658fb4052fd080eb0}

publicaccount_id_typecreator {#structgraphene_1_1chain_1_1vestingbalancecreate__operation_1ac98795a2e67585a9f6713380cae7b797}

Who provides funds initially.

publicaccount_id_typeowner {#structgraphene_1_1chain_1_1vestingbalancecreate__operation_1a89a37d17ddd72aebf6b6acbd9cd54b6b}

Who is able to withdraw the balance.

publicassetamount {#structgraphene_1_1chain_1_1vestingbalancecreate__operation_1a9547a56aa38de6978b024065e48e0d98}

publicvesting_policy_initializerpolicy {#structgraphene_1_1chain_1_1vestingbalancecreate__operation_1aaadd828a3219ed58c5bcd7c186d960b2}

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1vestingbalancecreate__operation_1a94d5c557246a69fcd7b8b6f587918cfb}

public inline voidvalidate() const {#structgraphene_1_1chain_1_1vestingbalancecreate__operation_1a9f96a3bd86de34007e8ac448371b1228}

struct graphene::chain::vesting_balance_withdraw_operation {#structgraphene_1_1chain_1_1vestingbalancewithdraw__operation}

struct graphene::chain::vesting_balance_withdraw_operation
  : public graphene::chain::base_operation

Withdraw from a vesting balance.

Withdrawal from a not-completely-mature vesting balance will result in paying fees.

Returns

Nothing

Summary

Members Descriptions
publicassetfee
publicvesting_balance_id_typevesting_balance
publicaccount_id_typeowner Must be vesting_balance.owner.
publicassetamount
public inlineaccount_id_typefee_payer() const
public inline voidvalidate() const

Members

publicassetfee {#structgraphene_1_1chain_1_1vestingbalancewithdraw__operation_1ac25f81d60b7bcec866d5799c290e0f76}

publicvesting_balance_id_typevesting_balance {#structgraphene_1_1chain_1_1vestingbalancewithdraw__operation_1a7ad0e8b87519b9f14015bdd96bd72300}

publicaccount_id_typeowner {#structgraphene_1_1chain_1_1vestingbalancewithdraw__operation_1ab67602aa80b5a355c3b27f6b046b2c83}

Must be vesting_balance.owner.

publicassetamount {#structgraphene_1_1chain_1_1vestingbalancewithdraw__operation_1aacb23b770be7e19aeefdf5640619e2b7}

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1vestingbalancewithdraw__operation_1a33e40cfe5f08b230d1f25018af2be4df}

public inline voidvalidate() const {#structgraphene_1_1chain_1_1vestingbalancewithdraw__operation_1a70708c63db281999566313c1aef60110}

struct graphene::chain::withdraw_permission_create_operation {#structgraphene_1_1chain_1_1withdrawpermissioncreate__operation}

struct graphene::chain::withdraw_permission_create_operation
  : public graphene::chain::base_operation

Create a new withdrawal permission

This operation creates a withdrawal permission, which allows some authorized account to withdraw from an authorizing account. This operation is primarily useful for scheduling recurring payments.

Withdrawal permissions define withdrawal periods, which is a span of time during which the authorized account may make a withdrawal. Any number of withdrawals may be made so long as the total amount withdrawn per period does not exceed the limit for any given period.

Withdrawal permissions authorize only a specific pairing, i.e. a permission only authorizes one specified authorized account to withdraw from one specified authorizing account. Withdrawals are limited and may not exceet the withdrawal limit. The withdrawal must be made in the same asset as the limit; attempts with withdraw any other asset type will be rejected.

The fee for this operation is paid by withdraw_from_account, and this account is required to authorize this operation.

Summary

Members Descriptions
publicassetfee
publicaccount_id_typewithdraw_from_account The account authorizing withdrawals from its balances.
publicaccount_id_typeauthorized_account The account authorized to make withdrawals from withdraw_from_account.
publicassetwithdrawal_limit The maximum amount authorized_account is allowed to withdraw in a given withdrawal period.
public uint32_twithdrawal_period_sec Length of the withdrawal period in seconds.
public uint32_tperiods_until_expiration The number of withdrawal periods this permission is valid for.
public time_point_secperiod_start_time Time at which the first withdrawal period begins; must be in the future.
public inlineaccount_id_typefee_payer() const
public voidvalidate() const

Members

publicassetfee {#structgraphene_1_1chain_1_1withdrawpermissioncreate__operation_1acd1d0749689ca75d5015f575521f1714}

publicaccount_id_typewithdraw_from_account {#structgraphene_1_1chain_1_1withdrawpermissioncreate__operation_1a3f224eb045127d24f819b4fabf2f9ab8}

The account authorizing withdrawals from its balances.

publicaccount_id_typeauthorized_account {#structgraphene_1_1chain_1_1withdrawpermissioncreate__operation_1a13319d788f2301dc37414c6d0f7d778d}

The account authorized to make withdrawals from withdraw_from_account.

publicassetwithdrawal_limit {#structgraphene_1_1chain_1_1withdrawpermissioncreate__operation_1abd9bd5a87fc8dad69fa130dc8d7e5f6e}

The maximum amount authorized_account is allowed to withdraw in a given withdrawal period.

public uint32_twithdrawal_period_sec {#structgraphene_1_1chain_1_1withdrawpermissioncreate__operation_1a90e0adf59bec7d98008ba49c49e02919}

Length of the withdrawal period in seconds.

public uint32_tperiods_until_expiration {#structgraphene_1_1chain_1_1withdrawpermissioncreate__operation_1a81203d719d16322470b7539f6cd63ec8}

The number of withdrawal periods this permission is valid for.

public time_point_secperiod_start_time {#structgraphene_1_1chain_1_1withdrawpermissioncreate__operation_1a3bdd1fe33aa93d6f73698bcd7573e623}

Time at which the first withdrawal period begins; must be in the future.

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1withdrawpermissioncreate__operation_1a54c95be200368faba30714208614bf80}

public voidvalidate() const {#structgraphene_1_1chain_1_1withdrawpermissioncreate__operation_1afef743a3c9d69f343cf544e4fb4ca570}

struct graphene::chain::withdraw_permission_update_operation {#structgraphene_1_1chain_1_1withdrawpermissionupdate__operation}

struct graphene::chain::withdraw_permission_update_operation
  : public graphene::chain::base_operation

Update an existing withdraw permission

This oeration is used to update the settings for an existing withdrawal permission. The accounts to withdraw to and from may never be updated. The fields which may be updated are the withdrawal limit (both amount and asset type may be updated), the withdrawal period length, the remaining number of periods until expiration, and the starting time of the new period.

Fee is paid by withdraw_from_account, which is required to authorize this operation

Summary

Members Descriptions
publicassetfee
publicaccount_id_typewithdraw_from_account This account pays the fee. Must match permission_to_update->withdraw_from_account.
publicaccount_id_typeauthorized_account The account authorized to make withdrawals. Must match permission_to_update->authorized_account.
publicwithdraw_permission_id_typepermission_to_update ID of the permission which is being updated.
publicassetwithdrawal_limit New maximum amount the withdrawer is allowed to charge per withdrawal period.
public uint32_twithdrawal_period_sec New length of the period between withdrawals.
public time_point_secperiod_start_time New beginning of the next withdrawal period; must be in the future.
public uint32_tperiods_until_expiration The new number of withdrawal periods for which this permission will be valid.
public inlineaccount_id_typefee_payer() const
public voidvalidate() const

Members

publicassetfee {#structgraphene_1_1chain_1_1withdrawpermissionupdate__operation_1a4abe0228f11d9f83616314560f4bef9b}

publicaccount_id_typewithdraw_from_account {#structgraphene_1_1chain_1_1withdrawpermissionupdate__operation_1a1b6b2af2b8423960f86107703cb3202a}

This account pays the fee. Must match permission_to_update->withdraw_from_account.

publicaccount_id_typeauthorized_account {#structgraphene_1_1chain_1_1withdrawpermissionupdate__operation_1a51f5becfd1577e7ecdd3b37243df50e3}

The account authorized to make withdrawals. Must match permission_to_update->authorized_account.

publicwithdraw_permission_id_typepermission_to_update {#structgraphene_1_1chain_1_1withdrawpermissionupdate__operation_1a5f81c6125c22e533c2dbaf3e0602a12c}

ID of the permission which is being updated.

publicassetwithdrawal_limit {#structgraphene_1_1chain_1_1withdrawpermissionupdate__operation_1a09901c4ab820bdfbcab782083832a44d}

New maximum amount the withdrawer is allowed to charge per withdrawal period.

public uint32_twithdrawal_period_sec {#structgraphene_1_1chain_1_1withdrawpermissionupdate__operation_1a817fd0b540d3706ee52800ae6486036c}

New length of the period between withdrawals.

public time_point_secperiod_start_time {#structgraphene_1_1chain_1_1withdrawpermissionupdate__operation_1add36e0cc3d9e64c83300e638fd23bb26}

New beginning of the next withdrawal period; must be in the future.

public uint32_tperiods_until_expiration {#structgraphene_1_1chain_1_1withdrawpermissionupdate__operation_1a4ca4cfdf8d53644e383417259ae45f24}

The new number of withdrawal periods for which this permission will be valid.

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1withdrawpermissionupdate__operation_1a90d8728687bec69bd30e8b36ebf0bda4}

public voidvalidate() const {#structgraphene_1_1chain_1_1withdrawpermissionupdate__operation_1a5f106583af3885ba40bcb1b72b97f6ac}

struct graphene::chain::withdraw_permission_claim_operation {#structgraphene_1_1chain_1_1withdrawpermissionclaim__operation}

struct graphene::chain::withdraw_permission_claim_operation
  : public graphene::chain::base_operation

Withdraw from an account which has published a withdrawal permission

This operation is used to withdraw from an account which has authorized such a withdrawal. It may be executed at most once per withdrawal period for the given permission. On execution, amount_to_withdraw is transferred from withdraw_from_account to withdraw_to_account, assuming amount_to_withdraw is within the withdrawal limit. The withdrawal permission will be updated to note that the withdrawal for the current period has occurred, and further withdrawals will not be permitted until the next withdrawal period, assuming the permission has not expired. This operation may be executed at any time within the current withdrawal period.

Fee is paid by withdraw_to_account, which is required to authorize this operation

Summary

Members Descriptions
publicassetfee Paid by withdraw_to_account.
publicwithdraw_permission_id_typewithdraw_permission ID of the permission authorizing this withdrawal.
publicaccount_id_typewithdraw_from_account Must match withdraw_permission->withdraw_from_account.
publicaccount_id_typewithdraw_to_account Must match withdraw_permision->authorized_account.
publicassetamount_to_withdraw Amount to withdraw. Must not exceed withdraw_permission->withdrawal_limit.
public optional<memo_data>memo Memo for withdraw_from_account. Should generally be encrypted with withdraw_from_account->memo_key.
public inlineaccount_id_typefee_payer() const
public voidvalidate() const
publicshare_typecalculate_fee(constfee_parameters_type& k) const

Members

publicassetfee {#structgraphene_1_1chain_1_1withdrawpermissionclaim__operation_1aa859676b795d27356d2cae53b4b66e12}

Paid by withdraw_to_account.

publicwithdraw_permission_id_typewithdraw_permission {#structgraphene_1_1chain_1_1withdrawpermissionclaim__operation_1a6eaf7439a6af330b76846a54e24e160e}

ID of the permission authorizing this withdrawal.

publicaccount_id_typewithdraw_from_account {#structgraphene_1_1chain_1_1withdrawpermissionclaim__operation_1af19f378f38846c1df32c54dc85ca712c}

Must match withdraw_permission->withdraw_from_account.

publicaccount_id_typewithdraw_to_account {#structgraphene_1_1chain_1_1withdrawpermissionclaim__operation_1acca0cb50c7f624e3b094a580106f01c4}

Must match withdraw_permision->authorized_account.

publicassetamount_to_withdraw {#structgraphene_1_1chain_1_1withdrawpermissionclaim__operation_1ab39c4153d52fc3f0c047d3c270c48cfa}

Amount to withdraw. Must not exceed withdraw_permission->withdrawal_limit.

public optional<memo_data>memo {#structgraphene_1_1chain_1_1withdrawpermissionclaim__operation_1ad3106d70e80be72b31ee19e15b70d5f3}

Memo for withdraw_from_account. Should generally be encrypted with withdraw_from_account->memo_key.

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1withdrawpermissionclaim__operation_1aa4cce457037a45cc23a70da9280c56cc}

public voidvalidate() const {#structgraphene_1_1chain_1_1withdrawpermissionclaim__operation_1a58ba464d93d8ab572f60c8dbaced26f2}

publicshare_typecalculate_fee(constfee_parameters_type& k) const {#structgraphene_1_1chain_1_1withdrawpermissionclaim__operation_1a32f1e86d31e2b8e5298f1edbb68bd99e}

struct graphene::chain::withdraw_permission_delete_operation {#structgraphene_1_1chain_1_1withdrawpermissiondelete__operation}

struct graphene::chain::withdraw_permission_delete_operation
  : public graphene::chain::base_operation

Delete an existing withdrawal permission

This operation cancels a withdrawal permission, thus preventing any future withdrawals using that permission.

Fee is paid by withdraw_from_account, which is required to authorize this operation

Summary

Members Descriptions
publicassetfee
publicaccount_id_typewithdraw_from_account Must match withdrawal_permission->withdraw_from_account. This account pays the fee.
publicaccount_id_typeauthorized_account The account previously authorized to make withdrawals. Must match withdrawal_permission->authorized_account.
publicwithdraw_permission_id_typewithdrawal_permission ID of the permission to be revoked.
public inlineaccount_id_typefee_payer() const
public voidvalidate() const

Members

publicassetfee {#structgraphene_1_1chain_1_1withdrawpermissiondelete__operation_1a16c51f887e03d45d55aee1a37014cb24}

publicaccount_id_typewithdraw_from_account {#structgraphene_1_1chain_1_1withdrawpermissiondelete__operation_1af09e19f67d1ffd2e1bd8207e721627bd}

Must match withdrawal_permission->withdraw_from_account. This account pays the fee.

publicaccount_id_typeauthorized_account {#structgraphene_1_1chain_1_1withdrawpermissiondelete__operation_1ac23633c3c2d4cfd2bd6f25e9bc4ca852}

The account previously authorized to make withdrawals. Must match withdrawal_permission->authorized_account.

publicwithdraw_permission_id_typewithdrawal_permission {#structgraphene_1_1chain_1_1withdrawpermissiondelete__operation_1a6831c48fa1ef0a99bc611826309b5e79}

ID of the permission to be revoked.

public inlineaccount_id_typefee_payer() const {#structgraphene_1_1chain_1_1withdrawpermissiondelete__operation_1a0448d4e53123c68bfb7b76ca83b3cacf}

public voidvalidate() const {#structgraphene_1_1chain_1_1withdrawpermissiondelete__operation_1a78bd32abc234455eb1dd9fd8e7431b7c}