Contract Deployments
Official Lunarys Protocol contract addresses on supported networks.
Ethereum Sepolia
| Contract | Address |
|---|---|
| PrivacyPool | 0xB9afb9c881769BdEa7E4028F84EFf3288B5Cf6d3 |
| Token A (Test) | 0xa895C68802e2af69718D397629B6d6319473dD73 |
| Token B (Test) | 0x51f087C58B7a59Ee79709b9C77f26969685c2A07 |
| PositionNFT | 0x77aacc843b16A9E0845cEEEB7d72387ca0B169d5 |
Network Details
| Property | Value |
|---|---|
| Chain ID | 11155111 |
| Currency | ETH |
| Block Explorer | Sepolia Etherscan |
| RPC | https://ethereum-sepolia-rpc.publicnode.com |
Arbitrum Sepolia
| Contract | Address |
|---|---|
| PoolFactory | TBD |
| Test Tokens | TBD |
Network Details
| Property | Value |
|---|---|
| Chain ID | 421614 |
| Currency | ETH |
| Block Explorer | Arbiscan Sepolia |
| RPC | https://sepolia-rollup.arbitrum.io/rpc |
Verifying Contracts
On Etherscan
npx hardhat verify --network eth-sepolia <CONTRACT_ADDRESS> <CONSTRUCTOR_ARGS>
Example Verification
# Verify PoolFactory
npx hardhat verify --network eth-sepolia 0x... "0xOwnerAddress"
# Verify PrivacyPool
npx hardhat verify --network eth-sepolia 0x... \
"0xTokenA" \
"0xTokenB" \
"3000" \
"0xOwner"
ABI Downloads
Contract ABIs are available in the repository:
cofhe-hardhat-starter/
artifacts/
contracts/
EPool.sol/
PrivacyPool.json
PoolFactory.sol/
PoolFactory.json
PositionNFT.sol/
PositionNFT.json
tokens/
TestFHERC20.sol/
TestFHERC20.json
Using ABIs
import PrivacyPoolABI from './artifacts/contracts/EPool.sol/PrivacyPool.json'
import PoolFactoryABI from './artifacts/contracts/PoolFactory.sol/PoolFactory.json'
const pool = new ethers.Contract(address, PrivacyPoolABI.abi, signer)
Deployment Scripts
Deploy All
npx hardhat deploy-all --network eth-sepolia
This deploys:
- PoolFactory
- Two TestFHERC20 tokens
- A PrivacyPool for the pair
- PositionNFT
Deploy Factory Only
npx hardhat deploy-factory --network eth-sepolia
Create New Pool
npx hardhat create-pool \
--factory 0xFactoryAddress \
--tokena 0xTokenA \
--tokenb 0xTokenB \
--fee 3000 \
--network eth-sepolia
Testnet Faucets
Sepolia ETH
Test Tokens
Test tokens can be minted using the owner account:
// Mint 1000 tokens
token.mint(recipientAddress, 1000 * 10**18);
Network Configuration
Hardhat Config
// hardhat.config.ts
networks: {
"eth-sepolia": {
url: "https://ethereum-sepolia-rpc.publicnode.com",
accounts: { mnemonic: process.env.MNEMONIC },
chainId: 11155111
},
"arb-sepolia": {
url: "https://sepolia-rollup.arbitrum.io/rpc",
accounts: { mnemonic: process.env.MNEMONIC },
chainId: 421614
}
}
Frontend Config
// config/chains.ts
export const supportedChains = [
{
id: 11155111,
name: 'Sepolia',
network: 'sepolia',
rpcUrls: {
default: { http: ['https://ethereum-sepolia-rpc.publicnode.com'] }
}
},
{
id: 421614,
name: 'Arbitrum Sepolia',
network: 'arbitrum-sepolia',
rpcUrls: {
default: { http: ['https://sepolia-rollup.arbitrum.io/rpc'] }
}
}
]
Upgradeability
Current contracts are not upgradeable. Future versions may include:
- Proxy patterns for core contracts
- Migration tools for liquidity
- Versioned factory deployments
Mainnet
Mainnet deployments are planned after:
- Security audit completion
- Testnet stability verification
- Community review period
Check the official announcements for mainnet launch details.