Skip to content
forked from Ro5s/aion

A token factory that enables any person or community to tokenize any good or endeavour.

License

Notifications You must be signed in to change notification settings

j-s/zora-contracts

 
 

Repository files navigation

Zora: Enabling human progress

Zora

Enabling human progress.

Website: ourzora.com

Twitter: @ourZORA

The token

The token contract that enables people to tokenize their time, any good, or endeavour, with a maximum cap that can be in circulation at any given moment.

The token is able to be minted and burned by an approved minter. The cap is immutable and cannot be changed at any point past instantiation.

It is an ERC20 token that utilizes OpenZeppelin smart contracts.

Contract

The TokenFactory contract is deployed at:

The token can be found in contracts/Token.sol and has the following interface:

interface IToken {
    // ERC20
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);

    // Mint & Burn
    function mint(address account, uint256 amount) external returns (bool);
    function burn(uint256 amount) external;
    function burnFrom(address account, uint256 amount) external;

    // Pause
    function pause() external;
    function unpause() external;

    // Redeem
    function redeem(uint256 amount, bytes32 messageHash) external;
    event TokenRedeemed(address redeemer, uint256 amount, bytes32 messageHash);

    // Permit (signature approvals)
    function permit(address holder, address spender, uint256 nonce, uint256 expiry, bool allowed, uint8 v, bytes32 r, bytes32 s) external;
}

Deployment

make deploy/mainnet PRIVATE_KEY=xyz

License & Acknowledgements

MIT License.

Built by @kern over two cups of tea.

About

A token factory that enables any person or community to tokenize any good or endeavour.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 61.5%
  • Solidity 34.7%
  • Makefile 3.8%