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

Rework event logs and transaction database schema #1961

Merged
merged 22 commits into from
Jun 25, 2024
Merged
Show file tree
Hide file tree
Changes from 16 commits
Commits
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
2 changes: 1 addition & 1 deletion .github/workflows/build-gateway-lib.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
steps:
# Check out the repository
- name: Checkout Repository
uses: actions/checkout@v3
uses: actions/checkout@v4

# Set up Node.js
- name: Set up Node.js
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/build-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ jobs:
build:
runs-on: self-hosted
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v4
uses: actions/setup-go@v5
with:
go-version: 1.21.8

Expand Down Expand Up @@ -57,7 +57,7 @@ jobs:
run: go test --failfast -v ./... -count=1 -timeout 5m

- name: Store simulation logs
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: failure()
with:
name: ci-logs
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/deploy-gateway-lib.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
steps:
# Check out the repository
- name: Checkout Repository
uses: actions/checkout@v3
uses: actions/checkout@v4

# Set up Node.js
- name: Set up Node.js
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/hardhat-pr-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
with:
node-version: 18
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/manual-deploy-dexynth-gateway.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
run: |
echo "GitHub Variables = ${{ toJSON(vars) }}"

- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: 'Extract branch name'
shell: bash
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
run: |
echo "GitHub Variables = ${{ toJSON(vars) }}"

- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: 'Extract branch name'
shell: bash
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/manual-deploy-obscuro-gateway.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
run: |
echo "GitHub Variables = ${{ toJSON(vars) }}"

- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: 'Extract branch name'
shell: bash
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/manual-deploy-ten-gateway-frontend.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
echo "Selected Testnet Type: ${{ matrix.testnet_type }}"
echo "Gateway API URL: ${{ matrix.GATEWAY_API_URL }}"

- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: 'Extract branch name'
shell: bash
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/manual-deploy-ten-scan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
run: |
echo "GitHub Variables = ${{ toJSON(vars) }}"

- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: "Set up Docker"
uses: docker/setup-buildx-action@v1
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/manual-deploy-testnet-faucet.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:
- run: echo "Workflow_dispatch inputs ${{ github.event.inputs.testnet_type }}"
- run: echo "Workflow_call inputs ${{ inputs.testnet_type }}"

- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: 'Set up Docker'
uses: docker/setup-buildx-action@v1
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/manual-deploy-testnet-l1.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
run: |
echo "GitHub Variables = ${{ toJSON(vars) }}"

- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: 'Set up Docker'
uses: docker/setup-buildx-action@v1
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/manual-deploy-testnet-l2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,9 @@ jobs:
run: |
echo "GitHub Variables = ${{ toJSON(vars) }}"

- uses: actions/checkout@v3
- uses: actions/checkout@v4

- uses: actions/setup-go@v4
- uses: actions/setup-go@v5
with:
go-version: 1.21.8

Expand Down Expand Up @@ -124,7 +124,7 @@ jobs:
done

- name: 'Upload L1 deployer container logs'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: deploy-l1-artifacts
path: |
Expand Down Expand Up @@ -272,7 +272,7 @@ jobs:
environment:
name: ${{ github.event.inputs.testnet_type }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: "Wait until obscuro node is healthy"
shell: bash
Expand All @@ -289,7 +289,7 @@ jobs:
environment:
name: ${{ github.event.inputs.testnet_type }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: 'Deploy L2 contracts'
id: deployL2Contracts
Expand All @@ -313,7 +313,7 @@ jobs:
docker logs `docker ps -aqf "name=hh-l2-deployer"` > deploy-l2-contracts.out 2>&1

- name: 'Upload L2 deployer container logs'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: deploy-l2-artifacts
path: |
Expand All @@ -327,7 +327,7 @@ jobs:
environment:
name: ${{ github.event.inputs.testnet_type }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: 'Login via Azure CLI'
uses: azure/login@v1
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/manual-deploy-testnet-validator.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,9 @@ jobs:
run: |
echo "GitHub Variables = ${{ toJSON(vars) }}"

- uses: actions/checkout@v3
- uses: actions/checkout@v4

- uses: actions/setup-go@v4
- uses: actions/setup-go@v5
with:
go-version: 1.21.8

Expand Down Expand Up @@ -201,7 +201,7 @@ jobs:
# environment:
# name: ${{ github.event.inputs.testnet_type }}
# steps:
# - uses: actions/checkout@v3
# - uses: actions/checkout@v4
#
# - name: 'Login via Azure CLI'
# uses: azure/login@v1
Expand Down Expand Up @@ -230,7 +230,7 @@ jobs:
environment:
name: ${{ github.event.inputs.testnet_type }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: "Wait until obscuro node is healthy"
shell: bash
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/manual-recover-network-funds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
run: |
echo "GitHub Variables = ${{ toJSON(vars) }}"

- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: 'Login to Azure docker registry'
uses: azure/docker-login@v1
Expand Down Expand Up @@ -65,7 +65,7 @@ jobs:
docker logs `docker ps -aqf "name=recover-funds"` > recover-funds.out 2>&1

- name: 'Upload container logs on failure'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: failure()
with:
name: recover-funds
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/manual-upgrade-testnet-l2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,9 @@ jobs:
VM_BUILD_NUMBER: ${{ steps.outputVars.outputs.VM_BUILD_NUMBER }}

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- uses: actions/setup-go@v4
- uses: actions/setup-go@v5
with:
go-version: 1.21.8

Expand Down Expand Up @@ -188,7 +188,7 @@ jobs:
environment:
name: ${{ github.event.inputs.testnet_type }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: "Wait until obscuro node is healthy"
shell: bash
Expand Down
6 changes: 6 additions & 0 deletions go/common/headers.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,12 @@ type BatchHeader struct {
CrossChainTree SerializedCrossChainTree `json:"crossChainTree"` // Those are the leafs of the merkle tree hashed for privacy. Necessary for clients to be able to build proofs as they have no access to all transactions in a batch or their receipts.
}

// IsGenesis indicates whether the batch is the genesis batch.
// todo (#718) - Change this to a check against a hardcoded genesis hash.
func (b *BatchHeader) IsGenesis() bool {
return b.Number.Cmp(big.NewInt(int64(L2GenesisHeight))) == 0
}

type batchHeaderEncoding struct {
Hash common.Hash `json:"hash"`
ParentHash L2BatchHash `json:"parentHash"`
Expand Down
10 changes: 5 additions & 5 deletions go/enclave/components/batch_executor.go
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ func (executor *batchExecutor) ComputeBatch(ctx context.Context, context *BatchE
}

// These variables will be used to create the new batch
parentBatch, err := executor.storage.FetchBatch(ctx, context.ParentPtr)
parentBatch, err := executor.storage.FetchBatchHeader(ctx, context.ParentPtr)
if errors.Is(err, errutil.ErrNotFound) {
executor.logger.Error(fmt.Sprintf("can't find parent batch %s. Seq %d", context.ParentPtr, context.SequencerNo))
return nil, errutil.ErrAncestorBatchNotFound
Expand All @@ -154,17 +154,17 @@ func (executor *batchExecutor) ComputeBatch(ctx context.Context, context *BatchE
}

parentBlock := block
if parentBatch.Header.L1Proof != block.Hash() {
if parentBatch.L1Proof != block.Hash() {
var err error
parentBlock, err = executor.storage.FetchBlock(ctx, parentBatch.Header.L1Proof)
parentBlock, err = executor.storage.FetchBlock(ctx, parentBatch.L1Proof)
if err != nil {
executor.logger.Error(fmt.Sprintf("Could not retrieve a proof for batch %s", parentBatch.Hash()), log.ErrKey, err)
return nil, err
}
}

// Create a new batch based on the fromBlock of inclusion of the previous, including all new transactions
batch := core.DeterministicEmptyBatch(parentBatch.Header, block, context.AtTime, context.SequencerNo, context.BaseFee, context.Creator)
batch := core.DeterministicEmptyBatch(parentBatch, block, context.AtTime, context.SequencerNo, context.BaseFee, context.Creator)

stateDB, err := executor.batchRegistry.GetBatchState(ctx, &batch.Header.ParentHash)
if err != nil {
Expand Down Expand Up @@ -286,7 +286,7 @@ func (executor *batchExecutor) ExecuteBatch(ctx context.Context, batch *core.Bat

if cb.Batch.Hash() != batch.Hash() {
// todo @stefan - generate a validator challenge here and return it
executor.logger.Error(fmt.Sprintf("Error validating batch. Calculated: %+v Incoming: %+v\n", cb.Batch.Header, batch.Header))
executor.logger.Error(fmt.Sprintf("Error validating batch. Calculated: %+v Incoming: %+v", cb.Batch.Header, batch.Header))
return nil, fmt.Errorf("batch is in invalid state. Incoming hash: %s Computed hash: %s", batch.Hash(), cb.Batch.Hash())
}

Expand Down
Loading
Loading