Exemple #1
0
 def get_context(self):
     context = IconScoreContext(IconScoreContextType.INVOKE)
     context.step_counter = Mock(spec=IconScoreStepCounter)
     context.step_counter.step_price = 10 ** 10
     context.tx = Mock(spec=Transaction)
     context.tx.to = self._score_address
     block = Mock(spec=Block)
     block.attach_mock(Mock(return_value=0), 'height')
     context.block = block
     context.storage = ContextStorage(deploy=self.deploy_storage,fee=self.fee_storage, icx=self.icx_storage,
                                      iiss=None, prep=None, issue=None, rc=None, meta=None)
     context.engine = ContextEngine(deploy=None, fee=None, icx=self._icx_engine, iiss=None, prep=None, issue=None)
     return context
def context_with_icx_storage(context_db, genesis_address,
                             fee_treasury_address):
    accounts: list = [{
        'address': genesis_address,
        'balance': TOTAL_SUPPLY
    }, {
        'address': fee_treasury_address,
        'balance': 0
    }]
    storage = IcxStorage(context_db)
    context = IconScoreContext(IconScoreContextType.DIRECT)
    block = Mock(spec=Block)
    block.attach_mock(Mock(return_value=0), 'height')
    context.block = block
    context.storage = ContextStorage(icx=storage)
    storage.put_genesis_accounts(context, accounts)
    yield context
    storage.close(context)
Exemple #3
0
    def setUp(self):
        context = IconScoreContext(IconScoreContextType.DIRECT)
        block = Mock(spec=Block)
        block.attach_mock(Mock(return_value=0), 'height')
        context.block = block

        self._sender = Address.from_data(AddressPrefix.EOA, os.urandom(20))
        self._score_address = Address.from_data(AddressPrefix.CONTRACT, os.urandom(20))

        context_db = create_context_db()

        self.deploy_storage = DeployStorage(context_db)
        deploy_info = IconScoreDeployInfo(self._score_address,
                                          DeployState.ACTIVE,
                                          self._sender,
                                          os.urandom(32),
                                          os.urandom(32))
        self.icx_storage = IcxStorage(context_db)
        self._icx_engine = IcxEngine()

        self.fee_storage = FeeStorage(context_db)
        patch_fee_storage(self.fee_storage)

        self.deploy_storage.put_deploy_info(context, deploy_info)
        context.storage = ContextStorage(deploy=self.deploy_storage, fee=self.fee_storage, icx=self.icx_storage,
                                         iiss=None, prep=None, issue=None, rc=None, meta=None)
        context.engine = ContextEngine(deploy=None, fee=None, icx=self._icx_engine, iiss=None, prep=None, issue=None)
        self._icx_engine.open(self.icx_storage)

        self.icx_storage._put_genesis_data_account(context,
                                                   CoinPartType.GENERAL,
                                                   self._sender,
                                                   100000000 * 10 ** 18)
        self.icx_storage._put_genesis_data_account(context, CoinPartType.TREASURY,
                                                   Address.from_data(AddressPrefix.EOA, os.urandom(20)), 0)

        self._engine = FeeEngine()
Exemple #4
0
from iconservice.icon_constant import (PREP_MAIN_PREPS,
                                       PREP_MAIN_AND_SUB_PREPS, TERM_PERIOD,
                                       IconScoreContextType, PenaltyReason,
                                       PRepStatus, TermFlag)
from iconservice.iconscore.icon_score_context import IconScoreContext
from iconservice.icx import IcxStorage
from iconservice.prep import PRepStorage
from iconservice.prep.data import PRep, Term
from iconservice.utils import ContextStorage

context = IconScoreContext(IconScoreContextType.DIRECT)
context.storage = ContextStorage(deploy=None,
                                 fee=None,
                                 icx=Mock(spec=IcxStorage),
                                 iiss=None,
                                 issue=None,
                                 rc=None,
                                 prep=Mock(spec=PRepStorage),
                                 meta=None,
                                 inv=None)
context.storage.prep.put_term = Mock()


def _check_prep_snapshots_in_term(term: 'Term'):
    assert len(term) == len(term.main_preps) + len(term.sub_preps)

    for snapshot in term.preps:
        assert snapshot.address in term


class TestTerm(unittest.TestCase):