Source Code
Overview
ETH Balance
0 ETH
More Info
ContractCreator
Multichain Info
N/A
Latest 25 from a total of 1,099 transactions
| Transaction Hash |
Method
|
Block
|
From
|
To
|
Amount
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Confirm Withdraw... | 1696262 | 52 days ago | IN | 0 ETH | 0.00003935 | ||||
| Set Withdrawal A... | 1696252 | 52 days ago | IN | 0 ETH | 0.00009751 | ||||
| Confirm Withdraw... | 1274330 | 115 days ago | IN | 0 ETH | 0.00009876 | ||||
| Set Withdrawal A... | 1274293 | 115 days ago | IN | 0 ETH | 0.00013945 | ||||
| Confirm Withdraw... | 1043122 | 150 days ago | IN | 0 ETH | 0.00010861 | ||||
| Set Withdrawal A... | 1043091 | 150 days ago | IN | 0 ETH | 0.000145 | ||||
| Confirm Withdraw... | 1042316 | 150 days ago | IN | 0 ETH | 0.00009426 | ||||
| Set Withdrawal A... | 1042244 | 150 days ago | IN | 0 ETH | 0.00014352 | ||||
| Confirm Withdraw... | 1015799 | 154 days ago | IN | 0 ETH | 0.00009206 | ||||
| Set Withdrawal A... | 1015346 | 154 days ago | IN | 0 ETH | 0.00014315 | ||||
| Confirm Withdraw... | 1004451 | 156 days ago | IN | 0 ETH | 0.0001161 | ||||
| Set Withdrawal A... | 1004444 | 156 days ago | IN | 0 ETH | 0.00013966 | ||||
| Confirm Withdraw... | 1003180 | 156 days ago | IN | 0 ETH | 0.00011737 | ||||
| Set Withdrawal A... | 1003148 | 156 days ago | IN | 0 ETH | 0.00016474 | ||||
| Set Deployed Sta... | 956611 | 163 days ago | IN | 0 ETH | 0.00022111 | ||||
| Set String | 956611 | 163 days ago | IN | 0 ETH | 0.00542299 | ||||
| Set String | 956611 | 163 days ago | IN | 0 ETH | 0.00234031 | ||||
| Set Address | 956611 | 163 days ago | IN | 0 ETH | 0.00024772 | ||||
| Set String | 956611 | 163 days ago | IN | 0 ETH | 0.00025116 | ||||
| Set Bool | 956611 | 163 days ago | IN | 0 ETH | 0.00024693 | ||||
| Set String | 956611 | 163 days ago | IN | 0 ETH | 0.00157078 | ||||
| Set Address | 956611 | 163 days ago | IN | 0 ETH | 0.00024772 | ||||
| Set String | 956611 | 163 days ago | IN | 0 ETH | 0.00025133 | ||||
| Set Bool | 956611 | 163 days ago | IN | 0 ETH | 0.00024693 | ||||
| Set String | 956611 | 163 days ago | IN | 0 ETH | 0.00168062 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
To
|
Amount
|
||
|---|---|---|---|---|---|---|---|
| Set Uint | 1703708 | 51 days ago | 0 ETH | ||||
| Get Uint | 1703708 | 51 days ago | 0 ETH | ||||
| Sub Uint | 1703708 | 51 days ago | 0 ETH | ||||
| Set Uint | 1703708 | 51 days ago | 0 ETH | ||||
| Sub Uint | 1703708 | 51 days ago | 0 ETH | ||||
| Delete Uint | 1703708 | 51 days ago | 0 ETH | ||||
| Delete Uint | 1703708 | 51 days ago | 0 ETH | ||||
| Delete Uint | 1703708 | 51 days ago | 0 ETH | ||||
| Set Uint | 1703708 | 51 days ago | 0 ETH | ||||
| Delete Uint | 1703708 | 51 days ago | 0 ETH | ||||
| Get Uint | 1703708 | 51 days ago | 0 ETH | ||||
| Get Uint | 1703708 | 51 days ago | 0 ETH | ||||
| Get Uint | 1703708 | 51 days ago | 0 ETH | ||||
| Get Bool | 1703708 | 51 days ago | 0 ETH | ||||
| Get Address | 1703708 | 51 days ago | 0 ETH | ||||
| Get Address | 1703708 | 51 days ago | 0 ETH | ||||
| Get Address | 1703708 | 51 days ago | 0 ETH | ||||
| Get Address | 1703708 | 51 days ago | 0 ETH | ||||
| Get String | 1703708 | 51 days ago | 0 ETH | ||||
| Get Bool | 1703708 | 51 days ago | 0 ETH | ||||
| Get Uint | 1703708 | 51 days ago | 0 ETH | ||||
| Get Uint | 1703708 | 51 days ago | 0 ETH | ||||
| Get Uint | 1703708 | 51 days ago | 0 ETH | ||||
| Get Uint | 1703708 | 51 days ago | 0 ETH | ||||
| Get Uint | 1703708 | 51 days ago | 0 ETH |
Loading...
Loading
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x8a7FB51d...FbCd2687C The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
RocketStorage
Compiler Version
v0.7.6+commit.7338295f
Contract Source Code (Solidity Standard Json-Input format)
/**
* .
* / \
* |.'.|
* |'.'|
* ,'| |'.
* |,-'-|-'-.|
* __|_| | _ _ _____ _
* | ___ \| | | | | | ___ \ | |
* | |_/ /|__ ___| | _____| |_ | |_/ /__ ___ | |
* | // _ \ / __| |/ / _ \ __| | __/ _ \ / _ \| |
* | |\ \ (_) | (__| < __/ |_ | | | (_) | (_) | |
* \_| \_\___/ \___|_|\_\___|\__| \_| \___/ \___/|_|
* +---------------------------------------------------+
* | DECENTRALISED STAKING PROTOCOL FOR ETHEREUM |
* +---------------------------------------------------+
*
* Rocket Pool is a first-of-its-kind Ethereum staking pool protocol, designed to
* be community-owned, decentralised, permissionless, & trustless.
*
* For more information about Rocket Pool, visit https://rocketpool.net
*
* Authored by the Rocket Pool Core Team
* Contributors: https://github.com/rocket-pool/rocketpool/graphs/contributors
* A special thanks to the Rocket Pool community for all their contributions.
*
*/
pragma solidity 0.7.6;
// SPDX-License-Identifier: GPL-3.0-only
import "../interface/RocketStorageInterface.sol";
import "@openzeppelin/contracts/math/SafeMath.sol";
/// @title The primary persistent storage for Rocket Pool
/// @author David Rugendyke
contract RocketStorage is RocketStorageInterface {
// Events
event NodeWithdrawalAddressSet(address indexed node, address indexed withdrawalAddress, uint256 time);
event GuardianChanged(address oldGuardian, address newGuardian);
// Libraries
using SafeMath for uint256;
// Storage maps
mapping(bytes32 => string) private stringStorage;
mapping(bytes32 => bytes) private bytesStorage;
mapping(bytes32 => uint256) private uintStorage;
mapping(bytes32 => int256) private intStorage;
mapping(bytes32 => address) private addressStorage;
mapping(bytes32 => bool) private booleanStorage;
mapping(bytes32 => bytes32) private bytes32Storage;
// Protected storage (not accessible by network contracts)
mapping(address => address) private withdrawalAddresses;
mapping(address => address) private pendingWithdrawalAddresses;
// Guardian address
address guardian;
address newGuardian;
// Flag storage has been initialised
bool storageInit = false;
/// @dev Only allow access from the latest version of a contract in the Rocket Pool network after deployment
modifier onlyLatestRocketNetworkContract() {
if (storageInit == true) {
// Make sure the access is permitted to only contracts in our Dapp
require(booleanStorage[keccak256(abi.encodePacked("contract.exists", msg.sender))], "Invalid or outdated network contract");
} else {
// Only Dapp and the guardian account are allowed access during initialisation.
// tx.origin is only safe to use in this case for deployment since no external contracts are interacted with
require((
booleanStorage[keccak256(abi.encodePacked("contract.exists", msg.sender))] || tx.origin == guardian
), "Invalid or outdated network contract attempting access during deployment");
}
_;
}
/// @dev Construct RocketStorage
constructor() {
// Set the guardian upon deployment
guardian = msg.sender;
}
// Get guardian address
function getGuardian() external override view returns (address) {
return guardian;
}
// Transfers guardianship to a new address
function setGuardian(address _newAddress) external override {
// Check tx comes from current guardian
require(msg.sender == guardian, "Is not guardian account");
// Store new address awaiting confirmation
newGuardian = _newAddress;
}
// Confirms change of guardian
function confirmGuardian() external override {
// Check tx came from new guardian address
require(msg.sender == newGuardian, "Confirmation must come from new guardian address");
// Store old guardian for event
address oldGuardian = guardian;
// Update guardian and clear storage
guardian = newGuardian;
delete newGuardian;
// Emit event
emit GuardianChanged(oldGuardian, guardian);
}
// Set this as being deployed now
function getDeployedStatus() external override view returns (bool) {
return storageInit;
}
// Set this as being deployed now
function setDeployedStatus() external {
// Only guardian can lock this down
require(msg.sender == guardian, "Is not guardian account");
// Set it now
storageInit = true;
}
// Protected storage
// Get a node's withdrawal address
function getNodeWithdrawalAddress(address _nodeAddress) public override view returns (address) {
// If no withdrawal address has been set, return the nodes address
address withdrawalAddress = withdrawalAddresses[_nodeAddress];
if (withdrawalAddress == address(0)) {
return _nodeAddress;
}
return withdrawalAddress;
}
// Get a node's pending withdrawal address
function getNodePendingWithdrawalAddress(address _nodeAddress) external override view returns (address) {
return pendingWithdrawalAddresses[_nodeAddress];
}
// Set a node's withdrawal address
function setWithdrawalAddress(address _nodeAddress, address _newWithdrawalAddress, bool _confirm) external override {
// Check new withdrawal address
require(_newWithdrawalAddress != address(0x0), "Invalid withdrawal address");
// Confirm the transaction is from the node's current withdrawal address
address withdrawalAddress = getNodeWithdrawalAddress(_nodeAddress);
require(withdrawalAddress == msg.sender, "Only a tx from a node's withdrawal address can update it");
// Update immediately if confirmed
if (_confirm) {
updateWithdrawalAddress(_nodeAddress, _newWithdrawalAddress);
}
// Set pending withdrawal address if not confirmed
else {
pendingWithdrawalAddresses[_nodeAddress] = _newWithdrawalAddress;
}
}
// Confirm a node's new withdrawal address
function confirmWithdrawalAddress(address _nodeAddress) external override {
// Get node by pending withdrawal address
require(pendingWithdrawalAddresses[_nodeAddress] == msg.sender, "Confirmation must come from the pending withdrawal address");
delete pendingWithdrawalAddresses[_nodeAddress];
// Update withdrawal address
updateWithdrawalAddress(_nodeAddress, msg.sender);
}
// Update a node's withdrawal address
function updateWithdrawalAddress(address _nodeAddress, address _newWithdrawalAddress) private {
// Set new withdrawal address
withdrawalAddresses[_nodeAddress] = _newWithdrawalAddress;
// Emit withdrawal address set event
emit NodeWithdrawalAddressSet(_nodeAddress, _newWithdrawalAddress, block.timestamp);
}
/// @param _key The key for the record
function getAddress(bytes32 _key) override external view returns (address r) {
return addressStorage[_key];
}
/// @param _key The key for the record
function getUint(bytes32 _key) override external view returns (uint256 r) {
return uintStorage[_key];
}
/// @param _key The key for the record
function getString(bytes32 _key) override external view returns (string memory) {
return stringStorage[_key];
}
/// @param _key The key for the record
function getBytes(bytes32 _key) override external view returns (bytes memory) {
return bytesStorage[_key];
}
/// @param _key The key for the record
function getBool(bytes32 _key) override external view returns (bool r) {
return booleanStorage[_key];
}
/// @param _key The key for the record
function getInt(bytes32 _key) override external view returns (int r) {
return intStorage[_key];
}
/// @param _key The key for the record
function getBytes32(bytes32 _key) override external view returns (bytes32 r) {
return bytes32Storage[_key];
}
/// @param _key The key for the record
function setAddress(bytes32 _key, address _value) onlyLatestRocketNetworkContract override external {
addressStorage[_key] = _value;
}
/// @param _key The key for the record
function setUint(bytes32 _key, uint _value) onlyLatestRocketNetworkContract override external {
uintStorage[_key] = _value;
}
/// @param _key The key for the record
function setString(bytes32 _key, string calldata _value) onlyLatestRocketNetworkContract override external {
stringStorage[_key] = _value;
}
/// @param _key The key for the record
function setBytes(bytes32 _key, bytes calldata _value) onlyLatestRocketNetworkContract override external {
bytesStorage[_key] = _value;
}
/// @param _key The key for the record
function setBool(bytes32 _key, bool _value) onlyLatestRocketNetworkContract override external {
booleanStorage[_key] = _value;
}
/// @param _key The key for the record
function setInt(bytes32 _key, int _value) onlyLatestRocketNetworkContract override external {
intStorage[_key] = _value;
}
/// @param _key The key for the record
function setBytes32(bytes32 _key, bytes32 _value) onlyLatestRocketNetworkContract override external {
bytes32Storage[_key] = _value;
}
/// @param _key The key for the record
function deleteAddress(bytes32 _key) onlyLatestRocketNetworkContract override external {
delete addressStorage[_key];
}
/// @param _key The key for the record
function deleteUint(bytes32 _key) onlyLatestRocketNetworkContract override external {
delete uintStorage[_key];
}
/// @param _key The key for the record
function deleteString(bytes32 _key) onlyLatestRocketNetworkContract override external {
delete stringStorage[_key];
}
/// @param _key The key for the record
function deleteBytes(bytes32 _key) onlyLatestRocketNetworkContract override external {
delete bytesStorage[_key];
}
/// @param _key The key for the record
function deleteBool(bytes32 _key) onlyLatestRocketNetworkContract override external {
delete booleanStorage[_key];
}
/// @param _key The key for the record
function deleteInt(bytes32 _key) onlyLatestRocketNetworkContract override external {
delete intStorage[_key];
}
/// @param _key The key for the record
function deleteBytes32(bytes32 _key) onlyLatestRocketNetworkContract override external {
delete bytes32Storage[_key];
}
/// @param _key The key for the record
/// @param _amount An amount to add to the record's value
function addUint(bytes32 _key, uint256 _amount) onlyLatestRocketNetworkContract override external {
uintStorage[_key] = uintStorage[_key].add(_amount);
}
/// @param _key The key for the record
/// @param _amount An amount to subtract from the record's value
function subUint(bytes32 _key, uint256 _amount) onlyLatestRocketNetworkContract override external {
uintStorage[_key] = uintStorage[_key].sub(_amount);
}
}/**
* .
* / \
* |.'.|
* |'.'|
* ,'| |'.
* |,-'-|-'-.|
* __|_| | _ _ _____ _
* | ___ \| | | | | | ___ \ | |
* | |_/ /|__ ___| | _____| |_ | |_/ /__ ___ | |
* | // _ \ / __| |/ / _ \ __| | __/ _ \ / _ \| |
* | |\ \ (_) | (__| < __/ |_ | | | (_) | (_) | |
* \_| \_\___/ \___|_|\_\___|\__| \_| \___/ \___/|_|
* +---------------------------------------------------+
* | DECENTRALISED STAKING PROTOCOL FOR ETHEREUM |
* +---------------------------------------------------+
*
* Rocket Pool is a first-of-its-kind Ethereum staking pool protocol, designed to
* be community-owned, decentralised, permissionless, & trustless.
*
* For more information about Rocket Pool, visit https://rocketpool.net
*
* Authored by the Rocket Pool Core Team
* Contributors: https://github.com/rocket-pool/rocketpool/graphs/contributors
* A special thanks to the Rocket Pool community for all their contributions.
*
*/
pragma solidity >0.5.0 <0.9.0;
// SPDX-License-Identifier: GPL-3.0-only
interface RocketStorageInterface {
// Deploy status
function getDeployedStatus() external view returns (bool);
// Guardian
function getGuardian() external view returns(address);
function setGuardian(address _newAddress) external;
function confirmGuardian() external;
// Getters
function getAddress(bytes32 _key) external view returns (address);
function getUint(bytes32 _key) external view returns (uint);
function getString(bytes32 _key) external view returns (string memory);
function getBytes(bytes32 _key) external view returns (bytes memory);
function getBool(bytes32 _key) external view returns (bool);
function getInt(bytes32 _key) external view returns (int);
function getBytes32(bytes32 _key) external view returns (bytes32);
// Setters
function setAddress(bytes32 _key, address _value) external;
function setUint(bytes32 _key, uint _value) external;
function setString(bytes32 _key, string calldata _value) external;
function setBytes(bytes32 _key, bytes calldata _value) external;
function setBool(bytes32 _key, bool _value) external;
function setInt(bytes32 _key, int _value) external;
function setBytes32(bytes32 _key, bytes32 _value) external;
// Deleters
function deleteAddress(bytes32 _key) external;
function deleteUint(bytes32 _key) external;
function deleteString(bytes32 _key) external;
function deleteBytes(bytes32 _key) external;
function deleteBool(bytes32 _key) external;
function deleteInt(bytes32 _key) external;
function deleteBytes32(bytes32 _key) external;
// Arithmetic
function addUint(bytes32 _key, uint256 _amount) external;
function subUint(bytes32 _key, uint256 _amount) external;
// Protected storage
function getNodeWithdrawalAddress(address _nodeAddress) external view returns (address);
function getNodePendingWithdrawalAddress(address _nodeAddress) external view returns (address);
function setWithdrawalAddress(address _nodeAddress, address _newWithdrawalAddress, bool _confirm) external;
function confirmWithdrawalAddress(address _nodeAddress) external;
}// SPDX-License-Identifier: MIT
pragma solidity >=0.6.0 <0.8.0;
/**
* @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, with an overflow flag.
*
* _Available since v3.4._
*/
function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
uint256 c = a + b;
if (c < a) return (false, 0);
return (true, c);
}
/**
* @dev Returns the substraction of two unsigned integers, with an overflow flag.
*
* _Available since v3.4._
*/
function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
if (b > a) return (false, 0);
return (true, a - b);
}
/**
* @dev Returns the multiplication of two unsigned integers, with an overflow flag.
*
* _Available since v3.4._
*/
function tryMul(uint256 a, uint256 b) internal pure returns (bool, 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 (true, 0);
uint256 c = a * b;
if (c / a != b) return (false, 0);
return (true, c);
}
/**
* @dev Returns the division of two unsigned integers, with a division by zero flag.
*
* _Available since v3.4._
*/
function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
if (b == 0) return (false, 0);
return (true, a / b);
}
/**
* @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.
*
* _Available since v3.4._
*/
function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
if (b == 0) return (false, 0);
return (true, a % b);
}
/**
* @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) {
require(b <= a, "SafeMath: subtraction overflow");
return a - b;
}
/**
* @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) {
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, reverting 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) {
require(b > 0, "SafeMath: division by zero");
return a / b;
}
/**
* @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
* reverting 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) {
require(b > 0, "SafeMath: modulo by zero");
return a % b;
}
/**
* @dev Returns the subtraction of two unsigned integers, reverting with custom message on
* overflow (when the result is negative).
*
* CAUTION: This function is deprecated because it requires allocating memory for the error
* message unnecessarily. For custom revert reasons use {trySub}.
*
* 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);
return a - b;
}
/**
* @dev Returns the integer division of two unsigned integers, reverting with custom message on
* division by zero. The result is rounded towards zero.
*
* CAUTION: This function is deprecated because it requires allocating memory for the error
* message unnecessarily. For custom revert reasons use {tryDiv}.
*
* 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);
return a / b;
}
/**
* @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
* reverting with custom message when dividing by zero.
*
* CAUTION: This function is deprecated because it requires allocating memory for the error
* message unnecessarily. For custom revert reasons use {tryMod}.
*
* 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;
}
}{
"optimizer": {
"enabled": true,
"runs": 15000
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
}
}Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldGuardian","type":"address"},{"indexed":false,"internalType":"address","name":"newGuardian","type":"address"}],"name":"GuardianChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"node","type":"address"},{"indexed":true,"internalType":"address","name":"withdrawalAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"NodeWithdrawalAddressSet","type":"event"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"addUint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"confirmGuardian","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_nodeAddress","type":"address"}],"name":"confirmWithdrawalAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"deleteAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"deleteBool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"deleteBytes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"deleteBytes32","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"deleteInt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"deleteString","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"deleteUint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"getAddress","outputs":[{"internalType":"address","name":"r","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"getBool","outputs":[{"internalType":"bool","name":"r","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"getBytes","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"getBytes32","outputs":[{"internalType":"bytes32","name":"r","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDeployedStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getGuardian","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"getInt","outputs":[{"internalType":"int256","name":"r","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_nodeAddress","type":"address"}],"name":"getNodePendingWithdrawalAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_nodeAddress","type":"address"}],"name":"getNodeWithdrawalAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"getString","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"getUint","outputs":[{"internalType":"uint256","name":"r","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"},{"internalType":"address","name":"_value","type":"address"}],"name":"setAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"},{"internalType":"bool","name":"_value","type":"bool"}],"name":"setBool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"},{"internalType":"bytes","name":"_value","type":"bytes"}],"name":"setBytes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"},{"internalType":"bytes32","name":"_value","type":"bytes32"}],"name":"setBytes32","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setDeployedStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newAddress","type":"address"}],"name":"setGuardian","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"},{"internalType":"int256","name":"_value","type":"int256"}],"name":"setInt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"},{"internalType":"string","name":"_value","type":"string"}],"name":"setString","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"setUint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_nodeAddress","type":"address"},{"internalType":"address","name":"_newWithdrawalAddress","type":"address"},{"internalType":"bool","name":"_confirm","type":"bool"}],"name":"setWithdrawalAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"subUint","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
0x6080604052600a805460ff60a01b1916905534801561001d57600080fd5b50600980546001600160a01b03191633179055612c068061003f6000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c8063a543ccea1161010f578063ca446dd9116100a2578063ebb9d8c911610071578063ebb9d8c914610702578063f6bb3cc414610725578063fd41251314610742578063febffd9914610775576101f0565b8063ca446dd91461066c578063dc97d962146106a5578063e2a4853a146106c2578063e2b202bf146106e5576101f0565b8063adb353dc116100de578063adb353dc146105dc578063bd02d0f5146105ff578063bd4391261461061c578063c031a1801461064f576101f0565b8063a543ccea1461053b578063a6ed563e14610580578063a75b87d2146105af578063abfdcced146105b7576101f0565b80634e91db08116101875780637ae1cfca116101565780637ae1cfca1461043c5780638a0dac4a146104595780638c1600951461048c578063986e791a146104a9576101f0565b80634e91db08146103525780635b49ff6214610375578063616b59f6146103a85780636e899550146103c5576101f0565b806321f8a721116101c357806321f8a721146102555780632c62ff2d1461029b5780632e28d084146102b85780633e49bed01461032f576101f0565b80630b9adc57146101f55780630e14a376146102145780631bed5241146102315780631e0ea61e1461024d575b600080fd5b6102126004803603602081101561020b57600080fd5b503561077d565b005b6102126004803603602081101561022a57600080fd5b5035610913565b610239610ace565b604080519115158252519081900360200190f35b610212610aef565b6102726004803603602081101561026b57600080fd5b5035610bd8565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610212600480360360208110156102b157600080fd5b5035610c03565b610212600480360360408110156102ce57600080fd5b813591908101906040810160208201356401000000008111156102f057600080fd5b82018360208201111561030257600080fd5b8035906020019184600183028401116401000000008311171561032457600080fd5b509092509050610dbe565b6102126004803603604081101561034557600080fd5b5080359060200135610f62565b6102126004803603604081101561036857600080fd5b50803590602001356110f9565b6102726004803603602081101561038b57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611290565b610212600480360360208110156103be57600080fd5b50356112ce565b610212600480360360408110156103db57600080fd5b813591908101906040810160208201356401000000008111156103fd57600080fd5b82018360208201111561040f57600080fd5b8035906020019184600183028401116401000000008311171561043157600080fd5b50909250905061146d565b6102396004803603602081101561045257600080fd5b503561160b565b6102126004803603602081101561046f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611620565b610212600480360360208110156104a257600080fd5b50356116d3565b6104c6600480360360208110156104bf57600080fd5b5035611869565b6040805160208082528351818301528351919283929083019185019080838360005b838110156105005781810151838201526020016104e8565b50505050905090810190601f16801561052d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102126004803603606081101561055157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001351515611926565b61059d6004803603602081101561059657600080fd5b5035611a59565b60408051918252519081900360200190f35b610272611a6b565b610212600480360360408110156105cd57600080fd5b50803590602001351515611a87565b610212600480360360408110156105f257600080fd5b5080359060200135611c4a565b61059d6004803603602081101561061557600080fd5b5035611dfe565b6102126004803603602081101561063257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611e10565b6104c66004803603602081101561066557600080fd5b5035611eca565b6102126004803603604081101561068257600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff16611f51565b61059d600480360360208110156106bb57600080fd5b5035612129565b610212600480360360408110156106d857600080fd5b508035906020013561213b565b610212600480360360208110156106fb57600080fd5b50356122d2565b6102126004803603604081101561071857600080fd5b5080359060200135612468565b6102126004803603602081101561073b57600080fd5b5035612606565b6102726004803603602081101561075857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166127a2565b6102126127cd565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561084557604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166108405760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b610902565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16806108c7575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6109025760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600090815260066020526040812055565b600a5474010000000000000000000000000000000000000000900460ff161515600114156109db57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166109d65760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b610a98565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680610a5d575060095473ffffffffffffffffffffffffffffffffffffffff1632145b610a985760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600090815260046020526040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600a5474010000000000000000000000000000000000000000900460ff1690565b600a5473ffffffffffffffffffffffffffffffffffffffff163314610b455760405162461bcd60e51b8152600401808060200182810382526030815260200180612afb6030913960400191505060405180910390fd5b60098054600a80547fffffffffffffffffffffffff000000000000000000000000000000000000000080841673ffffffffffffffffffffffffffffffffffffffff838116919091179586905591169091556040805192821680845293909116602083015280517fa14fc14d8620a708a896fd11392a235647d99385500a295f0d7da2a258b2e9679281900390910190a150565b60008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff165b919050565b600a5474010000000000000000000000000000000000000000900460ff16151560011415610ccb57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16610cc65760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b610d88565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680610d4d575060095473ffffffffffffffffffffffffffffffffffffffff1632145b610d885760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600090815260056020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b600a5474010000000000000000000000000000000000000000900460ff16151560011415610e8657604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16610e815760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b610f43565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680610f08575060095473ffffffffffffffffffffffffffffffffffffffff1632145b610f435760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b6000838152600160205260409020610f5c9083836129c3565b50505050565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561102a57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166110255760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b6110e7565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16806110ac575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6110e75760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b60009182526003602052604090912055565b600a5474010000000000000000000000000000000000000000900460ff161515600114156111c157604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166111bc5760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b61127e565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680611243575060095473ffffffffffffffffffffffffffffffffffffffff1632145b61127e5760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b60009182526006602052604090912055565b73ffffffffffffffffffffffffffffffffffffffff808216600090815260076020526040812054909116806112c85782915050610bfe565b92915050565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561139657604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166113915760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b611453565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680611418575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6114535760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600081815260016020526040812061146a91612a6d565b50565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561153557604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166115305760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b6115f2565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16806115b7575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6115f25760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b6000838152602081905260409020610f5c9083836129c3565b60009081526005602052604090205460ff1690565b60095473ffffffffffffffffffffffffffffffffffffffff16331461168c576040805162461bcd60e51b815260206004820152601760248201527f4973206e6f7420677561726469616e206163636f756e74000000000000000000604482015290519081900360640190fd5b600a80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561179b57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166117965760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b611858565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff168061181d575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6118585760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600090815260036020526040812055565b6000818152602081815260409182902080548351601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61010060018616150201909316929092049182018490048402810184019094528084526060939283018282801561191a5780601f106118ef5761010080835404028352916020019161191a565b820191906000526020600020905b8154815290600101906020018083116118fd57829003601f168201915b50505050509050919050565b73ffffffffffffffffffffffffffffffffffffffff821661198e576040805162461bcd60e51b815260206004820152601a60248201527f496e76616c6964207769746864726177616c2061646472657373000000000000604482015290519081900360640190fd5b600061199984611290565b905073ffffffffffffffffffffffffffffffffffffffff811633146119ef5760405162461bcd60e51b8152600401808060200182810382526038815260200180612ac36038913960400191505060405180910390fd5b8115611a04576119ff848461287a565b610f5c565b505073ffffffffffffffffffffffffffffffffffffffff918216600090815260086020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001691909216179055565b60009081526006602052604090205490565b60095473ffffffffffffffffffffffffffffffffffffffff1690565b600a5474010000000000000000000000000000000000000000900460ff16151560011415611b4f57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16611b4a5760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b611c0c565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680611bd1575060095473ffffffffffffffffffffffffffffffffffffffff1632145b611c0c5760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b60009182526005602052604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b600a5474010000000000000000000000000000000000000000900460ff16151560011415611d1257604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16611d0d5760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b611dcf565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680611d94575060095473ffffffffffffffffffffffffffffffffffffffff1632145b611dcf5760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600082815260026020526040902054611de89082612905565b6000928352600260205260409092209190915550565b60009081526002602052604090205490565b73ffffffffffffffffffffffffffffffffffffffff818116600090815260086020526040902054163314611e755760405162461bcd60e51b815260040180806020018281038252603a815260200180612b73603a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260086020526040902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905561146a813361287a565b60008181526001602081815260409283902080548451600294821615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190911693909304601f8101839004830284018301909452838352606093909183018282801561191a5780601f106118ef5761010080835404028352916020019161191a565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561201957604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166120145760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b6120d6565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff168061209b575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6120d65760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b60009182526004602052604090912080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60009081526003602052604090205490565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561220357604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166121fe5760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b6122c0565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680612285575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6122c05760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b60009182526002602052604090912055565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561239a57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166123955760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b612457565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff168061241c575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6124575760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600090815260026020526040812055565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561253057604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1661252b5760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b6125ed565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16806125b2575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6125ed5760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600082815260026020526040902054611de89082612966565b600a5474010000000000000000000000000000000000000000900460ff161515600114156126ce57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166126c95760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b61278b565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680612750575060095473ffffffffffffffffffffffffffffffffffffffff1632145b61278b5760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600081815260208190526040812061146a91612a6d565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152600860205260409020541690565b60095473ffffffffffffffffffffffffffffffffffffffff163314612839576040805162461bcd60e51b815260206004820152601760248201527f4973206e6f7420677561726469616e206163636f756e74000000000000000000604482015290519081900360640190fd5b600a80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055565b73ffffffffffffffffffffffffffffffffffffffff82811660008181526007602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055815142815291517fe04362a1cecc83cc66f0c6704a58da505fba1d6170f40e4543d477e76fa9175c9281900390910190a35050565b60008282018381101561295f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000828211156129bd576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826129f95760008555612a5d565b82601f10612a30578280017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00823516178555612a5d565b82800160010185558215612a5d579182015b82811115612a5d578235825591602001919060010190612a42565b50612a69929150612aad565b5090565b50805460018160011615610100020316600290046000825580601f10612a93575061146a565b601f01602090049060005260206000209081019061146a91905b5b80821115612a695760008155600101612aae56fe4f6e6c7920612074782066726f6d2061206e6f64652773207769746864726177616c20616464726573732063616e20757064617465206974436f6e6669726d6174696f6e206d75737420636f6d652066726f6d206e657720677561726469616e2061646472657373496e76616c6964206f72206f75746461746564206e6574776f726b20636f6e747261637420617474656d7074696e672061636365737320647572696e67206465706c6f796d656e74436f6e6669726d6174696f6e206d75737420636f6d652066726f6d207468652070656e64696e67207769746864726177616c2061646472657373496e76616c6964206f72206f75746461746564206e6574776f726b20636f6e7472616374a2646970667358221220a6aab4c70eb5aab6d329936cf2db4a95c26883cbe93588e033afb1fb38ae775f64736f6c63430007060033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101f05760003560e01c8063a543ccea1161010f578063ca446dd9116100a2578063ebb9d8c911610071578063ebb9d8c914610702578063f6bb3cc414610725578063fd41251314610742578063febffd9914610775576101f0565b8063ca446dd91461066c578063dc97d962146106a5578063e2a4853a146106c2578063e2b202bf146106e5576101f0565b8063adb353dc116100de578063adb353dc146105dc578063bd02d0f5146105ff578063bd4391261461061c578063c031a1801461064f576101f0565b8063a543ccea1461053b578063a6ed563e14610580578063a75b87d2146105af578063abfdcced146105b7576101f0565b80634e91db08116101875780637ae1cfca116101565780637ae1cfca1461043c5780638a0dac4a146104595780638c1600951461048c578063986e791a146104a9576101f0565b80634e91db08146103525780635b49ff6214610375578063616b59f6146103a85780636e899550146103c5576101f0565b806321f8a721116101c357806321f8a721146102555780632c62ff2d1461029b5780632e28d084146102b85780633e49bed01461032f576101f0565b80630b9adc57146101f55780630e14a376146102145780631bed5241146102315780631e0ea61e1461024d575b600080fd5b6102126004803603602081101561020b57600080fd5b503561077d565b005b6102126004803603602081101561022a57600080fd5b5035610913565b610239610ace565b604080519115158252519081900360200190f35b610212610aef565b6102726004803603602081101561026b57600080fd5b5035610bd8565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610212600480360360208110156102b157600080fd5b5035610c03565b610212600480360360408110156102ce57600080fd5b813591908101906040810160208201356401000000008111156102f057600080fd5b82018360208201111561030257600080fd5b8035906020019184600183028401116401000000008311171561032457600080fd5b509092509050610dbe565b6102126004803603604081101561034557600080fd5b5080359060200135610f62565b6102126004803603604081101561036857600080fd5b50803590602001356110f9565b6102726004803603602081101561038b57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611290565b610212600480360360208110156103be57600080fd5b50356112ce565b610212600480360360408110156103db57600080fd5b813591908101906040810160208201356401000000008111156103fd57600080fd5b82018360208201111561040f57600080fd5b8035906020019184600183028401116401000000008311171561043157600080fd5b50909250905061146d565b6102396004803603602081101561045257600080fd5b503561160b565b6102126004803603602081101561046f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611620565b610212600480360360208110156104a257600080fd5b50356116d3565b6104c6600480360360208110156104bf57600080fd5b5035611869565b6040805160208082528351818301528351919283929083019185019080838360005b838110156105005781810151838201526020016104e8565b50505050905090810190601f16801561052d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102126004803603606081101561055157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001351515611926565b61059d6004803603602081101561059657600080fd5b5035611a59565b60408051918252519081900360200190f35b610272611a6b565b610212600480360360408110156105cd57600080fd5b50803590602001351515611a87565b610212600480360360408110156105f257600080fd5b5080359060200135611c4a565b61059d6004803603602081101561061557600080fd5b5035611dfe565b6102126004803603602081101561063257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611e10565b6104c66004803603602081101561066557600080fd5b5035611eca565b6102126004803603604081101561068257600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff16611f51565b61059d600480360360208110156106bb57600080fd5b5035612129565b610212600480360360408110156106d857600080fd5b508035906020013561213b565b610212600480360360208110156106fb57600080fd5b50356122d2565b6102126004803603604081101561071857600080fd5b5080359060200135612468565b6102126004803603602081101561073b57600080fd5b5035612606565b6102726004803603602081101561075857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166127a2565b6102126127cd565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561084557604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166108405760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b610902565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16806108c7575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6109025760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600090815260066020526040812055565b600a5474010000000000000000000000000000000000000000900460ff161515600114156109db57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166109d65760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b610a98565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680610a5d575060095473ffffffffffffffffffffffffffffffffffffffff1632145b610a985760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600090815260046020526040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600a5474010000000000000000000000000000000000000000900460ff1690565b600a5473ffffffffffffffffffffffffffffffffffffffff163314610b455760405162461bcd60e51b8152600401808060200182810382526030815260200180612afb6030913960400191505060405180910390fd5b60098054600a80547fffffffffffffffffffffffff000000000000000000000000000000000000000080841673ffffffffffffffffffffffffffffffffffffffff838116919091179586905591169091556040805192821680845293909116602083015280517fa14fc14d8620a708a896fd11392a235647d99385500a295f0d7da2a258b2e9679281900390910190a150565b60008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff165b919050565b600a5474010000000000000000000000000000000000000000900460ff16151560011415610ccb57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16610cc65760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b610d88565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680610d4d575060095473ffffffffffffffffffffffffffffffffffffffff1632145b610d885760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600090815260056020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b600a5474010000000000000000000000000000000000000000900460ff16151560011415610e8657604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16610e815760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b610f43565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680610f08575060095473ffffffffffffffffffffffffffffffffffffffff1632145b610f435760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b6000838152600160205260409020610f5c9083836129c3565b50505050565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561102a57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166110255760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b6110e7565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16806110ac575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6110e75760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b60009182526003602052604090912055565b600a5474010000000000000000000000000000000000000000900460ff161515600114156111c157604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166111bc5760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b61127e565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680611243575060095473ffffffffffffffffffffffffffffffffffffffff1632145b61127e5760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b60009182526006602052604090912055565b73ffffffffffffffffffffffffffffffffffffffff808216600090815260076020526040812054909116806112c85782915050610bfe565b92915050565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561139657604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166113915760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b611453565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680611418575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6114535760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600081815260016020526040812061146a91612a6d565b50565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561153557604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166115305760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b6115f2565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16806115b7575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6115f25760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b6000838152602081905260409020610f5c9083836129c3565b60009081526005602052604090205460ff1690565b60095473ffffffffffffffffffffffffffffffffffffffff16331461168c576040805162461bcd60e51b815260206004820152601760248201527f4973206e6f7420677561726469616e206163636f756e74000000000000000000604482015290519081900360640190fd5b600a80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561179b57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166117965760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b611858565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff168061181d575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6118585760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600090815260036020526040812055565b6000818152602081815260409182902080548351601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61010060018616150201909316929092049182018490048402810184019094528084526060939283018282801561191a5780601f106118ef5761010080835404028352916020019161191a565b820191906000526020600020905b8154815290600101906020018083116118fd57829003601f168201915b50505050509050919050565b73ffffffffffffffffffffffffffffffffffffffff821661198e576040805162461bcd60e51b815260206004820152601a60248201527f496e76616c6964207769746864726177616c2061646472657373000000000000604482015290519081900360640190fd5b600061199984611290565b905073ffffffffffffffffffffffffffffffffffffffff811633146119ef5760405162461bcd60e51b8152600401808060200182810382526038815260200180612ac36038913960400191505060405180910390fd5b8115611a04576119ff848461287a565b610f5c565b505073ffffffffffffffffffffffffffffffffffffffff918216600090815260086020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001691909216179055565b60009081526006602052604090205490565b60095473ffffffffffffffffffffffffffffffffffffffff1690565b600a5474010000000000000000000000000000000000000000900460ff16151560011415611b4f57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16611b4a5760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b611c0c565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680611bd1575060095473ffffffffffffffffffffffffffffffffffffffff1632145b611c0c5760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b60009182526005602052604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b600a5474010000000000000000000000000000000000000000900460ff16151560011415611d1257604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16611d0d5760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b611dcf565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680611d94575060095473ffffffffffffffffffffffffffffffffffffffff1632145b611dcf5760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600082815260026020526040902054611de89082612905565b6000928352600260205260409092209190915550565b60009081526002602052604090205490565b73ffffffffffffffffffffffffffffffffffffffff818116600090815260086020526040902054163314611e755760405162461bcd60e51b815260040180806020018281038252603a815260200180612b73603a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260086020526040902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905561146a813361287a565b60008181526001602081815260409283902080548451600294821615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190911693909304601f8101839004830284018301909452838352606093909183018282801561191a5780601f106118ef5761010080835404028352916020019161191a565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561201957604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166120145760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b6120d6565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff168061209b575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6120d65760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b60009182526004602052604090912080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60009081526003602052604090205490565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561220357604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166121fe5760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b6122c0565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680612285575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6122c05760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b60009182526002602052604090912055565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561239a57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166123955760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b612457565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff168061241c575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6124575760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600090815260026020526040812055565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561253057604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1661252b5760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b6125ed565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16806125b2575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6125ed5760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600082815260026020526040902054611de89082612966565b600a5474010000000000000000000000000000000000000000900460ff161515600114156126ce57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166126c95760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b61278b565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680612750575060095473ffffffffffffffffffffffffffffffffffffffff1632145b61278b5760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600081815260208190526040812061146a91612a6d565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152600860205260409020541690565b60095473ffffffffffffffffffffffffffffffffffffffff163314612839576040805162461bcd60e51b815260206004820152601760248201527f4973206e6f7420677561726469616e206163636f756e74000000000000000000604482015290519081900360640190fd5b600a80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055565b73ffffffffffffffffffffffffffffffffffffffff82811660008181526007602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055815142815291517fe04362a1cecc83cc66f0c6704a58da505fba1d6170f40e4543d477e76fa9175c9281900390910190a35050565b60008282018381101561295f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000828211156129bd576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826129f95760008555612a5d565b82601f10612a30578280017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00823516178555612a5d565b82800160010185558215612a5d579182015b82811115612a5d578235825591602001919060010190612a42565b50612a69929150612aad565b5090565b50805460018160011615610100020316600290046000825580601f10612a93575061146a565b601f01602090049060005260206000209081019061146a91905b5b80821115612a695760008155600101612aae56fe4f6e6c7920612074782066726f6d2061206e6f64652773207769746864726177616c20616464726573732063616e20757064617465206974436f6e6669726d6174696f6e206d75737420636f6d652066726f6d206e657720677561726469616e2061646472657373496e76616c6964206f72206f75746461746564206e6574776f726b20636f6e747261637420617474656d7074696e672061636365737320647572696e67206465706c6f796d656e74436f6e6669726d6174696f6e206d75737420636f6d652066726f6d207468652070656e64696e67207769746864726177616c2061646472657373496e76616c6964206f72206f75746461746564206e6574776f726b20636f6e7472616374a2646970667358221220a6aab4c70eb5aab6d329936cf2db4a95c26883cbe93588e033afb1fb38ae775f64736f6c63430007060033
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ 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.