Skip to content
This repository was archived by the owner on Jan 30, 2025. It is now read-only.

add cli test, just runs all functions, does not check deployed values #11

Merged
merged 1 commit into from
Dec 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 10 additions & 6 deletions cli/deploy_feeder.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,13 +74,17 @@ def request_storage_addresses(net, pair_name):
print("wrote address to", address_path(net.value, pair_name), "\n======================================")


parser = argparse.ArgumentParser(description="Data feeder parameters")
parser.add_argument('-n', '--network', type=parse_network, required=True, help="Choose network (local, sepolia, eth_mainnet)")
def main():
parser = argparse.ArgumentParser(description="Data feeder parameters")
parser.add_argument('-n', '--network', type=parse_network, required=True, help="Choose network (local, sepolia, eth_mainnet, neon_devnet)")

args = parser.parse_args()
args = parser.parse_args()


deploy_data_feeder(args.network)
deploy_data_feeder(args.network)

for p in pair_name_enum:
request_storage_addresses(args.network, p.value)
for p in pair_name_enum:
request_storage_addresses(args.network, p.value)

if __name__ == "__main__":
main()
12 changes: 7 additions & 5 deletions cli/feed_feeder.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,10 +66,12 @@ def feed_data_legacy(net):

run_subprocess(command, "DataFeeder feeding")

def main():
parser = argparse.ArgumentParser(description="Data feeder parameters")
parser.add_argument('-n', '--network', type=parse_network, required=True, help="Choose network (local, sepolia, eth_mainnet, neon_devnet)")
args = parser.parse_args()

parser = argparse.ArgumentParser(description="Data feeder parameters")
parser.add_argument('-n', '--network', type=parse_network, required=True, help="Choose network (local, sepolia, eth_mainnet, neon_devnet)")
args = parser.parse_args()

feed_data(args.network)
feed_data(args.network)

if __name__ == "__main__":
main()
17 changes: 10 additions & 7 deletions cli/parse_and_prove.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,14 +54,17 @@ def prove_data():

run_subprocess(command, "DataFeeder feeding")

parser = argparse.ArgumentParser(description="Data feeder parameters")
def main():
parser = argparse.ArgumentParser(description="Data feeder parameters")

data_source_group = parser.add_mutually_exclusive_group()
data_source_group.add_argument('--binance', action='store_true', help='Request data from binance and feed')
data_source_group.add_argument('--test-data-1', action='store_true', help='Take dataset from test_data_1/')
data_source_group.add_argument('--test-data-2', action='store_true', help='Take dataset from test_data_2')
data_source_group = parser.add_mutually_exclusive_group()
data_source_group.add_argument('--binance', action='store_true', help='Request data from binance and feed')
data_source_group.add_argument('--test-data-1', action='store_true', help='Take dataset from test_data_1/')
data_source_group.add_argument('--test-data-2', action='store_true', help='Take dataset from test_data_2')

args = parser.parse_args()
args = parser.parse_args()

prepare_json(args.binance, args.test_data_1, args.test_data_2)
prepare_json(args.binance, args.test_data_1, args.test_data_2)

if __name__ == "__main__":
main()
18 changes: 11 additions & 7 deletions cli/request_storage.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,12 +60,16 @@ def do_request(pair, net, req):
print("===================================")


parser = argparse.ArgumentParser(description="Storage request parameters")
parser.add_argument('-n', '--network', type=parse_network, required=True, help="Choose network (local, sepolia, eth_mainnet)")
parser.add_argument('-p', '--pair', type=parse_pairname, required=True, help="Choose pair (ETHBTC, BTCUSDT, ETHUSDT, ETHUSDC)")
parser.add_argument('-m', '--method', type=parse_request, required=True,
help="Choose request (decimals, description, latestAnswer, latestRound, latestRoundData)")
def main():
parser = argparse.ArgumentParser(description="Storage request parameters")
parser.add_argument('-n', '--network', type=parse_network, required=True, help="Choose network (local, sepolia, eth_mainnet)")
parser.add_argument('-p', '--pair', type=parse_pairname, required=True, help="Choose pair (ETHBTC, BTCUSDT, ETHUSDT, ETHUSDC)")
parser.add_argument('-m', '--method', type=parse_request, required=True,
help="Choose request (decimals, description, latestAnswer, latestRound, latestRoundData)")

args = parser.parse_args()
args = parser.parse_args()

do_request(args.pair, args.network, args.method)
do_request(args.pair, args.network, args.method)

if __name__ == "__main__":
main()
63 changes: 63 additions & 0 deletions cli/test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
import subprocess
import time
import sys

from utils.network import *
from deploy_feeder import deploy_data_feeder, request_storage_addresses
# from feed_feeder import prepare_json
from feed_feeder import feed_data
from feed_feeder import feed_data_legacy
from request_storage import do_request
from request_storage import method_enum
from parse_and_prove import prepare_json

anvil_testnet_private_key = "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80"
os.environ["ETH_WALLET_PRIVATE_KEY"] = anvil_testnet_private_key

print("step 1: starting anvil...")
process = subprocess.Popen(["anvil"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
if process.poll() is None:
print("anvil started succesfully")
else:
print("failed to start anvil")
sys.exit(process.poll())

print("step 2: deploying datafeed feeder...")
local_network = network_enum.LOCAL
deploy_data_feeder(local_network)

print("step 3: requesting storage addresses...")
for p in pair_name_enum:
request_storage_addresses(local_network, p.value)

print("step 4: prepare data for feeder (test set 1)...")
prepare_json(False, True, False) # --binance, --test-data-1, --test-data-2

print("step 4: feed feeder...")
feed_data(local_network)

print("step 5: feed feeder legacy (neon compatible)...")
feed_data_legacy(local_network)

print("step 6: request storages...")
for p in pair_name_enum:
for m in method_enum:
do_request(p, local_network, m)

print("step 7: request and prove binance data...")
prepare_json(True, False, False) # --binance, --test-data-1, --test-data-2

print("step 8: feed feeder...")
feed_data(local_network)

print("step 9: feed feeder legacy (neon compatible)...")
feed_data_legacy(local_network)

print("step 10: request storages...")
for p in pair_name_enum:
for m in method_enum:
do_request(p, local_network, m)


print("step 11: terminate anvil")
process.terminate()
Loading