BitShares-Core
7.0.2
BitShares blockchain node software and command-line wallet software
|
Go to the documentation of this file.
30 #include <graphene/chain/hardfork.hpp>
32 namespace graphene {
namespace chain {
40 FC_ASSERT( !atype.is_transfer_restricted() );
43 for(
const auto& out : o.
outputs )
45 for(
const auto& a : out.owner.account_auths )
61 for(
const auto& out : o.
outputs )
65 obj.owner = out.owner;
66 obj.commitment = out.commitment;
74 if(
db().head_block_time() >= HARDFORK_563_TIME )
85 const auto& cidx = bbi.
indices().get<by_commitment>();
86 for(
const auto& in : o.
inputs )
88 auto itr = cidx.
find( in.commitment );
101 const auto& cidx = bbi.
indices().get<by_commitment>();
102 for(
const auto& in : o.
inputs )
104 auto itr = cidx.
find( in.commitment );
118 if(
db().head_block_time() >= HARDFORK_563_TIME )
126 const auto& d =
db();
129 const auto& cidx = bbi.
indices().get<by_commitment>();
130 for(
const auto& out : o.
outputs )
132 for(
const auto& a : out.owner.account_auths )
135 for(
const auto& in : o.
inputs )
137 auto itr = cidx.
find( in.commitment );
138 GRAPHENE_ASSERT( itr != cidx.end(), blind_transfer_unknown_commitment,
"", (
"commitment",in.commitment) );
149 const auto& cidx = bbi.
indices().get<by_commitment>();
150 for(
const auto& in : o.
inputs )
152 auto itr = cidx.
find( in.commitment );
153 GRAPHENE_ASSERT( itr != cidx.end(), blind_transfer_unknown_commitment,
"", (
"commitment",in.commitment) );
156 for(
const auto& out : o.
outputs )
160 obj.owner = out.owner;
161 obj.commitment = out.commitment;
175 if(
db().head_block_time() >= HARDFORK_563_TIME )
#define FC_CAPTURE_AND_RETHROW(...)
Converts public account balance to a blinded or stealth balance.
void_result do_evaluate(const transfer_to_blind_operation &o)
Transfers from blind to blind.
virtual void pay_fee() override
void_result do_evaluate(const blind_transfer_operation &o)
void_result do_apply(const transfer_from_blind_operation &o)
vector< blind_input > inputs
vector< blind_output > outputs
const T & create(F &&constructor)
void adjust_balance(account_id_type account, asset delta)
Adjust a particular account's balance in a given asset by a delta.
share_type confidential_supply
total asset held in confidential balances
void_result do_apply(const blind_transfer_operation &o)
@ white_list
accounts must be whitelisted in order to hold or transact this asset
account_id_type fee_payer() const
account_id_type fee_payer() const
void pay_fba_fee(uint64_t fba_id)
Converts blinded/stealth balance to a public account balance.
const object * find(object_id_type id) const override
const index_type & indices() const
tracks the asset information that changes frequently
@ fba_accumulator_id_transfer_to_blind
vector< blind_input > inputs
tracks a blinded balance commitment
void_result do_evaluate(const transfer_from_blind_operation &o)
#define FC_ASSERT(TEST,...)
Checks a condition and throws an assert_exception if the test is FALSE.
@ fba_accumulator_id_blind_transfer
@ fba_accumulator_id_transfer_from_blind
virtual void pay_fee() override
void_result do_apply(const transfer_to_blind_operation &o)
#define GRAPHENE_ASSERT(expr, exc_type, FORMAT,...)
void remove(const object &obj)
const IndexType & get_index_type() const
vector< blind_output > outputs
void modify(const T &obj, const Lambda &m)
virtual void pay_fee() override