Skip to content
Open
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: 16 additions & 0 deletions tests/bridge_parachain_staking_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
from tools.constants import WS_URL, ETH_URL, RELAYCHAIN_WS_URL
from tests.evm_utils import sign_and_submit_evm_transaction
from peaq.utils import ExtrinsicBatch
from peaq.utils import get_block_height
from tests import utils_func as TestUtils
from tools.peaq_eth_utils import get_contract
from tools.peaq_eth_utils import get_eth_chain_id
Expand All @@ -15,6 +16,7 @@
from tools.constants import KP_GLOBAL_SUDO, KP_COLLATOR
from peaq.utils import get_block_hash
from web3 import Web3
import time


PARACHAIN_STAKING_ABI_FILE = 'ETH/parachain-staking/abi'
Expand Down Expand Up @@ -81,6 +83,16 @@ def _fund_users(self, num=100 * 10 ** 18):
)
return batch.execute()

def wait_for_n_blocks(self, n):
block_height = get_block_height(self._substrate)
trigger_height = block_height + n
for i in range(n * 2):
now_height = get_block_height(self._substrate)
print(f'now_height: {now_height}, trigger_height: {trigger_height}')
if now_height >= trigger_height:
break
time.sleep(6)

def evm_join_delegators(self, contract, eth_kp_src, sub_collator_addr, stake):
w3 = self._w3
nonce = w3.eth.get_transaction_count(eth_kp_src.ss58_address)
Expand Down Expand Up @@ -318,6 +330,9 @@ def set_commission_rate(self, rate, kp=KP_COLLATOR):
return batch.execute()

def test_commission_rate(self):
receipt = self.set_commission_rate(10)
self.assertFalse(receipt.is_success, f'set_commission fails, receipt: {receipt}')
self.wait_for_n_blocks(10)
# Set commission rate as 20
receipt = self.set_commission_rate(20)
self.assertEqual(receipt.is_success, True, f'set_commission fails, receipt: {receipt}')
Expand Down Expand Up @@ -349,6 +364,7 @@ def test_commission_rate(self):
collator_info.value['stake'],
f'commission rate fails, out: {out}, all_colators_info: {all_colators_info}')

self.wait_for_n_blocks(10)
receipt = self.set_commission_rate(0)
self.assertEqual(receipt.is_success, True, f'set_commission fails, receipt: {receipt}')

Expand Down