Skip to content

Commit 0b6cdbd

Browse files
committed
Revert "feat: introduce encode stage (#814)"
This reverts commit 84cf1b5.
1 parent 84cf1b5 commit 0b6cdbd

File tree

4 files changed

+83
-179
lines changed

4 files changed

+83
-179
lines changed

params/version.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import (
2424
const (
2525
VersionMajor = 5 // Major version component of the current release
2626
VersionMinor = 4 // Minor version component of the current release
27-
VersionPatch = 1 // Patch version component of the current release
27+
VersionPatch = 0 // Patch version component of the current release
2828
VersionMeta = "mainnet" // Version metadata to append to the version string
2929
)
3030

rollup/circuitcapacitychecker/impl.go

Lines changed: 33 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -73,42 +73,46 @@ func (ccc *CircuitCapacityChecker) ApplyTransaction(traces *types.BlockTrace) (*
7373
}
7474

7575
encodeStart := time.Now()
76-
rustTrace := MakeRustTrace(traces, &ccc.jsonBuffer)
76+
ccc.jsonBuffer.Reset()
77+
err := json.NewEncoder(&ccc.jsonBuffer).Encode(traces)
78+
if err != nil {
79+
log.Error("fail to json marshal traces in ApplyTransaction", "id", ccc.ID, "TxHash", traces.Transactions[0].TxHash, "err", err)
80+
return nil, ErrUnknown
81+
}
82+
83+
tracesStr := C.CString(string(ccc.jsonBuffer.Bytes()))
84+
defer func() {
85+
C.free(unsafe.Pointer(tracesStr))
86+
}()
87+
88+
rustTrace := C.parse_json_to_rust_trace(tracesStr)
7789
if rustTrace == nil {
7890
log.Error("fail to parse json in to rust trace", "id", ccc.ID, "TxHash", traces.Transactions[0].TxHash)
7991
return nil, ErrUnknown
8092
}
8193
encodeTimer.UpdateSince(encodeStart)
8294

8395
log.Debug("start to check circuit capacity for tx", "id", ccc.ID, "TxHash", traces.Transactions[0].TxHash)
84-
return ccc.applyTransactionRustTrace(rustTrace)
85-
}
86-
87-
func (ccc *CircuitCapacityChecker) ApplyTransactionRustTrace(rustTrace unsafe.Pointer) (*types.RowConsumption, error) {
88-
ccc.Lock()
89-
defer ccc.Unlock()
90-
return ccc.applyTransactionRustTrace(rustTrace)
91-
}
92-
93-
func (ccc *CircuitCapacityChecker) applyTransactionRustTrace(rustTrace unsafe.Pointer) (*types.RowConsumption, error) {
9496
rawResult := C.apply_tx(C.uint64_t(ccc.ID), rustTrace)
9597
defer func() {
9698
C.free_c_chars(rawResult)
9799
}()
100+
log.Debug("check circuit capacity for tx done", "id", ccc.ID, "TxHash", traces.Transactions[0].TxHash)
98101

99102
result := &WrappedRowUsage{}
100-
if err := json.Unmarshal([]byte(C.GoString(rawResult)), result); err != nil {
101-
log.Error("fail to json unmarshal apply_tx result", "id", ccc.ID, "err", err)
103+
if err = json.Unmarshal([]byte(C.GoString(rawResult)), result); err != nil {
104+
log.Error("fail to json unmarshal apply_tx result", "id", ccc.ID, "TxHash", traces.Transactions[0].TxHash, "err", err)
102105
return nil, ErrUnknown
103106
}
104107

105108
if result.Error != "" {
106-
log.Error("fail to apply_tx in CircuitCapacityChecker", "id", ccc.ID, "err", result.Error)
109+
log.Error("fail to apply_tx in CircuitCapacityChecker", "id", ccc.ID, "TxHash", traces.Transactions[0].TxHash, "err", result.Error)
107110
return nil, ErrUnknown
108111
}
109112
if result.AccRowUsage == nil {
110113
log.Error("fail to apply_tx in CircuitCapacityChecker",
111-
"id", ccc.ID, "result.AccRowUsage == nil", result.AccRowUsage == nil,
114+
"id", ccc.ID, "TxHash", traces.Transactions[0].TxHash,
115+
"result.AccRowUsage == nil", result.AccRowUsage == nil,
112116
"err", "AccRowUsage is empty unexpectedly")
113117
return nil, ErrUnknown
114118
}
@@ -124,7 +128,19 @@ func (ccc *CircuitCapacityChecker) ApplyBlock(traces *types.BlockTrace) (*types.
124128
defer ccc.Unlock()
125129

126130
encodeStart := time.Now()
127-
rustTrace := MakeRustTrace(traces, &ccc.jsonBuffer)
131+
ccc.jsonBuffer.Reset()
132+
err := json.NewEncoder(&ccc.jsonBuffer).Encode(traces)
133+
if err != nil {
134+
log.Error("fail to json marshal traces in ApplyBlock", "id", ccc.ID, "blockNumber", traces.Header.Number, "blockHash", traces.Header.Hash(), "err", err)
135+
return nil, ErrUnknown
136+
}
137+
138+
tracesStr := C.CString(string(ccc.jsonBuffer.Bytes()))
139+
defer func() {
140+
C.free(unsafe.Pointer(tracesStr))
141+
}()
142+
143+
rustTrace := C.parse_json_to_rust_trace(tracesStr)
128144
if rustTrace == nil {
129145
log.Error("fail to parse json in to rust trace", "id", ccc.ID, "TxHash", traces.Transactions[0].TxHash)
130146
return nil, ErrUnknown
@@ -139,7 +155,7 @@ func (ccc *CircuitCapacityChecker) ApplyBlock(traces *types.BlockTrace) (*types.
139155
log.Debug("check circuit capacity for block done", "id", ccc.ID, "blockNumber", traces.Header.Number, "blockHash", traces.Header.Hash())
140156

141157
result := &WrappedRowUsage{}
142-
if err := json.Unmarshal([]byte(C.GoString(rawResult)), result); err != nil {
158+
if err = json.Unmarshal([]byte(C.GoString(rawResult)), result); err != nil {
143159
log.Error("fail to json unmarshal apply_block result", "id", ccc.ID, "blockNumber", traces.Header.Number, "blockHash", traces.Header.Hash(), "err", err)
144160
return nil, ErrUnknown
145161
}
@@ -203,23 +219,3 @@ func (ccc *CircuitCapacityChecker) SetLightMode(lightMode bool) error {
203219

204220
return nil
205221
}
206-
207-
func MakeRustTrace(trace *types.BlockTrace, buffer *bytes.Buffer) unsafe.Pointer {
208-
if buffer == nil {
209-
buffer = new(bytes.Buffer)
210-
}
211-
buffer.Reset()
212-
213-
err := json.NewEncoder(buffer).Encode(trace)
214-
if err != nil {
215-
log.Error("fail to json marshal traces in MakeRustTrace", "err", err)
216-
return nil
217-
}
218-
219-
tracesStr := C.CString(string(buffer.Bytes()))
220-
defer func() {
221-
C.free(unsafe.Pointer(tracesStr))
222-
}()
223-
224-
return C.parse_json_to_rust_trace(tracesStr)
225-
}

rollup/circuitcapacitychecker/mock.go

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@
33
package circuitcapacitychecker
44

55
import (
6-
"bytes"
76
"math/rand"
8-
"unsafe"
97

108
"github.com/scroll-tech/go-ethereum/common"
119
"github.com/scroll-tech/go-ethereum/core/types"
@@ -53,10 +51,6 @@ func (ccc *CircuitCapacityChecker) ApplyTransaction(traces *types.BlockTrace) (*
5351
}}, nil
5452
}
5553

56-
func (ccc *CircuitCapacityChecker) ApplyTransactionRustTrace(rustTrace unsafe.Pointer) (*types.RowConsumption, error) {
57-
return ccc.ApplyTransaction(goTraces[rustTrace])
58-
}
59-
6054
// ApplyBlock gets a block's RowConsumption.
6155
// Will only return a dummy value in mock_ccc.
6256
func (ccc *CircuitCapacityChecker) ApplyBlock(traces *types.BlockTrace) (*types.RowConsumption, error) {
@@ -88,11 +82,3 @@ func (ccc *CircuitCapacityChecker) Skip(txnHash common.Hash, err error) {
8882
ccc.skipHash = txnHash.String()
8983
ccc.skipError = err
9084
}
91-
92-
var goTraces = make(map[unsafe.Pointer]*types.BlockTrace)
93-
94-
func MakeRustTrace(trace *types.BlockTrace, buffer *bytes.Buffer) unsafe.Pointer {
95-
rustTrace := new(struct{})
96-
goTraces[unsafe.Pointer(rustTrace)] = trace
97-
return unsafe.Pointer(rustTrace)
98-
}

0 commit comments

Comments
 (0)