-
Notifications
You must be signed in to change notification settings - Fork 9
[bridge]: finish initial implementation of workflows for XEM:wXEM POC #1492
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Jaguar0625
wants to merge
19
commits into
feature/bridge
Choose a base branch
from
task/bridge/wip
base: feature/bridge
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
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
Contributor
Jaguar0625
commented
Jul 14, 2025
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## feature/bridge #1492 +/- ##
==================================================
+ Coverage 98.36% 98.40% +0.04%
==================================================
Files 171 174 +3
Lines 7092 7289 +197
Branches 143 143
==================================================
+ Hits 6976 7173 +197
Misses 116 116
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
ae56364
to
aaf20e3
Compare
60d2151
to
4c4ad12
Compare
Base automatically changed from
task/bridge/network-facade-arbitrary-mosaic-processing
to
feature/bridge
July 22, 2025 15:13
…account problem: need to track historical balances of bridge account solution: add database for tracking inflows and outflows add `download_rosetta_block_balance_changes` utility for requesting rosetta block information add `download_bridge_balance_changes` workflow for downloading balance changes via rosetta and updating the database
problem: network facades already accept config with bridge address solution: extract bridge address in init problem: is_currency_mosaic_id is only in SymbolNetworkFacade solution: promote to "interface" and add to NemNetworkFacade problem: NEM uses different endpoints for API and rosetta solution: add kwargs to create_connector to allow selection of appropriate connector problem: lookup_account_balance only returns latest (not historical) balance solution: remove it because it's not needed
…questDatabase functions problem: unwrap functionality requires an inverse of the wrap_request database solution: add unwrap_request database to Databases problem: WrapRequestDatabase is missing some functionality solution: add missing functionality * query cumulative wrapped supply at a timestamp * mark a wrap request as failed (not just errored/malformed) * bidirectional lookups of height and timestamp from block_metadata table
problem: network fee is being paid by bridge and could potentially run out solution: deduct network fee from transfer amount
problem: most workflows need to support wrap and unwrap modes solution: restructure the workflows to support dual modes extract common helpers into WorkflowUtils
…st version problem: upstream logic is complicated for choosing appropriate value of use_version_one solution: change argument to prefer_version_one and choose automatically
problem: address validation is expecting message to exactly equal message some wallets prepend a NUL or add whitespace solution: trim leading and trailing whitespace and NULs
problem: zero amount wrap requests will always fail when being sent solution: mark them as errors during download process
problem: mosaic id is passed around in a clunky manner and inconsistently solution: streamline and fix mosaic id handling
problem: NEM blocks are finalized in 6 hours, which is slow solution: add configuration to lookahead and conceptually speed up finalization
problem: cannot calculate outstanding wrapped tokens directly because of fee deduction solution: store payout_total_fee in database
problem: symbol api does not return aggregates with embedded solution: update extract_wrap_request_from_transaction to accept embedded transaction json
problem: wrapped will grow over time due to deduction of fees paid solution: subtract fees paid from calculation problem: unwrapped changes are processed before native changes solution: calculate unwrapped total from previous block
problem: need to query mosaic fee and supply to determine fee calculation solution: add mosaic_fee_information
problem: NEM calculates transfer fees differently for different mosaics solution: add support for full calculation
…wnloaded data problem: running without first downloading requests and balances can lead to unintended behavior solution: check database contains enough data within balance functions
problem: max_processed_height is calculated from data but it can be set explicitly solution: add database mixin for managing max_processed_height problem: on fault tables might be left in a bad state solution: add reset to database classes to drop all rows beyond max_processed_height
… all required information problem: download_wrap_requests is likely to download one side of the bridge more aggressively due to finalization differences among other factors solution: add is_synced_at_* functions and only process a payout when all evaluate to True
problem: some details of a payout transaction are only logged but not stored solution: store these details in the database
aaf20e3
to
ed88696
Compare
Wayonb
approved these changes
Jul 23, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍🏾
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.