Weekly Dev Update #37
THORChain Weekly Dev Update for Week 31 Mar–06 Apr 2020
Summary
The team focussed on continuing the testing regime and rolling out bug fixes to the binary. Some updates to THORNode have been made to prepare the chain to be cross-chain, as well as work being commissioned to begin the Bitcoin implementation.
Midgard and the clients continue to be updated and the team are confident of a public testnet being made available with updated infrastructure soon. The infrastructure includes a Telegram Bot, Pool Balancer Bot, THORchain Seed Service as well as Node documentation.
THORNode
Apart from ongoing bug-fixes and infrastructure updates, the large feature added to THORNode this week was of dynamic gas fees. This came about with ongoing work with the Bifröst module to equip it to be cross-chain. For Ethereum and Bitcoin (and other chains with dynamic gas fees), nodes need to be instructed on what gas fee to use, since the gas fee is part of the transaction. The logic will still be to use hard-coded fee amounts (such as 20 Gwei for Ethereum and 20 Sat/bytes for Bitcoin), but later some dynamic gas re-pricing mechanism will be added to ensure THORNode is resilient during times of network fluctuations.
- [bugfix] add only msg observers
- [bugfix] change testnet to have up to 12 nodes
- Resolve “check liquidity fee”
- Fixunittest
- Add mainnet binance cmd + remove deprecated healthcheck
- [tooling] add bash scripts to interact with mock binance
- [infra] Build testnet/mainnet on build branch only
- [infra] Testnet setup
- [infra] ensure CI checks linting
- Resolve “Lambda IP addresses”
- Limit testnet nodes
- 396-issue remove set pool data
- Resolve “rename Handler_tss_keysign_fail.go to handler_tss_keysign.go”
- 398-issue allow emit asset to be the same as the pool asset
- 392-issue remove NewObserver detection logic , as it is not used anymore
- 394-issue remove pool variable
- 395-issue remove the vault.TotalReserve.LT(totalPoolRewards)
- [refactor] remove useless tss configs
- Resolve “Slash bond for failed keygen”
- 403-issue remove Ruby integration tests
- [refactor] Track gas on chain
- 389-issue block gas
THORChain TSS
Some minor fixes, as well as the large merge request that sees a distributed join-party
logic added. This allows nodes to join signing committees in a more resilient way.
- [infra] fix linting in CI
- Resolve “check the p2p connectivity before we declear that p2p communication is ready”
- Resolve “Update tss-lib to 1.3.1”
- Resolve “distributed join party”
Bifröst
Work continues to build out the Ethereum Bifröst and the team have begun preparing to build for Bitcoin. It is likely that some changes are needed to be made to equip the chain to deal with the nuances of Ethereum and Bitcoin:
- UTXO management (Bitcoin)
- Dynamic Gas fees (both)
- Batch signing (Bitcoin)
The team are aiming to have Bitcoin and Ethereum tested prior to mainnet launch.
Midgard
Work on Midgard includes some QA fixing, as well as the new node
and network
endpoints, which make more data available for clients of the protocol.
- Resolve “Clean Thorchain client source code”
- Resolve “Connect Smoke test to CI”
- Resolve “Wrong poolFeeAverage calculation”
- Resolve “ADD: type filter for /v1/txs endpoint”
- Resolve “Update LiquidityFee in swap event”
- Fix parse liquidity from string
- Update README.md
- Resolve “ADD: Network Endpoint”
- Fix linting errors
- Resolve “Exclude external API dependencies from Midgard”
- Update gas event
- [infra] build testnet images
BEPSwap Client
BEPSwap continues to see work completed to ensure it is ready for a public testnet.
- Resolve “BUG: Quotes around staking ROI”
- Fix CI issues
- ensure master ci builds deploys to cloudfront (development)
- Resolve “BUG: Missing FINISH button on swap modal.”
- Resolve “Fix UI: Show message if a pool is not available for an asset”
- Get Midgard IP from seed (testnet only)
- Resolve “ADD: filter action — the dropdown component in the tx page”
Asgard Wallet
The Asgard Wallet team have focussed on upgraded the binary to support Ant-Design.
- Feature/migrate asset details ant d
- Migrate userAssets screen to AntD, minor other fixes. Related to #162
- Addressing minor UI/UX fixes etc. Related to #163 #168 #169
- Feature/fixes improvements
- Feature/migrate transactions ant d
- Feature/migrate transactions table ant d
THORChain Byzantine Module
Clients of THORChain must prepare to deal with malicious nodes, so a reuseable Byzantine Module is being built. This module first queries a seed in order to collect IP addresses of Nodes, then queries (n/3 + 1) of them in order to ensure the data being collected is correct across the network.
The seeds:
Testnet:
https://testnet-seed.thorchain.info
Chaosnet:
https://chaosnet-seed.thorchain.info
Mainnet:
https://seed.thorchain.info
Bounty Program
There are currently open bounties on Asgard Wallet codebase:
Issues · THORChain / Asgard WalletAsgard WalletAsgard Walletgitlab.com
In addition, the team are working with a number of community developers on some specific tasks.
Audit
Code Review: Complete
Economic Review: Completed most of THORChain's economic architecture
TSS Audit: expected to begin soon
Next Milestones
The updated testnet is in the final stages of testing. Chaosnet is expected once testnet has been fully-validated in several environments. There currently isn’t any known blockers to Chaosnet release.
Community
To keep up to date, please monitor community channels, particularly Telegram and Twitter:
- Twitter: https://twitter.com/thorchain_org
- Telegram Community: https://t.me/thorchain_org
- Telegram Announcements: https://t.me/thorchain
- Reddit: https://reddit.com/r/thorchain
- Github: https://github.com/thorchain
- Medium: https://medium.com/thorchain