Skip to content

Commit

Permalink
format quest core v2 param
Browse files Browse the repository at this point in the history
  • Loading branch information
0rtis committed Jul 17, 2022
1 parent 13e223c commit 3555739
Showing 1 changed file with 47 additions and 48 deletions.
95 changes: 47 additions & 48 deletions dfktools/quests/quest_core_v2.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,15 +71,14 @@ def block_explorer_link(contract_address, txid):
return str(txid)


def start_quest(contract_address, quest_address, hero_ids, attempts, level, private_key, nonce, gas_price_gwei, tx_timeout_seconds, rpc_address, logger):
def start_quest(quest_core_contract_address, quest_address, hero_ids, attempts, level, private_key, nonce, gas_price_gwei, tx_timeout_seconds, rpc_address, logger):
w3 = Web3(Web3.HTTPProvider(rpc_address))
account = w3.eth.account.privateKeyToAccount(private_key)
w3.eth.default_account = account.address

contract_address = Web3.toChecksumAddress(contract_address)
contract = w3.eth.contract(contract_address, abi=ABI)
quest_core_contract_address = Web3.toChecksumAddress(quest_core_contract_address)
contract = w3.eth.contract(quest_core_contract_address, abi=ABI)

#logger.info("Starting quest with hero ids " + str(hero_ids))
tx = contract.functions.startQuest(hero_ids, quest_address, attempts, level).buildTransaction(
{'gasPrice': w3.toWei(gas_price_gwei, 'gwei'), 'nonce': nonce})

Expand All @@ -89,7 +88,7 @@ def start_quest(contract_address, quest_address, hero_ids, attempts, level, priv
ret = w3.eth.send_raw_transaction(signed_tx.rawTransaction)
logger.debug("Transaction successfully sent !")
logger.info(
"Waiting for transaction " + block_explorer_link(contract_address ,signed_tx.hash.hex()) + " to be mined")
"Waiting for transaction " + block_explorer_link(quest_core_contract_address, signed_tx.hash.hex()) + " to be mined")

tx_receipt = w3.eth.wait_for_transaction_receipt(transaction_hash=signed_tx.hash, timeout=tx_timeout_seconds,
poll_latency=2)
Expand All @@ -98,13 +97,13 @@ def start_quest(contract_address, quest_address, hero_ids, attempts, level, priv
return tx_receipt


def start_quests(contract_address, quest_addresses, hero_idss, attempts, levels, private_key, nonce, gas_price_gwei, tx_timeout_seconds, rpc_address, logger):
def start_quests(quest_core_contract_address, quest_addresses, hero_idss, attempts, levels, private_key, nonce, gas_price_gwei, tx_timeout_seconds, rpc_address, logger):
w3 = Web3(Web3.HTTPProvider(rpc_address))
account = w3.eth.account.privateKeyToAccount(private_key)
w3.eth.default_account = account.address

contract_address = Web3.toChecksumAddress(contract_address)
contract = w3.eth.contract(contract_address, abi=ABI)
quest_core_contract_address = Web3.toChecksumAddress(quest_core_contract_address)
contract = w3.eth.contract(quest_core_contract_address, abi=ABI)

tx = contract.functions.multiStartQuest(quest_addresses, hero_idss, attempts, levels).buildTransaction(
{'gasPrice': w3.toWei(gas_price_gwei, 'gwei'), 'nonce': nonce})
Expand All @@ -115,7 +114,7 @@ def start_quests(contract_address, quest_addresses, hero_idss, attempts, levels,
ret = w3.eth.send_raw_transaction(signed_tx.rawTransaction)
logger.debug("Transaction successfully sent !")
logger.info(
"Waiting for transaction " + block_explorer_link(contract_address ,signed_tx.hash.hex()) + " to be mined")
"Waiting for transaction " + block_explorer_link(quest_core_contract_address, signed_tx.hash.hex()) + " to be mined")

tx_receipt = w3.eth.wait_for_transaction_receipt(transaction_hash=signed_tx.hash, timeout=tx_timeout_seconds,
poll_latency=2)
Expand All @@ -124,13 +123,13 @@ def start_quests(contract_address, quest_addresses, hero_idss, attempts, levels,
return tx_receipt


def complete_quest(contract_address ,hero_id, private_key, nonce, gas_price_gwei, tx_timeout_seconds, rpc_address, logger):
def complete_quest(quest_core_contract_address, hero_id, private_key, nonce, gas_price_gwei, tx_timeout_seconds, rpc_address, logger):
w3 = Web3(Web3.HTTPProvider(rpc_address))
account = w3.eth.account.privateKeyToAccount(private_key)
w3.eth.default_account = account.address

contract_address = Web3.toChecksumAddress(contract_address)
contract = w3.eth.contract(contract_address, abi=ABI)
quest_core_contract_address = Web3.toChecksumAddress(quest_core_contract_address)
contract = w3.eth.contract(quest_core_contract_address, abi=ABI)

tx = contract.functions.completeQuest(hero_id).buildTransaction(
{'gasPrice': w3.toWei(gas_price_gwei, 'gwei'), 'nonce': nonce})
Expand All @@ -141,19 +140,19 @@ def complete_quest(contract_address ,hero_id, private_key, nonce, gas_price_gwei
ret = w3.eth.send_raw_transaction(signed_tx.rawTransaction)
logger.debug("Transaction successfully sent !")
logger.info(
"Waiting for transaction " + block_explorer_link(contract_address ,signed_tx.hash.hex()) + " to be mined")
"Waiting for transaction " + block_explorer_link(quest_core_contract_address, signed_tx.hash.hex()) + " to be mined")
tx_receipt = w3.eth.wait_for_transaction_receipt(transaction_hash=signed_tx.hash, timeout=tx_timeout_seconds,
poll_latency=2)
logger.info("Transaction mined !")

return tx_receipt


def parse_complete_quest_receipt(contract_address, tx_receipt, rpc_address):
def parse_complete_quest_receipt(quest_core_contract_address, tx_receipt, rpc_address):
w3 = Web3(Web3.HTTPProvider(rpc_address))

contract_address = Web3.toChecksumAddress(contract_address)
contract = w3.eth.contract(contract_address, abi=ABI)
quest_core_contract_address = Web3.toChecksumAddress(quest_core_contract_address)
contract = w3.eth.contract(quest_core_contract_address, abi=ABI)

quest_result = {}

Expand All @@ -166,13 +165,13 @@ def parse_complete_quest_receipt(contract_address, tx_receipt, rpc_address):
return quest_result


def cancel_quest(contract_address, hero_id, private_key, nonce, gas_price_gwei, tx_timeout_seconds, rpc_address, logger):
def cancel_quest(quest_core_contract_address, hero_id, private_key, nonce, gas_price_gwei, tx_timeout_seconds, rpc_address, logger):
w3 = Web3(Web3.HTTPProvider(rpc_address))
account = w3.eth.account.privateKeyToAccount(private_key)
w3.eth.default_account = account.address

contract_address = Web3.toChecksumAddress(contract_address)
contract = w3.eth.contract(contract_address, abi=ABI)
quest_core_contract_address = Web3.toChecksumAddress(quest_core_contract_address)
contract = w3.eth.contract(quest_core_contract_address, abi=ABI)

tx = contract.functions.cancelQuest(hero_id).buildTransaction(
{'gasPrice': w3.toWei(gas_price_gwei, 'gwei'), 'nonce': nonce})
Expand All @@ -183,21 +182,21 @@ def cancel_quest(contract_address, hero_id, private_key, nonce, gas_price_gwei,
ret = w3.eth.send_raw_transaction(signed_tx.rawTransaction)
logger.debug("Transaction successfully sent !")
logger.info(
"Waiting for transaction " + block_explorer_link(contract_address ,signed_tx.hash.hex()) + " to be mined")
"Waiting for transaction " + block_explorer_link(quest_core_contract_address, signed_tx.hash.hex()) + " to be mined")
tx_receipt = w3.eth.wait_for_transaction_receipt(transaction_hash=signed_tx.hash, timeout=tx_timeout_seconds,
poll_latency=2)
logger.info("Transaction mined !")

return tx_receipt


def cancel_quests(contract_address, hero_ids, private_key, nonce, gas_price_gwei, tx_timeout_seconds, rpc_address, logger):
def cancel_quests(quest_core_contract_address, hero_ids, private_key, nonce, gas_price_gwei, tx_timeout_seconds, rpc_address, logger):
w3 = Web3(Web3.HTTPProvider(rpc_address))
account = w3.eth.account.privateKeyToAccount(private_key)
w3.eth.default_account = account.address

contract_address = Web3.toChecksumAddress(contract_address)
contract = w3.eth.contract(contract_address, abi=ABI)
quest_core_contract_address = Web3.toChecksumAddress(quest_core_contract_address)
contract = w3.eth.contract(quest_core_contract_address, abi=ABI)

tx = contract.functions.multiCancelQuest(hero_ids).buildTransaction(
{'gasPrice': w3.toWei(gas_price_gwei, 'gwei'), 'nonce': nonce})
Expand All @@ -208,28 +207,28 @@ def cancel_quests(contract_address, hero_ids, private_key, nonce, gas_price_gwei
ret = w3.eth.send_raw_transaction(signed_tx.rawTransaction)
logger.debug("Transaction successfully sent !")
logger.info(
"Waiting for transaction " + block_explorer_link(contract_address ,signed_tx.hash.hex()) + " to be mined")
"Waiting for transaction " + block_explorer_link(quest_core_contract_address, signed_tx.hash.hex()) + " to be mined")
tx_receipt = w3.eth.wait_for_transaction_receipt(transaction_hash=signed_tx.hash, timeout=tx_timeout_seconds,
poll_latency=2)
logger.info("Transaction mined !")

return tx_receipt


def hero_to_quest_id(contract_address, hero_id, rpc_address):
def hero_to_quest_id(quest_core_contract_address, hero_id, rpc_address):
w3 = Web3(Web3.HTTPProvider(rpc_address))
contract_address = Web3.toChecksumAddress(contract_address)
contract = w3.eth.contract(contract_address, abi=ABI)
quest_core_contract_address = Web3.toChecksumAddress(quest_core_contract_address)
contract = w3.eth.contract(quest_core_contract_address, abi=ABI)
result = contract.functions.heroToQuest(hero_id).call()

return result


def get_active_quest(contract_address, address, rpc_address):
def get_active_quest(quest_core_contract_address, address, rpc_address):
w3 = Web3(Web3.HTTPProvider(rpc_address))

contract_address = Web3.toChecksumAddress(contract_address)
contract = w3.eth.contract(contract_address, abi=ABI)
quest_core_contract_address = Web3.toChecksumAddress(quest_core_contract_address)
contract = w3.eth.contract(quest_core_contract_address, abi=ABI)
result = contract.functions.getAccountActiveQuests(address).call()

return result
Expand All @@ -248,21 +247,21 @@ def get_hero_quest(contract_address, hero_id, rpc_address):
return result


def get_quests(contract_address, rpc_address):
def get_quests(quest_core_contract_address, rpc_address):
w3 = Web3(Web3.HTTPProvider(rpc_address))

contract_address = Web3.toChecksumAddress(contract_address)
contract = w3.eth.contract(contract_address, abi=ABI)
quest_core_contract_address = Web3.toChecksumAddress(quest_core_contract_address)
contract = w3.eth.contract(quest_core_contract_address, abi=ABI)
result = contract.functions.getQuestContracts().call()

return result


def get_quest(contract_address, quest_id, rpc_address):
def get_quest(quest_core_contract_address, quest_id, rpc_address):
w3 = Web3(Web3.HTTPProvider(rpc_address))

contract_address = Web3.toChecksumAddress(contract_address)
contract = w3.eth.contract(contract_address, abi=ABI)
quest_core_contract_address = Web3.toChecksumAddress(quest_core_contract_address)
contract = w3.eth.contract(quest_core_contract_address, abi=ABI)
result = contract.functions.getQuest(quest_id).call()

if result[0] <= 0:
Expand All @@ -271,41 +270,41 @@ def get_quest(contract_address, quest_id, rpc_address):
return result


def is_quest(contract_address, address, rpc_address):
def is_quest(quest_core_contract_address, address, rpc_address):
w3 = Web3(Web3.HTTPProvider(rpc_address))

contract_address = Web3.toChecksumAddress(contract_address)
contract = w3.eth.contract(contract_address, abi=ABI)
quest_core_contract_address = Web3.toChecksumAddress(quest_core_contract_address)
contract = w3.eth.contract(quest_core_contract_address, abi=ABI)
result = contract.functions.isQuest(address).call()

return result


def get_quest_data(contract_address, quest_id, rpc_address):
def get_quest_data(quest_core_contract_address, quest_id, rpc_address):
w3 = Web3(Web3.HTTPProvider(rpc_address))

contract_address = Web3.toChecksumAddress(contract_address)
contract = w3.eth.contract(contract_address, abi=ABI)
quest_core_contract_address = Web3.toChecksumAddress(quest_core_contract_address)
contract = w3.eth.contract(quest_core_contract_address, abi=ABI)
result = contract.functions.getQuestData(quest_id).call()

return result


def quest_address_to_type(contract_address, quest_address, rpc_address):
def quest_address_to_type(quest_core_contract_address, quest_address, rpc_address):
w3 = Web3(Web3.HTTPProvider(rpc_address))

contract_address = Web3.toChecksumAddress(contract_address)
contract = w3.eth.contract(contract_address, abi=ABI)
quest_core_contract_address = Web3.toChecksumAddress(quest_core_contract_address)
contract = w3.eth.contract(quest_core_contract_address, abi=ABI)
result = contract.functions.questAddressToType(quest_address).call()

return result


def get_current_stamina(contract_address, hero_id, rpc_address):
def get_current_stamina(quest_core_contract_address, hero_id, rpc_address):
w3 = Web3(Web3.HTTPProvider(rpc_address))

contract_address = Web3.toChecksumAddress(contract_address)
contract = w3.eth.contract(contract_address, abi=ABI)
quest_core_contract_address = Web3.toChecksumAddress(quest_core_contract_address)
contract = w3.eth.contract(quest_core_contract_address, abi=ABI)
result = contract.functions.getCurrentStamina(hero_id).call()

return result
Expand Down

0 comments on commit 3555739

Please sign in to comment.