Fantom Technical Update | 12th August 2020
Since the last technical update, the team has made tremendous progress working on the Fantom DeFi stack, smart contracts for supply chain management, and a number of improvements for Lachesis.
Go-lachesis
- Batches txs into event blocks more often: https://github.com/Fantom-foundation/go-lachesis/commit/3fe4ea7d3be2deac623bf1811e10334aeb2a379e
- Allow fast exporting of Lachesis chain data: https://github.com/Fantom-foundation/go-lachesis/commit/536f3f3501ed804e20f1146733ec805dcaa269e9
- Allow sending of txs that are automatically trusted for testing purposes: https://github.com/Fantom-foundation/go-lachesis/commit/96bc72a1e96787436cfd68212860a9b5834ad09f
- Fixed flushable iterator: https://github.com/Fantom-foundation/go-lachesis/commit/2c2320572a0da0013ab35f632a34b193ac28e7d5
- Batch transactions for public tx pool: https://github.com/Fantom-foundation/go-lachesis/commit/4bbcec6cbee3d126e63aa91ac3b5d452bdfc035e
- Batch transactions with ETHAPIBackend: https://github.com/Fantom-foundation/go-lachesis/commit/c48d496f47f3619d35686c5680e296e16bf16287
- TxPool.AddTxBatch(): https://github.com/Fantom-foundation/go-lachesis/commit/b6c2999a2dc8716a54af50b0bea308b63be6b8ba
- No broadcast of batched txs: https://github.com/Fantom-foundation/go-lachesis/commit/2519a49e31413cdb3dbfdc9eb9cb66907feef28d
- TxPool.Pending() skips incomplete batches: https://github.com/Fantom-foundation/go-lachesis/commit/c35cd10b331d544e68ecc6bb15426920ce09a760
- evmcore.Transaction.batch: https://github.com/Fantom-foundation/go-lachesis/commit/93ef7151ffb7b78d43a180d04b205918a47dadae
- evmcore.Transaction: https://github.com/Fantom-foundation/go-lachesis/commit/e23a9f7b853dff454decae45094366cd4e42b079
- stateroots prints root hashes: https://github.com/Fantom-foundation/go-lachesis/commit/a9930cc66ee08ebb71f9d5823fec24ac6cbe7e00
- stateroots command stub: https://github.com/Fantom-foundation/go-lachesis/commits/develop
- evmcore/TxPool.AddTrusted() fix and test: https://github.com/Fantom-foundation/go-lachesis/commits/develop
- Upgraded github.com/Fantom-foundation/go-ethereum to v1.9.8-ftm-0.9: https://github.com/Fantom-foundation/go-lachesis/commits/develop
- Changed tx-storm script to send trusted transactions: https://github.com/Fantom-foundation/go-lachesis/commit/15b3a1f64e9ce05a317b259dc348c6fb4c6ce8e9
- Updated tx-storm: https://github.com/Fantom-foundation/go-lachesis/commit/12a0097ffd64bce10670ccfb0d674da0eb2e818a
- PrivateAccountAPI.SendTrustedTransaction() like the PublicTransaction PoolAPI.SendRawTransaction(): https://github.com/Fantom-foundation/go-lachesis/commit/a91afb9e90a5fee7d83c6813fbb31df0fe4ade30
- Fixed datarace issue: https://github.com/Fantom-foundation/go-lachesis/commit/f89a39a9d9a3220c83c2fe5f30098988dc2f28dc
- Added in monitoring dashboard for nodes running lachesis: https://github.com/Fantom-foundation/go-lachesis/commit/e110a88af56c97d3e8fd70deb4dab48bfc70c86b
- SFC-2 tests and fixes: https://github.com/Fantom-foundation/go-lachesis/commit/b8d8952881718215dc8c4e7312ec3c0db8f6167d
- Delegation lockup test fix: https://github.com/Fantom-foundation/go-lachesis/commit/dee9d08b7eb31a268c020ebdcc15057c4ff6683f
- Delegation lockup test failed: https://github.com/Fantom-foundation/go-lachesis/commit/89c3afe11d1e00370aa91c3f6c6c1aaf68461fb1
- Multidelegation db migration: https://github.com/Fantom-foundation/go-lachesis/commit/70e6920d90b675dd7a4dbc63d3eb62ca62102b7e
- multidelegation support: https://github.com/Fantom-foundation/go-lachesis/commit/6cd703f7c67c038e6e96a38d6ca19ea0b80751d9
- printEpochStats(): https://github.com/Fantom-foundation/go-lachesis/commit/05895d5dd4db4d091dcae545ff7baebb73b8b3e3
- Upgraded delegators storage: https://github.com/Fantom-foundation/go-lachesis/commit/834ef8651baaed9c169d472c47185ebd109fa864
- Able to check delegators rewards: https://github.com/Fantom-foundation/go-lachesis/commit/12e40c0fd85843f7f0973f1830b5a790f517ab70
- TestSFC/Check_rewards_after_stake_lock fix proportions: https://github.com/Fantom-foundation/go-lachesis/commit/eae74d373a53bd0fbf7fb98c80312b6adff1fb24
- Added in SFC logging: https://github.com/Fantom-foundation/go-lachesis/commit/045d585a9cbd896063dd69a169d5c3e368710d4a
- Fixed nil pointer exception at TxPool: https://github.com/Fantom-foundation/go-lachesis/commit/a9adb0a70d77cca90078b844de192478647a85e4
- Added in totalLockedAmount of SFC EpochSnapshot: https://github.com/Fantom-foundation/go-lachesis/commit/f0179ea3e485101fae574c586d306401329ae888
- Fixed lockingEnabled condition: https://github.com/Fantom-foundation/go-lachesis/commit/50eb74ae6f8c5ede0b8dc50dc3b3fb58bac5a8e7
- Tested lockingEnabled condition: https://github.com/Fantom-foundation/go-lachesis/commit/42628e829e6a69bdf0fd93cce5f0dacafc9fc586
- Hardfork required: Increased of time to prune an offline validator: https://github.com/Fantom-foundation/go-lachesis/commit/5904861e2d3d8f8a00d4abdb54814f46805dc634
- Tested stake lockup: https://github.com/Fantom-foundation/go-lachesis/commit/85374170fd4a9b886257ed8e93544545860c45b8
Fantom PWA Wallet - DeFi Integrations
- Fixed deposit amounts and available balances: https://github.com/Fantom-foundation/Fantom-PWA-Wallet/commit/d29108291a01854221a44adbdc258cf7a33feb99
- Correct available FTM balance in fMint: https://github.com/Fantom-foundation/Fantom-PWA-Wallet/commit/7db83cb6692c77e4b54c9d090a7546f47ae1a0ad
- Make buttons from some links: https://github.com/Fantom-foundation/Fantom-PWA-Wallet/commit/af66ae410bfa4decb55e2c30ebb0d13124a9306d
- Corrected borrow limit: https://github.com/Fantom-foundation/Fantom-PWA-Wallet/commit/a78dfcba301c4832d2742f65eff53b501493c2cb
- Added available balance to DefiTokenList: https://github.com/Fantom-foundation/Fantom-PWA-Wallet/commit/7ca6cbed53855012f86f48e14a4b9da8c935c4ae
- Adjusted ftrade confirmation process to keep selected tokens: https://github.com/Fantom-foundation/Fantom-PWA-Wallet/commit/c01049f69bf5fd8a66e313a1ffa39c8f26e4d88f
- Adjusted borrow and deposit confirmation process to keep selected token: https://github.com/Fantom-foundation/Fantom-PWA-Wallet/commit/a92edf7145eb0a7d8b82b7c56b0878bb6745bcac
- Fixed minimal collateral value: https://github.com/Fantom-foundation/Fantom-PWA-Wallet/commit/a33a05b2e5e2620b0f728372a96158ee9ae8cb95
- Created SuplyToLiquidityList component: https://github.com/Fantom-foundation/Fantom-PWA-Wallet/commit/cd2085880b066fc4d9262871eb3519f6bcb46629
- Allowed FUSD to be tradable: https://github.com/Fantom-foundation/Fantom-PWA-Wallet/commit/048b4fce78a30ebbfd1bd7d9e615dcdbfbe9df6b
- WIP: Created DefiFLend view: https://github.com/Fantom-foundation/Fantom-PWA-Wallet/commit/62a23ecff54cc7439f178caeff6251ae3d29cc7e
- Created DefiManageDeposit confirmation process: https://github.com/Fantom-foundation/Fantom-PWA-Wallet/commit/51c334f6ac15042f6c46539b70e9fef80ade7fc6
- Created DefiManageDeposit view: https://github.com/Fantom-foundation/Fantom-PWA-Wallet/commit/657330d2ba4766b38b8c59259e30303b6cb58dfe
- Merged branch 'feature/defi-mint-burn': https://github.com/Fantom-foundation/Fantom-PWA-Wallet/commit/189b466cf72534a90ecb31d4941d9c3e7305801b
- WIP: Created DefiFTrade view: https://github.com/Fantom-foundation/Fantom-PWA-Wallet/commit/873b615a4ec2e12cae3d938e65b1aefa61e30db7
- Created DefiBorrowConfirmation component: https://github.com/Fantom-foundation/Fantom-PWA-Wallet/commit/7a28b7c438c5caa1dec52a2aba8fdb869e1545cd
- Added request to defi account: https://github.com/Fantom-foundation/Fantom-PWA-Wallet/commit/9c13ce6fcb9e9272924376dd190188cf444a52a5
- Created DefiFLend and DefiManageBorrowView views: https://github.com/Fantom-foundation/Fantom-PWA-Wallet/commit/3b5b5d3326c578b7086abf7762898b9e57365d0a
- Created TransactionRejectMessageView component: https://github.com/Fantom-foundation/Fantom-PWA-Wallet/commit/2a64cd4719a543616e0a5bfe1a182f18b6793e7e
Fantom - fMint
- Optimise errors to lower gas burning: https://github.com/Fantom-foundation/Fantom-FMint/commit/309e7fe1c172e011370902bd94ed9d0d58810977
- Added detailed description of the contract: https://github.com/Fantom-foundation/Fantom-FMint/commit/033a9d49787ee5f5ec5418e7f1ff38ce81e588cb
- Fixed the fee digits correction value: https://github.com/Fantom-foundation/Fantom-FMint/commit/135cbae815c2f45412fe3fed0f7fa6237811a5a0
- Added detailed compiler configuration: https://github.com/Fantom-foundation/Fantom-FMint/commit/c599ed33544cce7a96025b4341c8a2e8fdedd8a0
- Initial fMint contract commit: https://github.com/Fantom-foundation/Fantom-FMint/commit/bee10fd43beec913eddd4c49c64759e0d6ec1270
Fantom-SFC
- SFC can change offlinePenaltyThreshold: https://github.com/Fantom-foundation/fantom-sfc/commit/a1a8eab3b8ef4e8cce61dc3d34ba4d35d4ba249f
- Restored multi-delegation tests: https://github.com/Fantom-foundation/fantom-sfc/commit/06696857b6cb2685a0cf0539c3a1dc6801ea768b
- Restored multi-delegation feature: https://github.com/Fantom-foundation/fantom-sfc/commit/5ef83f58c2a1aa1fce6a6bab3cdf590b77b3a952
- Tests: test lockup rewards after full withdrawal: https://github.com/Fantom-foundation/fantom-sfc/commit/8e2a3793a15abbe5e56244b8f2bf18629682ccd4
- Tests: test lockup rewards after partial withdrawal: https://github.com/Fantom-foundation/fantom-sfc/commit/2aade5cc7337733cd5b65f60ced2e38118d1486e
- Tests: test lockup rewards after stake increasing: https://github.com/Fantom-foundation/fantom-sfc/commit/c998dc96c9698ed629f153eb660fcc38246f2e7e
- Tests: check partial delegation withdrawal amount after penalty: https://github.com/Fantom-foundation/fantom-sfc/commit/45e4aa1fab8fc37b49403d5d2c9a5e1ebe46cbba
- Tests: check delegation withdrawal amount after penalty: https://github.com/Fantom-foundation/fantom-sfc/commit/4964a00339da3bc754d3188af56167419883dc49
- Tests: test delegation penalty counter: https://github.com/Fantom-foundation/fantom-sfc/commit/da48318bc7d8ea1975246c2c71547d2799777779
- Don't allow to lose previous lockup rewards: https://github.com/Fantom-foundation/fantom-sfc/commit/959577264f385610624ef0becd2640235a916079
- Tests: added test for lockup rewards claiming: https://github.com/Fantom-foundation/fantom-sfc/commit/0a6a3476635c37f2363dfa1965e077162e52bc90
- Tests: added testcase for penalty > delegated stake: https://github.com/Fantom-foundation/fantom-sfc/commit/859b9f6c282c6a1f66578f5b870cefd4f1aa6f95
- Tests: fixed delegation lockup test: https://github.com/Fantom-foundation/fantom-sfc/commit/4191a422b17cdd25ac00c44227b584b582fa9c5e
- Tests: fixed stake lockup test: https://github.com/Fantom-foundation/fantom-sfc/commit/e7430b5bf00f812d67507adb080a0ebb657b4723
- Tests: fixed calcRawValidatorEpochReward test: https://github.com/Fantom-foundation/fantom-sfc/commit/203974144cf1e7a0df8e8f9e9b3ca42739a3cfaa
- Tests: fixed non-lockup tests createDelegation, claimDelegationRewards, prepareToWithdrawDelegation, withdrawDelegation: https://github.com/Fantom-foundation/fantom-sfc/commit/8436275473ea732c8c0a2e85e70c6c99f3fc6323
- Tests: fixed delegator lockup penalty tests: https://github.com/Fantom-foundation/fantom-sfc/commit/8704eff97a663f6a27d933f9e6075c84d8dbf561
- Sync amounts with node after penalty was applied: https://github.com/Fantom-foundation/fantom-sfc/commit/adc4be84a85f4da2af63096efeb48cd6662c1d85
- Don't count penalty for epochs where delegator isn't locked up: https://github.com/Fantom-foundation/fantom-sfc/commit/db2023a19c159ab97b0a72c689e740d057811082
- Adjusted locked and unlocked rewards: https://github.com/Fantom-foundation/fantom-sfc/commit/ec0104fa05c891eedf59e1702e85058d29a5a793
- Fixed infinite loop in lockup penalty function: https://github.com/Fantom-foundation/fantom-sfc/commit/3eaf7da6465fce6485a7d3f99d80813d662e11a5
- Fixed locked stake withdrawal: https://github.com/Fantom-foundation/fantom-sfc/commit/438dcb9bd6b856394fc851cda0dacba0f3856791
Data-hashing-authentication
- Simplify PIN to PID reference to save gas: https://github.com/Fantom-foundation/data-hashing-authentication/commit/96ada643beffeb459aa42f5375269e6da42afa2a
- Split PIN management from products data: https://github.com/Fantom-foundation/data-hashing-authentication/commit/8ca28dcbab5d0a1cd6f394203835b28283de33bf
- Added multiple authorized scanner addresses management: https://github.com/Fantom-foundation/data-hashing-authentication/commit/4fe1dd323d60ea59190d759297a378df95c40ba4
- Do not track system files on repo: https://github.com/Fantom-foundation/data-hashing-authentication/commit/639c15658bdfc4420438954ecf6acd7ae4fe3b87
- Added input structure experimental support: https://github.com/Fantom-foundation/data-hashing-authentication/commit/205833beee170e5a14f9f2ec6c405ffbf7aa1834
- Added product invalidation support: https://github.com/Fantom-foundation/data-hashing-authentication/commit/1ceb3e6d41936d1cc6da87aed3673792f6e48536
- Updated the contract to target API structure: https://github.com/Fantom-foundation/data-hashing-authentication/commit/65bea51a787735b895b89ed340ed6375a3e49178