ge-publish
Go library + CLI in clc-protocol (pkg/publish, cmd/ge-publish).
go build -o ./ge-publish ./cmd/ge-publish| Subcommand | Does |
|---|---|
publish-one | factory (if needed) + impl + proxy + initialize |
deploy-impl | bytecode only |
deploy-proxy | proxy against an existing factory + impl |
publish-one on decimalquoter / swaprouter / rescuevault / erc1967factory | plain CREATE |
Factory: Arachnid CREATE2 (0x4e59…) when --factory-address is omitted. On Gnosis reuse 0xB286994c…162b.
--admin is required for proxies and must differ from --owner.
Deterministic proxy salts: high 20 bytes = deployer, low 12 bytes = ASCII tag (contractregi, accountsinde, tokenuniques, poolindex + 3 zero bytes). Two proxies of the same contract name collide unless you override the tag, which is why PoolIndex is poolindex.
Go API, upgrade, and CREATE2 recipes: clc-protocol/docs/PUBLISH.md. Deploy flags: Deploy.