Skip to content

Commit 183770f

Browse files
calebguyibremseth
andauthored
[ENG-2215] synd-cli: Support deploying sequencing contract via Forwarder on Mainnet (#919)
* generated abis * update interfaces * update for uups work * implementation address * rename, update lockfile * pass owner to deploy function * Adding helper functions for forwarder and implementing the correct deployment of seq chains * remove dead code * add SyndForwarder to abi generation, format code * use ERC20Inbox abi * TODO post-audit --------- Co-authored-by: Isaac <[email protected]>
1 parent e87f63e commit 183770f

19 files changed

+691
-1390
lines changed

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ repos:
7575
stages: [pre-commit]
7676
- id: synd-cli-biome-check
7777
name: synd-cli check
78-
entry: bash -c 'cd synd-cli && npx biome check --write --files-ignore-unknown=true --no-errors-on-unmatched'
78+
entry: bash -c 'cd synd-cli && bun run check-write'
7979
language: system
8080
types: [text]
8181
files: "^synd-cli/.*\\.(jsx?|tsx?|c(js|ts)|m(js|ts)|d\\.(ts|cts|mts)|jsonc?|css|svelte|vue|astro|graphql|gql)$"

synd-cli/Makefile

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,10 @@ generate-contract-abis:
2727

2828
@echo "Generating RequireAndModule..."
2929
@cd ../synd-contracts && \
30-
echo "export const requireAndModuleABI = $$(forge inspect src/requirement-modules/RequireAndModule.sol:RequireAndModule abi --json) as const" > ../synd-cli/src/abi/synd/RequireAndModule.ts
30+
echo "export const requireAndModuleABI = $$(forge inspect src/requirement-modules/RequireAndModule.sol:RequireAndModule abi --json) as const" > ../synd-cli/src/abi/synd/RequireAndModule.ts && \
31+
echo "" >> ../synd-cli/src/abi/synd/RequireAndModule.ts && \
32+
echo "export const requireAndModuleBytecode =" >> ../synd-cli/src/abi/synd/RequireAndModule.ts && \
33+
echo " \"$$(forge inspect src/requirement-modules/RequireAndModule.sol:RequireAndModule bytecode)\"" >> ../synd-cli/src/abi/synd/RequireAndModule.ts
3134

3235
@echo "Generating SyndicateSequencingChain..."
3336
@cd ../synd-contracts && \
@@ -43,7 +46,11 @@ generate-contract-abis:
4346
echo "" >> ../synd-cli/src/abi/synd/TeeModule.ts && \
4447
echo "export const teeModuleBytecode =" >> ../synd-cli/src/abi/synd/TeeModule.ts && \
4548
echo " \"$$(forge inspect src/withdrawal/TeeModule.sol:TeeModule bytecode)\"" >> ../synd-cli/src/abi/synd/TeeModule.ts
46-
49+
50+
@echo "Generating SyndForwarder..."
51+
@cd ../synd-contracts && \
52+
echo "export const syndForwarderABI = $$(forge inspect src/deployment/SyndForwarder.sol:SyndForwarder abi --json) as const" > ../synd-cli/src/abi/synd/SyndForwarder.ts
53+
4754
@echo "Formatting generated ABI files..."
4855
@bunx @biomejs/biome format --write src/abi/synd/
4956

synd-cli/bun.lock

Lines changed: 202 additions & 120 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

synd-cli/bun.lockb

-118 KB
Binary file not shown.

synd-cli/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"lint": "biome lint --write .",
99
"typecheck": "tsc --noEmit",
1010
"check": "biome check .",
11-
"check-write": "biome check --write ."
11+
"check-write": "biome check --write . --files-ignore-unknown=true --no-errors-on-unmatched"
1212
},
1313
"dependencies": {
1414
"@arbitrum/orbit-sdk": "^0.23.3",

synd-cli/src/abi/synd/RequireAndModule.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,3 +238,6 @@ export const requireAndModuleABI = [
238238
inputs: []
239239
}
240240
] as const
241+
242+
export const requireAndModuleBytecode =
243+
"0x60803460b857601f61102538819003918201601f19168301916001600160401b0383118484101760bc5780849260209460405283398101031260b857516001600160a01b0381169081900360b857801560a5575f80546001600160a01b031981168317825560405192916001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3610f5490816100d18239f35b631e4fbdf760e01b5f525f60045260245ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c806304f386f4146107a4578063052eefd1146106235780631b42c71114610407578063715018a61461038b5780637a3979dc146101905780638da5cb5b1461015e578063a26b4a88146101435763f2fde38b14610071575f80fd5b3461013f57602060031936011261013f5773ffffffffffffffffffffffffffffffffffffffff61009f6108c2565b6100a76109d4565b1680156101135773ffffffffffffffffffffffffffffffffffffffff5f54827fffffffffffffffffffffffff00000000000000000000000000000000000000008216175f55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b7f1e4fbdf7000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b5f80fd5b3461013f575f60031936011261013f57602060405160288152f35b3461013f575f60031936011261013f57602073ffffffffffffffffffffffffffffffffffffffff5f5416604051908152f35b3461013f57606060031936011261013f576101a96108c2565b60243573ffffffffffffffffffffffffffffffffffffffff8116810361013f5760443567ffffffffffffffff811161013f573660238201121561013f5780600401359067ffffffffffffffff821161013f576024810190602483369201011161013f5760015f527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b6020527f79c06e8c99a667adda63c5fa6f05695d29630fc62ad2dd069fa929d5714de89d5473ffffffffffffffffffffffffffffffffffffffff165b73ffffffffffffffffffffffffffffffffffffffff81168015610380576040517f7a3979dc00000000000000000000000000000000000000000000000000000000815290602090829081806102c889898c8e6004860161096b565b03915afa908115610375575f9161033b575b50156102ff576102e990610d0a565b9061026d5750505050505b602060405160018152f35b6103378386936040519485947f79a132500000000000000000000000000000000000000000000000000000000086526004860161096b565b0390fd5b90506020813d821161036d575b81610355602093836108e5565b8101031261013f5751801515810361013f57866102da565b3d9150610348565b6040513d5f823e3d90fd5b5050505050506102f4565b3461013f575f60031936011261013f576103a36109d4565b5f73ffffffffffffffffffffffffffffffffffffffff81547fffffffffffffffffffffffff000000000000000000000000000000000000000081168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461013f575f60031936011261013f5760015461042381610953565b61043060405191826108e5565b81815261043c82610953565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe060208201920136833760015f9081527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b6020527f79c06e8c99a667adda63c5fa6f05695d29630fc62ad2dd069fa929d5714de89d5473ffffffffffffffffffffffffffffffffffffffff165b84821080610604575b156105fa5782518210156105cd578073ffffffffffffffffffffffffffffffffffffffff61050b921660208460051b86010152610d0a565b901561056f57907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461054257600101906104ca565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b50509091505b604051918291602083019060208452518091526040830191905f5b81811061059e575050500390f35b825173ffffffffffffffffffffffffffffffffffffffff16845285945060209384019390920191600101610590565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5050909150610575565b5073ffffffffffffffffffffffffffffffffffffffff811615156104d3565b3461013f57604060031936011261013f5761063c6108c2565b60243590811515820361013f576106516109d4565b73ffffffffffffffffffffffffffffffffffffffff811691821561077c5761067882610a20565b610754576028600154101561072c571561071e5761069590610e6b565b156106c0577f62101cccc1864d3492290070f4dbf16879de7861acb5dcb8180b55d2ed7cd7e75f80a2005b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f41646472657373206e6f742061646465640000000000000000000000000000006044820152fd5b61072790610d6b565b610695565b7f13d867a2000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fa2d86a1e000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fe6c4247b000000000000000000000000000000000000000000000000000000005f5260045ffd5b3461013f57602060031936011261013f576107bd6108c2565b6107c56109d4565b73ffffffffffffffffffffffffffffffffffffffff811690811561077c576107ec81610a20565b1561089a5773ffffffffffffffffffffffffffffffffffffffff6108108392610bf5565b160361083c577fb5d68ca46372bbe6ec138d3d0423608269b3117496a46268f86080cdbcbea9be5f80a2005b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f41646472657373206e6f742072656d6f766564000000000000000000000000006044820152fd5b7f3d0f293d000000000000000000000000000000000000000000000000000000005f5260045ffd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361013f57565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761092657604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b67ffffffffffffffff81116109265760051b60200190565b92938060809573ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09581601f9616885216602087015260606040870152816060870152868601375f8582860101520116010190565b73ffffffffffffffffffffffffffffffffffffffff5f541633036109f457565b7f118cdaa7000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff16805f52600260205260405f205f805260205273ffffffffffffffffffffffffffffffffffffffff60405f2054161580610ae3575b15610add5760015f527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b6020527f79c06e8c99a667adda63c5fa6f05695d29630fc62ad2dd069fa929d5714de89d5473ffffffffffffffffffffffffffffffffffffffff1603610ad957600190565b5f90565b50600190565b50805f52600260205260405f2060015f5260205273ffffffffffffffffffffffffffffffffffffffff60405f20541615610a6a565b60010173ffffffffffffffffffffffffffffffffffffffff82165f528060205260405f205f805260205273ffffffffffffffffffffffffffffffffffffffff60405f2054161580610bab575b15610ba4575f805260205260405f2060015f5260205273ffffffffffffffffffffffffffffffffffffffff8060405f2054169116145f14610ad957600190565b5050600190565b5073ffffffffffffffffffffffffffffffffffffffff82165f528060205260405f2060015f5260205273ffffffffffffffffffffffffffffffffffffffff60405f20541615610b64565b73ffffffffffffffffffffffffffffffffffffffff811680158015610cf8575b610cf2575f90815260026020818152604080842084805280835281852080546001808852848820805473ffffffffffffffffffffffffffffffffffffffff908116808b52898952878b208b80528952878b208054929095167fffffffffffffffffffffffff00000000000000000000000000000000000000009283168117909555938a52978752858920828a5287529490972080548716909117905580548516905590915280549091169055547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81019081116105425760015590565b50505f90565b50610d04826001610b18565b15610c15565b610d15816001610b18565b610d2057505f905f90565b73ffffffffffffffffffffffffffffffffffffffff165f52600260205260405f2060015f5260205273ffffffffffffffffffffffffffffffffffffffff60405f205416908115159190565b610d76816001610b18565b1580610e5a575b610d8657505f90565b7f6ee3efecae883df2d7ccda22610b4ca771a299e707cb0d65c4ec97dc4e6668ad805473ffffffffffffffffffffffffffffffffffffffff9283165f818152600260208181526040808420600180865281845282862080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915589548116881790995598909616808552928252808420978452968152868320805487169094179093558180529290915292909220805490911690911790555b6001546001810180911161054257600155600190565b50610e665f6001610b18565b610d7d565b610e76816001610b18565b1580610f43575b610e8657505f90565b7f79c06e8c99a667adda63c5fa6f05695d29630fc62ad2dd069fa929d5714de89d805473ffffffffffffffffffffffffffffffffffffffff9283165f81815260026020818152604080842084805280835281852080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081169091558854811687179098559790951680845291815284832083805281528483208054871690941790935560018252949091522080549091169091179055610e44565b50610f4f5f6001610b18565b610e7d56"

0 commit comments

Comments
 (0)