My Name Tag:
Not Available
Txn Hash | Method |
Block
|
From
|
To
|
Value | [Txn Fee] | |||
---|---|---|---|---|---|---|---|---|---|
0x78ca130c04fa75faf5d9497aecec14a8bf0ec44e816cead2011701f86caf7363 | 0x60806040 | 5864909 | 776 days 14 hrs ago | Livepeer: Deployer | IN | Create: DelegatorPool | 0 ETH | 0.008962083617 ETH |
[ Download CSV Export ]
Latest 25 internal transaction
[ Download CSV Export ]
Contract Name:
DelegatorPool
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (proxy/utils/Initializable.sol) pragma solidity ^0.8.0; import "../../utils/AddressUpgradeable.sol"; /** * @dev This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed * behind a proxy. Since a proxied contract can't have a constructor, it's common to move constructor logic to an * external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer * function so it can only be called once. The {initializer} modifier provided by this contract will have this effect. * * TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as * possible by providing the encoded function call as the `_data` argument to {ERC1967Proxy-constructor}. * * CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure * that all initializers are idempotent. This is not verified automatically as constructors are by Solidity. * * [CAUTION] * ==== * Avoid leaving a contract uninitialized. * * An uninitialized contract can be taken over by an attacker. This applies to both a proxy and its implementation * contract, which may impact the proxy. To initialize the implementation contract, you can either invoke the * initializer manually, or you can include a constructor to automatically mark it as initialized when it is deployed: * * [.hljs-theme-light.nopadding] * ``` * /// @custom:oz-upgrades-unsafe-allow constructor * constructor() initializer {} * ``` * ==== */ abstract contract Initializable { /** * @dev Indicates that the contract has been initialized. */ bool private _initialized; /** * @dev Indicates that the contract is in the process of being initialized. */ bool private _initializing; /** * @dev Modifier to protect an initializer function from being invoked twice. */ modifier initializer() { // If the contract is initializing we ignore whether _initialized is set in order to support multiple // inheritance patterns, but we only do this in the context of a constructor, because in other contexts the // contract may have been reentered. require(_initializing ? _isConstructor() : !_initialized, "Initializable: contract is already initialized"); bool isTopLevelCall = !_initializing; if (isTopLevelCall) { _initializing = true; _initialized = true; } _; if (isTopLevelCall) { _initializing = false; } } /** * @dev Modifier to protect an initialization function so that it can only be invoked by functions with the * {initializer} modifier, directly or indirectly. */ modifier onlyInitializing() { require(_initializing, "Initializable: contract is not initializing"); _; } function _isConstructor() private view returns (bool) { return !AddressUpgradeable.isContract(address(this)); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/Address.sol) pragma solidity ^0.8.0; /** * @dev Collection of functions related to the address type */ library AddressUpgradeable { /** * @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; 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"); (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"); (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"); (bool success, bytes memory returndata) = target.staticcall(data); return verifyCallResult(success, returndata, errorMessage); } /** * @dev Tool to verifies that a low level call was successful, and revert if it wasn't, either by bubbling the * revert reason using the provided one. * * _Available since v4.3._ */ function verifyCallResult( bool success, bytes memory returndata, string memory errorMessage ) internal 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 assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } }
//SPDX-License-Identifier: MIT pragma solidity 0.8.9; import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol"; interface IBondingManager { function pendingStake(address _addr, uint256 _endRound) external view returns (uint256); function pendingFees(address _addr, uint256 _endRound) external view returns (uint256); function transferBond( address _delegator, uint256 _amount, address _oldDelegateNewPosPrev, address _oldDelegateNewPosNext, address _newDelegateNewPosPrev, address _newDelegateNewPosNext ) external; function withdrawFees(address payable _recipient, uint256 _amount) external; } contract DelegatorPool is Initializable { uint256 public initialStake; uint256 public claimedInitialStake; address public bondingManager; address public migrator; event Claimed(address indexed _delegator, uint256 _stake, uint256 _fees); event DelegatorPoolInitialized( address indexed _bondingManager, address indexed _migrator, uint256 _initialStake ); modifier onlyMigrator() { require(msg.sender == migrator, "POOL:NOT_MIGRATOR"); _; } /** * @notice Initialize state * @param _bondingManager Address of L2 BondingManager */ function initialize(address _bondingManager) public initializer { bondingManager = _bondingManager; migrator = msg.sender; initialStake = pendingStake(); emit DelegatorPoolInitialized(_bondingManager, migrator, initialStake); } /** * @notice Called by L2Migrator to credit stake and fees held by this contract to a delegator * @param _delegator Address of delegator * @param _stake Stake of delegator */ function claim(address _delegator, uint256 _stake) external onlyMigrator { // stake remaining with the pool uint256 remaining = initialStake - claimedInitialStake; require(_stake <= remaining, "POOL:INVALID_CLAIM"); // _stake is the delegator's original stake // This contract started off with initalStake // We can calculate how much of the contract's current stake and fees // are owed to the delegator proportional to _stake / (initialStake - claimedInitialStake) // where claimedInitialStake is the stake of the contract that has already been claimed // Calculate stake owed to delegator uint256 owedStake = (pendingStake() * _stake) / remaining; // Calculate fees owed to delegator uint256 owedFees = (pendingFees() * _stake) / remaining; // update claimed balance claimedInitialStake += _stake; // Transfer owed stake to the delegator transferBond(_delegator, owedStake); // Transfer owed fees to the delegator IBondingManager(bondingManager).withdrawFees( payable(_delegator), owedFees ); emit Claimed(_delegator, owedStake, owedFees); } function transferBond(address _delegator, uint256 _stake) private { IBondingManager(bondingManager).transferBond( _delegator, _stake, address(0), address(0), address(0), address(0) ); } function pendingStake() private view returns (uint256) { return IBondingManager(bondingManager).pendingStake(address(this), 0); } function pendingFees() private view returns (uint256) { return IBondingManager(bondingManager).pendingFees(address(this), 0); } }
{ "evmVersion": "london", "libraries": {}, "metadata": { "bytecodeHash": "ipfs", "useLiteralContent": true }, "optimizer": { "enabled": false, "runs": 200 }, "remappings": [], "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } } }
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_delegator","type":"address"},{"indexed":false,"internalType":"uint256","name":"_stake","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_fees","type":"uint256"}],"name":"Claimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_bondingManager","type":"address"},{"indexed":true,"internalType":"address","name":"_migrator","type":"address"},{"indexed":false,"internalType":"uint256","name":"_initialStake","type":"uint256"}],"name":"DelegatorPoolInitialized","type":"event"},{"inputs":[],"name":"bondingManager","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_delegator","type":"address"},{"internalType":"uint256","name":"_stake","type":"uint256"}],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimedInitialStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_bondingManager","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"migrator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50610dcd806100206000396000f3fe608060405234801561001057600080fd5b50600436106100615760003560e01c80625b291a1461006657806316e6c6fd14610084578063426eae45146100a25780637cd07e47146100c0578063aad3ec96146100de578063c4d66de8146100fa575b600080fd5b61006e610116565b60405161007b91906107e4565b60405180910390f35b61008c61011c565b60405161009991906107e4565b60405180910390f35b6100aa610122565b6040516100b79190610840565b60405180910390f35b6100c8610148565b6040516100d59190610840565b60405180910390f35b6100f860048036038101906100f391906108b8565b61016e565b005b610114600480360381019061010f91906108f8565b6103a2565b005b60015481565b60025481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101f590610982565b60405180910390fd5b600060025460015461021091906109d1565b905080821115610255576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024c90610a51565b60405180910390fd5b600081836102616105a0565b61026b9190610a71565b6102759190610afa565b905060008284610283610655565b61028d9190610a71565b6102979190610afa565b905083600260008282546102ab9190610b2b565b925050819055506102bc858361070a565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad3b1b4786836040518363ffffffff1660e01b8152600401610319929190610ba2565b600060405180830381600087803b15801561033357600080fd5b505af1158015610347573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff167f987d620f307ff6b94d58743cb7a7509f24071586a77759b77c2d4e29f75a2f9a8383604051610393929190610bcb565b60405180910390a25050505050565b600060019054906101000a900460ff166103ca5760008054906101000a900460ff16156103d3565b6103d26107a7565b5b610412576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161040990610c66565b60405180910390fd5b60008060019054906101000a900460ff161590508015610462576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b81600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506104ec6105a0565b600181905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f27ac25f89a168c7b9a0e7c9cb516b24a426f772e4d1e5f0d9e77bc0dea29141660015460405161057391906107e4565b60405180910390a3801561059c5760008060016101000a81548160ff0219169083151502179055505b5050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639d0b2c7a3060006040518363ffffffff1660e01b8152600401610600929190610ccb565b60206040518083038186803b15801561061857600080fd5b505afa15801561062c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106509190610d09565b905090565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f595f1cc3060006040518363ffffffff1660e01b81526004016106b5929190610ccb565b60206040518083038186803b1580156106cd57600080fd5b505afa1580156106e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107059190610d09565b905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663062e98b883836000806000806040518763ffffffff1660e01b815260040161077196959493929190610d36565b600060405180830381600087803b15801561078b57600080fd5b505af115801561079f573d6000803e3d6000fd5b505050505050565b60006107b2306107b8565b15905090565b600080823b905060008111915050919050565b6000819050919050565b6107de816107cb565b82525050565b60006020820190506107f960008301846107d5565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061082a826107ff565b9050919050565b61083a8161081f565b82525050565b60006020820190506108556000830184610831565b92915050565b600080fd5b6108698161081f565b811461087457600080fd5b50565b60008135905061088681610860565b92915050565b610895816107cb565b81146108a057600080fd5b50565b6000813590506108b28161088c565b92915050565b600080604083850312156108cf576108ce61085b565b5b60006108dd85828601610877565b92505060206108ee858286016108a3565b9150509250929050565b60006020828403121561090e5761090d61085b565b5b600061091c84828501610877565b91505092915050565b600082825260208201905092915050565b7f504f4f4c3a4e4f545f4d49475241544f52000000000000000000000000000000600082015250565b600061096c601183610925565b915061097782610936565b602082019050919050565b6000602082019050818103600083015261099b8161095f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006109dc826107cb565b91506109e7836107cb565b9250828210156109fa576109f96109a2565b5b828203905092915050565b7f504f4f4c3a494e56414c49445f434c41494d0000000000000000000000000000600082015250565b6000610a3b601283610925565b9150610a4682610a05565b602082019050919050565b60006020820190508181036000830152610a6a81610a2e565b9050919050565b6000610a7c826107cb565b9150610a87836107cb565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610ac057610abf6109a2565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000610b05826107cb565b9150610b10836107cb565b925082610b2057610b1f610acb565b5b828204905092915050565b6000610b36826107cb565b9150610b41836107cb565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610b7657610b756109a2565b5b828201905092915050565b6000610b8c826107ff565b9050919050565b610b9c81610b81565b82525050565b6000604082019050610bb76000830185610b93565b610bc460208301846107d5565b9392505050565b6000604082019050610be060008301856107d5565b610bed60208301846107d5565b9392505050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b6000610c50602e83610925565b9150610c5b82610bf4565b604082019050919050565b60006020820190508181036000830152610c7f81610c43565b9050919050565b6000819050919050565b6000819050919050565b6000610cb5610cb0610cab84610c86565b610c90565b6107cb565b9050919050565b610cc581610c9a565b82525050565b6000604082019050610ce06000830185610831565b610ced6020830184610cbc565b9392505050565b600081519050610d038161088c565b92915050565b600060208284031215610d1f57610d1e61085b565b5b6000610d2d84828501610cf4565b91505092915050565b600060c082019050610d4b6000830189610831565b610d5860208301886107d5565b610d656040830187610831565b610d726060830186610831565b610d7f6080830185610831565b610d8c60a0830184610831565b97965050505050505056fea264697066735822122037837bde3a87a34eaef05951e43b51c88f71391b65b98155a060e09a9ddc181d64736f6c63430008090033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100615760003560e01c80625b291a1461006657806316e6c6fd14610084578063426eae45146100a25780637cd07e47146100c0578063aad3ec96146100de578063c4d66de8146100fa575b600080fd5b61006e610116565b60405161007b91906107e4565b60405180910390f35b61008c61011c565b60405161009991906107e4565b60405180910390f35b6100aa610122565b6040516100b79190610840565b60405180910390f35b6100c8610148565b6040516100d59190610840565b60405180910390f35b6100f860048036038101906100f391906108b8565b61016e565b005b610114600480360381019061010f91906108f8565b6103a2565b005b60015481565b60025481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101f590610982565b60405180910390fd5b600060025460015461021091906109d1565b905080821115610255576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024c90610a51565b60405180910390fd5b600081836102616105a0565b61026b9190610a71565b6102759190610afa565b905060008284610283610655565b61028d9190610a71565b6102979190610afa565b905083600260008282546102ab9190610b2b565b925050819055506102bc858361070a565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad3b1b4786836040518363ffffffff1660e01b8152600401610319929190610ba2565b600060405180830381600087803b15801561033357600080fd5b505af1158015610347573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff167f987d620f307ff6b94d58743cb7a7509f24071586a77759b77c2d4e29f75a2f9a8383604051610393929190610bcb565b60405180910390a25050505050565b600060019054906101000a900460ff166103ca5760008054906101000a900460ff16156103d3565b6103d26107a7565b5b610412576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161040990610c66565b60405180910390fd5b60008060019054906101000a900460ff161590508015610462576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b81600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506104ec6105a0565b600181905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f27ac25f89a168c7b9a0e7c9cb516b24a426f772e4d1e5f0d9e77bc0dea29141660015460405161057391906107e4565b60405180910390a3801561059c5760008060016101000a81548160ff0219169083151502179055505b5050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639d0b2c7a3060006040518363ffffffff1660e01b8152600401610600929190610ccb565b60206040518083038186803b15801561061857600080fd5b505afa15801561062c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106509190610d09565b905090565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f595f1cc3060006040518363ffffffff1660e01b81526004016106b5929190610ccb565b60206040518083038186803b1580156106cd57600080fd5b505afa1580156106e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107059190610d09565b905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663062e98b883836000806000806040518763ffffffff1660e01b815260040161077196959493929190610d36565b600060405180830381600087803b15801561078b57600080fd5b505af115801561079f573d6000803e3d6000fd5b505050505050565b60006107b2306107b8565b15905090565b600080823b905060008111915050919050565b6000819050919050565b6107de816107cb565b82525050565b60006020820190506107f960008301846107d5565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061082a826107ff565b9050919050565b61083a8161081f565b82525050565b60006020820190506108556000830184610831565b92915050565b600080fd5b6108698161081f565b811461087457600080fd5b50565b60008135905061088681610860565b92915050565b610895816107cb565b81146108a057600080fd5b50565b6000813590506108b28161088c565b92915050565b600080604083850312156108cf576108ce61085b565b5b60006108dd85828601610877565b92505060206108ee858286016108a3565b9150509250929050565b60006020828403121561090e5761090d61085b565b5b600061091c84828501610877565b91505092915050565b600082825260208201905092915050565b7f504f4f4c3a4e4f545f4d49475241544f52000000000000000000000000000000600082015250565b600061096c601183610925565b915061097782610936565b602082019050919050565b6000602082019050818103600083015261099b8161095f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006109dc826107cb565b91506109e7836107cb565b9250828210156109fa576109f96109a2565b5b828203905092915050565b7f504f4f4c3a494e56414c49445f434c41494d0000000000000000000000000000600082015250565b6000610a3b601283610925565b9150610a4682610a05565b602082019050919050565b60006020820190508181036000830152610a6a81610a2e565b9050919050565b6000610a7c826107cb565b9150610a87836107cb565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610ac057610abf6109a2565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000610b05826107cb565b9150610b10836107cb565b925082610b2057610b1f610acb565b5b828204905092915050565b6000610b36826107cb565b9150610b41836107cb565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610b7657610b756109a2565b5b828201905092915050565b6000610b8c826107ff565b9050919050565b610b9c81610b81565b82525050565b6000604082019050610bb76000830185610b93565b610bc460208301846107d5565b9392505050565b6000604082019050610be060008301856107d5565b610bed60208301846107d5565b9392505050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b6000610c50602e83610925565b9150610c5b82610bf4565b604082019050919050565b60006020820190508181036000830152610c7f81610c43565b9050919050565b6000819050919050565b6000819050919050565b6000610cb5610cb0610cab84610c86565b610c90565b6107cb565b9050919050565b610cc581610c9a565b82525050565b6000604082019050610ce06000830185610831565b610ced6020830184610cbc565b9392505050565b600081519050610d038161088c565b92915050565b600060208284031215610d1f57610d1e61085b565b5b6000610d2d84828501610cf4565b91505092915050565b600060c082019050610d4b6000830189610831565b610d5860208301886107d5565b610d656040830187610831565b610d726060830186610831565b610d7f6080830185610831565b610d8c60a0830184610831565b97965050505050505056fea264697066735822122037837bde3a87a34eaef05951e43b51c88f71391b65b98155a060e09a9ddc181d64736f6c63430008090033
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.