Skip to content
This repository was archived by the owner on May 11, 2024. It is now read-only.

Commit 7aacb28

Browse files
committed
Merge remote-tracking branch 'origin/main' into eip4844
2 parents dc54c0c + 0e8aa05 commit 7aacb28

File tree

11 files changed

+128
-128
lines changed

11 files changed

+128
-128
lines changed

docs/docs.go

+9-9
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ const docTemplate = `{
1919
"name": "MIT",
2020
"url": "https://github.com/taikoxyz/taiko-client/blob/main/LICENSE.md"
2121
},
22-
"version": "{{.JsonRPC}}"
22+
"version": "{{.Version}}"
2323
},
2424
"host": "{{.Host}}",
2525
"basePath": "{{.BasePath}}",
@@ -40,15 +40,15 @@ const docTemplate = `{
4040
"in": "body",
4141
"required": true,
4242
"schema": {
43-
"$ref": "#/definitions/prover_server.CreateAssignmentRequestBody"
43+
"$ref": "#/definitions/server.CreateAssignmentRequestBody"
4444
}
4545
}
4646
],
4747
"responses": {
4848
"200": {
4949
"description": "OK",
5050
"schema": {
51-
"$ref": "#/definitions/prover_server.ProposeBlockResponse"
51+
"$ref": "#/definitions/server.ProposeBlockResponse"
5252
}
5353
},
5454
"422": {
@@ -74,7 +74,7 @@ const docTemplate = `{
7474
"200": {
7575
"description": "OK",
7676
"schema": {
77-
"$ref": "#/definitions/prover_server.Status"
77+
"$ref": "#/definitions/server.Status"
7878
}
7979
}
8080
}
@@ -85,7 +85,7 @@ const docTemplate = `{
8585
"big.Int": {
8686
"type": "object"
8787
},
88-
"github_com_taikoxyz_taiko-client_bindings_encoding.TierFee": {
88+
"encoding.TierFee": {
8989
"type": "object",
9090
"properties": {
9191
"fee": {
@@ -96,7 +96,7 @@ const docTemplate = `{
9696
}
9797
}
9898
},
99-
"prover_server.CreateAssignmentRequestBody": {
99+
"server.CreateAssignmentRequestBody": {
100100
"type": "object",
101101
"properties": {
102102
"expiry": {
@@ -108,7 +108,7 @@ const docTemplate = `{
108108
"tierFees": {
109109
"type": "array",
110110
"items": {
111-
"$ref": "#/definitions/github_com_taikoxyz_taiko-client_bindings_encoding.TierFee"
111+
"$ref": "#/definitions/encoding.TierFee"
112112
}
113113
},
114114
"txListHash": {
@@ -119,7 +119,7 @@ const docTemplate = `{
119119
}
120120
}
121121
},
122-
"prover_server.ProposeBlockResponse": {
122+
"server.ProposeBlockResponse": {
123123
"type": "object",
124124
"properties": {
125125
"maxBlockID": {
@@ -139,7 +139,7 @@ const docTemplate = `{
139139
}
140140
}
141141
},
142-
"prover_server.Status": {
142+
"server.Status": {
143143
"type": "object",
144144
"properties": {
145145
"maxExpiry": {

docs/swagger.json

+8-8
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,15 @@
3131
"in": "body",
3232
"required": true,
3333
"schema": {
34-
"$ref": "#/definitions/prover_server.CreateAssignmentRequestBody"
34+
"$ref": "#/definitions/server.CreateAssignmentRequestBody"
3535
}
3636
}
3737
],
3838
"responses": {
3939
"200": {
4040
"description": "OK",
4141
"schema": {
42-
"$ref": "#/definitions/prover_server.ProposeBlockResponse"
42+
"$ref": "#/definitions/server.ProposeBlockResponse"
4343
}
4444
},
4545
"422": {
@@ -65,7 +65,7 @@
6565
"200": {
6666
"description": "OK",
6767
"schema": {
68-
"$ref": "#/definitions/prover_server.Status"
68+
"$ref": "#/definitions/server.Status"
6969
}
7070
}
7171
}
@@ -76,7 +76,7 @@
7676
"big.Int": {
7777
"type": "object"
7878
},
79-
"github_com_taikoxyz_taiko-client_bindings_encoding.TierFee": {
79+
"encoding.TierFee": {
8080
"type": "object",
8181
"properties": {
8282
"fee": {
@@ -87,7 +87,7 @@
8787
}
8888
}
8989
},
90-
"prover_server.CreateAssignmentRequestBody": {
90+
"server.CreateAssignmentRequestBody": {
9191
"type": "object",
9292
"properties": {
9393
"expiry": {
@@ -99,7 +99,7 @@
9999
"tierFees": {
100100
"type": "array",
101101
"items": {
102-
"$ref": "#/definitions/github_com_taikoxyz_taiko-client_bindings_encoding.TierFee"
102+
"$ref": "#/definitions/encoding.TierFee"
103103
}
104104
},
105105
"txListHash": {
@@ -110,7 +110,7 @@
110110
}
111111
}
112112
},
113-
"prover_server.ProposeBlockResponse": {
113+
"server.ProposeBlockResponse": {
114114
"type": "object",
115115
"properties": {
116116
"maxBlockID": {
@@ -130,7 +130,7 @@
130130
}
131131
}
132132
},
133-
"prover_server.Status": {
133+
"server.Status": {
134134
"type": "object",
135135
"properties": {
136136
"maxExpiry": {

docs/swagger.yaml

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,29 @@
11
definitions:
22
big.Int:
33
type: object
4-
github_com_taikoxyz_taiko-client_bindings_encoding.TierFee:
4+
encoding.TierFee:
55
properties:
66
fee:
77
$ref: '#/definitions/big.Int'
88
tier:
99
type: integer
1010
type: object
11-
prover_server.CreateAssignmentRequestBody:
11+
server.CreateAssignmentRequestBody:
1212
properties:
1313
expiry:
1414
type: integer
1515
feeToken:
1616
type: string
1717
tierFees:
1818
items:
19-
$ref: '#/definitions/github_com_taikoxyz_taiko-client_bindings_encoding.TierFee'
19+
$ref: '#/definitions/encoding.TierFee'
2020
type: array
2121
txListHash:
2222
items:
2323
type: integer
2424
type: array
2525
type: object
26-
prover_server.ProposeBlockResponse:
26+
server.ProposeBlockResponse:
2727
properties:
2828
maxBlockID:
2929
type: integer
@@ -36,7 +36,7 @@ definitions:
3636
type: integer
3737
type: array
3838
type: object
39-
prover_server.Status:
39+
server.Status:
4040
properties:
4141
maxExpiry:
4242
type: integer
@@ -71,14 +71,14 @@ paths:
7171
name: body
7272
required: true
7373
schema:
74-
$ref: '#/definitions/prover_server.CreateAssignmentRequestBody'
74+
$ref: '#/definitions/server.CreateAssignmentRequestBody'
7575
produces:
7676
- application/json
7777
responses:
7878
"200":
7979
description: OK
8080
schema:
81-
$ref: '#/definitions/prover_server.ProposeBlockResponse'
81+
$ref: '#/definitions/server.ProposeBlockResponse'
8282
"422":
8383
description: prover does not have capacity
8484
schema:
@@ -95,6 +95,6 @@ paths:
9595
"200":
9696
description: OK
9797
schema:
98-
$ref: '#/definitions/prover_server.Status'
98+
$ref: '#/definitions/server.Status'
9999
summary: Get current prover server status
100100
swagger: "2.0"

internal/testutils/helper.go

-15
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import (
1212
"time"
1313

1414
"github.com/cenkalti/backoff/v4"
15-
"github.com/ethereum/go-ethereum/accounts/abi/bind"
1615
"github.com/ethereum/go-ethereum/common"
1716
"github.com/ethereum/go-ethereum/common/hexutil"
1817
"github.com/ethereum/go-ethereum/core/types"
@@ -156,20 +155,6 @@ func ProposeAndInsertValidBlock(
156155
return event
157156
}
158157

159-
func DepositEtherToL2(s *ClientTestSuite, depositerPrivKey *ecdsa.PrivateKey, recipient common.Address) {
160-
config, err := s.RPCClient.TaikoL1.GetConfig(nil)
161-
s.Nil(err)
162-
163-
opts, err := bind.NewKeyedTransactorWithChainID(depositerPrivKey, s.RPCClient.L1ChainID)
164-
s.Nil(err)
165-
opts.Value = config.EthDepositMinAmount
166-
167-
for i := 0; i < int(config.EthDepositMinCountPerBlock); i++ {
168-
_, err = s.RPCClient.TaikoL1.DepositEtherToL2(opts, recipient)
169-
s.Nil(err)
170-
}
171-
}
172-
173158
// NewTestProverServer starts a new prover server that has channel listeners to respond and react
174159
// to requests for capacity, which provers can call.
175160
func NewTestProverServer(

internal/testutils/suite.go

+29-23
Original file line numberDiff line numberDiff line change
@@ -96,35 +96,41 @@ func (s *ClientTestSuite) SetupTest() {
9696
_, err = rpc.WaitReceipt(context.Background(), rpcCli.L1, tx)
9797
s.Nil(err)
9898

99-
decimal, err := rpcCli.TaikoToken.Decimals(nil)
100-
s.Nil(err)
101-
10299
// Increase allowance for AssignmentHook and TaikoL1
103-
opts, err = bind.NewKeyedTransactorWithChainID(l1ProverPrivKey, rpcCli.L1ChainID)
104-
s.Nil(err)
105-
106-
bigInt := new(big.Int).Exp(big.NewInt(1_000_000_000), new(big.Int).SetUint64(uint64(decimal)), nil)
107-
_, err = rpcCli.TaikoToken.Approve(
108-
opts,
109-
common.HexToAddress(os.Getenv("ASSIGNMENT_HOOK_ADDRESS")),
110-
bigInt,
111-
)
112-
s.Nil(err)
113-
114-
_, err = rpcCli.TaikoToken.Approve(
115-
opts,
116-
common.HexToAddress(os.Getenv("TAIKO_L1_ADDRESS")),
117-
bigInt,
118-
)
119-
s.Nil(err)
120-
121-
_, err = rpc.WaitReceipt(context.Background(), rpcCli.L1, tx)
122-
s.Nil(err)
100+
s.setAllowance(l1ProverPrivKey)
101+
s.setAllowance(ownerPrivKey)
123102
}
124103
s.Nil(rpcCli.L1.CallContext(context.Background(), &s.testnetL1SnapshotID, "evm_snapshot"))
125104
s.NotEmpty(s.testnetL1SnapshotID)
126105
}
127106

107+
func (s *ClientTestSuite) setAllowance(key *ecdsa.PrivateKey) {
108+
decimal, err := s.RPCClient.TaikoToken.Decimals(nil)
109+
s.Nil(err)
110+
111+
bigInt := new(big.Int).Exp(big.NewInt(1_000_000_000), new(big.Int).SetUint64(uint64(decimal)), nil)
112+
113+
opts, err := bind.NewKeyedTransactorWithChainID(key, s.RPCClient.L1ChainID)
114+
s.Nil(err)
115+
116+
_, err = s.RPCClient.TaikoToken.Approve(
117+
opts,
118+
common.HexToAddress(os.Getenv("ASSIGNMENT_HOOK_ADDRESS")),
119+
bigInt,
120+
)
121+
s.Nil(err)
122+
123+
tx, err := s.RPCClient.TaikoToken.Approve(
124+
opts,
125+
common.HexToAddress(os.Getenv("TAIKO_L1_ADDRESS")),
126+
bigInt,
127+
)
128+
s.Nil(err)
129+
130+
_, err = rpc.WaitReceipt(context.Background(), s.RPCClient.L1, tx)
131+
s.Nil(err)
132+
}
133+
128134
func (s *ClientTestSuite) setAddress(ownerPrivKey *ecdsa.PrivateKey, name [32]byte, address common.Address) {
129135
var (
130136
salt = RandomHash()

prover/db/db.go

+4-3
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99
)
1010

1111
var (
12-
blockKeyPrefix = "block-"
12+
blockKeyPrefix = "block"
1313
separator = "++"
1414
)
1515

@@ -21,12 +21,13 @@ type SignedBlockData struct {
2121
}
2222

2323
// BuildBlockKey will build a block key for a signed block
24-
func BuildBlockKey(blockTimestamp uint64) []byte {
24+
func BuildBlockKey(blockTimestamp uint64, blockNumber uint64) []byte {
2525
return bytes.Join(
2626
[][]byte{
2727
[]byte(blockKeyPrefix),
2828
[]byte(strconv.Itoa(int(blockTimestamp))),
29-
}, []byte{})
29+
[]byte(strconv.Itoa(int(blockNumber))),
30+
}, []byte(separator))
3031
}
3132

3233
// BuildBlockValue will build a block value for a signed block

prover/db/db_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import (
1010
)
1111

1212
func Test_BuildBlockKey(t *testing.T) {
13-
assert.Equal(t, []byte("block-1"), BuildBlockKey(1))
13+
assert.Equal(t, []byte("block++1++300"), BuildBlockKey(1, 300))
1414
}
1515

1616
func Test_BuildBlockValue(t *testing.T) {

prover/guardian_prover_sender/guardian_prover.go

+4-8
Original file line numberDiff line numberDiff line change
@@ -101,17 +101,13 @@ func (s *GuardianProverBlockSender) SignAndSendBlock(ctx context.Context, blockI
101101
return err
102102
}
103103

104-
if err := s.db.Put(
105-
db.BuildBlockKey(header.Time),
104+
return s.db.Put(
105+
db.BuildBlockKey(header.Time, header.Number.Uint64()),
106106
db.BuildBlockValue(header.Hash().Bytes(),
107107
signed,
108108
blockID,
109109
),
110-
); err != nil {
111-
return err
112-
}
113-
114-
return nil
110+
)
115111
}
116112

117113
// sendSignedBlockReq is the actual method that sends the signed block to the health check server.
@@ -173,7 +169,7 @@ func (s *GuardianProverBlockSender) sign(ctx context.Context, blockID *big.Int)
173169
return nil, nil, err
174170
}
175171

176-
exists, err := s.db.Has(db.BuildBlockKey(header.Time))
172+
exists, err := s.db.Has(db.BuildBlockKey(header.Time, header.Number.Uint64()))
177173
if err != nil {
178174
return nil, nil, err
179175
}

0 commit comments

Comments
 (0)