Contract Overview
Balance:
0 AVAX
AVAX Value:
$0.00
My Name Tag:
Not Available, login to update
Txn Hash | Method |
Block
|
From
|
To
|
Value | [Txn Fee] | |||
---|---|---|---|---|---|---|---|---|---|
0x58856933b33aa405a9bac3673317d12222e5d99554406ba700f27e7b4306c04c | 0x60806040 | 25363999 | 6 days 6 hrs ago | Dypius: Deployer | IN | Create: DistributeRewards | 0 AVAX | 0.028097712 |
[ Download CSV Export ]
Contract Name:
DistributeRewards
Compiler Version
v0.6.11+commit.5ef660b1
Contract Source Code (Solidity)
/** *Submitted for verification at snowtrace.io on 2023-01-24 */ // SPDX-License-Identifier: BSD-3-Clause pragma solidity 0.6.11; /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a * b; assert(a == 0 || c / a == b); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } /** * @dev Collection of functions related to the address type */ library Address { /** * @dev Returns true if `account` is a contract. * * [IMPORTANT] * ==== * It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. * * Among others, `isContract` will return false for the following * types of addresses: * * - an externally-owned account * - a contract in construction * - an address where a contract will be created * - an address where a contract lived, but was destroyed * ==== */ function isContract(address account) internal view returns (bool) { // This method relies on extcodesize, which returns 0 for contracts in // construction, since the code is only stored at the end of the // constructor execution. uint256 size; // solhint-disable-next-line no-inline-assembly assembly { size := extcodesize(account) } return size > 0; } /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost * of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. * * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more]. * * IMPORTANT: because control is transferred to `recipient`, care must be * taken to not create reentrancy vulnerabilities. Consider using * {ReentrancyGuard} or the * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. */ function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } /** * @dev Performs a Solidity function call using a low level `call`. A * plain`call` is an unsafe replacement for a function call: use this * function instead. * * If `target` reverts with a revert reason, it is bubbled up by this * function (like regular Solidity function calls). * * Returns the raw returned data. To convert to the expected return value, * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`]. * * Requirements: * * - `target` must be a contract. * - calling `target` with `data` must not revert. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with * `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but also transferring `value` wei to `target`. * * Requirements: * * - the calling contract must have an ETH balance of at least `value`. * - the called Solidity function must be `payable`. * * _Available since v3.1._ */ function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } /** * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but * with `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); require(isContract(target), "Address: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.call{ value: value }(data); return _verifyCallResult(success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall(target, data, "Address: low-level static call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) { require(isContract(target), "Address: static call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.staticcall(data); return _verifyCallResult(success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a delegate call. * * _Available since v3.3._ */ function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { return functionDelegateCall(target, data, "Address: low-level delegate call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a delegate call. * * _Available since v3.3._ */ function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { require(isContract(target), "Address: delegate call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.delegatecall(data); return _verifyCallResult(success, returndata, errorMessage); } function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) { if (success) { return returndata; } else { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly // solhint-disable-next-line no-inline-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address public owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ constructor() public { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) onlyOwner public { require(newOwner != address(0)); emit OwnershipTransferred(owner, newOwner); owner = newOwner; } } interface Token { function transferFrom(address, address, uint) external returns (bool); function transfer(address, uint) external returns (bool); } interface LegacyToken { function transfer(address, uint) external; } // Version 1.0 with hardcoded values contract DistributeRewards is Ownable { using Address for address; using SafeMath for uint; event RewardsTransferred(address holder, uint amount); event RewardRateChanged(address holder, uint amount); // ============================= CONTRACT VARIABLES ============================== // Trusted token contract address address public constant TRUSTED_DYP_ADDRESS = 0x961C8c0B1aaD0c0b10a51FeF6a867E3091BCef17; address public constant TRUSTED_IDYP_ADDRESS = 0xBD100d061E120b2c67A24453CF6368E63f1Be056; // Distribution Addresses address public constant STAKING_7_ADDRESS = 0xb1875eeBbcF4456188968f439896053809698a8B; address public constant STAKING_30_ADDRESS = 0xaF411BF994dA1435A3150B874395B86376C5f2d5; address public constant STAKING_15_ADDRESS = 0xd13bdC0c9a9931cF959739631B1290b6BEE0c018; // Rate for each Address uint public RATE_STAKING_7 = 35e18; uint public RATE_STAKING_30 = 1050e18; uint public RATE_STAKING_15 = 5200e18; // Distribution Time of each rewards uint public DISTRIBUTION_TIME = 7 days; bool public isEmergency = false; // ========================= END CONTRACT VARIABLES ============================== mapping (address => uint) public sendTime; constructor() public { sendTime[STAKING_7_ADDRESS] = now; sendTime[STAKING_30_ADDRESS] = now; sendTime[STAKING_15_ADDRESS] = now; } modifier notDuringEmergency() { require(!isEmergency, "Cannot execute during emergency!"); _; } function distributeRewardStaking7() external notDuringEmergency { require(now.sub(sendTime[STAKING_7_ADDRESS]) > DISTRIBUTION_TIME, "Tokens already distributed for this week"); require(Token(TRUSTED_DYP_ADDRESS).transfer(STAKING_7_ADDRESS, RATE_STAKING_7), "Transfer failed!"); sendTime[STAKING_7_ADDRESS] = now; emit RewardsTransferred(STAKING_7_ADDRESS, RATE_STAKING_7); } function distributeRewardStaking30() external notDuringEmergency { require(now.sub(sendTime[STAKING_30_ADDRESS]) > DISTRIBUTION_TIME, "Tokens already distributed for this week"); require(Token(TRUSTED_IDYP_ADDRESS).transfer(STAKING_30_ADDRESS, RATE_STAKING_30), "Transfer failed!"); sendTime[STAKING_30_ADDRESS] = now; emit RewardsTransferred(STAKING_30_ADDRESS, RATE_STAKING_30); } function distributeRewardStaking15() external notDuringEmergency { require(now.sub(sendTime[STAKING_15_ADDRESS]) > DISTRIBUTION_TIME, "Tokens already distributed for this week"); require(Token(TRUSTED_IDYP_ADDRESS).transfer(STAKING_15_ADDRESS, RATE_STAKING_15), "Transfer failed!"); sendTime[STAKING_15_ADDRESS] = now; emit RewardsTransferred(STAKING_15_ADDRESS, RATE_STAKING_15); } function setRateStaking7(uint newRewardRate) public onlyOwner { RATE_STAKING_7 = newRewardRate; emit RewardRateChanged(STAKING_7_ADDRESS, RATE_STAKING_7); } function setRateStaking30(uint newRewardRate) public onlyOwner { RATE_STAKING_30 = newRewardRate; emit RewardRateChanged(STAKING_30_ADDRESS, RATE_STAKING_30); } function setRateStaking15(uint newRewardRate) public onlyOwner { RATE_STAKING_15 = newRewardRate; emit RewardRateChanged(STAKING_15_ADDRESS, RATE_STAKING_15); } function transferAnyERC20Token(address tokenAddress, address recipient, uint amount) external onlyOwner { require (Token(tokenAddress).transfer(recipient, amount), "Transfer failed!"); } function transferAnyLegacyERC20Token(address tokenAddress, address recipient, uint amount) external onlyOwner { LegacyToken(tokenAddress).transfer(recipient, amount); } /* * Pause Distrbution if active, make active if paused */ function flipEmergency() public onlyOwner { isEmergency = !isEmergency; } }
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"holder","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RewardRateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"holder","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RewardsTransferred","type":"event"},{"inputs":[],"name":"DISTRIBUTION_TIME","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RATE_STAKING_15","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RATE_STAKING_30","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RATE_STAKING_7","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKING_15_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKING_30_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKING_7_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TRUSTED_DYP_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TRUSTED_IDYP_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"distributeRewardStaking15","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"distributeRewardStaking30","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"distributeRewardStaking7","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"flipEmergency","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isEmergency","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"sendTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newRewardRate","type":"uint256"}],"name":"setRateStaking15","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newRewardRate","type":"uint256"}],"name":"setRateStaking30","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newRewardRate","type":"uint256"}],"name":"setRateStaking7","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferAnyERC20Token","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferAnyLegacyERC20Token","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526801e5b8fa8fe2ac00006001556838ebad5cdc90280000600255690119e47f21381f40000060035562093a806004556005805460ff1916905534801561004957600080fd5b50600080546001600160a01b031916331781556006602052427f49eedc4a9d4c45aa8e33f805f7985da60f929248819d2b2506eb59f90dd341f88190557f43848515c6176d5dd2d7af54c89e7bc9e3ecb3a7e0f336eb4cbea43b0bd2a4ad81905573d13bdc0c9a9931cf959739631b1290b6bee0c0189091527f8d8d9694674c2bd968828b357d5d608d6e76f3dcc248666a63d144a4b02026d755610e8e806100f36000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80639750484a116100b8578063d1554c881161007c578063d1554c8814610268578063d1e10c3214610270578063d493b9ac14610278578063deb3e78e146102ae578063f25b8364146102b6578063f2fde38b146102ec57610142565b80639750484a14610216578063ae85b6241461021e578063b72287a914610226578063b898d93014610243578063bb5d42bc1461024b57610142565b806345104d2f1161010a57806345104d2f146101d25780635f9e8f82146101da5780636c689d1a146101f657806377e6610e146101fe57806384d7cda5146102065780638da5cb5b1461020e57610142565b806301b647391461014757806304b9f8f91461016b578063301b62b41461018a5780633f52886e1461019257806340c7e801146101ca575b600080fd5b61014f610312565b604080516001600160a01b039092168252519081900360200190f35b6101886004803603602081101561018157600080fd5b503561032a565b005b61014f610398565b6101b8600480360360208110156101a857600080fd5b50356001600160a01b03166103b0565b60408051918252519081900360200190f35b6101b86103c2565b6101b86103c8565b6101e26103ce565b604080519115158252519081900360200190f35b61014f6103d7565b61014f6103ef565b610188610407565b61014f61064f565b6101b861065e565b6101b8610664565b6101886004803603602081101561023c57600080fd5b503561066a565b6101886106d8565b6101886004803603602081101561026157600080fd5b5035610703565b610188610771565b6101886109b9565b6101886004803603606081101561028e57600080fd5b506001600160a01b03813581169160208101359091169060400135610c01565b61014f610ced565b610188600480360360608110156102cc57600080fd5b506001600160a01b03813581169160208101359091169060400135610d05565b6101886004803603602081101561030257600080fd5b50356001600160a01b0316610d99565b73bd100d061e120b2c67a24453cf6368e63f1be05681565b6000546001600160a01b0316331461034157600080fd5b60028190556040805173af411bf994da1435a3150b874395b86376c5f2d581526020810183905281517ffd9690fc0bc4ca4b54275ba5e5d301a83a5dcce4c4645fe839e37486af87bc6c929181900390910190a150565b73b1875eebbcf4456188968f439896053809698a8b81565b60066020526000908152604090205481565b60045481565b60035481565b60055460ff1681565b73af411bf994da1435a3150b874395b86376c5f2d581565b73961c8c0b1aad0c0b10a51fef6a867e3091bcef1781565b60055460ff161561045f576040805162461bcd60e51b815260206004820181905260248201527f43616e6e6f74206578656375746520647572696e6720656d657267656e637921604482015290519081900360640190fd5b60045473d13bdc0c9a9931cf959739631b1290b6bee0c01860005260066020527f8d8d9694674c2bd968828b357d5d608d6e76f3dcc248666a63d144a4b02026d7546104b290429063ffffffff610e1e16565b116104ee5760405162461bcd60e51b8152600401808060200182810382526028815260200180610e316028913960400191505060405180910390fd5b6003546040805163a9059cbb60e01b815273d13bdc0c9a9931cf959739631b1290b6bee0c018600482015260248101929092525173bd100d061e120b2c67a24453cf6368e63f1be0569163a9059cbb9160448083019260209291908290030181600087803b15801561055f57600080fd5b505af1158015610573573d6000803e3d6000fd5b505050506040513d602081101561058957600080fd5b50516105cf576040805162461bcd60e51b815260206004820152601060248201526f5472616e73666572206661696c65642160801b604482015290519081900360640190fd5b73d13bdc0c9a9931cf959739631b1290b6bee0c018600081905260066020908152427f8d8d9694674c2bd968828b357d5d608d6e76f3dcc248666a63d144a4b02026d755600354604080519384529183015280517f586b2e63a21a7a4e1402e36f48ce10cb1ec94684fea254c186b76d1f98ecf1309281900390910190a1565b6000546001600160a01b031681565b60025481565b60015481565b6000546001600160a01b0316331461068157600080fd5b60018190556040805173b1875eebbcf4456188968f439896053809698a8b81526020810183905281517ffd9690fc0bc4ca4b54275ba5e5d301a83a5dcce4c4645fe839e37486af87bc6c929181900390910190a150565b6000546001600160a01b031633146106ef57600080fd5b6005805460ff19811660ff90911615179055565b6000546001600160a01b0316331461071a57600080fd5b60038190556040805173d13bdc0c9a9931cf959739631b1290b6bee0c01881526020810183905281517ffd9690fc0bc4ca4b54275ba5e5d301a83a5dcce4c4645fe839e37486af87bc6c929181900390910190a150565b60055460ff16156107c9576040805162461bcd60e51b815260206004820181905260248201527f43616e6e6f74206578656375746520647572696e6720656d657267656e637921604482015290519081900360640190fd5b60045473b1875eebbcf4456188968f439896053809698a8b60005260066020527f49eedc4a9d4c45aa8e33f805f7985da60f929248819d2b2506eb59f90dd341f85461081c90429063ffffffff610e1e16565b116108585760405162461bcd60e51b8152600401808060200182810382526028815260200180610e316028913960400191505060405180910390fd5b6001546040805163a9059cbb60e01b815273b1875eebbcf4456188968f439896053809698a8b600482015260248101929092525173961c8c0b1aad0c0b10a51fef6a867e3091bcef179163a9059cbb9160448083019260209291908290030181600087803b1580156108c957600080fd5b505af11580156108dd573d6000803e3d6000fd5b505050506040513d60208110156108f357600080fd5b5051610939576040805162461bcd60e51b815260206004820152601060248201526f5472616e73666572206661696c65642160801b604482015290519081900360640190fd5b73b1875eebbcf4456188968f439896053809698a8b600081905260066020908152427f49eedc4a9d4c45aa8e33f805f7985da60f929248819d2b2506eb59f90dd341f855600154604080519384529183015280517f586b2e63a21a7a4e1402e36f48ce10cb1ec94684fea254c186b76d1f98ecf1309281900390910190a1565b60055460ff1615610a11576040805162461bcd60e51b815260206004820181905260248201527f43616e6e6f74206578656375746520647572696e6720656d657267656e637921604482015290519081900360640190fd5b60045473af411bf994da1435a3150b874395b86376c5f2d560005260066020527f43848515c6176d5dd2d7af54c89e7bc9e3ecb3a7e0f336eb4cbea43b0bd2a4ad54610a6490429063ffffffff610e1e16565b11610aa05760405162461bcd60e51b8152600401808060200182810382526028815260200180610e316028913960400191505060405180910390fd5b6002546040805163a9059cbb60e01b815273af411bf994da1435a3150b874395b86376c5f2d5600482015260248101929092525173bd100d061e120b2c67a24453cf6368e63f1be0569163a9059cbb9160448083019260209291908290030181600087803b158015610b1157600080fd5b505af1158015610b25573d6000803e3d6000fd5b505050506040513d6020811015610b3b57600080fd5b5051610b81576040805162461bcd60e51b815260206004820152601060248201526f5472616e73666572206661696c65642160801b604482015290519081900360640190fd5b73af411bf994da1435a3150b874395b86376c5f2d5600081905260066020908152427f43848515c6176d5dd2d7af54c89e7bc9e3ecb3a7e0f336eb4cbea43b0bd2a4ad55600254604080519384529183015280517f586b2e63a21a7a4e1402e36f48ce10cb1ec94684fea254c186b76d1f98ecf1309281900390910190a1565b6000546001600160a01b03163314610c1857600080fd5b826001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610c7857600080fd5b505af1158015610c8c573d6000803e3d6000fd5b505050506040513d6020811015610ca257600080fd5b5051610ce8576040805162461bcd60e51b815260206004820152601060248201526f5472616e73666572206661696c65642160801b604482015290519081900360640190fd5b505050565b73d13bdc0c9a9931cf959739631b1290b6bee0c01881565b6000546001600160a01b03163314610d1c57600080fd5b826001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015610d7c57600080fd5b505af1158015610d90573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b03163314610db057600080fd5b6001600160a01b038116610dc357600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600082821115610e2a57fe5b5090039056fe546f6b656e7320616c726561647920646973747269627574656420666f722074686973207765656ba2646970667358221220da6069697d524ef356da06759dc1e0d8ac30490f4b46d91f3e118676796a161664736f6c634300060b0033
Deployed ByteCode Sourcemap
10113:4049:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10579:89;;;:::i;:::-;;;;-1:-1:-1;;;;;10579:89:0;;;;;;;;;;;;;;13210:183;;;;;;;;;;;;;;;;-1:-1:-1;13210:183:0;;:::i;:::-;;10712:86;;;:::i;11375:41::-;;;;;;;;;;;;;;;;-1:-1:-1;11375:41:0;-1:-1:-1;;;;;11375:41:0;;:::i;:::-;;;;;;;;;;;;;;;;11198:38;;;:::i;11110:37::-;;;:::i;11245:31::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;10805:87;;;:::i;10484:88::-;;;:::i;12588:427::-;;;:::i;9030:20::-;;;:::i;11066:37::-;;;:::i;11025:34::-;;;:::i;13023:179::-;;;;;;;;;;;;;;;;-1:-1:-1;13023:179:0;;:::i;14072:87::-;;;:::i;13401:183::-;;;;;;;;;;;;;;;;-1:-1:-1;13401:183:0;;:::i;11726:419::-;;;:::i;12153:427::-;;;:::i;13596:200::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;13596:200:0;;;;;;;;;;;;;;;;;:::i;10899:87::-;;;:::i;13808:182::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;13808:182:0;;;;;;;;;;;;;;;;;:::i;9649:178::-;;;;;;;;;;;;;;;;-1:-1:-1;9649:178:0;-1:-1:-1;;;;;9649:178:0;;:::i;10579:89::-;10626:42;10579:89;:::o;13210:183::-;9460:5;;-1:-1:-1;;;;;9460:5:0;9446:10;:19;9438:28;;;;;;13284:15:::1;:31:::0;;;13331:54:::1;::::0;;10850:42:::1;13331:54:::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;;;;;;;;::::1;13210:183:::0;:::o;10712:86::-;10756:42;10712:86;:::o;11375:41::-;;;;;;;;;;;;;:::o;11198:38::-;;;;:::o;11110:37::-;;;;:::o;11245:31::-;;;;;;:::o;10805:87::-;10850:42;10805:87;:::o;10484:88::-;10530:42;10484:88;:::o;12588:427::-;11650:11;;;;11649:12;11641:57;;;;;-1:-1:-1;;;11641:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12714:17:::1;::::0;10944:42:::1;12682:28;::::0;:8:::1;:28;::::0;;;12674:37:::1;::::0;:3:::1;::::0;:37:::1;:7;:37;:::i;:::-;:57;12666:110;;;;-1:-1:-1::0;;;12666:110:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12852:15;::::0;12795:73:::1;::::0;;-1:-1:-1;;;12795:73:0;;10944:42:::1;12795:73;::::0;::::1;::::0;;;;;;;;;10626:42:::1;::::0;12795:36:::1;::::0;:73;;;;;::::1;::::0;;;;;;;;-1:-1:-1;10626:42:0;12795:73;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;12795:73:0;12787:102:::1;;;::::0;;-1:-1:-1;;;12787:102:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;12787:102:0;;;;;;;;;;;;;::::1;;10944:42;12902:28;::::0;;;:8:::1;:28;::::0;;;12933:3:::1;12902:28:::0;:34;12991:15:::1;::::0;12902:28;12952:55;;;;;;;::::1;::::0;;;::::1;::::0;;;;;;;;::::1;12588:427::o:0;9030:20::-;;;-1:-1:-1;;;;;9030:20:0;;:::o;11066:37::-;;;;:::o;11025:34::-;;;;:::o;13023:179::-;9460:5;;-1:-1:-1;;;;;9460:5:0;9446:10;:19;9438:28;;;;;;13096:14:::1;:30:::0;;;13142:52:::1;::::0;;10756:42:::1;13142:52:::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;;;;;;;;::::1;13023:179:::0;:::o;14072:87::-;9460:5;;-1:-1:-1;;;;;9460:5:0;9446:10;:19;9438:28;;;;;;14140:11:::1;::::0;;-1:-1:-1;;14125:26:0;::::1;14140:11;::::0;;::::1;14139:12;14125:26;::::0;;14072:87::o;13401:183::-;9460:5;;-1:-1:-1;;;;;9460:5:0;9446:10;:19;9438:28;;;;;;13475:15:::1;:31:::0;;;13522:54:::1;::::0;;10944:42:::1;13522:54:::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;;;;;;;;::::1;13401:183:::0;:::o;11726:419::-;11650:11;;;;11649:12;11641:57;;;;;-1:-1:-1;;;11641:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11850:17:::1;::::0;10756:42:::1;11819:27;::::0;:8:::1;:27;::::0;;;11811:36:::1;::::0;:3:::1;::::0;:36:::1;:7;:36;:::i;:::-;:56;11803:109;;;;-1:-1:-1::0;;;11803:109:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11986:14;::::0;11931:70:::1;::::0;;-1:-1:-1;;;11931:70:0;;10756:42:::1;11931:70;::::0;::::1;::::0;;;;;;;;;10530:42:::1;::::0;11931:35:::1;::::0;:70;;;;;::::1;::::0;;;;;;;;-1:-1:-1;10530:42:0;11931:70;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;11931:70:0;11923:99:::1;;;::::0;;-1:-1:-1;;;11923:99:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;11923:99:0;;;;;;;;;;;;;::::1;;10756:42;12035:27;::::0;;;:8:::1;:27;::::0;;;12065:3:::1;12035:27:::0;:33;12122:14:::1;::::0;12035:27;12084:53;;;;;;;::::1;::::0;;;::::1;::::0;;;;;;;;::::1;11726:419::o:0;12153:427::-;11650:11;;;;11649:12;11641:57;;;;;-1:-1:-1;;;11641:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12279:17:::1;::::0;10850:42:::1;12247:28;::::0;:8:::1;:28;::::0;;;12239:37:::1;::::0;:3:::1;::::0;:37:::1;:7;:37;:::i;:::-;:57;12231:110;;;;-1:-1:-1::0;;;12231:110:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12417:15;::::0;12360:73:::1;::::0;;-1:-1:-1;;;12360:73:0;;10850:42:::1;12360:73;::::0;::::1;::::0;;;;;;;;;10626:42:::1;::::0;12360:36:::1;::::0;:73;;;;;::::1;::::0;;;;;;;;-1:-1:-1;10626:42:0;12360:73;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;12360:73:0;12352:102:::1;;;::::0;;-1:-1:-1;;;12352:102:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;12352:102:0;;;;;;;;;;;;;::::1;;10850:42;12467:28;::::0;;;:8:::1;:28;::::0;;;12498:3:::1;12467:28:::0;:34;12556:15:::1;::::0;12467:28;12517:55;;;;;;;::::1;::::0;;;::::1;::::0;;;;;;;;::::1;12153:427::o:0;13596:200::-;9460:5;;-1:-1:-1;;;;;9460:5:0;9446:10;:19;9438:28;;;;;;13726:12:::1;-1:-1:-1::0;;;;;13720:28:0::1;;13749:9;13760:6;13720:47;;;;;;;;;;;;;-1:-1:-1::0;;;;;13720:47:0::1;-1:-1:-1::0;;;;;13720:47:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;13720:47:0;13711:77:::1;;;::::0;;-1:-1:-1;;;13711:77:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;13711:77:0;;;;;;;;;;;;;::::1;;13596:200:::0;;;:::o;10899:87::-;10944:42;10899:87;:::o;13808:182::-;9460:5;;-1:-1:-1;;;;;9460:5:0;9446:10;:19;9438:28;;;;;;13941:12:::1;-1:-1:-1::0;;;;;13929:34:0::1;;13964:9;13975:6;13929:53;;;;;;;;;;;;;-1:-1:-1::0;;;;;13929:53:0::1;-1:-1:-1::0;;;;;13929:53:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;13808:182:::0;;;:::o;9649:178::-;9460:5;;-1:-1:-1;;;;;9460:5:0;9446:10;:19;9438:28;;;;;;-1:-1:-1;;;;;9726:22:0;::::1;9718:31;;;::::0;::::1;;9782:5;::::0;;9761:37:::1;::::0;-1:-1:-1;;;;;9761:37:0;;::::1;::::0;9782:5;::::1;::::0;9761:37:::1;::::0;::::1;9805:5;:16:::0;;-1:-1:-1;;;;;;9805:16:0::1;-1:-1:-1::0;;;;;9805:16:0;;;::::1;::::0;;;::::1;::::0;;9649:178::o;614:113::-;672:7;700:1;695;:6;;688:14;;;;-1:-1:-1;716:5:0;;;614:113::o
Swarm Source
ipfs://da6069697d524ef356da06759dc1e0d8ac30490f4b46d91f3e118676796a1616
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.