Added additional test for mintBatch exploit

Inspired by @kompotkot
pull/65/head
Neeraj Kashyap 2022-11-22 08:25:50 -08:00
rodzic 12204c47dd
commit 8f34b14fb5
1 zmienionych plików z 21 dodań i 0 usunięć

Wyświetl plik

@ -353,6 +353,27 @@ class TestPoolOperations(TerminusTestCase):
supply = self.diamond_terminus.terminus_pool_supply(pool_id)
self.assertEqual(supply, 0)
def test_mint_batch_fails_if_it_exceeds_capacity_one_at_a_time(self):
capacity = 10
self.diamond_terminus.create_pool_v1(
capacity, True, True, {"from": accounts[1]}
)
pool_id = self.diamond_terminus.total_pools()
with self.assertRaises(Exception):
self.diamond_terminus.mint_batch(
accounts[2].address,
pool_i_ds=[pool_id for _ in range(capacity + 1)],
amounts=[1 for _ in range(capacity + 1)],
data=b"",
transaction_config={"from": accounts[1]},
)
balance = self.diamond_terminus.balance_of(accounts[2].address, pool_id)
self.assertEqual(balance, 0)
supply = self.diamond_terminus.terminus_pool_supply(pool_id)
self.assertEqual(supply, 0)
def test_pool_mint_batch(self):
pool_id = self.diamond_terminus.total_pools()
target_accounts = [account.address for account in accounts[:5]]