Exemplo n.º 1
0
    def read_faucet(self, sess):

        faucet = sess['faucet']
        #print(faucet)
        path = './faucets/{}.json'.format(faucet['pkh'])

        with open(path, 'w') as outfile:
            json.dump(faucet, outfile)

        k = Key.from_faucet(path)
        p = pytezos.using(key=k, shell=sess['network'])

        return p
Exemplo n.º 2
0
from apscheduler.schedulers.background import BackgroundScheduler
from flask import Flask
from pytezos import pytezos, Key

from datetime import datetime, timezone
import atexit, base64, os, tempfile

oracle_address = os.environ['ORACLE_ADDRESS']
alpha_vantage_api_key = os.environ['ALPHA_VANTAGE_API_KEY']
alpha_vantage_ticker_symbol = os.environ['ALPHA_VANTAGE_TICKER_SYMBOL']

tezos_user_key = None
with tempfile.NamedTemporaryFile(suffix='.json', delete=False) as key_file:
    key_file.write(base64.standard_b64decode(os.environ['TEZOS_USER_KEY']))
    key_file.close()
    tezos_user_key = Key.from_faucet(key_file.name)
    os.remove(key_file.name)

class OracleServer:
    def __init__(self, api_key=alpha_vantage_api_key, ticker_symbol=alpha_vantage_ticker_symbol, tezos_key=tezos_user_key, oracle_contract_address=oracle_address):
        self.oracle_contract_address = oracle_contract_address
        self.pytezos_instance = pytezos.using(key=tezos_key, shell='carthagenet')
        self.time_series = TimeSeries(key=api_key, output_format='json')
        self.ticker_symbol = ticker_symbol

    def oracle_contract(self):
        return self.pytezos_instance.contract(self.oracle_contract_address)

    def update_value(self):
        try:
            now_utc = datetime.now(tz=timezone.utc)