Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
146 commits
Select commit Hold shift + click to select a range
1e354ba
First pass at updating seq chains contract to UUPS upgradability
ibremseth Aug 27, 2025
dc8942e
Update e2e tests
ibremseth Aug 27, 2025
9a12b86
use namespace storage slots for the module checker and gas counter
tsite Aug 27, 2025
46875a6
add storage layout ci check
tsite Aug 27, 2025
296a526
fix ci test
tsite Aug 27, 2025
013666d
fixes
tsite Aug 27, 2025
7b1d13d
fix certora error
tsite Aug 28, 2025
c59937e
update certora spec & regen bindings
tsite Aug 28, 2025
1694b2b
bug fixes
tsite Aug 28, 2025
722ed17
update permission module interface
tsite Aug 28, 2025
256378e
fix certora test
gustavoguimaraes Aug 28, 2025
d388c0f
Merge branch 'uups' of https://github.com/SyndicateProtocol/syndicate…
gustavoguimaraes Aug 28, 2025
4f5c2b9
fix spec
gustavoguimaraes Aug 28, 2025
ebd7eef
Merge branch 'main' into uups
gustavoguimaraes Aug 28, 2025
03c5f41
edit comment
gustavoguimaraes Aug 28, 2025
5aa3148
feat: allow upgrades to only allowed bytecode (#774)
jorgemmsilva Sep 2, 2025
f90f110
Merge branch 'main' into uups
gustavoguimaraes Sep 3, 2025
58e1dc7
Fixes for new forge linter
gustavoguimaraes Sep 3, 2025
2d20a7c
remove linter on build
gustavoguimaraes Sep 3, 2025
499abaf
fix CI issues
gustavoguimaraes Sep 3, 2025
73a6f15
fix certora spec
gustavoguimaraes Sep 3, 2025
20206e5
fix rust fmt issue
gustavoguimaraes Sep 3, 2025
6f5d7a0
seq-1327: Confirm that we use namespaced storage or gap variables to …
gustavoguimaraes Sep 4, 2025
1520262
seq-1320: Factory contract should be behind a proxy
gustavoguimaraes Sep 4, 2025
59d7e78
seq-1323: use deterministic chainIDs from sender + nonce
gustavoguimaraes Sep 4, 2025
e2944b3
make -C shared create-contract-bindings
gustavoguimaraes Sep 4, 2025
894b2fa
reintroduce explicit constructor call for legacy reasons
gustavoguimaraes Sep 5, 2025
ead1c1d
male SyndicateSequencingChain namespaced compliant
gustavoguimaraes Sep 5, 2025
627bb2a
make -C shared create-contract-bindings
gustavoguimaraes Sep 5, 2025
567a7e2
Merge branch 'staging' into uups
gustavoguimaraes Sep 5, 2025
88942d2
add documentation
gustavoguimaraes Sep 5, 2025
0e7b5a0
Merge branch 'uups' of https://github.com/SyndicateProtocol/syndicate…
gustavoguimaraes Sep 5, 2025
b00c7d3
fix lint
gustavoguimaraes Sep 5, 2025
2c2191d
new storage layout
gustavoguimaraes Sep 5, 2025
3994185
foundry.lock
gustavoguimaraes Sep 5, 2025
5b2af0d
forge inspect SyndicateSequencingChain storageLayout
gustavoguimaraes Sep 8, 2025
c061e12
Merge branch 'staging' into uups
gustavoguimaraes Sep 8, 2025
ebd6b3c
refactor code for chain id for created appchain
gustavoguimaraes Sep 8, 2025
938cfc1
make -C shared create-contract-bindings
gustavoguimaraes Sep 8, 2025
311be5f
Merge branch 'uups' of https://github.com/SyndicateProtocol/syndicate…
gustavoguimaraes Sep 8, 2025
29e7317
add fee for appchain contracts creation (#791)
gustavoguimaraes Sep 9, 2025
ee9a9e6
Merge branch 'staging' into uups
gustavoguimaraes Sep 9, 2025
f1c0892
merge main
ericvelazquez Sep 19, 2025
fb1c270
Merge branch 'main' into uups
ericvelazquez Sep 19, 2025
705ba88
add comprehensive storage layout checks
gustavoguimaraes Sep 23, 2025
7d709ca
add fix
gustavoguimaraes Sep 23, 2025
35a8d01
add baseline storage layout
gustavoguimaraes Sep 23, 2025
bef33d5
make inheritance check informational
gustavoguimaraes Sep 24, 2025
c00f19e
fix: DeploySyndicateFactory script
ericvelazquez Sep 24, 2025
6458a26
checking CI error
gustavoguimaraes Sep 24, 2025
4c98b8c
Merge branch 'uups' of https://github.com/SyndicateProtocol/syndicate…
gustavoguimaraes Sep 24, 2025
ab8167f
add version in upgradeable contracts
gustavoguimaraes Sep 25, 2025
b7ade2a
add deterministic deployment for factory
gustavoguimaraes Sep 25, 2025
c37fe96
fix CI for storage layout check
gustavoguimaraes Sep 25, 2025
2b106d6
Merge branch 'main' into uups
gustavoguimaraes Sep 25, 2025
1c41e1d
make -C shared create-contract-bindings
gustavoguimaraes Sep 25, 2025
638d60e
fix: update storage layout baseline to remove SequencingModuleChecker
gustavoguimaraes Sep 25, 2025
53c0dff
fix fmt
gustavoguimaraes Sep 25, 2025
262fe7e
fix: resolve storage-layout CI Node.js dependency issues
gustavoguimaraes Sep 25, 2025
3cb28ac
fix: disable problematic npm cache in CI workflow
gustavoguimaraes Sep 25, 2025
7999624
another fix
gustavoguimaraes Sep 25, 2025
c9a00c7
another fix for CI
gustavoguimaraes Sep 26, 2025
208629b
Merge branch 'main' into uups
gustavoguimaraes Sep 26, 2025
1d23665
fix
gustavoguimaraes Sep 26, 2025
89f9b6d
Merge branch 'uups' of https://github.com/SyndicateProtocol/syndicate…
gustavoguimaraes Sep 26, 2025
9416f6b
add feature for user to add nonce
gustavoguimaraes Sep 26, 2025
de9703d
fi for CI
gustavoguimaraes Sep 26, 2025
062fd1f
rust bindings
gustavoguimaraes Sep 26, 2025
dc0f0d5
rust bindings
gustavoguimaraes Sep 26, 2025
dc27481
fix
gustavoguimaraes Sep 26, 2025
fbb3b57
test: Add intentional storage layout conflict to test CI detection
gustavoguimaraes Sep 26, 2025
9bae9cf
fix: Remove test storage layout conflict from SyndicateFactory
gustavoguimaraes Sep 26, 2025
eebaba0
fix CI
gustavoguimaraes Sep 26, 2025
15c8748
Add Safe admin to factory deploy script
gustavoguimaraes Sep 26, 2025
00f3916
fix CI issue
gustavoguimaraes Sep 26, 2025
d230183
make -C shared create-contract-bindings
gustavoguimaraes Sep 26, 2025
512d967
test whether CI will detect this storage clash var
gustavoguimaraes Sep 29, 2025
9a5e3a2
test it
gustavoguimaraes Sep 29, 2025
6151a19
remove storage layout new var for testing
gustavoguimaraes Sep 29, 2025
a6475a8
feat: Implement simple shell-based storage layout validation
gustavoguimaraes Sep 29, 2025
a5c18c6
fix
gustavoguimaraes Sep 29, 2025
097fbeb
fix
gustavoguimaraes Sep 29, 2025
b66dd42
fix
gustavoguimaraes Sep 29, 2025
eda5ee6
fixup
gustavoguimaraes Sep 29, 2025
e5c233c
test storage layout
gustavoguimaraes Sep 29, 2025
c76bfc4
storage layout fix
gustavoguimaraes Sep 30, 2025
0c0e35d
test CI
gustavoguimaraes Sep 30, 2025
2b8d8d6
CI works
gustavoguimaraes Sep 30, 2025
184d282
SEQ-1385: Refactor GasAggregator to hold implementation and chain lis…
jorgemmsilva Sep 30, 2025
6893bac
Merge branch 'main' into uups
gustavoguimaraes Oct 1, 2025
e9e4dcc
RB
gustavoguimaraes Oct 1, 2025
639ae1e
fix certora specs
gustavoguimaraes Oct 1, 2025
9439ca7
fix tests
gustavoguimaraes Oct 1, 2025
6c49d07
rb
gustavoguimaraes Oct 1, 2025
aece6b9
redo storage layout after code merge
gustavoguimaraes Oct 1, 2025
747205e
Add contracts to its own file
gustavoguimaraes Oct 7, 2025
2f4ad4c
refactor SyndicateFactory
gustavoguimaraes Oct 7, 2025
67adb3e
Fix deploy contracts after SyndicateFactory changes
gustavoguimaraes Oct 7, 2025
6e36f55
fix tests after the SyndicateFactory changes
gustavoguimaraes Oct 7, 2025
861a0a1
add new deploy scripts for upgrade
gustavoguimaraes Oct 7, 2025
28a9430
fix emission test
gustavoguimaraes Oct 7, 2025
602ed98
Merge branch 'main' into uups
gustavoguimaraes Oct 8, 2025
fcdba36
make -C shared create-contract-bindings
gustavoguimaraes Oct 8, 2025
0c85cfd
add test for upgrade flow
gustavoguimaraes Oct 8, 2025
7567b23
add documentation
gustavoguimaraes Oct 8, 2025
df7b7e8
fix baseline storage layout
gustavoguimaraes Oct 8, 2025
903956e
fix format
gustavoguimaraes Oct 8, 2025
2491ac5
make -C shared create-contract-bindings
gustavoguimaraes Oct 8, 2025
0307b45
solve rust compilation
gustavoguimaraes Oct 8, 2025
dc30a04
fix rust compilation error
gustavoguimaraes Oct 8, 2025
dd51214
clean up format: unused var
gustavoguimaraes Oct 9, 2025
db8a726
Merge branch 'main' into uups
gustavoguimaraes Oct 9, 2025
e7f571a
Merge main into uups branch - resolve conflicts
gustavoguimaraes Oct 14, 2025
f0ef4db
Fix test files after GasAggregator refactor to non-UUPS
gustavoguimaraes Oct 14, 2025
59612a1
make -C shared create-contract-bindings
gustavoguimaraes Oct 14, 2025
ac6d7d5
Merge branch 'main' into uups
ibremseth Oct 17, 2025
bd4eed5
Update the upgradable contracts to most recent architecture (#867)
ibremseth Oct 20, 2025
8ce96f1
remove unused imports
gustavoguimaraes Oct 21, 2025
a87050a
refactor tests and documentation
gustavoguimaraes Oct 21, 2025
342c0b1
update documentation
gustavoguimaraes Oct 21, 2025
e1cf0c8
fix lint errors
gustavoguimaraes Oct 21, 2025
46a64d4
make -C shared create-contract-bindings
gustavoguimaraes Oct 21, 2025
2849569
make storage-layout-update
gustavoguimaraes Oct 21, 2025
3b195fc
Merge branch 'main' into uups
gustavoguimaraes Oct 21, 2025
77f098d
fix comment
gustavoguimaraes Oct 21, 2025
e920721
add integration test for the upgrade flow
gustavoguimaraes Oct 21, 2025
650f5cf
Merge branch 'uups' of https://github.com/SyndicateProtocol/syndicate…
gustavoguimaraes Oct 21, 2025
cf8db81
fix fmt
gustavoguimaraes Oct 21, 2025
fcfb78e
another fix
gustavoguimaraes Oct 21, 2025
aa78511
fix lint
gustavoguimaraes Oct 21, 2025
3af3c0b
make -C shared create-contract-bindings
gustavoguimaraes Oct 21, 2025
b52b73d
Some edits
gustavoguimaraes Oct 22, 2025
58a161c
Feature/eng 2157 update storage checks to confirm an empty object (#871)
gustavoguimaraes Oct 24, 2025
d41d2f5
Implement new gas tracking contracts (#874)
ibremseth Oct 29, 2025
31cbdbb
merge main
ibremseth Nov 5, 2025
b4ae09b
fix merge issues
ibremseth Nov 5, 2025
fd8236c
fix script
ibremseth Nov 5, 2025
0eca938
fix submodule
ibremseth Nov 7, 2025
eacecd2
Update gas aggregator to use gas meter (#886)
ibremseth Nov 7, 2025
3170df1
Hardcode the version for upgradeable contracts (#898)
ibremseth Nov 13, 2025
fc3cc3a
New SyndForwarder for deterministicaly deploying any upgradable contr…
ibremseth Nov 14, 2025
703a55f
Merge branch 'main' into uups
ibremseth Nov 14, 2025
a36848f
fix merge conflicts
ibremseth Nov 14, 2025
d739e8a
fix create-chain abi generation
ibremseth Nov 14, 2025
4c627c6
fix bad imports from merge
ibremseth Nov 14, 2025
f95b49b
Registry placeholder / deployer parent contract (#907)
ibremseth Nov 19, 2025
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
59 changes: 59 additions & 0 deletions .github/workflows/storage-layout.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Storage Layout Validation

permissions:
contents: read

on:
pull_request:
paths:
- 'synd-contracts/src/**/*.sol'
- 'synd-contracts/foundry.toml'
- 'synd-contracts/remappings.txt'
push:
branches: [main]
paths:
- 'synd-contracts/src/**/*.sol'
- 'synd-contracts/foundry.toml'
- 'synd-contracts/remappings.txt'

env:
FOUNDRY_PROFILE: default
FOUNDRY_DISABLE_NIGHTLY_WARNING: true

jobs:
storage-layout-validation:
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
defaults:
run:
working-directory: synd-contracts

steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive

- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly

- name: Install Foundry dependencies
run: forge install

- name: Validate UUPS storage layouts
run: |
echo "🔍 Validating UUPS upgradeable contracts use namespaced storage..."
echo ""

# Build contracts
forge build

# Run storage validation script
chmod +x scripts/check-uups-storage.sh
./scripts/check-uups-storage.sh

1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ synd-contracts/.claude/settings.local.json
# contract bindings generated artifact
synd-contracts/soljson-latest.js


./bin

*.db
Expand Down
8 changes: 8 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -65,3 +65,11 @@ repos:
language: system
types: [cargo]
pass_filenames: false
- id: storage-layout-update
name: Update storage layout baseline
entry: synd-contracts/scripts/storage-checks/update-baseline.sh
language: script
files: 'synd-contracts/src/.*\.sol$'
pass_filenames: false
always_run: false
stages: [pre-commit]
10 changes: 1 addition & 9 deletions create-chain/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,7 @@ generate-contract-abis:
@echo "Generating RequireAndModule..."
@cd ../synd-contracts && \
echo "export const requireAndModuleABI = $$(forge inspect src/requirement-modules/RequireAndModule.sol:RequireAndModule abi --json) as const" > ../create-chain/src/abi/synd/RequireAndModule.ts

@echo "Generating RequireAndModuleFactory..."
@cd ../synd-contracts && \
echo "export const requireAndModuleFactoryABI = $$(forge inspect src/factory/PermissionModuleFactories.sol:RequireAndModuleFactory abi --json) as const" > ../create-chain/src/abi/synd/RequireAndModuleFactory.ts

@echo "Generating SyndicateFactory..."
@cd ../synd-contracts && \
echo "export const syndicateFactoryABI = $$(forge inspect src/factory/SyndicateFactory.sol:SyndicateFactory abi --json) as const" > ../create-chain/src/abi/synd/SyndicateFactory.ts


@echo "Generating SyndicateSequencingChain..."
@cd ../synd-contracts && \
echo "export const syndicateSequencingChainABI = $$(forge inspect src/SyndicateSequencingChain.sol:SyndicateSequencingChain abi --json) as const" > ../create-chain/src/abi/synd/SyndicateSequencingChain.ts
Expand Down
26 changes: 26 additions & 0 deletions create-chain/src/abi/synd/ArbChainConfig.ts
Original file line number Diff line number Diff line change
Expand Up @@ -267,6 +267,32 @@ export const arbChainConfigABI = [
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "updateVersion",
"inputs": [
{
"name": "newVersion",
"type": "string",
"internalType": "string"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "version",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"type": "event",
"name": "AppchainBlockExplorerUrlUpdated",
Expand Down
Loading
Loading