Link

DeFund Share Token Contract Under Development

The Defund Share Token (DFT) follows the ERC-20 standard. Along with this, DFT contains a few methods that allow it to interact with the DeFund smart contract.

Here is a complete list of all additional functions:


setOwner(address account)

Limit: Creator only
Function: Change the creator wallet
Example: setOwner(0x0000000000000000000000000000000000000000)

setFundAddress(address account)

Limit: Creator only
Function: Define DeFund contract address
Example: setFundAddress(0x0000000000000000000000000000000000000000)

burn(address account, uint256 amount)

Limit: DeFund contract only
Function: Burn tokens contained by the specified wallet.
Example: burn(0x0000000000000000000000000000000000000000, 10000000000000000)

burnFrom(address account, uint256 amount)

Limit: DeFund contract only
Function: Burn tokens contained by the specified wallet. 
          Only if the DeFund contract has an allowance >= amount.
Example: burnFrom(0x0000000000000000000000000000000000000000, 10000000000000000)

mintTo(address account, uint256 amount)

Limit: DeFund contract only
Function: Mints the specified amount of tokens to the provided account.
Example: mintTo(0x0000000000000000000000000000000000000000, 10000000000000000)

You can view the source for DFT on Gitlab


An interface for DFT exists. It is used by both DeFund and the DeFund Oracle contracts.

// SPDX-License-Identifier: MIT
pragma solidity ^0.6.0;

interface IDefundToken {
    function burn(address account, uint256 amount) external;
    function burnFrom(address account, uint256 amount) external;
    function mintTo(address account, uint256 amount) external;
    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);
}