-
Notifications
You must be signed in to change notification settings - Fork 111
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
Add Avalanche Warp Messaging Support #57
Merged
Merged
Conversation
This file contains 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
* start work on network manager * more progress * making progress with the wrapped sender * handle first method in request manager * finish handler * add multi-plexing over network
* progress on import * add warp transfer object * add quick new assetID * add reward allocation * update incorrect configuration * add clear callout for handling fund return * read signers from signature * DoS vuln to mark block as invalid with incorrect warp * add more TODOs * add another todo * add to README * add more TODOs * add todo for dos * add another note * add stub for build with context * update action interface to accept boolean of warp readiness * wait for warp verification in block * cleanup build/verification logic * move warp message around * making more progress * cleanup tx verification * update block handling for warp * handle basic re-signing * fetch missing keys if we don't have them * chain processor passing * add note about StateMapping * fix empty key issue * limit fetch frequency for warp manager * fix vm interface * allow type parser to take 2 args * pass warp message to unmarshal * use state manager * fix unchecked err * add base fee for warp * naming * update actions * continuing to cleanup old approach * update get asset func * overhaul network manager (use unique requestIDs per nodeID) * update mocks * update type parser to have extra bool * add warp check to registry * remove interface changes * add small blurb to readme * update registry with new warp check * more progress * update WarpID * only store warp info if successful * add loan storage * import compiles * add some pre-verification * override sourceID * store native supply * add native supply tracking * add import/export to registry and metrics * update required interfaces * protect against fee overflow * fix lint * update tokenvm linting * pass lint * integration passing * fix lint * Add tokenvm warp e2e tests (Part 1) (#77) * startup 2 subnets * make startup more robust * fix node shutdown issue * e2e progress * ensure warp message is initialized after emission * progress * progress * add workflow timeouts * add missing lock release * cleanup tx init * update digest * fix warp message test * handle empty warp message * update verification override * add export test * add loan check * remove ability to export warped asset that isn't a return * add to readme * fix lint * add logging in skip case * use custom ANR * overhaul test * up size of unit test runner * add more logs * use fixed bytes for decode * more debugging * fix signature fetch * blocked on waiting for context * get to warp verify * more logging * more lint * add more correctness checks on imported asset * fix integration test * fix e2e balance check * more incorrect vars * passing new tests * add double-warp test * remove incorrect fail case * make logging less verbose * update bootstrap readiness logic * improve logging * increase timeout * Add tokenvm e2e tests (part 2) (#79) * add first part of tests * round-trip test * lint
* add parse to import * add scaffold for swap in * RFQ for swap * cleanup import * use the optional codec * add fields to export * add swap in test * unify swap validity check params * remove more println * tweak fees * fix lint * more lint
* update ANR * fix logging * ensure server data is updated * update ANR version
* work on new methods * improve naming * remove old options * keep workdir * progress * add basic storage * implement import key * update key to load all * cleanup assets * cleanup key * cleanup chain * start action migration * cleanup transfer * move create asset * remove mint asset * complete close order * move create_order * migrate all transactions * add support for import asset parse * add parsing for export * prep import asset cmd * add export support * populate export action * add auto-return support * update gitignore * fix scripts run * fix lint * emit outputs after cluster spun up * add powered by hypersdk * make smaller * more testing * keep under * more tweaks * add line break * more down * add at end * little bigger * break apart * update storage and added TODO * use first uri for now * add another comment * add multi-chain support * add support for custom db path * add duplicate protection * close database early if not needed * silence included error * nit * add string util * all working
* migrate actions to use boolean for warp verification * update actions interface * populate error check * update chain builder with bool * nits * more nits * add note about warp verification * add note about max * fix integration tests * make warp result checking more effective
* starting main README * make progress on main README * updating README * continue cleaning docs * progress on explanation * add warp image * specify all things that must be handled * finish explanation * cleanup wording on describing what hypersdk does * add result description * finish main README * more progress * finish docs * fix link * prompt for chain during watch * use prompt chain on export * automatically perform import * submit dummy transaction if too old * send dummy transaction automatically * return current chainID in defaultActor * fix key usage * fix builder (drop expired warp) * cleanup chainID logs * update demo for mint-trade * add demo for export * fix lint
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.
TODO
warp.Signature.NumSigners
methodpad bitset if last X elements are not signers (length of signers in signature will be < validators)?: https://github.com/ava-labs/avalanchego/blob/d755f872a4bf0de12297b3994b729ea684f78519/vms/platformvm/warp/validator.go#L97-L105add warp message cleanup refund (if user clears item from state, get some % of original fee back -> user-driven ack) -> may be simpler if we just say each user can have at most 1 pending warp message at a time? -> just limit outstanding per account -> lockup + refund (unrelated to current network fee, so no gas token)warpID
just be the hash of the payload (store by sourceChainID) - UpdatewarpID
#85only enable BLS_PORTABLE on macos/windowsSubnet B
to swap a minted token) - Finalize AWM Doc Updates + Demo #93