2015-06-08 15:50:35 +00:00
|
|
|
/*
|
2015-10-12 17:02:59 +00:00
|
|
|
* Copyright (c) 2015 Cryptonomex, Inc., and contributors. All rights reserved.
|
2015-06-08 15:50:35 +00:00
|
|
|
*
|
|
|
|
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
|
|
|
|
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
|
|
|
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
|
|
|
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
|
|
|
|
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
|
|
|
|
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
2015-10-12 17:02:59 +00:00
|
|
|
*
|
2015-06-08 15:50:35 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#include <graphene/chain/database.hpp>
|
|
|
|
|
|
|
|
|
|
#include <graphene/chain/asset_object.hpp>
|
2015-08-17 16:59:51 +00:00
|
|
|
#include <graphene/chain/chain_property_object.hpp>
|
2015-06-08 15:50:35 +00:00
|
|
|
#include <graphene/chain/global_property_object.hpp>
|
|
|
|
|
|
|
|
|
|
namespace graphene { namespace chain {
|
|
|
|
|
|
|
|
|
|
const asset_object& database::get_core_asset() const
|
|
|
|
|
{
|
|
|
|
|
return get(asset_id_type());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const global_property_object& database::get_global_properties()const
|
|
|
|
|
{
|
|
|
|
|
return get( global_property_id_type() );
|
|
|
|
|
}
|
|
|
|
|
|
2015-08-17 16:59:51 +00:00
|
|
|
const chain_property_object& database::get_chain_properties()const
|
|
|
|
|
{
|
|
|
|
|
return get( chain_property_id_type() );
|
|
|
|
|
}
|
|
|
|
|
|
2015-06-08 15:50:35 +00:00
|
|
|
const dynamic_global_property_object&database::get_dynamic_global_properties() const
|
|
|
|
|
{
|
|
|
|
|
return get( dynamic_global_property_id_type() );
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-08 20:39:23 +00:00
|
|
|
const fee_schedule& database::current_fee_schedule()const
|
2015-06-08 15:50:35 +00:00
|
|
|
{
|
|
|
|
|
return get_global_properties().parameters.current_fees;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
time_point_sec database::head_block_time()const
|
|
|
|
|
{
|
|
|
|
|
return get( dynamic_global_property_id_type() ).time;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
uint32_t database::head_block_num()const
|
|
|
|
|
{
|
|
|
|
|
return get( dynamic_global_property_id_type() ).head_block_number;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
block_id_type database::head_block_id()const
|
|
|
|
|
{
|
|
|
|
|
return get( dynamic_global_property_id_type() ).head_block_id;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
decltype( chain_parameters::block_interval ) database::block_interval( )const
|
|
|
|
|
{
|
|
|
|
|
return get_global_properties().parameters.block_interval;
|
|
|
|
|
}
|
|
|
|
|
|
2015-08-06 16:41:45 +00:00
|
|
|
const chain_id_type& database::get_chain_id( )const
|
|
|
|
|
{
|
2015-08-17 16:59:51 +00:00
|
|
|
return get_chain_properties().chain_id;
|
2015-08-06 16:41:45 +00:00
|
|
|
}
|
|
|
|
|
|
2015-06-18 02:22:54 +00:00
|
|
|
const node_property_object& database::get_node_properties()const
|
|
|
|
|
{
|
|
|
|
|
return _node_property_object;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
node_property_object& database::node_properties()
|
|
|
|
|
{
|
|
|
|
|
return _node_property_object;
|
|
|
|
|
}
|
|
|
|
|
|
2015-09-10 12:56:29 +00:00
|
|
|
uint32_t database::last_non_undoable_block_num() const
|
|
|
|
|
{
|
|
|
|
|
return head_block_num() - _undo_db.size();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2015-06-08 15:50:35 +00:00
|
|
|
} }
|