More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 138 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Claim | 13099147 | 1205 days ago | IN | 0 ETH | 0.00704754 | ||||
Claim | 13074582 | 1209 days ago | IN | 0 ETH | 0.00447102 | ||||
Claim | 12380069 | 1317 days ago | IN | 0 ETH | 0.00314784 | ||||
Claim | 12320948 | 1326 days ago | IN | 0 ETH | 0.00288552 | ||||
Claim | 12174415 | 1349 days ago | IN | 0 ETH | 0.00628712 | ||||
Claim | 12173831 | 1349 days ago | IN | 0 ETH | 0.0060564 | ||||
Claim | 12172838 | 1349 days ago | IN | 0 ETH | 0.00507584 | ||||
Claim | 11963665 | 1381 days ago | IN | 0 ETH | 0.0046144 | ||||
Claim | 11941977 | 1385 days ago | IN | 0 ETH | 0.00438368 | ||||
Claim | 11744090 | 1415 days ago | IN | 0 ETH | 0.00305704 | ||||
Claim | 11692692 | 1423 days ago | IN | 0 ETH | 0.0066332 | ||||
Claim | 11652888 | 1429 days ago | IN | 0 ETH | 0.00328776 | ||||
Claim | 11644528 | 1430 days ago | IN | 0 ETH | 0.00328776 | ||||
Claim | 11642673 | 1431 days ago | IN | 0 ETH | 0.0025956 | ||||
Claim | 11641752 | 1431 days ago | IN | 0 ETH | 0.0046144 | ||||
Claim | 11606742 | 1436 days ago | IN | 0 ETH | 0.00611408 | ||||
Claim | 11597910 | 1438 days ago | IN | 0 ETH | 0.00530656 | ||||
Claim | 11590974 | 1439 days ago | IN | 0 ETH | 0.005768 | ||||
Claim | 11577132 | 1441 days ago | IN | 0 ETH | 0.00622944 | ||||
Claim | 11574126 | 1441 days ago | IN | 0 ETH | 0.0034608 | ||||
Claim | 11564204 | 1443 days ago | IN | 0 ETH | 0.00299936 | ||||
Claim | 11542401 | 1446 days ago | IN | 0 ETH | 0.01090152 | ||||
Claim | 11530593 | 1448 days ago | IN | 0 ETH | 0.00657552 | ||||
Claim | 11527965 | 1448 days ago | IN | 0 ETH | 0.00242256 | ||||
Claim | 11524827 | 1449 days ago | IN | 0 ETH | 0.00178808 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Name:
ValueIOUClaim
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-12-11 */ // SPDX-License-Identifier: MIT pragma solidity 0.6.12; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ 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; } } /** * @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); } 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 SafeERC20 * @dev Wrappers around ERC20 operations that throw on failure (when the token * contract returns false). Tokens that return no value (and instead revert or * throw on failure) are also supported, non-reverting calls are assumed to be * successful. * To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract, * which allows you to call the safe operations as `token.safeTransfer(...)`, etc. */ library SafeERC20 { using SafeMath for uint256; using Address for address; function safeTransfer( IERC20 token, address to, uint256 value ) internal { _callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value)); } function safeTransferFrom( IERC20 token, address from, address to, uint256 value ) internal { _callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value)); } /** * @dev Deprecated. This function has issues similar to the ones found in * {IERC20-approve}, and its usage is discouraged. * * Whenever possible, use {safeIncreaseAllowance} and * {safeDecreaseAllowance} instead. */ function safeApprove( IERC20 token, address spender, uint256 value ) internal { // safeApprove should only be called when setting an initial allowance, // or when resetting it to zero. To increase and decrease it, use // 'safeIncreaseAllowance' and 'safeDecreaseAllowance' // solhint-disable-next-line max-line-length require((value == 0) || (token.allowance(address(this), spender) == 0), "SafeERC20: approve from non-zero to non-zero allowance"); _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value)); } function safeIncreaseAllowance( IERC20 token, address spender, uint256 value ) internal { uint256 newAllowance = token.allowance(address(this), spender).add(value); _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance)); } function safeDecreaseAllowance( IERC20 token, address spender, uint256 value ) internal { uint256 newAllowance = token.allowance(address(this), spender).sub(value, "SafeERC20: decreased allowance below zero"); _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance)); } /** * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement * on the return value: the return value is optional (but if data is returned, it must not be false). * @param token The token targeted by the call. * @param data The call data (encoded using abi.encode or one of its variants). */ function _callOptionalReturn(IERC20 token, bytes memory data) private { // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since // we're implementing it ourselves. We use {Address.functionCall} to perform this call, which verifies that // the target address contains contract code and also asserts for success in the low-level call. bytes memory returndata = address(token).functionCall(data, "SafeERC20: low-level call failed"); if (returndata.length > 0) { // Return data is optional // solhint-disable-next-line max-line-length require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed"); } } } interface ValueIOUTokenInterface { /** * @notice Event emitted when tokens are rebased */ event Rebase(uint256 epoch, uint256 prevValueIOUsScalingFactor, uint256 newValueIOUsScalingFactor); /*** Gov Events ***/ /** * @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 migrator contract */ event NewMigrator(address oldMigrator, address newMigrator); /* - ERC20 Events - */ /** * @notice EIP20 Transfer event */ event Transfer(address indexed from, address indexed to, uint256 amount); /** * @notice EIP20 Approval event */ event Approval(address indexed owner, address indexed spender, uint256 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); function valueIOUToFragment(uint256 valueIOU) external view returns (uint256); function fragmentToValueIOU(uint256 value) external view returns (uint256); function valueIOUsScalingFactor() external view returns (uint256); function getScalingFactorBase() 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 setGovernance(address _governance) external; } contract ValueIOUClaim { using SafeMath for uint256; using SafeERC20 for IERC20; ValueIOUTokenInterface public valueIOU; address public governance; // 2M DAI uint256 public constant INITIAL_AMOUNT = 611077230995 * 10**13; uint256 constant PRECISION = 10**18; uint256 public totalClaimed = 0; mapping(address => uint256) poolPercent; mapping(address => uint256) returnedAmount; event Claimed(address indexed user, uint256 amount); constructor(address _valueIOU) public { valueIOU = ValueIOUTokenInterface(_valueIOU); poolPercent[0x812BE2983CA8057668e324D4dc69Ef9cE19F2E73] = uint256(103851909873102987); poolPercent[0x5229406Cbb785E7754BDD6af66b94263f1c7dAb7] = uint256(96044602856523642); poolPercent[0x4086E3e1e99a563989a9390faCff553A4f29b6eE] = uint256(76675395859829907); poolPercent[0x047B3e73043BBF7421b78893110fC30b7db6b126] = uint256(68580696923039742); poolPercent[0x36cc7B13029B5DEe4034745FB4F24034f3F2ffc6] = uint256(60110755262441228); poolPercent[0xB1AdceddB2941033a090dD166a462fe1c2029484] = uint256(43895388752146932); poolPercent[0x978527Ab21Fbbe1A80b2a8a24DF9a41E63C7221B] = uint256(39695818143473979); poolPercent[0x332aeee03111a6EB5BA9F96f9249CDc2367fd99C] = uint256(37270811570735216); poolPercent[0x9C42EBDf0fA6fA0274aEEBf981613Dfa9c99BFF8] = uint256(30955074267691041); poolPercent[0x983130D9948224262F90090a471bDF5CFF140869] = uint256(26327212980757001); poolPercent[0xda17e4d1Ef6eA697A22Fd8484bd2F1E1f6f53CA7] = uint256(25049901138253119); poolPercent[0x6aBf3F8581f88002b87699608183675b7F2972f7] = uint256(22488911556305054); poolPercent[0x2A097805c9bCA80925b840B5C42E482ebC8C985E] = uint256(22423173506256594); poolPercent[0x0F109e11B76e83f8a984C9D80D379fC806fa2B65] = uint256(20410889569877748); poolPercent[0xC9addb098446BBD7fc3D90b84591Da26f3dbc5eC] = uint256(18583798973904956); poolPercent[0xa29f9169A6Bd23864e30Ea4846a3d9b2bfAc89b8] = uint256(18384749715223722); poolPercent[0x42f1F47F1d5C2c61A38fD96A46EF95f24C12Eb41] = uint256(18245421006553498); poolPercent[0x082B687C7b6F37973ea560c2D8cd01aFbaD09a1d] = uint256(17312430420651858); poolPercent[0xa8d25C5A6f832a9423038c86529391aA7B7F91a0] = uint256(13162778362188577); poolPercent[0xdd1dF77B43653cc56e0CbF5309Edd83aFb7b681F] = uint256(12370948072238901); poolPercent[0x3c8c80fB3C4d3337f904cf2ea195A158E8747361] = uint256(9896894766030845); poolPercent[0xdbeDB1B7d359b0776E139D385c78a5ac9B27C0f9] = uint256(8796728458696510); poolPercent[0x0000000000000D9054F605cA65A2647c2B521422] = uint256(8778401252780423); poolPercent[0x1f4E3BeeA02643e4b06Ff37CA8309caaBA745874] = uint256(8774786082666731); poolPercent[0xA0e04247d39eBc07f38ACca38Dc10E14fa8d6C98] = uint256(8349977752220193); poolPercent[0x5DD596C901987A2b28C38A9C1DfBf86fFFc15d77] = uint256(7951891508320949); poolPercent[0x01173Bd5895Acf19c67F6170f15d503D4153CF04] = uint256(7836020295951428); poolPercent[0x38e481367E0c50f4166AD2A1C9fde0E3c662CFBa] = uint256(7602746774224631); poolPercent[0xC2326dc6e79F6750541550AF0064F829ce8312c0] = uint256(7040867777287646); poolPercent[0x03DcA0e82c9Fd8876245ee54997dD4aF73849FD2] = uint256(6383853016123569); poolPercent[0x6c856d4E74aF777b48b0af920Ef4a6e697dB7a43] = uint256(6036223878633232); poolPercent[0xE1025E226B741cc121ad4E4d25017785f8c83c76] = uint256(5877807315360724); poolPercent[0x1f0a6d7Db80E0C5Af146FDb836e04FAC0B1E8202] = uint256(5739998421257469); poolPercent[0x4312CAe7E407243a81Bf7aC74f8d8187252aF51a] = uint256(5627703173608491); poolPercent[0x2eD65Eb5888Cd73d74b9C847Ffe4B801eE818720] = uint256(5494833858185275); poolPercent[0x012b82C47049f9E0E35Cd3Bba6B0033c71010c08] = uint256(5266959575511045); poolPercent[0x3dBa662d484F73c7ec387376E0e8373f483D04CC] = uint256(5203889252170668); poolPercent[0x9179c2f787788E590e6Fbf79090a6B94E0d11E5f] = uint256(5084118592727006); poolPercent[0x77777a55576E4b03844AC5133B8e9A99057492d6] = uint256(4478552872174259); poolPercent[0xa29e3738F6Bf205522A02a6BC580b828dD19383f] = uint256(4433727055294351); poolPercent[0xb1C57869f6eacD51D1A74c558ec4C578394dAF0B] = uint256(4394904577877377); poolPercent[0x3e8734Ec146C981E3eD1f6b582D447DDE701d90c] = uint256(4393480093325622); poolPercent[0x92F59dcFB0D00dfC23972499a33Fc2adfAa1ED76] = uint256(4343801012099734); poolPercent[0x93c0824cdEB2675317f05D4DB08c1F90fdb1D8ea] = uint256(4337238965261326); poolPercent[0x2Fc9B2B376dCdbd86da622eDAac352391704A111] = uint256(4336149567548241); poolPercent[0xe5A8654631B3729F73ca3503bA09a5d3e11b46da] = uint256(3950292986952034); poolPercent[0x5D81940e60DAdda8b85d0b6fB5dC9941A3Db2C64] = uint256(3927617086019548); poolPercent[0x85ace660391c4Fb72581bfeE3df840EDA189e552] = uint256(3361863581059707); poolPercent[0x34E8dB41c4EC274429D01597Bc86AEed4d6e9B5e] = uint256(3150797129615699); poolPercent[0x02b31379Ba6Eac0635a6141067a14C1526c506D3] = uint256(3120151474686539); poolPercent[0x93C027865354e96a1e9ec69fc8253e6d49013f82] = uint256(3089425736425334); poolPercent[0x898eFA55Ce5cCEC7EFad8C7b77204edEB8847961] = uint256(3075349913606904); poolPercent[0xCebaa26C11Bdf4F239424CcC17864B2C0f03e2BD] = uint256(2464142528976263); poolPercent[0x4118B48813c64977CB0D1b02eD268cFB3f6195e2] = uint256(2291941690056106); poolPercent[0xa89C876BE69223295A0925D7A62Cb6868dEc4ac8] = uint256(2204298288047923); poolPercent[0xF9D594DAcDf73982fbA8e2711C8728909F8D1205] = uint256(2194209282373755); poolPercent[0x7421c1eD16B400e4868CE696452C3C985F8CD04D] = uint256(2064426924253778); poolPercent[0xdA4e42749Cb44afA7222643CA0A3218d8Df5DDb6] = uint256(1769809642819860); poolPercent[0x5f0B23D415B82421780AaEea6362860e76e90a2F] = uint256(1757374850762334); poolPercent[0xF9e6028cffB7B8d055219B97829698943B149222] = uint256(1572688966486068); poolPercent[0x1dA14E9cDaE510aE75972f5221200FA781FDb4C8] = uint256(1530136792889973); poolPercent[0x87fC1313880d579039aC48dB8B25428ed5F33C4a] = uint256(1440001871442540); poolPercent[0xe7bb437c0DD10Dc51fB6126990E034B5752e8165] = uint256(1220085839640999); poolPercent[0x03853603beeD695de2011710f8f967a6042Ed92D] = uint256(1138251949517258); poolPercent[0x801EFaA08e37EfEaAd37bEc444A50583362e31A3] = uint256(1053540861157456); poolPercent[0xD9d3dd56936F90ea4c7677F554dfEFD45eF6Df0F] = uint256(1017827032518972); poolPercent[0x8B553E50B2C2fabA3148aac9C40eA9971Cd25F86] = uint256(998101399560152); poolPercent[0xB07ac339291FdbA30D2c75355AAe22eD6f3d1c7c] = uint256(966287698200556); poolPercent[0x8ac7AC7361d7917Ddd06a5d763c7f324b7F5E435] = uint256(943226945475508); poolPercent[0x98A529e3488c2d44566881FEAB335B17B1c3b430] = uint256(928761059243697); poolPercent[0x3818c6d5B6c62646aEa6977ed7Ea17C9DD306a26] = uint256(895494659343807); poolPercent[0x3D3C3EEAc517B72670DB36cb7380cd18B929430b] = uint256(878361274921183); poolPercent[0x37a952DC59533852E65bd83cDE0e29c3ee02EaD0] = uint256(877695478007704); poolPercent[0x9eBAFf2192d2746FeC76561bdF72fd249d7a73ab] = uint256(867939996365686); poolPercent[0xAB0f6b8C486FeC656B270Ff2B53aE09e454E12E1] = uint256(805035272320907); poolPercent[0xeaE98E98CeA0577Cf78e2Efce00B3Faa9444130C] = uint256(804148207755992); poolPercent[0x16d1663A00d4d1a216E0baa84B0AbC69ba35C156] = uint256(789305324597927); poolPercent[0x4d9FD403CAD5d8E3416D022fd584d5384B39e4f0] = uint256(766249795991572); poolPercent[0xeD558De2E1Fb9fce685096C8D2173C4DA09bFaE6] = uint256(708165574664640); poolPercent[0x5D1Ec9869c70b8b6A36CdD5879A2CD9639151C76] = uint256(702483713895816); poolPercent[0xc126C683c2eEd8564c7141B29c75FeaDadF13069] = uint256(625268982962806); poolPercent[0x8C4d5F3eaC04072245654E0BA480f1a5e1d91Dd5] = uint256(614215746124866); poolPercent[0x012937aBA6955Bd6F7b2894c7E7079441F27e51A] = uint256(573442494052014); poolPercent[0xC85Ca407b61129AB62A2cdEc176035e6FECF153E] = uint256(532031943644062); poolPercent[0xB599A3f7c47A9Fd64fd17190F9B8E4215B7e1FE4] = uint256(526625685760329); poolPercent[0x6a414B51CEAf33eF465eb853B0B070512AFDD717] = uint256(492885199226109); poolPercent[0xe92A014E59210BAfd9302C42dc0A96f0006E1Cd1] = uint256(492080662165940); poolPercent[0x24403C7f45Bd16F6DfFDe0c1c45792d9825fe9a6] = uint256(490605687617664); poolPercent[0x6f0A3Cff9514Bae0B86Ac300E72a1B9986074B35] = uint256(469745171575446); poolPercent[0x5F723856AC7E6f6292473730449E79F483909867] = uint256(441912625525200); poolPercent[0x5D7926412Dd9Ba3F00A74AD9F8C5A50Bb80fc297] = uint256(439098392117571); poolPercent[0xBB2d41AcfEA24A3A2aD4A6F95C3AcE1cC98c6ed6] = uint256(438944417494991); poolPercent[0x2DE7040994abF7b8064B91b4CAe73e9432d84f00] = uint256(438555836007025); poolPercent[0xeB8cd71159f6D05962011F46B00B806df227e89a] = uint256(361370100658379); poolPercent[0x899Bc43d25bD7b6AbA3999d02746b0284D88778E] = uint256(330442429333844); poolPercent[0x7a855E3E13585368576a5A583c50451339AcC561] = uint256(301879879076863); poolPercent[0x3D6dAb25Cb8168615B2BF75dE4E987204468856C] = uint256(295933355653487); poolPercent[0x2b2411BD9Dcfb0d3F375521917e623676987dFb1] = uint256(287200595329967); poolPercent[0x67Ff8944fB0999dD9d7fAc4Ca0Bd79c714162538] = uint256(281259723453667); poolPercent[0xA5c071916Bd1DC65e4DefA553aEe4C2822bf5b30] = uint256(277142231873719); poolPercent[0x66c93DBa5340A9CB612aA9B27046e5f298A91c16] = uint256(262265556267139); poolPercent[0xed4c4aab2232319481745849f3406397BeBAEaA2] = uint256(202038915277846); poolPercent[0xDB611d682cb1ad72fcBACd944a8a6e2606a6d158] = uint256(201313985582635); poolPercent[0xF327eA8952B7Cf816821436A63235B0211FCEf69] = uint256(179258945543530); poolPercent[0x4070E40FC3E382437aB7BaC2249205D276Bdd15A] = uint256(176716995397034); poolPercent[0x8A09990601E7FF5CdccBEc6E9dd0684620a21a29] = uint256(175537741342387); poolPercent[0x2E973bc711e1D50508938c8B66D5aC4398Dbf29C] = uint256(175279258219656); poolPercent[0x9d86A7F15C668ad1511B0FAb20BC8D7448108ba8] = uint256(148146879842271); poolPercent[0x09A01a4cc5b0EC8d606EA3B42bBec7145173BACe] = uint256(144150186144024); poolPercent[0x8D1e46e92dC5B24c09bDf46F9B7D20a8e47cea70] = uint256(129344804477404); poolPercent[0xF25DFA49AbCc51109cAaFE9dabdA8d109804bd35] = uint256(120027890977234); poolPercent[0xD9f44963C2498C1B4ce4d4E93D751Bd8E54CaD85] = uint256(119295984731460); poolPercent[0x40534E513dF8277870B81e97B5107B3f39DE4f15] = uint256(116162445599545); poolPercent[0x3Ecf02FdF558B311fd9c9D55857283CD211aE9c0] = uint256(115209886483954); poolPercent[0xD2c3d722E9fBa408CF33A0aBE0c3903419a5bbda] = uint256(109617218919279); poolPercent[0x416e92F37Fb344Ee99b7Af6340025434B59F13bb] = uint256(91024223780615); poolPercent[0x9137a536313EdA9d57c1B5d8e645aE123Ec522ce] = uint256(90173387080437); poolPercent[0x8c297f1Bc4437388Ca86569607801a76756534bB] = uint256(88496855821062); poolPercent[0xaa73A811A4898ca0E116376BE752B3960D554021] = uint256(88484112856732); poolPercent[0xedf4FA418216A13E7629fED73e7448985CC8Bc82] = uint256(88416411928321); poolPercent[0x2Db8b93B125A1cC9337AA4AD33F8C4096803e73B] = uint256(82497996207592); poolPercent[0xEd60839632D9BfE3586810Ef2579620293AA5A1d] = uint256(68694397365237); poolPercent[0x3C1Fbe83eF0F5B04bE5fc54edaC2Bec2c25DC07c] = uint256(66616968680615); poolPercent[0xFAff02F1D7F9315529B64F64611fB35FFaE41c1D] = uint256(61602883361426); poolPercent[0x52F1F2957b7Ee88eE66B5b67cB765D6762304F30] = uint256(61588389773196); poolPercent[0xDa0402Ae38ec0A808134CC990B6bD28C1f64aAa8] = uint256(57299717327749); poolPercent[0xf83719280BA7f4b1e390bb1524ad42b427c80F4E] = uint256(51641523027210); poolPercent[0x5e84E8508B731e020eF0E8Ea1B0e7dBA75638881] = uint256(50164022056155); poolPercent[0x111cD92405B1Dfbd19882D361418F49D99d8FED8] = uint256(43894794631396); poolPercent[0x6c4de74f5752960e991D7bf580fDE2cFc5E2CA59] = uint256(43878511257040); poolPercent[0x8369E7900fF2359BB36eF1c40A60E5F76373A6ED] = uint256(43872259330882); poolPercent[0x34E561CEE3F22FD97F3a247Decd6565f9027c52A] = uint256(35431113003049); poolPercent[0xceBda014e382119795825A00147C6CaC92B06421] = uint256(33350875641359); poolPercent[0x602dC1d22884E333FCA32eB03105773c3b97b22B] = uint256(24852482910858); poolPercent[0x3A70e8C00f3bCf3eb845B6b6928AbA92b465C183] = uint256(24574341013581); poolPercent[0x8C862bB9F12A87Fe69703C19F561d6306e01A94D] = uint256(20847790238819); poolPercent[0xEB3F3F5b1Ec4430451059cB6Bddc984f723C037A] = uint256(17945891936910); poolPercent[0x5f0Ee5c6ff90F3F50a42d41aF4c18EBDD3D7FF1F] = uint256(17589685295619); poolPercent[0xf7622487765A21a907Ec4DAbb318c92c520e1a1E] = uint256(11705068777596); poolPercent[0x74CCe25E03841eC7C9b946D89c943EaF1BA0C6cb] = uint256(10390812388967); poolPercent[0xd81008065eC031e540B251E9aFa5A3f246e1C6fb] = uint256(9178900728773); poolPercent[0xa710a581997F31a4467E58a39D203c8414096F41] = uint256(1756952973682); poolPercent[0x7Be4D5A99c903C437EC77A20CB6d0688cBB73c7f] = uint256(866010669257); poolPercent[0xfB71f273284e52e6191B061052C298f10c2A6817] = uint256(440229288870); returnedAmount[0x082B687C7b6F37973ea560c2D8cd01aFbaD09a1d] = uint256(45000000000000000000000); returnedAmount[0xa29f9169A6Bd23864e30Ea4846a3d9b2bfAc89b8] = uint256(50000000000000000000000); governance = msg.sender; } function calcClaimAmount(address user) public view returns (uint256) { if (poolPercent[user] > 0) return poolPercent[user].mul(INITIAL_AMOUNT).div(PRECISION).sub(returnedAmount[user]); return 0; } function claim() public returns (uint256) { uint256 amount = calcClaimAmount(msg.sender); require(amount > 0, "amount = 0"); poolPercent[msg.sender] = 0; valueIOU.transfer(msg.sender, amount); emit Claimed(msg.sender, amount); totalClaimed = totalClaimed.add(amount); return amount; } function setGovernance(address _governance) public { require(msg.sender == governance, "!governance"); governance = _governance; } /** * This function allows governance to take unsupported tokens out of the contract. This is in an effort to make someone whole, should they seriously mess up. * There is no guarantee governance will vote to return these. It also allows for removal of airdropped tokens. */ function governanceRecoverUnsupported( IERC20 _token, uint256 amount, address to ) external { require(msg.sender == governance, "!governance"); _token.safeTransfer(to, amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_valueIOU","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Claimed","type":"event"},{"inputs":[],"name":"INITIAL_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"calcClaimAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claim","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"governance","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"to","type":"address"}],"name":"governanceRecoverUnsupported","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_governance","type":"address"}],"name":"setGovernance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalClaimed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"valueIOU","outputs":[{"internalType":"contract ValueIOUTokenInterface","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
6080604052600060025534801561001557600080fd5b506040516124e53803806124e58339818101604052602081101561003857600080fd5b5051600080546001600160a01b039092166001600160a01b0319928316178155670170f4c3053b708b7f1a854c3ce6940cbb35e2665c74caaca95ebeba4582d4c3d6ab13d5c96b20d87955670155380eb3db477a7f190f921a38ea6b5b51dfd5a0fc9df4ad18ab86e2beb06912046017af6169e97c5567011067ddc53cd4937fb7a04fd21212feb0c0f89c120f76de3eb28de195b1c641479ae472684405b0b85566f3a5c7ce8be7fe7f152ab0570fc56845bf3faac59fa8cb78f8b19d6c40055cf7876eccf3a81a62d55566d58e69d699270c7fdc1a4ccbd61c9323f8ab9b1883a8e982563fce4d5d16e826d468e35bf9fd77e355669bf29f9dd971f47f807d60708f3ea893ea3d266301eb84594d86e354f401f669b5ba9ef74303b8eb55668d0722e382a13b7f5c034235d891b80ae697841c129ca5ac2850fb0bf18ecb92150d6e97a4abee50556684699b0c2a08707f68e21fc236c892c777565ba264d3209eb16cbbf8de5b571d4e210c018abfb40955666df979ddb8b8217ff5ab650dc8e2941c56678f14d7409f4387a58ded11f53e5d7c60a6544fe3656b55665d8875f1a4e2097f3c7c70b8169bf9a7abf79e51458037a5db4f29a794092ee745ee81bfc981c5c7556658fec09b01153f7fd4facbb48c76dde645475e15302767e70a1e8f734c39518b6da09068ae34fc0c55664fe58bc0b2e09e7fae2ba135b9e51d86ba32fec5cb713ad10a4ee2d061d418da48156a634307a0a255664fa9c1eb93ced27f5865f2b0b53fcdfe1bf3ecd41b52cbf6b922ad037d0787a08dc47f3bab95684b55664883988e5cbef47f75800b25a8d724e499ebf1533532b5b753f830ff24205e310be9934e1d81956a55664205dde06ab83c7f09134eebd1aa33aa08ad72ffeac104cbb39261d7ec2fa1c9b93c911161ab57db55664150d51c0f74aa7feedd2689309cbaa79bd05e122b437ed98491aaef58d00deebfd51908b712df14556640d21d1ddf819a7feeeb2188ce985adf72e64a846d86849ac2e0010d9eb721f26fbc2093d4f0ce7955663d8190516bef527f05818fd99b80f27148edf985309a6bdc7a562a33b6b84fc6e852f7c4bc0c0a8155662ec37a288913217f8d66ae8627dd9e3bd03705afe9105d6cc6b9a1fcaa73efbc58d9e54744dfc54855662bf34fcd616f357ff779eae7070121ddee263d60afd8baddbb09953a3a5d5ec04e7eb278600a87eb556623292c60e89ffd7f1534f6a1347c0f753a6818c68d9c9cfd68de8f3740752479b5bc4f64383d0e0955661f4093f2f7573e7fded2d9e693b263f6af2eb17b6948aab8a5c44d5e28c9b5ab0c1a3d7ee9f1cff355661f2fe8d05e29877f2c301d772c1a77c976f61435836896189ecf9f854366641c8c7c0e6ddaf8cb2d55661f2c9f176ff8eb7fffc0f6cdf047e306afbb72949aa2e7e169695dca43981863eeb25d199e3eaefd55661daa42b1cdb2217ff6ce2dbf354745169d78157dcbf3c6bc4a8079f70a32ee1ff4359b77e06cb2fe55661c403404a55ab57f5347d21c7105767bbda30d20f684121a612a6d3b8b754dd5f01de8d0c7a4f98755661bd6d1a63164447f6d9268112164cfd384dafad9e507c2b430a4a825d98e84858218e4227a675c8555661b02a86ccb7ef77fb0a8b12a298e3ee2519d97b9130c0284b1860b85dead8ab8d59069acb0b0a41755661903a1c6c695de7f16664694506fa982cc15ca589a0b5fa9aa9a8beb3bbdbcf65cce54fc3e4175fe556616ae149b5308b17f63ab1432535959bc52ecbe8f7d6800b0f924a5f06bdefc4e721d196c8cea3a4e55661571e9e41217107fecf5c932312644b343e92944f0db683a037e3f31c4ccee976b31e9bc467f948f556614e1d5a9171bd47feacefafe5946e233c5a130bb52b3143573717ae086cd452599d5bc47555ad5e3556614647f86e90cfd7f43c85a6ebb677c973b5f453cd986fe4e0cdc7ac741b1b174375492d3b59892aa556613fe5dc090742b7f99333130cc4ce5e618773040bd08492417a7d63b3a1b27ef5c52b9d7f7a6b98f5566138585b437883b7ff0137d79d46809eb10fa2d9df0549a664231e8d838d6a157e9e2858368f521c7556612b645968b70057fca0ccfd3dbbe922503bb245463b7e6ea27baff73c05e06d8f00a0b2c7c835e205566127ce8e2537bac7fed37d617648d9dcb414f49648fa36f7afe01c1dd612f44fe42ba96f0d70f5f905566120ffa9ab727de7f4e9c1d384fb20687370b73baaf27bd8cd5381abb7893fd9ea5909a950e50c68455660fe938590dc2b37fbc5dbb1f9762e276f93a7066753f51a128b08d055eae9d4b0748f506c3a356b055660fc07386296f8f7f2a44e6d1148beff6d4283e640af0bd14bb50ed31f25d74887342620d7a72d92255660f9d24762fa5817f6af352ebd7864bee2f223cc751270bb9395edf90879c4c427cc88ad9b0d2a3bf55660f9bd8cc4a59367f306c25bfbe7a17dcd25259a2e0b319941e4a4636485e6068708bfe58a47f20a355660f6ea9fc4d1a967fdf1a7a9b42031f1d6ac2663a1ba18d6411d9952f09474bc15e031d71143e68bd55660f68b223d4940e7fff5ce9ea7ad6656b84b7936d441d08f0e419dd8f1f668e9f890bb4b5455d7bed55660f67b47eaaab517f9989de05074a0e7dd6daa2ec1e046f9ac2ee87fc736541e60ef91bc869a6467255660e08c5423ef9627ffa044b816409fb7d2533acf9f389a7e7f15306eab641bd3bec88b6c96c45bfc155660df4259d39d7dc7f42b3dbc0b6288e1ed2a711df088fd2c5a2f68f6c8be52063fa2412a8694d7b0b55660bf198dc884a7b7f3f68c30a9ec403d178de8f8bb59f4eb3c5e7ad7b66dd6b6e468a2a800bbfad2c55660b31a21fab89537f5c37e604da5d3779cc198b7be3ae23bf2b68e8c028d248773fc6a3d4a9dbd40355660b15c2e04b4a4b7f1ad77cb730da0722af678b78a03e8f283cf45751e96164a39121415707ce7a9455660af9d0fb945f767fcd59dd45e0de3c4a0c19b89d5dda609eaa7de342b72682df9fb4c61b54b3957055660aed03b3291af87f0db2052f62563f28f6fc0c45a62d5fba236d76e24ab5b105b92f1a9bb36ffb95556608c11fe41d95877faff5626b3b509c540124694e8bbcce1d6697f56b59de47ff3ecacf52260d33a6556608248242481daa7fe822f8335e21d55a26b4af6cda79541a17e4fe7a330c9a83373edb6a6eb43f40556607d4cc307027337fa98181504a03bdbf016b26f1c353cd3e6031c80ebd649104b6f099dfd1b68fe5556607cb9f28d6b87b7f210cea0b55c293e9feba9b69c418e3cf0c104e8f64bb8e4ff36c81d22eb17e1d5566075595d97c22527f0971d97f40bdd3218c780f9714cfdb58327572d0c5188bcda938603bb2940e3955660649a1eb1491147f7b56541a0562d37c27daabaedc102bc55c4950081e82aebf9a42c74e078268da5566063e52b7b7865e7f96061c7717f4691713f926b6cf5a78e5905857d445692111b8ebdffde6e75507556605965a2f3088347ff5e53f3f6b335643318dab5d87dff5da223949aa303e8ddd167ef57736e567eb5566056fa6bbff7a757f44cdda8a561f3f967f00eea9aec32f0994e7f3118b69a63b206c0e415c584d785566051dac9005f26c7faf86c62da7dcd30e97d8e34eb5e748305b57760f9c3f91ce73094db38aab3ab355660455a95f1139a77fab2678dc7da666215756f5a646a086aa9b5ce6ed513b3995da7beb9076b837755566040b3bef1da9ca7f04ac926eba50769d64cf560701c8182d647519617cf2cbcc8754be233452cd95556603be3098c920507fcedb33310ad969a32a8a2b665df280aaaa0d46cbafd76633e6cc2931581953cb5566039db552b7513c7f750233624961e281b1931c712f2ca0ea85a63d267009f02ece34be83cc57ce675566038bc4975edfd87f37e9545c18072a2684b5a8774940363ec77dfa3ebe60ed2b899a2eb62c31ea1f5566036ed5630087ec7f79b0d242c1a843508eba34a91eba53a9ad6e847fda8626e621bd0e16b57dfd4555660359dc230713b47fa59416c50d417d7f8ad2fbedc208268555b44a8856ce516810d5a7ffb7bbf9d35566034cb4090476b17ffeb16ff1fc20ed8b1e2108eafa5e63c4397c9a47e309254766865dcc9d0fb9335566032e72991185bf7fcf8dcde5dd9d989c244f4ec79e44560e7c742bd2dc369a1c84e42235d9b396235566031edd6bc6b0df7fbdb60c38caae5f8a2f56007526c7edfd4e84398fc93be0f8ebaf6ae4d52c960e5566031e42673007987fd3d2ee982b36826d5c2fb9b45236a340358ddf287be38a1841fba47c766c43a85566031563072b73767f5c51af7c19a0ccb61ed5e0b3db2e1d1e4cc25878a0539d67547e41a37dc64ee7556602dc2ce170378b7f4fa9220fdf1bc490205cc5bbaf49eaee3f283a6e929d5f94f021be0c8b0f1074556602db5e584522d87fef0fcf8aa02e06b2adb7ad044a922084c8692312db9a14bcdddfa7a25fd22b95556602cdde777df2a77f124425782b393d8bef5a01fcb64d468b80b03bc96a8e22043f1b478521c92c7e556602b8e66ee638147f3b2c1d001ce0deedc477ce6c2728d5b1ad61d363ea60a71be870da407e96eb0d5566028412a58521c07f1c7e143d1ada0854e5ac4bfbc03b40b62c9175b4d1bded3019342527b391cb6f5566027ee7bc3a2d887fbc3d01bb22683729e294b4bccf627ffdb19d5e3ed007afb259881bdb1d2de61e55660238adc79e5a767f990f5941750cdb3ceda3d5e75eb4b0b25f52feeb39d7d9ca4a81b07ed83c4f915566022ea03f5cfc427f8a21c49ade8e4fff9a6b8fb5c5c3ad833026053088b4c73ec8a17640ce1c61dd556602098afc2836ae7f654664107f6e1bb0632b15fecb8c8386feb7fc041c70b8435be2667389860234556601e3e15702939e7fcb09a6fea8b17a5697ff341fca2ed04d1ceac75d668ff622a3f3b95766c210e5556601def698ede9497fe8039ca70dc651cae078f9d2f1ae2b6cb5624c44667241bcd78a98240a6c7fd3556601c046c73704fd7f01e1ab4eef1743635535247dff2e268e20ca1f0cf8073bb50259441423bc9631556601bf8b7511b9b47f5a820016e93f6dc89d4801fc5d661f74ba0c2a2677a9261c12c8619e25bc5aca556601be3409bc38807f2fbcef4fad53d177f1259d11179b0fa9dfdd47f3e267cd74dd2ae14d3f75060d556601ab3b121632967f19ae625044a11970ea698886005da8c74a22172144ed4f35055af613a1637eb655660191eacd10f1d07f20d120b8ad666fb256ee305ff9a33180bebf483088407411ebe7744266196a015566018f5b8faf01437f9bae9d7709b55c21038b33c6ca38e357373ef85a10eec11dfa05c879569a08f75566018f37b614b7cf7fc6a0d7772547313f870ce49fa71bc9e33060196504ba695b6bfecc11866b3c315566018edd3cd1c2717f01d05ad2eb63fb7e1a9edad627330a646b0f62ed871a2ce5258c3de7a88657e255660148aa087b70cb7f9c3426e810b92a61cfe8aa9ca6d7893462b782c7ab6fa2b7805f2f6a630b17895566012c891f9e81547f14a9641b9f3b3ba6a5d915097dca9b80d537c5479728e08edde384317f870b40556601128ee2f50bff7f69735da9e85b942323619c5c414ad994763b50ce8324bcf5d7e6fe8093ad73895566010d265a8a796f7f12d311e6baab67ec02d654e4bac5c9e1bd0a85b78b9b4633ab477334765b6b6b55660105351976c3af7f5f6586b512457379f942eaa65d50804343874f38964718eabf9fc449b937af735565ffcde1e7f4e37f2eac87066f57ca3fc9c047fcc7433cdd6a0755bb56715386f6122a92b509a3bf5565fc0f344878b77f4a497c8ccbce46bcaca1f942af45caf9f425e5d3cf305fa815b08723f46ab3cc5565ee87755170837fdab2c913c01bf7f82bf8fc02ba202cf8fef3a89fd989407aa7c09412e91396e65565b7c0d9c6a4167f19bc59a98273b1a14ff6187a72b643bf0fbe4b02cd538fb44f6faf6b0be8a0a45565b7181099562b7fabf7c76f6f9aee7c6f839ac91ca7368ad86962a19a84d45958c513b4826e03cc5565a308f9c59d6a7f4b40c606929d0d248e4bdd03b076d698ec560121faecd76cadbbf07145d6fc5f5565a0b921bc85aa7f81ae74e5c8baba305f8f6502fe4c6cbe8b678ee941744e2a7b6aaa5a4df7f25655659fa690b7a6b37f192cabf415b98e1f033f3f3e5280e6b12b2fae80c3df518041ee79b10b4e146055659f6a61ec34887f43be9a39a66c657e3160069c745ce43c2457b49d3ea3a4b2facfff40bfb3d879556586bd2225c7df7f5f83f2cc8126f38fc37aaed5b64508e6f69eae1437cf61c49d0954224e44fe4b5565831a94a3b1187f9ecf531aa6122e986909b93b61e688188031fcd59c552b0400c4df7129464dc5556575a36f1fd9dc7fe23fa0d5c0bebd844a3e04a1e77c461dc62e8772c30f0180625d08c25bf1ee9655656d2a2bce09d27f22e9fe502ad323915779982fbaf3d91382644aec603504bee232ef514349466655656c7fc2cb05447fc0b3e2e9bb808c2ebec9281402b2edf58a52ff025dff388f376003efbaa8d8ef556569a62d4e63397fb4341e6285d44eb97931cf25d0b12bfa5fce5ff63f216c43992f9ed97626d9df556568c8645bc5f27f184fafc569a41cda2b81000fc0f41a0cdb6d753f2a247fad603d77f14bd5ad71556563b23f651b6f7f4c8f70276a6e18cbf1748d1546c40833a249dce871c37545a1766cf07910f9af556552c93a863f077f648e946538837b7ab659e96464cd62d2c31997a495bf8897178cc3e925790f4f5565520320b482f57f3f7b4d6396fc1f2b3d49d87e0402e1990f6d5dac35114ed96c0d43e8ebbb31ad5565507cc7a7ab067f520985f85568a0c68a6f895ea33ade8f4e9b571054f860fb32a25082d8d858ea55655079d01d769c7f5ec202401d75395d48ca2766fc64ce802d16b1c5d9f72d25a2a81a34d64428ec5565506a0cd347017fbd66ac1b08f542729eed6c0a6f46f711c1f3b8bd103c0dc2e42fef39410e8ca055654b080fc235e87fcbbe541e2375c2167dadca36b8bc062d9a2df4fee6df6c98824c9541cdfaa47155653e7a29272bf57fff63476eed5083b29bf8516fa11a32605e990f4b85555a2ab64368cdc246c5a055653c9678c114a77ff76508a576843476de55ffc15b95f086f4aaad0e9bc5b819418b2bc364c165685565380709fada927fa75ea6d57e3069a03caf3ba022b5efb03b7b913181d6f4b58a9c069131152d3455653803aa183f8c7fe0d557ab9a741459b2913afe2857d2793946d602a5786ff85124885a0b3363d75565341d214c0b857ff0f9931b247af66d9e146359bd85041944b256adc795d6f8283e4e2db45915ce55652ef7baa2bd0a7f47d1a661ccc76b4f5e9636b3df9805d7b28f4b7743a5b0be222dec7cadc6b02e55652d9fb8b714db7f429c3f7db738d698b72ac95e1da2e59cb28ca17adae685cbce3123c22d16d469556527ec0da438e47f4168eff5ead20cecbb00b2536d1b40e997019b60eec97be3b0976bb48e262513556527e84313a5d07f848bd2530765632b45240770cb6e855a5f5994675fdab3416ababfeda00e1c2b556527e6ce6ed3427f58022c96605420c5be28c89f310f61e575cdf793726eb4d407008632f8cc51ff5565203972e790297ff1cb827c754da4e3173c96c096c6aa395b82ee082961c3b2b68f818deb53658e55651e551b18760f7f8ad62fb1854de9324af43dfed4c58057282466252155aab734a74863351379275565169a6b6a6a8a7f33b303ae8723b8e2c57f8c918789e70a6ba7e235f2a1cdc208908a3c70b5970755651659a8dde04d7ff26bf3810a26c0788d8a3fb0fac98dd0dd8479f211be24ef29ce46436d5adc99556512f60121ac637fc987dd175fdfa6db06d291775d752486c54048f18b103913bc13f170065ea311556510525a839a8e7f51fc908dd551becf06b3319fbeed9487d6bbae3ddd515810fdffb877f142fc8055650fff6af19a037fb6d7aa3e577795803978ad963aacdfe8109859002a0d901e90b712733de65cc855650aa54c77707c7f15a049b2bd7ee09fc5b6647deb55d281895d3bb45752b9e618b3a8e8a9fc2f97556509734cae6e677f2c83a835327821b55735363c670bb205cb4e52dd0835b9496883406268f1a5cd55650859211e0bc57fd02566dcdc59d5c53dc08a1f19ac89df1cc9cea64441d30805625915714d061a55650199128ed1727fa66851e499905da137e981179727f613c1f387c696e73ffa9c97135404ff21b75564c9a24220c97f63eb3c3e16ff15ec9b640129b65787bd611b8750dc2a2c761fcf417351b9e4575564667fb5dba67f9edb31294d3894fecd290d7e6db9ab5a88934fa9ce3d75ddeeea0dafecb4deaf55600460205269098774738bc8222000007fad2902a8eb8ea889eec9960cafe3f8abf84d9a79d77e45908a5db3aa63b9c4ff5573a29f9169a6bd23864e30ea4846a3d9b2bfac89b89052690a968163f0a57b4000007f25c13872b8b70a3ad4a979ad2bd1802d9084127b6a6b0f1074f634cada3c8747556001805490911633179055610c8a8061185b6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80637a5d9c291161005b5780637a5d9c2914610125578063a2befa641461012d578063ab033ea914610160578063d54ad2a11461019357610088565b806313982e371461008d5780634e71d92d146100a757806354575af4146100af5780635aa6e675146100f4575b600080fd5b61009561019b565b60408051918252519081900360200190f35b6100956101aa565b6100f2600480360360608110156100c557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359160409091013516610328565b005b6100fc6103d4565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100fc6103f0565b6100956004803603602081101561014357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661040c565b6100f26004803603602081101561017657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166104ad565b61009561057a565b6a050e01a175983e3871e00081565b6000806101b63361040c565b90506000811161022757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f616d6f756e74203d203000000000000000000000000000000000000000000000604482015290519081900360640190fd5b336000818152600360209081526040808320839055825481517fa9059cbb000000000000000000000000000000000000000000000000000000008152600481019590955260248501869052905173ffffffffffffffffffffffffffffffffffffffff9091169363a9059cbb9360448083019493928390030190829087803b1580156102b157600080fd5b505af11580156102c5573d6000803e3d6000fd5b505050506040513d60208110156102db57600080fd5b505060408051828152905133917fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a919081900360200190a26002546103209082610580565b600255905090565b60015473ffffffffffffffffffffffffffffffffffffffff1633146103ae57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21676f7665726e616e6365000000000000000000000000000000000000000000604482015290519081900360640190fd5b6103cf73ffffffffffffffffffffffffffffffffffffffff841682846105fd565b505050565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260036020526040812054156104a45773ffffffffffffffffffffffffffffffffffffffff821660009081526004602090815260408083205460039092529091205461049d919061049790670de0b6b3a764000090610491906a050e01a175983e3871e00061068a565b906106fd565b9061073f565b90506104a8565b5060005b919050565b60015473ffffffffffffffffffffffffffffffffffffffff16331461053357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21676f7665726e616e6365000000000000000000000000000000000000000000604482015290519081900360640190fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60025481565b6000828201838110156105f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526103cf908490610781565b600082610699575060006105f7565b828202828482816106a657fe5b04146105f4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180610c0a6021913960400191505060405180910390fd5b60006105f483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610859565b60006105f483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610917565b60606107e3826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff1661098b9092919063ffffffff16565b8051909150156103cf5780806020019051602081101561080257600080fd5b50516103cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610c2b602a913960400191505060405180910390fd5b600081836108ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156108c45781810151838201526020016108ac565b50505050905090810190601f1680156108f15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161090b57fe5b049150505b9392505050565b60008184841115610983576040517f08c379a00000000000000000000000000000000000000000000000000000000081526020600482018181528351602484015283519092839260449091019190850190808383600083156108c45781810151838201526020016108ac565b505050900390565b606061099a84846000856109a2565b949350505050565b6060824710156109fd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610be46026913960400191505060405180910390fd5b610a0685610b5d565b610a7157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b60208310610adb57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610a9e565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610b3d576040519150601f19603f3d011682016040523d82523d6000602084013e610b42565b606091505b5091509150610b52828286610b63565b979650505050505050565b3b151590565b60608315610b72575081610910565b825115610b825782518084602001fd5b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526020600482018181528451602484015284518593919283926044019190850190808383600083156108c45781810151838201526020016108ac56fe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220f54de889266d055e7ef17323afb35eaf7a06005136e3502e1e9f82bba346a25b64736f6c634300060c003300000000000000000000000005d70721c4f75473a07907c0d0c6eebed5f2fef7
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100885760003560e01c80637a5d9c291161005b5780637a5d9c2914610125578063a2befa641461012d578063ab033ea914610160578063d54ad2a11461019357610088565b806313982e371461008d5780634e71d92d146100a757806354575af4146100af5780635aa6e675146100f4575b600080fd5b61009561019b565b60408051918252519081900360200190f35b6100956101aa565b6100f2600480360360608110156100c557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359160409091013516610328565b005b6100fc6103d4565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100fc6103f0565b6100956004803603602081101561014357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661040c565b6100f26004803603602081101561017657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166104ad565b61009561057a565b6a050e01a175983e3871e00081565b6000806101b63361040c565b90506000811161022757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f616d6f756e74203d203000000000000000000000000000000000000000000000604482015290519081900360640190fd5b336000818152600360209081526040808320839055825481517fa9059cbb000000000000000000000000000000000000000000000000000000008152600481019590955260248501869052905173ffffffffffffffffffffffffffffffffffffffff9091169363a9059cbb9360448083019493928390030190829087803b1580156102b157600080fd5b505af11580156102c5573d6000803e3d6000fd5b505050506040513d60208110156102db57600080fd5b505060408051828152905133917fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a919081900360200190a26002546103209082610580565b600255905090565b60015473ffffffffffffffffffffffffffffffffffffffff1633146103ae57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21676f7665726e616e6365000000000000000000000000000000000000000000604482015290519081900360640190fd5b6103cf73ffffffffffffffffffffffffffffffffffffffff841682846105fd565b505050565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260036020526040812054156104a45773ffffffffffffffffffffffffffffffffffffffff821660009081526004602090815260408083205460039092529091205461049d919061049790670de0b6b3a764000090610491906a050e01a175983e3871e00061068a565b906106fd565b9061073f565b90506104a8565b5060005b919050565b60015473ffffffffffffffffffffffffffffffffffffffff16331461053357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21676f7665726e616e6365000000000000000000000000000000000000000000604482015290519081900360640190fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60025481565b6000828201838110156105f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526103cf908490610781565b600082610699575060006105f7565b828202828482816106a657fe5b04146105f4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180610c0a6021913960400191505060405180910390fd5b60006105f483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610859565b60006105f483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610917565b60606107e3826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff1661098b9092919063ffffffff16565b8051909150156103cf5780806020019051602081101561080257600080fd5b50516103cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610c2b602a913960400191505060405180910390fd5b600081836108ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156108c45781810151838201526020016108ac565b50505050905090810190601f1680156108f15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161090b57fe5b049150505b9392505050565b60008184841115610983576040517f08c379a00000000000000000000000000000000000000000000000000000000081526020600482018181528351602484015283519092839260449091019190850190808383600083156108c45781810151838201526020016108ac565b505050900390565b606061099a84846000856109a2565b949350505050565b6060824710156109fd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610be46026913960400191505060405180910390fd5b610a0685610b5d565b610a7157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b60208310610adb57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610a9e565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610b3d576040519150601f19603f3d011682016040523d82523d6000602084013e610b42565b606091505b5091509150610b52828286610b63565b979650505050505050565b3b151590565b60608315610b72575081610910565b825115610b825782518084602001fd5b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526020600482018181528451602484015284518593919283926044019190850190808383600083156108c45781810151838201526020016108ac56fe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220f54de889266d055e7ef17323afb35eaf7a06005136e3502e1e9f82bba346a25b64736f6c634300060c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000005d70721c4f75473a07907c0d0c6eebed5f2fef7
-----Decoded View---------------
Arg [0] : _valueIOU (address): 0x05d70721C4f75473A07907C0d0c6eebeD5F2fEF7
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000005d70721c4f75473a07907c0d0c6eebed5f2fef7
Deployed Bytecode Sourcemap
21718:15585:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21910:62;;;:::i;:::-;;;;;;;;;;;;;;;;36246:354;;;:::i;37067:233::-;;;;;;;;;;;;;;;;-1:-1:-1;37067:233:0;;;;;;;;;;;;;;;;;;:::i;:::-;;21861:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;21816:38;;;:::i;36019:219::-;;;;;;;;;;;;;;;;-1:-1:-1;36019:219:0;;;;:::i;36608:153::-;;;;;;;;;;;;;;;;-1:-1:-1;36608:153:0;;;;:::i;22021:31::-;;;:::i;21910:62::-;21951:21;21910:62;:::o;36246:354::-;36279:7;36299:14;36316:27;36332:10;36316:15;:27::i;:::-;36299:44;;36371:1;36362:6;:10;36354:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36410:10;36424:1;36398:23;;;:11;:23;;;;;;;;:27;;;36436:8;;:37;;;;;;;;;;;;;;;;;;;;36398:23;36436:8;;;;:17;;:37;;;;;36398:23;36436:37;;;;;;;;:8;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;36491:27:0;;;;;;;;36499:10;;36491:27;;;;;;36436:37;36491:27;;;36544:12;;:24;;36561:6;36544:16;:24::i;:::-;36529:12;:39;36586:6;-1:-1:-1;36246:354:0;:::o;37067:233::-;37224:10;;;;37210;:24;37202:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;37261:31;:19;;;37281:2;37285:6;37261:19;:31::i;:::-;37067:233;;;:::o;21861:25::-;;;;;;:::o;21816:38::-;;;;;;:::o;36019:219::-;36103:17;;;36079:7;36103:17;;;:11;:17;;;;;;:21;36099:112;;36190:20;;;;;;;:14;:20;;;;;;;;;36133:11;:17;;;;;;;:78;;36190:20;36133:52;;22008:6;;36133:37;;21951:21;36133;:37::i;:::-;:41;;:52::i;:::-;:56;;:78::i;:::-;36126:85;;;;36099:112;-1:-1:-1;36229:1:0;36019:219;;;;:::o;36608:153::-;36692:10;;;;36678;:24;36670:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36729:10;:24;;;;;;;;;;;;;;;36608:153::o;22021:31::-;;;;:::o;3649:181::-;3707:7;3739:5;;;3763:6;;;;3755:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3821:1;-1:-1:-1;3649:181:0;;;;;:::o;15906:211::-;16050:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16073:23;16050:58;;;16023:86;;16043:5;;16023:19;:86::i;5037:471::-;5095:7;5340:6;5336:47;;-1:-1:-1;5370:1:0;5363:8;;5336:47;5407:5;;;5411:1;5407;:5;:1;5431:5;;;;;:10;5423:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5984:132;6042:7;6069:39;6073:1;6076;6069:39;;;;;;;;;;;;;;;;;:3;:39::i;4113:136::-;4171:7;4198:43;4202:1;4205;4198:43;;;;;;;;;;;;;;;;;:3;:43::i;18367:774::-;18791:23;18817:69;18845:4;18817:69;;;;;;;;;;;;;;;;;18825:5;18817:27;;;;:69;;;;;:::i;:::-;18901:17;;18791:95;;-1:-1:-1;18901:21:0;18897:237;;19056:10;19045:30;;;;;;;;;;;;;;;-1:-1:-1;19045:30:0;19037:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6612:312;6732:7;6767:12;6760:5;6752:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6791:9;6807:1;6803;:5;;;;;;;-1:-1:-1;;6612:312:0;;;;;;:::o;4552:226::-;4672:7;4708:12;4700:6;;;;4692:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4744:5:0;;;4552:226::o;11832:229::-;11969:12;12001:52;12023:6;12031:4;12037:1;12040:12;12001:21;:52::i;:::-;11994:59;11832:229;-1:-1:-1;;;;11832:229:0:o;12952:571::-;13122:12;13180:5;13155:21;:30;;13147:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13247:18;13258:6;13247:10;:18::i;:::-;13239:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13373:12;13387:23;13414:6;:11;;13433:5;13440:4;13414:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13372:73;;;;13463:52;13481:7;13490:10;13502:12;13463:17;:52::i;:::-;13456:59;12952:571;-1:-1:-1;;;;;;;12952:571:0:o;8892:444::-;9272:20;9320:8;;;8892:444::o;14563:777::-;14713:12;14742:7;14738:595;;;-1:-1:-1;14773:10:0;14766:17;;14738:595;14887:17;;:21;14883:439;;15150:10;15144:17;15211:15;15198:10;15194:2;15190:19;15183:44;15098:148;15286:20;;;;;;;;;;;;;;;;;;;;15293:12;;15286:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Swarm Source
ipfs://f54de889266d055e7ef17323afb35eaf7a06005136e3502e1e9f82bba346a25b
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.