ETH Price: $3,765.41 (-1.91%)
Gas: 11 Gwei

Token

 

Overview

Max Total Supply

0

Holders

0

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
GebDaoMinimalTreasury

Compiler Version
v0.6.7+commit.b8d736ae

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license
/**
 *Submitted for verification at Etherscan.io on 2022-06-07
*/

// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity 0.6.7;

contract GebAuth {
    // --- Authorization ---
    mapping (address => uint) public authorizedAccounts;
    /**
     * @notice Add auth to an account
     * @param account Account to add auth to
     */
    function addAuthorization(address account) external isAuthorized {
        authorizedAccounts[account] = 1;
        emit AddAuthorization(account);
    }
    /**
     * @notice Remove auth from an account
     * @param account Account to remove auth from
     */
    function removeAuthorization(address account) external isAuthorized {
        authorizedAccounts[account] = 0;
        emit RemoveAuthorization(account);
    }
    /**
    * @notice Checks whether msg.sender can call an authed function
    **/
    modifier isAuthorized {
        require(authorizedAccounts[msg.sender] == 1, "GebAuth/account-not-authorized");
        _;
    }

    // --- Events ---
    event AddAuthorization(address account);
    event RemoveAuthorization(address account);

    constructor () public {
        authorizedAccounts[msg.sender] = 1;
        emit AddAuthorization(msg.sender);
    }
}

abstract contract TokenLike {
    function transfer(address, uint256) external virtual;
}

/**
* @notice   Minimal treasury for the community DAO
*           Allows for delegating control of the treasury (fixed amount per epoch)
*           Governance can update allowance or revoke rights at any time
*           Increases in allowance take effect only in next epoch, decreases immediately
**/
contract GebDaoMinimalTreasury is GebAuth {
    // --- State vars ---
    // Token kept in the treasury
    TokenLike immutable public token;
    // Delegate, can spend allowance every epoch
    address public treasuryDelegate;
    // Duration of each epoch (seconds)
    uint256 public epochLength;
    // Amount that can be spent each epoch
    uint256 public delegateAllowance;
    // Amount left to spend in current epock
    uint256 internal delegateLeftoverToSpend_;
    // Current epoch start (Unix timestamp)
    uint256 public epochStart;

    // --- Constructor ---
    /**
     * @notice Constructor
     * @param _token Token to be used
     * @param _delegate Delegate
     * @param _epochLength Duration of each epoch (seconds)
     * @param _delegateAllowance Amount that can be spent by the delegate each epoch
     */
    constructor(
        address _token,
        address _delegate,
        uint256 _epochLength,
        uint256 _delegateAllowance
    ) public {
        require(_epochLength > 0, "GebDAOMinimalTreasury/invalid-epoch");
        require(_token != address(0), "GebDAOMinimalTreasury/invalid-epoch");
        token = TokenLike(_token);
        treasuryDelegate = _delegate;
        epochLength = _epochLength;
        delegateAllowance = _delegateAllowance;
        epochStart = now;
        delegateLeftoverToSpend_ = _delegateAllowance;
    }

    // --- SafeMath ---
    function add(uint x, uint y) internal pure returns (uint z) {
        require((z = x + y) >= x, "GebDAOMinimalTreasury/add-overflow");
    }
    function sub(uint x, uint y) internal pure returns (uint z) {
        require((z = x - y) <= x, "GebDAOMinimalTreasury/sub-underflow");
    }
    function mul(uint x, uint y) internal pure returns (uint z) {
        require(y == 0 || (z = x * y) / y == x, "GebDAOMinimalTreasury/mul-overflow");
    }

    // --- Boolean Logic ---
    function either(bool x, bool y) internal pure returns (bool z) {
        assembly{ z := or(x, y)}
    }

    // --- Admin Functions ---
    /**
    * @notice Modify an int256 parameter
    * @param parameter The name of the parameter to change
    * @param val The new value for the parameter
    **/
    function modifyParameters(bytes32 parameter, uint256 val) external isAuthorized {
        if (parameter == "epochLength") {
          require(val > 0, "GebDAOMinimalTreasury/invalid-epochLength");
          epochLength = val;
        }
        else if (parameter == "delegateAllowance") {
          delegateAllowance = val;
          if (val < delegateLeftoverToSpend_)
            delegateLeftoverToSpend_ = val;
        }
        else revert("GebDAOMinimalTreasury/modify-unrecognized-param");
    }

    /**
    * @notice Modify an int256 parameter
    * @param parameter The name of the parameter to change
    * @param val The new value for the parameter
    **/
    function modifyParameters(bytes32 parameter, address val) external isAuthorized {
        if (parameter == "treasuryDelegate") {
          treasuryDelegate = val;
        }
        else revert("GebDAOMinimalTreasury/modify-unrecognized-param");
    }

    // --- Delegate functions ---
    /**
    * @notice Updates epoch info. Unused balance in previous epochs should not be available
    **/
    modifier updateEpoch() {
        uint256 epochFinish = add(epochStart, epochLength);
        if (now > epochFinish) {
            delegateLeftoverToSpend_ = delegateAllowance;
            if (now - epochFinish > epochLength) {
                uint256 epochsElapsed = sub(now, epochFinish) / epochLength;
                epochStart = add(mul(epochsElapsed, epochLength), epochFinish);
            } else
                epochStart = epochFinish;
        }
        _;
    }

    /**
     * @notice Transfer tokens from treasury to dst
     * @param dst The address to transfer tokens to
     * @param amount The amount of tokens to transfer
     */
    function delegateTransferERC20(address dst, uint256 amount) external updateEpoch {
        require(msg.sender == treasuryDelegate, "GebDAOMinimalTreasury/unauthorized");
        delegateLeftoverToSpend_ = sub(delegateLeftoverToSpend_, amount); // reverts if lower allowance
        token.transfer(dst, amount);
    }

    /**
     * @notice Transfer any token from treasury to dst (admin only)
     * @param dst The address to transfer tokens to
     * @param amount The amount of tokens to transfer
     */
    function transferERC20(address _token, address dst, uint256 amount) external isAuthorized {
        TokenLike(_token).transfer(dst, amount);
    }

    /**
     * @notice Returns current delegateLeftoverToSpend
     */
    function delegateLeftoverToSpend() external view returns (uint256) {
        uint256 epochFinish = add(epochStart, epochLength);
        if (now > epochFinish)
            return delegateAllowance;
        else
            return delegateLeftoverToSpend_;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_delegate","type":"address"},{"internalType":"uint256","name":"_epochLength","type":"uint256"},{"internalType":"uint256","name":"_delegateAllowance","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"AddAuthorization","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"RemoveAuthorization","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addAuthorization","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"authorizedAccounts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"delegateAllowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"delegateLeftoverToSpend","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"delegateTransferERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"epochLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"epochStart","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"parameter","type":"bytes32"},{"internalType":"address","name":"val","type":"address"}],"name":"modifyParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"parameter","type":"bytes32"},{"internalType":"uint256","name":"val","type":"uint256"}],"name":"modifyParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeAuthorization","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract TokenLike","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"treasuryDelegate","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60a060405234801561001057600080fd5b50604051610b92380380610b928339818101604052608081101561003357600080fd5b508051602080830151604080850151606090950151336000818152808652839020600190558251908152915194959294929390927f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f70001029281900390910190a1600082116100d05760405162461bcd60e51b8152600401808060200182810382526023815260200180610b6f6023913960400191505060405180910390fd5b6001600160a01b0384166101155760405162461bcd60e51b8152600401808060200182810382526023815260200180610b6f6023913960400191505060405180910390fd5b606084901b6001600160601b031916608052600180546001600160a01b0319166001600160a01b03948516179055600291909155600381905542600555600455166109fd610172600039806104dc52806106dd52506109fd6000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636614f0101161008c57806394f3f81d1161006657806394f3f81d146101d05780639db5dbe4146101f6578063fc0c546a1461022c578063fe4f589014610234576100cf565b80636614f01014610154578063703af677146101805780639168b051146101ac576100cf565b806315e5a1e5146100d457806320ceed1b146100ee57806324ba5884146100f657806335b281531461011c578063431e99c71461014457806357d775f81461014c575b600080fd5b6100dc610257565b60408051918252519081900360200190f35b6100dc61025d565b6100dc6004803603602081101561010c57600080fd5b50356001600160a01b031661028b565b6101426004803603602081101561013257600080fd5b50356001600160a01b031661029d565b005b6100dc610341565b6100dc610347565b6101426004803603604081101561016a57600080fd5b50803590602001356001600160a01b031661034d565b6101426004803603604081101561019657600080fd5b506001600160a01b038135169060200135610415565b6101b4610577565b604080516001600160a01b039092168252519081900360200190f35b610142600480360360208110156101e657600080fd5b50356001600160a01b0316610586565b6101426004803603606081101561020c57600080fd5b506001600160a01b03813581169160208101359091169060400135610629565b6101b46106db565b6101426004803603604081101561024a57600080fd5b50803590602001356106ff565b60055481565b60008061026e6005546002546107e6565b905080421115610282575050600354610288565b50506004545b90565b60006020819052908152604090205481565b336000908152602081905260409020546001146102ef576040805162461bcd60e51b815260206004820152601e6024820152600080516020610963833981519152604482015290519081900360640190fd5b6001600160a01b0381166000818152602081815260409182902060019055815192835290517f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f70001029281900390910190a150565b60035481565b60025481565b3360009081526020819052604090205460011461039f576040805162461bcd60e51b815260206004820152601e6024820152600080516020610963833981519152604482015290519081900360640190fd5b816f747265617375727944656c656761746560801b14156103da57600180546001600160a01b0319166001600160a01b038316179055610411565b60405162461bcd60e51b815260040180806020018281038252602f8152602001806108c7602f913960400191505060405180910390fd5b5050565b60006104256005546002546107e6565b90508042111561047f57600354600455600254428290031115610479576000600254610451428461082e565b8161045857fe5b04905061047061046a82600254610870565b836107e6565b6005555061047f565b60058190555b6001546001600160a01b031633146104c85760405162461bcd60e51b815260040180806020018281038252602281526020018061091f6022913960400191505060405180910390fd5b6104d46004548361082e565b6004819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb84846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561055a57600080fd5b505af115801561056e573d6000803e3d6000fd5b50505050505050565b6001546001600160a01b031681565b336000908152602081905260409020546001146105d8576040805162461bcd60e51b815260206004820152601e6024820152600080516020610963833981519152604482015290519081900360640190fd5b6001600160a01b03811660008181526020818152604080832092909255815192835290517f8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b9039281900390910190a150565b3360009081526020819052604090205460011461067b576040805162461bcd60e51b815260206004820152601e6024820152600080516020610963833981519152604482015290519081900360640190fd5b826001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561055a57600080fd5b7f000000000000000000000000000000000000000000000000000000000000000081565b33600090815260208190526040902054600114610751576040805162461bcd60e51b815260206004820152601e6024820152600080516020610963833981519152604482015290519081900360640190fd5b816a0cae0dec6d098cadccee8d60ab1b14156107b057600081116107a65760405162461bcd60e51b81526004018080602001828103825260298152602001806108f66029913960400191505060405180910390fd5b6002819055610411565b817064656c6567617465416c6c6f77616e636560781b14156103da5760038190556004548110156107e15760048190555b610411565b808201828110156108285760405162461bcd60e51b81526004018080602001828103825260228152602001806109a66022913960400191505060405180910390fd5b92915050565b808203828111156108285760405162461bcd60e51b81526004018080602001828103825260238152602001806109836023913960400191505060405180910390fd5b600081158061088b5750508082028282828161088857fe5b04145b6108285760405162461bcd60e51b81526004018080602001828103825260228152602001806109416022913960400191505060405180910390fdfe47656244414f4d696e696d616c54726561737572792f6d6f646966792d756e7265636f676e697a65642d706172616d47656244414f4d696e696d616c54726561737572792f696e76616c69642d65706f63684c656e67746847656244414f4d696e696d616c54726561737572792f756e617574686f72697a656447656244414f4d696e696d616c54726561737572792f6d756c2d6f766572666c6f77476562417574682f6163636f756e742d6e6f742d617574686f72697a6564000047656244414f4d696e696d616c54726561737572792f7375622d756e646572666c6f7747656244414f4d696e696d616c54726561737572792f6164642d6f766572666c6f77a26469706673582212209a6ffacbf0dbce8201a04925a7f92a5aa3ea71e8ec21e656fea3f96291116dc664736f6c6343000607003347656244414f4d696e696d616c54726561737572792f696e76616c69642d65706f63680000000000000000000000006243d8cea23066d098a15582d81a598b4e8391f4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002835c00000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636614f0101161008c57806394f3f81d1161006657806394f3f81d146101d05780639db5dbe4146101f6578063fc0c546a1461022c578063fe4f589014610234576100cf565b80636614f01014610154578063703af677146101805780639168b051146101ac576100cf565b806315e5a1e5146100d457806320ceed1b146100ee57806324ba5884146100f657806335b281531461011c578063431e99c71461014457806357d775f81461014c575b600080fd5b6100dc610257565b60408051918252519081900360200190f35b6100dc61025d565b6100dc6004803603602081101561010c57600080fd5b50356001600160a01b031661028b565b6101426004803603602081101561013257600080fd5b50356001600160a01b031661029d565b005b6100dc610341565b6100dc610347565b6101426004803603604081101561016a57600080fd5b50803590602001356001600160a01b031661034d565b6101426004803603604081101561019657600080fd5b506001600160a01b038135169060200135610415565b6101b4610577565b604080516001600160a01b039092168252519081900360200190f35b610142600480360360208110156101e657600080fd5b50356001600160a01b0316610586565b6101426004803603606081101561020c57600080fd5b506001600160a01b03813581169160208101359091169060400135610629565b6101b46106db565b6101426004803603604081101561024a57600080fd5b50803590602001356106ff565b60055481565b60008061026e6005546002546107e6565b905080421115610282575050600354610288565b50506004545b90565b60006020819052908152604090205481565b336000908152602081905260409020546001146102ef576040805162461bcd60e51b815260206004820152601e6024820152600080516020610963833981519152604482015290519081900360640190fd5b6001600160a01b0381166000818152602081815260409182902060019055815192835290517f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f70001029281900390910190a150565b60035481565b60025481565b3360009081526020819052604090205460011461039f576040805162461bcd60e51b815260206004820152601e6024820152600080516020610963833981519152604482015290519081900360640190fd5b816f747265617375727944656c656761746560801b14156103da57600180546001600160a01b0319166001600160a01b038316179055610411565b60405162461bcd60e51b815260040180806020018281038252602f8152602001806108c7602f913960400191505060405180910390fd5b5050565b60006104256005546002546107e6565b90508042111561047f57600354600455600254428290031115610479576000600254610451428461082e565b8161045857fe5b04905061047061046a82600254610870565b836107e6565b6005555061047f565b60058190555b6001546001600160a01b031633146104c85760405162461bcd60e51b815260040180806020018281038252602281526020018061091f6022913960400191505060405180910390fd5b6104d46004548361082e565b6004819055507f0000000000000000000000006243d8cea23066d098a15582d81a598b4e8391f46001600160a01b031663a9059cbb84846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561055a57600080fd5b505af115801561056e573d6000803e3d6000fd5b50505050505050565b6001546001600160a01b031681565b336000908152602081905260409020546001146105d8576040805162461bcd60e51b815260206004820152601e6024820152600080516020610963833981519152604482015290519081900360640190fd5b6001600160a01b03811660008181526020818152604080832092909255815192835290517f8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b9039281900390910190a150565b3360009081526020819052604090205460011461067b576040805162461bcd60e51b815260206004820152601e6024820152600080516020610963833981519152604482015290519081900360640190fd5b826001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561055a57600080fd5b7f0000000000000000000000006243d8cea23066d098a15582d81a598b4e8391f481565b33600090815260208190526040902054600114610751576040805162461bcd60e51b815260206004820152601e6024820152600080516020610963833981519152604482015290519081900360640190fd5b816a0cae0dec6d098cadccee8d60ab1b14156107b057600081116107a65760405162461bcd60e51b81526004018080602001828103825260298152602001806108f66029913960400191505060405180910390fd5b6002819055610411565b817064656c6567617465416c6c6f77616e636560781b14156103da5760038190556004548110156107e15760048190555b610411565b808201828110156108285760405162461bcd60e51b81526004018080602001828103825260228152602001806109a66022913960400191505060405180910390fd5b92915050565b808203828111156108285760405162461bcd60e51b81526004018080602001828103825260238152602001806109836023913960400191505060405180910390fd5b600081158061088b5750508082028282828161088857fe5b04145b6108285760405162461bcd60e51b81526004018080602001828103825260228152602001806109416022913960400191505060405180910390fdfe47656244414f4d696e696d616c54726561737572792f6d6f646966792d756e7265636f676e697a65642d706172616d47656244414f4d696e696d616c54726561737572792f696e76616c69642d65706f63684c656e67746847656244414f4d696e696d616c54726561737572792f756e617574686f72697a656447656244414f4d696e696d616c54726561737572792f6d756c2d6f766572666c6f77476562417574682f6163636f756e742d6e6f742d617574686f72697a6564000047656244414f4d696e696d616c54726561737572792f7375622d756e646572666c6f7747656244414f4d696e696d616c54726561737572792f6164642d6f766572666c6f77a26469706673582212209a6ffacbf0dbce8201a04925a7f92a5aa3ea71e8ec21e656fea3f96291116dc664736f6c63430006070033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000006243d8cea23066d098a15582d81a598b4e8391f4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002835c00000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _token (address): 0x6243d8CEA23066d098a15582d81a598b4e8391F4
Arg [1] : _delegate (address): 0x0000000000000000000000000000000000000000
Arg [2] : _epochLength (uint256): 2635200
Arg [3] : _delegateAllowance (uint256): 0

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000006243d8cea23066d098a15582d81a598b4e8391f4
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [2] : 00000000000000000000000000000000000000000000000000000000002835c0
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

1607:5045:0:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1607:5045:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;2141:25:0;;;:::i;:::-;;;;;;;;;;;;;;;;6382:267;;;:::i;126:51::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;126:51:0;-1:-1:-1;;;;;126:51:0;;:::i;287:156::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;287:156:0;-1:-1:-1;;;;;287:156:0;;:::i;:::-;;1963:32;;;:::i;1886:26::-;;;:::i;4551:255::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;4551:255:0;;;;;;-1:-1:-1;;;;;4551:255:0;;:::i;5629:320::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;5629:320:0;;;;;;;;:::i;1807:31::-;;;:::i;:::-;;;;-1:-1:-1;;;;;1807:31:0;;;;;;;;;;;;;;562:162;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;562:162:0;-1:-1:-1;;;;;562:162:0;;:::i;6152:148::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;6152:148:0;;;;;;;;;;;;;;;;;:::i;1718:32::-;;;:::i;3861:512::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3861:512:0;;;;;;;:::i;2141:25::-;;;;:::o;6382:267::-;6440:7;6460:19;6482:28;6486:10;;6498:11;;6482:3;:28::i;:::-;6460:50;;6531:11;6525:3;:17;6521:120;;;-1:-1:-1;;6564:17:0;;6557:24;;6521:120;-1:-1:-1;;6617:24:0;;6382:267;;:::o;126:51::-;;;;;;;;;;;;;;:::o;287:156::-;877:10;858:18;:30;;;;;;;;;;;892:1;858:35;850:78;;;;;-1:-1:-1;;;850:78:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;850:78:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;363:27:0;::::1;:18;:27:::0;;;::::1;::::0;;;;;;;;393:1:::1;363:31:::0;;410:25;;;;;;;::::1;::::0;;;;;;;;::::1;287:156:::0;:::o;1963:32::-;;;;:::o;1886:26::-;;;;:::o;4551:255::-;877:10;858:18;:30;;;;;;;;;;;892:1;858:35;850:78;;;;;-1:-1:-1;;;850:78:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;850:78:0;;;;;;;;;;;;;;;4646:9:::1;-1:-1:-1::0;;;4646:31:0::1;4642:156;;;4692:16;:22:::0;;-1:-1:-1;;;;;;4692:22:0::1;-1:-1:-1::0;;;;;4692:22:0;::::1;;::::0;;4642:156:::1;;;4741:57;;-1:-1:-1::0;;;4741:57:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4642:156;4551:255:::0;;:::o;5629:320::-;4994:19;5016:28;5020:10;;5032:11;;5016:3;:28::i;:::-;4994:50;;5065:11;5059:3;:17;5055:368;;;5120:17;;5093:24;:44;5176:11;;5156:3;:17;;;:31;5152:259;;;5208:21;5256:11;;5232:21;5236:3;5241:11;5232:3;:21::i;:::-;:35;;;;;;5208:59;;5299:49;5303:31;5307:13;5322:11;;5303:3;:31::i;:::-;5336:11;5299:3;:49::i;:::-;5286:10;:62;-1:-1:-1;5152:259:0;;;5387:10;:24;;;5152:259;5743:16:::1;::::0;-1:-1:-1;;;;;5743:16:0::1;5729:10;:30;5721:77;;;;-1:-1:-1::0;;;5721:77:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5836:37;5840:24;;5866:6;5836:3;:37::i;:::-;5809:24;:64;;;;5914:5;-1:-1:-1::0;;;;;5914:14:0::1;;5929:3;5934:6;5914:27;;;;;;;;;;;;;-1:-1:-1::0;;;;;5914:27:0::1;-1:-1:-1::0;;;;;5914:27:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24::::0;17:12:::1;2:2;5914:27:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;5914:27:0;;;;5629:320:::0;;;:::o;1807:31::-;;;-1:-1:-1;;;;;1807:31:0;;:::o;562:162::-;877:10;858:18;:30;;;;;;;;;;;892:1;858:35;850:78;;;;;-1:-1:-1;;;850:78:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;850:78:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;641:27:0;::::1;671:1;641:27:::0;;;::::1;::::0;;;;;;;:31;;;;688:28;;;;;;;::::1;::::0;;;;;;;;::::1;562:162:::0;:::o;6152:148::-;877:10;858:18;:30;;;;;;;;;;;892:1;858:35;850:78;;;;;-1:-1:-1;;;850:78:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;850:78:0;;;;;;;;;;;;;;;6263:6:::1;-1:-1:-1::0;;;;;6253:26:0::1;;6280:3;6285:6;6253:39;;;;;;;;;;;;;-1:-1:-1::0;;;;;6253:39:0::1;-1:-1:-1::0;;;;;6253:39:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24::::0;17:12:::1;1718:32:0::0;;;:::o;3861:512::-;877:10;858:18;:30;;;;;;;;;;;892:1;858:35;850:78;;;;;-1:-1:-1;;;850:78:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;850:78:0;;;;;;;;;;;;;;;3956:9:::1;-1:-1:-1::0;;;3956:26:0::1;3952:413;;;4011:1;4005:3;:7;3997:61;;;;-1:-1:-1::0;;;3997:61:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4071:11;:17:::0;;;3952:413:::1;;;4119:9;-1:-1:-1::0;;;4119:32:0::1;4115:250;;;4166:17;:23:::0;;;4212:24:::1;::::0;4206:30;::::1;4202:79;;;4251:24;:30:::0;;;4202:79:::1;4115:250;;3055:142:::0;3139:5;;;3134:16;;;;3126:63;;;;-1:-1:-1;;;3126:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3055:142;;;;:::o;3203:143::-;3287:5;;;3282:16;;;;3274:64;;;;-1:-1:-1;;;3274:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3352:156;3404:6;3431;;;:30;;-1:-1:-1;;3446:5:0;;;3460:1;3455;3446:5;3455:1;3441:15;;;;;:20;3431:30;3423:77;;;;-1:-1:-1;;;3423:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Swarm Source

ipfs://9a6ffacbf0dbce8201a04925a7f92a5aa3ea71e8ec21e656fea3f96291116dc6
Loading...
Loading
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.