Contract 0x0e2298e3b3390e3b945a5456fbf59ecc3f55da16

 
YAM token contract has migrated to a new address.
Txn Hash
Block
From
To
Value
0x4190fab0af2f951bfa3618e21720179d0df93c84a29b7c86e8aa6393b574e11a119936272021-03-07 20:57:5321 hrs 14 mins ago0x18133aa99562f42f6528482223dcb9d835e06f14 IN  Yam.Finance: Old YAM V1 Token0 Ether0.0047823688
0xc620c4a70e93069370800e15444b2d1610afb94c1b7339042451c67893f3823b119828012021-03-06 4:58:142 days 13 hrs ago0xa60dd9d42fdd43e91da63bd261997e14f21c69fd IN  Yam.Finance: Old YAM V1 Token0 Ether0.00104013002365.000001459
0x88b068bd819c81f461407c2164668f4d73092f263508c0ee6068db38aa04452c119809632021-03-05 22:08:412 days 20 hrs ago0xc7efca477afa3c8fe231614b9dc0c78988baeb1d IN  Yam.Finance: Old YAM V1 Token0 Ether0.005673069101
0x77b3465916ff0a5eb1a0d86bf9427d00cd37acd3ae2e78bece78fd9db3e60379119752582021-03-05 1:18:573 days 16 hrs ago0x6808c8f473363d085d8d8ece4b53966cad81ee4a IN  Yam.Finance: Old YAM V1 Token0 Ether0.002304288144
0x00b462a50e007adea92e1b0de2761fb051e038cd8b2b9f199421edd167befddd119727432021-03-04 15:57:594 days 2 hrs ago0xf3beff5fcd6aa8d0796097c1e4eb729309055379 IN  Yam.Finance: Old YAM V1 Token0 Ether0.00150418894
0x9e82328fb714de324b5032d1c50382bae2bd067f9efeba5e3f1968283da71c48119720692021-03-04 13:27:304 days 4 hrs ago0x11c9a7bc7dc20859f04408166c0af218d5cadc00 IN  Yam.Finance: Old YAM V1 Token0 Ether0.00139217487
0xdcb449bb581fa74313a4e2c6289b1930491cddd92424b543cc0dbf0c34279c47119715002021-03-04 11:23:264 days 6 hrs ago0x7563839e02004d3f419ff78df4256e9c5dd713ed IN  Yam.Finance: Old YAM V1 Token0 Ether0.00121615202376.000001459
0x4868b7b33d24c9f6b7d91b5295818a18eb075c3b54539065490b53d184abfd01119714732021-03-04 11:18:004 days 6 hrs ago0x7563839e02004d3f419ff78df4256e9c5dd713ed IN  Yam.Finance: Old YAM V1 Token0 Ether0.00121615202376.000001459
0x3114a1ee3644a1c58517e2621bd33c68041bdd70e2572ec88ba65e1d0a8ccdc6119674612021-03-03 20:28:324 days 21 hrs ago0xb9e33af702ae71b5895afb40063e2ffb26c2e931 IN  Yam.Finance: Old YAM V1 Token0 Ether0.006354882137
0x4d2647336706cc98e1f887ff63a24bc1d28df4b961b3902d1600bd461cceb67a119630372021-03-03 4:05:575 days 14 hrs ago0x1f4db94072909a6ca1fb08c70f6aa6a16d5d7416 IN  Yam.Finance: Old YAM V1 Token0 Ether0.00409946173
0x5bb0e8f73b98d251c33a563b80ea6dd2ea7f44202bd3eb47d222e206a06f90b4119627362021-03-03 2:56:165 days 15 hrs ago0x683a42e5b414ae5cf79ece7e369ca5937fdcdc11 IN  Yam.Finance: Old YAM V1 Token0 Ether0.00131216482
0x56d73fb94abc0a06bd515ac3b5e7312e29f08697dc941f99ea6854939248f246119624022021-03-03 1:34:255 days 16 hrs ago0x1f4db94072909a6ca1fb08c70f6aa6a16d5d7416 IN  Yam.Finance: Old YAM V1 Token0 Ether0.00345246110
0x88caedbe7b5e62c40307fdb35e44312808390b5e11698c36d07e15b6985655a1119619582021-03-02 23:55:435 days 18 hrs ago0x1f4db94072909a6ca1fb08c70f6aa6a16d5d7416 IN  Yam.Finance: Old YAM V1 Token0 Ether0.00320063469
0x55c74e7b23ac8298f445c5daebad7305df66763bbde24069960c0fd66742a224119616412021-03-02 22:47:375 days 19 hrs ago0xa8cf732132d2ba735c7874fceb0518204489653c IN  Yam.Finance: Old YAM V1 Token0 Ether0.004276141071103.928571429
0x91438c20c6721739e93ceec187c7cc28d755dedf2a3c0954dd09e7a9b0fdf98d119616082021-03-02 22:41:525 days 19 hrs ago0x8d4f9a2f16b90f2bc47668cf6b2d8f372618508d IN  Yam.Finance: Old YAM V1 Token0 Ether0.00325140379
0xe6cee7e5c952b0be88b7a7fa6f2979735d3af1c89e777801061c5d27cb96c6cd119613912021-03-02 21:53:195 days 20 hrs ago0x8d4f9a2f16b90f2bc47668cf6b2d8f372618508d IN  Yam.Finance: Old YAM V1 Token0 Ether0.003326916106
0x73ce97f754bddcc2ee3bad6a2762775a9a3e0e1a38ac1db8f2fab7243ab6622a119613912021-03-02 21:53:195 days 20 hrs ago0x8d4f9a2f16b90f2bc47668cf6b2d8f372618508d IN  Yam.Finance: Old YAM V1 Token0 Ether0.004883844106
0x589453662e87766ba97e9225b7c0ed91391e4a908f9073452ef090f3d1a970d1119611002021-03-02 20:45:325 days 21 hrs ago0x1f4db94072909a6ca1fb08c70f6aa6a16d5d7416 IN  Yam.Finance: Old YAM V1 Token0 Ether0.0050984257590.75
0x4ccc61aced4f1df1713c97758034f7cdae0d211b7e70adf539627f551f15c185119586872021-03-02 11:59:586 days 6 hrs ago0x6cd39081750d8736c61bc9f1d2fb31a9e8efab10 IN  Yam.Finance: Old YAM V1 Token0 Ether0.0013601785
0xa7c5ceb8ce2e259c4fe2b8798cd7158614420d20766c4a9083c63535053fa685119577052021-03-02 8:19:156 days 9 hrs ago0x4abc6252ac885b12ac870918b40fbedcf2f4db68 IN  Yam.Finance: Old YAM V1 Token0 Ether0.00131216402382.000001459
0xb0d758996c8600b0bd4b32975aa2681991a1396e5bb3a60a8c49da1805016860119555712021-03-02 0:28:086 days 17 hrs ago0x8d4f9a2f16b90f2bc47668cf6b2d8f372618508d IN  Yam.Finance: Old YAM V1 Token0 Ether0.004402515107
0xf47c92217d434ffe9ffa72607e92094f8346ed9423136f434db0ee83c5762eb7119541852021-03-01 19:25:046 days 22 hrs ago0xa8cf732132d2ba735c7874fceb0518204489653c IN  Yam.Finance: Old YAM V1 Token0 Ether0.006700757142162.857142858
0x16f372061dcd3c008e6faf36032ba68bb4124be5280ef8fc00b90743e961e1bf119527402021-03-01 14:04:587 days 4 hrs ago0x0c0057af75d6fcb35566621e8639ba06755c4c29 IN  Yam.Finance: Old YAM V1 Token0 Ether0.002464308154
0x0e570244222f3893a6f5d5e8d4dd45a075e27b97cb51d6d771c63af85e2b41f4119491882021-03-01 0:49:217 days 17 hrs ago0xe5767ade043d95c35e9723f7a463d25278ce6d4b IN  Yam.Finance: Old YAM V1 Token0 Ether0.001478584892.4
0x47b69080a7973da396f80195401d046a97745a794ee0d0c5d678adfa2499dde8119488952021-02-28 23:47:357 days 18 hrs ago0x8d4f9a2f16b90f2bc47668cf6b2d8f372618508d IN  Yam.Finance: Old YAM V1 Token0 Ether0.0028801570
[ Download CSV Export 

OVERVIEW

YAM token contract has migrated to 0x0aacfbec6a24756c20d41914f2caba817c0d8521.

View more zero value Internal Transactions in Advanced View mode
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
YAMDelegator

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 50000 runs

Other Settings:
istanbul EvmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-08-11
*/

pragma solidity 0.5.17;


library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}


contract YAMTokenStorage {

    using SafeMath for uint256;

    /**
     * @dev Guard variable for re-entrancy checks. Not currently used
     */
    bool internal _notEntered;

    /**
     * @notice EIP-20 token name for this token
     */
    string public name;

    /**
     * @notice EIP-20 token symbol for this token
     */
    string public symbol;

    /**
     * @notice EIP-20 token decimals for this token
     */
    uint8 public decimals;

    /**
     * @notice Governor for this contract
     */
    address public gov;

    /**
     * @notice Pending governance for this contract
     */
    address public pendingGov;

    /**
     * @notice Approved rebaser for this contract
     */
    address public rebaser;

    /**
     * @notice Reserve address of YAM protocol
     */
    address public incentivizer;

    /**
     * @notice Total supply of YAMs
     */
    uint256 public totalSupply;

    /**
     * @notice Internal decimals used to handle scaling factor
     */
    uint256 public constant internalDecimals = 10**24;

    /**
     * @notice Used for percentage maths
     */
    uint256 public constant BASE = 10**18;

    /**
     * @notice Scaling factor that adjusts everyone's balances
     */
    uint256 public yamsScalingFactor;

    mapping (address => uint256) internal _yamBalances;

    mapping (address => mapping (address => uint256)) internal _allowedFragments;

    uint256 public initSupply;

}


contract YAMGovernanceStorage {
    /// @notice A record of each accounts delegate
    mapping (address => address) internal _delegates;

    /// @notice A checkpoint for marking number of votes from a given block
    struct Checkpoint {
        uint32 fromBlock;
        uint256 votes;
    }

    /// @notice A record of votes checkpoints for each account, by index
    mapping (address => mapping (uint32 => Checkpoint)) public checkpoints;

    /// @notice The number of checkpoints for each account
    mapping (address => uint32) public numCheckpoints;

    /// @notice The EIP-712 typehash for the contract's domain
    bytes32 public constant DOMAIN_TYPEHASH = keccak256("EIP712Domain(string name,uint256 chainId,address verifyingContract)");

    /// @notice The EIP-712 typehash for the delegation struct used by the contract
    bytes32 public constant DELEGATION_TYPEHASH = keccak256("Delegation(address delegatee,uint256 nonce,uint256 expiry)");

    /// @notice A record of states for signing / validating signatures
    mapping (address => uint) public nonces;
}


contract YAMTokenInterface is YAMTokenStorage, YAMGovernanceStorage {

    /// @notice An event thats emitted when an account changes its delegate
    event DelegateChanged(address indexed delegator, address indexed fromDelegate, address indexed toDelegate);

    /// @notice An event thats emitted when a delegate account's vote balance changes
    event DelegateVotesChanged(address indexed delegate, uint previousBalance, uint newBalance);

    /**
     * @notice Event emitted when tokens are rebased
     */
    event Rebase(uint256 epoch, uint256 prevYamsScalingFactor, uint256 newYamsScalingFactor);

    /*** Gov Events ***/

    /**
     * @notice Event emitted when pendingGov is changed
     */
    event NewPendingGov(address oldPendingGov, address newPendingGov);

    /**
     * @notice Event emitted when gov is changed
     */
    event NewGov(address oldGov, address newGov);

    /**
     * @notice Sets the rebaser contract
     */
    event NewRebaser(address oldRebaser, address newRebaser);

    /**
     * @notice Sets the incentivizer contract
     */
    event NewIncentivizer(address oldIncentivizer, address newIncentivizer);

    /* - ERC20 Events - */

    /**
     * @notice EIP20 Transfer event
     */
    event Transfer(address indexed from, address indexed to, uint amount);

    /**
     * @notice EIP20 Approval event
     */
    event Approval(address indexed owner, address indexed spender, uint amount);

    /* - Extra Events - */
    /**
     * @notice Tokens minted event
     */
    event Mint(address to, uint256 amount);

    // Public functions
    function transfer(address to, uint256 value) external returns(bool);
    function transferFrom(address from, address to, uint256 value) external returns(bool);
    function balanceOf(address who) external view returns(uint256);
    function balanceOfUnderlying(address who) external view returns(uint256);
    function allowance(address owner_, address spender) external view returns(uint256);
    function approve(address spender, uint256 value) external returns (bool);
    function increaseAllowance(address spender, uint256 addedValue) external returns (bool);
    function decreaseAllowance(address spender, uint256 subtractedValue) external returns (bool);
    function maxScalingFactor() external view returns (uint256);

    /* - Governance Functions - */
    function getPriorVotes(address account, uint blockNumber) external view returns (uint256);
    function delegateBySig(address delegatee, uint nonce, uint expiry, uint8 v, bytes32 r, bytes32 s) external;
    function delegate(address delegatee) external;
    function delegates(address delegator) external view returns (address);
    function getCurrentVotes(address account) external view returns (uint256);

    /* - Permissioned/Governance functions - */
    function mint(address to, uint256 amount) external returns (bool);
    function rebase(uint256 epoch, uint256 indexDelta, bool positive) external returns (uint256);
    function _setRebaser(address rebaser_) external;
    function _setIncentivizer(address incentivizer_) external;
    function _setPendingGov(address pendingGov_) external;
    function _acceptGov() external;
}


contract YAMDelegationStorage {
    /**
     * @notice Implementation address for this contract
     */
    address public implementation;
}

contract YAMDelegatorInterface is YAMDelegationStorage {
    /**
     * @notice Emitted when implementation is changed
     */
    event NewImplementation(address oldImplementation, address newImplementation);

    /**
     * @notice Called by the gov to update the implementation of the delegator
     * @param implementation_ The address of the new implementation for delegation
     * @param allowResign Flag to indicate whether to call _resignImplementation on the old implementation
     * @param becomeImplementationData The encoded bytes data to be passed to _becomeImplementation
     */
    function _setImplementation(address implementation_, bool allowResign, bytes memory becomeImplementationData) public;
}

contract YAMDelegator is YAMTokenInterface, YAMDelegatorInterface {
    /**
     * @notice Construct a new YAM
     * @param name_ ERC-20 name of this token
     * @param symbol_ ERC-20 symbol of this token
     * @param decimals_ ERC-20 decimal precision of this token
     * @param initSupply_ Initial token amount
     * @param implementation_ The address of the implementation the contract delegates to
     * @param becomeImplementationData The encoded args for becomeImplementation
     */
    constructor(
        string memory name_,
        string memory symbol_,
        uint8 decimals_,
        uint256 initSupply_,
        address implementation_,
        bytes memory becomeImplementationData
    )
        public
    {


        // Creator of the contract is gov during initialization
        gov = msg.sender;

        // First delegate gets to initialize the delegator (i.e. storage contract)
        delegateTo(
            implementation_,
            abi.encodeWithSignature(
                "initialize(string,string,uint8,address,uint256)",
                name_,
                symbol_,
                decimals_,
                msg.sender,
                initSupply_
            )
        );

        // New implementations always get set via the settor (post-initialize)
        _setImplementation(implementation_, false, becomeImplementationData);

    }

    /**
     * @notice Called by the gov to update the implementation of the delegator
     * @param implementation_ The address of the new implementation for delegation
     * @param allowResign Flag to indicate whether to call _resignImplementation on the old implementation
     * @param becomeImplementationData The encoded bytes data to be passed to _becomeImplementation
     */
    function _setImplementation(address implementation_, bool allowResign, bytes memory becomeImplementationData) public {
        require(msg.sender == gov, "YAMDelegator::_setImplementation: Caller must be gov");

        if (allowResign) {
            delegateToImplementation(abi.encodeWithSignature("_resignImplementation()"));
        }

        address oldImplementation = implementation;
        implementation = implementation_;

        delegateToImplementation(abi.encodeWithSignature("_becomeImplementation(bytes)", becomeImplementationData));

        emit NewImplementation(oldImplementation, implementation);
    }

    /**
     * @notice Sender supplies assets into the market and receives cTokens in exchange
     * @dev Accrues interest whether or not the operation succeeds, unless reverted
     * @param mintAmount The amount of the underlying asset to supply
     * @return uint 0=success, otherwise a failure (see ErrorReporter.sol for details)
     */
    function mint(address to, uint256 mintAmount)
        external
        returns (bool)
    {
        to; mintAmount; // Shh
        delegateAndReturn();
    }

    /**
     * @notice Transfer `amount` tokens from `msg.sender` to `dst`
     * @param dst The address of the destination account
     * @param amount The number of tokens to transfer
     * @return Whether or not the transfer succeeded
     */
    function transfer(address dst, uint256 amount)
        external
        returns (bool)
    {
        dst; amount; // Shh
        delegateAndReturn();
    }

    /**
     * @notice Transfer `amount` tokens from `src` to `dst`
     * @param src The address of the source account
     * @param dst The address of the destination account
     * @param amount The number of tokens to transfer
     * @return Whether or not the transfer succeeded
     */
    function transferFrom(
        address src,
        address dst,
        uint256 amount
    )
        external
        returns (bool)
    {
        src; dst; amount; // Shh
        delegateAndReturn();
    }

    /**
     * @notice Approve `spender` to transfer up to `amount` from `src`
     * @dev This will overwrite the approval amount for `spender`
     *  and is subject to issues noted [here](https://eips.ethereum.org/EIPS/eip-20#approve)
     * @param spender The address of the account which may transfer tokens
     * @param amount The number of tokens that are approved (-1 means infinite)
     * @return Whether or not the approval succeeded
     */
    function approve(
        address spender,
        uint256 amount
    )
        external
        returns (bool)
    {
        spender; amount; // Shh
        delegateAndReturn();
    }

    /**
     * @dev Increase the amount of tokens that an owner has allowed to a spender.
     * This method should be used instead of approve() to avoid the double approval vulnerability
     * described above.
     * @param spender The address which will spend the funds.
     * @param addedValue The amount of tokens to increase the allowance by.
     */
    function increaseAllowance(
        address spender,
        uint256 addedValue
    )
        external
        returns (bool)
    {
        spender; addedValue; // Shh
        delegateAndReturn();
    }

    function maxScalingFactor()
        external
        view
        returns (uint256)
    {
        delegateToViewAndReturn();
    }

    function rebase(
        uint256 epoch,
        uint256 indexDelta,
        bool positive
    )
        external
        returns (uint256)
    {
        epoch; indexDelta; positive;
        delegateAndReturn();
    }

    /**
     * @dev Decrease the amount of tokens that an owner has allowed to a spender.
     *
     * @param spender The address which will spend the funds.
     * @param subtractedValue The amount of tokens to decrease the allowance by.
     */
    function decreaseAllowance(
        address spender,
        uint256 subtractedValue
    )
        external
        returns (bool)
    {
        spender; subtractedValue; // Shh
        delegateAndReturn();
    }

    /**
     * @notice Get the current allowance from `owner` for `spender`
     * @param owner The address of the account which owns the tokens to be spent
     * @param spender The address of the account which may transfer tokens
     * @return The number of tokens allowed to be spent (-1 means infinite)
     */
    function allowance(
        address owner,
        address spender
    )
        external
        view
        returns (uint256)
    {
        owner; spender; // Shh
        delegateToViewAndReturn();
    }

    /**
     * @notice Get the current allowance from `owner` for `spender`
     * @param delegator The address of the account which has designated a delegate
     * @return Address of delegatee
     */
    function delegates(
        address delegator
    )
        external
        view
        returns (address)
    {
        delegator; // Shh
        delegateToViewAndReturn();
    }

    /**
     * @notice Get the token balance of the `owner`
     * @param owner The address of the account to query
     * @return The number of tokens owned by `owner`
     */
    function balanceOf(address owner)
        external
        view
        returns (uint256)
    {
        owner; // Shh
        delegateToViewAndReturn();
    }

    /**
     * @notice Currently unused. For future compatability
     * @param owner The address of the account to query
     * @return The number of underlying tokens owned by `owner`
     */
    function balanceOfUnderlying(address owner)
        external
        view
        returns (uint256)
    {
        owner; // Shh
        delegateToViewAndReturn();
    }

    /*** Gov Functions ***/

    /**
      * @notice Begins transfer of gov rights. The newPendingGov must call `_acceptGov` to finalize the transfer.
      * @dev Gov function to begin change of gov. The newPendingGov must call `_acceptGov` to finalize the transfer.
      * @param newPendingGov New pending gov.
      */
    function _setPendingGov(address newPendingGov)
        external
    {
        newPendingGov; // Shh
        delegateAndReturn();
    }

    function _setRebaser(address rebaser_)
        external
    {
        rebaser_; // Shh
        delegateAndReturn();
    }

    function _setIncentivizer(address incentivizer_)
        external
    {
        incentivizer_; // Shh
        delegateAndReturn();
    }

    /**
      * @notice Accepts transfer of gov rights. msg.sender must be pendingGov
      * @dev Gov function for pending gov to accept role and update gov
      * @return uint 0=success, otherwise a failure (see ErrorReporter.sol for details)
      */
    function _acceptGov()
        external
    {
        delegateAndReturn();
    }


    function getPriorVotes(address account, uint blockNumber)
        external
        view
        returns (uint256)
    {
        account; blockNumber;
        delegateToViewAndReturn();
    }

    function delegateBySig(
        address delegatee,
        uint nonce,
        uint expiry,
        uint8 v,
        bytes32 r,
        bytes32 s
    )
        external
    {
        delegatee; nonce; expiry; v; r; s;
        delegateAndReturn();
    }

    function delegate(address delegatee)
        external
    {
        delegatee;
        delegateAndReturn();
    }

    function getCurrentVotes(address account)
        external
        view
        returns (uint256)
    {
        account;
        delegateToViewAndReturn();
    }

    /**
     * @notice Internal method to delegate execution to another contract
     * @dev It returns to the external caller whatever the implementation returns or forwards reverts
     * @param callee The contract to delegatecall
     * @param data The raw data to delegatecall
     * @return The returned bytes from the delegatecall
     */
    function delegateTo(address callee, bytes memory data) internal returns (bytes memory) {
        (bool success, bytes memory returnData) = callee.delegatecall(data);
        assembly {
            if eq(success, 0) {
                revert(add(returnData, 0x20), returndatasize)
            }
        }
        return returnData;
    }

    /**
     * @notice Delegates execution to the implementation contract
     * @dev It returns to the external caller whatever the implementation returns or forwards reverts
     * @param data The raw data to delegatecall
     * @return The returned bytes from the delegatecall
     */
    function delegateToImplementation(bytes memory data) public returns (bytes memory) {
        return delegateTo(implementation, data);
    }

    /**
     * @notice Delegates execution to an implementation contract
     * @dev It returns to the external caller whatever the implementation returns or forwards reverts
     *  There are an additional 2 prefix uints from the wrapper returndata, which we ignore since we make an extra hop.
     * @param data The raw data to delegatecall
     * @return The returned bytes from the delegatecall
     */
    function delegateToViewImplementation(bytes memory data) public view returns (bytes memory) {
        (bool success, bytes memory returnData) = address(this).staticcall(abi.encodeWithSignature("delegateToImplementation(bytes)", data));
        assembly {
            if eq(success, 0) {
                revert(add(returnData, 0x20), returndatasize)
            }
        }
        return abi.decode(returnData, (bytes));
    }

    function delegateToViewAndReturn() private view returns (bytes memory) {
        (bool success, ) = address(this).staticcall(abi.encodeWithSignature("delegateToImplementation(bytes)", msg.data));

        assembly {
            let free_mem_ptr := mload(0x40)
            returndatacopy(free_mem_ptr, 0, returndatasize)

            switch success
            case 0 { revert(free_mem_ptr, returndatasize) }
            default { return(add(free_mem_ptr, 0x40), returndatasize) }
        }
    }

    function delegateAndReturn() private returns (bytes memory) {
        (bool success, ) = implementation.delegatecall(msg.data);

        assembly {
            let free_mem_ptr := mload(0x40)
            returndatacopy(free_mem_ptr, 0, returndatasize)

            switch success
            case 0 { revert(free_mem_ptr, returndatasize) }
            default { return(free_mem_ptr, returndatasize) }
        }
    }

    /**
     * @notice Delegates execution to an implementation contract
     * @dev It returns to the external caller whatever the implementation returns or forwards reverts
     */
    function () external payable {
        require(msg.value == 0,"YAMDelegator:fallback: cannot send value to fallback");

        // delegate all other functions to current implementation
        delegateAndReturn();
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"},{"internalType":"uint256","name":"initSupply_","type":"uint256"},{"internalType":"address","name":"implementation_","type":"address"},{"internalType":"bytes","name":"becomeImplementationData","type":"bytes"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegator","type":"address"},{"indexed":true,"internalType":"address","name":"fromDelegate","type":"address"},{"indexed":true,"internalType":"address","name":"toDelegate","type":"address"}],"name":"DelegateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegate","type":"address"},{"indexed":false,"internalType":"uint256","name":"previousBalance","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newBalance","type":"uint256"}],"name":"DelegateVotesChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldGov","type":"address"},{"indexed":false,"internalType":"address","name":"newGov","type":"address"}],"name":"NewGov","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldImplementation","type":"address"},{"indexed":false,"internalType":"address","name":"newImplementation","type":"address"}],"name":"NewImplementation","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldIncentivizer","type":"address"},{"indexed":false,"internalType":"address","name":"newIncentivizer","type":"address"}],"name":"NewIncentivizer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldPendingGov","type":"address"},{"indexed":false,"internalType":"address","name":"newPendingGov","type":"address"}],"name":"NewPendingGov","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldRebaser","type":"address"},{"indexed":false,"internalType":"address","name":"newRebaser","type":"address"}],"name":"NewRebaser","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"epoch","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"prevYamsScalingFactor","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newYamsScalingFactor","type":"uint256"}],"name":"Rebase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[],"name":"BASE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DELEGATION_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DOMAIN_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"_acceptGov","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"implementation_","type":"address"},{"internalType":"bool","name":"allowResign","type":"bool"},{"internalType":"bytes","name":"becomeImplementationData","type":"bytes"}],"name":"_setImplementation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"incentivizer_","type":"address"}],"name":"_setIncentivizer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newPendingGov","type":"address"}],"name":"_setPendingGov","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"rebaser_","type":"address"}],"name":"_setRebaser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOfUnderlying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint32","name":"","type":"uint32"}],"name":"checkpoints","outputs":[{"internalType":"uint32","name":"fromBlock","type":"uint32"},{"internalType":"uint256","name":"votes","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"name":"delegate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"delegateBySig","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"name":"delegateToImplementation","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"name":"delegateToViewImplementation","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"delegator","type":"address"}],"name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getCurrentVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getPriorVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"gov","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"incentivizer","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"initSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"internalDecimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxScalingFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"mintAmount","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"numCheckpoints","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pendingGov","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"uint256","name":"indexDelta","type":"uint256"},{"internalType":"bool","name":"positive","type":"bool"}],"name":"rebase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rebaser","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"yamsScalingFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}]

60806040523480156200001157600080fd5b5060405162001e4338038062001e43833981810160405260c08110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b50604081815260208301519083015160608401516080909401805192969195919284640100000000821115620001cd57600080fd5b908301906020820185811115620001e357600080fd5b8251640100000000811182820188101715620001fe57600080fd5b82525081516020918201929091019080838360005b838110156200022d57818101518382015260200162000213565b50505050905090810190601f1680156200025b5780820380516001836020036101000a031916815260200191505b5060405250505033600360016101000a8154816001600160a01b0302191690836001600160a01b03160217905550620003d48287878733886040516024018080602001806020018660ff1660ff168152602001856001600160a01b03166001600160a01b03168152602001848152602001838103835288818151815260200191508051906020019080838360005b8381101562000303578181015183820152602001620002e9565b50505050905090810190601f168015620003315780820380516001836020036101000a031916815260200191505b50838103825287518152875160209182019189019080838360005b83811015620003665781810151838201526020016200034c565b50505050905090810190601f168015620003945780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529190526020810180516001600160e01b03908116636c94522160e01b17909152909850620003f8169650505050505050565b50620003ec826000836001600160e01b03620004bf16565b505050505050620006a0565b606060006060846001600160a01b0316846040518082805190602001908083835b602083106200043a5780518252601f19909201916020918201910162000419565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146200049c576040519150601f19603f3d011682016040523d82523d6000602084013e620004a1565b606091505b50915091506000821415620004b7573d60208201fd5b949350505050565b60035461010090046001600160a01b031633146200050f5760405162461bcd60e51b815260040180806020018281038252603481526020018062001e0f6034913960400191505060405180910390fd5b811562000551576040805160048152602481019091526020810180516001600160e01b0390811663153ab50560e01b179091526200054f91906200067616565b505b601080546001600160a01b038581166001600160a01b0319831617909255604051602060248201818152855160448401528551949093169362000627938693909283926064909201919085019080838360005b83811015620005be578181015183820152602001620005a4565b50505050905090810190601f168015620005ec5780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529190526020810180516001600160e01b03908116630adccee560e31b179091529093506200067616915050565b50601054604080516001600160a01b038085168252909216602083015280517fd604de94d45953f9138079ec1b82d533cb2160c906d1076d1f7ed54befbca97a9281900390910190a150505050565b6010546060906200069a906001600160a01b0316836001600160e01b03620003f816565b92915050565b61175f80620006b06000396000f3fe6080604052600436106102c65760003560e01c806364dd48f51161017957806398dca210116100d6578063c3cda5201161008a578063ec342ad011610064578063ec342ad014610a8a578063f1127ed814610a9f578063fa8f3455146107f7576102c6565b8063c3cda520146109cc578063dd62ed3e14610a2d578063e7a324dc14610a75576102c6565b8063a9059cbb116100bb578063a9059cbb14610465578063b4b5ea57146105f3578063b6fa8576146109b7576102c6565b806398dca210146107f7578063a457c2d714610465576102c6565b8063782d6fe11161012d5780637ecebe00116101125780637ecebe001461094d57806395d89b411461098d57806397d63f93146109a2576102c6565b8063782d6fe1146108cf5780637af548c114610915576102c6565b80636fcfff451161015e5780636fcfff451461087657806370a08231146105f357806373f03dff146107f7576102c6565b806364dd48f51461084c5780636fc6407c14610861576102c6565b8063313ce567116102275780634bda2e20116101db578063587cde1e116101c0578063587cde1e146107d45780635c19a95c146107f75780635c60da1b14610837576102c6565b80634bda2e20146106e6578063555bcc40146106fd576102c6565b80633af9e6691161020c5780633af9e669146105f357806340c10f19146104655780634487152f14610633576102c6565b8063313ce567146105c85780633950935114610465576102c6565b806312d43a511161027e57806320606b701161026357806320606b701461054e57806323b872dd1461056357806325240810146105b3576102c6565b806312d43a511461052457806318160ddd14610539576102c6565b8063095ea7b3116102af578063095ea7b31461046557806311d3e6c4146104bf57806311fd8a83146104e6576102c6565b806306fdde03146103285780630933c1ed146103b2575b341561031d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603481526020018061167a6034913960400191505060405180910390fd5b610325610b0b565b50005b34801561033457600080fd5b5061033d610ba0565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561037757818101518382015260200161035f565b50505050905090810190601f1680156103a45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156103be57600080fd5b5061033d600480360360208110156103d557600080fd5b8101906020810181356401000000008111156103f057600080fd5b82018360208201111561040257600080fd5b8035906020019184600183028401116401000000008311171561042457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610c4b945050505050565b34801561047157600080fd5b506104ab6004803603604081101561048857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610c77565b604080519115158252519081900360200190f35b3480156104cb57600080fd5b506104d4610c88565b60408051918252519081900360200190f35b3480156104f257600080fd5b506104fb610c96565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561053057600080fd5b506104fb610cb2565b34801561054557600080fd5b506104d4610cd3565b34801561055a57600080fd5b506104d4610cd9565b34801561056f57600080fd5b506104ab6004803603606081101561058657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610cf4565b3480156105bf57600080fd5b506104fb610d06565b3480156105d457600080fd5b506105dd610d22565b6040805160ff9092168252519081900360200190f35b3480156105ff57600080fd5b506104d46004803603602081101561061657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610d2b565b34801561063f57600080fd5b5061033d6004803603602081101561065657600080fd5b81019060208101813564010000000081111561067157600080fd5b82018360208201111561068357600080fd5b803590602001918460018302840111640100000000831117156106a557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610d3b945050505050565b3480156106f257600080fd5b506106fb610fd3565b005b34801561070957600080fd5b506106fb6004803603606081101561072057600080fd5b73ffffffffffffffffffffffffffffffffffffffff82351691602081013515159181019060608101604082013564010000000081111561075f57600080fd5b82018360208201111561077157600080fd5b8035906020019184600183028401116401000000008311171561079357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610fde945050505050565b3480156107e057600080fd5b506104fb6004803603602081101561061657600080fd5b34801561080357600080fd5b506106fb6004803603602081101561081a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611254565b34801561084357600080fd5b506104fb611260565b34801561085857600080fd5b506104d461127c565b34801561086d57600080fd5b506104fb61128a565b34801561088257600080fd5b506108b66004803603602081101561089957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166112a6565b6040805163ffffffff9092168252519081900360200190f35b3480156108db57600080fd5b506104d4600480360360408110156108f257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356112be565b34801561092157600080fd5b506104d46004803603606081101561093857600080fd5b50803590602081013590604001351515610cf4565b34801561095957600080fd5b506104d46004803603602081101561097057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166112c8565b34801561099957600080fd5b5061033d6112da565b3480156109ae57600080fd5b506104d4611350565b3480156109c357600080fd5b506104d4611356565b3480156109d857600080fd5b506106fb600480360360c08110156109ef57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060208101359060408101359060ff6060820135169060808101359060a0013561135c565b348015610a3957600080fd5b506104d460048036036040811015610a5057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166112be565b348015610a8157600080fd5b506104d461136d565b348015610a9657600080fd5b506104d4611388565b348015610aab57600080fd5b50610aeb60048036036040811015610ac257600080fd5b50803573ffffffffffffffffffffffffffffffffffffffff16906020013563ffffffff16611394565b6040805163ffffffff909316835260208301919091528051918290030190f35b60105460405160609160009173ffffffffffffffffffffffffffffffffffffffff90911690829036908083838082843760405192019450600093509091505080830381855af49150503d8060008114610b80576040519150601f19603f3d011682016040523d82523d6000602084013e610b85565b606091505b505090506040513d6000823e818015610b9c573d82f35b3d82fd5b60018054604080516020600284861615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f81018490048402820184019092528181529291830182828015610c435780601f10610c1857610100808354040283529160200191610c43565b820191906000526020600020905b815481529060010190602001808311610c2657829003601f168201915b505050505081565b601054606090610c719073ffffffffffffffffffffffffffffffffffffffff16836113c1565b92915050565b6000610c81610b0b565b5092915050565b6000610c926114ae565b5090565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b600354610100900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b6040518060436116ae82396043019050604051809103902081565b6000610cfe610b0b565b509392505050565b60045473ffffffffffffffffffffffffffffffffffffffff1681565b60035460ff1681565b6000610d356114ae565b50919050565b6060600060603073ffffffffffffffffffffffffffffffffffffffff16846040516024018080602001828103825283818151815260200191508051906020019080838360005b83811015610d99578181015183820152602001610d81565b50505050905090810190601f168015610dc65780820380516001836020036101000a031916815260200191505b50604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f0933c1ed00000000000000000000000000000000000000000000000000000000178152905182519295509350839250908083835b60208310610e8b57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610e4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114610eeb576040519150601f19603f3d011682016040523d82523d6000602084013e610ef0565b606091505b50915091506000821415610f05573d60208201fd5b808060200190516020811015610f1a57600080fd5b8101908080516040519392919084640100000000821115610f3a57600080fd5b908301906020820185811115610f4f57600080fd5b8251640100000000811182820188101715610f6957600080fd5b82525081516020918201929091019080838360005b83811015610f96578181015183820152602001610f7e565b50505050905090810190601f168015610fc35780820380516001836020036101000a031916815260200191505b5060405250505092505050919050565b610fdb610b0b565b50565b600354610100900473ffffffffffffffffffffffffffffffffffffffff163314611053576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260348152602001806116466034913960400191505060405180910390fd5b81156110bb576040805160048152602481019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f153ab505000000000000000000000000000000000000000000000000000000001790526110b990610c4b565b505b6010805473ffffffffffffffffffffffffffffffffffffffff8581167fffffffffffffffffffffffff000000000000000000000000000000000000000083161790925560405160206024820181815285516044840152855194909316936111f8938693909283926064909201919085019080838360005b8381101561114a578181015183820152602001611132565b50505050905090810190601f1680156111775780820380516001836020036101000a031916815260200191505b50604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f56e67728000000000000000000000000000000000000000000000000000000001790529250610c4b915050565b506010546040805173ffffffffffffffffffffffffffffffffffffffff8085168252909216602083015280517fd604de94d45953f9138079ec1b82d533cb2160c906d1076d1f7ed54befbca97a9281900390910190a150505050565b61125c610b0b565b5050565b60105473ffffffffffffffffffffffffffffffffffffffff1681565b69d3c21bcecceda100000081565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b600e6020526000908152604090205463ffffffff1681565b6000610c816114ae565b600f6020526000908152604090205481565b600280546040805160206001841615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909316849004601f81018490048402820184019092528181529291830182828015610c435780601f10610c1857610100808354040283529160200191610c43565b600b5481565b60085481565b611364610b0b565b50505050505050565b60405180603a6116f18239603a019050604051809103902081565b670de0b6b3a764000081565b600d6020908152600092835260408084209091529082529020805460019091015463ffffffff9091169082565b6060600060608473ffffffffffffffffffffffffffffffffffffffff16846040518082805190602001908083835b6020831061142c57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016113ef565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461148c576040519150601f19603f3d011682016040523d82523d6000602084013e611491565b606091505b509150915060008214156114a6573d60208201fd5b949350505050565b606060003073ffffffffffffffffffffffffffffffffffffffff166000366040516024018080602001828103825284848281815260200192508082843760008382015260408051601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090811690940182810390940182529283526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f0933c1ed0000000000000000000000000000000000000000000000000000000017815292518151919750955085945091925081905083835b602083106115c657805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611589565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114611626576040519150601f19603f3d011682016040523d82523d6000602084013e61162b565b606091505b505090506040513d6000823e818015610b9c573d60408301f3fe59414d44656c656761746f723a3a5f736574496d706c656d656e746174696f6e3a2043616c6c6572206d75737420626520676f7659414d44656c656761746f723a66616c6c6261636b3a2063616e6e6f742073656e642076616c756520746f2066616c6c6261636b454950373132446f6d61696e28737472696e67206e616d652c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e74726163742944656c65676174696f6e28616464726573732064656c6567617465652c75696e74323536206e6f6e63652c75696e743235362065787069727929a265627a7a7231582040e26befc78c9d49fde34a9c2c373726e92e8b86bb75a9d5ef8c7cca7030c5ff64736f6c6343000511003259414d44656c656761746f723a3a5f736574496d706c656d656e746174696f6e3a2043616c6c6572206d75737420626520676f7600000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000001a784379d99db42000000000000000000000000000000a923af6d05993495257a872ec69dbbf01501eb0e0000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000359414d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000359414d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

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

00000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000001a784379d99db42000000000000000000000000000000a923af6d05993495257a872ec69dbbf01501eb0e0000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000359414d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000359414d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name_ (string): YAM
Arg [1] : symbol_ (string): YAM
Arg [2] : decimals_ (uint8): 18
Arg [3] : initSupply_ (uint256): 2000000000000000000000000
Arg [4] : implementation_ (address): 0xa923af6d05993495257a872ec69dbbf01501eb0e
Arg [5] : becomeImplementationData (bytes): 0x

-----Encoded View---------------
11 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000100
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 00000000000000000000000000000000000000000001a784379d99db42000000
Arg [4] : 000000000000000000000000a923af6d05993495257a872ec69dbbf01501eb0e
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000140
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [7] : 59414d0000000000000000000000000000000000000000000000000000000000
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [9] : 59414d0000000000000000000000000000000000000000000000000000000000
Arg [10] : 0000000000000000000000000000000000000000000000000000000000000000


Deployed ByteCode Sourcemap

11550:12989:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24359:9;:14;24351:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24509:19;:17;:19::i;:::-;;11550:12989;5013:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5013:18:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5013:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22170:141;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22170:141:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22170:141:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;22170:141:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;22170:141:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;22170:141:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;22170:141:0;;-1:-1:-1;22170:141:0;;-1:-1:-1;;;;;22170:141:0:i;15947:193::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15947:193:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15947:193:0;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;16732:136;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16732:136:0;;;:::i;:::-;;;;;;;;;;;;;;;;5501:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5501:22:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5300:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5300:18:0;;;:::i;5689:26::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5689:26:0;;;:::i;6917:122::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6917:122:0;;;:::i;15260:217::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15260:217:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15260:217:0;;;;;;;;;;;;;;;;;;:::i;5398:25::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5398:25:0;;;:::i;5209:21::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5209:21:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;19098:175;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19098:175:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19098:175:0;;;;:::i;22733:434::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22733:434:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22733:434:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;22733:434:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;22733:434:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;22733:434:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;22733:434:0;;-1:-1:-1;22733:434:0;;-1:-1:-1;;;;;22733:434:0:i;20301:83::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20301:83:0;;;:::i;:::-;;13372:638;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13372:638:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13372:638:0;;;;;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;13372:638:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;13372:638:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;13372:638:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;13372:638:0;;-1:-1:-1;13372:638:0;;-1:-1:-1;;;;;13372:638:0:i;18347:189::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18347:189:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;20871:118:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20871:118:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20871:118:0;;;;:::i;10777:29::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10777:29:0;;;:::i;5806:49::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5806:49:0;;;:::i;5598:27::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5598:27:0;;;:::i;6795:49::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6795:49:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6795:49:0;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20394:197;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20394:197:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20394:197:0;;;;;;;;;:::i;16876:226::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16876:226:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16876:226:0;;;;;;;;;;;;;;:::i;7331:39::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7331:39:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7331:39:0;;;;:::i;5109:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5109:20:0;;;:::i;6237:25::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6237:25:0;;;:::i;6052:32::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6052:32:0;;;:::i;20599:264::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20599:264:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;20599:264:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;17915:216::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17915:216:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17915:216:0;;;;;;;;;;;:::i;7133:117::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7133:117:0;;;:::i;5924:37::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5924:37:0;;;:::i;6656:70::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6656:70:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6656:70:0;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;23689:427;23779:14;;:37;;23735:12;;23761;;23779:14;;;;;23761:12;;23807:8;;23779:37;23761:12;23807:8;;23761:12;23779:37;1:33:-1;23779:37:0;;45:16:-1;;;-1:-1;23779:37:0;;-1:-1:-1;23779:37:0;;-1:-1:-1;;23779:37:0;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;23760:56:0;;;23879:4;23873:11;23930:14;23927:1;23913:12;23898:47;23968:7;23989:47;;;;24081:14;24067:12;24060:36;23989:47;24019:14;24005:12;23998:36;5013:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;22170:141::-;22282:14;;22239:12;;22271:32;;22282:14;;22298:4;22271:10;:32::i;:::-;22264:39;22170:141;-1:-1:-1;;22170:141:0:o;15947:193::-;16058:4;16113:19;:17;:19::i;:::-;;15947:193;;;;:::o;16732:136::-;16810:7;16835:25;:23;:25::i;:::-;;16732:136;:::o;5501:22::-;;;;;;:::o;5300:18::-;;;;;;;;;:::o;5689:26::-;;;;:::o;6917:122::-;6959:80;;;;;;;;;;;;;;;;;;6917:122;:::o;15260:217::-;15394:4;15450:19;:17;:19::i;:::-;;15260:217;;;;;:::o;5398:25::-;;;;;;:::o;5209:21::-;;;;;;:::o;19098:175::-;19192:7;19240:25;:23;:25::i;:::-;;19098:175;;;:::o;22733:434::-;22811:12;22837;22851:23;22886:4;22878:24;;22962:4;22903:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;22903:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;22903:64:0;;;22:32:-1;26:21;;;22:32;6:49;;22903:64:0;;;49:4:-1;25:18;;61:17;;22903:64:0;182:15:-1;22903:64:0;179:29:-1;160:49;;22878:90:0;;;;22903:64;;-1:-1:-1;22878:90:0;-1:-1:-1;22878:90:0;;-1:-1:-1;25:18;22878:90:0;;25:18:-1;36:153;66:2;61:3;58:11;36:153;;176:10;;164:23;;139:12;;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;22878:90:0;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;22836:132:0;;;;23018:1;23009:7;23006:14;23003:2;;;23070:14;23063:4;23051:10;23047:21;23040:45;23003:2;23139:10;23128:31;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;23128:31:0;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;261:11;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;23128:31:0;;420:4:-1;411:14;;;;23128:31:0;;;;;411:14:-1;23128:31:0;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;23128:31:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23121:38;;;;22733:434;;;:::o;20301:83::-;20357:19;:17;:19::i;:::-;;20301:83::o;13372:638::-;13522:3;;;;;;;13508:10;:17;13500:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13599:11;13595:120;;;13652:50;;;22:32:-1;6:49;;13652:50:0;;;;;;49:4:-1;25:18;;61:17;;13652:50:0;182:15:-1;13652:50:0;179:29:-1;160:49;;13627:76:0;;:24;:76::i;:::-;;13595:120;13755:14;;;;13780:32;;;;;;;;;;13850:81;;;;;;;;;;;;;;;;;13755:14;;;;;13825:107;;13906:24;;13850:81;;;;;;;;;;;;;;;;13727:25;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;13850:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13850:81:0;;;22:32:-1;26:21;;;22:32;6:49;;13850:81:0;;;49:4:-1;25:18;;61:17;;13850:81:0;182:15:-1;13850:81:0;179:29:-1;160:49;;13850:81:0;-1:-1:-1;13825:24:0;;-1:-1:-1;;13825:107:0:i;:::-;-1:-1:-1;13987:14:0;;13950:52;;;13987:14;13950:52;;;;;13987:14;;;13950:52;;;;;;;;;;;;;;;;13372:638;;;;:::o;20871:118::-;20962:19;:17;:19::i;:::-;;20871:118;:::o;10777:29::-;;;;;;:::o;5806:49::-;5849:6;5806:49;:::o;5598:27::-;;;;;;:::o;6795:49::-;;;;;;;;;;;;;;;:::o;20394:197::-;20502:7;20558:25;:23;:25::i;7331:39::-;;;;;;;;;;;;;:::o;5109:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6237:25;;;;:::o;6052:32::-;;;;:::o;20599:264::-;20836:19;:17;:19::i;:::-;;20599:264;;;;;;:::o;7133:117::-;7179:71;;;;;;;;;;;;;;;;;;7133:117;:::o;5924:37::-;5955:6;5924:37;:::o;6656:70::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;21525:343::-;21598:12;21624;21638:23;21665:6;:19;;21685:4;21665:25;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;139:12;;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;21665:25:0;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;21623:67:0;;;;21740:1;21731:7;21728:14;21725:2;;;21792:14;21785:4;21773:10;21769:21;21762:45;21725:2;21850:10;21525:343;-1:-1:-1;;;;21525:343:0:o;23175:506::-;23232:12;23258;23284:4;23276:24;;23360:8;;23301:68;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;;74:27;23301:68:0;;;137:4:-1;117:14;;;133:9;113:30;;;157:16;;;26:21;;;22:32;;;6:49;;23301:68:0;;;49:4:-1;25:18;;61:17;;23301:68:0;182:15:-1;23301:68:0;179:29:-1;160:49;;23276:94:0;;;;23301:68;;-1:-1:-1;23276:94:0;-1:-1:-1;23276:94:0;;-1:-1:-1;25:18;;-1:-1;23276:94:0;;-1:-1:-1;23276:94:0;25:18:-1;36:153;66:2;61:3;58:11;36:153;;176:10;;164:23;;139:12;;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;23276:94:0;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;23257:113:0;;;23433:4;23427:11;23484:14;23481:1;23467:12;23452:47;23522:7;23543:47;;;;23646:14;23639:4;23625:12;23621:23;23614:47

Swarm Source

bzzr://40e26befc78c9d49fde34a9c2c373726e92e8b86bb75a9d5ef8c7cca7030c5ff
Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.