Skip to content

Commit

Permalink
Merge pull request #2789 from bitshares/release_to_develop
Browse files Browse the repository at this point in the history
Merge release branch back into develop branch
  • Loading branch information
abitmore authored Oct 5, 2023
2 parents a3caf53 + 77ef234 commit c5f71fc
Show file tree
Hide file tree
Showing 120 changed files with 7,972 additions and 1,537 deletions.
12 changes: 6 additions & 6 deletions .github/workflows/build-and-test.ubuntu-debug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
runs-on: ${{ matrix.os }}
services:
elasticsearch8:
image: elastic/elasticsearch:8.8.1
image: elastic/elasticsearch:8.10.2
options: >-
--env ES_JAVA_OPTS="-Xms512m -Xmx512m"
--env discovery.type=single-node
Expand All @@ -22,7 +22,7 @@ jobs:
--env cluster.routing.allocation.disk.threshold_enabled=false
--publish 9200:9200
elasticsearch7:
image: elastic/elasticsearch:7.17.10
image: elastic/elasticsearch:7.17.13
options: >-
--env ES_JAVA_OPTS="-Xms512m -Xmx512m"
--env discovery.type=single-node
Expand Down Expand Up @@ -66,14 +66,14 @@ jobs:
df -h .
free
mkdir -p _build
sudo mkdir -p /_build/libraries /_build/programs /_build/tests /mnt/_build
sudo chmod a+rwx /_build/libraries /_build/programs /_build/tests
sudo mkdir -p /_build/libraries /_build/programs /mnt/_build/tests
sudo chmod a+rwx /_build/libraries /_build/programs /mnt/_build/tests
ln -s /_build/libraries _build/libraries
ln -s /_build/programs _build/programs
ln -s /_build/tests _build/tests
ln -s /mnt/_build/tests _build/tests
sudo ln -s /_build/libraries /mnt/_build/libraries
sudo ln -s /_build/programs /mnt/_build/programs
sudo ln -s /_build/tests /mnt/_build/tests
sudo ln -s /mnt/_build/tests /_build/tests
ls -al _build
pushd _build
export -n BOOST_ROOT BOOST_INCLUDEDIR BOOST_LIBRARYDIR
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build-and-test.ubuntu-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
runs-on: ${{ matrix.os }}
services:
elasticsearch8:
image: elastic/elasticsearch:8.8.1
image: elastic/elasticsearch:8.10.2
options: >-
--env ES_JAVA_OPTS="-Xms512m -Xmx512m"
--env discovery.type=single-node
Expand All @@ -22,7 +22,7 @@ jobs:
--env cluster.routing.allocation.disk.threshold_enabled=false
--publish 9200:9200
elasticsearch7:
image: elastic/elasticsearch:7.17.10
image: elastic/elasticsearch:7.17.13
options: >-
--env ES_JAVA_OPTS="-Xms512m -Xmx512m"
--env discovery.type=single-node
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/build-and-test.win.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ env:
# The following are for windows cross-build only:
BOOST_VERSION: 1_69_0
BOOST_DOTTED_VERSION: 1.69.0
CURL_VERSION: 8.1.2
OPENSSL_VERSION: 1.1.1u
ZLIB_VERSION: 1.2.13
CURL_VERSION: 8.3.0
OPENSSL_VERSION: 1.1.1w
ZLIB_VERSION: 1.3
jobs:
prepare-mingw64-libs:
name: Build required 3rd-party libraries
Expand Down Expand Up @@ -154,4 +154,4 @@ jobs:
run: |
export CCACHE_DIR="$GITHUB_WORKSPACE/ccache"
mkdir -p "$CCACHE_DIR"
make -j 2 -C _build witness_node cli_wallet
make VERBOSE=1 -j 2 -C _build witness_node cli_wallet
2 changes: 1 addition & 1 deletion .github/workflows/sonar-scan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
runs-on: ${{ matrix.os }}
services:
elasticsearch8:
image: elastic/elasticsearch:8.8.1
image: elastic/elasticsearch:8.10.2
options: >-
--env ES_JAVA_OPTS="-Xms512m -Xmx512m"
--env discovery.type=single-node
Expand Down
2 changes: 2 additions & 0 deletions CONTRIBUTORS.txt
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ Jose Marcial Vieira Bisneto <[email protected]>
Jozef Knaperek <[email protected]>
Ken Code <[email protected]>
Krzysztof Szumny <[email protected]>
Massimo Paladin <[email protected]>
Paul Brossier <[email protected]>
Roelandp <[email protected]>
Semen Martynov <[email protected]>
Expand All @@ -80,5 +81,6 @@ bitcube <[email protected]>
hammadsherwani <[email protected]>
lafona <[email protected]>
liondani <[email protected]>
litepresence <[email protected]>
lososeg <[email protected]>
sinetek <[email protected]>
4 changes: 2 additions & 2 deletions Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,13 @@ PROJECT_NAME = "BitShares-Core"
# could be handy for archiving the generated documentation or if some version
# control system is used.

PROJECT_NUMBER = "6.1.0"
PROJECT_NUMBER = "7.0.0"

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
# quick idea about the purpose of the project. Keep the description short.

PROJECT_BRIEF = "BitShares blockchain implementation and command-line interface software"
PROJECT_BRIEF = "BitShares blockchain node software and command-line wallet software"

# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
# in the documentation. The maximum height of the logo should not exceed 55
Expand Down
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -190,8 +190,8 @@ Use `gethelp <COMMAND>` to see more info about individual commands. E.G.
>>> gethelp get_order_book

The definition of all commands is available in the
[wallet.hpp](https://github.com/bitshares/bitshares-core/blob/master/libraries/wallet/include/graphene/wallet/wallet.hpp) souce code file.
Corresponding documentation can be found in the [Doxygen documentation](https://doxygen.bitshares.org/classgraphene_1_1wallet_1_1wallet__api.html).
[wallet.hpp](https://github.com/bitshares/bitshares-core/blob/master/libraries/wallet/include/graphene/wallet/wallet.hpp) source code file.
Corresponding documentation can be found in the [Doxygen documentation](https://bitshares.github.io/doxygen/classgraphene_1_1wallet_1_1wallet__api.html).

You can run the program with `--help` parameter to see more info:

Expand All @@ -211,7 +211,7 @@ Questions can be posted in [Github Discussions](https://github.com/bitshares/bit

BitShares UI bugs should be reported to the [UI issue tracker](https://github.com/bitshares/bitshares-ui/issues).

Up to date online Doxygen documentation can be found at [Doxygen.BitShares.org](https://doxygen.bitshares.org/hierarchy.html).
Up to date online Doxygen documentation can be found at [https://bitshares.github.io/doxygen](https://bitshares.github.io/doxygen/hierarchy.html).


Using Built-In APIs
Expand Down Expand Up @@ -246,8 +246,8 @@ The definition of all node APIs is available in the source code files including
[database_api.hpp](https://github.com/bitshares/bitshares-core/blob/master/libraries/app/include/graphene/app/database_api.hpp)
and [api.hpp](https://github.com/bitshares/bitshares-core/blob/master/libraries/app/include/graphene/app/api.hpp).
Corresponding documentation can be found in Doxygen:
* [database API](https://doxygen.bitshares.org/classgraphene_1_1app_1_1database__api.html)
* [other APIs](https://doxygen.bitshares.org/namespacegraphene_1_1app.html)
* [database API](https://bitshares.github.io/doxygen/classgraphene_1_1app_1_1database__api.html)
* [other APIs](https://bitshares.github.io/doxygen/namespacegraphene_1_1app.html)


### Wallet API
Expand Down Expand Up @@ -304,7 +304,7 @@ Note: the `login` API set is always accessible.

Passwords are stored in `base64` as salted `sha256` hashes. A simple Python script,
[`saltpass.py`](https://github.com/bitshares/bitshares-core/blob/master/programs/witness_node/saltpass.py)
is avaliable to obtain hash and salt values from a password.
is available to obtain hash and salt values from a password.
A single asterisk `"*"` may be specified as username or password hash to accept any value.

With the above configuration, here is an example of how to call the `add_node` API from the `network_node` API set:
Expand All @@ -320,8 +320,8 @@ The restricted API sets are accessible via HTTP too using *basic access authenti
$ curl --data '{"jsonrpc": "2.0", "method": "call", "params": ["network_node", "add_node", ["127.0.0.1:9090"]], "id": 1}' http://bytemaster:[email protected]:8090/

Our `doxygen` documentation contains the most up-to-date information
about APIs for the [node](https://doxygen.bitshares.org/namespacegraphene_1_1app.html) and the
[wallet](https://doxygen.bitshares.org/classgraphene_1_1wallet_1_1wallet__api.html).
about APIs for the [node](https://bitshares.github.io/doxygen/namespacegraphene_1_1app.html) and the
[wallet](https://bitshares.github.io/doxygen/classgraphene_1_1wallet_1_1wallet__api.html).


FAQ
Expand Down
2 changes: 1 addition & 1 deletion docs
Submodule docs updated from 6f6ea4 to 8ba173
4 changes: 2 additions & 2 deletions libraries/README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# BitShares Libraries

The libraries are the core of the project and defines everything where applications can build on top.
The libraries are the core of the project and define everything where applications can build on top.

A **graphene** blockchain software will use the `app` library to define what the application will do, what services it will offer. The blockchain is defined by the `chain` library and include all the objects, types, operations, protocols that builds current consensus blockchain. The lowest level in memory database of Bitshares is developed at the `db` library. The `fc` is a helper module broadly used in the libraries code, `egenesis` will help with the genesis file, `plugins` will be loaded optionally to the application. Wallet software like the cli_wallet will benefit from the `wallet` library.
A **graphene** blockchain software will use the `app` library to define what the application will do, what services it will offer. The blockchain is defined by the `chain` library and includes all the objects, types, operations, protocols that build current consensus blockchain. The lowest level in memory database of Bitshares is developed at the `db` library. The `fc` is a helper module broadly used in the libraries code, `egenesis` will help with the genesis file, `plugins` will be loaded optionally to the application. Wallet software like the cli_wallet will benefit from the `wallet` library.

Code in libraries is the most important part of **bitshares-core** project and it is maintained by the Bitshares Core Team and contributors.
# Available Libraries
Expand Down
40 changes: 20 additions & 20 deletions libraries/app/application.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ void application_impl::reset_p2p_node(const fc::path& data_dir)
_p2p_network->sync_from(net::item_id(net::core_message_type_enum::block_message_type,
_chain_db->head_block_id()),
std::vector<uint32_t>());
} FC_CAPTURE_AND_RETHROW() }
} FC_CAPTURE_AND_RETHROW() } // GCOVR_EXCL_LINE

void application_impl::new_connection( const fc::http::websocket_connection_ptr& c )
{
Expand Down Expand Up @@ -234,7 +234,7 @@ void application_impl::reset_websocket_server()
ilog("Configured websocket rpc to listen on ${ip}", ("ip",_options->at("rpc-endpoint").as<string>()));
_websocket_server->listen( fc::ip::endpoint::from_string(_options->at("rpc-endpoint").as<string>()) );
_websocket_server->start_accept();
} FC_CAPTURE_AND_RETHROW() }
} FC_CAPTURE_AND_RETHROW() } // GCOVR_EXCL_LINE

void application_impl::reset_websocket_tls_server()
{ try {
Expand All @@ -259,7 +259,7 @@ void application_impl::reset_websocket_tls_server()
ilog("Configured websocket TLS rpc to listen on ${ip}", ("ip",_options->at("rpc-tls-endpoint").as<string>()));
_websocket_tls_server->listen( fc::ip::endpoint::from_string(_options->at("rpc-tls-endpoint").as<string>()) );
_websocket_tls_server->start_accept();
} FC_CAPTURE_AND_RETHROW() }
} FC_CAPTURE_AND_RETHROW() } // GCOVR_EXCL_LINE

void application_impl::initialize(const fc::path& data_dir, shared_ptr<boost::program_options::variables_map> options)
{
Expand Down Expand Up @@ -526,7 +526,7 @@ graphene::chain::genesis_state_type application_impl::initialize_genesis_state()
genesis.initial_chain_id = fc::sha256::hash( egenesis_json );
return genesis;
}
} FC_CAPTURE_AND_RETHROW()
} FC_CAPTURE_AND_RETHROW() // GCOVR_EXCL_LINE
}

void application_impl::open_chain_database() const
Expand Down Expand Up @@ -634,7 +634,7 @@ bool application_impl::is_plugin_enabled(const string& name) const
return !(_active_plugins.find(name) == _active_plugins.end());
}

/**
/*
* If delegate has the item, the network has no need to fetch it.
*/
bool application_impl::has_item(const net::item_id& id)
Expand All @@ -646,10 +646,10 @@ bool application_impl::has_item(const net::item_id& id)
else
return _chain_db->is_known_transaction(id.item_hash);
}
FC_CAPTURE_AND_RETHROW( (id) )
FC_CAPTURE_AND_RETHROW( (id) ) // GCOVR_EXCL_LINE
}

/**
/*
* @brief allows the application to validate an item prior to broadcasting to peers.
*
* @param sync_mode true if the message was fetched through the sync process, false during normal operation
Expand Down Expand Up @@ -728,7 +728,7 @@ bool application_impl::handle_block(const graphene::net::block_message& blk_msg,
_is_finished_syncing = true;
_self.syncing_finished();
}
} FC_CAPTURE_AND_RETHROW( (blk_msg)(sync_mode) ) return false; }
} FC_CAPTURE_AND_RETHROW( (blk_msg)(sync_mode) ) return false; } // GCOVR_EXCL_LINE

void application_impl::handle_transaction(const graphene::net::trx_message& transaction_message)
{ try {
Expand All @@ -744,7 +744,7 @@ void application_impl::handle_transaction(const graphene::net::trx_message& tran

_chain_db->precompute_parallel( transaction_message.trx ).wait();
_chain_db->push_transaction( transaction_message.trx );
} FC_CAPTURE_AND_RETHROW( (transaction_message) ) }
} FC_CAPTURE_AND_RETHROW( (transaction_message) ) } // GCOVR_EXCL_LINE

void application_impl::handle_message(const message& message_to_process)
{
Expand All @@ -759,7 +759,7 @@ bool application_impl::is_included_block(const block_id_type& block_id)
return block_id == block_id_in_preferred_chain;
}

/**
/*
* Assuming all data elements are ordered in some way, this method should
* return up to limit ids that occur *after* the last ID in synopsis that
* we recognize.
Expand Down Expand Up @@ -814,9 +814,9 @@ std::vector<item_hash_t> application_impl::get_block_ids(const std::vector<item_
remaining_item_count = _chain_db->head_block_num() - block_header::num_from_id(result.back());

return result;
} FC_CAPTURE_AND_RETHROW( (blockchain_synopsis)(remaining_item_count)(limit) ) }
} FC_CAPTURE_AND_RETHROW( (blockchain_synopsis)(remaining_item_count)(limit) ) } // GCOVR_EXCL_LINE

/**
/*
* Given the hash of the requested data, fetch the body.
*/
message application_impl::get_item(const item_id& id)
Expand All @@ -833,14 +833,14 @@ message application_impl::get_item(const item_id& id)
return block_message(std::move(*opt_block));
}
return trx_message( _chain_db->get_recent_transaction( id.item_hash ) );
} FC_CAPTURE_AND_RETHROW( (id) ) }
} FC_CAPTURE_AND_RETHROW( (id) ) } // GCOVR_EXCL_LINE

chain_id_type application_impl::get_chain_id() const
{
return _chain_db->get_chain_id();
}

/**
/*
* Returns a synopsis of the blockchain used for syncing. This consists of a list of
* block hashes at intervals exponentially increasing towards the genesis block.
* When syncing to a peer, the peer uses this data to determine if we're on the same
Expand Down Expand Up @@ -1016,9 +1016,9 @@ std::vector<item_hash_t> application_impl::get_blockchain_synopsis(const item_ha

//idump((synopsis));
return synopsis;
} FC_CAPTURE_AND_RETHROW() }
} FC_CAPTURE_AND_RETHROW() } // GCOVR_EXCL_LINE

/**
/*
* Call this after the call to handle_message succeeds.
*
* @param item_type the type of the item we're synchronizing, will be the same as item passed to the sync_from() call
Expand All @@ -1030,7 +1030,7 @@ void application_impl::sync_status(uint32_t item_type, uint32_t item_count)
// any status reports to GUI go here
}

/**
/*
* Call any time the number of connected peers changes.
*/
void application_impl::connection_count_changed(uint32_t c)
Expand All @@ -1041,9 +1041,9 @@ void application_impl::connection_count_changed(uint32_t c)
uint32_t application_impl::get_block_number(const item_hash_t& block_id)
{ try {
return block_header::num_from_id(block_id);
} FC_CAPTURE_AND_RETHROW( (block_id) ) }
} FC_CAPTURE_AND_RETHROW( (block_id) ) } // GCOVR_EXCL_LINE

/**
/*
* Returns the time a block was produced (if block_id = 0, returns genesis time).
* If we don't know about the block, returns time_point_sec::min()
*/
Expand All @@ -1052,7 +1052,7 @@ fc::time_point_sec application_impl::get_block_time(const item_hash_t& block_id)
auto opt_block = _chain_db->fetch_block_by_id( block_id );
if( opt_block.valid() ) return opt_block->timestamp;
return fc::time_point_sec::min();
} FC_CAPTURE_AND_RETHROW( (block_id) ) }
} FC_CAPTURE_AND_RETHROW( (block_id) ) } // GCOVR_EXCL_LINE

item_hash_t application_impl::get_head_block_id() const
{
Expand Down
Loading

0 comments on commit c5f71fc

Please sign in to comment.