parse = lambda code, **kwargs: node( pyext.parse(strtobytes(pre_transform(code, kwargs)))) rewrite = lambda x: node(pyext.rewrite(take(strtobytes(x)))) rewrite_chunk = lambda x: node(pyext.rewrite_chunk(take(strtobytes(x)))) pretty_compile = lambda code, **kwargs: list( map(node, pyext.pretty_compile(strtobytes(pre_transform(code, kwargs))))) pretty_compile_chunk = lambda code, **kwargs: list( map(node, pyext.pretty_compile_chunk(strtobytes(pre_transform(code, kwargs))))) pretty_compile_lll = lambda code, **kwargs: list( map( node, pyext.pretty_compile_lll(take(strtobytes(pre_transform(code, kwargs)))) )) serialize = lambda x: pyext.serialize(takelist(strtobytes(x))) deserialize = lambda x: list(map(node, pyext.deserialize(x))) mk_signature = lambda code, **kwargs: pyext.mk_signature( strtobytes(pre_transform(code, kwargs))) mk_full_signature = lambda code, **kwargs: json.loads( bytestostr(pyext.mk_full_signature(strtobytes(pre_transform(code, kwargs))) )) mk_contract_info_decl = lambda code, **kwargs: json.loads( bytestostr( pyext.mk_contract_info_decl(strtobytes(pre_transform(code, kwargs))))) get_prefix = lambda x: pyext.get_prefix(strtobytes(x)) % 2**32 if sys.version_info.major == 2: is_string = lambda x: isinstance(x, (str, str, bytes)) is_numeric = lambda x: isinstance(x, (int, int)) else: is_string = lambda x: isinstance(x, (str, bytes))
return map(take, parse(x).args if isinstance(x, (str, unicode)) else x) compile = lambda x: pyext.compile(x) compile_chunk = lambda x: pyext.compile_chunk(x) compile_to_lll = lambda x: node(pyext.compile_to_lll(x)) compile_chunk_to_lll = lambda x: node(pyext.compile_chunk_to_lll(x)) compile_lll = lambda x: pyext.compile_lll(take(x)) parse = lambda x: node(pyext.parse(x)) rewrite = lambda x: node(pyext.rewrite(take(x))) rewrite_chunk = lambda x: node(pyext.rewrite_chunk(take(x))) pretty_compile = lambda x: map(node, pyext.pretty_compile(x)) pretty_compile_chunk = lambda x: map(node, pyext.pretty_compile_chunk(x)) pretty_compile_lll = lambda x: map(node, pyext.pretty_compile_lll(take(x))) serialize = lambda x: pyext.serialize(takelist(x)) deserialize = lambda x: map(node, pyext.deserialize(x)) is_numeric = lambda x: isinstance(x, (int, long)) is_string = lambda x: isinstance(x, (str, unicode)) tobytearr = lambda n, L: [] if L == 0 else tobytearr(n / 256, L - 1 ) + [n % 256] # A set of methods for detecting raw values (numbers and strings) and # converting them to integers def frombytes(b): return 0 if len(b) == 0 else ord(b[-1]) + 256 * frombytes(b[:-1]) def fromhex(b): hexord = lambda x: '0123456789abcdef'.find(x)
def takelist(x): return map(take, parse(x).args if isinstance(x, (str, unicode, bytes)) else x) compile = lambda x: pyext.compile(strtobytes(x)) compile_chunk = lambda x: pyext.compile_chunk(strtobytes(x)) compile_to_lll = lambda x: node(pyext.compile_to_lll(strtobytes(x))) compile_chunk_to_lll = lambda x: node(pyext.compile_chunk_to_lll(strtobytes(x))) compile_lll = lambda x: pyext.compile_lll(take(strtobytes(x))) parse = lambda x: node(pyext.parse(strtobytes(x))) rewrite = lambda x: node(pyext.rewrite(take(strtobytes(x)))) rewrite_chunk = lambda x: node(pyext.rewrite_chunk(take(strtobytes(x)))) pretty_compile = lambda x: map(node, pyext.pretty_compile(strtobytes(x))) pretty_compile_chunk = lambda x: map(node, pyext.pretty_compile_chunk(strtobytes(x))) pretty_compile_lll = lambda x: map(node, pyext.pretty_compile_lll(take(strtobytes(x)))) serialize = lambda x: pyext.serialize(takelist(strtobytes(x))) deserialize = lambda x: map(node, pyext.deserialize(strtobytes(x))) is_numeric = lambda x: isinstance(x, (int, long)) is_string = lambda x: isinstance(x, (str, unicode)) tobytearr = lambda n, L: [] if L == 0 else tobytearr(n / 256, L - 1)+[n % 256] # A set of methods for detecting raw values (numbers and strings) and # converting them to integers def frombytes(b): return 0 if len(b) == 0 else ord(b[-1]) + 256 * frombytes(b[:-1]) def fromhex(b): hexord = lambda x: '0123456789abcdef'.find(x) return 0 if len(b) == 0 else hexord(b[-1]) + 16 * fromhex(b[:-1])
return pyext.parse_lll(x) if isinstance(x, (str, unicode)) else x.out() def takelist(x): return map(take, parse(x).args if isinstance(x, (str, unicode)) else x) compile = lambda x: pyext.compile(x) compile_to_lll = lambda x: node(pyext.compile_to_lll(x)) compile_lll = lambda x: pyext.compile_lll(take(x)) parse = lambda x: node(pyext.parse(x)) rewrite = lambda x: node(pyext.rewrite(take(x))) pretty_compile = lambda x: map(node, pyext.pretty_compile(x)) pretty_compile_lll = lambda x: map(node, pyext.pretty_compile_lll(take(x))) serialize = lambda x: pyext.serialize(takelist(x)) deserialize = lambda x: map(node, pyext.deserialize(x)) is_numeric = lambda x: isinstance(x, (int, long)) is_string = lambda x: isinstance(x, (str, unicode)) tobytearr = lambda n, L: [] if L == 0 else tobytearr(n / 256, L - 1)+[n % 256] # A set of methods for detecting raw values (numbers and strings) and # converting them to integers def frombytes(b): return 0 if len(b) == 0 else ord(b[-1]) + 256 * frombytes(b[:-1]) def fromhex(b): hexord = lambda x: '0123456789abcdef'.find(x) return 0 if len(b) == 0 else hexord(b[-1]) + 16 * fromhex(b[:-1])
compile = lambda x: pyext.compile(strtobytes(x)) compile_chunk = lambda x: pyext.compile_chunk(strtobytes(x)) compile_to_lll = lambda x: node(pyext.compile_to_lll(strtobytes(x))) compile_chunk_to_lll = lambda x: node(pyext.compile_chunk_to_lll(strtobytes(x)) ) compile_lll = lambda x: pyext.compile_lll(take(strtobytes(x))) parse = lambda x: node(pyext.parse(strtobytes(x))) rewrite = lambda x: node(pyext.rewrite(take(strtobytes(x)))) rewrite_chunk = lambda x: node(pyext.rewrite_chunk(take(strtobytes(x)))) pretty_compile = lambda x: map(node, pyext.pretty_compile(strtobytes(x))) pretty_compile_chunk = lambda x: map(node, pyext.pretty_compile_chunk(strtobytes(x))) pretty_compile_lll = lambda x: map( node, pyext.pretty_compile_lll(take(strtobytes(x)))) serialize = lambda x: pyext.serialize(takelist(strtobytes(x))) deserialize = lambda x: map(node, pyext.deserialize(strtobytes(x))) is_numeric = lambda x: isinstance(x, (int, long)) is_string = lambda x: isinstance(x, (str, unicode)) tobytearr = lambda n, L: [] if L == 0 else tobytearr(n / 256, L - 1 ) + [n % 256] # A set of methods for detecting raw values (numbers and strings) and # converting them to integers def frombytes(b): return 0 if len(b) == 0 else ord(b[-1]) + 256 * frombytes(b[:-1]) def fromhex(b): hexord = lambda x: '0123456789abcdef'.find(x)