def event_output(contract, event_name, data): ts = datetime.utcnow() EZO.log.info( ("event: {:25s} contract: {:35s} address {:40s} timestamp: {:25s}" ).format(yellow(event_name), magenta(contract.name.replace("<stdin>:", "")), blue(data.address), magenta(ts)))
def call(self): params = self.app.pargs.c_args ezo = self.app.ezo args = self.app.pargs log = self.app.log if not args.target: log.error("target must be set with the -t option before deploying") return # ezo.target = args.target _, err = ezo.dial(args.target) if err: log.error(red("error with node: {}".format(err))) return if len(params) != 3: self.app.log.error( red("missing parameters for send tx - 3 required")) return name = params[0] method = params[1] data = params[2] resp, err = Contract.call(ezo, name, method, data, args.target) if err: self.app.log.error(red("call error: {}".format(err))) return self.app.log.info(blue("call response: {}".format(yellow(resp)))) return
def deploys(self): ezo = self.app.ezo log = self.app.log res, err = get_deploys(self.app.pargs.term, ezo) if err: log.error(red("error viewing deployments")) log.error(red(err)) return err v = view_deploys(res) print() print(bright(blue("+-------+"))) for vs in v: print(yellow(vs)) print(blue("+--------------+")) print(yellow("ezo deployments: {}".format(bright(len(res))))) print(reset("")) return len(res)
def create_ethereum_account(): ac = Account.create() wf = xp.locate_wordfile() words = xp.generate_wordlist(wordfile=wf, min_length=5, max_length=8) password_str = xp.generate_xkcdpassword(words) print( cyan( "password string to decrypt private key -- please store in safe location:" )) print() print(yellow(password_str)) print() print(cyan("address:")) print(yellow(ac.address)) ks = json.dumps(Account.encrypt(ac.privateKey, password_str), indent=2) print(red(ks))
def tx(self): params = self.app.pargs.c_args ezo = self.app.ezo args = self.app.pargs log = self.app.log # inject password into the environment if args.password: os.environ["EZO_PASSWORD"] = args.password if not args.target: log.error("target must be set with the -t option before deploying") return if len(params) != 3: self.app.log.error( red("missing parameters for send tx - 3 required")) return _, err = ezo.dial(args.target) if err: log.error(red("error with node: {}".format(err))) return err name = params[0] method = params[1] data = params[2] resp, err = Contract.send(ezo, name, method, data, target=args.target) if err: self.app.log.error(red("tx error: {}".format(err))) return err self.app.log.info(bright(blue("=============="))) for k, v in resp.items(): self.app.log.info("{}: {}".format(yellow(k), cyan(v))) self.app.log.info(blue("==============")) self.app.log.info(reset(""))