Roman Zajic c9f6ae5d8e
chore: RLN contract unit test expansion (#31)
* test: erasing non-existent membership

* test: grace period extension edge cases

* test: max total rate limit edge cases

* test: Merkle Tree update after erasure and reuse

* fix: indent

* test: contract wit zero grace period

* test: full cleanup erasure

* test: token transfer failures
- reentrancy protection

* test: WakuRlnV2 with ReentrancyGuard

* fix: line length

* fix: revert to original WakuRlnV2

* test: reinitialization protection - debug

* test: reinitialization protection - non debug

* test: simplify test reinitialization protection

* fix: MaliciousToken and split reentrancy test
- test__ReentrancyProtectionRegister
- test__ReentrancyProtectionWithdraw

* fix: add more logging to
- test__ReentrancyProtectionWithdraw

* fix: reinitialization protection test

* fix: price calculator reconfiguration

* test: zero price edge case
- add MockPriceCalculator

* fix: calculate impl for MockPriceCalculator

* fix: remove reentrancy tests

* fix: remove ReentrancyGuard import

* fix: recover original comment

* fix: update gas-snapshot

* fix: add revert reason to test reinitialization protection

* fix: cleanup MaliciousToken

* fix: line length

* fix: remove owner transfer in setup

* fix: line length
2025-09-12 22:54:13 +10:00

51 lines
3.7 KiB
Plaintext

TestStableTokenTest:test__CannotAddAlreadyMinterRole() (gas: 46015)
TestStableTokenTest:test__CannotRemoveNonMinterRole() (gas: 22633)
TestStableTokenTest:test__CheckMinterRoleMapping() (gas: 69942)
TestStableTokenTest:test__ERC20BasicFunctionality() (gas: 128100)
TestStableTokenTest:test__MinterAddedEventEmitted() (gas: 44860)
TestStableTokenTest:test__MinterRemovedEventEmitted() (gas: 34564)
TestStableTokenTest:test__MinterRoleCanMint() (gas: 95547)
TestStableTokenTest:test__MultipleMinterRolesCanMint() (gas: 125690)
TestStableTokenTest:test__NonMinterNonOwnerAccountCannotMint() (gas: 22562)
TestStableTokenTest:test__NonOwnerCannotAddMinterRole() (gas: 18154)
TestStableTokenTest:test__NonOwnerCannotRemoveMinterRole() (gas: 45632)
TestStableTokenTest:test__OwnerCanAddMinterRole() (gas: 47069)
TestStableTokenTest:test__OwnerCanAlwaysMintEvenWithoutMinterRole() (gas: 71856)
TestStableTokenTest:test__OwnerCanMintWithoutMinterRole() (gas: 67951)
TestStableTokenTest:test__OwnerCanRemoveMinterRole() (gas: 36328)
TestStableTokenTest:test__RemovedMinterRoleCannotMint() (gas: 37100)
WakuRlnV2Test:test__ErasingNonExistentMembership() (gas: 46033)
WakuRlnV2Test:test__FullCleanUpErasure() (gas: 1016600)
WakuRlnV2Test:test__GracePeriodExtensionEdgeCases() (gas: 327838)
WakuRlnV2Test:test__IdCommitmentToMetadata__DoesntExist() (gas: 25380)
WakuRlnV2Test:test__InvalidPaginationQuery__EndIndexGTNextFreeIndex() (gas: 18365)
WakuRlnV2Test:test__InvalidPaginationQuery__StartIndexGTEndIndex() (gas: 16235)
WakuRlnV2Test:test__InvalidRegistration__DuplicateIdCommitment() (gas: 305899)
WakuRlnV2Test:test__InvalidRegistration__FullTree() (gas: 56414)
WakuRlnV2Test:test__InvalidRegistration__InvalidIdCommitment__LargerThanField() (gas: 43985)
WakuRlnV2Test:test__InvalidRegistration__InvalidIdCommitment__Zero() (gas: 42716)
WakuRlnV2Test:test__InvalidRegistration__InvalidMembershipRateLimit__MinMax() (gas: 55485)
WakuRlnV2Test:test__InvalidTokenAmount(uint256,uint32) (runs: 1000, μ: 191559, ~: 191559)
WakuRlnV2Test:test__LinearPriceCalculation(uint32) (runs: 1000, μ: 26091, ~: 26091)
WakuRlnV2Test:test__MaxTotalRateLimitEdgeCases() (gas: 21815151)
WakuRlnV2Test:test__MerkleTreeUpdateAfterErasureAndReuse() (gas: 2426423)
WakuRlnV2Test:test__PriceCalculatorReconfiguration() (gas: 669694)
WakuRlnV2Test:test__RegistrationWhenMaxRateLimitIsReached() (gas: 594536)
WakuRlnV2Test:test__ReinitializationProtection() (gas: 79848)
WakuRlnV2Test:test__RemoveAllExpiredMemberships(uint32) (runs: 1000, μ: 5031235, ~: 2443747)
WakuRlnV2Test:test__RemoveExpiredMemberships(uint32) (runs: 1000, μ: 1146012, ~: 1146012)
WakuRlnV2Test:test__TokenTransferFailures() (gas: 4092129)
WakuRlnV2Test:test__Upgrade() (gas: 6702686)
WakuRlnV2Test:test__ValidPaginationQuery(uint32) (runs: 1000, μ: 385132, ~: 134408)
WakuRlnV2Test:test__ValidPaginationQuery__OneElement() (gas: 301131)
WakuRlnV2Test:test__ValidRegistration(uint32) (runs: 1000, μ: 307480, ~: 307480)
WakuRlnV2Test:test__ValidRegistrationExpiry(uint32) (runs: 1000, μ: 288428, ~: 288428)
WakuRlnV2Test:test__ValidRegistrationExtend(uint32) (runs: 1000, μ: 534572, ~: 534572)
WakuRlnV2Test:test__ValidRegistrationExtendSingleMembership(uint32) (runs: 1000, μ: 296089, ~: 296089)
WakuRlnV2Test:test__ValidRegistrationNoGracePeriod(uint32) (runs: 1000, μ: 292083, ~: 292083)
WakuRlnV2Test:test__ValidRegistrationWithEraseList() (gas: 1302532)
WakuRlnV2Test:test__ValidRegistration__kats() (gas: 277468)
WakuRlnV2Test:test__WithdrawToken(uint32) (runs: 1000, μ: 277715, ~: 277715)
WakuRlnV2Test:test__ZeroGracePeriodDuration() (gas: 8156213)
WakuRlnV2Test:test__ZeroPriceEdgeCase() (gas: 791477)
WakuRlnV2Test:test__indexReuse_eraseMemberships(uint32) (runs: 1000, μ: 4230350, ~: 1420233)