BitShares-Core  7.0.1
BitShares blockchain node software and command-line wallet software
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
graphene::protocol::account_whitelist_operation Struct Reference

This operation is used to whitelist and blacklist accounts, primarily for transacting in whitelisted assets. More...

#include <account.hpp>

Inheritance diagram for graphene::protocol::account_whitelist_operation:


struct  fee_params_t

Public Types

enum  account_listing { no_listing = 0x0, white_listed = 0x1, black_listed = 0x2, white_and_black_listed = white_listed | black_listed }

Public Member Functions

account_id_type fee_payer () const
void validate () const
- Public Member Functions inherited from graphene::protocol::base_operation
virtual ~base_operation ()=default
template<typename T >
share_type calculate_fee (const T &params) const
virtual void get_required_authorities (vector< authority > &) const
virtual void get_required_active_authorities (flat_set< account_id_type > &) const
virtual void get_required_owner_authorities (flat_set< account_id_type > &) const
fc::optional< fc::future< void > > validate_parallel (uint32_t skip) const

Public Attributes

asset fee
 Paid by authorizing_account. More...
account_id_type authorizing_account
 The account which is specifying an opinion of another account. More...
account_id_type account_to_list
 The account being opined about. More...
uint8_t new_listing = no_listing
extensions_type extensions

Additional Inherited Members

- Static Public Member Functions inherited from graphene::protocol::base_operation
static uint64_t calculate_data_fee (uint64_t bytes, uint64_t price_per_kbyte)

Detailed Description

This operation is used to whitelist and blacklist accounts, primarily for transacting in whitelisted assets.

Accounts can freely specify opinions about other accounts, in the form of either whitelisting or blacklisting them. This information is used in chain validation only to determine whether an account is authorized to transact in an asset type which enforces a whitelist, but third parties can use this information for other uses as well, as long as it does not conflict with the use of whitelisted assets.

An asset which enforces a whitelist specifies a list of accounts to maintain its whitelist, and a list of accounts to maintain its blacklist. In order for a given account A to hold and transact in a whitelisted asset S, A must be whitelisted by at least one of S's whitelist_authorities and blacklisted by none of S's blacklist_authorities. If A receives a balance of S, and is later removed from the whitelist(s) which allowed it to hold S, or added to any blacklist S specifies as authoritative, A's balance of S will be frozen until A's authorization is reinstated.

This operation requires authorizing_account's signature, but not account_to_list's. The fee is paid by authorizing_account.

Definition at line 197 of file account.hpp.

Member Enumeration Documentation

◆ account_listing


No opinion is specified about this account.


This account is whitelisted, but not blacklisted.


This account is blacklisted, but not whitelisted.


This account is both whitelisted and blacklisted.

Definition at line 200 of file account.hpp.

Member Function Documentation

◆ fee_payer()

account_id_type graphene::protocol::account_whitelist_operation::fee_payer ( ) const

Definition at line 218 of file account.hpp.

◆ validate()

void graphene::protocol::account_whitelist_operation::validate ( ) const

Reimplemented from graphene::protocol::base_operation.

Definition at line 219 of file account.hpp.

Member Data Documentation

◆ account_to_list

account_id_type graphene::protocol::account_whitelist_operation::account_to_list

The account being opined about.

Definition at line 212 of file account.hpp.

◆ authorizing_account

account_id_type graphene::protocol::account_whitelist_operation::authorizing_account

The account which is specifying an opinion of another account.

Definition at line 210 of file account.hpp.

◆ extensions

extensions_type graphene::protocol::account_whitelist_operation::extensions

Definition at line 216 of file account.hpp.

◆ fee

asset graphene::protocol::account_whitelist_operation::fee

Paid by authorizing_account.

Definition at line 208 of file account.hpp.

◆ new_listing

uint8_t graphene::protocol::account_whitelist_operation::new_listing = no_listing

The new white and blacklist status of account_to_list, as determined by authorizing_account This is a bitfield using values defined in the account_listing enum

Definition at line 215 of file account.hpp.

The documentation for this struct was generated from the following file: