def get_parameter_expr(self, address=None) -> Optional: if self.shell and address: if address == get_originated_address(0): return None # dummy callback else: script = self.shell.contracts[address].script() return get_script_section(script, 'parameter') else: return None if address else self.parameter_expr
def create(sequence: Type[MichelineSequence]) -> Type['MichelsonProgram']: validate_sections(sequence, ('parameter', 'storage', 'code')) cls = type( MichelsonProgram.__name__, (MichelsonProgram, ), dict( parameter=get_script_section(sequence, cls=ParameterSection, required=True), # type: ignore storage=get_script_section(sequence, cls=StorageSection, required=True), # type: ignore code=get_script_section(sequence, cls=CodeSection, required=True), # type: ignore ), ) return cast(Type['MichelsonProgram'], cls)
def __init__(self, amount=None, chain_id=None, source=None, sender=None, balance=None, block_id=None, now=None, level=None, voting_power=None, total_voting_power=None, key=None, shell=None, address=None, counter=None, script=None, mode=None): self.key: Optional[Key] = key self.shell: Optional[ShellQuery] = shell self.counter = counter self.mode = mode or 'readable' self.block_id = block_id or 'head' self.address = address self.balance = balance self.amount = amount self.now = now self.level = level self.sender = sender self.source = source self.chain_id = chain_id self.voting_power = voting_power self.total_voting_power = total_voting_power self.parameter_expr = get_script_section( script, 'parameter') if script else None self.storage_expr = get_script_section(script, 'storage') if script else None self.code_expr = get_script_section(script, 'code') if script else None self.origination_index = 1 self.tmp_big_map_index = 0 self.tmp_sapling_index = 0 self.alloc_big_map_index = 0 self.alloc_sapling_index = 0 self.balance_update = 0 self.big_maps = {}
def get_parameter_expr(self, address=None) -> Optional[str]: if self.shell and address: if address == get_originated_address(0): return None # dummy callback else: script = self.shell.contracts[address].script() return get_script_section(script, name='parameter', cls=None, required=True) return None if address else self.parameter_expr
def create( sequence: Type[MichelineSequence]) -> Type['TztMichelsonProgram']: validate_sections(sequence, ('input', 'output', 'code')) cls = type( TztMichelsonProgram.__name__, (TztMichelsonProgram, ), dict( input=get_script_section(sequence, cls=InputSection, required=True), # type: ignore output=get_script_section(sequence, cls=OutputSection, required=True), # type: ignore code=get_script_section(sequence, cls=CodeSection, required=True), # type: ignore big_maps=get_script_section(sequence, cls=BigMapsSection, required=False), # type: ignore ), ) return cast(Type['TztMichelsonProgram'], cls)
def test_storage_type_exwcsd(self): type_expr = self.program.storage.as_micheline_expr() self.assertEqual( get_script_section(self.script, name='storage', required=True), type_expr, 'micheline -> type -> micheline')
def test_parameter_type_exwcsd(self): type_expr = self.program.parameter.as_micheline_expr() self.assertEqual( get_script_section(self.script, name='parameter', required=True), type_expr, 'micheline -> type -> micheline')
def test_storage_type_exdnhe(self): type_expr = self.program.storage.as_micheline_expr() self.assertEqual(get_script_section(self.script, 'storage'), type_expr, 'micheline -> type -> micheline')
def test_parameter_type_exdnhe(self): type_expr = self.program.parameter.as_micheline_expr() self.assertEqual(get_script_section(self.script, 'parameter'), type_expr, 'micheline -> type -> micheline')
def test_storage_type_tezos_israel_and_madfish_solutions_workshop_certificate( self): type_expr = self.program.storage.as_micheline_expr() self.assertEqual( get_script_section(self.script, name='storage', required=True), type_expr, 'micheline -> type -> micheline')
def test_storage_type_harbinger_oracle__coinbase_normalizer(self): type_expr = self.program.storage.as_micheline_expr() self.assertEqual( get_script_section(self.script, name='storage', required=True), type_expr, 'micheline -> type -> micheline')
def __init__(self, amount=None, chain_id=None, source=None, sender=None, balance=None, block_id=None, now=None, level=None, voting_power=None, total_voting_power=None, key=None, shell=None, address=None, counter=None, script=None, tzt=False, mode=None): self.key: Optional[Key] = key self.shell: Optional[ShellQuery] = shell self.counter = counter self.mode = mode or 'readable' self.block_id = block_id or 'head' self.address = address self.balance = balance self.amount = amount self.now = now self.level = level self.sender = sender self.source = source self.chain_id = chain_id self.voting_power = voting_power self.total_voting_power = total_voting_power self.tzt = tzt self.parameter_expr = get_script_section( script, name='parameter') if script and not tzt else None self.storage_expr = get_script_section( script, name='storage') if script and not tzt else None self.code_expr = get_script_section(script, name='code') if script else None self.input_expr = get_script_section( script, name='input') if script and tzt else None self.output_expr = get_script_section( script, name='output') if script and tzt else None self.sender_expr = get_script_section( script, name='sender') if script and tzt else None self.balance_expr = get_script_section( script, name='balance') if script and tzt else None self.amount_expr = get_script_section( script, name='amount') if script and tzt else None self.self_expr = get_script_section( script, name='self') if script and tzt else None self.now_expr = get_script_section( script, name='now') if script and tzt else None self.source_expr = get_script_section( script, name='source') if script and tzt else None self.chain_id_expr = get_script_section( script, name='chain_id') if script and tzt else None self.big_maps_expr = get_script_section( script, name='big_maps') if script and tzt else None self.origination_index = 1 self.tmp_big_map_index = 0 self.tmp_sapling_index = 0 self.alloc_big_map_index = 0 self.alloc_sapling_index = 0 self.balance_update = 0 self.big_maps = {} self.tzt_big_maps = {} self.debug = False self._sandboxed: Optional[bool] = None
def test_parameter_type_tezos_israel_and_madfish_solutions_workshop_certificate( self): type_expr = self.program.parameter.as_micheline_expr() self.assertEqual(get_script_section(self.script, 'parameter'), type_expr, 'micheline -> type -> micheline')
def test_parameter_type_harbinger_oracle__coinbase_storage(self): type_expr = self.program.parameter.as_micheline_expr() self.assertEqual( get_script_section(self.script, name='parameter', required=True), type_expr, 'micheline -> type -> micheline')
def test_parameter_type_harbinger_oracle__coinbase_normalizer(self): type_expr = self.program.parameter.as_micheline_expr() self.assertEqual(get_script_section(self.script, 'parameter'), type_expr, 'micheline -> type -> micheline')
def test_storage_type_harbinger_oracle__coinbase_storage(self): type_expr = self.program.storage.as_micheline_expr() self.assertEqual(get_script_section(self.script, 'storage'), type_expr, 'micheline -> type -> micheline')