30 namespace graphene {
namespace protocol {
37 vector<commitment_type> in;
38 vector<commitment_type> out(
outputs.size());
40 for( uint32_t i = 0; i < out.size(); ++i )
45 if( i > 0 )
FC_ASSERT( out[i-1] < out[i],
"all outputs must be sorted by commitment id" );
48 FC_ASSERT( out.size(),
"there must be at least one output" );
78 vector<commitment_type> in(inputs.size());
79 vector<commitment_type> out;
82 for( uint32_t i = 0; i < in.size(); ++i )
84 in[i] = inputs[i].commitment;
86 if( i > 0 )
FC_ASSERT( in[i-1] < in[i],
"all inputs must be sorted by commitment id" );
88 FC_ASSERT( in.size(),
"there must be at least one input" );
108 vector<commitment_type> in(inputs.size());
109 vector<commitment_type> out(
outputs.size());
111 for( uint32_t i = 0; i < in.size(); ++i )
113 in[i] = inputs[i].commitment;
115 if( i > 0 )
FC_ASSERT( in[i-1] < in[i] );
117 for( uint32_t i = 0; i < out.size(); ++i )
119 out[i] =
outputs[i].commitment;
120 if( i > 0 )
FC_ASSERT( out[i-1] < out[i] );
123 FC_ASSERT( in.size(),
"there must be at least one input" );
145 stealth_confirmation::operator string()
const 154 *
this = fc::raw::unpack<stealth_confirmation>(
fc::from_base58( base58 ) );
#define GRAPHENE_TEMP_ACCOUNT
Represents the canonical account with WILDCARD authority (anybody can access funds in temp account) ...
std::string to_base58(const char *d, size_t s)
void pack(Stream &s, const flat_set< T, A... > &value, uint32_t _max_depth)
bool verify_sum(const std::vector< commitment_type > &commits, const std::vector< commitment_type > &neg_commits, int64_t excess)
range_proof_info range_get_info(const range_proof_type &proof)
uint64_t fee
the cost to register the cheapest non-free account
uint32_t price_per_output
share_type calculate_fee(const fee_parameters_type &) const
commitment_type blind(const blind_factor_type &blind, uint64_t value)
uint64_t fee
the cost to register the cheapest non-free account
Converts blinded/stealth balance to a public account balance.
#define FC_CAPTURE_AND_RETHROW(...)
#define FC_ASSERT(TEST,...)
Checks a condition and throws an assert_exception if the test is FALSE.
#define GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION(type)
std::vector< char > from_base58(const std::string &base58_str)
vector< blind_output > outputs
constexpr int64_t GRAPHENE_MAX_SHARE_SUPPLY(1000000000000000LL)
share_type calculate_fee(const fee_parameters_type &k) const
Transfers from blind to blind.
Converts public account balance to a blinded or stealth balance.
blind_factor_type blinding_factor
account_id_type fee_payer() const
uint32_t price_per_output