nuvex-services README

The project's README from github.com/NuvexNetwork/nuvex-services. As one markdown file: README.md.

Gild contracts

Foundry project for Gild on BNB Smart Chain: DammHook, GildRouter, fee collector, and banded buyback. The Next.js app lives in the sibling folder gild-app.

This code is unaudited. Do not route production size until the Four.meme selectors are checked against the verified BscScan ABI and an independent review is done. Infinity Bin is not shipped.

Layout

Install

curl -L https://foundry.paradigm.xyz | bash
foundryup
forge install

forge install pulls forge-std and OpenZeppelin into lib. Those directories are gitignored. The Infinity types under lib/infinity-core are a layout-compatible excerpt so the hook matches ICLHooks without compiling Pancake's AMM. See lib/infinity-core/NOTICE.md.

Test

forge test

Hook permissions

Pancake Infinity does not mine permission bits into the hook address. getHooksRegistrationBitmap() is copied into PoolKey.parameters (low 16 bits). Tick spacing occupies bits 16–39. script/SeedPool.s.sol sets tick spacing 10 that way.

A CREATE2 vanity salt is optional and does not change permissions. Do not port Uniswap v4 address flags onto this hook.

Deploy

Fill .env from .env.example. Never commit PRIVATE_KEY.

forge script script/Deploy.s.sol --rpc-url "$BSC_TESTNET_RPC" --broadcast

Set GILD_TOKEN to the Flap launch address before running the script. The script does not deploy a token and does not mint. Buyback is constructed with that address. On chain id 56 the token must already be a Flap curve token (status 1) or a graduated Flap token (status 4); the script then calls syncFlap so the registry follows the portal. Chain id 97 uses the Infinity testnet manager and vault from config/addresses.json. Chain id 56 uses mainnet. The script deploys config, fee collector, buyback, hook, registry, adapter, router, and quoter, then proposes a 2-day TimelockController as the next config owner. The timelock must call acceptOwnership. Seed liquidity before that acceptance:

forge script script/SeedPool.s.sol --rpc-url "$BSC_RPC" --broadcast

The Pancake V2 router in config is 0x10ED43C718714eb63d5aA57B78B54704E256024E. That is the deployed router.

Four.meme and Flap

IFourMeme follows Four.meme's published TokenManager2 and Helper3 notes dated 2025-10-30:

Replace those interfaces if BscScan verification disagrees. Tests use MockFourMeme.

Flap uses the portal at 0xe2cE6ab80874Fa9Fa2aAE65D277Dd6B8e65C9De0. IFlap matches the swapExactInput and getTokenV8Safe fragments already used by the app. Deploy.s.sol calls setPortal on mainnet. FeeCollector.forwardToBuyback sends swept WBNB to the buyback contract.

nuvex-services (NuvexNetwork/nuvex-services)

Searching Database…

Что это такое?Проект на Foundry со смарт-контрактами на Solidity для Gild в сети BNB Smart Chain: DammHook, GildRouter, сборщик комиссий и выкуп по диапазонам, плюс скрипты для деплоя и начального добавления ликвидности.
Здесь только контракты или есть ещё и фронтенд?Только контрактная часть: исходники на Solidity в папке src, тесты на Foundry и скрипты деплоя. Приложение на Next.js лежит в отдельной соседней папке gild-app, а не в этом репозитории.
Как развернуть проект у себя локально?Склонируйте репозиторий и выполните 'forge install': он подтянет forge-std и OpenZeppelin в игнорируемую git-ом папку lib. Канонические адреса Pancake и WBNB лежат в config/addresses.json.
Что мне нужно, прежде чем запускать скрипт деплоя?Установленный тулчейн Foundry и файл .env, скопированный из .env.example, с вашим приватным ключом (ни в коем случае не коммитьте его) и GILDTOKEN, указывающим на адрес запуска Flap; скрипт сам токен не деплоит и ничего не минтит.
Безопасно ли пускать через него реальный объём прямо сейчас?Нет. Код не проходил аудит, и в README сказано не пускать боевой объём, пока селекторы Four.meme не сверены с верифицированным ABI на BscScan и не проведено независимое ревью.
Что скрипт деплоя фактически размещает в блокчейне?Конфиг, сборщик комиссий, выкуп, хук, реестр, адаптер, роутер и квотер. Затем он предлагает двухдневный TimelockController как следующего владельца конфига; таймлок должен вызвать acceptOwnership, а ликвидность стоит добавить до этого принятия.
На какие сети он рассчитан?Основную сеть BNB Smart Chain (chain id 56) и тестнет (chain id 97). В основной сети токен GILD уже должен быть токеном кривой Flap (status 1) или выпущенным из Flap токеном (status 4); после этого скрипт вызывает syncFlap.
Как устроены разрешения хука на Pancake Infinity?Биты разрешений не зашиваются в адрес хука: getHooksRegistrationBitmap() копируется в PoolKey.parameters (младшие 16 бит), а тиковый интервал занимает биты 16-39. Флаги адресов Uniswap v4 переносить на этот хук нельзя.
Куда уходят собранные комиссии?FeeCollector.forwardToBuyback отправляет ссвопнутый WBNB в контракт выкупа, который делает выкупы по диапазонам; TOKENOMICS.md описывает эмиссию GILD, запущенную через Flap, и путь сжигания комиссий.
Size
0.1 MB
Stars
201
Updated
CommitOct 03
Age
18d
Commits · 90 Days