32 lines
895 B
Python
32 lines
895 B
Python
import argparse
|
|
import json
|
|
import os
|
|
|
|
from vyper import compiler
|
|
|
|
DIR = os.path.dirname(__file__)
|
|
|
|
|
|
def generate_compiled_json(file_path: str):
|
|
deposit_contract_code = open(file_path).read()
|
|
abi = compiler.mk_full_signature(deposit_contract_code)
|
|
bytecode = compiler.compile_code(deposit_contract_code)['bytecode']
|
|
contract_json = {
|
|
'abi': abi,
|
|
'bytecode': bytecode,
|
|
}
|
|
# write json
|
|
basename = os.path.basename(file_path)
|
|
dirname = os.path.dirname(file_path)
|
|
contract_name = basename.split('.')[0]
|
|
with open(dirname + "/{}.json".format(contract_name), 'w') as f_write:
|
|
json.dump(contract_json, f_write)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument("path", type=str, help="the path of the contract")
|
|
args = parser.parse_args()
|
|
path = args.path
|
|
generate_compiled_json(path)
|