Weekly Dev Update #6
THORChain Weekly Dev Update for Week 27 Sep— 02 Sep 2019
THORChain Weekly Dev Update for Week 27 Aug— 02 Sep 2019
Overview
The team have internally shipped testnet on time, and are getting it ready for public access, including front-end integration.
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
The theme of the week was to begin API implementation, start frontend API integration, begin integration of the TSS signer in the environment.
StateChain
The Statechain is mostly complete and dependent now on integration with the Observer, Chain Service and Signer.
Cross-chain Infra
Updates to the Observer and begin building the Chain Service. Block explorer shipped to frontend.
- Update Observer to use the new statechain types
- Change binance block scanner to get tx detail from the node , instead of using binance api
- add tokens endpoint
- Prevent SQL injection
- add tradeData endpoint
- get tx data from binance node instead using binance API
- Continuously scan statechain for new events, and persistent it to influxdb
Threshold Signatures
This week began work to implement the TSS Signer with the Statechain infrastructure and required setting up a new testnet environment.
Front-end Integration
Work was done on generating programmatic coin icons, as well as a new Signer Modal and updated staking actions.
Programmatic Icons are generated by finding web-hex colours based on the first two letters of the symbol.

function generateIcon(string){
char[] ch = string.toCharArray();
int tempFirst = (int)c[0];
int tempFirst_integer = 64; //for upper case
if(tempFirst<=90 & tempFirst>=65){
int firstCol = (tempFirst-tempFirst_integer) ;
col1 = rainbowStop(firstcol);
}
int temp2nd = (int)c[1];
int temp2nd_integer = 64; //for upper case
if(temp2nd<=90 & temp2nd>=65){
int 2ndCol = (temp2nd-temp2nd_integer) ;
col2 = rainbowStop(2ndcol);
}}function rainbowStop(h)
{
let f= (n,k=(n+h*12)%12) => .5-.5*Math.max(Math.min(k-3,9-k,1),-1);
let rgb2hex = (r,g,b) => "#"+[r,g,b].map(x=>Math.round(x*255).toString(16).padStart(2,0)).join('');
return ( rgb2hex(f(0), f(8), f(4)) );
}
Modal Timer is a beautiful modal screen that conveys the progress of the transaction as it is taking place. There is also a matching header icon that mimics the timer.

The stake, trade and withdraw actions were also updated to make use of the beautiful “drag to stake” action slider:

Other Development
Work is ongoing with the BEP2Bot for BEP2 projects:
- News
- Wallet monitoring
- Address registration
- Price alerts.
Upcoming
This week has the following activities planned:
- Statechain: continue integrating TSS signer.
- Cross-chain infra: finish Chain Service.
- Frontend: Integrate Chain Service.
- Bep2Bot: prepare for community launch
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
delayed 1 week
BEPSwap:
- Testnet: August 2019
on-time - Audit: September 2019
on-time - Mainnet: October 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