Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
2d7e90d
WIP add Drizzle
CodeSandwich Jun 8, 2026
de6784b
Add license
CodeSandwich Jun 9, 2026
fa4d895
WIP add batcher
CodeSandwich Jun 11, 2026
088cb75
wip add DB queue
CodeSandwich Jun 25, 2026
fed6e71
Rename Batcher to Executor
CodeSandwich Jun 29, 2026
d2a4705
Add API for storing sequences
CodeSandwich Jun 29, 2026
5a88b58
Add sequence status querying API
CodeSandwich Jun 30, 2026
2b91dc2
wip
CodeSandwich Jul 19, 2026
7bc3c3c
wip
CodeSandwich Jul 21, 2026
bb9584b
wip
CodeSandwich Jul 21, 2026
0456105
wip
CodeSandwich Jul 22, 2026
fd493f2
wip
CodeSandwich Jul 23, 2026
38f2cf7
wip
CodeSandwich Jul 24, 2026
505b777
wip
CodeSandwich Jul 29, 2026
899d38e
wip
CodeSandwich Jul 30, 2026
216796d
wip
CodeSandwich Jul 30, 2026
e568673
wip
CodeSandwich Jul 31, 2026
30ae744
wip
CodeSandwich Aug 1, 2026
8978725
wip
CodeSandwich Aug 1, 2026
3a56677
wip
CodeSandwich Aug 1, 2026
3da31e7
wip
CodeSandwich Aug 2, 2026
4165afb
wip
CodeSandwich Aug 3, 2026
58b2497
wip
CodeSandwich Aug 4, 2026
b054081
wip
CodeSandwich Aug 5, 2026
c6a8e3e
wip
CodeSandwich Aug 17, 2026
6bb2c27
wip
CodeSandwich Aug 17, 2026
3856dfb
wip
CodeSandwich Aug 18, 2026
193a952
wip
CodeSandwich Aug 19, 2026
d06759c
wip
CodeSandwich Aug 19, 2026
e2ad1ef
wip
CodeSandwich Aug 20, 2026
f0ac162
wip
CodeSandwich Aug 20, 2026
7aca802
wip
CodeSandwich Aug 21, 2026
34b9aff
wip
CodeSandwich Aug 23, 2026
945cd5d
wip
CodeSandwich Aug 23, 2026
8b48861
wip
CodeSandwich Aug 23, 2026
b2ca071
wip
CodeSandwich Aug 23, 2026
aef7c36
wip
CodeSandwich Aug 24, 2026
4338d03
wip
CodeSandwich Aug 24, 2026
92d45ce
wip
CodeSandwich Aug 25, 2026
4e1b811
wip
CodeSandwich Aug 27, 2026
9880608
wip
CodeSandwich Aug 27, 2026
ebdf4a1
wip
CodeSandwich Aug 27, 2026
ccbe4ed
wip
CodeSandwich Aug 28, 2026
95f8739
wip
CodeSandwich Aug 29, 2026
dd829ee
wip
CodeSandwich Aug 29, 2026
cc4c59f
wip
CodeSandwich Aug 30, 2026
eb23a6f
wip
CodeSandwich Aug 31, 2026
9742089
wip
CodeSandwich Aug 31, 2026
dbdc49b
wip
CodeSandwich Sep 1, 2026
15608fb
wip
CodeSandwich Sep 2, 2026
c6bd692
wip
CodeSandwich Sep 2, 2026
a716a9e
wip
CodeSandwich Sep 2, 2026
10677c9
wip
CodeSandwich Sep 2, 2026
c73c7f2
wip
CodeSandwich Sep 3, 2026
2df13be
wip
CodeSandwich Sep 3, 2026
1c61be0
wip
CodeSandwich Sep 3, 2026
2297b4f
wip
CodeSandwich Sep 3, 2026
5f778b6
wip
CodeSandwich Sep 4, 2026
96915ae
wip
CodeSandwich Sep 5, 2026
c65cdcb
wip
CodeSandwich Sep 5, 2026
734c273
wip
CodeSandwich Sep 6, 2026
0329fa6
wip
CodeSandwich Sep 6, 2026
d95da97
wip
CodeSandwich Sep 6, 2026
4ececb8
wip
CodeSandwich Sep 7, 2026
3df2233
wip
CodeSandwich Sep 7, 2026
1fe70ef
wip
CodeSandwich Sep 7, 2026
b28726f
wip
CodeSandwich Sep 7, 2026
5b59ab0
wip
CodeSandwich Sep 7, 2026
69f98fa
wip
CodeSandwich Sep 7, 2026
d704491
wip
CodeSandwich Sep 7, 2026
fa8be2d
wip
CodeSandwich Sep 7, 2026
68a7046
wip
CodeSandwich Sep 7, 2026
809ceae
wip
CodeSandwich Sep 7, 2026
3751e3d
wip
CodeSandwich Sep 7, 2026
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
78 changes: 78 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
name: CI

on:
push:
branches: [main]
pull_request:

permissions:
contents: read

jobs:
contracts:
name: Contracts
runs-on: ubuntu-latest
defaults:
run:
working-directory: contracts
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: foundry-rs/foundry-toolchain@v1
with:
version: v1.8.1
- name: Build (deny warnings)
run: forge build --deny warnings
- name: Lint
run: forge lint
- name: Format check
run: forge fmt --check
- name: Test
run: forge test

deno:
name: Deno
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: denoland/setup-deno@v2
with:
deno-version: v2.x
- uses: foundry-rs/foundry-toolchain@v1
with:
version: v1.8.1
- name: Type check
run: deno check
- name: Format check
run: deno fmt --check
- name: Verify drizzle migrations are up to date
run: |
deno task drizzle-generate
if [ -n "$(git status --porcelain -- drizzle)" ]; then
echo "::error::drizzle/ is out of date with src/db/schema.ts \
- run 'deno task drizzle-generate' and commit the result."
git diff -- drizzle
exit 1
fi
# Compares only the compiled bytecode (see `trimMetadata` in generate-contracts.ts) rather
# than diffing the generated files outright, since Solidity's metadata trailer embeds a
# hash covering absolute source paths and differs between machines/Foundry versions even
# when the contract itself hasn't changed.
- name: Verify generated contract bindings are up to date
run: deno task contracts-generate-check

integration:
name: Integration tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: denoland/setup-deno@v2
with:
deno-version: v2.x
- name: Start Postgres and Anvil
run: docker compose up -d --wait
- name: Run integration tests
run: deno task test-integration
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "contracts/lib/forge-std"]
path = contracts/lib/forge-std
url = https://github.com/foundry-rs/forge-std
17 changes: 3 additions & 14 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,18 +1,7 @@
# Use an official Deno image.
FROM docker.io/denoland/deno:2.7.14

# Set the working directory in the container
WORKDIR /app
COPY . .

# Cache dependencies. Deno will use deno.json automatically.
# Copy deno.json first so this layer is cached if only source files change.
RUN deno cache main.ts --allow-import

# Expose the port the app runs on
COPY deno.json deno.lock ./
COPY drizzle ./drizzle
COPY src ./src
EXPOSE 8000

# Command to run the application
# Deno uses deno.json automatically for import maps.
# Permissions are still needed.
CMD ["deno", "task", "start"]
Loading
Loading