v0.3.12 Release
This release introduces key foundational modules for Dispute Resolution, WIP token operations, and Royalty Management, as well as internal integration testing improvements and client-side enhancements.
New Features
Dispute Module
- Added raiseDispute() function (excluding dispute_assertion())
- Integration with $IP → $WIP conversion for dispute bonding
- Basic integration test coverage for raiseDispute()
WIP Token Module
- Introduced WIP client with the following functions:
- approve(), deposit(), transfer(), transferFrom(), withdraw(), balanceOf()
- Added getWalletBalance() to the Story client
- Initial integration tests for:
- deposit(), transfer(), withdraw(), balanceOf()
Royalty Module Enhancements
- Added claimAllRevenue()
- Updated:
- payRoyaltyOnBehalf()
- getRoyaltyVaultAddress()
- claimableRevenue() and related helpers
- Added MockERC20 client for transfer simulations
- Removed deprecated snapshot logic and other unused code
- Improved integration tests (note: some tests skipped due to incomplete features)
IPAccount Module
- Added owner() read function
- Improved function descriptions for consistency
- Refactored internal helper functions for parameter validation clarity
Testing
- Integration tests added for Dispute, WIP, and Royalty modules
- Some tests (e.g. approve(), transferFrom(), full royalty flow) are pending in future PRs
- owner() function lacks a dedicated test (to be added)
Notes
- Allowance Required: Users must call approve() on the UMA arbitration policy contract to set the correct allowance for dispute bonding.
- Partial Feature Coverage: This release is part of a staged rollout; several modules have incomplete test coverage or are awaiting dependent features.