Skip to content

Commit

Permalink
add logger in contract (#65)
Browse files Browse the repository at this point in the history
  • Loading branch information
csdtowards authored Oct 24, 2024
1 parent cf4e6b6 commit ae76544
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 8 deletions.
2 changes: 1 addition & 1 deletion disperser/batcher/finalizer.go
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ func (f *finalizer) Start(ctx context.Context) {
go func() {
for {
f.updateFinalizedBlockNumber(ctx)
time.Sleep(time.Second * 5)
time.Sleep(time.Second * 3)
}
}()

Expand Down
4 changes: 2 additions & 2 deletions disperser/batcher/transactor/transactor.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ func (t *Transactor) SubmitLogEntry(daContract *contract.DAContract, dataRoots [
return eth_common.Hash{}, errors.WithMessage(err, "Failed to estimate SubmitLogEntry tx")
}

gasLimit := tx.Gas() + tx.Gas()/20
gasLimit := tx.Gas() + tx.Gas()*3/10
if tx, _, err = daContract.SubmitOriginalData(dataRoots, false, gasLimit); err != nil {
return eth_common.Hash{}, errors.WithMessage(err, "Failed to submit log entry")
}
Expand Down Expand Up @@ -74,7 +74,7 @@ func (t *Transactor) SubmitVerifiedCommitRoots(daContract *contract.DAContract,
return eth_common.Hash{}, errors.WithMessage(err, "Failed to estimate SubmitVerifiedCommitRoots")
}

gasLimit = tx.Gas() + tx.Gas()/20
gasLimit = tx.Gas() + tx.Gas()*3/10
t.logger.Info("[transactor] estimate gas", "gas limit", tx.Gas())
} else {
gasLimit = t.gasLimit
Expand Down
2 changes: 1 addition & 1 deletion disperser/cmd/batcher/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ func RunBatcher(ctx *cli.Context) error {

daEntranceAddress := eth_common.HexToAddress(config.BatcherConfig.DAEntranceContractAddress)
daSignersAddress := eth_common.HexToAddress(config.BatcherConfig.DASignersContractAddress)
daContract, err := contract.NewDAContract(daEntranceAddress, daSignersAddress, config.EthClientConfig.RPCURL, config.EthClientConfig.PrivateKeyString)
daContract, err := contract.NewDAContract(daEntranceAddress, daSignersAddress, config.EthClientConfig.RPCURL, config.EthClientConfig.PrivateKeyString, logger)
if err != nil {
return fmt.Errorf("failed to create DAEntrance contract: %w", err)
}
Expand Down
2 changes: 1 addition & 1 deletion disperser/cmd/combined_server/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ func RunBatcher(config Config, queue disperser.BlobStore, logger common.Logger,
// dispatcher
daEntranceAddress := eth_common.HexToAddress(config.BatcherConfig.DAEntranceContractAddress)
daSignersAddress := eth_common.HexToAddress(config.BatcherConfig.DASignersContractAddress)
daContract, err := contract.NewDAContract(daEntranceAddress, daSignersAddress, config.EthClientConfig.RPCURL, config.EthClientConfig.PrivateKeyString)
daContract, err := contract.NewDAContract(daEntranceAddress, daSignersAddress, config.EthClientConfig.RPCURL, config.EthClientConfig.PrivateKeyString, logger)
if err != nil {
return fmt.Errorf("failed to create DAEntrance contract: %w", err)
}
Expand Down
17 changes: 14 additions & 3 deletions disperser/contract/contract.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (
"strings"
"time"

"github.com/0glabs/0g-da-client/common"
"github.com/0glabs/0g-da-client/disperser/contract/da_entrance"
"github.com/0glabs/0g-da-client/disperser/contract/da_signers"
"github.com/ethereum/go-ethereum/accounts/abi/bind"
Expand Down Expand Up @@ -44,7 +45,8 @@ type DAContract struct {
account eth_common.Address // account to send transaction
signer bind.SignerFn

nonce uint64
nonce uint64
logger common.Logger
}

func defaultSigner(clientWithSigner *web3go.Client) (interfaces.Signer, error) {
Expand All @@ -65,7 +67,7 @@ func defaultSigner(clientWithSigner *web3go.Client) (interfaces.Signer, error) {
return signers[0], nil
}

func NewDAContract(daEntranceAddress, daSignersAddress eth_common.Address, rpcURL, privateKeyString string) (*DAContract, error) {
func NewDAContract(daEntranceAddress, daSignersAddress eth_common.Address, rpcURL, privateKeyString string, logger common.Logger) (*DAContract, error) {
clientWithSigner := MustNewWeb3(rpcURL, privateKeyString)
backend, signer := clientWithSigner.ToClientForContract()

Expand All @@ -89,14 +91,17 @@ func NewDAContract(daEntranceAddress, daSignersAddress eth_common.Address, rpcUR
return nil, err
}

logger.Debug("[contract] signer current nonce", "nonce", nonce)

return &DAContract{
DAEntrance: flow,
DASigners: signers,
client: clientWithSigner,
account: default_signer.Address(),
signer: signer,

nonce: nonce,
nonce: nonce,
logger: logger,
}, nil
}

Expand All @@ -121,8 +126,11 @@ func (c *DAContract) SubmitVerifiedCommitRoots(submissions []da_entrance.IDAEntr
pending := types.BlockNumberOrHashWithNumber(types.PendingBlockNumber)
nonce, err := c.client.Eth.TransactionCount(c.account, &pending)
if err == nil {
c.logger.Debug("[contract] reset signer nonce", "old", c.nonce, "new", nonce)
c.nonce = nonce.Uint64()
continue
} else {
c.logger.Error("[contract] call TransactionCount failed", "err", err)
}
}

Expand Down Expand Up @@ -180,8 +188,11 @@ func (c *DAContract) SubmitOriginalData(dataRoots []eth_common.Hash, waitForRece
pending := types.BlockNumberOrHashWithNumber(types.PendingBlockNumber)
nonce, err := c.client.Eth.TransactionCount(c.account, &pending)
if err == nil {
c.logger.Debug("[contract] reset signer nonce", "old", c.nonce, "new", nonce)
c.nonce = nonce.Uint64()
continue
} else {
c.logger.Error("[contract] call TransactionCount failed", "err", err)
}
}

Expand Down

0 comments on commit ae76544

Please sign in to comment.