Weekly Dev Update #11
THORChain Weekly Dev Update for Week 01–07 Oct 2019
**CREATE POOL FUNCTIONALITY TO SHIP THIS WEEK**
Users will be able to create new pools with BEP2 assets on their wallet this week, amongst other improvements to the general display of data.
Assets can be acquired via the new @bepswapbot which is a faucet on Telegram.
BEPSwap Development
The team are working on 5 parallel streams of effort to deliver BEPSwap, which remains the primary focus.
- Cosmos-powered SDK StateChain
- Cross-chain infrastructure
- Threshold Signature Scheme implementation
- Front-end Integration for BEPSwap
- Other development activities
StateChain
The Statechain has had numerous issues filed to fix some bugs uncovered in a new testing suite built specifically for it.
Additionally the team are moving away from ADMIN transactions on Biance Chain and towards processing them on the Statechain instead, using sscli
as the client to facilitate. This required an update to how the statechain manages node_accounts
which contains the key-set for each service-node and is whitelisted.
- FIX: Display the pool address instead of the admin address.
- FIX: Staking with an empty memo refunds RUNE but does not refund BNB.
- SUGGESTION: Publish a swagger file
- Prevent admin config change using memo
- Update node account status to Standby status once operator provide a full set trust account key set
- Implement Validator Manager in statechain
- Update Node Account to ready status when observer start to observe tx happening existing pool addresses
Cross-Chain Infrastructure
The most work done on the Infrastructure was building an extensible test suite to test over 30 transaction types for the statechain. This has been paying off, with some edge cases identified and fixed. Additionally the observer-signer was updated to monitor several pool addresses as the team prepare to bring in validator rotation.
- https://gitlab.com/thorchain/bepswap/smoke-tests
- Read pool address from statechain, and observer at two pool addresses
FrontEnd
Most of the work for the week was around implementing the CREATE POOL and a better STAKE page. Some of the changes have already been deployed to production, the rest are scheduled for this week.
The Frontend will also undergo continual tweaks as feedback is collected from the community.
- Reverse swap direction
- Show final fees & slip on swap confirmation
- Gracefully handle transaction errors on swap confirmation.
- BUG: decimal point the field resets to zero
- Create pool without wallet connected
- Bug: Can withdraw shares if i have no share
- Refactoring: Have all constants in one file., Refactoring: Add string helper Refactoring: Remove unnecessary clients for binance, coingecko, chainservice, statechain
Threshold Signature Scheme implementation
TSS now uses the libp2p
library and redundancy is being built to handle a distributed group of signers handling the output from the statechain.
Code is being cleaned up to prepare for a peer-review from our friends over at ZenGo.
Other development activities
CICD has been set up for three different environments:
DEV: testnet.bepswap.net -> deploys every merge
STAGE: testnet.bepswap.io -> deploys each night
PROD: testnet.bepswap.com -> deploys each Wednesday
You can check out these environments at any time!
Whats Next?
To ship mainnet, the team are aiming for this:
Frontend:
Feature complete swapping, staking, trading.
Chain Service:
Feature complete public RESTFul API with potentially a stable GraphQL service.
Statechain:
Feature complete with 3 of 4 of 5
weekly rotation, with ability to upgrade client software and potentially KVStore
with no hard forks or coordination, including TSS.
Timelines
The team are working for these milestones. These timelines are indicative, but it is important for the team to deliver with high productivity and constant community feedback.
Other Development:
- RUNEVault: July 2019
shipped
- Telegram Bot: August 2019
shipped
- Bep2Bot: August 2019
shipped
BEPSwap:
- Testnet: August 2019
shipped
- Community Testing:
shipped
- Mainnet: Q4 2019
on-time
THORChain:
- Testnet: Q1 2020
on-time
- Mainnet: Q2-Q3 2020
on-time
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