Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[R4R]-{develop}: Develop into ReleaseV0.4.3 #1348

Closed
wants to merge 28 commits into from
Closed
Show file tree
Hide file tree
Changes from 27 commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
fc30663
[R4R]-{develop}: Fix typos (#1300)
omahs Aug 1, 2023
2b3c947
[R4R] - {license}: add DA license (#1263)
Ethanncnm Aug 1, 2023
ba52077
[R4R]-{develop}:Optimize the rollup service (#1301)
Ethanncnm Aug 2, 2023
ee604d1
fix mt-batcher timeout function
guoshijiang Aug 7, 2023
00cd0f7
fix flag
guoshijiang Aug 7, 2023
84ad98d
Add Mantle audit report files (#1333)
byteflyfunny Aug 4, 2023
440a741
[fix]: add change log for v0.4.3-alpha.0
Sha3nS Aug 3, 2023
30019c0
[fix]: import gasorale connection with l1 node
Sha3nS Aug 4, 2023
2562dab
[R4R]-{mt-batcher}: log optimization for mt-batcher and da-retriever …
guoshijiang Aug 8, 2023
78091f2
Merge branch 'develop' into merge/changelog
Sha3nS Aug 9, 2023
446e2af
[R4R]-{changelog}: add change log for v0.4.3-alpha.0 (#1325)
Sha3nS Aug 9, 2023
170161d
fix review
guoshijiang Aug 9, 2023
09c8c57
Merge branch 'develop' into feature/fix-mt-batcher
guoshijiang Aug 9, 2023
10f6f93
R4R: Feature/fix mt batcher (#1334)
tw5428561 Aug 9, 2023
b0736b3
delete error judge logic
Ethanncnm Aug 9, 2023
d67a238
[R4R]: delete error judge logic (#1337)
tw5428561 Aug 9, 2023
683a8cf
hotfix: polyfill mnt address for testnet
Aug 10, 2023
b1720ed
[R4R]-{develop}: handle testnet MNT token address compatibility (#1338)
shellteo Aug 10, 2023
b3bbba4
[R4R]-{develop}: Bugfix/fix gas oracle gomod (#1341)
Sha3nS Aug 14, 2023
ed203f6
[fix]: fix gasoracle docker file
Sha3nS Aug 14, 2023
db46a0c
[R4R]-{develop}: fix gas-oracle dockerfile (#1342)
Sha3nS Aug 14, 2023
ed6fa65
[fix]: fix gasoracle update frequency
Sha3nS Aug 15, 2023
0a5ea1f
[R4R]-{develop}: fix gasoracle update frequency (#1344)
Sha3nS Aug 15, 2023
09a9ef8
[fix]: fix bigint cmp formular
Sha3nS Aug 15, 2023
9803e74
[R4R]-{develop}: fix bigint cmp formula (#1345)
Sha3nS Aug 15, 2023
88f482e
[R4R]-{develop}: fix block log query range (#1347)
Sha3nS Aug 15, 2023
894f76d
[R4R]-{develop}-[gasoracle]impr: initialize fee_scalar metrics (#1346)
Tri-stone Aug 15, 2023
ca288dd
update @mantleio/sdk to version 0.2.2 (#1349)
shellteo Aug 16, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -59,3 +59,4 @@ ops/data/**
dist/
packages/contracts/test/data/
packages/contracts/abi/
gas-oracle/gas-oracle-data/
31 changes: 31 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,36 @@
# Changelog

## [v0.4.3-alpha.0](https://github.com/mantlenetworkio/mantle/commits/v0.4.3-alpha.0) - 2023-08-03

### Features
- DTL
- Optimized performance by separating L1 and L2 process execution time for synchronous data ([#1298](https://github.com/mantlenetworkio/mantle/pull/1298))
- SDK
- Enhanced compatibility by aligning the standard-bridge with the selected chainID ([#1268](https://github.com/mantlenetworkio/mantle/pull/1268))
- GasOracle
- Improved metric accuracy by modifying token_ratio ([#1310](https://github.com/mantlenetworkio/mantle/pull/1310))

### Bug Fixes
- Resolved a 'nonce too high' error caused by the DA verifier([#1313](https://github.com/mantlenetworkio/mantle/pull/1313))
- Fixed a panic issue during traceCall operation, eliminating unexpected program crashes ([#1305](https://github.com/mantlenetworkio/mantle/pull/1305))
- Handled unhandled errors in DA upgrade tool and NewStateTransition of l2geth, enhancing error handling and preventing potential issues ([#1288](https://github.com/mantlenetworkio/mantle/pull/1288), [#1295](https://github.com/mantlenetworkio/mantle/pull/1295))
- Strengthened seed generation process security by introducing passphrase protection ([#1297](https://github.com/mantlenetworkio/mantle/pull/1297))
- Addressed nonce overflow and other security-related concerns, bolstering system security ([#1293](https://github.com/mantlenetworkio/mantle/pull/1293), [#1292](https://github.com/mantlenetworkio/mantle/pull/1292))
- Improved JWT secret key configuration and handling for enhanced security ([#1226](https://github.com/mantlenetworkio/mantle/pull/1226))
- Renamed 'rollup' to 'Accepted on layer1', enhancing clarity and reflecting its role in the network's hierarchy ([#1314](https://github.com/mantlenetworkio/mantle/pull/1314))
- Resolved the issue of the 'Log/txstatus' element not found, addressing a gap in log information ([#1264](https://github.com/mantlenetworkio/mantle/pull/1264))
- Cleaned up unused DA contracts, optimizing the codebase by removing redundant contracts ([#1283](https://github.com/mantlenetworkio/mantle/pull/1283))
- Rectified Mantle token compilation errors on the Foundry platform, ensuring successful compilation ([#1282](https://github.com/mantlenetworkio/mantle/pull/1282))
- Fixed go mod and mt-challenger configuration issues, modified 'WMANTLE9' to 'WMANTLE' for compatibility and clarity ([#1302](https://github.com/mantlenetworkio/mantle/pull/1302), [#1281](https://github.com/mantlenetworkio/mantle/pull/1281))
- Addressed 'sigma MNT-35' issue, conducted a TSS security audit fix, ensuring accurate handling of 'sigma MNT-35' and enhancing TSS security ([#1257](https://github.com/mantlenetworkio/mantle/pull/1257))
- Fixed ConsenSys audit issue: cs-6.18, ensuring compliance with audit requirements ([#1243](https://github.com/mantlenetworkio/mantle/pull/1243))
- Addressed various ConsenSys audit issues (cs-6.30, cs-6.42, cs-6.40, cs-6.37, cs-6.14, cs-6.34, cs-6.22, cs-6.33), ensuring codebase compliance ([#1219](https://github.com/mantlenetworkio/mantle/pull/1219), [#1212](https://github.com/mantlenetworkio/mantle/pull/1212), [#1210](https://github.com/mantlenetworkio/mantle/pull/1210), [#1207](https://github.com/mantlenetworkio/mantle/pull/1207), [#1204](https://github.com/mantlenetworkio/mantle/pull/1204), [#1194](https://github.com/mantlenetworkio/mantle/pull/1194), [#1191](https://github.com/mantlenetworkio/mantle/pull/1191), [#1188](https://github.com/mantlenetworkio/mantle/pull/1188))
- Resolved lock threshold validation issue, enhancing security and preventing potential vulnerabilities ([#1227](https://github.com/mantlenetworkio/mantle/pull/1227))
- Fixed jwt secret key configuration issue, improving the handling of secret keys ([#1226](https://github.com/mantlenetworkio/mantle/pull/1226))
- Resolved ConsenSys minor audit issues (cs-6.35, cs-6.43, cs-6.44, cs-6.45), ensuring adherence to audit recommendations ([#1217](https://github.com/mantlenetworkio/mantle/pull/1217), [#1183](https://github.com/mantlenetworkio/mantle/pull/1183))
- Removed unused struct related to 'mnt-37', added a default message handler for function ProcessOneMessage:cs-6.26 ([#1202](https://github.com/mantlenetworkio/mantle/pull/1202), [#1198](https://github.com/mantlenetworkio/mantle/pull/1198))


## [v0.4.2](https://github.com/mantlenetworkio/mantle/commits/v0.4.2) - 2023-07-10

### Features
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ There are plenty of ways to contribute, in particular we appreciate support in t
- Reporting issues. For security issues see [Security policy](https://github.com/mantlenetworkio/mantle/blob/main/SECURITY.md).
- Fixing and responding to existing issues. You can start off with those tagged ["good first issue"](https://github.com/mantlenetworkio/mantle/contribute) which are meant as introductory issues for external contributors.
- Improving the [documentation](https://github.com/mantlenetworkio/documents) and [tutorials](https://docs.mantle.xyz/network/for-devs/tutorials).
- Become an "Mantler" and answer questions in the [mantle Discord](https://discord.com/invite/0xMantle).
- Become a "Mantler" and answer questions in the [mantle Discord](https://discord.com/invite/0xMantle).
- Get involved in the protocol design process by proposing changes or new features or write parts of the spec yourself in the [mantle-specs](https://docs.mantle.xyz/network/intro/overview).

Note that we have a [Code of Conduct](https://github.com/mantlenetworkio/.github/blob/main/CODE_OF_CONDUCT.md), please follow it in all your interactions with the project.
Expand Down
9 changes: 6 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ Mantle's modular architecture helps achieve greater network efficiency for resou

Different parts of the Mantle tech stack are specialized to tackle specific issues.

- [**Data Availability**](https://docs.mantle.xyz/introducing-mantle/a-gentle-introduction/solving-data-availability): Implementing EigenDA, an innovative re-staking solution that leverages Ethereum's validator network to bring the security of L1 to L2
- [**Data Availability**](https://docs.mantle.xyz/introducing-mantle/a-gentle-introduction/solving-data-availability): Data Availability powered by EigenDA technology, an innovative re-staking solution that leverages Ethereum's validator network to bring the security of L1 to L2
- [**EVM-level Fraud Proofs**](https://docs.mantle.xyz/introducing-mantle/a-gentle-introduction/fraud-proofs): Improved fraud proofs that are evaluated using EVM-level instructions

> We encourage you to check out the [**Mantle tech docs**](https://docs.mantle.xyz) to learn more about the inner workings of Mantle.
Expand Down Expand Up @@ -149,7 +149,7 @@ root
├── <a href="./bss-core">bss-core</a>: Core batch-submitter logic and utilities
├── <a href="./gas-oracle">gas-oracle</a>: Service for updating L1 gas prices on L2
├── <a href="./integration-tests">integration-tests</a>: Various integration tests for the Mantle network
├── <a href="./l2geth">l2geth</a>: Mantle client software, a fork of <a href="https://github.com/ethereum/go-ethereum/tree/v1.9.10">geth v1.9.10</a>
├── <a href="./l2geth">l2geth</a>: Mantle client software, a fork of <a href="https://github.com/ethereum/go-ethereum/tree/v1.9.10">geth v1.9.10</a> (deprecated for BEDROCK upgrade)
├── <a href="./l2geth-exporter">l2geth-exporter</a>: A prometheus exporter to collect/serve metrics from an L2 geth node
├── <a href="./proxyd">proxyd</a>: Configurable RPC request router and proxy
</pre>
Expand All @@ -165,4 +165,7 @@ Then check out our list of [good first issues](https://github.com/mantlenetworki

## License

Code forked from [`optimism`](https://github.com/ethereum-optimism) under the name [`optimism`](https://github.com/ethereum-optimism/optimism) is licensed under the [MIT License](https://github.com/git/git-scm.com/blob/main/MIT-LICENSE.txt) in accordance with the [original license](https://github.com/ethereum/go-ethereum/blob/master/COPYING).
Code forked from [`optimism`](https://github.com/ethereum-optimism/optimism) under the name [`optimism`](https://github.com/mantlenetworkio/bitnetwork/tree/master/l2geth) is licensed under the [GNU GPLv3](https://gist.github.com/kn9ts/cbe95340d29fc1aaeaa5dd5c059d2e60) in accordance with the [original license](https://github.com/ethereum-optimism/optimism/blob/master/COPYING).


All other files within this repository are licensed under the [MIT License](https://github.com/mantlenetworkio/bitnetwork/blob/master/LICENSE) unless stated otherwise.
Binary file not shown.
Binary file not shown.
Binary file added audits/Mantle Secure3 Audit Report.pdf
Binary file not shown.
Binary file added audits/Mantle Sigma Prime Review.pdf
Binary file not shown.
Binary file not shown.
Binary file added audits/Mantle Zellic Audit Report.pdf
Binary file not shown.
85 changes: 41 additions & 44 deletions batch-submitter/batch_submitter.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ import (

"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/log"
"github.com/getsentry/sentry-go"
"github.com/urfave/cli"

"github.com/mantlenetworkio/mantle/batch-submitter/drivers/proposer"
"github.com/mantlenetworkio/mantle/batch-submitter/drivers/sequencer"
Expand All @@ -17,6 +15,9 @@ import (
"github.com/mantlenetworkio/mantle/bss-core/dial"
"github.com/mantlenetworkio/mantle/bss-core/metrics"
"github.com/mantlenetworkio/mantle/bss-core/txmgr"

"github.com/getsentry/sentry-go"
"github.com/urfave/cli"
)

// Main is the entrypoint into the batch submitter service. This method returns
Expand All @@ -30,10 +31,6 @@ func Main(gitVersion string) func(ctx *cli.Context) error {
return err
}

log.Info("Config parsed",
"min_tx_size", cfg.MinL1TxSize,
"max_tx_size", cfg.MaxL1TxSize)

// The call to defer is done here so that any errors logged from
// this point on are posted to Sentry before exiting.
if cfg.SentryEnable {
Expand Down Expand Up @@ -130,23 +127,22 @@ func Main(gitVersion string) func(ctx *cli.Context) error {
var services []*bsscore.Service
if cfg.RunTxBatchSubmitter {
batchTxDriver, err := sequencer.NewDriver(sequencer.Config{
Name: "Sequencer",
L1Client: l1Client,
L2Client: l2Client,
BlockOffset: cfg.BlockOffset,
MinTxSize: cfg.MinL1TxSize,
MaxTxSize: cfg.MaxL1TxSize,
MaxPlaintextBatchSize: cfg.MaxPlaintextBatchSize,
DaUpgradeBlock: cfg.DaUpgradeBlock,
DAAddr: common.Address(common.HexToAddress(cfg.DAAddress)),
CTCAddr: ctcAddress,
ChainID: chainID,
PrivKey: sequencerPrivKey,
EnableSequencerHsm: cfg.EnableSequencerHsm,
SequencerHsmAddress: cfg.SequencerHsmAddress,
SequencerHsmAPIName: cfg.SequencerHsmAPIName,
SequencerHsmCreden: cfg.SequencerHsmCreden,
BatchType: sequencer.BatchTypeFromString(cfg.SequencerBatchType),
Name: "Sequencer",
L1Client: l1Client,
L2Client: l2Client,
BlockOffset: cfg.BlockOffset,
DaUpgradeBlock: cfg.DaUpgradeBlock,
DAAddr: common.Address(common.HexToAddress(cfg.DAAddress)),
CTCAddr: ctcAddress,
ChainID: chainID,
PrivKey: sequencerPrivKey,
EnableSequencerHsm: cfg.EnableSequencerHsm,
SequencerHsmAddress: cfg.SequencerHsmAddress,
SequencerHsmAPIName: cfg.SequencerHsmAPIName,
SequencerHsmCreden: cfg.SequencerHsmCreden,
BatchType: sequencer.BatchTypeFromString(cfg.SequencerBatchType),
MaxRollupTxn: cfg.MaxRollupTxn,
MinRollupTxn: cfg.MinRollupTxn,
})
if err != nil {
return err
Expand All @@ -164,27 +160,28 @@ func Main(gitVersion string) func(ctx *cli.Context) error {

if cfg.RunStateBatchSubmitter {
batchStateDriver, err := proposer.NewDriver(proposer.Config{
Name: "Proposer",
L1Client: l1Client,
L2Client: l2Client,
TssClient: tssClient,
BlockOffset: cfg.BlockOffset,
MinStateRootElements: cfg.MinStateRootElements,
MaxStateRootElements: cfg.MaxStateRootElements,
SCCAddr: sccAddress,
CTCAddr: ctcAddress,
FPRollupAddr: common.HexToAddress(cfg.FPRollupAddress),
ChainID: chainID,
PrivKey: proposerPrivKey,
SccRollback: cfg.EnableSccRollback,
MaxBatchSubmissionTime: cfg.MaxBatchSubmissionTime,
PollInterval: cfg.PollInterval,
FinalityConfirmations: cfg.FinalityConfirmations,
EnableProposerHsm: cfg.EnableProposerHsm,
ProposerHsmAddress: cfg.ProposerHsmAddress,
ProposerHsmCreden: cfg.ProposerHsmCreden,
ProposerHsmAPIName: cfg.ProposerHsmAPIName,
AllowL2AutoRollback: cfg.AllowL2AutoRollback,
Name: "Proposer",
L1Client: l1Client,
L2Client: l2Client,
TssClient: tssClient,
BlockOffset: cfg.BlockOffset,
MinStateRootElements: cfg.MinStateRootElements,
MaxStateRootElements: cfg.MaxStateRootElements,
SCCAddr: sccAddress,
CTCAddr: ctcAddress,
FPRollupAddr: common.HexToAddress(cfg.FPRollupAddress),
ChainID: chainID,
PrivKey: proposerPrivKey,
SccRollback: cfg.EnableSccRollback,
RollupTimeout: cfg.RollupTimeout,
PollInterval: cfg.PollInterval,
FinalityConfirmations: cfg.FinalityConfirmations,
EnableProposerHsm: cfg.EnableProposerHsm,
ProposerHsmAddress: cfg.ProposerHsmAddress,
ProposerHsmCreden: cfg.ProposerHsmCreden,
ProposerHsmAPIName: cfg.ProposerHsmAPIName,
AllowL2AutoRollback: cfg.AllowL2AutoRollback,
MinTimeoutStateRootElements: cfg.MinTimeoutStateRootElements,
})
if err != nil {
return err
Expand Down
Loading
Loading