Releases: METADIUM/go-metadium
m0.10.1: Introduction of Transaction Restriction Service (TRS)
Please note that updates are not mandatory for end nodes that are operated externally.
This release includes the introduction of the Transaction Restriction Service (TRS), along with various stability and security enhancements.
Key Features of TRS:
- Transaction Restriction Functionality: TRS introduces a feature that allows specific wallet addresses to be flagged. Transactions involving these flagged addresses, whether incoming or outgoing, will not be included in blocks mined by those who activate this service.
- Optional Activation: This feature can be optionally activated by individual miner nodes through a subscription based on their preferences. All restriction settings are managed through smart contracts, ensuring that the process is transparent. This guarantees that miners can use this functionality in a reliable and open manner.
- Enhanced Security and Compliance: The TRS functionality significantly enhances the network's security and compliance capabilities. By utilizing this feature, miners can contribute to creating a safer and more compliant network environment. This is particularly beneficial in preventing illicit activities and adhering to regulatory standards.
Bugfixes and stability improvements:
- Updated
config.json.example
andMetadiumGovernance.js
files to align with the current version for Private chain setup. - Fixed iter error related to RocksDB.
- Addressed security issue related to Ethereum's
pingLoop
(ethereum#27887). - Fixed bug in the Docker-related
Makefile
.
Key commits are as follows:
- metadium/scripts: Fixed stake and balance value errors.(42d08dc)
- metadium/contracts: updated governance - 6fb5118be12eb1e6761611cc09d974105b49275a. (b2c87cb)
- Added Transaction Restriction Service (TRS) implementation and Fixed bugs. (79ed58b)
- core/state/snapshot, ethdb/rocksdb: Fixed RocksDB Iterator error. (0a08255)
- p2p: move ping handling into pingLoop goroutine. (ethereum#27887)(c71a667)
- Makefile: Fixed gmet-linux build error (5ff16ae)
- Makefile: Fixed 'permission denied' error (e5607b3)
m0.10.0: to apply Bokbunja hardfork to METADIUM MAINNET
Please note that this update is ONLY MANDATORY for Gmet MAINNET nodes.
This release enables the Bokbunja hardfork in fixed block #73225410 on the METADIUM MAINNET. The expected date for this transition is 2023-10-31 03:00:00 +UTC.
Gmet m0.10.0 is a scheduled feature release containing several significant improvements and new features to METADIUM MAINNET:
Bokbunja hardfork
- Introduction of a fee delegation function and related RPC API, allowing users to delegate transaction fees to another account.
- To verify the block miner's signature, the verification nodes use the miner's public key registered in the governance contract.
- To decentralize mining, the miner selection strategy has been changed to use etcd lockable tokens.
New features
- Implementation of Verifiable Random Function (VRF) verification functionalities through pre-compiled contracts, offering a more secure and transparent method of generating random numbers on the blockchain.
- Added
eth_getReceiptsByHash
JSON-RPC API. Returns all the transaction receipts for the given block hash. - Added to Gmet CLI flags to allow changing value of
triesInMemory
- Changed to create blocks by sorting transactions in descending order of gas price
- Increased the default value of 'TxLookupLimit' flag from
2350000
to31536000
- Ethereum Ploitari release(v1.10.17) was applied
- Ethereum Sharblu release(v1.10.18) was applied
- Block interval is fixed to 2 seconds.
- Network members can make more types of decisions through improved governance contracts.
Bugfixes and stability improvements
- Improved gmet.sh script
- Improved performance using go routines
- Upgrade etcd library version (v3.5.2)
- Renamed IPC file from
geth.ipc
togmet.ipc
- Changed websocket default port
- Changed the OS version used for
docker-build
to Ubuntu 20.04 - Upgrade golangci-lint library version (v1.49)
- Changed the
Fee
data type ofExecutionResult
, which receives EVM execution results, to BigInt to prevent overflow. - To prevent integer overflow, some variables has been changed to BigInt.
- Fixed issue related to
make test
- Fixed issue with coinbase setup
Key commits are as follows:
- merge go-wemix (0651759)
- core/types: restored metadium block header format (df1b901)
- cmd, core, eth, les, params: add Bokbunja hard fork (891574d)
- metadium/scripts: added Bokbunjs block to genesis template (2cd3c58)
- metadium, Makefile, .gitignore: legacy governance (e2e36ea)
- consensus, metadium, miner: enabled Pangyo and Bokbunja (c58d02a)
- core/vm: enabled eip 3198 opcodes for base fee (4effac3)
- consensus/misc: adjusting base fee from 0 (577034f)
- miner: 2 seconds build interval (9573695)
- metadium/scripts: default block interval, maxPriorityFeePerGas (f5631c0)
- consensus/ethash,miner: Fixed issue with coinbase setup (ed0f316)
- metadium/contracts: updated governance (93ea676)
Please note that 'metadium-0.10.0-linux-rocksdb.tar.gz' file is optimized for Ubuntu 20.04 or higher.
m0.10.0.testnet: to apply Bokbunja hardfork to METADIUM TESTNET
Please note that this update is ONLY MANDATORY for Gmet TESTNET nodes.
This release enables the Bokbunja hardfork in fixed block #44671396 on the METADIUM TESTNET. The expected date for this transition is 2023-09-26 03:00:00 +UTC.
Gmet m0.10.0.testnet is a scheduled feature release containing several significant improvements and new features to METADIUM TESTNET:
Bokbunja hardfork
- Introduction of a fee delegation function and related RPC API, allowing users to delegate transaction fees to another account.
- To verify the block miner's signature, the verification nodes use the miner's public key registered in the governance contract.
- To decentralize mining, the miner selection strategy has been changed to use etcd lockable tokens.
New features
- Implementation of Verifiable Random Function (VRF) verification functionalities through pre-compiled contracts, offering a more secure and transparent method of generating random numbers on the blockchain.
- Added
eth_getReceiptsByHash
JSON-RPC API. Returns all the transaction receipts for the given block hash. - Added to Gmet CLI flags to allow changing value of
triesInMemory
- Changed to create blocks by sorting transactions in descending order of gas price
- Increased the default value of 'TxLookupLimit' flag from
2350000
to31536000
- Ethereum Ploitari release(v1.10.17) was applied
- Ethereum Sharblu release(v1.10.18) was applied
- Block interval is fixed to 2 seconds.
- Network members can make more types of decisions through improved governance contracts.
Bugfixes and stability improvements
- Improved gmet.sh script
- Improved performance using go routines
- Upgrade etcd library version (v3.5.2)
- Changed websocket default port
- Changed the OS version used for
docker-build
to Ubuntu 20.04 - Upgrade golangci-lint library version (v1.49)
- Changed the
Fee
data type ofExecutionResult
, which receives EVM execution results, to BigInt to prevent overflow. - To prevent integer overflow, some variables has been changed to BigInt.
- Fixed issue related to
make test
- Fixed issue with coinbase setup
Key commits are as follows:
- merge go-wemix (f113fe9)
- core/types: restored metadium block header format (df1b901)
- cmd, core, eth, les, params: add Bokbunja hard fork (891574d)
- metadium/scripts: added Bokbunjs block to genesis template (2cd3c58)
- metadium, Makefile, .gitignore: legacy governance (e2e36ea)
- consensus, metadium, miner: enabled Pangyo and Bokbunja (c58d02a)
- core/vm: enabled eip 3198 opcodes for base fee (4effac3)
- metadium/contracts: updated governance contracts (cda97b1)
- consensus/misc: adjusting base fee from 0 (577034f)
- miner: 2 seconds build interval (9573695)
- metadium/scripts: default block interval, maxPriorityFeePerGas (f5631c0)
- consensus/ethash,miner: Fixed issue with coinbase setup (ed0f316)
- metadium/contracts: updated governance (0bb7bf8)
m0.9.9: to apply Avocado hardfork to METADIUM MAINNET
Gmet m0.9.9 is a MUST upgrade to solve DAG related performance issue being inherent in Ethereum PoW blockchain for METADIUM MAINNET.
The fixed MAINNET block number for this transition is: #59860000.
The expected date for Avocado HF for MAINNET is around 2023-03-14 03:00:00 +UTC.
Please note that the exact HF time can be changed depending on the network traffic situation.
Key commits are as follows:
m0.9.9.testnet: to apply Avocado hardfork to METADIUM TESTNET ONLY
Please do not apply this code to METADIUM MAINNET. THIS IS FOR METADIUM TESTNET ONLY.
Gmet m0.9.9.testnet is a MUST upgrade to solve DAG related performance issue being inherent in Ethereum PoW blockchain for METADIUM TESTNET.
The fixed TESTNET block number for this transition is: #40759810.
The expected date for Avocado HF for TESTNET is 2023-02-24 03:00:00 +UTC.
Key commits are as follows:
m0.9.8: to apply Berlin and London hardfork to METADIUM MAINNET
Gmet m0.9.8 is a MUST upgrade aimed to follow Ethereum's Berlin and London hard fork for both METADIUM MAINNET.
The fixed MAINNET block number for this transition is: #51960000.
The expected date for the Berlin and London HF for MAINNET is 2022-11-07 09:00:00 +UTC.
Berlin Fork EIPs
EIP-2929: gas cost increases for state access opcodes
EIP-2315: simple subroutines for the EVM
EIP-2565: modexp precompile gas cost changes
EIP-2718: typed transaction envelope EIP-2930: access list transactions
London Fork EIPs
EIP-1559: Fee market change for ETH 1.0 chain
EIP-3198: BASEFEE opcode
EIP-3529: Reduction in refunds
EIP-3541: Reject new contracts starting with the 0xEF byte
Key commits are as follows
- core, params: metadium mainnet berlin & london block height to 51960000 (bd71e6d)
- metadium: fixed null access upon etcdPut failure (e3b1215)
- metadium: fix bad block issue when gov is incomplete (e18df77)
- add "meta" to ethstats (47ae953)
- core, params: drop underpriced transactions (3763ee7)
- miner: sets baseFee in pending block (548c814)
- core, params: update metadium testnet berlin & london block height to 38067000 (d5fdd66)
- metadium: fixed error handling during rewards calculation (7d802e3)
- feat: apply compact window && update check logic (2069123)
- miner: fixed pending block refresh issue (aff46db)
- consensus: abort upon rewards calculation error (a0e66b5)
- consensus/misc, core, core/vm: disabled EIP-1559 & EIP-3198, fixed --override.london option to include berlin as well (892bb78)
- internal/ethapi: fix incorrect type on empty slice (ethereum#24372) (f01e2fa)
- signer/core: fix complex typed data sign (EIP712) (ethereum#24220) (5a0d487)
- miner: avoid data race in miner (ethereum#24349) (2d20fed)
- etcd: added patched etcd (68b5f00)
- eth, miner: use miner for post-merge block production (ethereum#23256) (78636ee)
- core: moved governance initialization check after block validation fails (e51e813)
- trie: fix range prover (ethereum#24266) (ae45c97)
- core: unon fast sync completion wait for governance to be initialized in order to calculate rewards distribution correctly (880b5cb)
- ethdb/rocksdb: fixed iterator range issue (4c77062)
- crypto/ecies: use AES-192 for curve P384 (ethereum#24139) (045e90c)
- trie: use keyvalue reader for non-mutating methods (ethereum#24221) (2c58e6b)
- core/evm: RANDOM opcode (EIP-4399) (ethereum#24141) (b1e72f7)
- core: periodically flush the transaction indexes (4bd2d0e)
- core/rawdb: fix double-lock causing hang (ethereum#24189) (66a908c)
- core: ignore basefee when comparing with pool gasprice in txpool (ethereum#24080) (8bbf83e)
- core/vm: Make INVALID a defined opcode (ethereum#24017) (3e47e38)
- core, eth: improve delivery speed on header requests (ethereum#23105) (db03faa)
- miner: update pending block even after the PoS transition (ethereum#24075) (7f7877a)
- core, core/rawdb: fix transaction indexing (ethereum#24024) (69686fa)
- signer/core: move EIP-712 types to package apitypes (ethereum#24029) (619a3e7)
- core, eth, les, trie: remove the sync bloom, used by fast sync (58d1988)
- core/vm: move interpreter interruption check to jump instructions (ethereum#24026) (b02fe53)
- core/vm: remove stack.pushN (ethereum#24040) (a0f7771)
- eth: pre-process downloader responses on the peer reader thread (c893488)
- core/vm: rename opSuicide to opSelfdestruct (ethereum#24022) (2be129b)
- core/vm: Move interpreter.ReadOnly check into the opcode implementations (ethereum#23970) (9393d1f)
- core/vm: don't copy JumpTable when no EIP mods are needed (ethereum#23977) (163f166)
- core/vm: Rename SHA3 instruction to KECCAK256 (ethereum#23976) (a69d4b2)
- trie: simplify StackTrie implementation (ethereum#23950) (86fe359)
- eth: request id dispatcher and direct req/reply APIs (ethereum#23576) (c10a0a6)
- all: core rework for the merge transition (Minimized changes for the merge ethereum#23761) (3038e48)
- core/vm: simplify op lookup in contract (ethereum#23974) (519cf98)
- consensus/misc: not checking extra data on metadium mainnet (edb77d5)
- trie: reject deletions when verifying range proofs (743769f)
- core/rawdb: use AncientRange when initializing leveldb from freezer (ethereum#23612) (347c37b)
- core, eth/downloader: fix resetting below freezer threshold (d9c13d4)
- ethdb/rocksdb: fixed iterator & added tests (98bc33d)
- eth, eth/protocols/eth: transaction announcements for ETH66 only as the previous metadium protocol version was ETH65 (b89baa7)
- core/rawdb: add slow path for getting legacy logs (ethereum#23879) (c57df9c)
- core/vm: implement EIP-2681: Limit account nonce to 2^64-1 (ethereum#23853) (f32feeb)
- eth: added SynchroniseWith to synchronize with a given peer (7ddcc15)
- core: check effective tip in txpool pricelimit validation (ethereum#23855) (9489853)
- cmd/geth, cmd/utils, metadium/scripts: renamed --testnet to --meta-tesnet (a4f0f8f)
- cmd/geth: add support for sepolia testnet (ethereum#23730) (e1c000b)
- miner, consensus/clique: avoid memory leak during block stasis (ethereum#23861) (476fb56)
- rpc: linear time batch response matching (ethereum#23856) (53b94f1)
- core: more efficient nonce-update in txpool (ethereum#22231) (03bc8b7)
- accounts/abi/bind/backends: make suggestGasPrice compatible with non-1559 chains (ethereum#23840) (c2e64db)
- miner: fix receipt deep copy in worker (ethereum#23835) (c113520)
- accounts/abi/bin/backends: return basefee in suggestGasPrice (ethereum#23838) (57c252e)
- eth, eth/protocols/eth: added metadium message handlers (0121483)
- cmd/geth, cmd/evm, params: implement Arrow Glacier (EIP 4345) (ethereum#23810) (32150f8)
- internal/jsre: upgrade offline wallet for goja (f26b65a)
- ethdb: more accurate batch size calculation (ethereum#23790) (53f8157)
- core: use block difficulty for genesis (ethereum#23793) (c72b16c)
- core/rawdb, ethdb: introduce batched/atomic reads from ancients (ethereum#23566) (0e7efd6)
- core/state/snapshot: fix BAD BLOCK error when snapshot is generating (ethereum#23635) (312e02b)
- cmd/evm: add 256-bit field validations on transactions (t9n) (ethereum#23743) (84d8eb2)
- internal/ethapi: fix recover sender of pending transaction (ethereum#23765) (433f091)
- core/types: add MarshalBinary, UnmarshalBinary for Receipt (ethereum#22806) (e4f570f)
- eth: close miner on exit (instead of just stopping) (ethereum#21992) (28d30b5)
- internal/ethapi: use correct signer when serving old blocks (ethereum#23683) (48496e0)
- core: improve shutdown synchronization in BlockChain (ethereum#22853) (edb1937)
- core/types: copy tx recipient address (ethereum#23376) (4e599ee)
- eth/api: add rpc method to obtain which states are accessible (ethereum#23646) (307156c)
- internal/ethapi: make header/block rlp retrieval canonical (5240725)
- internal/ethapi: support retrieving header RLPs too (07a5bc1)
- eth/protocols/eth: simplify peer known block/txs caches (ethereum#23649) (a541fbe)
- accounts/abi/bind: check event signature before parsing (ethereum#23230) (92c5d10)
- core/rawdb: avoid unnecessary receipt processing for log filtering (ethereum#23147) (783e97e)
- core/state: move state account to core/types + abstracted "write account to trie" (ethereum#23567) (443afc9)
- p2p/enode: use unix timestamp as base ENR sequence number (ethereum#19903) (6ef3a16)
- core: fix race conditions in txpool (ethereum#23474) (067084f)
- internal/ethapi: support both input and data for personal_sendTransaction (ethereum#23476) (ffae204)
- crypto/cloudflare/bn256: fix in-place addition and unmarshalling (ethereum#23419) (887902e)
- cmd/evm: add difficulty calculation to t8n tool (ethereum#23353) (84c51bc)
- core/bloombits: avoid crash when storing errors of different type (ethereum#23437) (8e0771c)
- p2p, p2p/enode: fix data races (ethereum#23434) (8dbf261)
- core/vm: faster code analysis (ethereum#23381) (1d99573)
- eth/gasprice: feeHistory improvements (ethereum#23422) (f38abc5)
- signer/core/apitypes: remove dependency on internal/ethapi (ethereum#23362) (bb1f7eb)
- eth, internal/ethapi: make RPC block miner field show block sealer correctly (ethereum#23312) (57feabe)
- accounts/external: handle 0 chainid as not-set for the Clef API (ethereum#23394) (0a68558)
- core/rawdb: implement sequential reads in freezer_table (ethereum#23117) (5f98020)
- internal/ethapi: add back missing check for maxfee < maxPriorityFee (278ec71)
- internal/ethapi, accounts/abi/bind: cap highest gas limit by account balance for 1559 fee parameters (ethereum#23309) (a879c42)
- internal/ethapi: return maxFeePerGas for gasPrice for EIP-1559 txs (ethereum#23345) (39fe7ec)
- core: fix london-check to avoid duplication (ethereum#23333) (d60cfd2)
- core/rawdb: close database in test to avoid goroutine leak (ethereum#23287) (9e59474)
- cmd/evm: implement input txs via rlp in t8n tool (ethereum#23138) (8a24b56)
- core: check if sender is EOA (ethereum#23303) (0658712)
- core: get header from block cache (ethereum#23299) (c38fab9)
- accounts/external, internal/ethapi: fixes for London tx signing (accounts/external, internal/ethapi: make ext signer sign legacy ethereum#23274) (5c13012)
- consensus/ethash: less allocation during mining (ethereum#23199) (0730acc)
- internal/ethapi: fix panic in accesslist creation (ethereum#23225) (2faf796)
- accounts/abi/bind: set Context in TransactOpts (ethereum#23188) (3aea432)
- accounts/abi/bind: parse ABI only once, create metadata struct (ethereum#22583) (b20bc5c)
- Use hexutil.Uint for blockCount parameter in feeHistory method (ethereum#23239) (bbfa648)
- core/types: revert removal of legacy receipt support (ethereum#23247) (370680a)
- core: fix pre-check for account balance under EIP-1559 (ethereum#23244) (97aacd9)
- node: fix stopping websocket rpc.Server (node: fix stopping websocket rpc...
m0.9.8.testnet: to apply Berlin and London hardfork to METADIUM TESTNET ONLY
Please do not apply this code to METADIUM MAINNET. THIS IS FOR METADIUM TESTNET ONLY.
Gmet m0.9.8.testnet is a MUST upgrade aimed to follow Ethereum's Berlin and London hard fork for TESTNET.
The fixed TESTNET block number for this transition is: #38076000.
Both Berlin and London HF for TESTNET has been successfully applied at 2022-09-22 13:23:20 +UTC.
Berlin Fork EIPs
EIP-2929: gas cost increases for state access opcodes
EIP-2315: simple subroutines for the EVM
EIP-2565: modexp precompile gas cost changes
EIP-2718: typed transaction envelope EIP-2930: access list transactions
London Fork EIPs
EIP-1559: Fee market change for ETH 1.0 chain
EIP-3198: BASEFEE opcode
EIP-3529: Reduction in refunds
EIP-3541: Reject new contracts starting with the 0xEF byte
Key commits are as follows
- add "meta" to ethstats (47ae953)
- core, params: drop underpriced transactions (3763ee7)
- miner: sets baseFee in pending block (548c814)
- core, params: update metadium testnet berlin & london block height to 38067000 (d5fdd66)
- metadium: fixed error handling during rewards calculation (7d802e3)
- feat: apply compact window && update check logic (2069123)
- miner: fixed pending block refresh issue (aff46db)
- consensus: abort upon rewards calculation error (a0e66b5)
- consensus/misc, core, core/vm: disabled EIP-1559 & EIP-3198, fixed --override.london option to include berlin as well (892bb78)
- internal/ethapi: fix incorrect type on empty slice (ethereum#24372) (f01e2fa)
- signer/core: fix complex typed data sign (EIP712) (ethereum#24220) (5a0d487)
- miner: avoid data race in miner (ethereum#24349) (2d20fed)
- etcd: added patched etcd (68b5f00)
- eth, miner: use miner for post-merge block production (ethereum#23256) (78636ee)
- core: moved governance initialization check after block validation fails (e51e813)
- trie: fix range prover (ethereum#24266) (ae45c97)
- core: unon fast sync completion wait for governance to be initialized in order to calculate rewards distribution correctly (880b5cb)
- ethdb/rocksdb: fixed iterator range issue (4c77062)
- crypto/ecies: use AES-192 for curve P384 (ethereum#24139) (045e90c)
- trie: use keyvalue reader for non-mutating methods (ethereum#24221) (2c58e6b)
- core/evm: RANDOM opcode (EIP-4399) (ethereum#24141) (b1e72f7)
- core: periodically flush the transaction indexes (4bd2d0e)
- core/rawdb: fix double-lock causing hang (ethereum#24189) (66a908c)
- core: ignore basefee when comparing with pool gasprice in txpool (ethereum#24080) (8bbf83e)
- core/vm: Make INVALID a defined opcode (ethereum#24017) (3e47e38)
- core, eth: improve delivery speed on header requests (ethereum#23105) (db03faa)
- miner: update pending block even after the PoS transition (ethereum#24075) (7f7877a)
- core, core/rawdb: fix transaction indexing (ethereum#24024) (69686fa)
- signer/core: move EIP-712 types to package apitypes (ethereum#24029) (619a3e7)
- core, eth, les, trie: remove the sync bloom, used by fast sync (58d1988)
- core/vm: move interpreter interruption check to jump instructions (ethereum#24026) (b02fe53)
- core/vm: remove stack.pushN (ethereum#24040) (a0f7771)
- eth: pre-process downloader responses on the peer reader thread (c893488)
- core/vm: rename opSuicide to opSelfdestruct (ethereum#24022) (2be129b)
- core/vm: Move interpreter.ReadOnly check into the opcode implementations (ethereum#23970) (9393d1f)
- core/vm: don't copy JumpTable when no EIP mods are needed (ethereum#23977) (163f166)
- core/vm: Rename SHA3 instruction to KECCAK256 (ethereum#23976) (a69d4b2)
- trie: simplify StackTrie implementation (ethereum#23950) (86fe359)
- eth: request id dispatcher and direct req/reply APIs (ethereum#23576) (c10a0a6)
- all: core rework for the merge transition (Minimized changes for the merge ethereum#23761) (3038e48)
- core/vm: simplify op lookup in contract (ethereum#23974) (519cf98)
- consensus/misc: not checking extra data on metadium mainnet (edb77d5)
- trie: reject deletions when verifying range proofs (743769f)
- core/rawdb: use AncientRange when initializing leveldb from freezer (ethereum#23612) (347c37b)
- core, eth/downloader: fix resetting below freezer threshold (d9c13d4)
- ethdb/rocksdb: fixed iterator & added tests (98bc33d)
- eth, eth/protocols/eth: transaction announcements for ETH66 only as the previous metadium protocol version was ETH65 (b89baa7)
- core/rawdb: add slow path for getting legacy logs (ethereum#23879) (c57df9c)
- core/vm: implement EIP-2681: Limit account nonce to 2^64-1 (ethereum#23853) (f32feeb)
- eth: added SynchroniseWith to synchronize with a given peer (7ddcc15)
- core: check effective tip in txpool pricelimit validation (ethereum#23855) (9489853)
- cmd/geth, cmd/utils, metadium/scripts: renamed --testnet to --meta-tesnet (a4f0f8f)
- cmd/geth: add support for sepolia testnet (ethereum#23730) (e1c000b)
- miner, consensus/clique: avoid memory leak during block stasis (ethereum#23861) (476fb56)
- rpc: linear time batch response matching (ethereum#23856) (53b94f1)
- core: more efficient nonce-update in txpool (ethereum#22231) (03bc8b7)
- accounts/abi/bind/backends: make suggestGasPrice compatible with non-1559 chains (ethereum#23840) (c2e64db)
- miner: fix receipt deep copy in worker (ethereum#23835) (c113520)
- accounts/abi/bin/backends: return basefee in suggestGasPrice (ethereum#23838) (57c252e)
- eth, eth/protocols/eth: added metadium message handlers (0121483)
- cmd/geth, cmd/evm, params: implement Arrow Glacier (EIP 4345) (ethereum#23810) (32150f8)
- internal/jsre: upgrade offline wallet for goja (f26b65a)
- ethdb: more accurate batch size calculation (ethereum#23790) (53f8157)
- core: use block difficulty for genesis (ethereum#23793) (c72b16c)
- core/rawdb, ethdb: introduce batched/atomic reads from ancients (ethereum#23566) (0e7efd6)
- core/state/snapshot: fix BAD BLOCK error when snapshot is generating (ethereum#23635) (312e02b)
- cmd/evm: add 256-bit field validations on transactions (t9n) (ethereum#23743) (84d8eb2)
- internal/ethapi: fix recover sender of pending transaction (ethereum#23765) (433f091)
- core/types: add MarshalBinary, UnmarshalBinary for Receipt (ethereum#22806) (e4f570f)
- eth: close miner on exit (instead of just stopping) (ethereum#21992) (28d30b5)
- internal/ethapi: use correct signer when serving old blocks (ethereum#23683) (48496e0)
- core: improve shutdown synchronization in BlockChain (ethereum#22853) (edb1937)
- core/types: copy tx recipient address (ethereum#23376) (4e599ee)
- eth/api: add rpc method to obtain which states are accessible (ethereum#23646) (307156c)
- internal/ethapi: make header/block rlp retrieval canonical (5240725)
- internal/ethapi: support retrieving header RLPs too (07a5bc1)
- eth/protocols/eth: simplify peer known block/txs caches (ethereum#23649) (a541fbe)
- accounts/abi/bind: check event signature before parsing (ethereum#23230) (92c5d10)
- core/rawdb: avoid unnecessary receipt processing for log filtering (ethereum#23147) (783e97e)
- core/state: move state account to core/types + abstracted "write account to trie" (ethereum#23567) (443afc9)
- p2p/enode: use unix timestamp as base ENR sequence number (ethereum#19903) (6ef3a16)
- core: fix race conditions in txpool (ethereum#23474) (067084f)
- internal/ethapi: support both input and data for personal_sendTransaction (ethereum#23476) (ffae204)
- crypto/cloudflare/bn256: fix in-place addition and unmarshalling (ethereum#23419) (887902e)
- cmd/evm: add difficulty calculation to t8n tool (ethereum#23353) (84c51bc)
- core/bloombits: avoid crash when storing errors of different type (ethereum#23437) (8e0771c)
- p2p, p2p/enode: fix data races (ethereum#23434) (8dbf261)
- core/vm: faster code analysis (ethereum#23381) (1d99573)
- eth/gasprice: feeHistory improvements (ethereum#23422) (f38abc5)
- signer/core/apitypes: remove dependency on internal/ethapi (ethereum#23362) (bb1f7eb)
- eth, internal/ethapi: make RPC block miner field show block sealer correctly (ethereum#23312) (57feabe)
- accounts/external: handle 0 chainid as not-set for the Clef API (ethereum#23394) (0a68558)
- core/rawdb: implement sequential reads in freezer_table (ethereum#23117) (5f98020)
- internal/ethapi: add back missing check for maxfee < maxPriorityFee (278ec71)
- internal/ethapi, accounts/abi/bind: cap highest gas limit by account balance for 1559 fee parameters (ethereum#23309) (a879c42)
- internal/ethapi: return maxFeePerGas for gasPrice for EIP-1559 txs (ethereum#23345) (39fe7ec)
- core: fix london-check to avoid duplication (ethereum#23333) (d60cfd2)
- core/rawdb: close database in test to avoid goroutine leak (ethereum#23287) (9e59474)
- cmd/evm: implement input txs via rlp in t8n tool (ethereum#23138) (8a24b56)
- core: check if sender is EOA (ethereum#23303) (0658712)
- core: get header from block cache (ethereum#23299) (c38fab9)
- accounts/external, internal/ethapi: fixes for London tx signing (accounts/external, internal/ethapi: make ext signer sign legacy ethereum#23274) (5c13012)
- consensus/ethash: less allocation during mining (ethereum#23199) (0730acc)
- internal/ethapi: fix panic in accesslist creation (ethereum#23225) (2faf796)
- accounts/abi/bind: set Context in TransactOpts (ethereum#23188) (3aea432)
- accounts/abi/bind: parse ABI only once, create metadata struct (ethereum#22583) (b20bc5c)
- Use hexutil.Uint for blockCount parameter in feeHistory method (ethereum#23239) (bbfa648)
- core/types: revert removal of legacy receipt support (ethereum#23247) (370680a)
- core: fix pre-check for account balance under EIP-1559 (ethereum#23244) (97aacd9)
- node: fix stopping websocket rpc.Server (node: fix stopping websocket rpc.Server ethereum#23211) (89fde59)
- consensus/clique: implement getSigner API method (ethereum#22987) (b9e6e43)
- internal: get pending and queued transaction by address (ethereum#22992) (c49e065)
- internal/ethapi: f...
DAG generation bug fix
Commits
- version is now 0.9.7 (ff365d1)
- consensus/ethash: use 64bit indexes for the DAG generation (ethereum#21793) (3988419)
m0.9.6
Gmet m0.9.6 is a MUST upgrade aimed to follow Ethereum's Istanbul hard fork (Eth2.0).
The current fixed block number for the transition is: Block Number: #11441000.
The expected date for the hard fork is Wednesday, November 18, 2020.
Commits
- updated block number to apply istanbul upgrade to metadium mainnet to 11441000 (5b383cf)
- updated genesis for mainnet and testnet (15f0a2d)
- updated default genesis template to enable istanbul (a28fa12)
- fixed an issue in istanbul overriding (d72a635)
- updated block number to apply istanbul upgrade to metadium testnet (4ecbc24)
- set block numbers for istanbul (a63abd3)
- updated gmet.sh (f7e87a3)
- rocksdb batch replay update (36e996e)
- updated 'make clean' (287cc02)
- added git submodule init for rocksdb (4b9ec01)
- updated ttlScaling (60304a9)
- bumped protocol version up to eth65 to differentiate from metadium 64 (db19a04)
- In metadium, fork order is not enforced (2bfa80e)
- updated Makefile to accomoodate rocksdb (ffb3b32)
- added rocksdb as submodule (c1959b9)
- removed no longer needed vendor files (098bd07)
- merged go-ethereum v1.9.10 (a811cb1)
- implemented replay function for rocksdb (d4184f7)
- Doesn't always increase timestamp for metadium (51e8a72)
- disabled db freeze functionality with rocksdb for now (9f660d3)
- updated callGas for backward compatibility (f3a9d9a)
- eip 150 is enabled in template (4c3208f)
- merged go-ethereum v1.9.6 (f3c5869)
m0.9.5
Gmet v0.9.5 is minor upgrade aimed to make transaction and block transfer more efficient.
Commits
- for instant sync, reduced fetcher.arriveTimeout and fetcher.gatherSlack to 0 (c7e91a1)
- increased block announcement queue to reduce the chance of losing them (fff6df2)
- fixed occasional crashes (1a2af5b)
- fixed script error in gmet.sh (b96f789)
- added maxtxsperblock command line option (e3d8b73)
- reduced maxKnownTxs per peer to 102400 (5db209d)
- added hub subsystem (601f34e)
- added admin.etcdGetWork() and admin.etcdDeleteWork() commands (0c14910)
- Added TxExMsg message type to send derived sender address along with transaction itself to avoid doing signature verification. If it comes from non-trusted node, signature verification is enforced. (fab71b0)
- replaced faulty mapset.Set with lrucache (f76d5a5)
- fixed renamed package name (b8d83b1)
- overhauled sender resolver routine (b1cc405)
- added batch library (5aed92d)
- added lru cache library (6bf600b)
-
- moved some of transaction verification out of lock: tx_pool.go:preValidate. 2. added tx_pool.go:ResolveSenders. It resolves sender accounts from transactions concurrently with worker threads. (8570863)
- set max block generation interval to 1 second (46c4bde)