0rtis / dfktools

Interact with the contracts of DefiKingdoms
MIT License
127 stars 97 forks source link

cant read some hero data #59

Closed protny closed 1 year ago

protny commented 1 year ago

I am trying to read data for hero #58642

when I try to get his current stamina i get error

Traceback (most recent call last): File "c:_code\Python\dfk_multi_questing\src\dfktools\src\dfktools\quest_example.py", line 68, in hero_stam = questV2.get_current_stamina(hero_id) File "c:_code\Python\dfk_multi_questing\src\dfktools\src\dfktools\quests\quest_v2.py", line 42, in get_current_stamina return quest_core_v2.get_current_stamina(self.quest_core_contract_address, hero_id, self.rpc_address) File "c:_code\Python\dfk_multi_questing\src\dfktools\src\dfktools\quests\quest_core_v2.py", line 320, in get_current_stamina result = contract.functions.getCurrentStamina(hero_id).call() File "C:\Python\lib\site-packages\web3\contract.py", line 957, in call return call_contract_function( File "C:\Python\lib\site-packages\web3\contract.py", line 1501, in call_contract_function return_data = web3.eth.call( File "C:\Python\lib\site-packages\web3\module.py", line 57, in caller result = w3.manager.request_blocking(method_str, File "C:\Python\lib\site-packages\web3\manager.py", line 198, in request_blocking return self.formatted_response(response, File "C:\Python\lib\site-packages\web3\manager.py", line 170, in formatted_response apply_error_formatters(error_formatters, response) File "C:\Python\lib\site-packages\web3\manager.py", line 70, in apply_error_formatters formatted_resp = pipe(response, error_formatters) File "cytoolz\functoolz.pyx", line 667, in cytoolz.functoolz.pipe File "cytoolz\functoolz.pyx", line 642, in cytoolz.functoolz.c_pipe File "C:\Python\lib\site-packages\web3_utils\method_formatters.py", line 576, in raise_solidity_error_on_revert raise ContractLogicError(response['error']['message']) web3.exceptions.ContractLogicError: execution reverted

this is both on DFK and Klaytn


when I try to read owner of this hero i get error

Traceback (most recent call last): File "c:_code\Python\dfk_multi_questing\src\dfktools\src\dfktools\hero_example.py", line 57, in owner = crystalvale_heroes.get_owner(cv_hero_id) File "c:_code\Python\dfk_multi_questing\src\dfktools\src\dfktools\hero\hero.py", line 14, in get_owner return hero_core.get_owner(self.contract_address, hero_id, self.rpc_address, block_identifier) File "c:_code\Python\dfk_multi_questing\src\dfktools\src\dfktools\hero\hero_core.py", line 124, in get_owner return str(contract.functions.ownerOf(hero_id).call(block_identifier=block_identifier)) File "C:\Python\lib\site-packages\web3\contract.py", line 957, in call return call_contract_function( File "C:\Python\lib\site-packages\web3\contract.py", line 1501, in call_contract_function return_data = web3.eth.call( File "C:\Python\lib\site-packages\web3\module.py", line 57, in caller result = w3.manager.request_blocking(method_str, File "C:\Python\lib\site-packages\web3\manager.py", line 198, in request_blocking return self.formatted_response(response, File "C:\Python\lib\site-packages\web3\manager.py", line 170, in formatted_response apply_error_formatters(error_formatters, response) File "C:\Python\lib\site-packages\web3\manager.py", line 70, in apply_error_formatters formatted_resp = pipe(response, error_formatters) File "cytoolz\functoolz.pyx", line 667, in cytoolz.functoolz.pipe File "cytoolz\functoolz.pyx", line 642, in cytoolz.functoolz.c_pipe File "C:\Python\lib\site-packages\web3_utils\method_formatters.py", line 576, in raise_solidity_error_on_revert raise ContractLogicError(response['error']['message']) web3.exceptions.ContractLogicError: execution reverted: ERC721: owner query for nonexistent token


when i try to read hero data I get a result but all attributes are 0

{'id': 58642, 'summoningInfo': {'summonedTime': 0, 'nextSummonTime': 0, 'summonerId': 0, 'assistantId': 0, 'summons': 0, 'maxSummons': 0}, 'info': {'statGenes': 0, 'visualGenes': 0, 'rarity': 0, 'shiny': False, 'generation': 0, 'firstName': 0, 'lastName': 0, 'shinyStyle': 0, 'class': 0, 'subClass': 0}, 'state': {'staminaFullAt': 0, 'hpFullAt': 0, 'mpFullAt': 0, 'level': 0, 'xp': 0, 'currentQuest': '0x0000000000000000000000000000000000000000', 'sp': 0, 'status': 0}, 'stats': {'strength': 0, 'intelligence': 0, 'wisdom': 0, 'luck': 0, 'agility': 0, 'vitality': 0, 'endurance': 0, 'dexterity': 0, 'hp': 0, 'mp': 0, 'stamina': 0}, 'primaryStatGrowth': {'strength': 0, 'intelligence': 0, 'wisdom': 0, 'luck': 0, 'agility': 0, 'vitality': 0, 'endurance': 0, 'dexterity': 0, 'hpSm': 0, 'hpRg': 0, 'hpLg': 0, 'mpSm': 0, 'mpRg': 0, 'mpLg': 0}, 'secondaryStatGrowth': {'strength': 0, 'intelligence': 0, 'wisdom': 0, 'luck': 0, 'agility': 0, 'vitality': 0, 'endurance': 0, 'dexterity': 0, 'hpSm': 0, 'hpRg': 0, 'hpLg': 0, 'mpSm': 0, 'mpRg': 0, 'mpLg': 0}, 'professions': {'mining': 0, 'gardening': 0, 'foraging': 0, 'fishing': 0}}


hero works normally in the games official interface and shows all data in dfk tools so it must be accessible through the rpc calls

all code works fine with all other hero IDs i tried

I sent hero to different account and bridged from klaytn to serendale, it still behaves the same