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

feat(auctioneer): POC of an auctioneer smoke test #1975

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

bharath-123
Copy link
Contributor

Summary

We add a smoke test to test the auctioneer setup e2e.

Background

The setup for auctioneer is complex as there are multiple components and moving parts involved. Having a smoke test can help us guarantee that things don't break early on while developing it further.
To be able to write a reliable smoke test for auctioneer, we need to have a way to reliably guarantee inclusion. Since if we submit a bid too late into a block, it can miss making it to the next sequencer block. Note that this is not a bug in the system.
In the current design of auctioneer, if the bid doesn't make it into the sequencer block or if there is a bug in the read/write paths of auctioneer then in both cases, we only observe an unfinalized transaction. We cannot distinguish between a bid submitted too late or a bug in the pipeline.
In order to achieve this, we use the code in https://github.com/astriaorg/auctioneer-searcher-simulation/tree/bharath/smoke-test-strip-down to run a smoke test. On a high level, we listen to the optimistic block and when we receive an optimistic block, we submit the bid. We submit the bid as early as possible to ensure reliably inclusion.
In the smoke test, we submit 5 bids and the smoke test only passes when 3/5 bids successfully make it in a block.

Changes

  • Add auctioneer-test.just file with commands to deploy and run the auctioneer smoke test
  • Add dev/values/rollup/auctioneer-test.yaml to have flame configs specific to auctioneer.
  • Add a new sequencer public key to the sequencer genesis to have a funded key for auctioneer.

Testing

Locally deploying and running the smoke test.

Related Issues

closes #1971

@github-actions github-actions bot added the cd label Feb 16, 2025
defaultTag := ""
defaultNamespace := "astria-dev-cluster"
evm_destination_address := "0x507056D8174aC4fb40Ec51578d18F853dFe000B2"
smoke_test_image := "bharath123456/auctioneer-smoke-test:latest"
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I pushed the image to my personal dockerhub account for the purpose of a POC. it should be trivial to move it to an ghcr/astria account.

Comment on lines +27 to +50
echo "Setting up 3 astria sequencer nodes"
echo "Setting up the first astria sequencers..." && helm install \
-n astria-validator-node0 node0-sequencer-chart ./sequencer \
-f ../dev/values/validators/all.yml \
-f ../dev/values/validators/node0.yml \
--set sequencer.optimisticBlockApis.enabled=true \
{{ if tag != '' { replace('--set images.sequencer.devTag=# --set sequencer-relayer.images.sequencerRelayer.devTag=#', '#', tag) } else { '' } }} \
--create-namespace > /dev/null

echo "Setting up the second astria sequencer..." && helm install \
-n astria-validator-node1 node1-sequencer-chart ./sequencer \
-f ../dev/values/validators/all.yml \
-f ../dev/values/validators/node1.yml \
--set sequencer.optimisticBlockApis.enabled=true \
{{ if tag != '' { replace('--set images.sequencer.devTag=# --set sequencer-relayer.images.sequencerRelayer.devTag=#', '#', tag) } else { '' } }} \
--create-namespace > /dev/null

echo "Setting up the third astria sequencer..." && helm install \
-n astria-validator-node2 node2-sequencer-chart ./sequencer \
-f ../dev/values/validators/all.yml \
-f ../dev/values/validators/node2.yml \
--set sequencer.optimisticBlockApis.enabled=true \
{{ if tag != '' { replace('--set images.sequencer.devTag=# --set sequencer-relayer.images.sequencerRelayer.devTag=#', '#', tag) } else { '' } }} \
--create-namespace > /dev/null
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could probably do this in a more concise way.

@@ -11,7 +11,7 @@ images:
repo: ghcr.io/astriaorg/flame
pullPolicy: IfNotPresent
tag: sha-457e1f9
devTag: sha-457e1f9
devTag: latest
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to merge #1972 for these changes to go into main.

# TODO - update to latest tag
tag: "pr-1839"
devTag: "pr-1839"
tag: sha-2db84ed
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to merge #1972 for these changes to go into main.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

feat(auctioneer): Add a smoke test for auctioneer
1 participant