Skip to content

WeRaDev/wera-contracts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WeRa Contracts

This repository contains the core implementation of WeRa's smart contracts.

Components

  1. Diamond Proxy:

    • src/diamond/Diamond.sol
    • Implements modular and upgradable contract architecture.
  2. WeP ERC20 Token:

    • src/token/WeP.sol
    • Mintable and burnable ERC20 token with OpenZeppelin ERC20Votes.
  3. Staking Contract:

    • src/staking/facets/WeRaStakingFacet.sol
    • Manages staking with a treasury, minting and burning WeP tokens 1:1 with a stablecoin.
  4. Test Stablecoin:

    • src/test/TokenMock.sol
    • Mock stablecoin for testing purposes.
  5. Faucet for Stablecoin:

    • src/test/TokenFaucet.sol
    • Provides test stablecoins to users.

Summary

This core implementation provides foundational token and staking mechanics, leveraging the Diamond Proxy pattern for flexibility and upgradability.


Foundry

Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust.

Foundry consists of:

  • Forge: Ethereum testing framework (like Truffle, Hardhat and DappTools).
  • Cast: Swiss army knife for interacting with EVM smart contracts, sending transactions and getting chain data.
  • Anvil: Local Ethereum node, akin to Ganache, Hardhat Network.
  • Chisel: Fast, utilitarian, and verbose solidity REPL.

Documentation

https://book.getfoundry.sh/

Usage

Build

$ forge build

Test

$ forge test

Format

$ forge fmt

Gas Snapshots

$ forge snapshot

Anvil

$ anvil

Cast

$ cast <subcommand>

Help

$ forge --help
$ anvil --help
$ cast --help

About

WeRa smart contracts

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published