def forge_delegation(content: Dict[str, Any]) -> bytes: res = forge_nat(operation_tags[content['kind']]) res += forge_address(content['source'], tz_only=True) res += forge_nat(int(content['fee'])) res += forge_nat(int(content['counter'])) res += forge_nat(int(content['gas_limit'])) res += forge_nat(int(content['storage_limit'])) if content.get('delegate'): res += forge_bool(True) res += forge_address(content['delegate'], tz_only=True) else: res += forge_bool(False) return res
def to_micheline_value(self, mode='readable', lazy_diff=False): if mode in ['optimized', 'legacy_optimized']: return {'bytes': forge_address(self.value, tz_only=True).hex()} elif mode == 'readable': return {'string': self.value} else: assert False, f'unsupported mode {mode}'
def forge_transaction(content: Dict[str, Any]) -> bytes: res = forge_nat(operation_tags[content['kind']]) res += forge_address(content['source'], tz_only=True) res += forge_nat(int(content['fee'])) res += forge_nat(int(content['counter'])) res += forge_nat(int(content['gas_limit'])) res += forge_nat(int(content['storage_limit'])) res += forge_nat(int(content['amount'])) res += forge_address(content['destination']) if has_parameters(content): res += forge_bool(True) res += forge_entrypoint(content['parameters']['entrypoint']) res += forge_array(forge_micheline(content['parameters']['value'])) else: res += forge_bool(False) return res
def forge_reveal(content: Dict[str, Any]) -> bytes: res = forge_nat(operation_tags[content['kind']]) res += forge_address(content['source'], tz_only=True) res += forge_nat(int(content['fee'])) res += forge_nat(int(content['counter'])) res += forge_nat(int(content['gas_limit'])) res += forge_nat(int(content['storage_limit'])) res += forge_public_key(content['public_key']) return res
def forge_origination(content): res = forge_nat(operation_tags[content['kind']]) res += forge_address(content['source'], tz_only=True) res += forge_nat(int(content['fee'])) res += forge_nat(int(content['counter'])) res += forge_nat(int(content['gas_limit'])) res += forge_nat(int(content['storage_limit'])) res += forge_nat(int(content['balance'])) if content.get('delegate'): res += forge_bool(True) res += forge_address(content['delegate'], tz_only=True) else: res += forge_bool(False) res += forge_script(content['script']) return res