Powered by Gully Core.
Every launch and every trade on Gully Chain runs on Gully Core. This is the official badge, where the code comes from, and what Gully Labs changed.
The badge
The only approved artwork: Gully Chain brand kit v4, the kit icon, the kit colours, Inter as outlines. Ship the file byte for byte, never retype the name next to it, dark badge on dark grounds, light on light. Link it to this page.
Light and emerald variants, sizes, clear space and the SHA-256 of every file: docs.gullychain.xyz/badge.
Where the code comes from
- 1PancakeSwap Infinity. infinity-core, infinity-periphery and infinity-universal-router: the audited base (the upstream audit reports ship in the repo).
- 2DeepCore Protocol. Built on Infinity; imported unmodified at c0911932. The DeepCore partnership has ended; no DeepCore branding on any Gully surface.
- 3Gully Core. Gully Labs’ fork, GPL-2.0-or-later. Every upstream notice stays, every Gully Labs change carries a modification notice, and the files identical to upstream are listed in docs/UPSTREAM-IDENTICAL.sha256.
Audit status Gully Core is built on PancakeSwap Infinity’s audited core; Gully Labs’ changes are pending audit. An independent audit comes before mainnet.
Source, licence and notices (opens in a new tab) · governed by the Gully Chain testnet Safe · live on chain 485590.
What Gully Labs changed
Against the upstream DeepCore contracts. The upstream src/ of core, periphery and router is byte-identical; the changes are around it.
- RebrandDeepCore* became GullyCore* in every package (names, the position NFT name, the Permit domain, notices). Upstream identifiers that must not change are listed in docs/UPSTREAM-IDENTIFIERS.txt.
- Owner of recordDeepCore’s Safe replaced by the Gully Chain testnet Safe, a deploy-time input (GULLYCORE_GOVERNANCE); renounceOwnership disabled; every fee recipient is the Safe.
- Deterministic deploysPancake’s create3 factory replaced by the canonical CreateX factory for core, periphery and router.
- Fee treasuryThe protocol fee treasury is immutable: setTreasury removed.
- Governance clockGullyCoreVotes uses block.timestamp as its clock (was the block number).
- Vault settlementVault.sync() is gated by isLocked and Vault.lock() clears the reserve slots on exit; two API-identical transient-storage backends (EIP-1153 or storage, per build profile), TransientBackendSafety.t.sol as the regression guard.
- Chain configGully Chain testnet deploy parameters; other chains’ deploy configs, parameter scripts and the DeepCore live-chain rehearsal tests dropped; the devnet live bar kept for anvil only.
- Release toolingOne owner-run testnet deploy script (release/deploy-testnet.sh) with resume, rehearsal and address seeding; rebrand, notice, manifest and size tools.
