def get_contract(path): if path is None: files = glob('*.tz') assert len(files) == 1 contract = Contract.from_file(abspath(files[0])) elif any(map(lambda x: path.startswith(x), ['zeronet', 'babylonnet', 'mainnet'])): network, address = path.split(':') ptz = pytezos.using(shell=network) script = ptz.shell.contracts[address].script() contract = Contract.from_micheline(script['code']) else: contract = Contract.from_file(path) return contract
def do_include(ctx: Context, prim, args, annots): path = get_string(args[0]) if isfile(path): code = Contract.from_file(path).code else: parts = path.split(':') network = parts[0] if len(parts) > 1 else ctx.get('NETWORK', 'mainnet') address = parts[1] if len(parts) > 1 else parts[0] assert is_kt(address), f'expected filename or KT address (with network), got {path}' script = Interop().using(network).shell.contracts[address].script() code = script['code'] ctx.set('STORAGE', script['storage']) do_interpret(ctx, code)
def deploy(file: str) -> None: """ Deploy the compiled contract in the file """ print(f"Deploying {file}.py ....") contract = Contract.from_file(f"contract/build/{file}_compiled.tz") contract_storage = {} with open(expanduser(f"contract/build/{file}_storage_init.tz")) as f: contract_storage = f.read().replace('\n', '') opg = pytezos.origination( contract.script(storage=contract.storage.decode( contract_storage))).autofill().sign().inject(_async=False) return opg['contents'][0]['metadata']['operation_result'][ 'originated_contracts'][0]
def post(self): payload = v.read_requests(request) try: sess = v.read_session(session) except: pytz = v.load_keystore() if payload['forge'] == True: pass contract = Contract.from_file('./smart_contracts/fa12.tz') op = pytz.origination(script=contract.script( storage={ 'ledger': {}, 'admin': payload['admin'], 'paused': False, 'totalSupply': payload['total_supply'] })).autofill().sign().inject(_async=False, num_blocks_wait=2) return OperationResult.originated_contracts(op)
def post(self): #try: payload = v.read_requests(request) pytz = v.read_session(session) swap = Contract.from_file('./smart_contracts/atomic_swap.tz') op = pytz.origination(script=swap.script(storage= { 'admin': pytz.key.public_key_hash(), "interested_party": pytz.key.public_key_hash(), 'fa12' : payload['fa12'], 'immutable': False, 'tk_amount' : payload['tk_amount'], 'tz_amount' : payload['tz_amount']})).fill().sign().inject(_async=False, num_blocks_wait=2) swapkt = OperationResult.originated_contracts(op) fa12 = pytz.contract(payload['fa12']) print([pytz.key.public_key_hash(), swapkt[0]]) r = fa12.transfer({"from" : pytz.key.public_key_hash(), "to" : swapkt[0], 'value' : payload['tk_amount']}).inject() return [v.filter_response(op), r]
def post(self): print(request.data) payload = v.read_requests(request) print(payload) pytz = pytezos.using(key=payload['tz'], shell="mainnet") contract = Contract.from_file('./smart_contracts/transaction2.tz') op = pytz.origination(script=contract.script(storage=2)).fill() print(op.json_payload()) print(op.forge()) # return op.json_payload()['contents'][0] res = { "code": [op.json_payload()['contents'][0]['script']['code']], "storage": op.json_payload()['contents'][0]['script']['storage'], "bytes": op.forge(), "operation": op.json_payload() } print(res) return res
def __init__(self): self.contract = Contract.from_file('./smart_contracts/protocol.tz') self.protocol = 'KT1Q72pNNiCnBamwttWvXGE9N2yuz6c7guSD' self.oracle = '' self.network = 'mainnet'