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: constraints api integration #3

Merged
merged 80 commits into from
Oct 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
75bf7da
fix(build): update time v0.3.28 -> v0.3.36
thedevbirb Sep 6, 2024
e720c56
chore(api): constraints api path consts
thedevbirb Sep 6, 2024
8edacb8
feat(api): extended route constraints api
thedevbirb Sep 6, 2024
052982b
feat(api): constraints api router integration stub
thedevbirb Sep 6, 2024
f9a5302
feat(types): constraints api
thedevbirb Sep 6, 2024
146a1c6
fix(clippy): unneeded reassignment
thedevbirb Sep 6, 2024
512f3fc
feat(api): submit constraints endpoint wip
thedevbirb Sep 6, 2024
29573a4
fix: cargo check
namn-grg Sep 11, 2024
bc94dc5
misc: add sha2-asm feature
namn-grg Sep 11, 2024
689607c
feat: add inclusion proofs method to redis
namn-grg Sep 12, 2024
84fe08e
feat: get header with proofs
namn-grg Sep 12, 2024
4055b25
feat: submit block with proofs
namn-grg Sep 12, 2024
ca5e50e
feat: add submit constraints
namn-grg Sep 13, 2024
67c8b1f
misc: remove comment
namn-grg Sep 13, 2024
49cc365
fix: inclusion proof conflict with ssz_rs
namn-grg Sep 13, 2024
847e6de
chore: update validator index > pubkey
namn-grg Sep 18, 2024
96b059d
chore: store proofs in redis, update api
namn-grg Sep 18, 2024
8dfda00
feat: delegation and revocation
namn-grg Sep 19, 2024
b7c6a0c
fix: compiler errors
namn-grg Sep 19, 2024
1363e56
fix: context in signing
namn-grg Sep 19, 2024
023b1d0
fix: constraints proof and compiler errors
namn-grg Sep 20, 2024
8a07b8c
fix: transactions hash tree root
namn-grg Sep 20, 2024
772c5b9
fix: serializeable error
namn-grg Sep 20, 2024
435bb8c
misc: rearrange format
namn-grg Sep 20, 2024
867a79a
chore: add constraint handler
namn-grg Sep 20, 2024
9a79ba4
fix: axum handler error
namn-grg Sep 20, 2024
9e51ff0
misc: add request length
namn-grg Sep 20, 2024
82106bd
Merge branch 'naman/feat/constraints-api-new' into naman/feat/get-con…
namn-grg Sep 20, 2024
40c5159
fix: rm alloy
merklefruit Sep 20, 2024
6dc6cbd
chore: cargo lock
namn-grg Sep 20, 2024
4ddfa4e
feat: add constraints getter fn
namn-grg Sep 23, 2024
0fa9570
chore: mpsc > broadcast
namn-grg Sep 23, 2024
2ceb5f3
chore(data-api): state tracker
namn-grg Sep 23, 2024
35a643c
chore(data-api): undo optional slot number
namn-grg Sep 23, 2024
aba52d7
chore(constraints-api): store signed constraints in cache
namn-grg Sep 23, 2024
bbf5668
chore(constraints-api): add check for max length
namn-grg Sep 23, 2024
8dc7652
Merge branch 'naman/feat/constraints-api-new' into naman/feat/get-con…
namn-grg Sep 24, 2024
0becf35
chore: constraint stream test wip
namn-grg Sep 24, 2024
0c08ab2
feat(builder-api): constraints getter fn
namn-grg Sep 24, 2024
3860774
test(builder-api): constraints stream
namn-grg Sep 24, 2024
367a84a
feat: improvements and testing done
namn-grg Sep 25, 2024
d435e2f
test(constraint-api): add conflict test
namn-grg Sep 26, 2024
4fd9fc3
feat(builder-api): delegations getter fn
namn-grg Sep 26, 2024
3f115ab
test: delegations getter fn
namn-grg Sep 26, 2024
07f4c1f
misc: add comments
namn-grg Sep 27, 2024
0e695e5
fix: empty vec response
namn-grg Sep 27, 2024
e67a8f9
Merge pull request #5 from chainbound/naman/feat/get-delegations
merklefruit Sep 27, 2024
c06381a
misc: address review
namn-grg Sep 29, 2024
7f9ba84
fix: return signed delegations
namn-grg Oct 1, 2024
e62763a
fix: docs link
namn-grg Oct 1, 2024
657be93
misc: address review
namn-grg Oct 2, 2024
a2aa9c3
Merge pull request #6 from chainbound/naman/fix/delegations
namn-grg Oct 2, 2024
aff6d19
fix: verify signature with domain
namn-grg Oct 3, 2024
5b45570
Merge pull request #4 from chainbound/naman/feat/get-constraints
namn-grg Oct 3, 2024
6caf0ae
fix: devnet fixes by lore
namn-grg Oct 3, 2024
7d5cce3
fix: in proposer duties table primary key should not be the public key
thedevbirb Oct 4, 2024
e248ae1
fix: get header with proof resp type
merklefruit Oct 4, 2024
33ac5a5
Merge pull request #10 from chainbound/nico/fix/header-resp
thedevbirb Oct 4, 2024
48ccc45
fix: use cb domain for sig verification
namn-grg Oct 7, 2024
3ff59a8
Merge pull request #9 from chainbound/naman/fix/domain
namn-grg Oct 7, 2024
0171648
fix: deserialize signed builder bid with proofs
merklefruit Oct 7, 2024
5968ce5
feat: add deserialization test
merklefruit Oct 7, 2024
d5ccc41
Merge pull request #11 from chainbound/nico/fix/signed-bid
merklefruit Oct 7, 2024
972c7c3
fix: sleep duration before refreshing validators to 200ms
thedevbirb Oct 7, 2024
3c12f79
fix: in proposer duties table primary key should not be the public ke…
thedevbirb Oct 4, 2024
54aa9fe
chore: add log for invalid constraints signature
merklefruit Oct 8, 2024
5fe9714
Merge branch 'naman/devnet' of github.com:chainbound/helix into naman…
merklefruit Oct 8, 2024
a698899
fix(devnet): compute tx hash via tx envelope
merklefruit Oct 8, 2024
295fe36
fix: calc proofs
merklefruit Oct 9, 2024
4b2386b
chore: addressed review
merklefruit Oct 10, 2024
bd69fc5
chore: addressed review
merklefruit Oct 10, 2024
3e7167b
feat: signed message actions (with runtime check)
merklefruit Oct 10, 2024
61df5f4
feat: add validator pubkey validation in constraint submission
merklefruit Oct 11, 2024
5cf2aa2
fix: disallow validator key if there are delegations
merklefruit Oct 11, 2024
afdcb8b
chore: typo
merklefruit Oct 14, 2024
40d50e5
chore: addressed review
merklefruit Oct 16, 2024
5898d70
Merge pull request #8 from chainbound/naman/devnet
thedevbirb Oct 17, 2024
6479b95
feat(api): save delegations/revocations in batch
merklefruit Oct 17, 2024
0112adc
chore: addressed review
merklefruit Oct 17, 2024
95d8c04
Merge pull request #14 from chainbound/nico/chore/delegations-vec
thedevbirb Oct 17, 2024
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
234 changes: 210 additions & 24 deletions Cargo.lock

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ reth-primitives = { git = "https://github.com/paradigmxyz/reth", rev = "5dd5555c

# Logging
tracing = "0.1.37"
tracing-subscriber = "0.3.17"
tracing-subscriber = { version = "0.3.17", features = ["env-filter", "fmt"] }
tracing-appender = "0.2.2"

# Testing and Mocking
Expand Down
20 changes: 9 additions & 11 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -11,26 +11,25 @@ RUN wget https://github.com/mozilla/sccache/releases/download/v0.3.1/sccache-v0.

ARG AWS_ACCESS_KEY_ID
ARG AWS_SECRET_ACCESS_KEY
ARG REPO_NAME
ARG REPO_NAME="helix"

RUN echo "REPO_NAME: $REPO_NAME"

# Test to make sure that aws access is set correctly
RUN test -n "$AWS_ACCESS_KEY_ID" || (echo "AWS_ACCESS_KEY_ID not set" && false)
RUN test -n "$AWS_SECRET_ACCESS_KEY" || (echo "AWS_SECRET_ACCESS_KEY not set" && false)
# RUN test -n "$AWS_ACCESS_KEY_ID" || (echo "AWS_ACCESS_KEY_ID not set" && false)
# RUN test -n "$AWS_SECRET_ACCESS_KEY" || (echo "AWS_SECRET_ACCESS_KEY not set" && false)

ENV SCCACHE_BUCKET=sccache-gtc
ENV SCCACHE_REGION=eu-west-1
ENV SCCACHE_S3_USE_SSL=true
# ENV SCCACHE_BUCKET=sccache-gtc
# ENV SCCACHE_REGION=eu-west-1
# ENV SCCACHE_S3_USE_SSL=true

# Copy necessary contents into the container at /app
ADD ./repos /app/
ADD ./ /app/

RUN ls -lah /app
RUN ls -lah /app/${REPO_NAME}

# Set the working directory to /app
WORKDIR /app/${REPO_NAME}
WORKDIR /app/

RUN --mount=type=cache,target=/root/.cargo \
--mount=type=cache,target=/usr/local/cargo/registry \
Expand All @@ -42,7 +41,7 @@ RUN --mount=type=cache,target=/root/.cargo \
RUSTC_WRAPPER=/usr/local/bin/sccache cargo build -p helix-cmd --release

# Copy binary into the workdir
RUN mv /app/$REPO_NAME/target/release/helix-cmd /app/helix-cmd
RUN mv /app/target/release/helix-cmd /app/helix-cmd

# our final base
FROM debian:stable-slim
Expand All @@ -58,4 +57,3 @@ COPY --from=helix /app/helix-cmd* ./

# set the startup command to run your binary
ENTRYPOINT ["/app/helix-cmd"]

3 changes: 3 additions & 0 deletions crates/api/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,10 @@ tower = { workspace = true }
futures = { workspace = true }
hyper = { workspace = true }
reqwest = { workspace = true }
reqwest-eventsource = "0.5"
tokio = { workspace = true }
tokio-tungstenite = "0.16"
tokio-stream = { workspace = true }
tower-http = { workspace = true }
url = { workspace = true }
tonic = "0.10"
Expand All @@ -50,6 +52,7 @@ auto_impl.workspace = true
rand = "0.8"
thiserror = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
uuid = { workspace = true }
bytes = "1.5"
moka = "0.9"
Expand Down
Loading