Esempio n. 1
0
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)))
Esempio n. 2
0
    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
Esempio n. 3
0
 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)
Esempio n. 4
0
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))
Esempio n. 5
0
    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(""))