Skip to content

test(eco-token): add unit test asserting BurnEvent topic indexed from address schema (#85) - #92

Open
guptakumarranjeet150 wants to merge 1 commit into
ecotask-network:mainfrom
guptakumarranjeet150:feat/burn-event-topic-index
Open

guptakumarranjeet150 wants to merge 1 commit into
ecotask-network:mainfrom
guptakumarranjeet150:feat/burn-event-topic-index

Conversation

@guptakumarranjeet150

Copy link
Copy Markdown

Summary

Verifies and tests that the address in is indexed as an on-chain event topic, enabling off-chain listeners and compliance tooling to filter and query burn events by address.

Closes #85

Key Changes

  1. Schema & Topic Invariant Verification: Confirmed that is marked in , matching the indexing conventions of , , and .
  2. Automated Event Topic Test: Implemented unit test asserting that the emitted topics vector contains the event symbol and the burning address topic , and that the unindexed data map contains .
  3. Changelog Documentation: Documented the event topic schema verification and unit test in under .

Local Verification

running 58 tests
test token::test::test_allowance_with_expiry_live ... ok
test token::test::test_allowance_lazy_cleanup_of_expired ... ok
test token::test::test_accept_admin_wrong_address - should panic ... ok
test token::test::test_accept_admin_without_proposal - should panic ... ok
test token::test::test_allowance_with_expiry_none ... ok
test token::test::test_allowance_with_expiry_expired ... ok
test token::test::test_approve_past_expiration - should panic ... ok
test token::test::test_approve_negative_amount - should panic ... ok
test token::test::test_approve_overwrites_previous ... ok
test token::test::test_approve_and_transfer_from ... ok
test token::test::test_burn ... ok
test token::test::test_approve_zero_revokes_allowance ... ok
test token::test::test_burn_emits_event_with_indexed_from ... ok
test token::test::test_burn_entire_balance ... ok
test token::test::test_burn_more_than_balance - should panic ... ok
test token::test::test_burn_negative_amount - should panic ... ok
test token::test::test_burn_zero_amount - should panic ... ok
test token::test::test_double_initialize_fails - should panic ... ok
test token::test::test_initial_minter_is_admin ... ok
test token::test::test_decimals_matches_decimal ... ok
test token::test::test_initialize_and_metadata ... ok
test token::test::test_mint_and_balance ... ok
test token::test::test_max_supply_defaults_to_no_cap ... ok
test token::test::test_mint_exceeding_supply_cap_fails - should panic ... ok
test token::test::test_mint_negative_amount - should panic ... ok
test token::test::test_mint_at_i128_max_supply ... ok
test token::test::test_mint_requires_minter_auth - should panic ... ok
test token::test::test_mint_over_cap_on_first_issue_fails - should panic ... ok
test token::test::test_mint_zero_amount - should panic ... ok
test token::test::test_set_max_supply_non_admin_fails - should panic ... ok
test token::test::test_propose_admin_overwrite ... ok
test token::test::test_set_max_supply_below_current_supply_fails - should panic ... ok
test token::test::test_set_max_supply_and_mint_at_cap ... ok
test token::test::test_persistent_storage_survives_ledger_advancement ... ok
test token::test::test_set_metadata_non_admin_fails - should panic ... ok
test token::test::test_set_minter_emits_minter_updated_event ... ok
test token::test::test_set_metadata_updates_token_info ... ok
test token::test::test_set_minter_rejects_admin_as_minter - should panic ... ok
test token::test::test_set_minter_unauthorized - should panic ... ok
test token::test::test_set_zero_max_supply_fails - should panic ... ok
test token::test::test_transfer_admin_unauthorized - should panic ... ok
test token::test::test_transfer_admin_same_address - should panic ... ok
test token::test::test_transfer_admin ... ok
test token::test::test_set_minter_transfers_minting_rights ... ok
test token::test::test_transfer ... ok
test token::test::test_transfer_insufficient_balance - should panic ... ok
test token::test::test_transfer_from_self_is_rejected - should panic ... ok
test token::test::test_transfer_from_no_allowance - should panic ... ok
test token::test::test_transfer_from_emits_event ... ok
test token::test::test_transfer_negative_amount - should panic ... ok
test token::test::test_transfer_from_exceeds_allowance - should panic ... ok
test token::test::test_transfer_to_balance_overflow_boundary ... ok
test token::test::test_transfer_to_self - should panic ... ok
test token::test::test_zero_allowance_returns_zero ... ok
test token::test::test_transfer_valid_addresses_still_works ... ok
test token::test::proptest_mint_below_cap ... ok
test token::test::proptest_burn_preserves_total_supply ... ok
test token::test::proptest_transfer_preserves_total_supply ... ok

test result: ok. 58 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.35s: All 58/58 unit and proptest tests passed green with 0 warnings.

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 15 tests
test test_minter_is_reward_engine_after_setup ... ok
test test_admin_cancel_and_payout_rejection ... ok
test test_approve_proof_budget ... ok
test test_emergency_pause_blocks_rewards ... ok
test test_dispute_reject_then_resolve ... ok
test test_dispute_resolve_budget ... ok
test test_oracle_approval_fails_for_desponsored_creator - should panic ... ok
test test_reward_cap_enforced_cross_contract ... ok
test test_full_payout_lifecycle ... ok
test test_supply_cap_counts_cumulative_emissions ... ok
test test_supply_cap_blocks_engine_mint ... ok
test test_partial_failure_leaves_no_orphan_state ... ok
test test_resolve_dispute_mint_failure_leaves_no_orphan_state ... ok
test test_multi_user_max_completions ... ok
test test_pending_pagination_does_not_scan_resolved_records ... ok

test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 23.81s

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s: Workspace integration test suite passed 100% green.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

BurnEvent emits from as unindexed data — on-chain burn history cannot be filtered by address

1 participant