Sunday, December 1, 2019

Weekly Dev Update #19

THORChain Weekly Dev Update for Week 19–02 Nov 2019

Overview

1 Rune Fee

Reasoning about gas costs on networks with non-deterministic fee schedules (such as Bitcoin) becomes unnecessarily complex. The issue is that the final gas cost cannot be known ahead of time so the system must cover any variability in the gas cost so that the user can be charged a flat rate. If the user is not charged anything, then the system can be depleted of funds, passing the cost back to stakers. Additionally, swaps below 1 Rune bring negligible economic value to the network and saturate the mempool with low value transactions. As such the solution is to charge a flat 1 Rune fee (or 1 Rune equivalent) on all outgoing transactions (swap and withdrawals). This 1 Rune fee is moved into the Protocol Reserve and increases the network’s future income. When the nodes report on the final transaction, they include the observed transaction fee. This transaction fee is then reimbursed back to the pool that paid for it ( BNB.BNB, BTC.BTC, ETH.ETH etc). There are cases that the outgoing transaction fee may exceed 1 Rune (Bitcoin in high use), but more than likely 1 Rune will be more than sufficient to cover the costs and ensure the network grows its reserves. Additionally, it sets a floor on the minimum transaction that the network will process. A swap of less than 1 Rune will end up becoming a donation to the network.

THORChain Development

The team are working on 4 parallel streams of effort. Cross-chain infrastructure has now been merged into a single repo called “THORNode”. * THORChain * Midgard Public API * Threshold Signature Scheme implementation * Front-end Integration for BEPSwap

THORChain

Much work has been done to refactor and clean up the codebase which will make public audits easier. This includes splitting up the keeper, separating out the events module and more. Smoke tests have been fully-integrated into the test schedule. Safer subtraction and division methods were added to prevent the likelihood of panic events. * [refactor] split keeper funcs/interface into separate files * [tests] use gow * [refactor] Redo how get key works in keeper * [security] require no signers on tx ins * Resolve “ADD: 1 Rune Fee on all Swaps” * [bug] fix smoke tests * [ADD] semantic versioning * [Refactor] Keeper chains * [Refactor] Events Keeper * Resolve “Adds a SafeSub method” * [Refactor] Last Height Keeper * [Refactor] keeper liquidity fees * FIX: Issue 208 * [ISSUE] Get smoke tests to 100%

Midgard Public API

Midgard is now ready for integration into the FrontEnd. The manner in which USD price of assets in now updated to source only from internal pool pricing. This includes BNB.BUSD, BNB.TUSD, BNB.USDS. ROI endpoints are now added. * Fix : Updated our mock data to include a correct BNB address. * Add: Return the date a staker first staked. * Add: Previously missing implementations for pool data (24hr and 12m). * Fix: Several potential query issues. Updates to return the TX date as a UNIX timestamp. * Fix: Additional query updates/fixes. * Fix: Build system * Add: Filtering implementation for TxID and Asset. * Added missing import. * Fix/build issues * Fixed issue with my auto refactor * Add: Filtering updates. DB Config fix. * Add: Missing Staker methods for ROI and earnings. * Added fix to enabled timescale extension * Fix: Added build config for rpc_host * Add: Support to Calculate USD price of an asset. * Added: Health check for mainnet to test that we still have a db connection… * Add: Tests for the recent endpoints work. * jq syntax fix. * Additional jq fixes. * [ADD] Manage docker image on gitlab

Threshold Signature Scheme

The Binance Go TSS library is now fully implemented and deploys in a four-node chain. integrate with new go-tss * 212-issue export private key thus we can use it to start tss * 214-issue consolidate tss keygen and tss keysign config, with our new go-tss… * [ADD] Setup go-tss in genesis docker * [ADD] Have CI run smoke tests on a four node chain with TSS

Frontend Implementation

The frontend makes some final tweaks on the interface, before integrating the Midgard APIs. * Resolve “Update stake page share panel” * Resolve “UPDATE: Network Dropdown Titles” * Resolve “ADD: Sorting of columns in pool list” * Resolve “ADD: Sorting of columns in pool list” * Resolve “FIX: Close token selection drop down when clicking outside” * Resolve “Add redux saga for midgard apis” * Resolve “Update protect price UI” * Resolve “Update wallet drawer”

Timelines

The next milestone is: ChaosNet: 03 January 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


No comments:

Post a Comment