@airdao/bond-periphery
v1.0.23
Published
Periphery contracts for Bond Marketplace
Readme
Simple staking infrastructure
This project contains infrastructure for staking token for some benefits like rewards, discounts, etc.
Current infrastructure related to Bond Marketplace ecosystem.
What's inside?
This is repo focused around solidity contracts. Repo using Hardhat environment and ethers-v6 for web3 interactions.
Development
Repo using prettier for linting;
The contracts based on solidity 0.8.24;
src forder contains helpers for contracts.
Ignition folder related to Hardhat ignition module, but looks not stable. Recommended NOT TO USE IT.
Testing
Tests located at test folder
Before running tests, be sure, that Hardhat config contains at least 5 diferent accounts provided in
hardhatnetwork.
To run tests, just run:
npm test
#or
npx hardhat testTo run with coverage:
npx hardhat coverageDeploying
Configuration for deploy is fetched from .env [example], and from JSON files from config folder (README).
Dot.env file explanation:
TIME_WEIGHTED=true #remove if not weighted, because any value will be `true`
TOKEN_SUPPLY=12345 #initial supply will be minted on deploy to ADDRESS_OWNER address
ADDRESS_OWNER=0x.. #Owner address
PRIVATEKEY_OWNER_AMB=0x... #Deployer privkeyDeployments folder contains JSON files for already deployed contracts at corresponding network. The naming format is {chainId}.json.
Scripts has scripts for deployment ops (README).
To run a deployment migrations, try running some of the following scripts:
Staking contracts
# Deploy Token + Staking + Manager + Feeders
npx hardhat run ./scripts/migrations/00_deploy_staking_contracts.ts --network <dev|test|main>
# Configure Manager + Feeders
npx hardhat run ./scripts/migrations/01_setup_staking_contracts.ts --network <dev|test|main>Engagement contracts
# Deploy Engagement Oracle + Engagement Manager
npx hardhat run ./scripts/migrations/02_deploy_engagement_contracts.ts --network <dev|test|main>
# Configure Engagement Manager
npx hardhat run ./scripts/migrations/03_setup_eng_contracts.ts --network <dev|test|main>