My Name Tag:
Not Available, login to update
Txn Hash | Method |
Block
|
From
|
To
|
Value | [Txn Fee] | ||
---|---|---|---|---|---|---|---|---|
0x07946bfc19df7cbd565d7e3c550f194da5ce2fd47a9c770398438e97451f34c6 | Release | 30862936 | 358 days 6 hrs ago | fBOMB Finance: Deployer | IN | fBOMB Finance: Shrapnel LP lock Contract | 0 FTM | 0.010327922176 |
0x1b0dda696d91fbf1cd23d83cee37be60d1370112ac4d1e071a33402fae5f3381 | 0x60c06040 | 13951304 | 549 days 5 hrs ago | fBOMB Finance: Deployer | IN | Create: TokenTimelock | 0 FTM | 0.03541491 |
[ Download CSV Export ]
Latest 1 internal transaction
Parent Txn Hash | Block | From | To | Value | |||
---|---|---|---|---|---|---|---|
0x1b0dda696d91fbf1cd23d83cee37be60d1370112ac4d1e071a33402fae5f3381 | 13951304 | 549 days 5 hrs ago | fBOMB Finance: Deployer | Contract Creation | 0 FTM |
[ Download CSV Export ]
Contract Name:
TokenTimelock
Compiler Version
v0.8.6+commit.11564f7e
Contract Source Code (Solidity)
/** *Submitted for verification at FtmScan.com on 2021-08-06 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /** * @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 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.4._ */ 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.4._ */ 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 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 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) + value; _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance)); } function safeDecreaseAllowance(IERC20 token, address spender, uint256 value) internal { unchecked { uint256 oldAllowance = token.allowance(address(this), spender); require(oldAllowance >= value, "SafeERC20: decreased allowance below zero"); uint256 newAllowance = oldAllowance - value; _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"); } } } /** * @dev A token holder contract that will allow a beneficiary to extract the * tokens after a given release time. * * Useful for simple vesting schedules like "advisors get all of their tokens * after 1 year". */ contract TokenTimelock { using SafeERC20 for IERC20; // ERC20 basic token contract being held IERC20 immutable private _token; // beneficiary of tokens after they are released address immutable private _beneficiary; // timestamp when token release is enabled uint256 private _releaseTime = 1643760000; // Wednesday, 2 February 2022 00:00:00 GMT constructor (IERC20 token_, address beneficiary_) { _token = token_; _beneficiary = beneficiary_; } /** * @return the token being held. */ function token() public view virtual returns (IERC20) { return _token; } /** * @return the beneficiary of the tokens. */ function beneficiary() public view virtual returns (address) { return _beneficiary; } /** * @return the time when the tokens are released. */ function releaseTime() public view virtual returns (uint256) { return _releaseTime; } /** * @notice Transfers tokens held by timelock to beneficiary. */ function release() public virtual { require(block.timestamp >= releaseTime(), "TokenTimelock: current time is before release time"); uint256 amount = token().balanceOf(address(this)); require(amount > 0, "TokenTimelock: no tokens to release"); token().safeTransfer(beneficiary(), amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"contract IERC20","name":"token_","type":"address"},{"internalType":"address","name":"beneficiary_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"beneficiary","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"release","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"releaseTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60c06040526361f9c9806000553480156200001957600080fd5b5060405162000d0138038062000d0183398181016040528101906200003f9190620000e3565b8173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b815250508073ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1660601b815250505050620001ab565b600081519050620000c68162000177565b92915050565b600081519050620000dd8162000191565b92915050565b60008060408385031215620000fd57620000fc62000172565b5b60006200010d85828601620000cc565b92505060206200012085828601620000b5565b9150509250929050565b6000620001378262000152565b9050919050565b60006200014b826200012a565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b62000182816200012a565b81146200018e57600080fd5b50565b6200019c816200013e565b8114620001a857600080fd5b50565b60805160601c60a05160601c610b2b620001d6600039600060b9015260006102470152610b2b6000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806338af3eed1461005157806386d1a69f1461006f578063b91d400114610079578063fc0c546a14610097575b600080fd5b6100596100b5565b604051610066919061073f565b60405180910390f35b6100776100dd565b005b61008161023a565b60405161008e9190610860565b60405180910390f35b61009f610243565b6040516100ac9190610783565b60405180910390f35b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b6100e561023a565b421015610127576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161011e906107c0565b60405180910390fd5b6000610131610243565b73ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610169919061073f565b60206040518083038186803b15801561018157600080fd5b505afa158015610195573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101b991906105b5565b9050600081116101fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101f590610840565b60405180910390fd5b6102376102096100b5565b82610212610243565b73ffffffffffffffffffffffffffffffffffffffff1661026b9092919063ffffffff16565b50565b60008054905090565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b6102ec8363a9059cbb60e01b848460405160240161028a92919061075a565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506102f1565b505050565b6000610353826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166103b89092919063ffffffff16565b90506000815111156103b357808060200190518101906103739190610588565b6103b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103a990610820565b60405180910390fd5b5b505050565b60606103c784846000856103d0565b90509392505050565b606082471015610415576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161040c906107e0565b60405180910390fd5b61041e856104e4565b61045d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045490610800565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516104869190610728565b60006040518083038185875af1925050503d80600081146104c3576040519150601f19603f3d011682016040523d82523d6000602084013e6104c8565b606091505b50915091506104d88282866104f7565b92505050949350505050565b600080823b905060008111915050919050565b6060831561050757829050610557565b60008351111561051a5782518084602001fd5b816040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054e919061079e565b60405180910390fd5b9392505050565b60008151905061056d81610ac7565b92915050565b60008151905061058281610ade565b92915050565b60006020828403121561059e5761059d61094c565b5b60006105ac8482850161055e565b91505092915050565b6000602082840312156105cb576105ca61094c565b5b60006105d984828501610573565b91505092915050565b6105eb816108ad565b82525050565b60006105fc8261087b565b6106068185610891565b9350610616818560208601610919565b80840191505092915050565b61062b816108f5565b82525050565b600061063c82610886565b610646818561089c565b9350610656818560208601610919565b61065f81610951565b840191505092915050565b600061067760328361089c565b915061068282610962565b604082019050919050565b600061069a60268361089c565b91506106a5826109b1565b604082019050919050565b60006106bd601d8361089c565b91506106c882610a00565b602082019050919050565b60006106e0602a8361089c565b91506106eb82610a29565b604082019050919050565b600061070360238361089c565b915061070e82610a78565b604082019050919050565b610722816108eb565b82525050565b600061073482846105f1565b915081905092915050565b600060208201905061075460008301846105e2565b92915050565b600060408201905061076f60008301856105e2565b61077c6020830184610719565b9392505050565b60006020820190506107986000830184610622565b92915050565b600060208201905081810360008301526107b88184610631565b905092915050565b600060208201905081810360008301526107d98161066a565b9050919050565b600060208201905081810360008301526107f98161068d565b9050919050565b60006020820190508181036000830152610819816106b0565b9050919050565b60006020820190508181036000830152610839816106d3565b9050919050565b60006020820190508181036000830152610859816106f6565b9050919050565b60006020820190506108756000830184610719565b92915050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b60006108b8826108cb565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061090082610907565b9050919050565b6000610912826108cb565b9050919050565b60005b8381101561093757808201518184015260208101905061091c565b83811115610946576000848401525b50505050565b600080fd5b6000601f19601f8301169050919050565b7f546f6b656e54696d656c6f636b3a2063757272656e742074696d65206973206260008201527f65666f72652072656c656173652074696d650000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f546f6b656e54696d656c6f636b3a206e6f20746f6b656e7320746f2072656c6560008201527f6173650000000000000000000000000000000000000000000000000000000000602082015250565b610ad0816108bf565b8114610adb57600080fd5b50565b610ae7816108eb565b8114610af257600080fd5b5056fea2646970667358221220e4788390d9da1f9552cabde84ad7447983dbe4da2d130e7ac88034e65fdb19ef64736f6c63430008060033000000000000000000000000e69b45be6260634de4e432f66179ce47ee846800000000000000000000000000113cc26c4b41148fb701bd03dc3d6317b8e92232
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000e69b45be6260634de4e432f66179ce47ee846800000000000000000000000000113cc26c4b41148fb701bd03dc3d6317b8e92232
-----Decoded View---------------
Arg [0] : token_ (address): 0xe69b45be6260634de4e432f66179ce47ee846800
Arg [1] : beneficiary_ (address): 0x113cc26c4b41148fb701bd03dc3d6317b8e92232
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000e69b45be6260634de4e432f66179ce47ee846800
Arg [1] : 000000000000000000000000113cc26c4b41148fb701bd03dc3d6317b8e92232
Deployed ByteCode Sourcemap
14682:1447:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15420:99;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15791:335;;;:::i;:::-;;15600:99;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15261:86;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15420:99;15472:7;15499:12;15492:19;;15420:99;:::o;15791:335::-;15863:13;:11;:13::i;:::-;15844:15;:32;;15836:95;;;;;;;;;;;;:::i;:::-;;;;;;;;;15944:14;15961:7;:5;:7::i;:::-;:17;;;15987:4;15961:32;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15944:49;;16021:1;16012:6;:10;16004:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;16075:43;16096:13;:11;:13::i;:::-;16111:6;16075:7;:5;:7::i;:::-;:20;;;;:43;;;;;:::i;:::-;15825:301;15791:335::o;15600:99::-;15652:7;15679:12;;15672:19;;15600:99;:::o;15261:86::-;15307:6;15333;15326:13;;15261:86;:::o;11249:177::-;11332:86;11352:5;11382:23;;;11407:2;11411:5;11359:58;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11332:19;:86::i;:::-;11249:177;;;:::o;13683:761::-;14107:23;14133:69;14161:4;14133:69;;;;;;;;;;;;;;;;;14141:5;14133:27;;;;:69;;;;;:::i;:::-;14107:95;;14237:1;14217:10;:17;:21;14213:224;;;14359:10;14348:30;;;;;;;;;;;;:::i;:::-;14340:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;14213:224;13753:691;13683:761;;:::o;6380:195::-;6483:12;6515:52;6537:6;6545:4;6551:1;6554:12;6515:21;:52::i;:::-;6508:59;;6380:195;;;;;:::o;7432:530::-;7559:12;7617:5;7592:21;:30;;7584:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;7684:18;7695:6;7684:10;:18::i;:::-;7676:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;7810:12;7824:23;7851:6;:11;;7871:5;7879:4;7851:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7809:75;;;;7902:52;7920:7;7929:10;7941:12;7902:17;:52::i;:::-;7895:59;;;;7432:530;;;;;;:::o;3462:422::-;3522:4;3730:12;3841:7;3829:20;3821:28;;3875:1;3868:4;:8;3861:15;;;3462:422;;;:::o;9972:742::-;10087:12;10116:7;10112:595;;;10147:10;10140:17;;;;10112:595;10281:1;10261:10;:17;:21;10257:439;;;10524:10;10518:17;10585:15;10572:10;10568:2;10564:19;10557:44;10257:439;10667:12;10660:20;;;;;;;;;;;:::i;:::-;;;;;;;;9972:742;;;;;;:::o;7:137:1:-;61:5;92:6;86:13;77:22;;108:30;132:5;108:30;:::i;:::-;67:77;;;;:::o;150:143::-;207:5;238:6;232:13;223:22;;254:33;281:5;254:33;:::i;:::-;213:80;;;;:::o;299:345::-;366:6;415:2;403:9;394:7;390:23;386:32;383:2;;;421:79;;:::i;:::-;383:2;541:1;566:61;619:7;610:6;599:9;595:22;566:61;:::i;:::-;556:71;;512:125;373:271;;;;:::o;650:351::-;720:6;769:2;757:9;748:7;744:23;740:32;737:2;;;775:79;;:::i;:::-;737:2;895:1;920:64;976:7;967:6;956:9;952:22;920:64;:::i;:::-;910:74;;866:128;727:274;;;;:::o;1007:118::-;1094:24;1112:5;1094:24;:::i;:::-;1089:3;1082:37;1072:53;;:::o;1131:373::-;1235:3;1263:38;1295:5;1263:38;:::i;:::-;1317:88;1398:6;1393:3;1317:88;:::i;:::-;1310:95;;1414:52;1459:6;1454:3;1447:4;1440:5;1436:16;1414:52;:::i;:::-;1491:6;1486:3;1482:16;1475:23;;1239:265;;;;;:::o;1510:157::-;1610:50;1654:5;1610:50;:::i;:::-;1605:3;1598:63;1588:79;;:::o;1673:364::-;1761:3;1789:39;1822:5;1789:39;:::i;:::-;1844:71;1908:6;1903:3;1844:71;:::i;:::-;1837:78;;1924:52;1969:6;1964:3;1957:4;1950:5;1946:16;1924:52;:::i;:::-;2001:29;2023:6;2001:29;:::i;:::-;1996:3;1992:39;1985:46;;1765:272;;;;;:::o;2043:366::-;2185:3;2206:67;2270:2;2265:3;2206:67;:::i;:::-;2199:74;;2282:93;2371:3;2282:93;:::i;:::-;2400:2;2395:3;2391:12;2384:19;;2189:220;;;:::o;2415:366::-;2557:3;2578:67;2642:2;2637:3;2578:67;:::i;:::-;2571:74;;2654:93;2743:3;2654:93;:::i;:::-;2772:2;2767:3;2763:12;2756:19;;2561:220;;;:::o;2787:366::-;2929:3;2950:67;3014:2;3009:3;2950:67;:::i;:::-;2943:74;;3026:93;3115:3;3026:93;:::i;:::-;3144:2;3139:3;3135:12;3128:19;;2933:220;;;:::o;3159:366::-;3301:3;3322:67;3386:2;3381:3;3322:67;:::i;:::-;3315:74;;3398:93;3487:3;3398:93;:::i;:::-;3516:2;3511:3;3507:12;3500:19;;3305:220;;;:::o;3531:366::-;3673:3;3694:67;3758:2;3753:3;3694:67;:::i;:::-;3687:74;;3770:93;3859:3;3770:93;:::i;:::-;3888:2;3883:3;3879:12;3872:19;;3677:220;;;:::o;3903:118::-;3990:24;4008:5;3990:24;:::i;:::-;3985:3;3978:37;3968:53;;:::o;4027:271::-;4157:3;4179:93;4268:3;4259:6;4179:93;:::i;:::-;4172:100;;4289:3;4282:10;;4161:137;;;;:::o;4304:222::-;4397:4;4435:2;4424:9;4420:18;4412:26;;4448:71;4516:1;4505:9;4501:17;4492:6;4448:71;:::i;:::-;4402:124;;;;:::o;4532:332::-;4653:4;4691:2;4680:9;4676:18;4668:26;;4704:71;4772:1;4761:9;4757:17;4748:6;4704:71;:::i;:::-;4785:72;4853:2;4842:9;4838:18;4829:6;4785:72;:::i;:::-;4658:206;;;;;:::o;4870:248::-;4976:4;5014:2;5003:9;4999:18;4991:26;;5027:84;5108:1;5097:9;5093:17;5084:6;5027:84;:::i;:::-;4981:137;;;;:::o;5124:313::-;5237:4;5275:2;5264:9;5260:18;5252:26;;5324:9;5318:4;5314:20;5310:1;5299:9;5295:17;5288:47;5352:78;5425:4;5416:6;5352:78;:::i;:::-;5344:86;;5242:195;;;;:::o;5443:419::-;5609:4;5647:2;5636:9;5632:18;5624:26;;5696:9;5690:4;5686:20;5682:1;5671:9;5667:17;5660:47;5724:131;5850:4;5724:131;:::i;:::-;5716:139;;5614:248;;;:::o;5868:419::-;6034:4;6072:2;6061:9;6057:18;6049:26;;6121:9;6115:4;6111:20;6107:1;6096:9;6092:17;6085:47;6149:131;6275:4;6149:131;:::i;:::-;6141:139;;6039:248;;;:::o;6293:419::-;6459:4;6497:2;6486:9;6482:18;6474:26;;6546:9;6540:4;6536:20;6532:1;6521:9;6517:17;6510:47;6574:131;6700:4;6574:131;:::i;:::-;6566:139;;6464:248;;;:::o;6718:419::-;6884:4;6922:2;6911:9;6907:18;6899:26;;6971:9;6965:4;6961:20;6957:1;6946:9;6942:17;6935:47;6999:131;7125:4;6999:131;:::i;:::-;6991:139;;6889:248;;;:::o;7143:419::-;7309:4;7347:2;7336:9;7332:18;7324:26;;7396:9;7390:4;7386:20;7382:1;7371:9;7367:17;7360:47;7424:131;7550:4;7424:131;:::i;:::-;7416:139;;7314:248;;;:::o;7568:222::-;7661:4;7699:2;7688:9;7684:18;7676:26;;7712:71;7780:1;7769:9;7765:17;7756:6;7712:71;:::i;:::-;7666:124;;;;:::o;7877:98::-;7928:6;7962:5;7956:12;7946:22;;7935:40;;;:::o;7981:99::-;8033:6;8067:5;8061:12;8051:22;;8040:40;;;:::o;8086:147::-;8187:11;8224:3;8209:18;;8199:34;;;;:::o;8239:169::-;8323:11;8357:6;8352:3;8345:19;8397:4;8392:3;8388:14;8373:29;;8335:73;;;;:::o;8414:96::-;8451:7;8480:24;8498:5;8480:24;:::i;:::-;8469:35;;8459:51;;;:::o;8516:90::-;8550:7;8593:5;8586:13;8579:21;8568:32;;8558:48;;;:::o;8612:126::-;8649:7;8689:42;8682:5;8678:54;8667:65;;8657:81;;;:::o;8744:77::-;8781:7;8810:5;8799:16;;8789:32;;;:::o;8827:152::-;8890:9;8923:50;8967:5;8923:50;:::i;:::-;8910:63;;8900:79;;;:::o;8985:126::-;9048:9;9081:24;9099:5;9081:24;:::i;:::-;9068:37;;9058:53;;;:::o;9117:307::-;9185:1;9195:113;9209:6;9206:1;9203:13;9195:113;;;9294:1;9289:3;9285:11;9279:18;9275:1;9270:3;9266:11;9259:39;9231:2;9228:1;9224:10;9219:15;;9195:113;;;9326:6;9323:1;9320:13;9317:2;;;9406:1;9397:6;9392:3;9388:16;9381:27;9317:2;9166:258;;;;:::o;9553:117::-;9662:1;9659;9652:12;9676:102;9717:6;9768:2;9764:7;9759:2;9752:5;9748:14;9744:28;9734:38;;9724:54;;;:::o;9784:237::-;9924:34;9920:1;9912:6;9908:14;9901:58;9993:20;9988:2;9980:6;9976:15;9969:45;9890:131;:::o;10027:225::-;10167:34;10163:1;10155:6;10151:14;10144:58;10236:8;10231:2;10223:6;10219:15;10212:33;10133:119;:::o;10258:179::-;10398:31;10394:1;10386:6;10382:14;10375:55;10364:73;:::o;10443:229::-;10583:34;10579:1;10571:6;10567:14;10560:58;10652:12;10647:2;10639:6;10635:15;10628:37;10549:123;:::o;10678:222::-;10818:34;10814:1;10806:6;10802:14;10795:58;10887:5;10882:2;10874:6;10870:15;10863:30;10784:116;:::o;10906:::-;10976:21;10991:5;10976:21;:::i;:::-;10969:5;10966:32;10956:2;;11012:1;11009;11002:12;10956:2;10946:76;:::o;11028:122::-;11101:24;11119:5;11101:24;:::i;:::-;11094:5;11091:35;11081:2;;11140:1;11137;11130:12;11081:2;11071:79;:::o
Swarm Source
ipfs://e4788390d9da1f9552cabde84ad7447983dbe4da2d130e7ac88034e65fdb19ef
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Validator ID :
0 FTM
Amount Staked
0
Amount Delegated
0
Staking Total
0
Staking Start Epoch
0
Staking Start Time
0
Proof of Importance
0
Origination Score
0
Validation Score
0
Active
0
Online
0
Downtime
0 s
Address | Amount | claimed Rewards | Created On Epoch | Created On |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.