BitShares-Core  5.0.0
BitShares blockchain implementation and command-line interface software
wallet.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2017 Cryptonomex, Inc., and contributors.
3  *
4  * The MIT License
5  *
6  * Permission is hereby granted, free of charge, to any person obtaining a copy
7  * of this software and associated documentation files (the "Software"), to deal
8  * in the Software without restriction, including without limitation the rights
9  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10  * copies of the Software, and to permit persons to whom the Software is
11  * furnished to do so, subject to the following conditions:
12  *
13  * The above copyright notice and this permission notice shall be included in
14  * all copies or substantial portions of the Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22  * THE SOFTWARE.
23  */
24 #pragma once
25 
26 #include <fc/optional.hpp>
28 #include <graphene/app/api.hpp>
30 #include "wallet_structs.hpp"
31 
32 namespace fc
33 {
34  void to_variant( const account_multi_index_type& accts, variant& vo, uint32_t max_depth );
35  void from_variant( const variant &var, account_multi_index_type &vo, uint32_t max_depth );
36 }
37 
38 namespace graphene { namespace wallet {
39 
44 object* create_object( const variant& v );
45 
51 {
52  public:
53  wallet_api( const wallet_data& initial_data, fc::api<login_api> rapi );
54  virtual ~wallet_api();
55 
56  bool copy_wallet_file( string destination_filename );
57 
58  fc::ecc::private_key derive_private_key(const std::string& prefix_string, int sequence_number) const;
59 
64  variant info();
68  variant_object about() const;
73  optional<signed_block_with_info> get_block( uint32_t num );
77  uint64_t get_account_count()const;
83  vector<account_object> list_my_accounts();
96  map<string,account_id_type> list_accounts(const string& lowerbound, uint32_t limit);
104  vector<asset> list_account_balances(const string& id);
114  vector<extended_asset_object> list_assets(const string& lowerbound, uint32_t limit)const;
119  uint64_t get_asset_count()const;
120 
129  vector<operation_detail> get_account_history(string name, int limit)const;
130 
139  vector<operation_detail> get_relative_account_history( string name, uint32_t stop,
140  int limit, uint32_t start )const;
141 
151  full_account get_full_account( const string& name_or_id );
152 
162  vector<bucket_object> get_market_history( string symbol, string symbol2, uint32_t bucket,
163  fc::time_point_sec start, fc::time_point_sec end )const;
164 
183  vector<limit_order_object> get_account_limit_orders( const string& name_or_id,
184  const string &base,
185  const string &quote,
186  uint32_t limit = 101,
187  optional<limit_order_id_type> ostart_id = optional<limit_order_id_type>(),
188  optional<price> ostart_price = optional<price>());
189 
197  vector<limit_order_object> get_limit_orders(string a, string b, uint32_t limit)const;
198 
205  vector<call_order_object> get_call_orders(string a, uint32_t limit)const;
206 
213  vector<force_settlement_object> get_settle_orders(string a, uint32_t limit)const;
214 
222  vector<collateral_bid_object> get_collateral_bids(string asset, uint32_t limit = 100, uint32_t start = 0)const;
223 
231  global_property_object get_global_properties() const;
232 
243  account_history_operation_detail get_account_history_by_operations( string name,
244  flat_set<uint16_t> operation_types,
245  uint32_t start, int limit);
246 
253  dynamic_global_property_object get_dynamic_global_properties() const;
254 
260  account_object get_account(string account_name_or_id) const;
261 
266  extended_asset_object get_asset(string asset_name_or_id) const;
267 
274  asset_bitasset_data_object get_bitasset_data(string asset_name_or_id)const;
275 
281  fc::optional<fc::variant> get_htlc(string htlc_id) const;
282 
287  account_id_type get_account_id(string account_name_or_id) const;
288 
294  asset_id_type get_asset_id(string asset_name_or_id) const;
295 
307  variant get_object(object_id_type id) const;
308 
316  string get_wallet_filename() const;
317 
324  string get_private_key( public_key_type pubkey )const;
325 
332  transaction_handle_type begin_builder_transaction();
340  void add_operation_to_builder_transaction(transaction_handle_type transaction_handle, const operation& op);
349  void replace_operation_in_builder_transaction(transaction_handle_type handle,
350  unsigned operation_index,
351  const operation& new_op);
360  asset set_fees_on_builder_transaction(transaction_handle_type handle, string fee_asset = GRAPHENE_SYMBOL);
368  transaction preview_builder_transaction(transaction_handle_type handle);
377  signed_transaction sign_builder_transaction(transaction_handle_type transaction_handle, bool broadcast = true);
378 
388  signed_transaction sign_builder_transaction2(transaction_handle_type transaction_handle,
389  const vector<public_key_type>& signing_keys = vector<public_key_type>(),
390  bool broadcast = true);
391 
396  pair<transaction_id_type,signed_transaction> broadcast_transaction(signed_transaction tx);
397 
414  signed_transaction propose_builder_transaction(
416  time_point_sec expiration = time_point::now() + fc::minutes(1),
417  uint32_t review_period_seconds = 0,
418  bool broadcast = true
419  );
420 
435  signed_transaction propose_builder_transaction2(
437  string account_name_or_id,
438  time_point_sec expiration = time_point::now() + fc::minutes(1),
439  uint32_t review_period_seconds = 0,
440  bool broadcast = true
441  );
442 
449  void remove_builder_transaction(transaction_handle_type handle);
450 
457  bool is_new()const;
458 
465  bool is_locked()const;
466 
470  void lock();
471 
483  void unlock(string password);
484 
496  void set_password(string password);
497 
504  map<public_key_type, string> dump_private_keys();
505 
513  string help()const;
514 
519  string gethelp(const string& method)const;
520 
534  bool load_wallet_file(string wallet_filename = "");
535 
540  void quit();
541 
552  void save_wallet_file(string wallet_filename = "");
553 
561  void set_wallet_filename(string wallet_filename);
562 
570  brain_key_info suggest_brain_key()const;
571 
584  vector<brain_key_info> derive_owner_keys_from_brain_key(string brain_key, int number_of_desired_keys = 1) const;
585 
593  bool is_public_key_registered(string public_key) const;
594 
602  string serialize_transaction(signed_transaction tx) const;
603 
615  bool import_key(string account_name_or_id, string wif_key);
616 
624  map<string, bool> import_accounts( string filename, string password );
625 
637  bool import_account_keys( string filename, string password, string src_account_name, string dest_account_name );
638 
647  vector< signed_transaction > import_balance( string account_name_or_id, const vector<string>& wif_keys,
648  bool broadcast );
649 
658  string normalize_brain_key(string s) const;
659 
685  signed_transaction register_account(string name,
686  public_key_type owner,
687  public_key_type active,
688  string registrar_account,
689  string referrer_account,
690  uint32_t referrer_percent,
691  bool broadcast = false);
692 
701  signed_transaction upgrade_account(string name, bool broadcast);
702 
721  signed_transaction create_account_with_brain_key(string brain_key,
722  string account_name,
723  string registrar_account,
724  string referrer_account,
725  bool broadcast = false);
726 
739  signed_transaction transfer(string from,
740  string to,
741  string amount,
742  string asset_symbol,
743  string memo,
744  bool broadcast = false);
745 
759  pair<transaction_id_type,signed_transaction> transfer2(string from,
760  string to,
761  string amount,
762  string asset_symbol,
763  string memo ) {
764  auto trx = transfer( from, to, amount, asset_symbol, memo, true );
765  return std::make_pair(trx.id(),trx);
766  }
767 
768 
774  transaction_id_type get_transaction_id( const signed_transaction& trx )const { return trx.id(); }
775 
776 
784  memo_data sign_memo(string from, string to, string memo);
785 
791  string read_memo(const memo_data& memo);
792 
793 
801  signed_message sign_message(string signer, string message);
802 
812  bool verify_message( string message, string account, int block, const string& time, compact_signature sig );
813 
819  bool verify_signed_message( signed_message message );
820 
826  bool verify_encapsulated_message( string message );
827 
829 
838  bool set_key_label( public_key_type key, string label );
839 
845  string get_key_label( public_key_type key )const;
846 
853  public_key_type create_blind_account( string label, string brain_key );
854 
862  vector<asset> get_blind_balances( string key_or_label );
867  map<string,public_key_type> get_blind_accounts()const;
872  map<string,public_key_type> get_my_blind_accounts()const;
878  public_key_type get_public_key( string label )const;
880 
886  vector<blind_receipt> blind_history( string key_or_account );
887 
899  blind_receipt receive_blind_transfer( string confirmation_receipt, string opt_from, string opt_memo );
900 
910  blind_confirmation transfer_to_blind( string from_account_id_or_name,
911  string asset_symbol,
912  vector<pair<string, string>> to_amounts,
913  bool broadcast = false );
914 
924  blind_confirmation transfer_from_blind(
925  string from_blind_account_key_or_label,
926  string to_account_id_or_name,
927  string amount,
928  string asset_symbol,
929  bool broadcast = false );
930 
940  blind_confirmation blind_transfer( string from_key_or_label,
941  string to_key_or_label,
942  string amount,
943  string symbol,
944  bool broadcast = false );
945 
986  signed_transaction sell_asset(string seller_account,
987  string amount_to_sell,
988  string symbol_to_sell,
989  string min_to_receive,
990  string symbol_to_receive,
991  uint32_t timeout_sec = 0,
992  bool fill_or_kill = false,
993  bool broadcast = false);
994 
1009  signed_transaction borrow_asset(string borrower_name, string amount_to_borrow, string asset_symbol,
1010  string amount_of_collateral, bool broadcast = false);
1011 
1027  signed_transaction borrow_asset_ext( string borrower_name, string amount_to_borrow, string asset_symbol,
1028  string amount_of_collateral,
1030  bool broadcast = false );
1031 
1038  signed_transaction cancel_order(object_id_type order_id, bool broadcast = false);
1039 
1062  signed_transaction create_asset(string issuer,
1063  string symbol,
1064  uint8_t precision,
1065  asset_options common,
1066  fc::optional<bitasset_options> bitasset_opts,
1067  bool broadcast = false);
1068 
1078  signed_transaction issue_asset(string to_account, string amount,
1079  string symbol,
1080  string memo,
1081  bool broadcast = false);
1082 
1099  signed_transaction update_asset(string symbol,
1100  optional<string> new_issuer,
1101  asset_options new_options,
1102  bool broadcast = false);
1103 
1115  signed_transaction update_asset_issuer(string symbol,
1116  string new_issuer,
1117  bool broadcast = false);
1118 
1132  signed_transaction update_bitasset(string symbol,
1133  bitasset_options new_options,
1134  bool broadcast = false);
1135 
1146  signed_transaction update_asset_feed_producers(string symbol,
1147  flat_set<string> new_feed_producers,
1148  bool broadcast = false);
1149 
1170  signed_transaction publish_asset_feed(string publishing_account,
1171  string symbol,
1172  price_feed feed,
1173  bool broadcast = false);
1174 
1189  signed_transaction fund_asset_fee_pool(string from,
1190  string symbol,
1191  string amount,
1192  bool broadcast = false);
1193 
1207  signed_transaction claim_asset_fee_pool(string symbol,
1208  string amount,
1209  bool broadcast = false);
1210 
1221  signed_transaction reserve_asset(string from,
1222  string amount,
1223  string symbol,
1224  bool broadcast = false);
1225 
1243  signed_transaction global_settle_asset(string symbol,
1244  price settle_price,
1245  bool broadcast = false);
1246 
1265  signed_transaction settle_asset(string account_to_settle,
1266  string amount_to_settle,
1267  string symbol,
1268  bool broadcast = false);
1269 
1286  signed_transaction bid_collateral(string bidder_name, string debt_amount, string debt_symbol,
1287  string additional_collateral, bool broadcast = false);
1288 
1309  signed_transaction whitelist_account(string authorizing_account,
1310  string account_to_list,
1311  account_whitelist_operation::account_listing new_listing_status,
1312  bool broadcast = false);
1313 
1324  signed_transaction create_committee_member(string owner_account,
1325  string url,
1326  bool broadcast = false);
1327 
1341  map<string,witness_id_type> list_witnesses(const string& lowerbound, uint32_t limit);
1342 
1356  map<string, committee_member_id_type> list_committee_members(const string& lowerbound, uint32_t limit);
1357 
1362  witness_object get_witness(string owner_account);
1363 
1368  committee_member_object get_committee_member(string owner_account);
1369 
1380  signed_transaction create_witness(string owner_account,
1381  string url,
1382  bool broadcast = false);
1383 
1394  signed_transaction update_witness(string witness_name,
1395  string url,
1396  string block_signing_key,
1397  bool broadcast = false);
1398 
1399 
1413  signed_transaction create_worker(
1414  string owner_account,
1415  time_point_sec work_begin_date,
1416  time_point_sec work_end_date,
1417  share_type daily_pay,
1418  string name,
1419  string url,
1420  variant worker_settings,
1421  bool broadcast = false
1422  );
1423 
1432  signed_transaction update_worker_votes(
1433  string account,
1434  worker_vote_delta delta,
1435  bool broadcast = false
1436  );
1437 
1453  signed_transaction htlc_create( string source, string destination, string amount, string asset_symbol,
1454  string hash_algorithm, const std::string& preimage_hash, uint32_t preimage_size,
1455  const uint32_t claim_period_seconds, const std::string& memo, bool broadcast = false );
1456 
1457  /****
1458  * Update a hashed time lock contract
1459  *
1460  * @param htlc_id The object identifier of the HTLC on the blockchain
1461  * @param issuer Who is performing this operation (and paying the fee)
1462  * @param preimage the preimage that should evaluate to the preimage_hash
1463  * @return the signed transaction
1464  */
1465  signed_transaction htlc_redeem( string htlc_id, string issuer, const std::string& preimage,
1466  bool broadcast = false );
1467 
1468  /*****
1469  * Increase the timelock on an existing HTLC
1470  *
1471  * @param htlc_id The object identifier of the HTLC on the blockchain
1472  * @param issuer Who is performing this operation (and paying the fee)
1473  * @param seconds_to_add how many seconds to add to the existing timelock
1474  * @param broadcast true to broadcast to the network
1475  * @return the signed transaction
1476  */
1477  signed_transaction htlc_extend(string htlc_id, string issuer, const uint32_t seconds_to_add,
1478  bool broadcast = false);
1479 
1486  vector< vesting_balance_object_with_info > get_vesting_balances( string account_name );
1487 
1497  signed_transaction withdraw_vesting(
1498  string witness_name,
1499  string amount,
1500  string asset_symbol,
1501  bool broadcast = false);
1502 
1520  signed_transaction vote_for_committee_member(string voting_account,
1521  string committee_member,
1522  bool approve,
1523  bool broadcast = false);
1524 
1542  signed_transaction vote_for_witness(string voting_account,
1543  string witness,
1544  bool approve,
1545  bool broadcast = false);
1546 
1565  signed_transaction set_voting_proxy(string account_to_modify,
1566  optional<string> voting_account,
1567  bool broadcast = false);
1568 
1590  signed_transaction set_desired_witness_and_committee_member_count(string account_to_modify,
1591  uint16_t desired_number_of_witnesses,
1592  uint16_t desired_number_of_committee_members,
1593  bool broadcast = false);
1594 
1603  signed_transaction sign_transaction(signed_transaction tx, bool broadcast = false);
1604 
1615  signed_transaction sign_transaction2(signed_transaction tx,
1616  const vector<public_key_type>& signing_keys = vector<public_key_type>(),
1617  bool broadcast = true);
1618 
1619 
1627  flat_set<public_key_type> get_transaction_signers(const signed_transaction &tx) const;
1628 
1635  vector<flat_set<account_id_type>> get_key_references(const vector<public_key_type> &keys) const;
1636 
1653  operation get_prototype_operation(string operation_type);
1654 
1666  signed_transaction propose_parameter_change(
1667  const string& proposing_account,
1668  fc::time_point_sec expiration_time,
1669  const variant_object& changed_values,
1670  bool broadcast = false);
1671 
1681  signed_transaction propose_fee_change(
1682  const string& proposing_account,
1683  fc::time_point_sec expiration_time,
1684  const variant_object& changed_values,
1685  bool broadcast = false);
1686 
1695  signed_transaction approve_proposal(
1696  const string& fee_paying_account,
1697  const string& proposal_id,
1698  const approval_delta& delta,
1699  bool broadcast /* = false */
1700  );
1701 
1709  order_book get_order_book( const string& base, const string& quote, unsigned limit = 50);
1710 
1722  signed_transaction add_transaction_signature( signed_transaction tx,
1723  bool broadcast = false );
1724 
1725  void dbg_make_uia(string creator, string symbol);
1726  void dbg_make_mia(string creator, string symbol);
1727  void dbg_push_blocks( std::string src_filename, uint32_t count );
1728  void dbg_generate_blocks( std::string debug_wif_key, uint32_t count );
1729  void dbg_stream_json_objects( const std::string& filename );
1730  void dbg_update_object( fc::variant_object update );
1731 
1732  void flood_network(string prefix, uint32_t number_of_transactions);
1733 
1734  void network_add_nodes( const vector<string>& nodes );
1735  vector< variant > network_get_connected_peers();
1736 
1740  blind_confirmation blind_transfer_help( string from_key_or_label,
1741  string to_key_or_label,
1742  string amount,
1743  string symbol,
1744  bool broadcast = false,
1745  bool to_temp = false );
1746 
1747 
1748  std::map<string,std::function<string(fc::variant,const fc::variants&)>> get_result_formatters() const;
1749 
1751  std::shared_ptr<detail::wallet_api_impl> my;
1752  void encrypt_keys();
1753 
1768  signed_transaction account_store_map(string account, string catalog, bool remove,
1769  flat_map<string, optional<string>> key_values, bool broadcast);
1770 
1781  vector<account_storage_object> get_account_storage(string account, string catalog);
1782 
1783 };
1784 
1785 } }
1786 
1787 extern template class fc::api<graphene::wallet::wallet_api>;
1788 
1790  (help)
1791  (gethelp)
1792  (info)
1793  (about)
1794  (begin_builder_transaction)
1795  (add_operation_to_builder_transaction)
1796  (replace_operation_in_builder_transaction)
1797  (set_fees_on_builder_transaction)
1798  (preview_builder_transaction)
1799  (sign_builder_transaction)
1800  (sign_builder_transaction2)
1801  (broadcast_transaction)
1802  (propose_builder_transaction)
1803  (propose_builder_transaction2)
1804  (remove_builder_transaction)
1805  (is_new)
1806  (is_locked)
1807  (lock)(unlock)(set_password)
1808  (dump_private_keys)
1809  (list_my_accounts)
1810  (list_accounts)
1811  (list_account_balances)
1812  (list_assets)
1813  (get_asset_count)
1814  (import_key)
1815  (import_accounts)
1816  (import_account_keys)
1817  (import_balance)
1818  (suggest_brain_key)
1819  (derive_owner_keys_from_brain_key)
1820  (register_account)
1821  (upgrade_account)
1822  (create_account_with_brain_key)
1823  (sell_asset)
1824  (borrow_asset)
1825  (borrow_asset_ext)
1826  (cancel_order)
1827  (transfer)
1828  (transfer2)
1829  (get_transaction_id)
1830  (create_asset)
1831  (update_asset)
1832  (update_asset_issuer)
1833  (update_bitasset)
1834  (get_htlc)
1835  (update_asset_feed_producers)
1836  (publish_asset_feed)
1837  (issue_asset)
1838  (get_asset)
1839  (get_bitasset_data)
1840  (fund_asset_fee_pool)
1841  (claim_asset_fee_pool)
1842  (reserve_asset)
1843  (global_settle_asset)
1844  (settle_asset)
1845  (bid_collateral)
1846  (whitelist_account)
1847  (create_committee_member)
1848  (get_witness)
1849  (get_committee_member)
1850  (list_witnesses)
1851  (list_committee_members)
1852  (create_witness)
1853  (update_witness)
1854  (create_worker)
1855  (update_worker_votes)
1856  (htlc_create)
1857  (htlc_redeem)
1858  (htlc_extend)
1859  (get_vesting_balances)
1860  (withdraw_vesting)
1861  (vote_for_committee_member)
1862  (vote_for_witness)
1863  (set_voting_proxy)
1864  (set_desired_witness_and_committee_member_count)
1865  (get_account)
1866  (get_account_id)
1867  (get_block)
1868  (get_account_count)
1869  (get_account_history)
1870  (get_relative_account_history)
1871  (get_account_history_by_operations)
1872  (get_collateral_bids)
1873  (is_public_key_registered)
1874  (get_full_account)
1875  (get_market_history)
1876  (get_global_properties)
1877  (get_dynamic_global_properties)
1878  (get_object)
1879  (get_private_key)
1880  (load_wallet_file)
1882  (get_account_limit_orders)
1883  (get_limit_orders)
1884  (get_call_orders)
1885  (get_settle_orders)
1886  (save_wallet_file)
1887  (serialize_transaction)
1888  (sign_transaction)
1889  (sign_transaction2)
1890  (add_transaction_signature)
1891  (get_transaction_signers)
1892  (get_key_references)
1893  (get_prototype_operation)
1894  (propose_parameter_change)
1895  (propose_fee_change)
1896  (approve_proposal)
1897  (dbg_make_uia)
1898  (dbg_make_mia)
1899  (dbg_push_blocks)
1900  (dbg_generate_blocks)
1901  (dbg_stream_json_objects)
1902  (dbg_update_object)
1903  (flood_network)
1904  (network_add_nodes)
1905  (network_get_connected_peers)
1906  (sign_memo)
1907  (read_memo)
1908  (sign_message)
1909  (verify_message)
1910  (verify_signed_message)
1911  (verify_encapsulated_message)
1912  (set_key_label)
1913  (get_key_label)
1914  (get_public_key)
1915  (get_blind_accounts)
1916  (get_my_blind_accounts)
1917  (get_blind_balances)
1918  (create_blind_account)
1919  (transfer_to_blind)
1920  (transfer_from_blind)
1921  (blind_transfer)
1922  (blind_history)
1923  (receive_blind_transfer)
1924  (get_order_book)
1925  (account_store_map)
1926  (get_account_storage)
1927  (quit)
1928  )
future_extensions::flat_set_type extensions_type
Definition: base.hpp:141
std::shared_ptr< detail::wallet_api_impl > my
Definition: wallet.hpp:1751
multi_index_container< account_object, indexed_by< ordered_unique< tag< by_id >, member< object, object_id_type,&object::id > >, ordered_unique< tag< by_name >, member< account_object, string,&account_object::name > > > > account_multi_index_type
microseconds minutes(int64_t m)
Definition: time.hpp:36
object * create_object(const variant &v)
contains properties that only apply to bitassets (market issued assets)
This class represents an account on the object graphAccounts are the primary unit of authority on the...
Maintains global state information (committee_member list, current fees)This is an implementation det...
An order-perserving dictionary of variant&#39;s.
Definition: api.cpp:56
fc::signal< void(bool)> lock_changed
Definition: wallet.hpp:1750
groups operations that should be applied atomically
Definition: transaction.hpp:68
fc::static_variant< transfer_operation, limit_order_create_operation, limit_order_cancel_operation, call_order_update_operation, fill_order_operation, account_create_operation, account_update_operation, account_whitelist_operation, account_upgrade_operation, account_transfer_operation, asset_create_operation, asset_update_operation, asset_update_bitasset_operation, asset_update_feed_producers_operation, asset_issue_operation, asset_reserve_operation, asset_fund_fee_pool_operation, asset_settle_operation, asset_global_settle_operation, asset_publish_feed_operation, witness_create_operation, witness_update_operation, proposal_create_operation, proposal_update_operation, proposal_delete_operation, withdraw_permission_create_operation, withdraw_permission_update_operation, withdraw_permission_claim_operation, withdraw_permission_delete_operation, committee_member_create_operation, committee_member_update_operation, committee_member_update_global_parameters_operation, vesting_balance_create_operation, vesting_balance_withdraw_operation, worker_create_operation, custom_operation, assert_operation, balance_claim_operation, override_transfer_operation, transfer_to_blind_operation, blind_transfer_operation, transfer_from_blind_operation, asset_settle_cancel_operation, asset_claim_fees_operation, fba_distribute_operation, bid_collateral_operation, execute_bid_operation, asset_claim_pool_operation, asset_update_issuer_operation, htlc_create_operation, htlc_redeem_operation, htlc_redeemed_operation, htlc_extend_operation, htlc_refund_operation, custom_authority_create_operation, custom_authority_update_operation, custom_authority_delete_operation, ticket_create_operation, ticket_update_operation, liquidity_pool_create_operation, liquidity_pool_delete_operation, liquidity_pool_deposit_operation, liquidity_pool_withdraw_operation, liquidity_pool_exchange_operation > operation
Definition: operations.hpp:118
const auto source
#define FC_API(CLASS, METHODS)
Definition: api.hpp:197
fc::ecc::private_key derive_private_key(const std::string &prefix_string, int sequence_number)
Definition: wallet_sign.cpp:54
void to_variant(const flat_set< T, A... > &var, variant &vo, uint32_t _max_depth)
Definition: flat.hpp:105
contains only the public point of an elliptic curve key.
Definition: elliptic.hpp:35
stores null, int64, uint64, double, bool, string, std::vector<variant>, and variant_object&#39;s.
Definition: variant.hpp:198
string normalize_brain_key(string s)
Definition: wallet_sign.cpp:62
transaction_id_type get_transaction_id(const signed_transaction &trx) const
Definition: wallet.hpp:774
void from_variant(const variant &var, flat_set< T, A... > &vo, uint32_t _max_depth)
Definition: flat.hpp:116
safe< int64_t > share_type
Definition: types.hpp:247
uint16_t transaction_handle_type
Definition: api.hpp:15
Maintains global state information (committee_member list, current fees)This is an implementation det...
#define GRAPHENE_SYMBOL
Definition: config.hpp:26
static time_point now()
Definition: time.cpp:13
boost::signals2::signal< T > signal
Definition: signals.hpp:20
an elliptic curve private key.
Definition: elliptic.hpp:89
zero_initialized_array< unsigned char, 65 > compact_signature
Definition: elliptic.hpp:27
tracks information about a committee_member account.A committee_member is responsible for setting blo...
pair< transaction_id_type, signed_transaction > transfer2(string from, string to, string amount, string asset_symbol, string memo)
Definition: wallet.hpp:759
Definition: api.hpp:120