2022-07-04 19:49:14 +00:00
|
|
|
#!/usr/bin/python3.9
|
|
|
|
|
|
|
|
|
|
|
|
import contract
|
2022-07-05 10:17:36 +00:00
|
|
|
import sys
|
2022-07-04 19:49:14 +00:00
|
|
|
from robot.api import logger
|
|
|
|
from robot.api.deco import keyword
|
|
|
|
from robot.libraries.BuiltIn import BuiltIn
|
|
|
|
|
2022-07-05 10:17:36 +00:00
|
|
|
ROBOT_AUTO_KEYWORDS = False
|
|
|
|
|
|
|
|
if "pytest" in sys.modules:
|
|
|
|
import os
|
|
|
|
|
|
|
|
IR_WALLET_PATH = os.getenv("IR_WALLET_PATH")
|
|
|
|
IR_WALLET_PASS = os.getenv("IR_WALLET_PASS")
|
|
|
|
SIDECHAIN_EP = os.getenv("MORPH_ENDPOINT")
|
|
|
|
else:
|
|
|
|
IR_WALLET_PATH = BuiltIn().get_variable_value("${IR_WALLET_PATH}")
|
|
|
|
IR_WALLET_PASS = BuiltIn().get_variable_value("${IR_WALLET_PASS}")
|
|
|
|
SIDECHAIN_EP = BuiltIn().get_variable_value("${MORPH_ENDPOINT}")
|
2022-07-04 19:49:14 +00:00
|
|
|
|
|
|
|
|
|
|
|
@keyword('Get Epoch')
|
|
|
|
def get_epoch():
|
|
|
|
epoch = int(contract.testinvoke_contract(
|
|
|
|
contract.get_netmap_contract_hash(SIDECHAIN_EP),
|
|
|
|
'epoch',
|
|
|
|
SIDECHAIN_EP)
|
|
|
|
)
|
|
|
|
logger.info(f"Got epoch {epoch}")
|
|
|
|
return epoch
|
|
|
|
|
|
|
|
|
|
|
|
@keyword('Tick Epoch')
|
|
|
|
def tick_epoch():
|
|
|
|
cur_epoch = get_epoch()
|
|
|
|
return contract.invoke_contract_multisig(
|
|
|
|
contract.get_netmap_contract_hash(SIDECHAIN_EP),
|
|
|
|
f"newEpoch int:{cur_epoch+1}",
|
|
|
|
IR_WALLET_PATH, IR_WALLET_PASS, SIDECHAIN_EP)
|