Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2.2.1 admin is incompatible with new contracts #1039

Open
yatsunastya opened this issue Jan 26, 2024 · 0 comments
Open

2.2.1 admin is incompatible with new contracts #1039

yatsunastya opened this issue Jan 26, 2024 · 0 comments
Assignees
Labels
bug Something isn't working known issue

Comments

@yatsunastya
Copy link

Describe the bug
If there are nodes with old admin version (2.5.4) and nodes with new admin version (2.6.0-beta.0), we can't run node rotation or create schain because nodes with old admin won't send broadcast transaction. The reason is in new parameter (rotation_id) for broadcast transaction which is added to the new versions of admin and contracts. So in such case nodes with old admin try to send broadcast 3 times and fail (Tx broadcast failed after 3 retries).

Versions:
old admin - 2.5.4
new admin - 2.6.0-beta.0
skale-manager - 1.10.0-beta.0

To Reproduce
Steps to reproduce the behavior:
There are nodes with old and new admin

  1. Start node rotation procedure or create schain
  2. DKG starts
  3. Go to skale-admin logs on node with old admin
  4. See error ⬇️
[2024-01-26 12:25:11,853 INFO][27261][thundering-rotanev][T_0] - skale.transactions.tools:46 - Dry run tx: broadcast, sender: 0x6D1e4710A0e55c1c4f96B921b091434687558257, wallet: RedisWalletAdapter, value: 0, 
[2024-01-26 12:25:11,949 ERROR][27261][thundering-rotanev][T_0] - skale.transactions.tools:62 - Dry run for method failed with error
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/skale/transactions/tools.py", line 59, in make_dry_run_call
    estimated_gas = estimate_gas(skale.web3, method, opts)
  File "/usr/local/lib/python3.9/site-packages/skale/transactions/tools.py", line 74, in estimate_gas
    estimated_gas = method.estimate_gas(
  File "/usr/local/lib/python3.9/site-packages/web3/contract/contract.py", line 496, in estimate_gas
    return estimate_gas_for_function(
  File "/usr/local/lib/python3.9/site-packages/web3/contract/utils.py", line 203, in estimate_gas_for_function
    return w3.eth.estimate_gas(estimate_transaction, block_identifier)
  File "/usr/local/lib/python3.9/site-packages/web3/eth/eth.py", line 292, in estimate_gas
    return self._estimate_gas(transaction, block_identifier)
  File "/usr/local/lib/python3.9/site-packages/web3/module.py", line 68, in caller
    result = w3.manager.request_blocking(
  File "/usr/local/lib/python3.9/site-packages/web3/manager.py", line 232, in request_blocking
    return self.formatted_response(
  File "/usr/local/lib/python3.9/site-packages/web3/manager.py", line 197, in formatted_response
    apply_error_formatters(error_formatters, response)
  File "/usr/local/lib/python3.9/site-packages/web3/manager.py", line 73, in apply_error_formatters
    formatted_resp = pipe(response, error_formatters)
  File "cytoolz/functoolz.pyx", line 680, in cytoolz.functoolz.pipe
  File "cytoolz/functoolz.pyx", line 655, in cytoolz.functoolz.c_pipe
  File "/usr/local/lib/python3.9/site-packages/web3/_utils/method_formatters.py", line 786, in raise_contract_logic_error_on_revert
    raise ContractLogicError("execution reverted", data=data)
web3.exceptions.ContractLogicError: execution reverted
[2024-01-26 12:25:11,950 ERROR][27261][thundering-rotanev][T_0] - skale.transactions.tools:181 - Tx attempt 2/3 failed
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/skale/transactions/tools.py", line 178, in run_tx_with_retry
    tx_res = transaction(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/skale/contracts/base_contract.py", line 128, in wrapper
    tx_res.raise_for_status()
  File "/usr/local/lib/python3.9/site-packages/skale/transactions/result.py", line 68, in raise_for_status
    raise RevertError(self.dry_run_result['error'])
skale.transactions.exceptions.RevertError: execution reverted ```

@yatsunastya yatsunastya added bug Something isn't working known issue labels Jan 26, 2024
@PolinaKiporenko PolinaKiporenko added this to the SKALE 2.3 milestone Jan 26, 2024
@PolinaKiporenko PolinaKiporenko modified the milestones: SKALE 2.3, SKALE 2.5 Apr 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working known issue
Projects
Status: Ready For Pickup
Development

No branches or pull requests

3 participants