@airdao/bond-periphery
v1.0.23
Published
Periphery contracts for Bond Marketplace
Downloads
232
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
hardhat
network.
To run tests, just run:
npm test
#or
npx hardhat test
To run with coverage:
npx hardhat coverage
Deploying
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 privkey
Deployments 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>