35 explicit BasicGasPricer(
u256 _weiPerRef,
u256 _refsPerBlock): m_weiPerRef(_weiPerRef), m_refsPerBlock(_refsPerBlock) {}
37 void setRefPrice(
u256 _weiPerRef) {
if ((
bigint)m_refsPerBlock * _weiPerRef > std::numeric_limits<u256>::max() ) BOOST_THROW_EXCEPTION(Overflow() <<
errinfo_comment(
"ether price * block fees is larger than 2**256-1, choose a smaller number.") );
else m_weiPerRef = _weiPerRef; }
38 void setRefBlockFees(
u256 _refsPerBlock) {
if ((
bigint)m_weiPerRef * _refsPerBlock > std::numeric_limits<u256>::max() ) BOOST_THROW_EXCEPTION(Overflow() <<
errinfo_comment(
"ether price * block fees is larger than 2**256-1, choose a smaller number.") );
else m_refsPerBlock = _refsPerBlock; }
40 u256 ask(
Block const&)
const override {
return m_weiPerRef * m_refsPerBlock / m_gasPerBlock; }
48 u256 m_gasPerBlock = DefaultBlockGasLimit;
49 std::array<u256, 9> m_octiles;