Repository navigation
feat: add investor portfolio normalizer - #210
Open
woahwhattheheck wants to merge 22 commits into
Open
woahwhattheheck wants to merge 22 commits into
woahwhattheheck wants to merge 22 commits into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #146
Summary
empty/ready/partial/unusableportfolio states plus exact base-unit display helpersBehavioral boundaries
assetIdis not promoted to a contract ID;metadata.contractIdis populated only from actualcontractId/contract_idinputsINVALID_DECIMALSrather than silently using the defaultCurrent carrier
38fa74799da9a6acc8d5d654369d726c95ac1dd969fff2c7e8c6fe801428fc1bb71d064c5c94949cFocused evidence and limits
The focused fixture coverage exercises camel/snake contract-ID aliases, unknown-row preservation, unsupported/malformed states, exact signed balance formatting, all four aggregate portfolio states, source-order preservation and explicit default precision.
The current repair also pins heterogeneous alias recovery: an input with numeric
assetId, decimal-stringbalance, invaliddecimals, non-objectmetadata, then validasset_id,raw_balance,asset_decimalsandassetaliases normalizes to a supportedC_RECOVEREDholding with decimal balance2.5. The normalizer remains parse-aware across alias families while retaining fail-closed precision semantics.Provider readback verified the current normalizer/test blobs on this head. No broad test-suite, build, hosted-CI, dashboard integration, bounty-award or payout result is claimed by this metadata closeout.
Compensation request
Claimant and payee: @woahwhattheheck. This completed contribution is submitted through the issue's GrantFox Maybe Rewarded route. Please confirm the applicable bounty amount, assignment/award status, payout method, and timing.