Files

Solace Treasury Smart Contracts

Smart contracts for the Treasury Management DApp.

Contracts

  • TreasuryWallet.sol: Main multisig wallet contract with transaction proposals and approvals
  • SubAccountFactory.sol: Factory for creating sub-accounts under a main treasury

Development

# Install dependencies
pnpm install

# Compile contracts
pnpm run compile

# Run tests
pnpm run test

# Generate coverage report
pnpm run coverage

# Deploy to Sepolia
pnpm run deploy:sepolia

# Start local node
pnpm run node

Testing

Tests are located in the test/ directory and use Hardhat's testing framework with Chai assertions.

Security

  • Contracts use OpenZeppelin's battle-tested libraries
  • Reentrancy guards on external calls
  • Access control for owner management
  • Threshold validation for multisig operations