Esempio n. 1
0
 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
Esempio n. 2
0
 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)
Esempio n. 3
0
 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 = {}
Esempio n. 4
0
 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
Esempio n. 5
0
 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)
Esempio n. 6
0
 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')
Esempio n. 7
0
 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')
Esempio n. 8
0
 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')
Esempio n. 9
0
 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')
Esempio n. 12
0
 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
Esempio n. 13
0
 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')
Esempio n. 14
0
 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')
Esempio n. 15
0
 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')
Esempio n. 16
0
 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')