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 #37
This pull request introduces the following changes to the providers module:
providers/events.rs
to ensure that liquidity and total supply values are valid.validate_provider_data
function to check for negative liquidity and non-positive total supply values.get_provider_from_mint
andget_provider_from_burn
to process mint and burn events, respectively.These functions validate the event data, calculate the share percentage, and create a
ProvidersTable
entry.The
handle_contract_events
function processes a list of contract events and logs them to theProvidersTable
.Data Structures:
MintEvent and BurnEvent
structs inproviders/types.rs
to represent the data structure of mint and burn events.ProvidersTable
struct to store provider data, including the provider address, pool address, shares, share percentage, token amounts, timestamp, action, and transaction hash.Module Structure:
providers/mod.rs
to include the events and types modules.Testing:
Added unit tests for
get_provider_from_mint
andget_provider_from_burn
to ensure the functions handle valid and invalid data correctly.@esteblock Please review