From efece25c01e5bb48ce6d5861bd417e4dd614d893 Mon Sep 17 00:00:00 2001 From: Krain Date: Tue, 9 Apr 2024 18:41:33 +0800 Subject: [PATCH 1/4] governance: add governance and policy contracts --- contracts/solidity/ERC1967Proxy.sol | 46 +++ contracts/solidity/GovProxyAdmin.sol | 35 +++ contracts/solidity/GovReward.sol | 87 ++++++ contracts/solidity/Governance.sol | 396 ++++++++++++++++++++++++++ contracts/solidity/GovernanceVote.sol | 70 +++++ contracts/solidity/Policy.sol | 83 ++++++ 6 files changed, 717 insertions(+) create mode 100644 contracts/solidity/ERC1967Proxy.sol create mode 100644 contracts/solidity/GovProxyAdmin.sol create mode 100644 contracts/solidity/GovReward.sol create mode 100644 contracts/solidity/Governance.sol create mode 100644 contracts/solidity/GovernanceVote.sol create mode 100644 contracts/solidity/Policy.sol diff --git a/contracts/solidity/ERC1967Proxy.sol b/contracts/solidity/ERC1967Proxy.sol new file mode 100644 index 0000000000..f42fd9aaa5 --- /dev/null +++ b/contracts/solidity/ERC1967Proxy.sol @@ -0,0 +1,46 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts (last updated v5.0.0) (proxy/ERC1967/ERC1967Proxy.sol) + +pragma solidity ^0.8.20; + +import {Proxy} from "@openzeppelin/contracts/proxy/Proxy.sol"; +import {ERC1967Utils} from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol"; + +/** + * @dev This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an + * implementation address that can be changed. This address is stored in storage in the location specified by + * https://eips.ethereum.org/EIPS/eip-1967[ERC-1967], so that it doesn't conflict with the storage layout of the + * implementation behind the proxy. + */ +contract ERC1967Proxy is Proxy { + /** + * @dev Initializes the upgradeable proxy with an initial implementation specified by `implementation`. + * + * If `_data` is nonempty, it's used as data in a delegate call to `implementation`. This will typically be an + * encoded function call, and allows initializing the storage of the proxy like a Solidity constructor. + * + * Requirements: + * + * - If `data` is empty, `msg.value` must be zero. + */ + constructor(address implementation, bytes memory _data) payable { + ERC1967Utils.upgradeToAndCall(implementation, _data); + } + + /** + * @dev Returns the current implementation address. + * + * TIP: To get this value clients can read directly from the storage slot shown below (specified by ERC-1967) using + * the https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call. + * `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc` + */ + function _implementation() + internal + view + virtual + override + returns (address) + { + return ERC1967Utils.getImplementation(); + } +} diff --git a/contracts/solidity/GovProxyAdmin.sol b/contracts/solidity/GovProxyAdmin.sol new file mode 100644 index 0000000000..8359b4d5df --- /dev/null +++ b/contracts/solidity/GovProxyAdmin.sol @@ -0,0 +1,35 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.20; + +import "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol"; +import "./GovernanceVote.sol"; + +/** + * @dev This is an auxiliary contract meant to be assigned as the admin of a {Proxy}. + * Use GovernanceVote to manage upgrade + */ +contract GovProxyAdmin is GovernanceVote { + /** + * @dev Upgrades `proxy` to `implementation` and calls a function on the new implementation. See + * {TransparentUpgradeableProxy-upgradeToAndCall}. + * + * Requirements: + * + * - This contract must be the admin of `proxy`. + */ + function upgradeAndCall( + UUPSUpgradeable proxy, + address implementation, + bytes memory data + ) + public + payable + virtual + needVote( + keccak256("upgradeAndCall"), + keccak256(abi.encode(proxy, implementation, data)) + ) + { + proxy.upgradeToAndCall{value: msg.value}(implementation, data); + } +} diff --git a/contracts/solidity/GovReward.sol b/contracts/solidity/GovReward.sol new file mode 100644 index 0000000000..09a125b72e --- /dev/null +++ b/contracts/solidity/GovReward.sol @@ -0,0 +1,87 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.20; + +import "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol"; + +library TransferHelper { + function safeTransfer(address token, address to, uint256 value) internal { + // bytes4(keccak256(bytes('transfer(address,uint256)'))); + (bool success, bytes memory data) = token.call( + abi.encodeWithSelector(0xa9059cbb, to, value) + ); + require( + success && (data.length == 0 || abi.decode(data, (bool))), + "safeTransfer: transfer failed" + ); + } + + function safeTransferETH(address to, uint256 value) internal { + (bool success, ) = to.call{value: value}(new bytes(0)); + require(success, "safeTransferETH: ETH transfer failed"); + } +} + +interface IGovernance { + // get current consensus group + function getCurrentConsensus() external view returns (address[] memory); +} + +interface IGovReward { + function getMiners() external view returns (address[] memory); + + function withdraw() external; +} + +contract GovReward is IGovReward, UUPSUpgradeable { + address public constant SELF = 0x1212100000000000000000000000000000000003; + address public constant GOV_ADMIN = + 0x1212000000000000000000000000000000000000; + // governance contact + address public constant GOV = 0x1212000000000000000000000000000000000001; + + receive() external payable {} + + modifier onlyGov() { + require(msg.sender == GOV, "not governance"); + _; + } + + modifier onlyAdmin() { + require(msg.sender == GOV_ADMIN, "not admin"); + _; + } + + function _authorizeUpgrade( + address newImplementation + ) internal virtual override onlyAdmin {} + + // Only for precompiled uups implementation in genesis file, need to be removed when upgrading the contract. + // This override is added because "immutable __self" in UUPSUpgradeable is not avaliable in precompiled contract. + function _checkProxy() internal view virtual override { + if ( + address(this) == SELF || // Must be called through delegatecall + ERC1967Utils.getImplementation() != SELF // Must be called through an active proxy + ) { + revert UUPSUnauthorizedCallContext(); + } + } + + // Only for precompiled uups implementation in genesis file, need to be removed when upgrading the contract. + // This override is added because "immutable __self" in UUPSUpgradeable is not avaliable in precompiled contract. + function _checkNotDelegated() internal view virtual override { + if (address(this) != SELF) { + // Must not be called through delegatecall + revert UUPSUnauthorizedCallContext(); + } + } + + function getMiners() external view override returns (address[] memory) { + return IGovernance(GOV).getCurrentConsensus(); + } + + function withdraw() external onlyGov { + if (address(this).balance > 0) { + TransferHelper.safeTransferETH(GOV, address(this).balance); + } + } +} diff --git a/contracts/solidity/Governance.sol b/contracts/solidity/Governance.sol new file mode 100644 index 0000000000..8515899bfc --- /dev/null +++ b/contracts/solidity/Governance.sol @@ -0,0 +1,396 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.20; + +import "@openzeppelin/contracts/utils/structs/EnumerableSet.sol"; +import "@openzeppelin/contracts/utils/ReentrancyGuard.sol"; +import "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol"; + +interface IGovernance { + event Register(address candidate); + event Exit(address candidate); + event Vote(address voter, address to, uint amount); + event Revoke(address voter, address from, uint amount); + event VoterClaim(address voter, uint reward); + event CandidateWithdraw(address candidate, uint amount); + event Persist(address[] validators); + + // register to be a candidate with gas + function registerCandidate(uint shareRate) external payable; + + // exit candidates and wait for withdraw + function exitCandidate() external; + + // withdraw register fee after 2 epoch + function withdrawRegisterFee() external; + + // vote with gas, only 1 target is allowed + function vote(address to) external payable; + + // revoke votes and claim rewards + function revokeVote() external; + + // only claim rewards + function claimReward() external; + + // get reward amount to be claimed when settle + function unclaimedRewardOf(address voter) external view returns (uint); + + // get consensus group members + function getCurrentConsensus() external view returns (address[] memory); + + // compute and update cached consensus group + function onPersist() external; +} + +interface IGovReward { + function withdraw() external; +} + +contract Governance is IGovernance, ReentrancyGuard, UUPSUpgradeable { + using EnumerableSet for EnumerableSet.AddressSet; + + address public constant SELF = 0x1212100000000000000000000000000000000001; + address public constant GOV_ADMIN = + 0x1212000000000000000000000000000000000000; + // GovReward contract + address public constant GOV_REWARD = + 0x1212000000000000000000000000000000000003; + address public constant SYS_CALL = + 0xffffFFFfFFffffffffffffffFfFFFfffFFFfFFfE; + uint public constant SCALE_FACTOR = 10 ** 18; + + uint public consensusSize; + // the min balance for voting + uint public minVoteAmount; + // the min amount to make vote result valid + uint public voteTargetAmount; + // register fee + uint public registerFee; + // duration of an epoch (in blocks) + uint public epochDuration; + + // candidate list + EnumerableSet.AddressSet internal candidateList; + // settings about how much reward given to voter + mapping(address => uint) public shareRateOf; + // the height when exit happens + mapping(address => uint) public exitHeightOf; + // the left register fee to exit + mapping(address => uint) public candidateBalanceOf; + + uint public totalVotes; + // candidate=>amount + mapping(address => uint) public receivedVotes; + // voter=>candidate + mapping(address => address) public votedTo; + // voter=>amount + mapping(address => uint) public votedAmount; + + // the block height when current epoch starts + uint public currentEpochStartHeight; + // the current group of block validators + address[] public currentConsensus; + // a fixed list of stand-by validators to be selected as consensus + address[] public standByValidators; + + // candidate=>total + mapping(address => uint) public candidateGasPerVote; + // voter=>number + mapping(address => uint) public voterGasPerVote; + // voter=>height + mapping(address => uint) public voteHeight; + // candidate=>height=>number + mapping(address => mapping(uint => uint)) public epochStartGasPerVote; + + modifier onlyAdmin() { + require(msg.sender == GOV_ADMIN, "not admin"); + _; + } + + function _authorizeUpgrade( + address newImplementation + ) internal virtual override onlyAdmin {} + + // Only for precompiled uups implementation in genesis file, need to be removed when upgrading the contract. + // This override is added because "immutable __self" in UUPSUpgradeable is not avaliable in precompiled contract. + function _checkProxy() internal view virtual override { + if ( + address(this) == SELF || // Must be called through delegatecall + ERC1967Utils.getImplementation() != SELF // Must be called through an active proxy + ) { + revert UUPSUnauthorizedCallContext(); + } + } + + // Only for precompiled uups implementation in genesis file, need to be removed when upgrading the contract. + // This override is added because "immutable __self" in UUPSUpgradeable is not avaliable in precompiled contract. + function _checkNotDelegated() internal view virtual override { + if (address(this) != SELF) { + // Must not be called through delegatecall + revert UUPSUnauthorizedCallContext(); + } + } + + receive() external payable nonReentrant { + require(msg.sender == GOV_REWARD, "side call not allowed"); + address[] memory validators = currentConsensus; + uint length = validators.length; + for (uint i = 0; i < length; i++) { + if (receivedVotes[validators[i]] != 0) { + candidateGasPerVote[validators[i]] += + (msg.value * shareRateOf[validators[i]] * SCALE_FACTOR) / + consensusSize / + 1000 / + receivedVotes[validators[i]]; + } + _safeTransferETH( + validators[i], + (msg.value * (1000 - shareRateOf[validators[i]])) / + consensusSize / + 1000 + ); + } + } + + function getCandidates() public view returns (address[] memory) { + return candidateList.values(); + } + + function registerCandidate(uint shareRate) external payable { + require(tx.origin == msg.sender, "only allow EOA"); + require(msg.value >= registerFee, "insufficient amount"); + require(shareRate < 1000, "invalid rate"); + require(!candidateList.contains(msg.sender), "candidate exists"); + require(exitHeightOf[msg.sender] == 0, "left not claimed"); + candidateList.add(msg.sender); + + // record share rate and balance + shareRateOf[msg.sender] = shareRate; + candidateBalanceOf[msg.sender] = msg.value; + emit Register(msg.sender); + } + + function exitCandidate() external { + require(candidateList.contains(msg.sender), "candidate not exists"); + // remove candidate list, balance still locked + candidateList.remove(msg.sender); + exitHeightOf[msg.sender] = block.number; + emit Exit(msg.sender); + } + + function withdrawRegisterFee() external nonReentrant { + // require 2 epochs to exit candidate list + // NOTE: suppose epoch change always happens in time + require( + exitHeightOf[msg.sender] > 0 && + block.number > exitHeightOf[msg.sender] + 2 * epochDuration, + "withdraw not allowed" + ); + + // send back balance + uint amount = candidateBalanceOf[msg.sender]; + delete candidateBalanceOf[msg.sender]; + delete exitHeightOf[msg.sender]; + delete shareRateOf[msg.sender]; + + emit CandidateWithdraw(msg.sender, amount); + _safeTransferETH(msg.sender, amount); + } + + function vote(address candidateTo) external payable nonReentrant { + require(msg.value >= minVoteAmount, "insufficient amount"); + require(candidateList.contains(candidateTo), "candidate not allowed"); + address votedCandidate = votedTo[msg.sender]; + require( + votedCandidate == candidateTo || votedCandidate == address(0), + "only one choice is allowed" + ); + + // settle reward here + uint unclaimedReward = 0; + if (votedCandidate != address(0)) { + unclaimedReward = _settleReward(msg.sender, votedCandidate); + } else { + // record tag value + votedTo[msg.sender] = candidateTo; + voterGasPerVote[msg.sender] = candidateGasPerVote[candidateTo]; + } + + // update votes + votedAmount[msg.sender] += msg.value; + receivedVotes[candidateTo] += msg.value; + totalVotes += msg.value; + // NOTE: the left reward in the first epoch of first vote will be unclaimable. + if (votedCandidate == address(0)) { + voteHeight[msg.sender] = block.number; + } + + emit Vote(msg.sender, candidateTo, msg.value); + if (unclaimedReward > 0) _safeTransferETH(msg.sender, unclaimedReward); + } + + function revokeVote() external nonReentrant { + address candidateFrom = votedTo[msg.sender]; + uint amount = votedAmount[msg.sender]; + require( + candidateFrom != address(0) && amount > 0, + "revoke not allowed" + ); + + // settle reward here + uint unclaimedReward = _settleReward(msg.sender, candidateFrom); + + // update votes + receivedVotes[candidateFrom] -= amount; + totalVotes -= amount; + delete votedTo[msg.sender]; + delete votedAmount[msg.sender]; + + // delete tag value + delete voterGasPerVote[msg.sender]; + delete voteHeight[msg.sender]; + + emit Revoke(msg.sender, candidateFrom, amount); + _safeTransferETH(msg.sender, amount + unclaimedReward); + } + + function claimReward() external nonReentrant { + address votedCandidate = votedTo[msg.sender]; + require(votedCandidate != address(0), "claim not allowed"); + uint unclaimedReward = _settleReward(msg.sender, votedCandidate); + if (unclaimedReward > 0) _safeTransferETH(msg.sender, unclaimedReward); + } + + function unclaimedRewardOf(address voter) external view returns (uint) { + address votedCandidate = votedTo[voter]; + if (votedCandidate == address(0)) return 0; + else return _computeReward(voter, votedCandidate); + } + + function onPersist() external { + // NOTE: suppose onPersist always happens at the beginning of every block + require(msg.sender == SYS_CALL, "side call not allowed"); + // only settle validator reward if there is no epoch change + IGovReward(GOV_REWARD).withdraw(); + if (block.number < currentEpochStartHeight + epochDuration) return; + + // update tag values + currentEpochStartHeight = block.number; + address[] memory candidates = candidateList.values(); + uint length = candidates.length; + for (uint i = 0; i < length; i++) { + epochStartGasPerVote[candidates[i]][ + block.number / epochDuration + ] = candidateGasPerVote[candidates[i]]; + } + + // compute and update consensus + if (length < consensusSize || totalVotes < voteTargetAmount) { + currentConsensus = standByValidators; + } else { + currentConsensus = _computeConsensus(); + } + emit Persist(currentConsensus); + } + + function getCurrentConsensus() public view returns (address[] memory) { + return currentConsensus; + } + + function _computeReward( + address voter, + address candidate + ) internal view returns (uint) { + // NOTE: suppose onPersist always happens at the beginning of every block, then latestGasPerVote is always the latest + uint height = voteHeight[voter]; + uint lastGasPerVote = voterGasPerVote[voter]; + uint latestGasPerVote = candidateGasPerVote[candidate]; + if (currentEpochStartHeight <= height) return 0; + + // NOTE: suppose epoch change always happens at the beginning of a block, then vote in that block should wait another epoch to farm reward + uint voteEpochEndGasPerVote = epochStartGasPerVote[candidate][ + height / epochDuration + 1 + ]; + if (voteEpochEndGasPerVote > lastGasPerVote) { + lastGasPerVote = voteEpochEndGasPerVote; + } + + return + (votedAmount[voter] * (latestGasPerVote - lastGasPerVote)) / + SCALE_FACTOR; + } + + function _settleReward( + address voter, + address candidate + ) internal returns (uint) { + uint reward = _computeReward(voter, candidate); + voterGasPerVote[voter] = candidateGasPerVote[candidate]; + emit VoterClaim(voter, reward); + return reward; + } + + function _safeTransferETH(address to, uint value) internal { + (bool success, ) = to.call{value: value}(new bytes(0)); + require(success, "safeTransferETH: ETH transfer failed"); + } + + function _computeConsensus() internal view returns (address[] memory) { + // build up a votes array + address[] memory candidates = getCandidates(); + uint length = candidates.length; + uint[] memory votes = new uint[](length); + for (uint i = 0; i < length; i++) { + votes[i] = receivedVotes[candidates[i]]; + } + + // sort top consensusSize based on votes + _topK(candidates, votes, consensusSize); + + // return the first consensusSize candidates as consensus list + address[] memory consensus = new address[](consensusSize); + for (uint i = 0; i < consensusSize; i++) { + consensus[i] = candidates[i]; + } + return consensus; + } + + function _topK( + address[] memory candidates, + uint[] memory votes, + uint k + ) internal pure { + uint length = candidates.length; + for (int j = int(k) / 2 - 1; j >= 0; j--) { + _heapDown(candidates, votes, uint(j), k); + } + for (uint i = k; i < length; i++) { + if (votes[i] > votes[0]) { + votes[0] = votes[i]; + candidates[0] = candidates[i]; + _heapDown(candidates, votes, 0, k); + } + } + } + + function _heapDown( + address[] memory candidates, + uint[] memory votes, + uint j, + uint k + ) internal pure { + uint i = 2 * j + 1; + while (i < k) { + if (i + 1 < k && votes[i] > votes[i + 1]) { + i += 1; + } + if (votes[i] > votes[j]) { + break; + } + (votes[i], votes[j]) = (votes[j], votes[i]); + (candidates[i], candidates[j]) = (candidates[j], candidates[i]); + j = i; + i = i * 2 + 1; + } + } +} diff --git a/contracts/solidity/GovernanceVote.sol b/contracts/solidity/GovernanceVote.sol new file mode 100644 index 0000000000..754d493cf0 --- /dev/null +++ b/contracts/solidity/GovernanceVote.sol @@ -0,0 +1,70 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.20; + +interface IGovReward { + function getMiners() external view returns (address[] memory); +} + +abstract contract GovernanceVote { + // events for voting + event Vote(address voter, bytes32 methodKey, bytes32 paramKey); + event VotePass(bytes32 methodKey, bytes32 paramKey); + + // governance reward contact + address public constant govReward = + 0x1212000000000000000000000000000000000003; + + // vote mapping, method key ->(user address -> param key) + mapping(bytes32 => mapping(address => bytes32)) private voteMap; + + function isMiner(address addr) public view returns (bool) { + address[] memory miners = IGovReward(govReward).getMiners(); + for (uint i = 0; i < miners.length; i++) { + if (addr == miners[i]) { + return true; + } + } + return false; + } + + function vote(bytes32 methodKey, bytes32 paramKey) internal { + voteMap[methodKey][msg.sender] = paramKey; + emit Vote(msg.sender, methodKey, paramKey); + } + + function clearVote(bytes32 methodKey) internal { + address[] memory voters = IGovReward(govReward).getMiners(); + for (uint i; i < voters.length; i++) { + delete voteMap[methodKey][voters[i]]; + } + } + + function checkVote( + bytes32 methodKey, + bytes32 paramKey + ) internal view returns (bool isPass) { + address[] memory voters = IGovReward(govReward).getMiners(); + uint votedCount; + for (uint i; i < voters.length; i++) { + if (voteMap[methodKey][voters[i]] == paramKey) { + votedCount++; + } + } + return votedCount >= (voters.length + 1) / 2; + } + + modifier needVote(bytes32 methodKey, bytes32 paramKey) { + require(isMiner(msg.sender), "not Miner"); + // update vote map + vote(methodKey, paramKey); + // check vote, if not pass just return + if (!checkVote(methodKey, paramKey)) { + return; + } + // execute method + _; + emit VotePass(methodKey, paramKey); + // clear vote + clearVote(methodKey); + } +} diff --git a/contracts/solidity/Policy.sol b/contracts/solidity/Policy.sol new file mode 100644 index 0000000000..af90d610ad --- /dev/null +++ b/contracts/solidity/Policy.sol @@ -0,0 +1,83 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.20; + +import "./GovernanceVote.sol"; +import "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol"; + +contract Policy is GovernanceVote, UUPSUpgradeable { + address public constant SELF = 0x1212100000000000000000000000000000000002; + address public constant GOV_ADMIN = + 0x1212000000000000000000000000000000000000; + + uint256 public minGasPrice; + mapping(address => bool) public isBlackListed; + + event SetMinGasPrice(uint256 gasPrice); + event AddBlackList(address addr); + event RemoveBlackList(address addr); + + modifier onlyAdmin() { + require(msg.sender == GOV_ADMIN, "not admin"); + _; + } + + function _authorizeUpgrade( + address newImplementation + ) internal virtual override onlyAdmin {} + + // Only for precompiled uups implementation in genesis file, need to be removed when upgrading the contract. + // This override is added because "immutable __self" in UUPSUpgradeable is not avaliable in precompiled contract. + function _checkProxy() internal view virtual override { + if ( + address(this) == SELF || // Must be called through delegatecall + ERC1967Utils.getImplementation() != SELF // Must be called through an active proxy + ) { + revert UUPSUnauthorizedCallContext(); + } + } + + // Only for precompiled uups implementation in genesis file, need to be removed when upgrading the contract. + // This override is added because "immutable __self" in UUPSUpgradeable is not avaliable in precompiled contract. + function _checkNotDelegated() internal view virtual override { + if (address(this) != SELF) { + // Must not be called through delegatecall + revert UUPSUnauthorizedCallContext(); + } + } + + // set minimum gasprice + function setMinGasPrice( + uint256 _gasPrice + ) + external + needVote(keccak256("setMinGasPrice"), keccak256(abi.encode(_gasPrice))) + { + require(_gasPrice > 0, "Policy: setMinGasPrice invalid parameter"); + minGasPrice = _gasPrice; + emit SetMinGasPrice(_gasPrice); + } + + // add blacklist + function addBlackList( + address _addr + ) + external + needVote(keccak256("addBlackList"), keccak256(abi.encode(_addr))) + { + require(!isBlackListed[_addr], "Policy: Blacklist already exists"); + isBlackListed[_addr] = true; + emit AddBlackList(_addr); + } + + // remove blacklist + function removeBlackList( + address _addr + ) + external + needVote(keccak256("removeBlackList"), keccak256(abi.encode(_addr))) + { + require(isBlackListed[_addr], "Policy: Blacklist does not exist"); + delete isBlackListed[_addr]; + emit RemoveBlackList(_addr); + } +} From 75bc45d241dfe9c6843fb5a6337edad127a196f7 Mon Sep 17 00:00:00 2001 From: Krain Date: Tue, 9 Apr 2024 18:49:38 +0800 Subject: [PATCH 2/4] governance: update genesis file for governance contracts --- config/genesis_testnet.json | 91 ++++++++++++++--------- privnet/four/genesis_privnet.json | 92 +++++++++++++++++------ privnet/four/genesis_template.json | 94 ++++++++++++++++++------ privnet/seven/genesis_privnet.json | 34 +++++---- privnet/seven/genesis_template.json | 106 ++++++++++++++++++++------- privnet/single/genesis_privnet.json | 72 +++++++++++++----- privnet/single/genesis_template.json | 72 +++++++++++++----- 7 files changed, 403 insertions(+), 158 deletions(-) diff --git a/config/genesis_testnet.json b/config/genesis_testnet.json index eca757b6df..18cc47e7cc 100644 --- a/config/genesis_testnet.json +++ b/config/genesis_testnet.json @@ -1,6 +1,6 @@ { "config": { - "chainId": 12227330, + "chainId": 12227331, "homesteadBlock": 0, "eip150Block": 0, "eip155Block": 0, @@ -26,50 +26,71 @@ "0x7976ad987d572377d39fb4bab86c80e08b6f8327", "0xd711da2d8c71a801fc351163337656f1321343a0" ], - "coinbase": "0x1212100000000000000000000000000000000003" + "coinbase": "0x1212000000000000000000000000000000000003" } }, "difficulty": "1", "gasLimit": "30000000", "alloc": { - "cbbeca26e89011e32ba25610520b20741b809007": { - "balance": "100000000000000000000000" + "0x1212000000000000000000000000000000000000": { + "balance": "0", + "code": "0x6080604052600436106100345760003560e01c8063701b70ac1461003957806389dc5c841461006e5780639623609d146100a2575b600080fd5b34801561004557600080fd5b5061005961005436600461053f565b6100b7565b60405190151581526020015b60405180910390f35b34801561007a57600080fd5b5061008a600361090960911b0181565b6040516001600160a01b039091168152602001610065565b6100b56100b03660046105aa565b610184565b005b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610100573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101289190810190610664565b905060005b815181101561017a5781818151811061014857610148610716565b60200260200101516001600160a01b0316846001600160a01b031603610172575060019392505050565b60010161012d565b5060009392505050565b7fe739b9109d83c1c6d0d640fe9ed476fc5862a6de5483b00678a3fffa7a2be2f68383836040516020016101ba93929190610772565b604051602081830303815290604052805190602001206101d9336100b7565b6102155760405162461bcd60e51b81526020600482015260096024820152682737ba1026b4b732b960b91b604482015260640160405180910390fd5b61021f82826102e0565b610229828261033e565b156102d95760405163278f794360e11b81526001600160a01b03861690634f1ef28690349061025e90889088906004016107a7565b6000604051808303818588803b15801561027757600080fd5b505af115801561028b573d6000803e3d6000fd5b505060408051868152602081018690527ff5aa3d6492eaf1a4d6787c5bd36e8ec61c245d4af2fd1fd387e387a50de9f8c594500191506102c89050565b60405180910390a16102d982610450565b5050505050565b6000828152602081815260408083203380855290835292819020849055805192835290820184905281018290527f61699483e2a58589628399a22e34da872b583143ab99b3245ba6dacf4974d2e39060600160405180910390a15050565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610387573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103af9190810190610664565b90506000805b8251811015610429578460008088815260200190815260200160002060008584815181106103e5576103e5610716565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205403610421578161041d816107e9565b9250505b6001016103b5565b5060028251600161043a9190610802565b6104449190610815565b11159150505b92915050565b6000600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610498573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104c09190810190610664565b905060005b81518110156105225760008084815260200190815260200160002060008383815181106104f4576104f4610716565b6020908102919091018101516001600160a01b031682528101919091526040016000908120556001016104c5565b505050565b6001600160a01b038116811461053c57600080fd5b50565b60006020828403121561055157600080fd5b813561055c81610527565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156105a2576105a2610563565b604052919050565b6000806000606084860312156105bf57600080fd5b83356105ca81610527565b92506020848101356105db81610527565b9250604085013567ffffffffffffffff808211156105f857600080fd5b818701915087601f83011261060c57600080fd5b81358181111561061e5761061e610563565b610630601f8201601f19168501610579565b9150808252888482850101111561064657600080fd5b80848401858401376000848284010152508093505050509250925092565b6000602080838503121561067757600080fd5b825167ffffffffffffffff8082111561068f57600080fd5b818501915085601f8301126106a357600080fd5b8151818111156106b5576106b5610563565b8060051b91506106c6848301610579565b81815291830184019184810190888411156106e057600080fd5b938501935b8385101561070a57845192506106fa83610527565b82825293850193908501906106e5565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b6000815180845260005b8181101561075257602081850181015186830182015201610736565b506000602082860101526020601f19601f83011685010191505092915050565b6001600160a01b0384811682528316602082015260606040820181905260009061079e9083018461072c565b95945050505050565b6001600160a01b03831681526040602082018190526000906107cb9083018461072c565b949350505050565b634e487b7160e01b600052601160045260246000fd5b6000600182016107fb576107fb6107d3565b5060010190565b8082018082111561044a5761044a6107d3565b60008261083257634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212209e61d38d47b2583b6176290ca9691082e36c167c502217e5f59481c644e946dc64736f6c63430008180033" }, - "4ea2a4697d40247c8be1f2b9ffa03a0e92dcbacc": { - "balance": "100000000000000000000" - }, - "d10f47396dc6c76ad53546158751582d3e2683ef": { - "balance": "100000000000000000000" + "0x1212000000000000000000000000000000000001": { + "balance": "0", + "code": "0x6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea2646970667358221220965379b4e29f73cf2ee1957914dc167d4751357fc5df24ccd8586bd4bf9b47e964736f6c63430008180033", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x01", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x07", + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x0de0b6b3a7640000", + "0x0000000000000000000000000000000000000000000000000000000000000003": "0x027b46536c66c8e3000000", + "0x0000000000000000000000000000000000000000000000000000000000000004": "0x3635c9adc5dea00000", + "0x0000000000000000000000000000000000000000000000000000000000000005": "0xec40", + "0x0000000000000000000000000000000000000000000000000000000000000010": "0x07", + "0x0000000000000000000000000000000000000000000000000000000000000011": "0x07", + "0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c68": "0xcbbeca26e89011e32ba25610520b20741b809007", + "0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c69": "0x4ea2a4697d40247c8be1f2b9ffa03a0e92dcbacc", + "0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6a": "0xd10f47396dc6c76ad53546158751582d3e2683ef", + "0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6b": "0xa51fe05b0183d01607bf48c1718d1168a1c11171", + "0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6c": "0x01b517b301bb143476da35bb4a1399500d925514", + "0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6d": "0x7976ad987d572377d39fb4bab86c80e08b6f8327", + "0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6e": "0xd711da2d8c71a801fc351163337656f1321343a0", + "0x1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae672": "0xcbbeca26e89011e32ba25610520b20741b809007", + "0x1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae673": "0x4ea2a4697d40247c8be1f2b9ffa03a0e92dcbacc", + "0x1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae674": "0xd10f47396dc6c76ad53546158751582d3e2683ef", + "0x1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae675": "0xa51fe05b0183d01607bf48c1718d1168a1c11171", + "0x1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae676": "0x01b517b301bb143476da35bb4a1399500d925514", + "0x1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae677": "0x7976ad987d572377d39fb4bab86c80e08b6f8327", + "0x1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae678": "0xd711da2d8c71a801fc351163337656f1321343a0", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x1212100000000000000000000000000000000001" + } }, - "a51fe05b0183d01607bf48c1718d1168a1c11171": { - "balance": "100000000000000000000" + "0x1212000000000000000000000000000000000002": { + "balance": "0", + "code": "0x6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea2646970667358221220965379b4e29f73cf2ee1957914dc167d4751357fc5df24ccd8586bd4bf9b47e964736f6c63430008180033", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x989680", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x1212100000000000000000000000000000000002" + } }, - "01b517b301bb143476da35bb4a1399500d925514": { - "balance": "100000000000000000000" + "0x1212000000000000000000000000000000000003": { + "balance": "0", + "code": "0x6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea2646970667358221220965379b4e29f73cf2ee1957914dc167d4751357fc5df24ccd8586bd4bf9b47e964736f6c63430008180033", + "storage": { + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x1212100000000000000000000000000000000003" + } }, - "7976ad987d572377d39fb4bab86c80e08b6f8327": { - "balance": "100000000000000000000" + "0x1212100000000000000000000000000000000001": { + "balance": "0", + "code": "0x60806040526004361061021e5760003560e01c8063786255f111610123578063a6580de8116100ab578063d8ce95ab1161006f578063d8ce95ab146108ee578063da0b33171461091b578063db069ba514610948578063f13c03af14610975578063f4bbb82f1461098e57600080fd5b8063a6580de814610854578063a681dfec1461086a578063ad3cb1cc1461087f578063b88a802f146108bd578063ce4b5bbe146108d257600080fd5b8063902bdc26116100f2578063902bdc26146107b45780639690293b146107e157806398ca58df146107f65780639f9d7f8114610823578063a5257a1d1461083857600080fd5b8063786255f11461071e57806384ccebc9146107565780638e1900a8146107715780638f1b32191461079e57600080fd5b80634d21e426116101a6578063611905331161017557806361190533146106805780636900cad8146106955780636db504e7146106b55780636dd7d8ea146106eb57806373c7fbe9146106fe57600080fd5b80634d21e426146106155780634f1ef286146106425780634ff0876a1461065557806352d1902d1461066b57600080fd5b80630ea6a041116101ed5780630ea6a041146105685780631f26f256146105a057806326bd0c4e146105b657806343c14b22146105d35780634c569c25146105e857600080fd5b806303f187ea146104f457806306a49fce1461051d5780630b2a85ea1461053f5780630d15fd771461055257600080fd5b366104ef5761022b6109a4565b33600361090960911b011461027f5760405162461bcd60e51b81526020600482015260156024820152741cda59194818d85b1b081b9bdd08185b1b1bddd959605a1b60448201526064015b60405180910390fd5b600060108054806020026020016040519081016040528092919081815260200182805480156102d757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116102b9575b505083519394506000925050505b818110156104e057600c6000848381518110610303576103036121a5565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205460001461044657600c6000848381518110610349576103496121a5565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020546103e8600154670de0b6b3a764000060086000888781518110610397576103976121a5565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054346103cb91906121d1565b6103d591906121d1565b6103df91906121fe565b6103e991906121fe565b6103f391906121fe565b60126000858481518110610409576104096121a5565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546104409190612212565b90915550505b6104d883828151811061045b5761045b6121a5565b60200260200101516103e86001546008600088878151811061047f5761047f6121a5565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020546103e86104b59190612225565b6104bf90346121d1565b6104c991906121fe565b6104d391906121fe565b6109ce565b6001016102e5565b5050506104ed6001600055565b005b600080fd5b34801561050057600080fd5b5061050a60045481565b6040519081526020015b60405180910390f35b34801561052957600080fd5b50610532610a9c565b6040516105149190612238565b6104ed61054d366004612285565b610aad565b34801561055e57600080fd5b5061050a600b5481565b34801561057457600080fd5b50610588610583366004612285565b610c6f565b6040516001600160a01b039091168152602001610514565b3480156105ac57600080fd5b5061050a600f5481565b3480156105c257600080fd5b50610588600162012121608c1b0181565b3480156105df57600080fd5b506104ed610c99565b3480156105f457600080fd5b5061050a6106033660046122ba565b60126020526000908152604090205481565b34801561062157600080fd5b5061050a6106303660046122ba565b600a6020526000908152604090205481565b6104ed6106503660046122eb565b610e11565b34801561066157600080fd5b5061050a60055481565b34801561067757600080fd5b5061050a610e30565b34801561068c57600080fd5b506104ed610e4d565b3480156106a157600080fd5b506105886106b0366004612285565b610f56565b3480156106c157600080fd5b506105886106d03660046122ba565b600d602052600090815260409020546001600160a01b031681565b6104ed6106f93660046122ba565b610f66565b34801561070a57600080fd5b5061050a6107193660046122ba565b6111da565b34801561072a57600080fd5b5061050a6107393660046123ad565b601560209081526000928352604080842090915290825290205481565b34801561076257600080fd5b506105886002600160a01b0381565b34801561077d57600080fd5b5061050a61078c3660046122ba565b60136020526000908152604090205481565b3480156107aa57600080fd5b5061050a60025481565b3480156107c057600080fd5b5061050a6107cf3660046122ba565b60086020526000908152604090205481565b3480156107ed57600080fd5b506104ed611216565b34801561080257600080fd5b5061050a6108113660046122ba565b60146020526000908152604090205481565b34801561082f57600080fd5b506105326112b8565b34801561084457600080fd5b50610588600361090960911b0181565b34801561086057600080fd5b5061050a60015481565b34801561087657600080fd5b506104ed61131a565b34801561088b57600080fd5b506108b0604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161051491906123fb565b3480156108c957600080fd5b506104ed61152b565b3480156108de57600080fd5b5061050a670de0b6b3a764000081565b3480156108fa57600080fd5b5061050a6109093660046122ba565b600c6020526000908152604090205481565b34801561092757600080fd5b5061050a6109363660046122ba565b60096020526000908152604090205481565b34801561095457600080fd5b5061050a6109633660046122ba565b600e6020526000908152604090205481565b34801561098157600080fd5b5061058861090960911b81565b34801561099a57600080fd5b5061050a60035481565b6002600054036109c757604051633ee5aeb560e01b815260040160405180910390fd5b6002600055565b604080516000808252602082019092526001600160a01b0384169083906040516109f8919061242e565b60006040518083038185875af1925050503d8060008114610a35576040519150601f19603f3d011682016040523d82523d6000602084013e610a3a565b606091505b5050905080610a975760405162461bcd60e51b8152602060048201526024808201527f736166655472616e736665724554483a20455448207472616e736665722066616044820152631a5b195960e21b6064820152608401610276565b505050565b6060610aa860066115b7565b905090565b323314610aed5760405162461bcd60e51b815260206004820152600e60248201526d6f6e6c7920616c6c6f7720454f4160901b6044820152606401610276565b600454341015610b355760405162461bcd60e51b81526020600482015260136024820152721a5b9cdd59999a58da595b9d08185b5bdd5b9d606a1b6044820152606401610276565b6103e88110610b755760405162461bcd60e51b815260206004820152600c60248201526b696e76616c6964207261746560a01b6044820152606401610276565b610b806006336115c4565b15610bc05760405162461bcd60e51b815260206004820152601060248201526f63616e6469646174652065786973747360801b6044820152606401610276565b3360009081526009602052604090205415610c105760405162461bcd60e51b815260206004820152601060248201526f1b19599d081b9bdd0818db185a5b595960821b6044820152606401610276565b610c1b6006336115eb565b50336000818152600860209081526040808320859055600a82529182902034905590519182527feeda149c76076b34d4b9d8896c2f7efc0d33d1c7b53ea3c5db490d64613f603a910160405180910390a150565b60108181548110610c7f57600080fd5b6000918252602090912001546001600160a01b0316905081565b610ca16109a4565b336000908152600d6020908152604080832054600e909252909120546001600160a01b03909116908115801590610cd85750600081115b610d195760405162461bcd60e51b81526020600482015260126024820152711c995d9bdad9481b9bdd08185b1b1bddd95960721b6044820152606401610276565b6000610d253384611600565b6001600160a01b0384166000908152600c6020526040812080549293508492909190610d52908490612225565b9250508190555081600b6000828254610d6b9190612225565b9091555050336000818152600d6020908152604080832080546001600160a01b0319169055600e825280832083905560138252808320839055601482528083209290925581519283526001600160a01b0386169083015281018390527fb698e31a2abee5824d0d7bcfd2339aead7f9e9ae413fba50bf554ff3fa470b7b9060600160405180910390a1610e02336104d38385612212565b505050610e0f6001600055565b565b610e1961167b565b610e22826116e0565b610e2c8282611720565b5050565b6000610e3a6117dd565b5060008051602061252983398151915290565b610e556109a4565b3360009081526009602052604090205415801590610e995750600554610e7c9060026121d1565b33600090815260096020526040902054610e969190612212565b43115b610edc5760405162461bcd60e51b81526020600482015260146024820152731dda5d1a191c985dc81b9bdd08185b1b1bddd95960621b6044820152606401610276565b336000818152600a60209081526040808320805490849055600983528184208490556008835281842093909355805193845290830182905290917f142e26dcca50281d2c46d90446bfc1c9bc260cef355ce917a52f1fec7c54b5bf910160405180910390a1610f4b33826109ce565b50610e0f6001600055565b60118181548110610c7f57600080fd5b610f6e6109a4565b600254341015610fb65760405162461bcd60e51b81526020600482015260136024820152721a5b9cdd59999a58da595b9d08185b5bdd5b9d606a1b6044820152606401610276565b610fc16006826115c4565b6110055760405162461bcd60e51b815260206004820152601560248201527418d85b991a59185d19481b9bdd08185b1b1bddd959605a1b6044820152606401610276565b336000908152600d60205260409020546001600160a01b0390811690821681148061103757506001600160a01b038116155b6110835760405162461bcd60e51b815260206004820152601a60248201527f6f6e6c79206f6e652063686f69636520697320616c6c6f7765640000000000006044820152606401610276565b60006001600160a01b038216156110a55761109e3383611600565b90506110e9565b336000818152600d6020908152604080832080546001600160a01b0319166001600160a01b0389169081179091558352601282528083205493835260139091529020555b336000908152600e602052604081208054349290611108908490612212565b90915550506001600160a01b0383166000908152600c602052604081208054349290611135908490612212565b9250508190555034600b600082825461114e9190612212565b90915550506001600160a01b038216611174573360009081526014602052604090204390555b604080513381526001600160a01b0385166020820152348183015290517f66a9138482c99e9baf08860110ef332cc0c23b4a199a53593d8db0fc8f96fbfc9181900360600190a180156111cb576111cb33826109ce565b50506111d76001600055565b50565b6001600160a01b038082166000908152600d6020526040812054909116806112055750600092915050565b61120f8382611806565b9392505050565b6112216006336115c4565b6112645760405162461bcd60e51b815260206004820152601460248201527363616e646964617465206e6f742065786973747360601b6044820152606401610276565b61126f6006336118eb565b503360008181526009602090815260409182902043905590519182527f7c79e6e24ed041d1072d54523b53956f01b91b835f0490856370594d9d14470e910160405180910390a1565b6060601080548060200260200160405190810160405280929190818152602001828054801561131057602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116112f2575b5050505050905090565b336002600160a01b03146113685760405162461bcd60e51b81526020600482015260156024820152741cda59194818d85b1b081b9bdd08185b1b1bddd959605a1b6044820152606401610276565b600361090960911b016001600160a01b0316633ccfd60b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156113ab57600080fd5b505af11580156113bf573d6000803e3d6000fd5b50505050600554600f546113d39190612212565b4310156113dc57565b43600f5560006113ec60066115b7565b805190915060005b818110156114a25760126000848381518110611412576114126121a5565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205460156000858481518110611451576114516121a5565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006005544361148991906121fe565b81526020810191909152604001600020556001016113f4565b506001548110806114b65750600354600b54105b156114d157601180546114cb916010916120eb565b506114ef565b6114d9611900565b80516114ed9160109160209091019061213b565b505b7fe59e3b36b5c97b419925b60c92f5a4324c993934eb9cfe5232def67c1739337c601060405161151f919061244a565b60405180910390a15050565b6115336109a4565b336000908152600d60205260409020546001600160a01b03168061158d5760405162461bcd60e51b815260206004820152601160248201527018db185a5b481b9bdd08185b1b1bddd959607a1b6044820152606401610276565b60006115993383611600565b905080156115ab576115ab33826109ce565b5050610e0f6001600055565b6060600061120f83611a80565b6001600160a01b038116600090815260018301602052604081205415155b90505b92915050565b60006115e2836001600160a01b038416611adc565b60008061160d8484611806565b6001600160a01b03848116600090815260126020908152604080832054938916808452601383529281902093909355825191825281018390529192507fbeceb521ccd2816457290c3d1cb70cc1537f14307f2d9ac26a5093a38ea40948910160405180910390a19392505050565b30600162012121608c1b0114806116c25750600162012121608c1b016116b6600080516020612529833981519152546001600160a01b031690565b6001600160a01b031614155b15610e0f5760405163703e46dd60e11b815260040160405180910390fd5b3361090960911b146111d75760405162461bcd60e51b81526020600482015260096024820152683737ba1030b236b4b760b91b6044820152606401610276565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561177a575060408051601f3d908101601f191682019092526117779181019061248e565b60015b6117a257604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610276565b60008051602061252983398151915281146117d357604051632a87526960e21b815260048101829052602401610276565b610a978383611b2b565b30600162012121608c1b0114610e0f5760405163703e46dd60e11b815260040160405180910390fd5b6001600160a01b03808316600090815260146020908152604080832054601383528184205494861684526012909252822054600f5492939192831061185157600093505050506115e5565b6001600160a01b0385166000908152601560205260408120600554829061187890876121fe565b611883906001612212565b8152602001908152602001600020549050828111156118a0578092505b670de0b6b3a76400006118b38484612225565b6001600160a01b0389166000908152600e60205260409020546118d691906121d1565b6118e091906121fe565b979650505050505050565b60006115e2836001600160a01b038416611b81565b6060600061190c610a9c565b805190915060008167ffffffffffffffff81111561192c5761192c6122d5565b604051908082528060200260200182016040528015611955578160200160208202803683370190505b50905060005b828110156119c757600c6000858381518110611979576119796121a5565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020548282815181106119b4576119b46121a5565b602090810291909101015260010161195b565b506119d58382600154611c7b565b600060015467ffffffffffffffff8111156119f2576119f26122d5565b604051908082528060200260200182016040528015611a1b578160200160208202803683370190505b50905060005b600154811015611a7757848181518110611a3d57611a3d6121a5565b6020026020010151828281518110611a5757611a576121a5565b6001600160a01b0390921660209283029190910190910152600101611a21565b50949350505050565b606081600001805480602002602001604051908101604052809291908181526020018280548015611ad057602002820191906000526020600020905b815481526020019060010190808311611abc575b50505050509050919050565b6000818152600183016020526040812054611b23575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556115e5565b5060006115e5565b611b3482611da7565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611b7957610a978282611e0c565b610e2c611e82565b60008181526001830160205260408120548015611c6a576000611ba5600183612225565b8554909150600090611bb990600190612225565b9050808214611c1e576000866000018281548110611bd957611bd96121a5565b9060005260206000200154905080876000018481548110611bfc57611bfc6121a5565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611c2f57611c2f6124a7565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506115e5565b60009150506115e5565b5092915050565b825160006001611c8c6002856124bd565b611c9691906124eb565b90505b60008112611cbf57611cad85858386611ea1565b80611cb78161250b565b915050611c99565b50815b81811015611da05783600081518110611cdd57611cdd6121a5565b6020026020010151848281518110611cf757611cf76121a5565b60200260200101511115611d9857838181518110611d1757611d176121a5565b602002602001015184600081518110611d3257611d326121a5565b602002602001018181525050848181518110611d5057611d506121a5565b602002602001015185600081518110611d6b57611d6b6121a5565b60200260200101906001600160a01b031690816001600160a01b031681525050611d988585600086611ea1565b600101611cc2565b5050505050565b806001600160a01b03163b600003611ddd57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610276565b60008051602061252983398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611e29919061242e565b600060405180830381855af49150503d8060008114611e64576040519150601f19603f3d011682016040523d82523d6000602084013e611e69565b606091505b5091509150611e7985838361206d565b95945050505050565b3415610e0f5760405163b398979f60e01b815260040160405180910390fd5b6000611eae8360026121d1565b611eb9906001612212565b90505b81811015611da05781611ed0826001612212565b108015611f18575083611ee4826001612212565b81518110611ef457611ef46121a5565b6020026020010151848281518110611f0e57611f0e6121a5565b6020026020010151115b15611f2b57611f28600182612212565b90505b838381518110611f3d57611f3d6121a5565b6020026020010151848281518110611f5757611f576121a5565b602002602001015111611da057838381518110611f7657611f766121a5565b6020026020010151848281518110611f9057611f906121a5565b6020026020010151858381518110611faa57611faa6121a5565b60200260200101868681518110611fc357611fc36121a5565b6020026020010182815250828152505050848381518110611fe657611fe66121a5565b6020026020010151858281518110612000576120006121a5565b602002602001015186838151811061201a5761201a6121a5565b60200260200101878681518110612033576120336121a5565b6001600160a01b0393841660209182029290920101529116905291508161205b8160026121d1565b612066906001612212565b9050611ebc565b6060826120825761207d826120c2565b61120f565b815115801561209957506001600160a01b0384163b155b15611c7457604051639996b31560e01b81526001600160a01b0385166004820152602401610276565b8051156120d25780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b82805482825590600052602060002090810192821561212b5760005260206000209182015b8281111561212b578254825591600101919060010190612110565b50612137929150612190565b5090565b82805482825590600052602060002090810192821561212b579160200282015b8281111561212b57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019061215b565b5b808211156121375760008155600101612191565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176115e5576115e56121bb565b634e487b7160e01b600052601260045260246000fd5b60008261220d5761220d6121e8565b500490565b808201808211156115e5576115e56121bb565b818103818111156115e5576115e56121bb565b6020808252825182820181905260009190848201906040850190845b818110156122795783516001600160a01b031683529284019291840191600101612254565b50909695505050505050565b60006020828403121561229757600080fd5b5035919050565b80356001600160a01b03811681146122b557600080fd5b919050565b6000602082840312156122cc57600080fd5b6115e28261229e565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156122fe57600080fd5b6123078361229e565b9150602083013567ffffffffffffffff8082111561232457600080fd5b818501915085601f83011261233857600080fd5b81358181111561234a5761234a6122d5565b604051601f8201601f19908116603f01168101908382118183101715612372576123726122d5565b8160405282815288602084870101111561238b57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600080604083850312156123c057600080fd5b6123c98361229e565b946020939093013593505050565b60005b838110156123f25781810151838201526020016123da565b50506000910152565b602081526000825180602084015261241a8160408501602087016123d7565b601f01601f19169190910160400192915050565b600082516124408184602087016123d7565b9190910192915050565b6020808252825482820181905260008481528281209092916040850190845b818110156122795783546001600160a01b031683526001938401939285019201612469565b6000602082840312156124a057600080fd5b5051919050565b634e487b7160e01b600052603160045260246000fd5b6000826124cc576124cc6121e8565b600160ff1b8214600019841416156124e6576124e66121bb565b500590565b8181036000831280158383131683831282161715611c7457611c746121bb565b6000600160ff1b8201612520576125206121bb565b50600019019056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220b015f0f58d95238a34a124b1f2a432eacd9551b6263a31392fc3f3ee94eb6dc564736f6c63430008180033" }, - "d711da2d8c71a801fc351163337656f1321343a0": { - "balance": "100000000000000000000" + "0x1212100000000000000000000000000000000002": { + "balance": "0", + "code": "0x6080604052600436106100a75760003560e01c806390ac18661161006457806390ac18661461018a578063ad3cb1cc146101aa578063d96ed505146101e8578063e47d6060146101fe578063e4997dc51461022e578063f13c03af1461024e57600080fd5b80630ecb93c0146100ac57806326bd0c4e146100ce5780634f1ef2861461010857806352d1902d1461011b578063701b70ac1461013e57806389dc5c841461016e575b600080fd5b3480156100b857600080fd5b506100cc6100c7366004610d37565b610267565b005b3480156100da57600080fd5b506100eb600262012121608c1b0181565b6040516001600160a01b0390911681526020015b60405180910390f35b6100cc610116366004610d9b565b610406565b34801561012757600080fd5b50610130610425565b6040519081526020016100ff565b34801561014a57600080fd5b5061015e610159366004610d37565b610442565b60405190151581526020016100ff565b34801561017a57600080fd5b506100eb600361090960911b0181565b34801561019657600080fd5b506100cc6101a5366004610e43565b61050f565b3480156101b657600080fd5b506101db604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100ff9190610e80565b3480156101f457600080fd5b5061013060015481565b34801561020a57600080fd5b5061015e610219366004610d37565b60026020526000908152604090205460ff1681565b34801561023a57600080fd5b506100cc610249366004610d37565b610631565b34801561025a57600080fd5b506100eb61090960911b81565b604080516001600160a01b03831660208201527f4912b57f7ea75243ecaff76a75bdedbc13a6f58c1c967b0427b8aee0a276309e9101604051602081830303815290604052805190602001206102bc33610442565b6102e15760405162461bcd60e51b81526004016102d890610eb3565b60405180910390fd5b6102eb8282610778565b6102f582826107d6565b6102fe57505050565b6001600160a01b03831660009081526002602052604090205460ff16156103675760405162461bcd60e51b815260206004820181905260248201527f506f6c6963793a20426c61636b6c69737420616c72656164792065786973747360448201526064016102d8565b6001600160a01b038316600081815260026020908152604091829020805460ff1916600117905590519182527ff9dfc5050bb4c9b200f093a995458a80fb19943585b189fe5d317391abdc764591015b60405180910390a160408051838152602081018390527ff5aa3d6492eaf1a4d6787c5bd36e8ec61c245d4af2fd1fd387e387a50de9f8c5910160405180910390a1610401826108e8565b505050565b61040e6109ba565b61041782610a21565b6104218282610a64565b5050565b600061042f610b21565b5060008051602061103883398151915290565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561048b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104b39190810190610ed6565b905060005b8151811015610505578181815181106104d3576104d3610f88565b60200260200101516001600160a01b0316846001600160a01b0316036104fd575060019392505050565b6001016104b8565b5060009392505050565b7f0d48c1723f9a97946a942509ee525d5449a8f1d6460432fc2b267126c5cb1bce8160405160200161054391815260200190565b6040516020818303038152906040528051906020012061056233610442565b61057e5760405162461bcd60e51b81526004016102d890610eb3565b6105888282610778565b61059282826107d6565b61059b57505050565b600083116105fc5760405162461bcd60e51b815260206004820152602860248201527f506f6c6963793a207365744d696e476173507269636520696e76616c6964207060448201526730b930b6b2ba32b960c11b60648201526084016102d8565b60018390556040518381527f707bb10a9a561bf00f6acc0b0231a12146dc98352b4e8c8deb55e141ace32890906020016103b7565b604080516001600160a01b03831660208201527f310cc9bfce6443143f03d0cdc4d66afa0b3c689539eb3e65cb1820b56d67246591016040516020818303038152906040528051906020012061068633610442565b6106a25760405162461bcd60e51b81526004016102d890610eb3565b6106ac8282610778565b6106b682826107d6565b6106bf57505050565b6001600160a01b03831660009081526002602052604090205460ff166107275760405162461bcd60e51b815260206004820181905260248201527f506f6c6963793a20426c61636b6c69737420646f6573206e6f7420657869737460448201526064016102d8565b6001600160a01b038316600081815260026020908152604091829020805460ff1916905590519182527f2234edb6f393cd207251f6579b5852192c144c4c12b9cc32e80539ef12faed3f91016103b7565b6000828152602081815260408083203380855290835292819020849055805192835290820184905281018290527f61699483e2a58589628399a22e34da872b583143ab99b3245ba6dacf4974d2e39060600160405180910390a15050565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561081f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108479190810190610ed6565b90506000805b82518110156108c15784600080888152602001908152602001600020600085848151811061087d5761087d610f88565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054036108b957816108b581610fb4565b9250505b60010161084d565b506002825160016108d29190610fcd565b6108dc9190610fe0565b11159150505b92915050565b6000600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610930573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109589190810190610ed6565b905060005b815181101561040157600080848152602001908152602001600020600083838151811061098c5761098c610f88565b6020908102919091018101516001600160a01b0316825281019190915260400160009081205560010161095d565b30600262012121608c1b011480610a015750600262012121608c1b016109f5600080516020611038833981519152546001600160a01b031690565b6001600160a01b031614155b15610a1f5760405163703e46dd60e11b815260040160405180910390fd5b565b3361090960911b14610a615760405162461bcd60e51b81526020600482015260096024820152683737ba1030b236b4b760b91b60448201526064016102d8565b50565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610abe575060408051601f3d908101601f19168201909252610abb91810190611002565b60015b610ae657604051634c9c8ce360e01b81526001600160a01b03831660048201526024016102d8565b6000805160206110388339815191528114610b1757604051632a87526960e21b8152600481018290526024016102d8565b6104018383610b4a565b30600262012121608c1b0114610a1f5760405163703e46dd60e11b815260040160405180910390fd5b610b5382610ba0565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610b98576104018282610c05565b610421610c7b565b806001600160a01b03163b600003610bd657604051634c9c8ce360e01b81526001600160a01b03821660048201526024016102d8565b60008051602061103883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610c22919061101b565b600060405180830381855af49150503d8060008114610c5d576040519150601f19603f3d011682016040523d82523d6000602084013e610c62565b606091505b5091509150610c72858383610c9a565b95945050505050565b3415610a1f5760405163b398979f60e01b815260040160405180910390fd5b606082610caf57610caa82610cf9565b610cf2565b8151158015610cc657506001600160a01b0384163b155b15610cef57604051639996b31560e01b81526001600160a01b03851660048201526024016102d8565b50805b9392505050565b805115610d095780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6001600160a01b0381168114610a6157600080fd5b600060208284031215610d4957600080fd5b8135610cf281610d22565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610d9357610d93610d54565b604052919050565b60008060408385031215610dae57600080fd5b8235610db981610d22565b915060208381013567ffffffffffffffff80821115610dd757600080fd5b818601915086601f830112610deb57600080fd5b813581811115610dfd57610dfd610d54565b610e0f601f8201601f19168501610d6a565b91508082528784828501011115610e2557600080fd5b80848401858401376000848284010152508093505050509250929050565b600060208284031215610e5557600080fd5b5035919050565b60005b83811015610e77578181015183820152602001610e5f565b50506000910152565b6020815260008251806020840152610e9f816040850160208701610e5c565b601f01601f19169190910160400192915050565b6020808252600990820152683737ba1026b4b732b960b91b604082015260600190565b60006020808385031215610ee957600080fd5b825167ffffffffffffffff80821115610f0157600080fd5b818501915085601f830112610f1557600080fd5b815181811115610f2757610f27610d54565b8060051b9150610f38848301610d6a565b8181529183018401918481019088841115610f5257600080fd5b938501935b83851015610f7c5784519250610f6c83610d22565b8282529385019390850190610f57565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201610fc657610fc6610f9e565b5060010190565b808201808211156108e2576108e2610f9e565b600082610ffd57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561101457600080fd5b5051919050565b6000825161102d818460208701610e5c565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122080dc9c63474cff6584c343a283076a4aa9dce3cd3153430acf1110c38cf73d7a64736f6c63430008180033" }, - "1212100000000000000000000000000000000004": { - "balance": "100000000000000000000000", - "code": "0x608060405234801561001057600080fd5b506004361061012c5760003560e01c8063a1fd836e116100ad578063cf30901211610071578063cf309012146102c3578063de35f5cb146102e7578063e976d431146102fa578063f83d08ba1461030b578063fec95b481461031357600080fd5b8063a1fd836e14610266578063a69df4b51461028c578063aab8ab0c14610294578063b2ca3ec4146102a7578063c34c7882146102ba57600080fd5b80637b259db4116100f45780637b259db4146101f35780638312f149146102125780638406c0791461022f5780638955fe8a1461024a5780638da5cb5b1461025357600080fd5b80630c340a2414610131578063131305e71461016157806335aa2e44146101a257806344c7e2f4146101b5578063504ad4ec146101de575b600080fd5b600554610144906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61018a61016f3660046111c9565b6008602052600090815260409020546001600160401b031681565b6040516001600160401b039091168152602001610158565b6101446101b03660046111f2565b610327565b6101446101c33660046111c9565b6007602052600090815260409020546001600160a01b031681565b6101f16101ec366004611256565b610351565b005b60035461018a906801000000000000000090046001600160401b031681565b610221670de0b6b3a764000081565b604051908152602001610158565b61014473acc85ffb71f83b9bb264f6d64541926d375a6c1d81565b61022160015481565b600454610144906001600160a01b031681565b60035461027a90600160801b900460ff1681565b60405160ff9091168152602001610158565b6101f161068f565b6101f16102a23660046111c9565b610740565b600654610144906001600160a01b031681565b61022160025481565b6003546102d790600160901b900460ff1681565b6040519015158152602001610158565b60035461018a906001600160401b031681565b61022169021e19e0c9bab240000081565b6101f161094d565b60035461027a90600160881b900460ff1681565b6000818154811061033757600080fd5b6000918252602090912001546001600160a01b0316905081565b3373acc85ffb71f83b9bb264f6d64541926d375a6c1d146103a75760405162461bcd60e51b815260206004820152600b60248201526a2737ba103932b630bcb2b960a91b60448201526064015b60405180910390fd5b600354600160901b900460ff16156103d15760405162461bcd60e51b815260040161039e906112cf565b808061041f5760405162461bcd60e51b815260206004820152601f60248201527f4174206c656173742031206465706f7369742069732072657175697265642e00604482015260640161039e565b600354600160881b900460ff1681111561047b5760405162461bcd60e51b815260206004820152601b60248201527f546f6f206d616e79206465706f736974732070726f76696465642e0000000000604482015260640161039e565b600354610492906001600160401b03166001611311565b6001600160401b0316838360008181106104ae576104ae611338565b90506060020160400160208101906104c691906111c9565b6001600160401b0316146105375760405162461bcd60e51b815260206004820152603260248201527f4f6e6c7920746865206e657874206e6f6e636520697320616c6c6f776564206960448201527137103a3432903334b939ba10383937b7b31760711b606482015260840161039e565b60035461055090849084906001600160401b03166109da565b6105b15760405162461bcd60e51b815260206004820152602c60248201527f546865206e6f6e636573206f66207468652070726f6f6673206d75737420626560448201526b1039bab139b2b8bab2b73a1760a11b606482015260840161039e565b6105bc868686610a6d565b61061e5760405162461bcd60e51b815260206004820152602d60248201527f496e76616c6964206f7220696e73756666696369656e742076616c696461746f60448201526c391039b4b3b730ba3ab932b99760991b606482015260840161039e565b828261062b60018461134e565b81811061063a5761063a611338565b905060600201604001602081019061065291906111c9565b6003805467ffffffffffffffff19166001600160401b03929092169190911790556001805490879055610686818585610cff565b50505050505050565b6005546001600160a01b031633146106d85760405162461bcd60e51b815260206004820152600c60248201526b2737ba1033b7bb32b93737b960a11b604482015260640161039e565b600354600160901b900460ff166107315760405162461bcd60e51b815260206004820152601a60248201527f436f6e747261637420697320616c7265616479206c6f636b6564000000000000604482015260640161039e565b6003805460ff60901b19169055565b600354600160901b900460ff161561076a5760405162461bcd60e51b815260040161039e906112cf565b6001600160401b0380821660009081526007602090815260408083205460089092528220546001600160a01b039091169216908190036107e15760405162461bcd60e51b81526020600482015260126024820152714e6f20636c61696d61626c652066756e647360701b604482015260640161039e565b6001600160a01b03821661082c5760405162461bcd60e51b81526020600482015260126024820152714e6f20636c61696d61626c652066756e647360701b604482015260640161039e565b6001600160401b0383166000908152600860209081526040808320805467ffffffffffffffff191690556007909152812080546001600160a01b031916905561087482610fd7565b90506000836001600160a01b03168260405160006040518083038185875af1925050503d80600081146108c3576040519150601f19603f3d011682016040523d82523d6000602084013e6108c8565b606091505b505090508061090b5760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015260640161039e565b7fc050de00ef4ba397e08c78836db608d83db9c6335bf95019597119b9536f938985848660405161093e93929190611361565b60405180910390a15050505050565b6006546001600160a01b0316331461099b5760405162461bcd60e51b8152602060048201526011602482015270139bdd081cd958dd5c9a5d1e51dd585c99607a1b604482015260640161039e565b600354600160901b900460ff16156109c55760405162461bcd60e51b815260040161039e906112cf565b6003805460ff60901b1916600160901b179055565b600060015b60ff81168410610a60576109f660ff821684611311565b6001600160401b03168585610a0c60018561138d565b60ff16818110610a1e57610a1e611338565b9050606002016040016020810190610a3691906111c9565b6001600160401b031614610a4e576000915050610a66565b80610a58816113a6565b9150506109df565b50600190505b9392505050565b600354600090600160801b900460ff168214610acb5760405162461bcd60e51b815260206004820152601d60248201527f496e76616c6964206e756d626572206f66207369676e6174757265732e000000604482015260640161039e565b600084604051602001610ae091815260200190565b60408051601f198184030181529082905280516020918201207f19457468657265756d205369676e6564204d6573736167653a0a33320000000091830191909152603c820152605c0160408051808303601f190181528282528051602090910120600580845260c0840190925292506000919081602001602082028036833701905050905060005b6005811015610c3a5736868683818110610b8457610b84611338565b6060029190910191506001905084610b9f60208401846113c5565b604080516000815260208181018084529490945260ff9092168282015291840135606082015290830135608082015260a0016020604051602081039080840390855afa158015610bf3573d6000803e3d6000fd5b50505060206040510351838381518110610c0f57610c0f611338565b6001600160a01b03909216602092830291909101909101525080610c32816113e8565b915050610b68565b5060008080805b6005811015610cef578291505b6007821015610cd05760008281548110610c6a57610c6a611338565b60009182526020909120015485516001600160a01b0390911690869083908110610c9657610c96611338565b60200260200101516001600160a01b031603610cbe5783610cb6816113e8565b945050610cd0565b81610cc8816113e8565b925050610c4e565b610cdb826001611401565b925080610ce7816113e8565b915050610c41565b5050506005149695505050505050565b828160005b81811015610d845736858583818110610d1f57610d1f611338565b90506060020190506000610d61826040016020810190610d3f91906111c9565b610d4f60408501602086016111c9565b610d5c6020860186611414565b610ff7565b9050610d6d858261109c565b945050508080610d7c906113e8565b915050610d04565b506001548214610dce5760405162461bcd60e51b815260206004820152601560248201527424b73b30b634b2103232b837b9b4ba103937b7ba1760591b604482015260640161039e565b60005b81811015610fcf5736858583818110610dec57610dec611338565b60600291909101915060009050610e066020830183611414565b90506001600160a01b0381163b610f57576000610e31610e2c60408501602086016111c9565b610fd7565b90506000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610e80576040519150601f19603f3d011682016040523d82523d6000602084013e610e85565b606091505b505090508015610eed577f2c20d394553ff35017f1f147d7e3a1ffc1caeaf1e422b5d9730fabe8c90042fe610ec060608601604087016111c9565b610ed060408701602088016111c9565b85604051610ee093929190611361565b60405180910390a1610f50565b610ef684611116565b7fb79dcd48431a0507fde36076107e606e63739e8a604f219cebe9aa0c1f17a115610f2760608601604087016111c9565b610f3760408701602088016111c9565b85604051610f4793929190611361565b60405180910390a15b5050610fba565b610f6082611116565b7fb79dcd48431a0507fde36076107e606e63739e8a604f219cebe9aa0c1f17a115610f9160608401604085016111c9565b610fa160408501602086016111c9565b83604051610fb193929190611361565b60405180910390a15b50508080610fc7906113e8565b915050610dd1565b505050505050565b6000610ff16001600160401b0383166402540be40061143d565b92915050565b6040516001600160c01b031960c085811b8216602084015284901b1660288201526bffffffffffffffffffffffff19606083901b16603082015260009060029060440160408051601f198184030181529082905261105491611454565b602060405180830381855afa158015611071573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906110949190611483565b949350505050565b6000600283836040516020016110bc929190918252602082015260400190565b60408051601f19818403018152908290526110d691611454565b602060405180830381855afa1580156110f3573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610a669190611483565b6111236020820182611414565b6007600061113760608501604086016111c9565b6001600160401b03168152602080820192909252604090810160002080546001600160a01b0319166001600160a01b0394909416939093179092556111809183019083016111c9565b6008600061119460608501604086016111c9565b6001600160401b0390811682526020820192909252604001600020805467ffffffffffffffff19169290911691909117905550565b6000602082840312156111db57600080fd5b81356001600160401b0381168114610a6657600080fd5b60006020828403121561120457600080fd5b5035919050565b60008083601f84011261121d57600080fd5b5081356001600160401b0381111561123457600080fd5b60208301915083602060608302850101111561124f57600080fd5b9250929050565b60008060008060006060868803121561126e57600080fd5b8535945060208601356001600160401b038082111561128c57600080fd5b61129889838a0161120b565b909650945060408801359150808211156112b157600080fd5b506112be8882890161120b565b969995985093965092949392505050565b60208082526012908201527110dbdb9d1c9858dd081a5cc81b1bd8dad95960721b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6001600160401b03818116838216019080821115611331576113316112fb565b5092915050565b634e487b7160e01b600052603260045260246000fd5b81810381811115610ff157610ff16112fb565b6001600160401b0393841681529190921660208201526001600160a01b03909116604082015260600190565b60ff8281168282160390811115610ff157610ff16112fb565b600060ff821660ff81036113bc576113bc6112fb565b60010192915050565b6000602082840312156113d757600080fd5b813560ff81168114610a6657600080fd5b6000600182016113fa576113fa6112fb565b5060010190565b80820180821115610ff157610ff16112fb565b60006020828403121561142657600080fd5b81356001600160a01b0381168114610a6657600080fd5b8082028115828204841417610ff157610ff16112fb565b6000825160005b81811015611475576020818601810151858301520161145b565b506000920191825250919050565b60006020828403121561149557600080fd5b505191905056fea2646970667358221220e02d47f2295ab4356fd494c7d31cea4076fca2f8f702a5ccedfac1b69565502464736f6c63430008120033", - "storage": { - "0x0000000000000000000000000000000000000000000000000000000000000005": "0x0f467b64b0f970e63994fe8a120410151cc094db", - "0x0000000000000000000000000000000000000000000000000000000000000000": "0x07", - "0x0000000000000000000000000000000000000000000000000000000000000004": "0xbb03c5030cac72e290ae185a8b9b375c58f7a9a6", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e567": "0x97fb9c893c19da2672dbd790ac9fc406f138584b", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e569": "0x394831b50e496a4e85c97acdbd7943802d897c34", - "0x0000000000000000000000000000000000000000000000000000000000000003": "0x640500000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000006": "0xe7715472792d680ab4c5837e2131264a6153c89d", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563": "0xf82cf7e2b899a57d22653a6a742c0c60523d6a61", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e568": "0xb93ce875656d56935da316b27860b0fc7b60435a", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e565": "0x58e479a056df6d54600b4e02b8eb6390bcd8a550", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e566": "0x3a6eabc45ac029ccfaf49d54593a996f638e7cf7", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e564": "0xb42fbb03f30424aa903022269fcd62eabbdfcfae" - } + "0x1212100000000000000000000000000000000003": { + "balance": "0", + "code": "0x60806040526004361061007f5760003560e01c80634f1ef2861161004e5780634f1ef2861461011e57806352d1902d14610131578063ad3cb1cc14610154578063f13c03af1461019257600080fd5b80631633da6e1461008b578063180cb47f146100b657806326bd0c4e146100ea5780633ccfd60b1461010757600080fd5b3661008657005b600080fd5b34801561009757600080fd5b506100a06101ab565b6040516100ad91906106f7565b60405180910390f35b3480156100c257600080fd5b506100d2600161090960911b0181565b6040516001600160a01b0390911681526020016100ad565b3480156100f657600080fd5b506100d2600362012121608c1b0181565b34801561011357600080fd5b5061011c610220565b005b61011c61012c3660046107a0565b610287565b34801561013d57600080fd5b506101466102a6565b6040519081526020016100ad565b34801561016057600080fd5b50610185604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100ad919061086c565b34801561019e57600080fd5b506100d261090960911b81565b6060600161090960911b016001600160a01b0316639f9d7f816040518163ffffffff1660e01b8152600401600060405180830381865afa1580156101f3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261021b919081019061089f565b905090565b33600161090960911b011461026d5760405162461bcd60e51b815260206004820152600e60248201526d6e6f7420676f7665726e616e636560901b60448201526064015b60405180910390fd5b471561028557610285600161090960911b01476102c3565b565b61028f610391565b610298826103f6565b6102a28282610439565b5050565b60006102b06104f6565b5060008051602061098783398151915290565b604080516000808252602082019092526001600160a01b0384169083906040516102ed9190610951565b60006040518083038185875af1925050503d806000811461032a576040519150601f19603f3d011682016040523d82523d6000602084013e61032f565b606091505b505090508061038c5760405162461bcd60e51b8152602060048201526024808201527f736166655472616e736665724554483a20455448207472616e736665722066616044820152631a5b195960e21b6064820152608401610264565b505050565b30600362012121608c1b0114806103d85750600362012121608c1b016103cc600080516020610987833981519152546001600160a01b031690565b6001600160a01b031614155b156102855760405163703e46dd60e11b815260040160405180910390fd5b3361090960911b146104365760405162461bcd60e51b81526020600482015260096024820152683737ba1030b236b4b760b91b6044820152606401610264565b50565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610493575060408051601f3d908101601f191682019092526104909181019061096d565b60015b6104bb57604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610264565b60008051602061098783398151915281146104ec57604051632a87526960e21b815260048101829052602401610264565b61038c838361051f565b30600362012121608c1b01146102855760405163703e46dd60e11b815260040160405180910390fd5b61052882610575565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561056d5761038c82826105da565b6102a2610650565b806001600160a01b03163b6000036105ab57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610264565b60008051602061098783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516105f79190610951565b600060405180830381855af49150503d8060008114610632576040519150601f19603f3d011682016040523d82523d6000602084013e610637565b606091505b509150915061064785838361066f565b95945050505050565b34156102855760405163b398979f60e01b815260040160405180910390fd5b6060826106845761067f826106ce565b6106c7565b815115801561069b57506001600160a01b0384163b155b156106c457604051639996b31560e01b81526001600160a01b0385166004820152602401610264565b50805b9392505050565b8051156106de5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6020808252825182820181905260009190848201906040850190845b818110156107385783516001600160a01b031683529284019291840191600101610713565b50909695505050505050565b6001600160a01b038116811461043657600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561079857610798610759565b604052919050565b600080604083850312156107b357600080fd5b82356107be81610744565b915060208381013567ffffffffffffffff808211156107dc57600080fd5b818601915086601f8301126107f057600080fd5b81358181111561080257610802610759565b610814601f8201601f1916850161076f565b9150808252878482850101111561082a57600080fd5b80848401858401376000848284010152508093505050509250929050565b60005b8381101561086357818101518382015260200161084b565b50506000910152565b602081526000825180602084015261088b816040850160208701610848565b601f01601f19169190910160400192915050565b600060208083850312156108b257600080fd5b825167ffffffffffffffff808211156108ca57600080fd5b818501915085601f8301126108de57600080fd5b8151818111156108f0576108f0610759565b8060051b915061090184830161076f565b818152918301840191848101908884111561091b57600080fd5b938501935b83851015610945578451925061093583610744565b8282529385019390850190610920565b98975050505050505050565b60008251610963818460208701610848565b9190910192915050565b60006020828403121561097f57600080fd5b505191905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220d7431b8c55135acd14277140c3e792e737dd67435ac1ab986730e38b73f30c0064736f6c63430008180033" } } -} +} \ No newline at end of file diff --git a/privnet/four/genesis_privnet.json b/privnet/four/genesis_privnet.json index 9d86ec43de..c74409232e 100644 --- a/privnet/four/genesis_privnet.json +++ b/privnet/four/genesis_privnet.json @@ -17,40 +17,86 @@ "shanghaiTime": 0, "dbft": { "period": 5, - "standbyValidators":[ + "standbyValidators": [ "0xd4d71adea0eeb18568fecf0fae0810a8520b438b", "0xbe0c8b1251697f919af32a42b7892b13026433b8", "0xa6b78921e12d527e13a3907da9d6a1fd8e6f8d0a", "0x021d70769889c46db0a8b0b22245c7ffd956d343" ], - "coinbase": "0x1212100000000000000000000000000000000001" + "coinbase": "0x1212000000000000000000000000000000000003" } }, "difficulty": "1", "gasLimit": "30000000", "alloc": { - "d4d71adea0eeb18568fecf0fae0810a8520b438b": { "balance": "100000000000000000000" }, - "be0c8b1251697f919af32a42b7892b13026433b8": { "balance": "100000000000000000000" }, - "a6b78921e12d527e13a3907da9d6a1fd8e6f8d0a": { "balance": "100000000000000000000" }, - "021d70769889c46db0a8b0b22245c7ffd956d343": { "balance": "100000000000000000000" }, - "9434635ab891899cd1896c57f027adbaa3b0fa75": { "balance": "100000000000000000000" }, - "1212100000000000000000000000000000000004": { - "balance": "100000000000000000000000", - "code": "0x608060405234801561001057600080fd5b506004361061012c5760003560e01c8063a1fd836e116100ad578063cf30901211610071578063cf309012146102c3578063de35f5cb146102e7578063e976d431146102fa578063f83d08ba1461030b578063fec95b481461031357600080fd5b8063a1fd836e14610266578063a69df4b51461028c578063aab8ab0c14610294578063b2ca3ec4146102a7578063c34c7882146102ba57600080fd5b80637b259db4116100f45780637b259db4146101f35780638312f149146102125780638406c0791461022f5780638955fe8a1461024a5780638da5cb5b1461025357600080fd5b80630c340a2414610131578063131305e71461016157806335aa2e44146101a257806344c7e2f4146101b5578063504ad4ec146101de575b600080fd5b600554610144906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61018a61016f3660046111c9565b6008602052600090815260409020546001600160401b031681565b6040516001600160401b039091168152602001610158565b6101446101b03660046111f2565b610327565b6101446101c33660046111c9565b6007602052600090815260409020546001600160a01b031681565b6101f16101ec366004611256565b610351565b005b60035461018a906801000000000000000090046001600160401b031681565b610221670de0b6b3a764000081565b604051908152602001610158565b61014473acc85ffb71f83b9bb264f6d64541926d375a6c1d81565b61022160015481565b600454610144906001600160a01b031681565b60035461027a90600160801b900460ff1681565b60405160ff9091168152602001610158565b6101f161068f565b6101f16102a23660046111c9565b610740565b600654610144906001600160a01b031681565b61022160025481565b6003546102d790600160901b900460ff1681565b6040519015158152602001610158565b60035461018a906001600160401b031681565b61022169021e19e0c9bab240000081565b6101f161094d565b60035461027a90600160881b900460ff1681565b6000818154811061033757600080fd5b6000918252602090912001546001600160a01b0316905081565b3373acc85ffb71f83b9bb264f6d64541926d375a6c1d146103a75760405162461bcd60e51b815260206004820152600b60248201526a2737ba103932b630bcb2b960a91b60448201526064015b60405180910390fd5b600354600160901b900460ff16156103d15760405162461bcd60e51b815260040161039e906112cf565b808061041f5760405162461bcd60e51b815260206004820152601f60248201527f4174206c656173742031206465706f7369742069732072657175697265642e00604482015260640161039e565b600354600160881b900460ff1681111561047b5760405162461bcd60e51b815260206004820152601b60248201527f546f6f206d616e79206465706f736974732070726f76696465642e0000000000604482015260640161039e565b600354610492906001600160401b03166001611311565b6001600160401b0316838360008181106104ae576104ae611338565b90506060020160400160208101906104c691906111c9565b6001600160401b0316146105375760405162461bcd60e51b815260206004820152603260248201527f4f6e6c7920746865206e657874206e6f6e636520697320616c6c6f776564206960448201527137103a3432903334b939ba10383937b7b31760711b606482015260840161039e565b60035461055090849084906001600160401b03166109da565b6105b15760405162461bcd60e51b815260206004820152602c60248201527f546865206e6f6e636573206f66207468652070726f6f6673206d75737420626560448201526b1039bab139b2b8bab2b73a1760a11b606482015260840161039e565b6105bc868686610a6d565b61061e5760405162461bcd60e51b815260206004820152602d60248201527f496e76616c6964206f7220696e73756666696369656e742076616c696461746f60448201526c391039b4b3b730ba3ab932b99760991b606482015260840161039e565b828261062b60018461134e565b81811061063a5761063a611338565b905060600201604001602081019061065291906111c9565b6003805467ffffffffffffffff19166001600160401b03929092169190911790556001805490879055610686818585610cff565b50505050505050565b6005546001600160a01b031633146106d85760405162461bcd60e51b815260206004820152600c60248201526b2737ba1033b7bb32b93737b960a11b604482015260640161039e565b600354600160901b900460ff166107315760405162461bcd60e51b815260206004820152601a60248201527f436f6e747261637420697320616c7265616479206c6f636b6564000000000000604482015260640161039e565b6003805460ff60901b19169055565b600354600160901b900460ff161561076a5760405162461bcd60e51b815260040161039e906112cf565b6001600160401b0380821660009081526007602090815260408083205460089092528220546001600160a01b039091169216908190036107e15760405162461bcd60e51b81526020600482015260126024820152714e6f20636c61696d61626c652066756e647360701b604482015260640161039e565b6001600160a01b03821661082c5760405162461bcd60e51b81526020600482015260126024820152714e6f20636c61696d61626c652066756e647360701b604482015260640161039e565b6001600160401b0383166000908152600860209081526040808320805467ffffffffffffffff191690556007909152812080546001600160a01b031916905561087482610fd7565b90506000836001600160a01b03168260405160006040518083038185875af1925050503d80600081146108c3576040519150601f19603f3d011682016040523d82523d6000602084013e6108c8565b606091505b505090508061090b5760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015260640161039e565b7fc050de00ef4ba397e08c78836db608d83db9c6335bf95019597119b9536f938985848660405161093e93929190611361565b60405180910390a15050505050565b6006546001600160a01b0316331461099b5760405162461bcd60e51b8152602060048201526011602482015270139bdd081cd958dd5c9a5d1e51dd585c99607a1b604482015260640161039e565b600354600160901b900460ff16156109c55760405162461bcd60e51b815260040161039e906112cf565b6003805460ff60901b1916600160901b179055565b600060015b60ff81168410610a60576109f660ff821684611311565b6001600160401b03168585610a0c60018561138d565b60ff16818110610a1e57610a1e611338565b9050606002016040016020810190610a3691906111c9565b6001600160401b031614610a4e576000915050610a66565b80610a58816113a6565b9150506109df565b50600190505b9392505050565b600354600090600160801b900460ff168214610acb5760405162461bcd60e51b815260206004820152601d60248201527f496e76616c6964206e756d626572206f66207369676e6174757265732e000000604482015260640161039e565b600084604051602001610ae091815260200190565b60408051601f198184030181529082905280516020918201207f19457468657265756d205369676e6564204d6573736167653a0a33320000000091830191909152603c820152605c0160408051808303601f190181528282528051602090910120600580845260c0840190925292506000919081602001602082028036833701905050905060005b6005811015610c3a5736868683818110610b8457610b84611338565b6060029190910191506001905084610b9f60208401846113c5565b604080516000815260208181018084529490945260ff9092168282015291840135606082015290830135608082015260a0016020604051602081039080840390855afa158015610bf3573d6000803e3d6000fd5b50505060206040510351838381518110610c0f57610c0f611338565b6001600160a01b03909216602092830291909101909101525080610c32816113e8565b915050610b68565b5060008080805b6005811015610cef578291505b6007821015610cd05760008281548110610c6a57610c6a611338565b60009182526020909120015485516001600160a01b0390911690869083908110610c9657610c96611338565b60200260200101516001600160a01b031603610cbe5783610cb6816113e8565b945050610cd0565b81610cc8816113e8565b925050610c4e565b610cdb826001611401565b925080610ce7816113e8565b915050610c41565b5050506005149695505050505050565b828160005b81811015610d845736858583818110610d1f57610d1f611338565b90506060020190506000610d61826040016020810190610d3f91906111c9565b610d4f60408501602086016111c9565b610d5c6020860186611414565b610ff7565b9050610d6d858261109c565b945050508080610d7c906113e8565b915050610d04565b506001548214610dce5760405162461bcd60e51b815260206004820152601560248201527424b73b30b634b2103232b837b9b4ba103937b7ba1760591b604482015260640161039e565b60005b81811015610fcf5736858583818110610dec57610dec611338565b60600291909101915060009050610e066020830183611414565b90506001600160a01b0381163b610f57576000610e31610e2c60408501602086016111c9565b610fd7565b90506000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610e80576040519150601f19603f3d011682016040523d82523d6000602084013e610e85565b606091505b505090508015610eed577f2c20d394553ff35017f1f147d7e3a1ffc1caeaf1e422b5d9730fabe8c90042fe610ec060608601604087016111c9565b610ed060408701602088016111c9565b85604051610ee093929190611361565b60405180910390a1610f50565b610ef684611116565b7fb79dcd48431a0507fde36076107e606e63739e8a604f219cebe9aa0c1f17a115610f2760608601604087016111c9565b610f3760408701602088016111c9565b85604051610f4793929190611361565b60405180910390a15b5050610fba565b610f6082611116565b7fb79dcd48431a0507fde36076107e606e63739e8a604f219cebe9aa0c1f17a115610f9160608401604085016111c9565b610fa160408501602086016111c9565b83604051610fb193929190611361565b60405180910390a15b50508080610fc7906113e8565b915050610dd1565b505050505050565b6000610ff16001600160401b0383166402540be40061143d565b92915050565b6040516001600160c01b031960c085811b8216602084015284901b1660288201526bffffffffffffffffffffffff19606083901b16603082015260009060029060440160408051601f198184030181529082905261105491611454565b602060405180830381855afa158015611071573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906110949190611483565b949350505050565b6000600283836040516020016110bc929190918252602082015260400190565b60408051601f19818403018152908290526110d691611454565b602060405180830381855afa1580156110f3573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610a669190611483565b6111236020820182611414565b6007600061113760608501604086016111c9565b6001600160401b03168152602080820192909252604090810160002080546001600160a01b0319166001600160a01b0394909416939093179092556111809183019083016111c9565b6008600061119460608501604086016111c9565b6001600160401b0390811682526020820192909252604001600020805467ffffffffffffffff19169290911691909117905550565b6000602082840312156111db57600080fd5b81356001600160401b0381168114610a6657600080fd5b60006020828403121561120457600080fd5b5035919050565b60008083601f84011261121d57600080fd5b5081356001600160401b0381111561123457600080fd5b60208301915083602060608302850101111561124f57600080fd5b9250929050565b60008060008060006060868803121561126e57600080fd5b8535945060208601356001600160401b038082111561128c57600080fd5b61129889838a0161120b565b909650945060408801359150808211156112b157600080fd5b506112be8882890161120b565b969995985093965092949392505050565b60208082526012908201527110dbdb9d1c9858dd081a5cc81b1bd8dad95960721b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6001600160401b03818116838216019080821115611331576113316112fb565b5092915050565b634e487b7160e01b600052603260045260246000fd5b81810381811115610ff157610ff16112fb565b6001600160401b0393841681529190921660208201526001600160a01b03909116604082015260600190565b60ff8281168282160390811115610ff157610ff16112fb565b600060ff821660ff81036113bc576113bc6112fb565b60010192915050565b6000602082840312156113d757600080fd5b813560ff81168114610a6657600080fd5b6000600182016113fa576113fa6112fb565b5060010190565b80820180821115610ff157610ff16112fb565b60006020828403121561142657600080fd5b81356001600160a01b0381168114610a6657600080fd5b8082028115828204841417610ff157610ff16112fb565b6000825160005b81811015611475576020818601810151858301520161145b565b506000920191825250919050565b60006020828403121561149557600080fd5b505191905056fea2646970667358221220e02d47f2295ab4356fd494c7d31cea4076fca2f8f702a5ccedfac1b69565502464736f6c63430008120033", + "0xd4d71adea0eeb18568fecf0fae0810a8520b438b": { + "balance": "10000000000000000000000000" + }, + "0xbe0c8b1251697f919af32a42b7892b13026433b8": { + "balance": "100000000000000000000" + }, + "0xa6b78921e12d527e13a3907da9d6a1fd8e6f8d0a": { + "balance": "100000000000000000000" + }, + "0x021d70769889c46db0a8b0b22245c7ffd956d343": { + "balance": "100000000000000000000" + }, + "0x9434635ab891899cd1896c57f027adbaa3b0fa75": { + "balance": "100000000000000000000" + }, + "0x1212000000000000000000000000000000000000": { + "balance": "0", + "code": "0x6080604052600436106100345760003560e01c8063701b70ac1461003957806389dc5c841461006e5780639623609d146100a2575b600080fd5b34801561004557600080fd5b5061005961005436600461053f565b6100b7565b60405190151581526020015b60405180910390f35b34801561007a57600080fd5b5061008a600361090960911b0181565b6040516001600160a01b039091168152602001610065565b6100b56100b03660046105aa565b610184565b005b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610100573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101289190810190610664565b905060005b815181101561017a5781818151811061014857610148610716565b60200260200101516001600160a01b0316846001600160a01b031603610172575060019392505050565b60010161012d565b5060009392505050565b7fe739b9109d83c1c6d0d640fe9ed476fc5862a6de5483b00678a3fffa7a2be2f68383836040516020016101ba93929190610772565b604051602081830303815290604052805190602001206101d9336100b7565b6102155760405162461bcd60e51b81526020600482015260096024820152682737ba1026b4b732b960b91b604482015260640160405180910390fd5b61021f82826102e0565b610229828261033e565b156102d95760405163278f794360e11b81526001600160a01b03861690634f1ef28690349061025e90889088906004016107a7565b6000604051808303818588803b15801561027757600080fd5b505af115801561028b573d6000803e3d6000fd5b505060408051868152602081018690527ff5aa3d6492eaf1a4d6787c5bd36e8ec61c245d4af2fd1fd387e387a50de9f8c594500191506102c89050565b60405180910390a16102d982610450565b5050505050565b6000828152602081815260408083203380855290835292819020849055805192835290820184905281018290527f61699483e2a58589628399a22e34da872b583143ab99b3245ba6dacf4974d2e39060600160405180910390a15050565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610387573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103af9190810190610664565b90506000805b8251811015610429578460008088815260200190815260200160002060008584815181106103e5576103e5610716565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205403610421578161041d816107e9565b9250505b6001016103b5565b5060028251600161043a9190610802565b6104449190610815565b11159150505b92915050565b6000600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610498573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104c09190810190610664565b905060005b81518110156105225760008084815260200190815260200160002060008383815181106104f4576104f4610716565b6020908102919091018101516001600160a01b031682528101919091526040016000908120556001016104c5565b505050565b6001600160a01b038116811461053c57600080fd5b50565b60006020828403121561055157600080fd5b813561055c81610527565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156105a2576105a2610563565b604052919050565b6000806000606084860312156105bf57600080fd5b83356105ca81610527565b92506020848101356105db81610527565b9250604085013567ffffffffffffffff808211156105f857600080fd5b818701915087601f83011261060c57600080fd5b81358181111561061e5761061e610563565b610630601f8201601f19168501610579565b9150808252888482850101111561064657600080fd5b80848401858401376000848284010152508093505050509250925092565b6000602080838503121561067757600080fd5b825167ffffffffffffffff8082111561068f57600080fd5b818501915085601f8301126106a357600080fd5b8151818111156106b5576106b5610563565b8060051b91506106c6848301610579565b81815291830184019184810190888411156106e057600080fd5b938501935b8385101561070a57845192506106fa83610527565b82825293850193908501906106e5565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b6000815180845260005b8181101561075257602081850181015186830182015201610736565b506000602082860101526020601f19601f83011685010191505092915050565b6001600160a01b0384811682528316602082015260606040820181905260009061079e9083018461072c565b95945050505050565b6001600160a01b03831681526040602082018190526000906107cb9083018461072c565b949350505050565b634e487b7160e01b600052601160045260246000fd5b6000600182016107fb576107fb6107d3565b5060010190565b8082018082111561044a5761044a6107d3565b60008261083257634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212209e61d38d47b2583b6176290ca9691082e36c167c502217e5f59481c644e946dc64736f6c63430008180033" + }, + "0x1212000000000000000000000000000000000001": { + "balance": "0", + "code": "0x6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea2646970667358221220965379b4e29f73cf2ee1957914dc167d4751357fc5df24ccd8586bd4bf9b47e964736f6c63430008180033", "storage": { - "0x0000000000000000000000000000000000000000000000000000000000000005": "0x0f467b64b0f970e63994fe8a120410151cc094db", - "0x0000000000000000000000000000000000000000000000000000000000000000": "0x07", - "0x0000000000000000000000000000000000000000000000000000000000000004": "0xbb03c5030cac72e290ae185a8b9b375c58f7a9a6", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e567": "0x97fb9c893c19da2672dbd790ac9fc406f138584b", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e569": "0x394831b50e496a4e85c97acdbd7943802d897c34", - "0x0000000000000000000000000000000000000000000000000000000000000003": "0x640500000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000006": "0xe7715472792d680ab4c5837e2131264a6153c89d", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563": "0xf82cf7e2b899a57d22653a6a742c0c60523d6a61", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e568": "0xb93ce875656d56935da316b27860b0fc7b60435a", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e565": "0x58e479a056df6d54600b4e02b8eb6390bcd8a550", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e566": "0x3a6eabc45ac029ccfaf49d54593a996f638e7cf7", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e564": "0xb42fbb03f30424aa903022269fcd62eabbdfcfae" + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x01", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x04", + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x0de0b6b3a7640000", + "0x0000000000000000000000000000000000000000000000000000000000000003": "0x027b46536c66c8e3000000", + "0x0000000000000000000000000000000000000000000000000000000000000004": "0x3635c9adc5dea00000", + "0x0000000000000000000000000000000000000000000000000000000000000005": "0x1e", + "0x0000000000000000000000000000000000000000000000000000000000000010": "0x04", + "0x0000000000000000000000000000000000000000000000000000000000000011": "0x04", + "0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c68": "0xd4d71adea0eeb18568fecf0fae0810a8520b438b", + "0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c69": "0xbe0c8b1251697f919af32a42b7892b13026433b8", + "0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6a": "0xa6b78921e12d527e13a3907da9d6a1fd8e6f8d0a", + "0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6b": "0x021d70769889c46db0a8b0b22245c7ffd956d343", + "0x1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae672": "0xd4d71adea0eeb18568fecf0fae0810a8520b438b", + "0x1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae673": "0xbe0c8b1251697f919af32a42b7892b13026433b8", + "0x1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae674": "0xa6b78921e12d527e13a3907da9d6a1fd8e6f8d0a", + "0x1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae675": "0x021d70769889c46db0a8b0b22245c7ffd956d343", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x1212100000000000000000000000000000000001" } + }, + "0x1212000000000000000000000000000000000002": { + "balance": "0", + "code": "0x6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea2646970667358221220965379b4e29f73cf2ee1957914dc167d4751357fc5df24ccd8586bd4bf9b47e964736f6c63430008180033", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x989680", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x1212100000000000000000000000000000000002" + } + }, + "0x1212000000000000000000000000000000000003": { + "balance": "0", + "code": "0x6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea2646970667358221220965379b4e29f73cf2ee1957914dc167d4751357fc5df24ccd8586bd4bf9b47e964736f6c63430008180033", + "storage": { + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x1212100000000000000000000000000000000003" + } + }, + "0x1212100000000000000000000000000000000001": { + "balance": "0", + "code": "0x60806040526004361061021e5760003560e01c8063786255f111610123578063a6580de8116100ab578063d8ce95ab1161006f578063d8ce95ab146108ee578063da0b33171461091b578063db069ba514610948578063f13c03af14610975578063f4bbb82f1461098e57600080fd5b8063a6580de814610854578063a681dfec1461086a578063ad3cb1cc1461087f578063b88a802f146108bd578063ce4b5bbe146108d257600080fd5b8063902bdc26116100f2578063902bdc26146107b45780639690293b146107e157806398ca58df146107f65780639f9d7f8114610823578063a5257a1d1461083857600080fd5b8063786255f11461071e57806384ccebc9146107565780638e1900a8146107715780638f1b32191461079e57600080fd5b80634d21e426116101a6578063611905331161017557806361190533146106805780636900cad8146106955780636db504e7146106b55780636dd7d8ea146106eb57806373c7fbe9146106fe57600080fd5b80634d21e426146106155780634f1ef286146106425780634ff0876a1461065557806352d1902d1461066b57600080fd5b80630ea6a041116101ed5780630ea6a041146105685780631f26f256146105a057806326bd0c4e146105b657806343c14b22146105d35780634c569c25146105e857600080fd5b806303f187ea146104f457806306a49fce1461051d5780630b2a85ea1461053f5780630d15fd771461055257600080fd5b366104ef5761022b6109a4565b33600361090960911b011461027f5760405162461bcd60e51b81526020600482015260156024820152741cda59194818d85b1b081b9bdd08185b1b1bddd959605a1b60448201526064015b60405180910390fd5b600060108054806020026020016040519081016040528092919081815260200182805480156102d757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116102b9575b505083519394506000925050505b818110156104e057600c6000848381518110610303576103036121a5565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205460001461044657600c6000848381518110610349576103496121a5565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020546103e8600154670de0b6b3a764000060086000888781518110610397576103976121a5565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054346103cb91906121d1565b6103d591906121d1565b6103df91906121fe565b6103e991906121fe565b6103f391906121fe565b60126000858481518110610409576104096121a5565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546104409190612212565b90915550505b6104d883828151811061045b5761045b6121a5565b60200260200101516103e86001546008600088878151811061047f5761047f6121a5565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020546103e86104b59190612225565b6104bf90346121d1565b6104c991906121fe565b6104d391906121fe565b6109ce565b6001016102e5565b5050506104ed6001600055565b005b600080fd5b34801561050057600080fd5b5061050a60045481565b6040519081526020015b60405180910390f35b34801561052957600080fd5b50610532610a9c565b6040516105149190612238565b6104ed61054d366004612285565b610aad565b34801561055e57600080fd5b5061050a600b5481565b34801561057457600080fd5b50610588610583366004612285565b610c6f565b6040516001600160a01b039091168152602001610514565b3480156105ac57600080fd5b5061050a600f5481565b3480156105c257600080fd5b50610588600162012121608c1b0181565b3480156105df57600080fd5b506104ed610c99565b3480156105f457600080fd5b5061050a6106033660046122ba565b60126020526000908152604090205481565b34801561062157600080fd5b5061050a6106303660046122ba565b600a6020526000908152604090205481565b6104ed6106503660046122eb565b610e11565b34801561066157600080fd5b5061050a60055481565b34801561067757600080fd5b5061050a610e30565b34801561068c57600080fd5b506104ed610e4d565b3480156106a157600080fd5b506105886106b0366004612285565b610f56565b3480156106c157600080fd5b506105886106d03660046122ba565b600d602052600090815260409020546001600160a01b031681565b6104ed6106f93660046122ba565b610f66565b34801561070a57600080fd5b5061050a6107193660046122ba565b6111da565b34801561072a57600080fd5b5061050a6107393660046123ad565b601560209081526000928352604080842090915290825290205481565b34801561076257600080fd5b506105886002600160a01b0381565b34801561077d57600080fd5b5061050a61078c3660046122ba565b60136020526000908152604090205481565b3480156107aa57600080fd5b5061050a60025481565b3480156107c057600080fd5b5061050a6107cf3660046122ba565b60086020526000908152604090205481565b3480156107ed57600080fd5b506104ed611216565b34801561080257600080fd5b5061050a6108113660046122ba565b60146020526000908152604090205481565b34801561082f57600080fd5b506105326112b8565b34801561084457600080fd5b50610588600361090960911b0181565b34801561086057600080fd5b5061050a60015481565b34801561087657600080fd5b506104ed61131a565b34801561088b57600080fd5b506108b0604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161051491906123fb565b3480156108c957600080fd5b506104ed61152b565b3480156108de57600080fd5b5061050a670de0b6b3a764000081565b3480156108fa57600080fd5b5061050a6109093660046122ba565b600c6020526000908152604090205481565b34801561092757600080fd5b5061050a6109363660046122ba565b60096020526000908152604090205481565b34801561095457600080fd5b5061050a6109633660046122ba565b600e6020526000908152604090205481565b34801561098157600080fd5b5061058861090960911b81565b34801561099a57600080fd5b5061050a60035481565b6002600054036109c757604051633ee5aeb560e01b815260040160405180910390fd5b6002600055565b604080516000808252602082019092526001600160a01b0384169083906040516109f8919061242e565b60006040518083038185875af1925050503d8060008114610a35576040519150601f19603f3d011682016040523d82523d6000602084013e610a3a565b606091505b5050905080610a975760405162461bcd60e51b8152602060048201526024808201527f736166655472616e736665724554483a20455448207472616e736665722066616044820152631a5b195960e21b6064820152608401610276565b505050565b6060610aa860066115b7565b905090565b323314610aed5760405162461bcd60e51b815260206004820152600e60248201526d6f6e6c7920616c6c6f7720454f4160901b6044820152606401610276565b600454341015610b355760405162461bcd60e51b81526020600482015260136024820152721a5b9cdd59999a58da595b9d08185b5bdd5b9d606a1b6044820152606401610276565b6103e88110610b755760405162461bcd60e51b815260206004820152600c60248201526b696e76616c6964207261746560a01b6044820152606401610276565b610b806006336115c4565b15610bc05760405162461bcd60e51b815260206004820152601060248201526f63616e6469646174652065786973747360801b6044820152606401610276565b3360009081526009602052604090205415610c105760405162461bcd60e51b815260206004820152601060248201526f1b19599d081b9bdd0818db185a5b595960821b6044820152606401610276565b610c1b6006336115eb565b50336000818152600860209081526040808320859055600a82529182902034905590519182527feeda149c76076b34d4b9d8896c2f7efc0d33d1c7b53ea3c5db490d64613f603a910160405180910390a150565b60108181548110610c7f57600080fd5b6000918252602090912001546001600160a01b0316905081565b610ca16109a4565b336000908152600d6020908152604080832054600e909252909120546001600160a01b03909116908115801590610cd85750600081115b610d195760405162461bcd60e51b81526020600482015260126024820152711c995d9bdad9481b9bdd08185b1b1bddd95960721b6044820152606401610276565b6000610d253384611600565b6001600160a01b0384166000908152600c6020526040812080549293508492909190610d52908490612225565b9250508190555081600b6000828254610d6b9190612225565b9091555050336000818152600d6020908152604080832080546001600160a01b0319169055600e825280832083905560138252808320839055601482528083209290925581519283526001600160a01b0386169083015281018390527fb698e31a2abee5824d0d7bcfd2339aead7f9e9ae413fba50bf554ff3fa470b7b9060600160405180910390a1610e02336104d38385612212565b505050610e0f6001600055565b565b610e1961167b565b610e22826116e0565b610e2c8282611720565b5050565b6000610e3a6117dd565b5060008051602061252983398151915290565b610e556109a4565b3360009081526009602052604090205415801590610e995750600554610e7c9060026121d1565b33600090815260096020526040902054610e969190612212565b43115b610edc5760405162461bcd60e51b81526020600482015260146024820152731dda5d1a191c985dc81b9bdd08185b1b1bddd95960621b6044820152606401610276565b336000818152600a60209081526040808320805490849055600983528184208490556008835281842093909355805193845290830182905290917f142e26dcca50281d2c46d90446bfc1c9bc260cef355ce917a52f1fec7c54b5bf910160405180910390a1610f4b33826109ce565b50610e0f6001600055565b60118181548110610c7f57600080fd5b610f6e6109a4565b600254341015610fb65760405162461bcd60e51b81526020600482015260136024820152721a5b9cdd59999a58da595b9d08185b5bdd5b9d606a1b6044820152606401610276565b610fc16006826115c4565b6110055760405162461bcd60e51b815260206004820152601560248201527418d85b991a59185d19481b9bdd08185b1b1bddd959605a1b6044820152606401610276565b336000908152600d60205260409020546001600160a01b0390811690821681148061103757506001600160a01b038116155b6110835760405162461bcd60e51b815260206004820152601a60248201527f6f6e6c79206f6e652063686f69636520697320616c6c6f7765640000000000006044820152606401610276565b60006001600160a01b038216156110a55761109e3383611600565b90506110e9565b336000818152600d6020908152604080832080546001600160a01b0319166001600160a01b0389169081179091558352601282528083205493835260139091529020555b336000908152600e602052604081208054349290611108908490612212565b90915550506001600160a01b0383166000908152600c602052604081208054349290611135908490612212565b9250508190555034600b600082825461114e9190612212565b90915550506001600160a01b038216611174573360009081526014602052604090204390555b604080513381526001600160a01b0385166020820152348183015290517f66a9138482c99e9baf08860110ef332cc0c23b4a199a53593d8db0fc8f96fbfc9181900360600190a180156111cb576111cb33826109ce565b50506111d76001600055565b50565b6001600160a01b038082166000908152600d6020526040812054909116806112055750600092915050565b61120f8382611806565b9392505050565b6112216006336115c4565b6112645760405162461bcd60e51b815260206004820152601460248201527363616e646964617465206e6f742065786973747360601b6044820152606401610276565b61126f6006336118eb565b503360008181526009602090815260409182902043905590519182527f7c79e6e24ed041d1072d54523b53956f01b91b835f0490856370594d9d14470e910160405180910390a1565b6060601080548060200260200160405190810160405280929190818152602001828054801561131057602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116112f2575b5050505050905090565b336002600160a01b03146113685760405162461bcd60e51b81526020600482015260156024820152741cda59194818d85b1b081b9bdd08185b1b1bddd959605a1b6044820152606401610276565b600361090960911b016001600160a01b0316633ccfd60b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156113ab57600080fd5b505af11580156113bf573d6000803e3d6000fd5b50505050600554600f546113d39190612212565b4310156113dc57565b43600f5560006113ec60066115b7565b805190915060005b818110156114a25760126000848381518110611412576114126121a5565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205460156000858481518110611451576114516121a5565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006005544361148991906121fe565b81526020810191909152604001600020556001016113f4565b506001548110806114b65750600354600b54105b156114d157601180546114cb916010916120eb565b506114ef565b6114d9611900565b80516114ed9160109160209091019061213b565b505b7fe59e3b36b5c97b419925b60c92f5a4324c993934eb9cfe5232def67c1739337c601060405161151f919061244a565b60405180910390a15050565b6115336109a4565b336000908152600d60205260409020546001600160a01b03168061158d5760405162461bcd60e51b815260206004820152601160248201527018db185a5b481b9bdd08185b1b1bddd959607a1b6044820152606401610276565b60006115993383611600565b905080156115ab576115ab33826109ce565b5050610e0f6001600055565b6060600061120f83611a80565b6001600160a01b038116600090815260018301602052604081205415155b90505b92915050565b60006115e2836001600160a01b038416611adc565b60008061160d8484611806565b6001600160a01b03848116600090815260126020908152604080832054938916808452601383529281902093909355825191825281018390529192507fbeceb521ccd2816457290c3d1cb70cc1537f14307f2d9ac26a5093a38ea40948910160405180910390a19392505050565b30600162012121608c1b0114806116c25750600162012121608c1b016116b6600080516020612529833981519152546001600160a01b031690565b6001600160a01b031614155b15610e0f5760405163703e46dd60e11b815260040160405180910390fd5b3361090960911b146111d75760405162461bcd60e51b81526020600482015260096024820152683737ba1030b236b4b760b91b6044820152606401610276565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561177a575060408051601f3d908101601f191682019092526117779181019061248e565b60015b6117a257604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610276565b60008051602061252983398151915281146117d357604051632a87526960e21b815260048101829052602401610276565b610a978383611b2b565b30600162012121608c1b0114610e0f5760405163703e46dd60e11b815260040160405180910390fd5b6001600160a01b03808316600090815260146020908152604080832054601383528184205494861684526012909252822054600f5492939192831061185157600093505050506115e5565b6001600160a01b0385166000908152601560205260408120600554829061187890876121fe565b611883906001612212565b8152602001908152602001600020549050828111156118a0578092505b670de0b6b3a76400006118b38484612225565b6001600160a01b0389166000908152600e60205260409020546118d691906121d1565b6118e091906121fe565b979650505050505050565b60006115e2836001600160a01b038416611b81565b6060600061190c610a9c565b805190915060008167ffffffffffffffff81111561192c5761192c6122d5565b604051908082528060200260200182016040528015611955578160200160208202803683370190505b50905060005b828110156119c757600c6000858381518110611979576119796121a5565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020548282815181106119b4576119b46121a5565b602090810291909101015260010161195b565b506119d58382600154611c7b565b600060015467ffffffffffffffff8111156119f2576119f26122d5565b604051908082528060200260200182016040528015611a1b578160200160208202803683370190505b50905060005b600154811015611a7757848181518110611a3d57611a3d6121a5565b6020026020010151828281518110611a5757611a576121a5565b6001600160a01b0390921660209283029190910190910152600101611a21565b50949350505050565b606081600001805480602002602001604051908101604052809291908181526020018280548015611ad057602002820191906000526020600020905b815481526020019060010190808311611abc575b50505050509050919050565b6000818152600183016020526040812054611b23575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556115e5565b5060006115e5565b611b3482611da7565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611b7957610a978282611e0c565b610e2c611e82565b60008181526001830160205260408120548015611c6a576000611ba5600183612225565b8554909150600090611bb990600190612225565b9050808214611c1e576000866000018281548110611bd957611bd96121a5565b9060005260206000200154905080876000018481548110611bfc57611bfc6121a5565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611c2f57611c2f6124a7565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506115e5565b60009150506115e5565b5092915050565b825160006001611c8c6002856124bd565b611c9691906124eb565b90505b60008112611cbf57611cad85858386611ea1565b80611cb78161250b565b915050611c99565b50815b81811015611da05783600081518110611cdd57611cdd6121a5565b6020026020010151848281518110611cf757611cf76121a5565b60200260200101511115611d9857838181518110611d1757611d176121a5565b602002602001015184600081518110611d3257611d326121a5565b602002602001018181525050848181518110611d5057611d506121a5565b602002602001015185600081518110611d6b57611d6b6121a5565b60200260200101906001600160a01b031690816001600160a01b031681525050611d988585600086611ea1565b600101611cc2565b5050505050565b806001600160a01b03163b600003611ddd57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610276565b60008051602061252983398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611e29919061242e565b600060405180830381855af49150503d8060008114611e64576040519150601f19603f3d011682016040523d82523d6000602084013e611e69565b606091505b5091509150611e7985838361206d565b95945050505050565b3415610e0f5760405163b398979f60e01b815260040160405180910390fd5b6000611eae8360026121d1565b611eb9906001612212565b90505b81811015611da05781611ed0826001612212565b108015611f18575083611ee4826001612212565b81518110611ef457611ef46121a5565b6020026020010151848281518110611f0e57611f0e6121a5565b6020026020010151115b15611f2b57611f28600182612212565b90505b838381518110611f3d57611f3d6121a5565b6020026020010151848281518110611f5757611f576121a5565b602002602001015111611da057838381518110611f7657611f766121a5565b6020026020010151848281518110611f9057611f906121a5565b6020026020010151858381518110611faa57611faa6121a5565b60200260200101868681518110611fc357611fc36121a5565b6020026020010182815250828152505050848381518110611fe657611fe66121a5565b6020026020010151858281518110612000576120006121a5565b602002602001015186838151811061201a5761201a6121a5565b60200260200101878681518110612033576120336121a5565b6001600160a01b0393841660209182029290920101529116905291508161205b8160026121d1565b612066906001612212565b9050611ebc565b6060826120825761207d826120c2565b61120f565b815115801561209957506001600160a01b0384163b155b15611c7457604051639996b31560e01b81526001600160a01b0385166004820152602401610276565b8051156120d25780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b82805482825590600052602060002090810192821561212b5760005260206000209182015b8281111561212b578254825591600101919060010190612110565b50612137929150612190565b5090565b82805482825590600052602060002090810192821561212b579160200282015b8281111561212b57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019061215b565b5b808211156121375760008155600101612191565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176115e5576115e56121bb565b634e487b7160e01b600052601260045260246000fd5b60008261220d5761220d6121e8565b500490565b808201808211156115e5576115e56121bb565b818103818111156115e5576115e56121bb565b6020808252825182820181905260009190848201906040850190845b818110156122795783516001600160a01b031683529284019291840191600101612254565b50909695505050505050565b60006020828403121561229757600080fd5b5035919050565b80356001600160a01b03811681146122b557600080fd5b919050565b6000602082840312156122cc57600080fd5b6115e28261229e565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156122fe57600080fd5b6123078361229e565b9150602083013567ffffffffffffffff8082111561232457600080fd5b818501915085601f83011261233857600080fd5b81358181111561234a5761234a6122d5565b604051601f8201601f19908116603f01168101908382118183101715612372576123726122d5565b8160405282815288602084870101111561238b57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600080604083850312156123c057600080fd5b6123c98361229e565b946020939093013593505050565b60005b838110156123f25781810151838201526020016123da565b50506000910152565b602081526000825180602084015261241a8160408501602087016123d7565b601f01601f19169190910160400192915050565b600082516124408184602087016123d7565b9190910192915050565b6020808252825482820181905260008481528281209092916040850190845b818110156122795783546001600160a01b031683526001938401939285019201612469565b6000602082840312156124a057600080fd5b5051919050565b634e487b7160e01b600052603160045260246000fd5b6000826124cc576124cc6121e8565b600160ff1b8214600019841416156124e6576124e66121bb565b500590565b8181036000831280158383131683831282161715611c7457611c746121bb565b6000600160ff1b8201612520576125206121bb565b50600019019056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220b015f0f58d95238a34a124b1f2a432eacd9551b6263a31392fc3f3ee94eb6dc564736f6c63430008180033" + }, + "0x1212100000000000000000000000000000000002": { + "balance": "0", + "code": "0x6080604052600436106100a75760003560e01c806390ac18661161006457806390ac18661461018a578063ad3cb1cc146101aa578063d96ed505146101e8578063e47d6060146101fe578063e4997dc51461022e578063f13c03af1461024e57600080fd5b80630ecb93c0146100ac57806326bd0c4e146100ce5780634f1ef2861461010857806352d1902d1461011b578063701b70ac1461013e57806389dc5c841461016e575b600080fd5b3480156100b857600080fd5b506100cc6100c7366004610d37565b610267565b005b3480156100da57600080fd5b506100eb600262012121608c1b0181565b6040516001600160a01b0390911681526020015b60405180910390f35b6100cc610116366004610d9b565b610406565b34801561012757600080fd5b50610130610425565b6040519081526020016100ff565b34801561014a57600080fd5b5061015e610159366004610d37565b610442565b60405190151581526020016100ff565b34801561017a57600080fd5b506100eb600361090960911b0181565b34801561019657600080fd5b506100cc6101a5366004610e43565b61050f565b3480156101b657600080fd5b506101db604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100ff9190610e80565b3480156101f457600080fd5b5061013060015481565b34801561020a57600080fd5b5061015e610219366004610d37565b60026020526000908152604090205460ff1681565b34801561023a57600080fd5b506100cc610249366004610d37565b610631565b34801561025a57600080fd5b506100eb61090960911b81565b604080516001600160a01b03831660208201527f4912b57f7ea75243ecaff76a75bdedbc13a6f58c1c967b0427b8aee0a276309e9101604051602081830303815290604052805190602001206102bc33610442565b6102e15760405162461bcd60e51b81526004016102d890610eb3565b60405180910390fd5b6102eb8282610778565b6102f582826107d6565b6102fe57505050565b6001600160a01b03831660009081526002602052604090205460ff16156103675760405162461bcd60e51b815260206004820181905260248201527f506f6c6963793a20426c61636b6c69737420616c72656164792065786973747360448201526064016102d8565b6001600160a01b038316600081815260026020908152604091829020805460ff1916600117905590519182527ff9dfc5050bb4c9b200f093a995458a80fb19943585b189fe5d317391abdc764591015b60405180910390a160408051838152602081018390527ff5aa3d6492eaf1a4d6787c5bd36e8ec61c245d4af2fd1fd387e387a50de9f8c5910160405180910390a1610401826108e8565b505050565b61040e6109ba565b61041782610a21565b6104218282610a64565b5050565b600061042f610b21565b5060008051602061103883398151915290565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561048b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104b39190810190610ed6565b905060005b8151811015610505578181815181106104d3576104d3610f88565b60200260200101516001600160a01b0316846001600160a01b0316036104fd575060019392505050565b6001016104b8565b5060009392505050565b7f0d48c1723f9a97946a942509ee525d5449a8f1d6460432fc2b267126c5cb1bce8160405160200161054391815260200190565b6040516020818303038152906040528051906020012061056233610442565b61057e5760405162461bcd60e51b81526004016102d890610eb3565b6105888282610778565b61059282826107d6565b61059b57505050565b600083116105fc5760405162461bcd60e51b815260206004820152602860248201527f506f6c6963793a207365744d696e476173507269636520696e76616c6964207060448201526730b930b6b2ba32b960c11b60648201526084016102d8565b60018390556040518381527f707bb10a9a561bf00f6acc0b0231a12146dc98352b4e8c8deb55e141ace32890906020016103b7565b604080516001600160a01b03831660208201527f310cc9bfce6443143f03d0cdc4d66afa0b3c689539eb3e65cb1820b56d67246591016040516020818303038152906040528051906020012061068633610442565b6106a25760405162461bcd60e51b81526004016102d890610eb3565b6106ac8282610778565b6106b682826107d6565b6106bf57505050565b6001600160a01b03831660009081526002602052604090205460ff166107275760405162461bcd60e51b815260206004820181905260248201527f506f6c6963793a20426c61636b6c69737420646f6573206e6f7420657869737460448201526064016102d8565b6001600160a01b038316600081815260026020908152604091829020805460ff1916905590519182527f2234edb6f393cd207251f6579b5852192c144c4c12b9cc32e80539ef12faed3f91016103b7565b6000828152602081815260408083203380855290835292819020849055805192835290820184905281018290527f61699483e2a58589628399a22e34da872b583143ab99b3245ba6dacf4974d2e39060600160405180910390a15050565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561081f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108479190810190610ed6565b90506000805b82518110156108c15784600080888152602001908152602001600020600085848151811061087d5761087d610f88565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054036108b957816108b581610fb4565b9250505b60010161084d565b506002825160016108d29190610fcd565b6108dc9190610fe0565b11159150505b92915050565b6000600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610930573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109589190810190610ed6565b905060005b815181101561040157600080848152602001908152602001600020600083838151811061098c5761098c610f88565b6020908102919091018101516001600160a01b0316825281019190915260400160009081205560010161095d565b30600262012121608c1b011480610a015750600262012121608c1b016109f5600080516020611038833981519152546001600160a01b031690565b6001600160a01b031614155b15610a1f5760405163703e46dd60e11b815260040160405180910390fd5b565b3361090960911b14610a615760405162461bcd60e51b81526020600482015260096024820152683737ba1030b236b4b760b91b60448201526064016102d8565b50565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610abe575060408051601f3d908101601f19168201909252610abb91810190611002565b60015b610ae657604051634c9c8ce360e01b81526001600160a01b03831660048201526024016102d8565b6000805160206110388339815191528114610b1757604051632a87526960e21b8152600481018290526024016102d8565b6104018383610b4a565b30600262012121608c1b0114610a1f5760405163703e46dd60e11b815260040160405180910390fd5b610b5382610ba0565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610b98576104018282610c05565b610421610c7b565b806001600160a01b03163b600003610bd657604051634c9c8ce360e01b81526001600160a01b03821660048201526024016102d8565b60008051602061103883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610c22919061101b565b600060405180830381855af49150503d8060008114610c5d576040519150601f19603f3d011682016040523d82523d6000602084013e610c62565b606091505b5091509150610c72858383610c9a565b95945050505050565b3415610a1f5760405163b398979f60e01b815260040160405180910390fd5b606082610caf57610caa82610cf9565b610cf2565b8151158015610cc657506001600160a01b0384163b155b15610cef57604051639996b31560e01b81526001600160a01b03851660048201526024016102d8565b50805b9392505050565b805115610d095780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6001600160a01b0381168114610a6157600080fd5b600060208284031215610d4957600080fd5b8135610cf281610d22565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610d9357610d93610d54565b604052919050565b60008060408385031215610dae57600080fd5b8235610db981610d22565b915060208381013567ffffffffffffffff80821115610dd757600080fd5b818601915086601f830112610deb57600080fd5b813581811115610dfd57610dfd610d54565b610e0f601f8201601f19168501610d6a565b91508082528784828501011115610e2557600080fd5b80848401858401376000848284010152508093505050509250929050565b600060208284031215610e5557600080fd5b5035919050565b60005b83811015610e77578181015183820152602001610e5f565b50506000910152565b6020815260008251806020840152610e9f816040850160208701610e5c565b601f01601f19169190910160400192915050565b6020808252600990820152683737ba1026b4b732b960b91b604082015260600190565b60006020808385031215610ee957600080fd5b825167ffffffffffffffff80821115610f0157600080fd5b818501915085601f830112610f1557600080fd5b815181811115610f2757610f27610d54565b8060051b9150610f38848301610d6a565b8181529183018401918481019088841115610f5257600080fd5b938501935b83851015610f7c5784519250610f6c83610d22565b8282529385019390850190610f57565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201610fc657610fc6610f9e565b5060010190565b808201808211156108e2576108e2610f9e565b600082610ffd57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561101457600080fd5b5051919050565b6000825161102d818460208701610e5c565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122080dc9c63474cff6584c343a283076a4aa9dce3cd3153430acf1110c38cf73d7a64736f6c63430008180033" + }, + "0x1212100000000000000000000000000000000003": { + "balance": "0", + "code": "0x60806040526004361061007f5760003560e01c80634f1ef2861161004e5780634f1ef2861461011e57806352d1902d14610131578063ad3cb1cc14610154578063f13c03af1461019257600080fd5b80631633da6e1461008b578063180cb47f146100b657806326bd0c4e146100ea5780633ccfd60b1461010757600080fd5b3661008657005b600080fd5b34801561009757600080fd5b506100a06101ab565b6040516100ad91906106f7565b60405180910390f35b3480156100c257600080fd5b506100d2600161090960911b0181565b6040516001600160a01b0390911681526020016100ad565b3480156100f657600080fd5b506100d2600362012121608c1b0181565b34801561011357600080fd5b5061011c610220565b005b61011c61012c3660046107a0565b610287565b34801561013d57600080fd5b506101466102a6565b6040519081526020016100ad565b34801561016057600080fd5b50610185604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100ad919061086c565b34801561019e57600080fd5b506100d261090960911b81565b6060600161090960911b016001600160a01b0316639f9d7f816040518163ffffffff1660e01b8152600401600060405180830381865afa1580156101f3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261021b919081019061089f565b905090565b33600161090960911b011461026d5760405162461bcd60e51b815260206004820152600e60248201526d6e6f7420676f7665726e616e636560901b60448201526064015b60405180910390fd5b471561028557610285600161090960911b01476102c3565b565b61028f610391565b610298826103f6565b6102a28282610439565b5050565b60006102b06104f6565b5060008051602061098783398151915290565b604080516000808252602082019092526001600160a01b0384169083906040516102ed9190610951565b60006040518083038185875af1925050503d806000811461032a576040519150601f19603f3d011682016040523d82523d6000602084013e61032f565b606091505b505090508061038c5760405162461bcd60e51b8152602060048201526024808201527f736166655472616e736665724554483a20455448207472616e736665722066616044820152631a5b195960e21b6064820152608401610264565b505050565b30600362012121608c1b0114806103d85750600362012121608c1b016103cc600080516020610987833981519152546001600160a01b031690565b6001600160a01b031614155b156102855760405163703e46dd60e11b815260040160405180910390fd5b3361090960911b146104365760405162461bcd60e51b81526020600482015260096024820152683737ba1030b236b4b760b91b6044820152606401610264565b50565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610493575060408051601f3d908101601f191682019092526104909181019061096d565b60015b6104bb57604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610264565b60008051602061098783398151915281146104ec57604051632a87526960e21b815260048101829052602401610264565b61038c838361051f565b30600362012121608c1b01146102855760405163703e46dd60e11b815260040160405180910390fd5b61052882610575565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561056d5761038c82826105da565b6102a2610650565b806001600160a01b03163b6000036105ab57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610264565b60008051602061098783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516105f79190610951565b600060405180830381855af49150503d8060008114610632576040519150601f19603f3d011682016040523d82523d6000602084013e610637565b606091505b509150915061064785838361066f565b95945050505050565b34156102855760405163b398979f60e01b815260040160405180910390fd5b6060826106845761067f826106ce565b6106c7565b815115801561069b57506001600160a01b0384163b155b156106c457604051639996b31560e01b81526001600160a01b0385166004820152602401610264565b50805b9392505050565b8051156106de5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6020808252825182820181905260009190848201906040850190845b818110156107385783516001600160a01b031683529284019291840191600101610713565b50909695505050505050565b6001600160a01b038116811461043657600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561079857610798610759565b604052919050565b600080604083850312156107b357600080fd5b82356107be81610744565b915060208381013567ffffffffffffffff808211156107dc57600080fd5b818601915086601f8301126107f057600080fd5b81358181111561080257610802610759565b610814601f8201601f1916850161076f565b9150808252878482850101111561082a57600080fd5b80848401858401376000848284010152508093505050509250929050565b60005b8381101561086357818101518382015260200161084b565b50506000910152565b602081526000825180602084015261088b816040850160208701610848565b601f01601f19169190910160400192915050565b600060208083850312156108b257600080fd5b825167ffffffffffffffff808211156108ca57600080fd5b818501915085601f8301126108de57600080fd5b8151818111156108f0576108f0610759565b8060051b915061090184830161076f565b818152918301840191848101908884111561091b57600080fd5b938501935b83851015610945578451925061093583610744565b8282529385019390850190610920565b98975050505050505050565b60008251610963818460208701610848565b9190910192915050565b60006020828403121561097f57600080fd5b505191905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220d7431b8c55135acd14277140c3e792e737dd67435ac1ab986730e38b73f30c0064736f6c63430008180033" } } -} +} \ No newline at end of file diff --git a/privnet/four/genesis_template.json b/privnet/four/genesis_template.json index 372e65fc04..8dcd4b923e 100644 --- a/privnet/four/genesis_template.json +++ b/privnet/four/genesis_template.json @@ -1,6 +1,6 @@ { "config": { - "chainId": _chain_id_, + "chainId": 2312051114, "homesteadBlock": 0, "eip150Block": 0, "eip155Block": 0, @@ -17,40 +17,86 @@ "shanghaiTime": 0, "dbft": { "period": 5, - "standbyValidators":[ + "standbyValidators": [ "0xnode1", "0xnode2", "0xnode3", "0xnode4" ], - "coinbase": "0x1212100000000000000000000000000000000001" + "coinbase": "0x1212000000000000000000000000000000000003" } }, "difficulty": "1", "gasLimit": "30000000", "alloc": { - "node1": { "balance": "100000000000000000000" }, - "node2": { "balance": "100000000000000000000" }, - "node3": { "balance": "100000000000000000000" }, - "node4": { "balance": "100000000000000000000" }, - "node5": { "balance": "100000000000000000000" }, - "1212100000000000000000000000000000000004": { - "balance": "100000000000000000000000", - "code": "0x608060405234801561001057600080fd5b506004361061012c5760003560e01c8063a1fd836e116100ad578063cf30901211610071578063cf309012146102c3578063de35f5cb146102e7578063e976d431146102fa578063f83d08ba1461030b578063fec95b481461031357600080fd5b8063a1fd836e14610266578063a69df4b51461028c578063aab8ab0c14610294578063b2ca3ec4146102a7578063c34c7882146102ba57600080fd5b80637b259db4116100f45780637b259db4146101f35780638312f149146102125780638406c0791461022f5780638955fe8a1461024a5780638da5cb5b1461025357600080fd5b80630c340a2414610131578063131305e71461016157806335aa2e44146101a257806344c7e2f4146101b5578063504ad4ec146101de575b600080fd5b600554610144906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61018a61016f3660046111c9565b6008602052600090815260409020546001600160401b031681565b6040516001600160401b039091168152602001610158565b6101446101b03660046111f2565b610327565b6101446101c33660046111c9565b6007602052600090815260409020546001600160a01b031681565b6101f16101ec366004611256565b610351565b005b60035461018a906801000000000000000090046001600160401b031681565b610221670de0b6b3a764000081565b604051908152602001610158565b61014473acc85ffb71f83b9bb264f6d64541926d375a6c1d81565b61022160015481565b600454610144906001600160a01b031681565b60035461027a90600160801b900460ff1681565b60405160ff9091168152602001610158565b6101f161068f565b6101f16102a23660046111c9565b610740565b600654610144906001600160a01b031681565b61022160025481565b6003546102d790600160901b900460ff1681565b6040519015158152602001610158565b60035461018a906001600160401b031681565b61022169021e19e0c9bab240000081565b6101f161094d565b60035461027a90600160881b900460ff1681565b6000818154811061033757600080fd5b6000918252602090912001546001600160a01b0316905081565b3373acc85ffb71f83b9bb264f6d64541926d375a6c1d146103a75760405162461bcd60e51b815260206004820152600b60248201526a2737ba103932b630bcb2b960a91b60448201526064015b60405180910390fd5b600354600160901b900460ff16156103d15760405162461bcd60e51b815260040161039e906112cf565b808061041f5760405162461bcd60e51b815260206004820152601f60248201527f4174206c656173742031206465706f7369742069732072657175697265642e00604482015260640161039e565b600354600160881b900460ff1681111561047b5760405162461bcd60e51b815260206004820152601b60248201527f546f6f206d616e79206465706f736974732070726f76696465642e0000000000604482015260640161039e565b600354610492906001600160401b03166001611311565b6001600160401b0316838360008181106104ae576104ae611338565b90506060020160400160208101906104c691906111c9565b6001600160401b0316146105375760405162461bcd60e51b815260206004820152603260248201527f4f6e6c7920746865206e657874206e6f6e636520697320616c6c6f776564206960448201527137103a3432903334b939ba10383937b7b31760711b606482015260840161039e565b60035461055090849084906001600160401b03166109da565b6105b15760405162461bcd60e51b815260206004820152602c60248201527f546865206e6f6e636573206f66207468652070726f6f6673206d75737420626560448201526b1039bab139b2b8bab2b73a1760a11b606482015260840161039e565b6105bc868686610a6d565b61061e5760405162461bcd60e51b815260206004820152602d60248201527f496e76616c6964206f7220696e73756666696369656e742076616c696461746f60448201526c391039b4b3b730ba3ab932b99760991b606482015260840161039e565b828261062b60018461134e565b81811061063a5761063a611338565b905060600201604001602081019061065291906111c9565b6003805467ffffffffffffffff19166001600160401b03929092169190911790556001805490879055610686818585610cff565b50505050505050565b6005546001600160a01b031633146106d85760405162461bcd60e51b815260206004820152600c60248201526b2737ba1033b7bb32b93737b960a11b604482015260640161039e565b600354600160901b900460ff166107315760405162461bcd60e51b815260206004820152601a60248201527f436f6e747261637420697320616c7265616479206c6f636b6564000000000000604482015260640161039e565b6003805460ff60901b19169055565b600354600160901b900460ff161561076a5760405162461bcd60e51b815260040161039e906112cf565b6001600160401b0380821660009081526007602090815260408083205460089092528220546001600160a01b039091169216908190036107e15760405162461bcd60e51b81526020600482015260126024820152714e6f20636c61696d61626c652066756e647360701b604482015260640161039e565b6001600160a01b03821661082c5760405162461bcd60e51b81526020600482015260126024820152714e6f20636c61696d61626c652066756e647360701b604482015260640161039e565b6001600160401b0383166000908152600860209081526040808320805467ffffffffffffffff191690556007909152812080546001600160a01b031916905561087482610fd7565b90506000836001600160a01b03168260405160006040518083038185875af1925050503d80600081146108c3576040519150601f19603f3d011682016040523d82523d6000602084013e6108c8565b606091505b505090508061090b5760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015260640161039e565b7fc050de00ef4ba397e08c78836db608d83db9c6335bf95019597119b9536f938985848660405161093e93929190611361565b60405180910390a15050505050565b6006546001600160a01b0316331461099b5760405162461bcd60e51b8152602060048201526011602482015270139bdd081cd958dd5c9a5d1e51dd585c99607a1b604482015260640161039e565b600354600160901b900460ff16156109c55760405162461bcd60e51b815260040161039e906112cf565b6003805460ff60901b1916600160901b179055565b600060015b60ff81168410610a60576109f660ff821684611311565b6001600160401b03168585610a0c60018561138d565b60ff16818110610a1e57610a1e611338565b9050606002016040016020810190610a3691906111c9565b6001600160401b031614610a4e576000915050610a66565b80610a58816113a6565b9150506109df565b50600190505b9392505050565b600354600090600160801b900460ff168214610acb5760405162461bcd60e51b815260206004820152601d60248201527f496e76616c6964206e756d626572206f66207369676e6174757265732e000000604482015260640161039e565b600084604051602001610ae091815260200190565b60408051601f198184030181529082905280516020918201207f19457468657265756d205369676e6564204d6573736167653a0a33320000000091830191909152603c820152605c0160408051808303601f190181528282528051602090910120600580845260c0840190925292506000919081602001602082028036833701905050905060005b6005811015610c3a5736868683818110610b8457610b84611338565b6060029190910191506001905084610b9f60208401846113c5565b604080516000815260208181018084529490945260ff9092168282015291840135606082015290830135608082015260a0016020604051602081039080840390855afa158015610bf3573d6000803e3d6000fd5b50505060206040510351838381518110610c0f57610c0f611338565b6001600160a01b03909216602092830291909101909101525080610c32816113e8565b915050610b68565b5060008080805b6005811015610cef578291505b6007821015610cd05760008281548110610c6a57610c6a611338565b60009182526020909120015485516001600160a01b0390911690869083908110610c9657610c96611338565b60200260200101516001600160a01b031603610cbe5783610cb6816113e8565b945050610cd0565b81610cc8816113e8565b925050610c4e565b610cdb826001611401565b925080610ce7816113e8565b915050610c41565b5050506005149695505050505050565b828160005b81811015610d845736858583818110610d1f57610d1f611338565b90506060020190506000610d61826040016020810190610d3f91906111c9565b610d4f60408501602086016111c9565b610d5c6020860186611414565b610ff7565b9050610d6d858261109c565b945050508080610d7c906113e8565b915050610d04565b506001548214610dce5760405162461bcd60e51b815260206004820152601560248201527424b73b30b634b2103232b837b9b4ba103937b7ba1760591b604482015260640161039e565b60005b81811015610fcf5736858583818110610dec57610dec611338565b60600291909101915060009050610e066020830183611414565b90506001600160a01b0381163b610f57576000610e31610e2c60408501602086016111c9565b610fd7565b90506000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610e80576040519150601f19603f3d011682016040523d82523d6000602084013e610e85565b606091505b505090508015610eed577f2c20d394553ff35017f1f147d7e3a1ffc1caeaf1e422b5d9730fabe8c90042fe610ec060608601604087016111c9565b610ed060408701602088016111c9565b85604051610ee093929190611361565b60405180910390a1610f50565b610ef684611116565b7fb79dcd48431a0507fde36076107e606e63739e8a604f219cebe9aa0c1f17a115610f2760608601604087016111c9565b610f3760408701602088016111c9565b85604051610f4793929190611361565b60405180910390a15b5050610fba565b610f6082611116565b7fb79dcd48431a0507fde36076107e606e63739e8a604f219cebe9aa0c1f17a115610f9160608401604085016111c9565b610fa160408501602086016111c9565b83604051610fb193929190611361565b60405180910390a15b50508080610fc7906113e8565b915050610dd1565b505050505050565b6000610ff16001600160401b0383166402540be40061143d565b92915050565b6040516001600160c01b031960c085811b8216602084015284901b1660288201526bffffffffffffffffffffffff19606083901b16603082015260009060029060440160408051601f198184030181529082905261105491611454565b602060405180830381855afa158015611071573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906110949190611483565b949350505050565b6000600283836040516020016110bc929190918252602082015260400190565b60408051601f19818403018152908290526110d691611454565b602060405180830381855afa1580156110f3573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610a669190611483565b6111236020820182611414565b6007600061113760608501604086016111c9565b6001600160401b03168152602080820192909252604090810160002080546001600160a01b0319166001600160a01b0394909416939093179092556111809183019083016111c9565b6008600061119460608501604086016111c9565b6001600160401b0390811682526020820192909252604001600020805467ffffffffffffffff19169290911691909117905550565b6000602082840312156111db57600080fd5b81356001600160401b0381168114610a6657600080fd5b60006020828403121561120457600080fd5b5035919050565b60008083601f84011261121d57600080fd5b5081356001600160401b0381111561123457600080fd5b60208301915083602060608302850101111561124f57600080fd5b9250929050565b60008060008060006060868803121561126e57600080fd5b8535945060208601356001600160401b038082111561128c57600080fd5b61129889838a0161120b565b909650945060408801359150808211156112b157600080fd5b506112be8882890161120b565b969995985093965092949392505050565b60208082526012908201527110dbdb9d1c9858dd081a5cc81b1bd8dad95960721b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6001600160401b03818116838216019080821115611331576113316112fb565b5092915050565b634e487b7160e01b600052603260045260246000fd5b81810381811115610ff157610ff16112fb565b6001600160401b0393841681529190921660208201526001600160a01b03909116604082015260600190565b60ff8281168282160390811115610ff157610ff16112fb565b600060ff821660ff81036113bc576113bc6112fb565b60010192915050565b6000602082840312156113d757600080fd5b813560ff81168114610a6657600080fd5b6000600182016113fa576113fa6112fb565b5060010190565b80820180821115610ff157610ff16112fb565b60006020828403121561142657600080fd5b81356001600160a01b0381168114610a6657600080fd5b8082028115828204841417610ff157610ff16112fb565b6000825160005b81811015611475576020818601810151858301520161145b565b506000920191825250919050565b60006020828403121561149557600080fd5b505191905056fea2646970667358221220e02d47f2295ab4356fd494c7d31cea4076fca2f8f702a5ccedfac1b69565502464736f6c63430008120033", + "0xnode1": { + "balance": "10000000000000000000000000" + }, + "0xnode2": { + "balance": "100000000000000000000" + }, + "0xnode3": { + "balance": "100000000000000000000" + }, + "0xnode4": { + "balance": "100000000000000000000" + }, + "0xnode5": { + "balance": "100000000000000000000" + }, + "0x1212000000000000000000000000000000000000": { + "balance": "0", + "code": "0x6080604052600436106100345760003560e01c8063701b70ac1461003957806389dc5c841461006e5780639623609d146100a2575b600080fd5b34801561004557600080fd5b5061005961005436600461053f565b6100b7565b60405190151581526020015b60405180910390f35b34801561007a57600080fd5b5061008a600361090960911b0181565b6040516001600160a01b039091168152602001610065565b6100b56100b03660046105aa565b610184565b005b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610100573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101289190810190610664565b905060005b815181101561017a5781818151811061014857610148610716565b60200260200101516001600160a01b0316846001600160a01b031603610172575060019392505050565b60010161012d565b5060009392505050565b7fe739b9109d83c1c6d0d640fe9ed476fc5862a6de5483b00678a3fffa7a2be2f68383836040516020016101ba93929190610772565b604051602081830303815290604052805190602001206101d9336100b7565b6102155760405162461bcd60e51b81526020600482015260096024820152682737ba1026b4b732b960b91b604482015260640160405180910390fd5b61021f82826102e0565b610229828261033e565b156102d95760405163278f794360e11b81526001600160a01b03861690634f1ef28690349061025e90889088906004016107a7565b6000604051808303818588803b15801561027757600080fd5b505af115801561028b573d6000803e3d6000fd5b505060408051868152602081018690527ff5aa3d6492eaf1a4d6787c5bd36e8ec61c245d4af2fd1fd387e387a50de9f8c594500191506102c89050565b60405180910390a16102d982610450565b5050505050565b6000828152602081815260408083203380855290835292819020849055805192835290820184905281018290527f61699483e2a58589628399a22e34da872b583143ab99b3245ba6dacf4974d2e39060600160405180910390a15050565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610387573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103af9190810190610664565b90506000805b8251811015610429578460008088815260200190815260200160002060008584815181106103e5576103e5610716565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205403610421578161041d816107e9565b9250505b6001016103b5565b5060028251600161043a9190610802565b6104449190610815565b11159150505b92915050565b6000600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610498573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104c09190810190610664565b905060005b81518110156105225760008084815260200190815260200160002060008383815181106104f4576104f4610716565b6020908102919091018101516001600160a01b031682528101919091526040016000908120556001016104c5565b505050565b6001600160a01b038116811461053c57600080fd5b50565b60006020828403121561055157600080fd5b813561055c81610527565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156105a2576105a2610563565b604052919050565b6000806000606084860312156105bf57600080fd5b83356105ca81610527565b92506020848101356105db81610527565b9250604085013567ffffffffffffffff808211156105f857600080fd5b818701915087601f83011261060c57600080fd5b81358181111561061e5761061e610563565b610630601f8201601f19168501610579565b9150808252888482850101111561064657600080fd5b80848401858401376000848284010152508093505050509250925092565b6000602080838503121561067757600080fd5b825167ffffffffffffffff8082111561068f57600080fd5b818501915085601f8301126106a357600080fd5b8151818111156106b5576106b5610563565b8060051b91506106c6848301610579565b81815291830184019184810190888411156106e057600080fd5b938501935b8385101561070a57845192506106fa83610527565b82825293850193908501906106e5565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b6000815180845260005b8181101561075257602081850181015186830182015201610736565b506000602082860101526020601f19601f83011685010191505092915050565b6001600160a01b0384811682528316602082015260606040820181905260009061079e9083018461072c565b95945050505050565b6001600160a01b03831681526040602082018190526000906107cb9083018461072c565b949350505050565b634e487b7160e01b600052601160045260246000fd5b6000600182016107fb576107fb6107d3565b5060010190565b8082018082111561044a5761044a6107d3565b60008261083257634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212209e61d38d47b2583b6176290ca9691082e36c167c502217e5f59481c644e946dc64736f6c63430008180033" + }, + "0x1212000000000000000000000000000000000001": { + "balance": "0", + "code": "0x6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea2646970667358221220965379b4e29f73cf2ee1957914dc167d4751357fc5df24ccd8586bd4bf9b47e964736f6c63430008180033", "storage": { - "0x0000000000000000000000000000000000000000000000000000000000000005": "0x0f467b64b0f970e63994fe8a120410151cc094db", - "0x0000000000000000000000000000000000000000000000000000000000000000": "0x07", - "0x0000000000000000000000000000000000000000000000000000000000000004": "0xbb03c5030cac72e290ae185a8b9b375c58f7a9a6", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e567": "0x97fb9c893c19da2672dbd790ac9fc406f138584b", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e569": "0x394831b50e496a4e85c97acdbd7943802d897c34", - "0x0000000000000000000000000000000000000000000000000000000000000003": "0x640500000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000006": "0xe7715472792d680ab4c5837e2131264a6153c89d", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563": "0xf82cf7e2b899a57d22653a6a742c0c60523d6a61", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e568": "0xb93ce875656d56935da316b27860b0fc7b60435a", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e565": "0x58e479a056df6d54600b4e02b8eb6390bcd8a550", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e566": "0x3a6eabc45ac029ccfaf49d54593a996f638e7cf7", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e564": "0xb42fbb03f30424aa903022269fcd62eabbdfcfae" + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x01", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x04", + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x0de0b6b3a7640000", + "0x0000000000000000000000000000000000000000000000000000000000000003": "0x027b46536c66c8e3000000", + "0x0000000000000000000000000000000000000000000000000000000000000004": "0x3635c9adc5dea00000", + "0x0000000000000000000000000000000000000000000000000000000000000005": "0x1e", + "0x0000000000000000000000000000000000000000000000000000000000000010": "0x04", + "0x0000000000000000000000000000000000000000000000000000000000000011": "0x04", + "0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c68": "0xnode1", + "0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c69": "0xnode2", + "0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6a": "0xnode3", + "0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6b": "0xnode4", + "0x1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae672": "0xnode1", + "0x1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae673": "0xnode2", + "0x1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae674": "0xnode3", + "0x1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae675": "0xnode4", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x1212100000000000000000000000000000000001" } + }, + "0x1212000000000000000000000000000000000002": { + "balance": "0", + "code": "0x6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea2646970667358221220965379b4e29f73cf2ee1957914dc167d4751357fc5df24ccd8586bd4bf9b47e964736f6c63430008180033", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x989680", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x1212100000000000000000000000000000000002" + } + }, + "0x1212000000000000000000000000000000000003": { + "balance": "0", + "code": "0x6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea2646970667358221220965379b4e29f73cf2ee1957914dc167d4751357fc5df24ccd8586bd4bf9b47e964736f6c63430008180033", + "storage": { + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x1212100000000000000000000000000000000003" + } + }, + "0x1212100000000000000000000000000000000001": { + "balance": "0", + "code": "0x60806040526004361061021e5760003560e01c8063786255f111610123578063a6580de8116100ab578063d8ce95ab1161006f578063d8ce95ab146108ee578063da0b33171461091b578063db069ba514610948578063f13c03af14610975578063f4bbb82f1461098e57600080fd5b8063a6580de814610854578063a681dfec1461086a578063ad3cb1cc1461087f578063b88a802f146108bd578063ce4b5bbe146108d257600080fd5b8063902bdc26116100f2578063902bdc26146107b45780639690293b146107e157806398ca58df146107f65780639f9d7f8114610823578063a5257a1d1461083857600080fd5b8063786255f11461071e57806384ccebc9146107565780638e1900a8146107715780638f1b32191461079e57600080fd5b80634d21e426116101a6578063611905331161017557806361190533146106805780636900cad8146106955780636db504e7146106b55780636dd7d8ea146106eb57806373c7fbe9146106fe57600080fd5b80634d21e426146106155780634f1ef286146106425780634ff0876a1461065557806352d1902d1461066b57600080fd5b80630ea6a041116101ed5780630ea6a041146105685780631f26f256146105a057806326bd0c4e146105b657806343c14b22146105d35780634c569c25146105e857600080fd5b806303f187ea146104f457806306a49fce1461051d5780630b2a85ea1461053f5780630d15fd771461055257600080fd5b366104ef5761022b6109a4565b33600361090960911b011461027f5760405162461bcd60e51b81526020600482015260156024820152741cda59194818d85b1b081b9bdd08185b1b1bddd959605a1b60448201526064015b60405180910390fd5b600060108054806020026020016040519081016040528092919081815260200182805480156102d757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116102b9575b505083519394506000925050505b818110156104e057600c6000848381518110610303576103036121a5565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205460001461044657600c6000848381518110610349576103496121a5565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020546103e8600154670de0b6b3a764000060086000888781518110610397576103976121a5565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054346103cb91906121d1565b6103d591906121d1565b6103df91906121fe565b6103e991906121fe565b6103f391906121fe565b60126000858481518110610409576104096121a5565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546104409190612212565b90915550505b6104d883828151811061045b5761045b6121a5565b60200260200101516103e86001546008600088878151811061047f5761047f6121a5565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020546103e86104b59190612225565b6104bf90346121d1565b6104c991906121fe565b6104d391906121fe565b6109ce565b6001016102e5565b5050506104ed6001600055565b005b600080fd5b34801561050057600080fd5b5061050a60045481565b6040519081526020015b60405180910390f35b34801561052957600080fd5b50610532610a9c565b6040516105149190612238565b6104ed61054d366004612285565b610aad565b34801561055e57600080fd5b5061050a600b5481565b34801561057457600080fd5b50610588610583366004612285565b610c6f565b6040516001600160a01b039091168152602001610514565b3480156105ac57600080fd5b5061050a600f5481565b3480156105c257600080fd5b50610588600162012121608c1b0181565b3480156105df57600080fd5b506104ed610c99565b3480156105f457600080fd5b5061050a6106033660046122ba565b60126020526000908152604090205481565b34801561062157600080fd5b5061050a6106303660046122ba565b600a6020526000908152604090205481565b6104ed6106503660046122eb565b610e11565b34801561066157600080fd5b5061050a60055481565b34801561067757600080fd5b5061050a610e30565b34801561068c57600080fd5b506104ed610e4d565b3480156106a157600080fd5b506105886106b0366004612285565b610f56565b3480156106c157600080fd5b506105886106d03660046122ba565b600d602052600090815260409020546001600160a01b031681565b6104ed6106f93660046122ba565b610f66565b34801561070a57600080fd5b5061050a6107193660046122ba565b6111da565b34801561072a57600080fd5b5061050a6107393660046123ad565b601560209081526000928352604080842090915290825290205481565b34801561076257600080fd5b506105886002600160a01b0381565b34801561077d57600080fd5b5061050a61078c3660046122ba565b60136020526000908152604090205481565b3480156107aa57600080fd5b5061050a60025481565b3480156107c057600080fd5b5061050a6107cf3660046122ba565b60086020526000908152604090205481565b3480156107ed57600080fd5b506104ed611216565b34801561080257600080fd5b5061050a6108113660046122ba565b60146020526000908152604090205481565b34801561082f57600080fd5b506105326112b8565b34801561084457600080fd5b50610588600361090960911b0181565b34801561086057600080fd5b5061050a60015481565b34801561087657600080fd5b506104ed61131a565b34801561088b57600080fd5b506108b0604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161051491906123fb565b3480156108c957600080fd5b506104ed61152b565b3480156108de57600080fd5b5061050a670de0b6b3a764000081565b3480156108fa57600080fd5b5061050a6109093660046122ba565b600c6020526000908152604090205481565b34801561092757600080fd5b5061050a6109363660046122ba565b60096020526000908152604090205481565b34801561095457600080fd5b5061050a6109633660046122ba565b600e6020526000908152604090205481565b34801561098157600080fd5b5061058861090960911b81565b34801561099a57600080fd5b5061050a60035481565b6002600054036109c757604051633ee5aeb560e01b815260040160405180910390fd5b6002600055565b604080516000808252602082019092526001600160a01b0384169083906040516109f8919061242e565b60006040518083038185875af1925050503d8060008114610a35576040519150601f19603f3d011682016040523d82523d6000602084013e610a3a565b606091505b5050905080610a975760405162461bcd60e51b8152602060048201526024808201527f736166655472616e736665724554483a20455448207472616e736665722066616044820152631a5b195960e21b6064820152608401610276565b505050565b6060610aa860066115b7565b905090565b323314610aed5760405162461bcd60e51b815260206004820152600e60248201526d6f6e6c7920616c6c6f7720454f4160901b6044820152606401610276565b600454341015610b355760405162461bcd60e51b81526020600482015260136024820152721a5b9cdd59999a58da595b9d08185b5bdd5b9d606a1b6044820152606401610276565b6103e88110610b755760405162461bcd60e51b815260206004820152600c60248201526b696e76616c6964207261746560a01b6044820152606401610276565b610b806006336115c4565b15610bc05760405162461bcd60e51b815260206004820152601060248201526f63616e6469646174652065786973747360801b6044820152606401610276565b3360009081526009602052604090205415610c105760405162461bcd60e51b815260206004820152601060248201526f1b19599d081b9bdd0818db185a5b595960821b6044820152606401610276565b610c1b6006336115eb565b50336000818152600860209081526040808320859055600a82529182902034905590519182527feeda149c76076b34d4b9d8896c2f7efc0d33d1c7b53ea3c5db490d64613f603a910160405180910390a150565b60108181548110610c7f57600080fd5b6000918252602090912001546001600160a01b0316905081565b610ca16109a4565b336000908152600d6020908152604080832054600e909252909120546001600160a01b03909116908115801590610cd85750600081115b610d195760405162461bcd60e51b81526020600482015260126024820152711c995d9bdad9481b9bdd08185b1b1bddd95960721b6044820152606401610276565b6000610d253384611600565b6001600160a01b0384166000908152600c6020526040812080549293508492909190610d52908490612225565b9250508190555081600b6000828254610d6b9190612225565b9091555050336000818152600d6020908152604080832080546001600160a01b0319169055600e825280832083905560138252808320839055601482528083209290925581519283526001600160a01b0386169083015281018390527fb698e31a2abee5824d0d7bcfd2339aead7f9e9ae413fba50bf554ff3fa470b7b9060600160405180910390a1610e02336104d38385612212565b505050610e0f6001600055565b565b610e1961167b565b610e22826116e0565b610e2c8282611720565b5050565b6000610e3a6117dd565b5060008051602061252983398151915290565b610e556109a4565b3360009081526009602052604090205415801590610e995750600554610e7c9060026121d1565b33600090815260096020526040902054610e969190612212565b43115b610edc5760405162461bcd60e51b81526020600482015260146024820152731dda5d1a191c985dc81b9bdd08185b1b1bddd95960621b6044820152606401610276565b336000818152600a60209081526040808320805490849055600983528184208490556008835281842093909355805193845290830182905290917f142e26dcca50281d2c46d90446bfc1c9bc260cef355ce917a52f1fec7c54b5bf910160405180910390a1610f4b33826109ce565b50610e0f6001600055565b60118181548110610c7f57600080fd5b610f6e6109a4565b600254341015610fb65760405162461bcd60e51b81526020600482015260136024820152721a5b9cdd59999a58da595b9d08185b5bdd5b9d606a1b6044820152606401610276565b610fc16006826115c4565b6110055760405162461bcd60e51b815260206004820152601560248201527418d85b991a59185d19481b9bdd08185b1b1bddd959605a1b6044820152606401610276565b336000908152600d60205260409020546001600160a01b0390811690821681148061103757506001600160a01b038116155b6110835760405162461bcd60e51b815260206004820152601a60248201527f6f6e6c79206f6e652063686f69636520697320616c6c6f7765640000000000006044820152606401610276565b60006001600160a01b038216156110a55761109e3383611600565b90506110e9565b336000818152600d6020908152604080832080546001600160a01b0319166001600160a01b0389169081179091558352601282528083205493835260139091529020555b336000908152600e602052604081208054349290611108908490612212565b90915550506001600160a01b0383166000908152600c602052604081208054349290611135908490612212565b9250508190555034600b600082825461114e9190612212565b90915550506001600160a01b038216611174573360009081526014602052604090204390555b604080513381526001600160a01b0385166020820152348183015290517f66a9138482c99e9baf08860110ef332cc0c23b4a199a53593d8db0fc8f96fbfc9181900360600190a180156111cb576111cb33826109ce565b50506111d76001600055565b50565b6001600160a01b038082166000908152600d6020526040812054909116806112055750600092915050565b61120f8382611806565b9392505050565b6112216006336115c4565b6112645760405162461bcd60e51b815260206004820152601460248201527363616e646964617465206e6f742065786973747360601b6044820152606401610276565b61126f6006336118eb565b503360008181526009602090815260409182902043905590519182527f7c79e6e24ed041d1072d54523b53956f01b91b835f0490856370594d9d14470e910160405180910390a1565b6060601080548060200260200160405190810160405280929190818152602001828054801561131057602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116112f2575b5050505050905090565b336002600160a01b03146113685760405162461bcd60e51b81526020600482015260156024820152741cda59194818d85b1b081b9bdd08185b1b1bddd959605a1b6044820152606401610276565b600361090960911b016001600160a01b0316633ccfd60b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156113ab57600080fd5b505af11580156113bf573d6000803e3d6000fd5b50505050600554600f546113d39190612212565b4310156113dc57565b43600f5560006113ec60066115b7565b805190915060005b818110156114a25760126000848381518110611412576114126121a5565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205460156000858481518110611451576114516121a5565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006005544361148991906121fe565b81526020810191909152604001600020556001016113f4565b506001548110806114b65750600354600b54105b156114d157601180546114cb916010916120eb565b506114ef565b6114d9611900565b80516114ed9160109160209091019061213b565b505b7fe59e3b36b5c97b419925b60c92f5a4324c993934eb9cfe5232def67c1739337c601060405161151f919061244a565b60405180910390a15050565b6115336109a4565b336000908152600d60205260409020546001600160a01b03168061158d5760405162461bcd60e51b815260206004820152601160248201527018db185a5b481b9bdd08185b1b1bddd959607a1b6044820152606401610276565b60006115993383611600565b905080156115ab576115ab33826109ce565b5050610e0f6001600055565b6060600061120f83611a80565b6001600160a01b038116600090815260018301602052604081205415155b90505b92915050565b60006115e2836001600160a01b038416611adc565b60008061160d8484611806565b6001600160a01b03848116600090815260126020908152604080832054938916808452601383529281902093909355825191825281018390529192507fbeceb521ccd2816457290c3d1cb70cc1537f14307f2d9ac26a5093a38ea40948910160405180910390a19392505050565b30600162012121608c1b0114806116c25750600162012121608c1b016116b6600080516020612529833981519152546001600160a01b031690565b6001600160a01b031614155b15610e0f5760405163703e46dd60e11b815260040160405180910390fd5b3361090960911b146111d75760405162461bcd60e51b81526020600482015260096024820152683737ba1030b236b4b760b91b6044820152606401610276565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561177a575060408051601f3d908101601f191682019092526117779181019061248e565b60015b6117a257604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610276565b60008051602061252983398151915281146117d357604051632a87526960e21b815260048101829052602401610276565b610a978383611b2b565b30600162012121608c1b0114610e0f5760405163703e46dd60e11b815260040160405180910390fd5b6001600160a01b03808316600090815260146020908152604080832054601383528184205494861684526012909252822054600f5492939192831061185157600093505050506115e5565b6001600160a01b0385166000908152601560205260408120600554829061187890876121fe565b611883906001612212565b8152602001908152602001600020549050828111156118a0578092505b670de0b6b3a76400006118b38484612225565b6001600160a01b0389166000908152600e60205260409020546118d691906121d1565b6118e091906121fe565b979650505050505050565b60006115e2836001600160a01b038416611b81565b6060600061190c610a9c565b805190915060008167ffffffffffffffff81111561192c5761192c6122d5565b604051908082528060200260200182016040528015611955578160200160208202803683370190505b50905060005b828110156119c757600c6000858381518110611979576119796121a5565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020548282815181106119b4576119b46121a5565b602090810291909101015260010161195b565b506119d58382600154611c7b565b600060015467ffffffffffffffff8111156119f2576119f26122d5565b604051908082528060200260200182016040528015611a1b578160200160208202803683370190505b50905060005b600154811015611a7757848181518110611a3d57611a3d6121a5565b6020026020010151828281518110611a5757611a576121a5565b6001600160a01b0390921660209283029190910190910152600101611a21565b50949350505050565b606081600001805480602002602001604051908101604052809291908181526020018280548015611ad057602002820191906000526020600020905b815481526020019060010190808311611abc575b50505050509050919050565b6000818152600183016020526040812054611b23575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556115e5565b5060006115e5565b611b3482611da7565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611b7957610a978282611e0c565b610e2c611e82565b60008181526001830160205260408120548015611c6a576000611ba5600183612225565b8554909150600090611bb990600190612225565b9050808214611c1e576000866000018281548110611bd957611bd96121a5565b9060005260206000200154905080876000018481548110611bfc57611bfc6121a5565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611c2f57611c2f6124a7565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506115e5565b60009150506115e5565b5092915050565b825160006001611c8c6002856124bd565b611c9691906124eb565b90505b60008112611cbf57611cad85858386611ea1565b80611cb78161250b565b915050611c99565b50815b81811015611da05783600081518110611cdd57611cdd6121a5565b6020026020010151848281518110611cf757611cf76121a5565b60200260200101511115611d9857838181518110611d1757611d176121a5565b602002602001015184600081518110611d3257611d326121a5565b602002602001018181525050848181518110611d5057611d506121a5565b602002602001015185600081518110611d6b57611d6b6121a5565b60200260200101906001600160a01b031690816001600160a01b031681525050611d988585600086611ea1565b600101611cc2565b5050505050565b806001600160a01b03163b600003611ddd57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610276565b60008051602061252983398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611e29919061242e565b600060405180830381855af49150503d8060008114611e64576040519150601f19603f3d011682016040523d82523d6000602084013e611e69565b606091505b5091509150611e7985838361206d565b95945050505050565b3415610e0f5760405163b398979f60e01b815260040160405180910390fd5b6000611eae8360026121d1565b611eb9906001612212565b90505b81811015611da05781611ed0826001612212565b108015611f18575083611ee4826001612212565b81518110611ef457611ef46121a5565b6020026020010151848281518110611f0e57611f0e6121a5565b6020026020010151115b15611f2b57611f28600182612212565b90505b838381518110611f3d57611f3d6121a5565b6020026020010151848281518110611f5757611f576121a5565b602002602001015111611da057838381518110611f7657611f766121a5565b6020026020010151848281518110611f9057611f906121a5565b6020026020010151858381518110611faa57611faa6121a5565b60200260200101868681518110611fc357611fc36121a5565b6020026020010182815250828152505050848381518110611fe657611fe66121a5565b6020026020010151858281518110612000576120006121a5565b602002602001015186838151811061201a5761201a6121a5565b60200260200101878681518110612033576120336121a5565b6001600160a01b0393841660209182029290920101529116905291508161205b8160026121d1565b612066906001612212565b9050611ebc565b6060826120825761207d826120c2565b61120f565b815115801561209957506001600160a01b0384163b155b15611c7457604051639996b31560e01b81526001600160a01b0385166004820152602401610276565b8051156120d25780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b82805482825590600052602060002090810192821561212b5760005260206000209182015b8281111561212b578254825591600101919060010190612110565b50612137929150612190565b5090565b82805482825590600052602060002090810192821561212b579160200282015b8281111561212b57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019061215b565b5b808211156121375760008155600101612191565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176115e5576115e56121bb565b634e487b7160e01b600052601260045260246000fd5b60008261220d5761220d6121e8565b500490565b808201808211156115e5576115e56121bb565b818103818111156115e5576115e56121bb565b6020808252825182820181905260009190848201906040850190845b818110156122795783516001600160a01b031683529284019291840191600101612254565b50909695505050505050565b60006020828403121561229757600080fd5b5035919050565b80356001600160a01b03811681146122b557600080fd5b919050565b6000602082840312156122cc57600080fd5b6115e28261229e565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156122fe57600080fd5b6123078361229e565b9150602083013567ffffffffffffffff8082111561232457600080fd5b818501915085601f83011261233857600080fd5b81358181111561234a5761234a6122d5565b604051601f8201601f19908116603f01168101908382118183101715612372576123726122d5565b8160405282815288602084870101111561238b57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600080604083850312156123c057600080fd5b6123c98361229e565b946020939093013593505050565b60005b838110156123f25781810151838201526020016123da565b50506000910152565b602081526000825180602084015261241a8160408501602087016123d7565b601f01601f19169190910160400192915050565b600082516124408184602087016123d7565b9190910192915050565b6020808252825482820181905260008481528281209092916040850190845b818110156122795783546001600160a01b031683526001938401939285019201612469565b6000602082840312156124a057600080fd5b5051919050565b634e487b7160e01b600052603160045260246000fd5b6000826124cc576124cc6121e8565b600160ff1b8214600019841416156124e6576124e66121bb565b500590565b8181036000831280158383131683831282161715611c7457611c746121bb565b6000600160ff1b8201612520576125206121bb565b50600019019056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220b015f0f58d95238a34a124b1f2a432eacd9551b6263a31392fc3f3ee94eb6dc564736f6c63430008180033" + }, + "0x1212100000000000000000000000000000000002": { + "balance": "0", + "code": "0x6080604052600436106100a75760003560e01c806390ac18661161006457806390ac18661461018a578063ad3cb1cc146101aa578063d96ed505146101e8578063e47d6060146101fe578063e4997dc51461022e578063f13c03af1461024e57600080fd5b80630ecb93c0146100ac57806326bd0c4e146100ce5780634f1ef2861461010857806352d1902d1461011b578063701b70ac1461013e57806389dc5c841461016e575b600080fd5b3480156100b857600080fd5b506100cc6100c7366004610d37565b610267565b005b3480156100da57600080fd5b506100eb600262012121608c1b0181565b6040516001600160a01b0390911681526020015b60405180910390f35b6100cc610116366004610d9b565b610406565b34801561012757600080fd5b50610130610425565b6040519081526020016100ff565b34801561014a57600080fd5b5061015e610159366004610d37565b610442565b60405190151581526020016100ff565b34801561017a57600080fd5b506100eb600361090960911b0181565b34801561019657600080fd5b506100cc6101a5366004610e43565b61050f565b3480156101b657600080fd5b506101db604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100ff9190610e80565b3480156101f457600080fd5b5061013060015481565b34801561020a57600080fd5b5061015e610219366004610d37565b60026020526000908152604090205460ff1681565b34801561023a57600080fd5b506100cc610249366004610d37565b610631565b34801561025a57600080fd5b506100eb61090960911b81565b604080516001600160a01b03831660208201527f4912b57f7ea75243ecaff76a75bdedbc13a6f58c1c967b0427b8aee0a276309e9101604051602081830303815290604052805190602001206102bc33610442565b6102e15760405162461bcd60e51b81526004016102d890610eb3565b60405180910390fd5b6102eb8282610778565b6102f582826107d6565b6102fe57505050565b6001600160a01b03831660009081526002602052604090205460ff16156103675760405162461bcd60e51b815260206004820181905260248201527f506f6c6963793a20426c61636b6c69737420616c72656164792065786973747360448201526064016102d8565b6001600160a01b038316600081815260026020908152604091829020805460ff1916600117905590519182527ff9dfc5050bb4c9b200f093a995458a80fb19943585b189fe5d317391abdc764591015b60405180910390a160408051838152602081018390527ff5aa3d6492eaf1a4d6787c5bd36e8ec61c245d4af2fd1fd387e387a50de9f8c5910160405180910390a1610401826108e8565b505050565b61040e6109ba565b61041782610a21565b6104218282610a64565b5050565b600061042f610b21565b5060008051602061103883398151915290565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561048b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104b39190810190610ed6565b905060005b8151811015610505578181815181106104d3576104d3610f88565b60200260200101516001600160a01b0316846001600160a01b0316036104fd575060019392505050565b6001016104b8565b5060009392505050565b7f0d48c1723f9a97946a942509ee525d5449a8f1d6460432fc2b267126c5cb1bce8160405160200161054391815260200190565b6040516020818303038152906040528051906020012061056233610442565b61057e5760405162461bcd60e51b81526004016102d890610eb3565b6105888282610778565b61059282826107d6565b61059b57505050565b600083116105fc5760405162461bcd60e51b815260206004820152602860248201527f506f6c6963793a207365744d696e476173507269636520696e76616c6964207060448201526730b930b6b2ba32b960c11b60648201526084016102d8565b60018390556040518381527f707bb10a9a561bf00f6acc0b0231a12146dc98352b4e8c8deb55e141ace32890906020016103b7565b604080516001600160a01b03831660208201527f310cc9bfce6443143f03d0cdc4d66afa0b3c689539eb3e65cb1820b56d67246591016040516020818303038152906040528051906020012061068633610442565b6106a25760405162461bcd60e51b81526004016102d890610eb3565b6106ac8282610778565b6106b682826107d6565b6106bf57505050565b6001600160a01b03831660009081526002602052604090205460ff166107275760405162461bcd60e51b815260206004820181905260248201527f506f6c6963793a20426c61636b6c69737420646f6573206e6f7420657869737460448201526064016102d8565b6001600160a01b038316600081815260026020908152604091829020805460ff1916905590519182527f2234edb6f393cd207251f6579b5852192c144c4c12b9cc32e80539ef12faed3f91016103b7565b6000828152602081815260408083203380855290835292819020849055805192835290820184905281018290527f61699483e2a58589628399a22e34da872b583143ab99b3245ba6dacf4974d2e39060600160405180910390a15050565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561081f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108479190810190610ed6565b90506000805b82518110156108c15784600080888152602001908152602001600020600085848151811061087d5761087d610f88565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054036108b957816108b581610fb4565b9250505b60010161084d565b506002825160016108d29190610fcd565b6108dc9190610fe0565b11159150505b92915050565b6000600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610930573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109589190810190610ed6565b905060005b815181101561040157600080848152602001908152602001600020600083838151811061098c5761098c610f88565b6020908102919091018101516001600160a01b0316825281019190915260400160009081205560010161095d565b30600262012121608c1b011480610a015750600262012121608c1b016109f5600080516020611038833981519152546001600160a01b031690565b6001600160a01b031614155b15610a1f5760405163703e46dd60e11b815260040160405180910390fd5b565b3361090960911b14610a615760405162461bcd60e51b81526020600482015260096024820152683737ba1030b236b4b760b91b60448201526064016102d8565b50565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610abe575060408051601f3d908101601f19168201909252610abb91810190611002565b60015b610ae657604051634c9c8ce360e01b81526001600160a01b03831660048201526024016102d8565b6000805160206110388339815191528114610b1757604051632a87526960e21b8152600481018290526024016102d8565b6104018383610b4a565b30600262012121608c1b0114610a1f5760405163703e46dd60e11b815260040160405180910390fd5b610b5382610ba0565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610b98576104018282610c05565b610421610c7b565b806001600160a01b03163b600003610bd657604051634c9c8ce360e01b81526001600160a01b03821660048201526024016102d8565b60008051602061103883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610c22919061101b565b600060405180830381855af49150503d8060008114610c5d576040519150601f19603f3d011682016040523d82523d6000602084013e610c62565b606091505b5091509150610c72858383610c9a565b95945050505050565b3415610a1f5760405163b398979f60e01b815260040160405180910390fd5b606082610caf57610caa82610cf9565b610cf2565b8151158015610cc657506001600160a01b0384163b155b15610cef57604051639996b31560e01b81526001600160a01b03851660048201526024016102d8565b50805b9392505050565b805115610d095780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6001600160a01b0381168114610a6157600080fd5b600060208284031215610d4957600080fd5b8135610cf281610d22565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610d9357610d93610d54565b604052919050565b60008060408385031215610dae57600080fd5b8235610db981610d22565b915060208381013567ffffffffffffffff80821115610dd757600080fd5b818601915086601f830112610deb57600080fd5b813581811115610dfd57610dfd610d54565b610e0f601f8201601f19168501610d6a565b91508082528784828501011115610e2557600080fd5b80848401858401376000848284010152508093505050509250929050565b600060208284031215610e5557600080fd5b5035919050565b60005b83811015610e77578181015183820152602001610e5f565b50506000910152565b6020815260008251806020840152610e9f816040850160208701610e5c565b601f01601f19169190910160400192915050565b6020808252600990820152683737ba1026b4b732b960b91b604082015260600190565b60006020808385031215610ee957600080fd5b825167ffffffffffffffff80821115610f0157600080fd5b818501915085601f830112610f1557600080fd5b815181811115610f2757610f27610d54565b8060051b9150610f38848301610d6a565b8181529183018401918481019088841115610f5257600080fd5b938501935b83851015610f7c5784519250610f6c83610d22565b8282529385019390850190610f57565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201610fc657610fc6610f9e565b5060010190565b808201808211156108e2576108e2610f9e565b600082610ffd57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561101457600080fd5b5051919050565b6000825161102d818460208701610e5c565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122080dc9c63474cff6584c343a283076a4aa9dce3cd3153430acf1110c38cf73d7a64736f6c63430008180033" + }, + "0x1212100000000000000000000000000000000003": { + "balance": "0", + "code": "0x60806040526004361061007f5760003560e01c80634f1ef2861161004e5780634f1ef2861461011e57806352d1902d14610131578063ad3cb1cc14610154578063f13c03af1461019257600080fd5b80631633da6e1461008b578063180cb47f146100b657806326bd0c4e146100ea5780633ccfd60b1461010757600080fd5b3661008657005b600080fd5b34801561009757600080fd5b506100a06101ab565b6040516100ad91906106f7565b60405180910390f35b3480156100c257600080fd5b506100d2600161090960911b0181565b6040516001600160a01b0390911681526020016100ad565b3480156100f657600080fd5b506100d2600362012121608c1b0181565b34801561011357600080fd5b5061011c610220565b005b61011c61012c3660046107a0565b610287565b34801561013d57600080fd5b506101466102a6565b6040519081526020016100ad565b34801561016057600080fd5b50610185604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100ad919061086c565b34801561019e57600080fd5b506100d261090960911b81565b6060600161090960911b016001600160a01b0316639f9d7f816040518163ffffffff1660e01b8152600401600060405180830381865afa1580156101f3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261021b919081019061089f565b905090565b33600161090960911b011461026d5760405162461bcd60e51b815260206004820152600e60248201526d6e6f7420676f7665726e616e636560901b60448201526064015b60405180910390fd5b471561028557610285600161090960911b01476102c3565b565b61028f610391565b610298826103f6565b6102a28282610439565b5050565b60006102b06104f6565b5060008051602061098783398151915290565b604080516000808252602082019092526001600160a01b0384169083906040516102ed9190610951565b60006040518083038185875af1925050503d806000811461032a576040519150601f19603f3d011682016040523d82523d6000602084013e61032f565b606091505b505090508061038c5760405162461bcd60e51b8152602060048201526024808201527f736166655472616e736665724554483a20455448207472616e736665722066616044820152631a5b195960e21b6064820152608401610264565b505050565b30600362012121608c1b0114806103d85750600362012121608c1b016103cc600080516020610987833981519152546001600160a01b031690565b6001600160a01b031614155b156102855760405163703e46dd60e11b815260040160405180910390fd5b3361090960911b146104365760405162461bcd60e51b81526020600482015260096024820152683737ba1030b236b4b760b91b6044820152606401610264565b50565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610493575060408051601f3d908101601f191682019092526104909181019061096d565b60015b6104bb57604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610264565b60008051602061098783398151915281146104ec57604051632a87526960e21b815260048101829052602401610264565b61038c838361051f565b30600362012121608c1b01146102855760405163703e46dd60e11b815260040160405180910390fd5b61052882610575565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561056d5761038c82826105da565b6102a2610650565b806001600160a01b03163b6000036105ab57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610264565b60008051602061098783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516105f79190610951565b600060405180830381855af49150503d8060008114610632576040519150601f19603f3d011682016040523d82523d6000602084013e610637565b606091505b509150915061064785838361066f565b95945050505050565b34156102855760405163b398979f60e01b815260040160405180910390fd5b6060826106845761067f826106ce565b6106c7565b815115801561069b57506001600160a01b0384163b155b156106c457604051639996b31560e01b81526001600160a01b0385166004820152602401610264565b50805b9392505050565b8051156106de5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6020808252825182820181905260009190848201906040850190845b818110156107385783516001600160a01b031683529284019291840191600101610713565b50909695505050505050565b6001600160a01b038116811461043657600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561079857610798610759565b604052919050565b600080604083850312156107b357600080fd5b82356107be81610744565b915060208381013567ffffffffffffffff808211156107dc57600080fd5b818601915086601f8301126107f057600080fd5b81358181111561080257610802610759565b610814601f8201601f1916850161076f565b9150808252878482850101111561082a57600080fd5b80848401858401376000848284010152508093505050509250929050565b60005b8381101561086357818101518382015260200161084b565b50506000910152565b602081526000825180602084015261088b816040850160208701610848565b601f01601f19169190910160400192915050565b600060208083850312156108b257600080fd5b825167ffffffffffffffff808211156108ca57600080fd5b818501915085601f8301126108de57600080fd5b8151818111156108f0576108f0610759565b8060051b915061090184830161076f565b818152918301840191848101908884111561091b57600080fd5b938501935b83851015610945578451925061093583610744565b8282529385019390850190610920565b98975050505050505050565b60008251610963818460208701610848565b9190910192915050565b60006020828403121561097f57600080fd5b505191905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220d7431b8c55135acd14277140c3e792e737dd67435ac1ab986730e38b73f30c0064736f6c63430008180033" } } -} +} \ No newline at end of file diff --git a/privnet/seven/genesis_privnet.json b/privnet/seven/genesis_privnet.json index b6d71ff763..fcf734be38 100644 --- a/privnet/seven/genesis_privnet.json +++ b/privnet/seven/genesis_privnet.json @@ -17,7 +17,7 @@ "shanghaiTime": 0, "dbft": { "period": 10, - "standbyValidators":[ + "standbyValidators": [ "0x74f4effb0b538baec703346b03b6d9292f53a4cd", "0x910ad1641b7125eff746accdca1f11148b22f472", "0xfef5f250af14df73f983caab7b1f5002189c42e0", @@ -32,20 +32,23 @@ "difficulty": "1", "gasLimit": "30000000", "alloc": { + "0x74f4effb0b538baec703346b03b6d9292f53a4cd": { + "balance": "10000000000000000000000000" + }, "0x1212000000000000000000000000000000000000": { "balance": "0", - "code": "0x608060405260043610610212575f3560e01c806370c647d5116101175780639f9d7f811161009f578063cb924df61161006e578063cb924df6146107f1578063ccd668e51461082d578063d8a05cec14610857578063e406fd2a14610881578063ec52fd5c1461089757610246565b80639f9d7f8114610725578063a70b9f0c1461074f578063bad69ad014610779578063c19eb73e146107b557610246565b806379885fd1116100e657806379885fd114610643578063829965cc1461067f57806389dc5c84146106a9578063902bdc26146106d35780639690293b1461070f57610246565b806370c647d51461058957806371785ab9146105c557806374a6b278146105ef578063776892611461061957610246565b806337409c6a1161019a5780634d21e426116101695780634d21e426146104a35780634dc47d34146104df5780635750af771461051b5780636bed4df5146105575780636dd7d8ea1461056d57610246565b806337409c6a146103ff5780633b4866c71461043b578063403b09931461045157806343c14b221461048d57610246565b80630b2a85ea116101e15780630b2a85ea1461030457806319e6e158146103205780631f26f2561461035c578063312ec75c14610386578063347b06d8146103c257610246565b8063038a35381461024a57806306a49fce14610274578063090248641461029e5780630ac1cc20146102da57610246565b36610246573460095f6102236108d3565b81526020019081526020015f205f82825461023e9190612e16565b925050819055005b5f80fd5b348015610255575f80fd5b5061025e6108e8565b60405161026b9190612e58565b60405180910390f35b34801561027f575f80fd5b506102886108ee565b6040516102959190612f58565b60405180910390f35b3480156102a9575f80fd5b506102c460048036038101906102bf9190612fa6565b6108ff565b6040516102d19190612e58565b60405180910390f35b3480156102e5575f80fd5b506102ee610914565b6040516102fb9190612e58565b60405180910390f35b61031e60048036038101906103199190612ffb565b61091a565b005b34801561032b575f80fd5b5061034660048036038101906103419190612ffb565b610ba8565b6040516103539190612e58565b60405180910390f35b348015610367575f80fd5b50610370610bbd565b60405161037d9190612e58565b60405180910390f35b348015610391575f80fd5b506103ac60048036038101906103a79190613026565b610bc3565b6040516103b99190612e58565b60405180910390f35b3480156103cd575f80fd5b506103e860048036038101906103e39190613026565b610bee565b6040516103f6929190613073565b60405180910390f35b34801561040a575f80fd5b5061042560048036038101906104209190613026565b610cb4565b6040516104329190612e58565b60405180910390f35b348015610446575f80fd5b5061044f610d0a565b005b34801561045c575f80fd5b5061047760048036038101906104729190613026565b61125a565b6040516104849190612e58565b60405180910390f35b348015610498575f80fd5b506104a161127a565b005b3480156104ae575f80fd5b506104c960048036038101906104c49190612fa6565b6115e0565b6040516104d69190612e58565b60405180910390f35b3480156104ea575f80fd5b5061050560048036038101906105009190612ffb565b6115f5565b6040516105129190612e58565b60405180910390f35b348015610526575f80fd5b50610541600480360381019061053c9190612ffb565b61160a565b60405161054e9190612e58565b60405180910390f35b348015610562575f80fd5b5061056b61161f565b005b61058760048036038101906105829190612fa6565b6118ff565b005b348015610594575f80fd5b506105af60048036038101906105aa9190612fa6565b611e46565b6040516105bc9190612e58565b60405180910390f35b3480156105d0575f80fd5b506105d9611e5b565b6040516105e69190612e58565b60405180910390f35b3480156105fa575f80fd5b50610603611ed3565b6040516106109190612e58565b60405180910390f35b348015610624575f80fd5b5061062d611ed8565b60405161063a9190612e58565b60405180910390f35b34801561064e575f80fd5b5061066960048036038101906106649190613026565b611ede565b604051610676919061309a565b60405180910390f35b34801561068a575f80fd5b50610693611f1b565b6040516106a09190612e58565b60405180910390f35b3480156106b4575f80fd5b506106bd611f21565b6040516106ca919061309a565b60405180910390f35b3480156106de575f80fd5b506106f960048036038101906106f49190612fa6565b611f39565b6040516107069190612e58565b60405180910390f35b34801561071a575f80fd5b50610723611f4e565b005b348015610730575f80fd5b5061073961208f565b6040516107469190612f58565b60405180910390f35b34801561075a575f80fd5b50610763612130565b6040516107709190612e58565b60405180910390f35b348015610784575f80fd5b5061079f600480360381019061079a9190612fa6565b612136565b6040516107ac9190612e58565b60405180910390f35b3480156107c0575f80fd5b506107db60048036038101906107d691906130b3565b61214b565b6040516107e8919061309a565b60405180910390f35b3480156107fc575f80fd5b5061081760048036038101906108129190613026565b612193565b6040516108249190612e58565b60405180910390f35b348015610838575f80fd5b506108416121b3565b60405161084e9190612e58565b60405180910390f35b348015610862575f80fd5b5061086b6108d3565b6040516108789190612e58565b60405180910390f35b34801561088c575f80fd5b506108956121bc565b005b3480156108a2575f80fd5b506108bd60048036038101906108b89190613026565b6122f6565b6040516108ca9190612e58565b60405180910390f35b5f60016005546108e391906130f1565b905090565b60015481565b60606108fa6007612316565b905090565b600e602052805f5260405f205f915090505481565b60025481565b600254341461095e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109559061317e565b60405180910390fd5b6103e881106109a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610999906131e6565b60405180910390fd5b6109b633600761233590919063ffffffff16565b156109f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ed9061324e565b60405180910390fd5b610a0a33600761236290919063ffffffff16565b50600f5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f90555f610a5461238f565b905080600e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555081600d5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503460105f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060018111610b2a575f610b2c565b805b60115f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055507feeda149c76076b34d4b9d8896c2f7efc0d33d1c7b53ea3c5db490d64613f603a33604051610b9c919061309a565b60405180910390a15050565b600a602052805f5260405f205f915090505481565b60065481565b6016602052815f5260405f208181548110610bdc575f80fd5b905f5260205f20015f91509150505481565b5f8060135f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8481526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660145f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8581526020019081526020015f2054915091509250929050565b5f60125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f2054905092915050565b5f610d1361238f565b90505f805f60165f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805480602002602001604051908101604052809291908181526020018280548015610d9d57602002820191905f5260205f20905b815481526020019060010190808311610d89575b505050505090505f8151905060165f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610df19190612d20565b5f5b81811015611202575f838281518110610e0f57610e0e61326c565b5b60200260200101519050600187610e2691906130f1565b81101561117e5760145f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8281526020019081526020015f205486610e859190612e16565b955060145f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8281526020019081526020015f205f90555f60135f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f600c5f8481526020019081526020015f20805480602002602001604051908101604052809291908181526020018280548015610fd457602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610f8b575b505050505090505f805b5f54811015611046578373ffffffffffffffffffffffffffffffffffffffff168382815181106110115761101061326c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff160361103957600191505b8080600101915050610fde565b508015611127575f5460125f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f205460095f8781526020019081526020015f205460155f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8881526020019081526020015f20546111059190613299565b61110f9190613307565b6111199190613307565b886111249190612e16565b97505b60155f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8581526020019081526020015f205f90555050506111f4565b60018761118b91906130f1565b81106111f35760165f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081908060018154018082558091505060019003905f5260205f20015f90919091909150555b5b508080600101915050610df3565b506112183384866112139190612e16565b6124ac565b7f703edbfbdca027dbf1185701b17f150b2c280a8f25b570a0a0bab84d72cf347433858560405161124b93929190613337565b60405180910390a15050505050565b6012602052815f5260405f20602052805f5260405f205f91509150505481565b5f611283611e5b565b90505f60135f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f60145f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8481526020019081526020015f205490505f8111611386576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137d9061317e565b60405180910390fd5b5f60125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8581526020019081526020015f20549050818103611406576001600b5f8681526020019081526020015f205f8282546113fe91906130f1565b925050819055505b818161141291906130f1565b60125f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f208190555081600a5f8681526020019081526020015f205f82825461148291906130f1565b9250508190555060135f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8581526020019081526020015f205f6101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560145f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8581526020019081526020015f205f905560155f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8581526020019081526020015f205f905561159f33836124ac565b7f6ddfb4877cf7f45a590719822a3ae2d41e7a4dc9aeadca0532a85abae1c6ad7f3384846040516115d29392919061336c565b60405180910390a150505050565b6010602052805f5260405f205f915090505481565b6009602052805f5260405f205f915090505481565b600b602052805f5260405f205f915090505481565b5f61162861238f565b90506001811161166d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611664906133eb565b60405180910390fd5b5f8060115f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505b6001836116bd91906130f1565b811015611869575f600c5f8381526020019081526020015f2080548060200260200160405190810160405280929190818152602001828054801561175357602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831161170a575b505050505090505f805b5f548110156117c5573373ffffffffffffffffffffffffffffffffffffffff168382815181106117905761178f61326c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16036117b857600191505b808060010191505061175d565b50801561185a576103e85f54600d5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546103e861181c91906130f1565b60095f8781526020019081526020015f20546118389190613299565b6118429190613307565b61184c9190613307565b846118579190612e16565b93505b505080806001019150506116b0565b5060018261187791906130f1565b60115f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506118c233826124ac565b7fe3ce84385ab3d4dac3d7a146f1f394969d88408c293159506eb6f885a1f6788633826040516118f3929190613073565b60405180910390a15050565b600154341015611944576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193b9061317e565b60405180910390fd5b5f600e5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054116119c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ba90613453565b60405180910390fd5b5f6119cc61238f565b90505f60145f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f205490505f8103611b15578260135f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8481526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060165f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2082908060018154018082558091505060019003905f5260205f20015f9091909190915055611bef565b8273ffffffffffffffffffffffffffffffffffffffff1660135f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8481526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611bee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be5906134bb565b60405180910390fd5b5b3481611bfb9190612e16565b60145f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8481526020019081526020015f20819055506103e8600d5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205434611c979190613299565b611ca19190613307565b60155f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8481526020019081526020015f205f828254611cfb9190612e16565b925050819055505f60125f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8481526020019081526020015f205490505f8103611d82576001600b5f8581526020019081526020015f205f828254611d7a9190612e16565b925050819055505b3481611d8e9190612e16565b60125f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8581526020019081526020015f208190555034600a5f8581526020019081526020015f205f828254611dfe9190612e16565b925050819055507f66a9138482c99e9baf08860110ef332cc0c23b4a199a53593d8db0fc8f96fbfc338534604051611e389392919061336c565b60405180910390a150505050565b6011602052805f5260405f205f915090505481565b5f806005549050600454600654611e729190612e16565b43118015611e935750600354600a5f8381526020019081526020015f205410155b8015611eb157505f54600b5f8381526020019081526020015f205410155b15611ecb57600181611ec39190612e16565b915050611ed0565b809150505b90565b5f5481565b60035481565b6013602052815f5260405f20602052805f5260405f205f915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055481565b73121200000000000000000000000000000000000381565b600d602052805f5260405f205f915090505481565b5f600e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205411611fcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc490613523565b60405180910390fd5b600e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f905561201561238f565b600f5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055507f7c79e6e24ed041d1072d54523b53956f01b91b835f0490856370594d9d14470e33604051612085919061309a565b60405180910390a1565b6060600c5f61209c6108d3565b81526020019081526020015f2080548060200260200160405190810160405280929190818152602001828054801561212657602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116120dd575b5050505050905090565b60045481565b600f602052805f5260405f205f915090505481565b600c602052815f5260405f208181548110612164575f80fd5b905f5260205f20015f915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6015602052815f5260405f20602052805f5260405f205f91509150505481565b5f600554905090565b5f6121c561238f565b90506001600f5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122119190612e16565b8111612252576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122499061358b565b60405180910390fd5b6122663360076125a790919063ffffffff16565b505f60105f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905060105f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f90556122f233826124ac565b5050565b6014602052815f5260405f20602052805f5260405f205f91509150505481565b60605f612324835f016125d4565b905060608190508092505050919050565b5f61235a835f018373ffffffffffffffffffffffffffffffffffffffff165f1b61262d565b905092915050565b5f612387835f018373ffffffffffffffffffffffffffffffffffffffff165f1b61264d565b905092915050565b5f8060055490506004546006546123a69190612e16565b431180156123c75750600354600a5f8381526020019081526020015f205410155b80156123e557505f54600b5f8381526020019081526020015f205410155b156124a55773121200000000000000000000000000000000000373ffffffffffffffffffffffffffffffffffffffff16633ccfd60b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015612443575f80fd5b505af1158015612455573d5f803e3d5ffd5b50505050612462816126b4565b600c5f8381526020019081526020015f209080519060200190612486929190612d3e565b506001816124949190612e16565b905080600581905550436006819055505b8091505090565b5f8273ffffffffffffffffffffffffffffffffffffffff16825f67ffffffffffffffff8111156124df576124de6135a9565b5b6040519080825280601f01601f1916602001820160405280156125115781602001600182028036833780820191505090505b5060405161251f9190613642565b5f6040518083038185875af1925050503d805f8114612559576040519150601f19603f3d011682016040523d82523d5f602084013e61255e565b606091505b50509050806125a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612599906136c8565b60405180910390fd5b505050565b5f6125cc835f018373ffffffffffffffffffffffffffffffffffffffff165f1b612896565b905092915050565b6060815f0180548060200260200160405190810160405280929190818152602001828054801561262157602002820191905f5260205f20905b81548152602001906001019080831161260d575b50505050509050919050565b5f80836001015f8481526020019081526020015f20541415905092915050565b5f612658838361262d565b6126aa57825f0182908060018154018082558091505060019003905f5260205f20015f9091909190915055825f0180549050836001015f8481526020019081526020015f2081905550600190506126ae565b5f90505b92915050565b60605f6126bf6108ee565b90505f815190505f8167ffffffffffffffff8111156126e1576126e06135a9565b5b60405190808252806020026020018201604052801561270f5781602001602082028036833780820191505090505b5090505f5b828110156127af5760125f8583815181106127325761273161326c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8781526020019081526020015f20548282815181106127965761279561326c565b5b6020026020010181815250508080600101915050612714565b506127bc83825f54612992565b5f805467ffffffffffffffff8111156127d8576127d76135a9565b5b6040519080825280602002602001820160405280156128065781602001602082028036833780820191505090505b5090505f5b5f54811015612889578481815181106128275761282661326c565b5b60200260200101518282815181106128425761284161326c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050808060010191505061280b565b5080945050505050919050565b5f80836001015f8481526020019081526020015f205490505f8114612987575f6001826128c391906130f1565b90505f6001865f01805490506128d991906130f1565b905080821461293f575f865f0182815481106128f8576128f761326c565b5b905f5260205f200154905080875f0184815481106129195761291861326c565b5b905f5260205f20018190555083876001015f8381526020019081526020015f2081905550505b855f01805480612952576129516136e6565b5b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f90556001935050505061298c565b5f9150505b92915050565b5f835190505f60016002846129a7919061371c565b6129b19190613784565b90505b5f81126129da576129c785858386612ae7565b80806129d2906137c4565b9150506129b4565b505f8290505b81811015612ae057835f815181106129fb576129fa61326c565b5b6020026020010151848281518110612a1657612a1561326c565b5b60200260200101511115612ad357838181518110612a3757612a3661326c565b5b6020026020010151845f81518110612a5257612a5161326c565b5b602002602001018181525050848181518110612a7157612a7061326c565b5b6020026020010151855f81518110612a8c57612a8b61326c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612ad285855f86612ae7565b5b80806001019150506129e0565b5050505050565b5f6001836002612af79190613299565b612b019190612e16565b90505b81811015612d195781600182612b1a9190612e16565b108015612b66575083600182612b309190612e16565b81518110612b4157612b4061326c565b5b6020026020010151848281518110612b5c57612b5b61326c565b5b6020026020010151115b15612b7b57600181612b789190612e16565b90505b838381518110612b8e57612b8d61326c565b5b6020026020010151848281518110612ba957612ba861326c565b5b602002602001015111612d1957838381518110612bc957612bc861326c565b5b6020026020010151848281518110612be457612be361326c565b5b6020026020010151858381518110612bff57612bfe61326c565b5b60200260200101868681518110612c1957612c1861326c565b5b6020026020010182815250828152505050848381518110612c3d57612c3c61326c565b5b6020026020010151858281518110612c5857612c5761326c565b5b6020026020010151868381518110612c7357612c7261326c565b5b60200260200101878681518110612c8d57612c8c61326c565b5b602002602001018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152508273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525050508092506001600282612d089190613299565b612d129190612e16565b9050612b04565b5050505050565b5080545f8255905f5260205f2090810190612d3b9190612dc5565b50565b828054828255905f5260205f20908101928215612db4579160200282015b82811115612db3578251825f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190612d5c565b5b509050612dc19190612dc5565b5090565b5b80821115612ddc575f815f905550600101612dc6565b5090565b5f819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612e2082612de0565b9150612e2b83612de0565b9250828201905080821115612e4357612e42612de9565b5b92915050565b612e5281612de0565b82525050565b5f602082019050612e6b5f830184612e49565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612ec382612e9a565b9050919050565b612ed381612eb9565b82525050565b5f612ee48383612eca565b60208301905092915050565b5f602082019050919050565b5f612f0682612e71565b612f108185612e7b565b9350612f1b83612e8b565b805f5b83811015612f4b578151612f328882612ed9565b9750612f3d83612ef0565b925050600181019050612f1e565b5085935050505092915050565b5f6020820190508181035f830152612f708184612efc565b905092915050565b5f80fd5b612f8581612eb9565b8114612f8f575f80fd5b50565b5f81359050612fa081612f7c565b92915050565b5f60208284031215612fbb57612fba612f78565b5b5f612fc884828501612f92565b91505092915050565b612fda81612de0565b8114612fe4575f80fd5b50565b5f81359050612ff581612fd1565b92915050565b5f602082840312156130105761300f612f78565b5b5f61301d84828501612fe7565b91505092915050565b5f806040838503121561303c5761303b612f78565b5b5f61304985828601612f92565b925050602061305a85828601612fe7565b9150509250929050565b61306d81612eb9565b82525050565b5f6040820190506130865f830185613064565b6130936020830184612e49565b9392505050565b5f6020820190506130ad5f830184613064565b92915050565b5f80604083850312156130c9576130c8612f78565b5b5f6130d685828601612fe7565b92505060206130e785828601612fe7565b9150509250929050565b5f6130fb82612de0565b915061310683612de0565b925082820390508181111561311e5761311d612de9565b5b92915050565b5f82825260208201905092915050565b7f696e73756666696369656e7420616d6f756e74000000000000000000000000005f82015250565b5f613168601383613124565b915061317382613134565b602082019050919050565b5f6020820190508181035f8301526131958161315c565b9050919050565b7f696e76616c6964207261746500000000000000000000000000000000000000005f82015250565b5f6131d0600c83613124565b91506131db8261319c565b602082019050919050565b5f6020820190508181035f8301526131fd816131c4565b9050919050565b7f63616e64696461746520657869737473000000000000000000000000000000005f82015250565b5f613238601083613124565b915061324382613204565b602082019050919050565b5f6020820190508181035f8301526132658161322c565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6132a382612de0565b91506132ae83612de0565b92508282026132bc81612de0565b915082820484148315176132d3576132d2612de9565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61331182612de0565b915061331c83612de0565b92508261332c5761332b6132da565b5b828204905092915050565b5f60608201905061334a5f830186613064565b6133576020830185612e49565b6133646040830184612e49565b949350505050565b5f60608201905061337f5f830186613064565b61338c6020830185613064565b6133996040830184612e49565b949350505050565b7f636c61696d206e6f7420737461727465640000000000000000000000000000005f82015250565b5f6133d5601183613124565b91506133e0826133a1565b602082019050919050565b5f6020820190508181035f830152613402816133c9565b9050919050565b7f63616e646964617465206e6f7420616c6c6f77656400000000000000000000005f82015250565b5f61343d601583613124565b915061344882613409565b602082019050919050565b5f6020820190508181035f83015261346a81613431565b9050919050565b7f6f6e6c79206f6e652063686f69636520697320616c6c6f7765640000000000005f82015250565b5f6134a5601a83613124565b91506134b082613471565b602082019050919050565b5f6020820190508181035f8301526134d281613499565b9050919050565b7f63616e646964617465206e6f74206578697374730000000000000000000000005f82015250565b5f61350d601483613124565b9150613518826134d9565b602082019050919050565b5f6020820190508181035f83015261353a81613501565b9050919050565b7f636c61696d206e6f7420616c6c6f7765640000000000000000000000000000005f82015250565b5f613575601183613124565b915061358082613541565b602082019050919050565b5f6020820190508181035f8301526135a281613569565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050919050565b5f81905092915050565b5f5b838110156136075780820151818401526020810190506135ec565b5f8484015250505050565b5f61361c826135d6565b61362681856135e0565b93506136368185602086016135ea565b80840191505092915050565b5f61364d8284613612565b915081905092915050565b7f736166655472616e736665724554483a20455448207472616e736665722066615f8201527f696c656400000000000000000000000000000000000000000000000000000000602082015250565b5f6136b2602483613124565b91506136bd82613658565b604082019050919050565b5f6020820190508181035f8301526136df816136a6565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b5f819050919050565b5f61372682613713565b915061373183613713565b925082613741576137406132da565b5b60015f0383147f80000000000000000000000000000000000000000000000000000000000000008314161561377957613778612de9565b5b828205905092915050565b5f61378e82613713565b915061379983613713565b925082820390508181125f8412168282135f8512151617156137be576137bd612de9565b5b92915050565b5f6137ce82613713565b91507f80000000000000000000000000000000000000000000000000000000000000008203613800576137ff612de9565b5b60018203905091905056fea2646970667358221220bc140edffe3d516441820d2e50897d8c7e71254ff08490f53e22023a3e0e990764736f6c63430008180033" + "code": "0x6080604052600436106100345760003560e01c8063701b70ac1461003957806389dc5c841461006e5780639623609d146100a2575b600080fd5b34801561004557600080fd5b5061005961005436600461053f565b6100b7565b60405190151581526020015b60405180910390f35b34801561007a57600080fd5b5061008a600361090960911b0181565b6040516001600160a01b039091168152602001610065565b6100b56100b03660046105aa565b610184565b005b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610100573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101289190810190610664565b905060005b815181101561017a5781818151811061014857610148610716565b60200260200101516001600160a01b0316846001600160a01b031603610172575060019392505050565b60010161012d565b5060009392505050565b7fe739b9109d83c1c6d0d640fe9ed476fc5862a6de5483b00678a3fffa7a2be2f68383836040516020016101ba93929190610772565b604051602081830303815290604052805190602001206101d9336100b7565b6102155760405162461bcd60e51b81526020600482015260096024820152682737ba1026b4b732b960b91b604482015260640160405180910390fd5b61021f82826102e0565b610229828261033e565b156102d95760405163278f794360e11b81526001600160a01b03861690634f1ef28690349061025e90889088906004016107a7565b6000604051808303818588803b15801561027757600080fd5b505af115801561028b573d6000803e3d6000fd5b505060408051868152602081018690527ff5aa3d6492eaf1a4d6787c5bd36e8ec61c245d4af2fd1fd387e387a50de9f8c594500191506102c89050565b60405180910390a16102d982610450565b5050505050565b6000828152602081815260408083203380855290835292819020849055805192835290820184905281018290527f61699483e2a58589628399a22e34da872b583143ab99b3245ba6dacf4974d2e39060600160405180910390a15050565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610387573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103af9190810190610664565b90506000805b8251811015610429578460008088815260200190815260200160002060008584815181106103e5576103e5610716565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205403610421578161041d816107e9565b9250505b6001016103b5565b5060028251600161043a9190610802565b6104449190610815565b11159150505b92915050565b6000600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610498573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104c09190810190610664565b905060005b81518110156105225760008084815260200190815260200160002060008383815181106104f4576104f4610716565b6020908102919091018101516001600160a01b031682528101919091526040016000908120556001016104c5565b505050565b6001600160a01b038116811461053c57600080fd5b50565b60006020828403121561055157600080fd5b813561055c81610527565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156105a2576105a2610563565b604052919050565b6000806000606084860312156105bf57600080fd5b83356105ca81610527565b92506020848101356105db81610527565b9250604085013567ffffffffffffffff808211156105f857600080fd5b818701915087601f83011261060c57600080fd5b81358181111561061e5761061e610563565b610630601f8201601f19168501610579565b9150808252888482850101111561064657600080fd5b80848401858401376000848284010152508093505050509250925092565b6000602080838503121561067757600080fd5b825167ffffffffffffffff8082111561068f57600080fd5b818501915085601f8301126106a357600080fd5b8151818111156106b5576106b5610563565b8060051b91506106c6848301610579565b81815291830184019184810190888411156106e057600080fd5b938501935b8385101561070a57845192506106fa83610527565b82825293850193908501906106e5565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b6000815180845260005b8181101561075257602081850181015186830182015201610736565b506000602082860101526020601f19601f83011685010191505092915050565b6001600160a01b0384811682528316602082015260606040820181905260009061079e9083018461072c565b95945050505050565b6001600160a01b03831681526040602082018190526000906107cb9083018461072c565b949350505050565b634e487b7160e01b600052601160045260246000fd5b6000600182016107fb576107fb6107d3565b5060010190565b8082018082111561044a5761044a6107d3565b60008261083257634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212209e61d38d47b2583b6176290ca9691082e36c167c502217e5f59481c644e946dc64736f6c63430008180033" }, "0x1212000000000000000000000000000000000001": { "balance": "0", - "code": "0x60806040523661001357610011610017565b005b6100115b61001f6101a7565b6001600160a01b0316330361015f5760606001600160e01b0319600035166364d3180d60e11b810161005a576100536101da565b9150610157565b63587086bd60e11b6001600160e01b031982160161007a57610053610231565b63070d7c6960e41b6001600160e01b031982160161009a57610053610277565b621eb96f60e61b6001600160e01b03198216016100b9576100536102a8565b63a39f25e560e01b6001600160e01b03198216016100d9576100536102e8565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b815160208301f35b6101676102fc565b565b606061018e83836040518060600160405280602781526020016108426027913961030c565b9392505050565b90565b6001600160a01b03163b151590565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b60606101e4610384565b60006101f33660048184610695565b81019061020091906106db565b905061021d8160405180602001604052806000815250600061038f565b505060408051602081019091526000815290565b60606000806102433660048184610695565b810190610250919061070c565b915091506102608282600161038f565b604051806020016040528060008152509250505090565b6060610281610384565b60006102903660048184610695565b81019061029d91906106db565b905061021d816103bb565b60606102b2610384565b60006102bc6101a7565b604080516001600160a01b03831660208201529192500160405160208183030381529060405291505090565b60606102f2610384565b60006102bc610412565b610167610307610412565b610421565b6060600080856001600160a01b03168560405161032991906107f2565b600060405180830381855af49150503d8060008114610364576040519150601f19603f3d011682016040523d82523d6000602084013e610369565b606091505b509150915061037a86838387610445565b9695505050505050565b341561016757600080fd5b610398836104c6565b6000825111806103a55750805b156103b6576103b48383610169565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103e46101a7565b604080516001600160a01b03928316815291841660208301520160405180910390a161040f81610506565b50565b600061041c6105af565b905090565b3660008037600080366000845af43d6000803e808015610440573d6000f35b3d6000fd5b606083156104b45782516000036104ad576001600160a01b0385163b6104ad5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161014e565b50816104be565b6104be83836105d7565b949350505050565b6104cf81610601565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b03811661056b5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161014e565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6101cb565b8151156105e75781518083602001fd5b8060405162461bcd60e51b815260040161014e919061080e565b6001600160a01b0381163b61066e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161014e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61058e565b600080858511156106a557600080fd5b838611156106b257600080fd5b5050820193919092039150565b80356001600160a01b03811681146106d657600080fd5b919050565b6000602082840312156106ed57600080fd5b61018e826106bf565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561071f57600080fd5b610728836106bf565b9150602083013567ffffffffffffffff8082111561074557600080fd5b818501915085601f83011261075957600080fd5b81358181111561076b5761076b6106f6565b604051601f8201601f19908116603f01168101908382118183101715610793576107936106f6565b816040528281528860208487010111156107ac57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156107e95781810151838201526020016107d1565b50506000910152565b600082516108048184602087016107ce565b9190910192915050565b602081526000825180602084015261082d8160408501602087016107ce565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122060cf01d0d0c15c838abecad7eebb680cda1dbe3d5984e7b64b6962b3134b4d8c64736f6c63430008120033", + "code": "0x6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea2646970667358221220965379b4e29f73cf2ee1957914dc167d4751357fc5df24ccd8586bd4bf9b47e964736f6c63430008180033", "storage": { "0x0000000000000000000000000000000000000000000000000000000000000000": "0x01", "0x0000000000000000000000000000000000000000000000000000000000000001": "0x07", "0x0000000000000000000000000000000000000000000000000000000000000002": "0x0de0b6b3a7640000", "0x0000000000000000000000000000000000000000000000000000000000000003": "0x027b46536c66c8e3000000", "0x0000000000000000000000000000000000000000000000000000000000000004": "0x3635c9adc5dea00000", - "0x0000000000000000000000000000000000000000000000000000000000000005": "0x01d880", + "0x0000000000000000000000000000000000000000000000000000000000000005": "0x1e", "0x0000000000000000000000000000000000000000000000000000000000000010": "0x07", "0x0000000000000000000000000000000000000000000000000000000000000011": "0x07", "0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c68": "0x74f4effb0b538baec703346b03b6d9292f53a4cd", @@ -62,30 +65,35 @@ "0x1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae676": "0xc5bbd9652546bc96be3dec97a38ee335f7873dfa", "0x1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae677": "0x26f1794b81df2b832545b8b6bbca196b82e4feb1", "0x1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae678": "0x0b51369d02e47ee3f143391b837aa08c31aaa19b", - "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x1212100000000000000000000000000000000001", - "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x1212000000000000000000000000000000000000" + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x1212100000000000000000000000000000000001" } }, "0x1212000000000000000000000000000000000002": { "balance": "0", - "code": "0x60806040523661001357610011610017565b005b6100115b61001f6101a7565b6001600160a01b0316330361015f5760606001600160e01b0319600035166364d3180d60e11b810161005a576100536101da565b9150610157565b63587086bd60e11b6001600160e01b031982160161007a57610053610231565b63070d7c6960e41b6001600160e01b031982160161009a57610053610277565b621eb96f60e61b6001600160e01b03198216016100b9576100536102a8565b63a39f25e560e01b6001600160e01b03198216016100d9576100536102e8565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b815160208301f35b6101676102fc565b565b606061018e83836040518060600160405280602781526020016108426027913961030c565b9392505050565b90565b6001600160a01b03163b151590565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b60606101e4610384565b60006101f33660048184610695565b81019061020091906106db565b905061021d8160405180602001604052806000815250600061038f565b505060408051602081019091526000815290565b60606000806102433660048184610695565b810190610250919061070c565b915091506102608282600161038f565b604051806020016040528060008152509250505090565b6060610281610384565b60006102903660048184610695565b81019061029d91906106db565b905061021d816103bb565b60606102b2610384565b60006102bc6101a7565b604080516001600160a01b03831660208201529192500160405160208183030381529060405291505090565b60606102f2610384565b60006102bc610412565b610167610307610412565b610421565b6060600080856001600160a01b03168560405161032991906107f2565b600060405180830381855af49150503d8060008114610364576040519150601f19603f3d011682016040523d82523d6000602084013e610369565b606091505b509150915061037a86838387610445565b9695505050505050565b341561016757600080fd5b610398836104c6565b6000825111806103a55750805b156103b6576103b48383610169565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103e46101a7565b604080516001600160a01b03928316815291841660208301520160405180910390a161040f81610506565b50565b600061041c6105af565b905090565b3660008037600080366000845af43d6000803e808015610440573d6000f35b3d6000fd5b606083156104b45782516000036104ad576001600160a01b0385163b6104ad5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161014e565b50816104be565b6104be83836105d7565b949350505050565b6104cf81610601565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b03811661056b5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161014e565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6101cb565b8151156105e75781518083602001fd5b8060405162461bcd60e51b815260040161014e919061080e565b6001600160a01b0381163b61066e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161014e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61058e565b600080858511156106a557600080fd5b838611156106b257600080fd5b5050820193919092039150565b80356001600160a01b03811681146106d657600080fd5b919050565b6000602082840312156106ed57600080fd5b61018e826106bf565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561071f57600080fd5b610728836106bf565b9150602083013567ffffffffffffffff8082111561074557600080fd5b818501915085601f83011261075957600080fd5b81358181111561076b5761076b6106f6565b604051601f8201601f19908116603f01168101908382118183101715610793576107936106f6565b816040528281528860208487010111156107ac57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156107e95781810151838201526020016107d1565b50506000910152565b600082516108048184602087016107ce565b9190910192915050565b602081526000825180602084015261082d8160408501602087016107ce565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122060cf01d0d0c15c838abecad7eebb680cda1dbe3d5984e7b64b6962b3134b4d8c64736f6c63430008120033", + "code": "0x6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea2646970667358221220965379b4e29f73cf2ee1957914dc167d4751357fc5df24ccd8586bd4bf9b47e964736f6c63430008180033", "storage": { "0x0000000000000000000000000000000000000000000000000000000000000001": "0x989680", - "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x1212100000000000000000000000000000000002", - "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x1212000000000000000000000000000000000000" + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x1212100000000000000000000000000000000002" } }, "0x1212000000000000000000000000000000000003": { "balance": "0", - "code": "0x608060405260043610610036575f3560e01c80631633da6e146100415780633ccfd60b1461006b5780635aa6e67514610081575f80fd5b3661003d57005b5f80fd5b34801561004c575f80fd5b506100556100cd565b6040516100629190610327565b60405180910390f35b348015610076575f80fd5b5061007f610175565b005b34801561008c575f80fd5b506100a873121200000000000000000000000000000000000181565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610062565b606073121200000000000000000000000000000000000173ffffffffffffffffffffffffffffffffffffffff16639f9d7f816040518163ffffffff1660e01b81526004015f60405180830381865afa15801561012b573d5f803e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261017091908101906103d5565b905090565b33731212000000000000000000000000000000000001146101f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e6f7420676f7665726e616e636500000000000000000000000000000000000060448201526064015b60405180910390fd5b471561021b5761021b7312120000000000000000000000000000000000014761021d565b565b604080515f8082526020820190925273ffffffffffffffffffffffffffffffffffffffff841690839060405161025391906104b3565b5f6040518083038185875af1925050503d805f811461028d576040519150601f19603f3d011682016040523d82523d5f602084013e610292565b606091505b5050905080610322576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f736166655472616e736665724554483a20455448207472616e7366657220666160448201527f696c65640000000000000000000000000000000000000000000000000000000060648201526084016101ee565b505050565b602080825282518282018190525f9190848201906040850190845b8181101561037457835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101610342565b50909695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b805173ffffffffffffffffffffffffffffffffffffffff811681146103d0575f80fd5b919050565b5f60208083850312156103e6575f80fd5b825167ffffffffffffffff808211156103fd575f80fd5b818501915085601f830112610410575f80fd5b81518181111561042257610422610380565b8060051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f8301168101818110858211171561046557610465610380565b604052918252848201925083810185019188831115610482575f80fd5b938501935b828510156104a757610498856103ad565b84529385019392850192610487565b98975050505050505050565b5f82515f5b818110156104d257602081860181015185830152016104b8565b505f92019182525091905056fea2646970667358221220bf0616af90ea4545d17e405fa3ba4df3062321a9a535fe45876c3962cc8f2f8c64736f6c63430008180033" + "code": "0x6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea2646970667358221220965379b4e29f73cf2ee1957914dc167d4751357fc5df24ccd8586bd4bf9b47e964736f6c63430008180033", + "storage": { + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x1212100000000000000000000000000000000003" + } }, "0x1212100000000000000000000000000000000001": { "balance": "0", - "code": "0x6080604052600436106101de575f3560e01c8063786255f1116100fd5780639f9d7f8111610092578063d8ce95ab11610062578063d8ce95ab1461088c578063da0b3317146108b7578063db069ba5146108e2578063f4bbb82f1461090d575f80fd5b80639f9d7f811461083b578063a6580de81461084f578063a681dfec14610864578063b88a802f14610878575f80fd5b8063902bdc26116100cd578063902bdc26146107aa5780639690293b146107d557806398ca58df146107e95780639e40cdac14610814575f80fd5b8063786255f11461070d57806389dc5c84146107435780638e1900a81461076a5780638f1b321914610795575f80fd5b80634d21e426116101735780636900cad8116101435780636900cad81461067b5780636db504e71461069a5780636dd7d8ea146106db57806373c7fbe9146106ee575f80fd5b80634d21e4261461060c5780634ff0876a14610637578063611905331461064c578063683dd19114610660575f80fd5b80630ea6a041116101ae5780630ea6a041146105745780631f26f256146105b857806343c14b22146105cd5780634c569c25146105e1575f80fd5b806303f187ea1461050357806306a49fce1461052b5780630b2a85ea1461054c5780630d15fd771461055f575f80fd5b366104ff576101eb610922565b337312120000000000000000000000000000000000031461026d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f736964652063616c6c206e6f7420616c6c6f776564000000000000000000000060448201526064015b60405180910390fd5b5f60108054806020026020016040519081016040528092919081815260200182805480156102cf57602002820191905f5260205f20905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116102a4575b505083519394505f925050505b818110156104f157600c5f8483815181106102f9576102f9612172565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546103e8600154670de0b6b3a764000060085f88878151811061035f5761035f612172565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054346103ac91906121cc565b6103b691906121cc565b6103c09190612210565b6103ca9190612210565b6103d49190612210565b60125f8584815181106103e9576103e9612172565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546104389190612223565b925050819055506104e983828151811061045457610454612172565b60200260200101516103e860015460085f88878151811061047757610477612172565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546103e86104c69190612236565b6104d090346121cc565b6104da9190612210565b6104e49190612210565b610963565b6001016102dc565b5050506104fd60015f55565b005b5f80fd5b34801561050e575f80fd5b5061051860045481565b6040519081526020015b60405180910390f35b348015610536575f80fd5b5061053f610a6d565b6040516105229190612249565b6104fd61055a3660046122a2565b610a7e565b34801561056a575f80fd5b50610518600b5481565b34801561057f575f80fd5b5061059361058e3660046122a2565b610d04565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610522565b3480156105c3575f80fd5b50610518600f5481565b3480156105d8575f80fd5b506104fd610d39565b3480156105ec575f80fd5b506105186105fb3660046122e1565b60126020525f908152604090205481565b348015610617575f80fd5b506105186106263660046122e1565b600a6020525f908152604090205481565b348015610642575f80fd5b5061051860055481565b348015610657575f80fd5b506104fd610f0e565b34801561066b575f80fd5b50610518670de0b6b3a764000081565b348015610686575f80fd5b506105936106953660046122a2565b611036565b3480156106a5575f80fd5b506105936106b43660046122e1565b600d6020525f908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6104fd6106e93660046122e1565b611045565b3480156106f9575f80fd5b506105186107083660046122e1565b611384565b348015610718575f80fd5b506105186107273660046122fa565b601560209081525f928352604080842090915290825290205481565b34801561074e575f80fd5b5061059373121200000000000000000000000000000000000381565b348015610775575f80fd5b506105186107843660046122e1565b60136020525f908152604090205481565b3480156107a0575f80fd5b5061051860025481565b3480156107b5575f80fd5b506105186107c43660046122e1565b60086020525f908152604090205481565b3480156107e0575f80fd5b506104fd6113cb565b3480156107f4575f80fd5b506105186108033660046122e1565b60146020525f908152604090205481565b34801561081f575f80fd5b5061059373fffffffffffffffffffffffffffffffffffffffe81565b348015610846575f80fd5b5061053f61148f565b34801561085a575f80fd5b5061051860015481565b34801561086f575f80fd5b506104fd6114fc565b348015610883575f80fd5b506104fd61177e565b348015610897575f80fd5b506105186108a63660046122e1565b600c6020525f908152604090205481565b3480156108c2575f80fd5b506105186108d13660046122e1565b60096020525f908152604090205481565b3480156108ed575f80fd5b506105186108fc3660046122e1565b600e6020525f908152604090205481565b348015610918575f80fd5b5061051860035481565b60025f540361095d576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60025f55565b604080515f8082526020820190925273ffffffffffffffffffffffffffffffffffffffff8416908390604051610999919061234f565b5f6040518083038185875af1925050503d805f81146109d3576040519150601f19603f3d011682016040523d82523d5f602084013e6109d8565b606091505b5050905080610a68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f736166655472616e736665724554483a20455448207472616e7366657220666160448201527f696c6564000000000000000000000000000000000000000000000000000000006064820152608401610264565b505050565b6060610a79600661183a565b905090565b323314610ae7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f6f6e6c7920616c6c6f7720454f410000000000000000000000000000000000006044820152606401610264565b600454341015610b53576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f696e73756666696369656e7420616d6f756e74000000000000000000000000006044820152606401610264565b6103e88110610bbe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f696e76616c6964207261746500000000000000000000000000000000000000006044820152606401610264565b610bc9600633611846565b15610c30576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f63616e64696461746520657869737473000000000000000000000000000000006044820152606401610264565b335f9081526009602052604090205415610ca6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6c656674206e6f7420636c61696d6564000000000000000000000000000000006044820152606401610264565b610cb1600633611879565b50335f818152600860209081526040808320859055600a82529182902034905590519182527feeda149c76076b34d4b9d8896c2f7efc0d33d1c7b53ea3c5db490d64613f603a910160405180910390a150565b60108181548110610d13575f80fd5b5f9182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b610d41610922565b335f908152600d6020908152604080832054600e9092529091205473ffffffffffffffffffffffffffffffffffffffff909116908115801590610d8357505f81115b610de9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f7265766f6b65206e6f7420616c6c6f77656400000000000000000000000000006044820152606401610264565b5f610df4338461189a565b73ffffffffffffffffffffffffffffffffffffffff84165f908152600c6020526040812080549293508492909190610e2d908490612236565b9250508190555081600b5f828254610e459190612236565b9091555050335f818152600d6020908152604080832080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055600e8252808320839055601382528083208390556014825280832092909255815192835273ffffffffffffffffffffffffffffffffffffffff86169083015281018390527fb698e31a2abee5824d0d7bcfd2339aead7f9e9ae413fba50bf554ff3fa470b7b9060600160405180910390a1610f00336104e48385612223565b505050610f0c60015f55565b565b610f16610922565b335f9081526009602052604090205415801590610f585750600554610f3c9060026121cc565b335f90815260096020526040902054610f559190612223565b43115b610fbe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f7769746864726177206e6f7420616c6c6f7765640000000000000000000000006044820152606401610264565b335f818152600a60209081526040808320805490849055600983528184208490556008835281842093909355805193845290830182905290917f142e26dcca50281d2c46d90446bfc1c9bc260cef355ce917a52f1fec7c54b5bf910160405180910390a161102c3382610963565b50610f0c60015f55565b60118181548110610d13575f80fd5b61104d610922565b6002543410156110b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f696e73756666696369656e7420616d6f756e74000000000000000000000000006044820152606401610264565b6110c4600682611846565b61112a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f63616e646964617465206e6f7420616c6c6f77656400000000000000000000006044820152606401610264565b335f908152600d602052604090205473ffffffffffffffffffffffffffffffffffffffff908116908216811480611175575073ffffffffffffffffffffffffffffffffffffffff8116155b6111db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f6f6e6c79206f6e652063686f69636520697320616c6c6f7765640000000000006044820152606401610264565b5f73ffffffffffffffffffffffffffffffffffffffff82161561120957611202338361189a565b9050611271565b335f818152600d6020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff89169081179091558352601282528083205493835260139091529020555b335f908152600e60205260408120805434929061128f908490612223565b909155505073ffffffffffffffffffffffffffffffffffffffff83165f908152600c6020526040812080543492906112c8908490612223565b9250508190555034600b5f8282546112e09190612223565b909155505073ffffffffffffffffffffffffffffffffffffffff821661131257335f9081526014602052604090204390555b6040805133815273ffffffffffffffffffffffffffffffffffffffff85166020820152348183015290517f66a9138482c99e9baf08860110ef332cc0c23b4a199a53593d8db0fc8f96fbfc9181900360600190a18015611376576113763382610963565b505061138160015f55565b50565b73ffffffffffffffffffffffffffffffffffffffff8082165f908152600d6020526040812054909116806113ba57505f92915050565b6113c48382611920565b9392505050565b6113d6600633611846565b61143c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f63616e646964617465206e6f74206578697374730000000000000000000000006044820152606401610264565b611447600633611a32565b50335f8181526009602090815260409182902043905590519182527f7c79e6e24ed041d1072d54523b53956f01b91b835f0490856370594d9d14470e910160405180910390a1565b606060108054806020026020016040519081016040528092919081815260200182805480156114f257602002820191905f5260205f20905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116114c7575b5050505050905090565b3373fffffffffffffffffffffffffffffffffffffffe14611579576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f736964652063616c6c206e6f7420616c6c6f77656400000000000000000000006044820152606401610264565b73121200000000000000000000000000000000000373ffffffffffffffffffffffffffffffffffffffff16633ccfd60b6040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156115d2575f80fd5b505af11580156115e4573d5f803e3d5ffd5b50505050600554600f546115f89190612223565b43101561160157565b5f61160c600661183a565b80519091505f5b818110156116f15760125f84838151811061163057611630612172565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460155f85848151811061168757611687612172565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f600554600f546116d99190612210565b815260208101919091526040015f2055600101611613565b5043600f556001548110806117095750600354600b54105b15611724576011805461171e9160109161209a565b50611742565b61172c611a53565b8051611740916010916020909101906120e6565b505b7fe59e3b36b5c97b419925b60c92f5a4324c993934eb9cfe5232def67c1739337c60106040516117729190612365565b60405180910390a15050565b611786610922565b335f908152600d602052604090205473ffffffffffffffffffffffffffffffffffffffff1680611812576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f636c61696d206e6f7420616c6c6f7765640000000000000000000000000000006044820152606401610264565b5f61181d338361189a565b9050801561182f5761182f3382610963565b5050610f0c60015f55565b60605f6113c483611bf3565b73ffffffffffffffffffffffffffffffffffffffff81165f90815260018301602052604081205415155b90505b92915050565b5f6118708373ffffffffffffffffffffffffffffffffffffffff8416611c4c565b5f806118a68484611920565b73ffffffffffffffffffffffffffffffffffffffff8481165f90815260126020908152604080832054938916808452601383529281902093909355825191825281018390529192507fbeceb521ccd2816457290c3d1cb70cc1537f14307f2d9ac26a5093a38ea40948910160405180910390a19392505050565b73ffffffffffffffffffffffffffffffffffffffff8083165f90815260146020908152604080832054601383528184205494861684526012909252822054600f54929391928310611976575f9350505050611873565b73ffffffffffffffffffffffffffffffffffffffff85165f90815260156020526040812060055482906119aa600188612236565b6119b49190612210565b6119bf906001612223565b81526020019081526020015f20549050828111156119db578092505b670de0b6b3a76400006119ee8484612236565b73ffffffffffffffffffffffffffffffffffffffff89165f908152600e6020526040902054611a1d91906121cc565b611a279190612210565b979650505050505050565b5f6118708373ffffffffffffffffffffffffffffffffffffffff8416611c98565b60605f611a5e610a6d565b80519091505f8167ffffffffffffffff811115611a7d57611a7d612322565b604051908082528060200260200182016040528015611aa6578160200160208202803683370190505b5090505f5b82811015611b2f57600c5f858381518110611ac857611ac8612172565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054828281518110611b1c57611b1c612172565b6020908102919091010152600101611aab565b50611b3d8382600154611d82565b5f60015467ffffffffffffffff811115611b5957611b59612322565b604051908082528060200260200182016040528015611b82578160200160208202803683370190505b5090505f5b600154811015611bea57848181518110611ba357611ba3612172565b6020026020010151828281518110611bbd57611bbd612172565b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152600101611b87565b50949350505050565b6060815f01805480602002602001604051908101604052809291908181526020018280548015611c4057602002820191905f5260205f20905b815481526020019060010190808311611c2c575b50505050509050919050565b5f818152600183016020526040812054611c9157508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155611873565b505f611873565b5f8181526001830160205260408120548015611d72575f611cba600183612236565b85549091505f90611ccd90600190612236565b9050808214611d2c575f865f018281548110611ceb57611ceb612172565b905f5260205f200154905080875f018481548110611d0b57611d0b612172565b5f918252602080832090910192909255918252600188019052604090208390555b8554869080611d3d57611d3d6123b5565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050611873565b5f915050611873565b5092915050565b82515f6001611d926002856123e2565b611d9c9190612449565b90505b5f8112611dc457611db285858386611ec2565b80611dbc81612468565b915050611d9f565b50815b81811015611ebb57835f81518110611de157611de1612172565b6020026020010151848281518110611dfb57611dfb612172565b60200260200101511115611eb357838181518110611e1b57611e1b612172565b6020026020010151845f81518110611e3557611e35612172565b602002602001018181525050848181518110611e5357611e53612172565b6020026020010151855f81518110611e6d57611e6d612172565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611eb385855f86611ec2565b600101611dc7565b5050505050565b5f611ece8360026121cc565b611ed9906001612223565b90505b81811015611ebb5781611ef0826001612223565b108015611f38575083611f04826001612223565b81518110611f1457611f14612172565b6020026020010151848281518110611f2e57611f2e612172565b6020026020010151115b15611f4b57611f48600182612223565b90505b838381518110611f5d57611f5d612172565b6020026020010151848281518110611f7757611f77612172565b602002602001015111611ebb57838381518110611f9657611f96612172565b6020026020010151848281518110611fb057611fb0612172565b6020026020010151858381518110611fca57611fca612172565b60200260200101868681518110611fe357611fe3612172565b602002602001018281525082815250505084838151811061200657612006612172565b602002602001015185828151811061202057612020612172565b602002602001015186838151811061203a5761203a612172565b6020026020010187868151811061205357612053612172565b73ffffffffffffffffffffffffffffffffffffffff9384166020918202929092010152911690529150816120888160026121cc565b612093906001612223565b9050611edc565b828054828255905f5260205f209081019282156120d6575f5260205f209182015b828111156120d65782548255916001019190600101906120bb565b506120e292915061215e565b5090565b828054828255905f5260205f209081019282156120d6579160200282015b828111156120d657825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190612104565b5b808211156120e2575f815560010161215f565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b80820281158282048414176118735761187361219f565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f8261221e5761221e6121e3565b500490565b808201808211156118735761187361219f565b818103818111156118735761187361219f565b602080825282518282018190525f9190848201906040850190845b8181101561229657835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101612264565b50909695505050505050565b5f602082840312156122b2575f80fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146122dc575f80fd5b919050565b5f602082840312156122f1575f80fd5b611870826122b9565b5f806040838503121561230b575f80fd5b612314836122b9565b946020939093013593505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f82518060208501845e5f920191825250919050565b602080825282548282018190525f8481528281209092916040850190845b8181101561229657835473ffffffffffffffffffffffffffffffffffffffff1683526001938401939285019201612383565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b5f826123f0576123f06121e3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f8000000000000000000000000000000000000000000000000000000000000000831416156124445761244461219f565b500590565b8181035f831280158383131683831282161715611d7b57611d7b61219f565b5f7f800000000000000000000000000000000000000000000000000000000000000082036124985761249861219f565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea2646970667358221220073db2e70be5fb6643350cc3b6ab48ab5ac987410c4a17e5281353bfe3d23a4964736f6c63430008190033" + "code": "0x60806040526004361061021e5760003560e01c8063786255f111610123578063a6580de8116100ab578063d8ce95ab1161006f578063d8ce95ab146108ee578063da0b33171461091b578063db069ba514610948578063f13c03af14610975578063f4bbb82f1461098e57600080fd5b8063a6580de814610854578063a681dfec1461086a578063ad3cb1cc1461087f578063b88a802f146108bd578063ce4b5bbe146108d257600080fd5b8063902bdc26116100f2578063902bdc26146107b45780639690293b146107e157806398ca58df146107f65780639f9d7f8114610823578063a5257a1d1461083857600080fd5b8063786255f11461071e57806384ccebc9146107565780638e1900a8146107715780638f1b32191461079e57600080fd5b80634d21e426116101a6578063611905331161017557806361190533146106805780636900cad8146106955780636db504e7146106b55780636dd7d8ea146106eb57806373c7fbe9146106fe57600080fd5b80634d21e426146106155780634f1ef286146106425780634ff0876a1461065557806352d1902d1461066b57600080fd5b80630ea6a041116101ed5780630ea6a041146105685780631f26f256146105a057806326bd0c4e146105b657806343c14b22146105d35780634c569c25146105e857600080fd5b806303f187ea146104f457806306a49fce1461051d5780630b2a85ea1461053f5780630d15fd771461055257600080fd5b366104ef5761022b6109a4565b33600361090960911b011461027f5760405162461bcd60e51b81526020600482015260156024820152741cda59194818d85b1b081b9bdd08185b1b1bddd959605a1b60448201526064015b60405180910390fd5b600060108054806020026020016040519081016040528092919081815260200182805480156102d757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116102b9575b505083519394506000925050505b818110156104e057600c6000848381518110610303576103036121a5565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205460001461044657600c6000848381518110610349576103496121a5565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020546103e8600154670de0b6b3a764000060086000888781518110610397576103976121a5565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054346103cb91906121d1565b6103d591906121d1565b6103df91906121fe565b6103e991906121fe565b6103f391906121fe565b60126000858481518110610409576104096121a5565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546104409190612212565b90915550505b6104d883828151811061045b5761045b6121a5565b60200260200101516103e86001546008600088878151811061047f5761047f6121a5565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020546103e86104b59190612225565b6104bf90346121d1565b6104c991906121fe565b6104d391906121fe565b6109ce565b6001016102e5565b5050506104ed6001600055565b005b600080fd5b34801561050057600080fd5b5061050a60045481565b6040519081526020015b60405180910390f35b34801561052957600080fd5b50610532610a9c565b6040516105149190612238565b6104ed61054d366004612285565b610aad565b34801561055e57600080fd5b5061050a600b5481565b34801561057457600080fd5b50610588610583366004612285565b610c6f565b6040516001600160a01b039091168152602001610514565b3480156105ac57600080fd5b5061050a600f5481565b3480156105c257600080fd5b50610588600162012121608c1b0181565b3480156105df57600080fd5b506104ed610c99565b3480156105f457600080fd5b5061050a6106033660046122ba565b60126020526000908152604090205481565b34801561062157600080fd5b5061050a6106303660046122ba565b600a6020526000908152604090205481565b6104ed6106503660046122eb565b610e11565b34801561066157600080fd5b5061050a60055481565b34801561067757600080fd5b5061050a610e30565b34801561068c57600080fd5b506104ed610e4d565b3480156106a157600080fd5b506105886106b0366004612285565b610f56565b3480156106c157600080fd5b506105886106d03660046122ba565b600d602052600090815260409020546001600160a01b031681565b6104ed6106f93660046122ba565b610f66565b34801561070a57600080fd5b5061050a6107193660046122ba565b6111da565b34801561072a57600080fd5b5061050a6107393660046123ad565b601560209081526000928352604080842090915290825290205481565b34801561076257600080fd5b506105886002600160a01b0381565b34801561077d57600080fd5b5061050a61078c3660046122ba565b60136020526000908152604090205481565b3480156107aa57600080fd5b5061050a60025481565b3480156107c057600080fd5b5061050a6107cf3660046122ba565b60086020526000908152604090205481565b3480156107ed57600080fd5b506104ed611216565b34801561080257600080fd5b5061050a6108113660046122ba565b60146020526000908152604090205481565b34801561082f57600080fd5b506105326112b8565b34801561084457600080fd5b50610588600361090960911b0181565b34801561086057600080fd5b5061050a60015481565b34801561087657600080fd5b506104ed61131a565b34801561088b57600080fd5b506108b0604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161051491906123fb565b3480156108c957600080fd5b506104ed61152b565b3480156108de57600080fd5b5061050a670de0b6b3a764000081565b3480156108fa57600080fd5b5061050a6109093660046122ba565b600c6020526000908152604090205481565b34801561092757600080fd5b5061050a6109363660046122ba565b60096020526000908152604090205481565b34801561095457600080fd5b5061050a6109633660046122ba565b600e6020526000908152604090205481565b34801561098157600080fd5b5061058861090960911b81565b34801561099a57600080fd5b5061050a60035481565b6002600054036109c757604051633ee5aeb560e01b815260040160405180910390fd5b6002600055565b604080516000808252602082019092526001600160a01b0384169083906040516109f8919061242e565b60006040518083038185875af1925050503d8060008114610a35576040519150601f19603f3d011682016040523d82523d6000602084013e610a3a565b606091505b5050905080610a975760405162461bcd60e51b8152602060048201526024808201527f736166655472616e736665724554483a20455448207472616e736665722066616044820152631a5b195960e21b6064820152608401610276565b505050565b6060610aa860066115b7565b905090565b323314610aed5760405162461bcd60e51b815260206004820152600e60248201526d6f6e6c7920616c6c6f7720454f4160901b6044820152606401610276565b600454341015610b355760405162461bcd60e51b81526020600482015260136024820152721a5b9cdd59999a58da595b9d08185b5bdd5b9d606a1b6044820152606401610276565b6103e88110610b755760405162461bcd60e51b815260206004820152600c60248201526b696e76616c6964207261746560a01b6044820152606401610276565b610b806006336115c4565b15610bc05760405162461bcd60e51b815260206004820152601060248201526f63616e6469646174652065786973747360801b6044820152606401610276565b3360009081526009602052604090205415610c105760405162461bcd60e51b815260206004820152601060248201526f1b19599d081b9bdd0818db185a5b595960821b6044820152606401610276565b610c1b6006336115eb565b50336000818152600860209081526040808320859055600a82529182902034905590519182527feeda149c76076b34d4b9d8896c2f7efc0d33d1c7b53ea3c5db490d64613f603a910160405180910390a150565b60108181548110610c7f57600080fd5b6000918252602090912001546001600160a01b0316905081565b610ca16109a4565b336000908152600d6020908152604080832054600e909252909120546001600160a01b03909116908115801590610cd85750600081115b610d195760405162461bcd60e51b81526020600482015260126024820152711c995d9bdad9481b9bdd08185b1b1bddd95960721b6044820152606401610276565b6000610d253384611600565b6001600160a01b0384166000908152600c6020526040812080549293508492909190610d52908490612225565b9250508190555081600b6000828254610d6b9190612225565b9091555050336000818152600d6020908152604080832080546001600160a01b0319169055600e825280832083905560138252808320839055601482528083209290925581519283526001600160a01b0386169083015281018390527fb698e31a2abee5824d0d7bcfd2339aead7f9e9ae413fba50bf554ff3fa470b7b9060600160405180910390a1610e02336104d38385612212565b505050610e0f6001600055565b565b610e1961167b565b610e22826116e0565b610e2c8282611720565b5050565b6000610e3a6117dd565b5060008051602061252983398151915290565b610e556109a4565b3360009081526009602052604090205415801590610e995750600554610e7c9060026121d1565b33600090815260096020526040902054610e969190612212565b43115b610edc5760405162461bcd60e51b81526020600482015260146024820152731dda5d1a191c985dc81b9bdd08185b1b1bddd95960621b6044820152606401610276565b336000818152600a60209081526040808320805490849055600983528184208490556008835281842093909355805193845290830182905290917f142e26dcca50281d2c46d90446bfc1c9bc260cef355ce917a52f1fec7c54b5bf910160405180910390a1610f4b33826109ce565b50610e0f6001600055565b60118181548110610c7f57600080fd5b610f6e6109a4565b600254341015610fb65760405162461bcd60e51b81526020600482015260136024820152721a5b9cdd59999a58da595b9d08185b5bdd5b9d606a1b6044820152606401610276565b610fc16006826115c4565b6110055760405162461bcd60e51b815260206004820152601560248201527418d85b991a59185d19481b9bdd08185b1b1bddd959605a1b6044820152606401610276565b336000908152600d60205260409020546001600160a01b0390811690821681148061103757506001600160a01b038116155b6110835760405162461bcd60e51b815260206004820152601a60248201527f6f6e6c79206f6e652063686f69636520697320616c6c6f7765640000000000006044820152606401610276565b60006001600160a01b038216156110a55761109e3383611600565b90506110e9565b336000818152600d6020908152604080832080546001600160a01b0319166001600160a01b0389169081179091558352601282528083205493835260139091529020555b336000908152600e602052604081208054349290611108908490612212565b90915550506001600160a01b0383166000908152600c602052604081208054349290611135908490612212565b9250508190555034600b600082825461114e9190612212565b90915550506001600160a01b038216611174573360009081526014602052604090204390555b604080513381526001600160a01b0385166020820152348183015290517f66a9138482c99e9baf08860110ef332cc0c23b4a199a53593d8db0fc8f96fbfc9181900360600190a180156111cb576111cb33826109ce565b50506111d76001600055565b50565b6001600160a01b038082166000908152600d6020526040812054909116806112055750600092915050565b61120f8382611806565b9392505050565b6112216006336115c4565b6112645760405162461bcd60e51b815260206004820152601460248201527363616e646964617465206e6f742065786973747360601b6044820152606401610276565b61126f6006336118eb565b503360008181526009602090815260409182902043905590519182527f7c79e6e24ed041d1072d54523b53956f01b91b835f0490856370594d9d14470e910160405180910390a1565b6060601080548060200260200160405190810160405280929190818152602001828054801561131057602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116112f2575b5050505050905090565b336002600160a01b03146113685760405162461bcd60e51b81526020600482015260156024820152741cda59194818d85b1b081b9bdd08185b1b1bddd959605a1b6044820152606401610276565b600361090960911b016001600160a01b0316633ccfd60b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156113ab57600080fd5b505af11580156113bf573d6000803e3d6000fd5b50505050600554600f546113d39190612212565b4310156113dc57565b43600f5560006113ec60066115b7565b805190915060005b818110156114a25760126000848381518110611412576114126121a5565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205460156000858481518110611451576114516121a5565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006005544361148991906121fe565b81526020810191909152604001600020556001016113f4565b506001548110806114b65750600354600b54105b156114d157601180546114cb916010916120eb565b506114ef565b6114d9611900565b80516114ed9160109160209091019061213b565b505b7fe59e3b36b5c97b419925b60c92f5a4324c993934eb9cfe5232def67c1739337c601060405161151f919061244a565b60405180910390a15050565b6115336109a4565b336000908152600d60205260409020546001600160a01b03168061158d5760405162461bcd60e51b815260206004820152601160248201527018db185a5b481b9bdd08185b1b1bddd959607a1b6044820152606401610276565b60006115993383611600565b905080156115ab576115ab33826109ce565b5050610e0f6001600055565b6060600061120f83611a80565b6001600160a01b038116600090815260018301602052604081205415155b90505b92915050565b60006115e2836001600160a01b038416611adc565b60008061160d8484611806565b6001600160a01b03848116600090815260126020908152604080832054938916808452601383529281902093909355825191825281018390529192507fbeceb521ccd2816457290c3d1cb70cc1537f14307f2d9ac26a5093a38ea40948910160405180910390a19392505050565b30600162012121608c1b0114806116c25750600162012121608c1b016116b6600080516020612529833981519152546001600160a01b031690565b6001600160a01b031614155b15610e0f5760405163703e46dd60e11b815260040160405180910390fd5b3361090960911b146111d75760405162461bcd60e51b81526020600482015260096024820152683737ba1030b236b4b760b91b6044820152606401610276565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561177a575060408051601f3d908101601f191682019092526117779181019061248e565b60015b6117a257604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610276565b60008051602061252983398151915281146117d357604051632a87526960e21b815260048101829052602401610276565b610a978383611b2b565b30600162012121608c1b0114610e0f5760405163703e46dd60e11b815260040160405180910390fd5b6001600160a01b03808316600090815260146020908152604080832054601383528184205494861684526012909252822054600f5492939192831061185157600093505050506115e5565b6001600160a01b0385166000908152601560205260408120600554829061187890876121fe565b611883906001612212565b8152602001908152602001600020549050828111156118a0578092505b670de0b6b3a76400006118b38484612225565b6001600160a01b0389166000908152600e60205260409020546118d691906121d1565b6118e091906121fe565b979650505050505050565b60006115e2836001600160a01b038416611b81565b6060600061190c610a9c565b805190915060008167ffffffffffffffff81111561192c5761192c6122d5565b604051908082528060200260200182016040528015611955578160200160208202803683370190505b50905060005b828110156119c757600c6000858381518110611979576119796121a5565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020548282815181106119b4576119b46121a5565b602090810291909101015260010161195b565b506119d58382600154611c7b565b600060015467ffffffffffffffff8111156119f2576119f26122d5565b604051908082528060200260200182016040528015611a1b578160200160208202803683370190505b50905060005b600154811015611a7757848181518110611a3d57611a3d6121a5565b6020026020010151828281518110611a5757611a576121a5565b6001600160a01b0390921660209283029190910190910152600101611a21565b50949350505050565b606081600001805480602002602001604051908101604052809291908181526020018280548015611ad057602002820191906000526020600020905b815481526020019060010190808311611abc575b50505050509050919050565b6000818152600183016020526040812054611b23575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556115e5565b5060006115e5565b611b3482611da7565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611b7957610a978282611e0c565b610e2c611e82565b60008181526001830160205260408120548015611c6a576000611ba5600183612225565b8554909150600090611bb990600190612225565b9050808214611c1e576000866000018281548110611bd957611bd96121a5565b9060005260206000200154905080876000018481548110611bfc57611bfc6121a5565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611c2f57611c2f6124a7565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506115e5565b60009150506115e5565b5092915050565b825160006001611c8c6002856124bd565b611c9691906124eb565b90505b60008112611cbf57611cad85858386611ea1565b80611cb78161250b565b915050611c99565b50815b81811015611da05783600081518110611cdd57611cdd6121a5565b6020026020010151848281518110611cf757611cf76121a5565b60200260200101511115611d9857838181518110611d1757611d176121a5565b602002602001015184600081518110611d3257611d326121a5565b602002602001018181525050848181518110611d5057611d506121a5565b602002602001015185600081518110611d6b57611d6b6121a5565b60200260200101906001600160a01b031690816001600160a01b031681525050611d988585600086611ea1565b600101611cc2565b5050505050565b806001600160a01b03163b600003611ddd57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610276565b60008051602061252983398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611e29919061242e565b600060405180830381855af49150503d8060008114611e64576040519150601f19603f3d011682016040523d82523d6000602084013e611e69565b606091505b5091509150611e7985838361206d565b95945050505050565b3415610e0f5760405163b398979f60e01b815260040160405180910390fd5b6000611eae8360026121d1565b611eb9906001612212565b90505b81811015611da05781611ed0826001612212565b108015611f18575083611ee4826001612212565b81518110611ef457611ef46121a5565b6020026020010151848281518110611f0e57611f0e6121a5565b6020026020010151115b15611f2b57611f28600182612212565b90505b838381518110611f3d57611f3d6121a5565b6020026020010151848281518110611f5757611f576121a5565b602002602001015111611da057838381518110611f7657611f766121a5565b6020026020010151848281518110611f9057611f906121a5565b6020026020010151858381518110611faa57611faa6121a5565b60200260200101868681518110611fc357611fc36121a5565b6020026020010182815250828152505050848381518110611fe657611fe66121a5565b6020026020010151858281518110612000576120006121a5565b602002602001015186838151811061201a5761201a6121a5565b60200260200101878681518110612033576120336121a5565b6001600160a01b0393841660209182029290920101529116905291508161205b8160026121d1565b612066906001612212565b9050611ebc565b6060826120825761207d826120c2565b61120f565b815115801561209957506001600160a01b0384163b155b15611c7457604051639996b31560e01b81526001600160a01b0385166004820152602401610276565b8051156120d25780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b82805482825590600052602060002090810192821561212b5760005260206000209182015b8281111561212b578254825591600101919060010190612110565b50612137929150612190565b5090565b82805482825590600052602060002090810192821561212b579160200282015b8281111561212b57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019061215b565b5b808211156121375760008155600101612191565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176115e5576115e56121bb565b634e487b7160e01b600052601260045260246000fd5b60008261220d5761220d6121e8565b500490565b808201808211156115e5576115e56121bb565b818103818111156115e5576115e56121bb565b6020808252825182820181905260009190848201906040850190845b818110156122795783516001600160a01b031683529284019291840191600101612254565b50909695505050505050565b60006020828403121561229757600080fd5b5035919050565b80356001600160a01b03811681146122b557600080fd5b919050565b6000602082840312156122cc57600080fd5b6115e28261229e565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156122fe57600080fd5b6123078361229e565b9150602083013567ffffffffffffffff8082111561232457600080fd5b818501915085601f83011261233857600080fd5b81358181111561234a5761234a6122d5565b604051601f8201601f19908116603f01168101908382118183101715612372576123726122d5565b8160405282815288602084870101111561238b57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600080604083850312156123c057600080fd5b6123c98361229e565b946020939093013593505050565b60005b838110156123f25781810151838201526020016123da565b50506000910152565b602081526000825180602084015261241a8160408501602087016123d7565b601f01601f19169190910160400192915050565b600082516124408184602087016123d7565b9190910192915050565b6020808252825482820181905260008481528281209092916040850190845b818110156122795783546001600160a01b031683526001938401939285019201612469565b6000602082840312156124a057600080fd5b5051919050565b634e487b7160e01b600052603160045260246000fd5b6000826124cc576124cc6121e8565b600160ff1b8214600019841416156124e6576124e66121bb565b500590565b8181036000831280158383131683831282161715611c7457611c746121bb565b6000600160ff1b8201612520576125206121bb565b50600019019056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220b015f0f58d95238a34a124b1f2a432eacd9551b6263a31392fc3f3ee94eb6dc564736f6c63430008180033" }, "0x1212100000000000000000000000000000000002": { "balance": "0", - "code": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c806390ac18661161005b57806390ac1866146100e6578063d96ed505146100f9578063e47d606014610110578063e4997dc51461013357600080fd5b80630ecb93c014610082578063701b70ac1461009757806389dc5c84146100bf575b600080fd5b610095610090366004610899565b610146565b005b6100aa6100a5366004610899565b6102e5565b60405190151581526020015b60405180910390f35b6100ce600361090960911b0181565b6040516001600160a01b0390911681526020016100b6565b6100956100f43660046108bd565b6103bc565b61010260015481565b6040519081526020016100b6565b6100aa61011e366004610899565b60026020526000908152604090205460ff1681565b610095610141366004610899565b6104de565b604080516001600160a01b03831660208201527f4912b57f7ea75243ecaff76a75bdedbc13a6f58c1c967b0427b8aee0a276309e91016040516020818303038152906040528051906020012061019b336102e5565b6101c05760405162461bcd60e51b81526004016101b7906108d6565b60405180910390fd5b6101ca8282610625565b6101d48282610683565b6101dd57505050565b6001600160a01b03831660009081526002602052604090205460ff16156102465760405162461bcd60e51b815260206004820181905260248201527f506f6c6963793a20426c61636b6c69737420616c72656164792065786973747360448201526064016101b7565b6001600160a01b038316600081815260026020908152604091829020805460ff1916600117905590519182527ff9dfc5050bb4c9b200f093a995458a80fb19943585b189fe5d317391abdc764591015b60405180910390a160408051838152602081018390527ff5aa3d6492eaf1a4d6787c5bd36e8ec61c245d4af2fd1fd387e387a50de9f8c5910160405180910390a16102e08261079e565b505050565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561032e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610356919081019061091f565b905060005b81518110156103b257818181518110610376576103766109e4565b60200260200101516001600160a01b0316846001600160a01b0316036103a0575060019392505050565b806103aa81610a10565b91505061035b565b5060009392505050565b7f0d48c1723f9a97946a942509ee525d5449a8f1d6460432fc2b267126c5cb1bce816040516020016103f091815260200190565b6040516020818303038152906040528051906020012061040f336102e5565b61042b5760405162461bcd60e51b81526004016101b7906108d6565b6104358282610625565b61043f8282610683565b61044857505050565b600083116104a95760405162461bcd60e51b815260206004820152602860248201527f506f6c6963793a207365744d696e476173507269636520696e76616c6964207060448201526730b930b6b2ba32b960c11b60648201526084016101b7565b60018390556040518381527f707bb10a9a561bf00f6acc0b0231a12146dc98352b4e8c8deb55e141ace3289090602001610296565b604080516001600160a01b03831660208201527f310cc9bfce6443143f03d0cdc4d66afa0b3c689539eb3e65cb1820b56d672465910160405160208183030381529060405280519060200120610533336102e5565b61054f5760405162461bcd60e51b81526004016101b7906108d6565b6105598282610625565b6105638282610683565b61056c57505050565b6001600160a01b03831660009081526002602052604090205460ff166105d45760405162461bcd60e51b815260206004820181905260248201527f506f6c6963793a20426c61636b6c69737420646f6573206e6f7420657869737460448201526064016101b7565b6001600160a01b038316600081815260026020908152604091829020805460ff1916905590519182527f2234edb6f393cd207251f6579b5852192c144c4c12b9cc32e80539ef12faed3f9101610296565b6000828152602081815260408083203380855290835292819020849055805192835290820184905281018290527f61699483e2a58589628399a22e34da872b583143ab99b3245ba6dacf4974d2e39060600160405180910390a15050565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156106cc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106f4919081019061091f565b90506000805b82518110156107785784600080888152602001908152602001600020600085848151811061072a5761072a6109e4565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205403610766578161076281610a10565b9250505b8061077081610a10565b9150506106fa565b506003825160026107899190610a29565b6107939190610a40565b109150505b92915050565b6000600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156107e6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261080e919081019061091f565b905060005b81518110156102e0576000808481526020019081526020016000206000838381518110610842576108426109e4565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060009055808061087990610a10565b915050610813565b6001600160a01b038116811461089657600080fd5b50565b6000602082840312156108ab57600080fd5b81356108b681610881565b9392505050565b6000602082840312156108cf57600080fd5b5035919050565b6020808252600990820152682737ba1026b4b732b960b91b604082015260600190565b634e487b7160e01b600052604160045260246000fd5b805161091a81610881565b919050565b6000602080838503121561093257600080fd5b825167ffffffffffffffff8082111561094a57600080fd5b818501915085601f83011261095e57600080fd5b815181811115610970576109706108f9565b8060051b604051601f19603f83011681018181108582111715610995576109956108f9565b6040529182528482019250838101850191888311156109b357600080fd5b938501935b828510156109d8576109c98561090f565b845293850193928501926109b8565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201610a2257610a226109fa565b5060010190565b8082028115828204841417610798576107986109fa565b600082610a5d57634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122004d5477279b034c92f8cb848eaee962c9b62e3143e7901fe1f481a30e1ef748e64736f6c63430008120033" + "code": "0x6080604052600436106100a75760003560e01c806390ac18661161006457806390ac18661461018a578063ad3cb1cc146101aa578063d96ed505146101e8578063e47d6060146101fe578063e4997dc51461022e578063f13c03af1461024e57600080fd5b80630ecb93c0146100ac57806326bd0c4e146100ce5780634f1ef2861461010857806352d1902d1461011b578063701b70ac1461013e57806389dc5c841461016e575b600080fd5b3480156100b857600080fd5b506100cc6100c7366004610d37565b610267565b005b3480156100da57600080fd5b506100eb600262012121608c1b0181565b6040516001600160a01b0390911681526020015b60405180910390f35b6100cc610116366004610d9b565b610406565b34801561012757600080fd5b50610130610425565b6040519081526020016100ff565b34801561014a57600080fd5b5061015e610159366004610d37565b610442565b60405190151581526020016100ff565b34801561017a57600080fd5b506100eb600361090960911b0181565b34801561019657600080fd5b506100cc6101a5366004610e43565b61050f565b3480156101b657600080fd5b506101db604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100ff9190610e80565b3480156101f457600080fd5b5061013060015481565b34801561020a57600080fd5b5061015e610219366004610d37565b60026020526000908152604090205460ff1681565b34801561023a57600080fd5b506100cc610249366004610d37565b610631565b34801561025a57600080fd5b506100eb61090960911b81565b604080516001600160a01b03831660208201527f4912b57f7ea75243ecaff76a75bdedbc13a6f58c1c967b0427b8aee0a276309e9101604051602081830303815290604052805190602001206102bc33610442565b6102e15760405162461bcd60e51b81526004016102d890610eb3565b60405180910390fd5b6102eb8282610778565b6102f582826107d6565b6102fe57505050565b6001600160a01b03831660009081526002602052604090205460ff16156103675760405162461bcd60e51b815260206004820181905260248201527f506f6c6963793a20426c61636b6c69737420616c72656164792065786973747360448201526064016102d8565b6001600160a01b038316600081815260026020908152604091829020805460ff1916600117905590519182527ff9dfc5050bb4c9b200f093a995458a80fb19943585b189fe5d317391abdc764591015b60405180910390a160408051838152602081018390527ff5aa3d6492eaf1a4d6787c5bd36e8ec61c245d4af2fd1fd387e387a50de9f8c5910160405180910390a1610401826108e8565b505050565b61040e6109ba565b61041782610a21565b6104218282610a64565b5050565b600061042f610b21565b5060008051602061103883398151915290565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561048b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104b39190810190610ed6565b905060005b8151811015610505578181815181106104d3576104d3610f88565b60200260200101516001600160a01b0316846001600160a01b0316036104fd575060019392505050565b6001016104b8565b5060009392505050565b7f0d48c1723f9a97946a942509ee525d5449a8f1d6460432fc2b267126c5cb1bce8160405160200161054391815260200190565b6040516020818303038152906040528051906020012061056233610442565b61057e5760405162461bcd60e51b81526004016102d890610eb3565b6105888282610778565b61059282826107d6565b61059b57505050565b600083116105fc5760405162461bcd60e51b815260206004820152602860248201527f506f6c6963793a207365744d696e476173507269636520696e76616c6964207060448201526730b930b6b2ba32b960c11b60648201526084016102d8565b60018390556040518381527f707bb10a9a561bf00f6acc0b0231a12146dc98352b4e8c8deb55e141ace32890906020016103b7565b604080516001600160a01b03831660208201527f310cc9bfce6443143f03d0cdc4d66afa0b3c689539eb3e65cb1820b56d67246591016040516020818303038152906040528051906020012061068633610442565b6106a25760405162461bcd60e51b81526004016102d890610eb3565b6106ac8282610778565b6106b682826107d6565b6106bf57505050565b6001600160a01b03831660009081526002602052604090205460ff166107275760405162461bcd60e51b815260206004820181905260248201527f506f6c6963793a20426c61636b6c69737420646f6573206e6f7420657869737460448201526064016102d8565b6001600160a01b038316600081815260026020908152604091829020805460ff1916905590519182527f2234edb6f393cd207251f6579b5852192c144c4c12b9cc32e80539ef12faed3f91016103b7565b6000828152602081815260408083203380855290835292819020849055805192835290820184905281018290527f61699483e2a58589628399a22e34da872b583143ab99b3245ba6dacf4974d2e39060600160405180910390a15050565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561081f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108479190810190610ed6565b90506000805b82518110156108c15784600080888152602001908152602001600020600085848151811061087d5761087d610f88565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054036108b957816108b581610fb4565b9250505b60010161084d565b506002825160016108d29190610fcd565b6108dc9190610fe0565b11159150505b92915050565b6000600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610930573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109589190810190610ed6565b905060005b815181101561040157600080848152602001908152602001600020600083838151811061098c5761098c610f88565b6020908102919091018101516001600160a01b0316825281019190915260400160009081205560010161095d565b30600262012121608c1b011480610a015750600262012121608c1b016109f5600080516020611038833981519152546001600160a01b031690565b6001600160a01b031614155b15610a1f5760405163703e46dd60e11b815260040160405180910390fd5b565b3361090960911b14610a615760405162461bcd60e51b81526020600482015260096024820152683737ba1030b236b4b760b91b60448201526064016102d8565b50565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610abe575060408051601f3d908101601f19168201909252610abb91810190611002565b60015b610ae657604051634c9c8ce360e01b81526001600160a01b03831660048201526024016102d8565b6000805160206110388339815191528114610b1757604051632a87526960e21b8152600481018290526024016102d8565b6104018383610b4a565b30600262012121608c1b0114610a1f5760405163703e46dd60e11b815260040160405180910390fd5b610b5382610ba0565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610b98576104018282610c05565b610421610c7b565b806001600160a01b03163b600003610bd657604051634c9c8ce360e01b81526001600160a01b03821660048201526024016102d8565b60008051602061103883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610c22919061101b565b600060405180830381855af49150503d8060008114610c5d576040519150601f19603f3d011682016040523d82523d6000602084013e610c62565b606091505b5091509150610c72858383610c9a565b95945050505050565b3415610a1f5760405163b398979f60e01b815260040160405180910390fd5b606082610caf57610caa82610cf9565b610cf2565b8151158015610cc657506001600160a01b0384163b155b15610cef57604051639996b31560e01b81526001600160a01b03851660048201526024016102d8565b50805b9392505050565b805115610d095780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6001600160a01b0381168114610a6157600080fd5b600060208284031215610d4957600080fd5b8135610cf281610d22565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610d9357610d93610d54565b604052919050565b60008060408385031215610dae57600080fd5b8235610db981610d22565b915060208381013567ffffffffffffffff80821115610dd757600080fd5b818601915086601f830112610deb57600080fd5b813581811115610dfd57610dfd610d54565b610e0f601f8201601f19168501610d6a565b91508082528784828501011115610e2557600080fd5b80848401858401376000848284010152508093505050509250929050565b600060208284031215610e5557600080fd5b5035919050565b60005b83811015610e77578181015183820152602001610e5f565b50506000910152565b6020815260008251806020840152610e9f816040850160208701610e5c565b601f01601f19169190910160400192915050565b6020808252600990820152683737ba1026b4b732b960b91b604082015260600190565b60006020808385031215610ee957600080fd5b825167ffffffffffffffff80821115610f0157600080fd5b818501915085601f830112610f1557600080fd5b815181811115610f2757610f27610d54565b8060051b9150610f38848301610d6a565b8181529183018401918481019088841115610f5257600080fd5b938501935b83851015610f7c5784519250610f6c83610d22565b8282529385019390850190610f57565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201610fc657610fc6610f9e565b5060010190565b808201808211156108e2576108e2610f9e565b600082610ffd57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561101457600080fd5b5051919050565b6000825161102d818460208701610e5c565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122080dc9c63474cff6584c343a283076a4aa9dce3cd3153430acf1110c38cf73d7a64736f6c63430008180033" + }, + "0x1212100000000000000000000000000000000003": { + "balance": "0", + "code": "0x60806040526004361061007f5760003560e01c80634f1ef2861161004e5780634f1ef2861461011e57806352d1902d14610131578063ad3cb1cc14610154578063f13c03af1461019257600080fd5b80631633da6e1461008b578063180cb47f146100b657806326bd0c4e146100ea5780633ccfd60b1461010757600080fd5b3661008657005b600080fd5b34801561009757600080fd5b506100a06101ab565b6040516100ad91906106f7565b60405180910390f35b3480156100c257600080fd5b506100d2600161090960911b0181565b6040516001600160a01b0390911681526020016100ad565b3480156100f657600080fd5b506100d2600362012121608c1b0181565b34801561011357600080fd5b5061011c610220565b005b61011c61012c3660046107a0565b610287565b34801561013d57600080fd5b506101466102a6565b6040519081526020016100ad565b34801561016057600080fd5b50610185604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100ad919061086c565b34801561019e57600080fd5b506100d261090960911b81565b6060600161090960911b016001600160a01b0316639f9d7f816040518163ffffffff1660e01b8152600401600060405180830381865afa1580156101f3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261021b919081019061089f565b905090565b33600161090960911b011461026d5760405162461bcd60e51b815260206004820152600e60248201526d6e6f7420676f7665726e616e636560901b60448201526064015b60405180910390fd5b471561028557610285600161090960911b01476102c3565b565b61028f610391565b610298826103f6565b6102a28282610439565b5050565b60006102b06104f6565b5060008051602061098783398151915290565b604080516000808252602082019092526001600160a01b0384169083906040516102ed9190610951565b60006040518083038185875af1925050503d806000811461032a576040519150601f19603f3d011682016040523d82523d6000602084013e61032f565b606091505b505090508061038c5760405162461bcd60e51b8152602060048201526024808201527f736166655472616e736665724554483a20455448207472616e736665722066616044820152631a5b195960e21b6064820152608401610264565b505050565b30600362012121608c1b0114806103d85750600362012121608c1b016103cc600080516020610987833981519152546001600160a01b031690565b6001600160a01b031614155b156102855760405163703e46dd60e11b815260040160405180910390fd5b3361090960911b146104365760405162461bcd60e51b81526020600482015260096024820152683737ba1030b236b4b760b91b6044820152606401610264565b50565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610493575060408051601f3d908101601f191682019092526104909181019061096d565b60015b6104bb57604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610264565b60008051602061098783398151915281146104ec57604051632a87526960e21b815260048101829052602401610264565b61038c838361051f565b30600362012121608c1b01146102855760405163703e46dd60e11b815260040160405180910390fd5b61052882610575565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561056d5761038c82826105da565b6102a2610650565b806001600160a01b03163b6000036105ab57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610264565b60008051602061098783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516105f79190610951565b600060405180830381855af49150503d8060008114610632576040519150601f19603f3d011682016040523d82523d6000602084013e610637565b606091505b509150915061064785838361066f565b95945050505050565b34156102855760405163b398979f60e01b815260040160405180910390fd5b6060826106845761067f826106ce565b6106c7565b815115801561069b57506001600160a01b0384163b155b156106c457604051639996b31560e01b81526001600160a01b0385166004820152602401610264565b50805b9392505050565b8051156106de5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6020808252825182820181905260009190848201906040850190845b818110156107385783516001600160a01b031683529284019291840191600101610713565b50909695505050505050565b6001600160a01b038116811461043657600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561079857610798610759565b604052919050565b600080604083850312156107b357600080fd5b82356107be81610744565b915060208381013567ffffffffffffffff808211156107dc57600080fd5b818601915086601f8301126107f057600080fd5b81358181111561080257610802610759565b610814601f8201601f1916850161076f565b9150808252878482850101111561082a57600080fd5b80848401858401376000848284010152508093505050509250929050565b60005b8381101561086357818101518382015260200161084b565b50506000910152565b602081526000825180602084015261088b816040850160208701610848565b601f01601f19169190910160400192915050565b600060208083850312156108b257600080fd5b825167ffffffffffffffff808211156108ca57600080fd5b818501915085601f8301126108de57600080fd5b8151818111156108f0576108f0610759565b8060051b915061090184830161076f565b818152918301840191848101908884111561091b57600080fd5b938501935b83851015610945578451925061093583610744565b8282529385019390850190610920565b98975050505050505050565b60008251610963818460208701610848565b9190910192915050565b60006020828403121561097f57600080fd5b505191905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220d7431b8c55135acd14277140c3e792e737dd67435ac1ab986730e38b73f30c0064736f6c63430008180033" } } -} +} \ No newline at end of file diff --git a/privnet/seven/genesis_template.json b/privnet/seven/genesis_template.json index a2d7409ded..45b8129d80 100644 --- a/privnet/seven/genesis_template.json +++ b/privnet/seven/genesis_template.json @@ -17,7 +17,7 @@ "shanghaiTime": 0, "dbft": { "period": 10, - "standbyValidators":[ + "standbyValidators": [ "0xnode1", "0xnode2", "0xnode3", @@ -26,36 +26,92 @@ "0xnode6", "0xnode7" ], - "coinbase": "0x1212100000000000000000000000000000000001" + "coinbase": "0x1212000000000000000000000000000000000003" } }, "difficulty": "1", "gasLimit": "30000000", "alloc": { - "node1": { "balance": "100000000000000000000000" }, - "node2": { "balance": "100000000000000000000" }, - "node3": { "balance": "100000000000000000000" }, - "node4": { "balance": "100000000000000000000" }, - "node5": { "balance": "100000000000000000000" }, - "node6": { "balance": "100000000000000000000" }, - "node7": { "balance": "100000000000000000000" }, - "1212100000000000000000000000000000000004": { - "balance": "100000000000000000000000", - "code": "0x608060405234801561001057600080fd5b506004361061012c5760003560e01c8063a1fd836e116100ad578063cf30901211610071578063cf309012146102c3578063de35f5cb146102e7578063e976d431146102fa578063f83d08ba1461030b578063fec95b481461031357600080fd5b8063a1fd836e14610266578063a69df4b51461028c578063aab8ab0c14610294578063b2ca3ec4146102a7578063c34c7882146102ba57600080fd5b80637b259db4116100f45780637b259db4146101f35780638312f149146102125780638406c0791461022f5780638955fe8a1461024a5780638da5cb5b1461025357600080fd5b80630c340a2414610131578063131305e71461016157806335aa2e44146101a257806344c7e2f4146101b5578063504ad4ec146101de575b600080fd5b600554610144906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61018a61016f3660046111c9565b6008602052600090815260409020546001600160401b031681565b6040516001600160401b039091168152602001610158565b6101446101b03660046111f2565b610327565b6101446101c33660046111c9565b6007602052600090815260409020546001600160a01b031681565b6101f16101ec366004611256565b610351565b005b60035461018a906801000000000000000090046001600160401b031681565b610221670de0b6b3a764000081565b604051908152602001610158565b61014473acc85ffb71f83b9bb264f6d64541926d375a6c1d81565b61022160015481565b600454610144906001600160a01b031681565b60035461027a90600160801b900460ff1681565b60405160ff9091168152602001610158565b6101f161068f565b6101f16102a23660046111c9565b610740565b600654610144906001600160a01b031681565b61022160025481565b6003546102d790600160901b900460ff1681565b6040519015158152602001610158565b60035461018a906001600160401b031681565b61022169021e19e0c9bab240000081565b6101f161094d565b60035461027a90600160881b900460ff1681565b6000818154811061033757600080fd5b6000918252602090912001546001600160a01b0316905081565b3373acc85ffb71f83b9bb264f6d64541926d375a6c1d146103a75760405162461bcd60e51b815260206004820152600b60248201526a2737ba103932b630bcb2b960a91b60448201526064015b60405180910390fd5b600354600160901b900460ff16156103d15760405162461bcd60e51b815260040161039e906112cf565b808061041f5760405162461bcd60e51b815260206004820152601f60248201527f4174206c656173742031206465706f7369742069732072657175697265642e00604482015260640161039e565b600354600160881b900460ff1681111561047b5760405162461bcd60e51b815260206004820152601b60248201527f546f6f206d616e79206465706f736974732070726f76696465642e0000000000604482015260640161039e565b600354610492906001600160401b03166001611311565b6001600160401b0316838360008181106104ae576104ae611338565b90506060020160400160208101906104c691906111c9565b6001600160401b0316146105375760405162461bcd60e51b815260206004820152603260248201527f4f6e6c7920746865206e657874206e6f6e636520697320616c6c6f776564206960448201527137103a3432903334b939ba10383937b7b31760711b606482015260840161039e565b60035461055090849084906001600160401b03166109da565b6105b15760405162461bcd60e51b815260206004820152602c60248201527f546865206e6f6e636573206f66207468652070726f6f6673206d75737420626560448201526b1039bab139b2b8bab2b73a1760a11b606482015260840161039e565b6105bc868686610a6d565b61061e5760405162461bcd60e51b815260206004820152602d60248201527f496e76616c6964206f7220696e73756666696369656e742076616c696461746f60448201526c391039b4b3b730ba3ab932b99760991b606482015260840161039e565b828261062b60018461134e565b81811061063a5761063a611338565b905060600201604001602081019061065291906111c9565b6003805467ffffffffffffffff19166001600160401b03929092169190911790556001805490879055610686818585610cff565b50505050505050565b6005546001600160a01b031633146106d85760405162461bcd60e51b815260206004820152600c60248201526b2737ba1033b7bb32b93737b960a11b604482015260640161039e565b600354600160901b900460ff166107315760405162461bcd60e51b815260206004820152601a60248201527f436f6e747261637420697320616c7265616479206c6f636b6564000000000000604482015260640161039e565b6003805460ff60901b19169055565b600354600160901b900460ff161561076a5760405162461bcd60e51b815260040161039e906112cf565b6001600160401b0380821660009081526007602090815260408083205460089092528220546001600160a01b039091169216908190036107e15760405162461bcd60e51b81526020600482015260126024820152714e6f20636c61696d61626c652066756e647360701b604482015260640161039e565b6001600160a01b03821661082c5760405162461bcd60e51b81526020600482015260126024820152714e6f20636c61696d61626c652066756e647360701b604482015260640161039e565b6001600160401b0383166000908152600860209081526040808320805467ffffffffffffffff191690556007909152812080546001600160a01b031916905561087482610fd7565b90506000836001600160a01b03168260405160006040518083038185875af1925050503d80600081146108c3576040519150601f19603f3d011682016040523d82523d6000602084013e6108c8565b606091505b505090508061090b5760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015260640161039e565b7fc050de00ef4ba397e08c78836db608d83db9c6335bf95019597119b9536f938985848660405161093e93929190611361565b60405180910390a15050505050565b6006546001600160a01b0316331461099b5760405162461bcd60e51b8152602060048201526011602482015270139bdd081cd958dd5c9a5d1e51dd585c99607a1b604482015260640161039e565b600354600160901b900460ff16156109c55760405162461bcd60e51b815260040161039e906112cf565b6003805460ff60901b1916600160901b179055565b600060015b60ff81168410610a60576109f660ff821684611311565b6001600160401b03168585610a0c60018561138d565b60ff16818110610a1e57610a1e611338565b9050606002016040016020810190610a3691906111c9565b6001600160401b031614610a4e576000915050610a66565b80610a58816113a6565b9150506109df565b50600190505b9392505050565b600354600090600160801b900460ff168214610acb5760405162461bcd60e51b815260206004820152601d60248201527f496e76616c6964206e756d626572206f66207369676e6174757265732e000000604482015260640161039e565b600084604051602001610ae091815260200190565b60408051601f198184030181529082905280516020918201207f19457468657265756d205369676e6564204d6573736167653a0a33320000000091830191909152603c820152605c0160408051808303601f190181528282528051602090910120600580845260c0840190925292506000919081602001602082028036833701905050905060005b6005811015610c3a5736868683818110610b8457610b84611338565b6060029190910191506001905084610b9f60208401846113c5565b604080516000815260208181018084529490945260ff9092168282015291840135606082015290830135608082015260a0016020604051602081039080840390855afa158015610bf3573d6000803e3d6000fd5b50505060206040510351838381518110610c0f57610c0f611338565b6001600160a01b03909216602092830291909101909101525080610c32816113e8565b915050610b68565b5060008080805b6005811015610cef578291505b6007821015610cd05760008281548110610c6a57610c6a611338565b60009182526020909120015485516001600160a01b0390911690869083908110610c9657610c96611338565b60200260200101516001600160a01b031603610cbe5783610cb6816113e8565b945050610cd0565b81610cc8816113e8565b925050610c4e565b610cdb826001611401565b925080610ce7816113e8565b915050610c41565b5050506005149695505050505050565b828160005b81811015610d845736858583818110610d1f57610d1f611338565b90506060020190506000610d61826040016020810190610d3f91906111c9565b610d4f60408501602086016111c9565b610d5c6020860186611414565b610ff7565b9050610d6d858261109c565b945050508080610d7c906113e8565b915050610d04565b506001548214610dce5760405162461bcd60e51b815260206004820152601560248201527424b73b30b634b2103232b837b9b4ba103937b7ba1760591b604482015260640161039e565b60005b81811015610fcf5736858583818110610dec57610dec611338565b60600291909101915060009050610e066020830183611414565b90506001600160a01b0381163b610f57576000610e31610e2c60408501602086016111c9565b610fd7565b90506000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610e80576040519150601f19603f3d011682016040523d82523d6000602084013e610e85565b606091505b505090508015610eed577f2c20d394553ff35017f1f147d7e3a1ffc1caeaf1e422b5d9730fabe8c90042fe610ec060608601604087016111c9565b610ed060408701602088016111c9565b85604051610ee093929190611361565b60405180910390a1610f50565b610ef684611116565b7fb79dcd48431a0507fde36076107e606e63739e8a604f219cebe9aa0c1f17a115610f2760608601604087016111c9565b610f3760408701602088016111c9565b85604051610f4793929190611361565b60405180910390a15b5050610fba565b610f6082611116565b7fb79dcd48431a0507fde36076107e606e63739e8a604f219cebe9aa0c1f17a115610f9160608401604085016111c9565b610fa160408501602086016111c9565b83604051610fb193929190611361565b60405180910390a15b50508080610fc7906113e8565b915050610dd1565b505050505050565b6000610ff16001600160401b0383166402540be40061143d565b92915050565b6040516001600160c01b031960c085811b8216602084015284901b1660288201526bffffffffffffffffffffffff19606083901b16603082015260009060029060440160408051601f198184030181529082905261105491611454565b602060405180830381855afa158015611071573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906110949190611483565b949350505050565b6000600283836040516020016110bc929190918252602082015260400190565b60408051601f19818403018152908290526110d691611454565b602060405180830381855afa1580156110f3573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610a669190611483565b6111236020820182611414565b6007600061113760608501604086016111c9565b6001600160401b03168152602080820192909252604090810160002080546001600160a01b0319166001600160a01b0394909416939093179092556111809183019083016111c9565b6008600061119460608501604086016111c9565b6001600160401b0390811682526020820192909252604001600020805467ffffffffffffffff19169290911691909117905550565b6000602082840312156111db57600080fd5b81356001600160401b0381168114610a6657600080fd5b60006020828403121561120457600080fd5b5035919050565b60008083601f84011261121d57600080fd5b5081356001600160401b0381111561123457600080fd5b60208301915083602060608302850101111561124f57600080fd5b9250929050565b60008060008060006060868803121561126e57600080fd5b8535945060208601356001600160401b038082111561128c57600080fd5b61129889838a0161120b565b909650945060408801359150808211156112b157600080fd5b506112be8882890161120b565b969995985093965092949392505050565b60208082526012908201527110dbdb9d1c9858dd081a5cc81b1bd8dad95960721b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6001600160401b03818116838216019080821115611331576113316112fb565b5092915050565b634e487b7160e01b600052603260045260246000fd5b81810381811115610ff157610ff16112fb565b6001600160401b0393841681529190921660208201526001600160a01b03909116604082015260600190565b60ff8281168282160390811115610ff157610ff16112fb565b600060ff821660ff81036113bc576113bc6112fb565b60010192915050565b6000602082840312156113d757600080fd5b813560ff81168114610a6657600080fd5b6000600182016113fa576113fa6112fb565b5060010190565b80820180821115610ff157610ff16112fb565b60006020828403121561142657600080fd5b81356001600160a01b0381168114610a6657600080fd5b8082028115828204841417610ff157610ff16112fb565b6000825160005b81811015611475576020818601810151858301520161145b565b506000920191825250919050565b60006020828403121561149557600080fd5b505191905056fea2646970667358221220e02d47f2295ab4356fd494c7d31cea4076fca2f8f702a5ccedfac1b69565502464736f6c63430008120033", + "0xnode1": { + "balance": "10000000000000000000000000" + }, + "0xnode2": { + "balance": "100000000000000000000" + }, + "0xnode3": { + "balance": "100000000000000000000" + }, + "0xnode4": { + "balance": "100000000000000000000" + }, + "0xnode5": { + "balance": "100000000000000000000" + }, + "0xnode6": { + "balance": "100000000000000000000" + }, + "0xnode7": { + "balance": "100000000000000000000" + }, + "0x1212000000000000000000000000000000000000": { + "balance": "0", + "code": "0x6080604052600436106100345760003560e01c8063701b70ac1461003957806389dc5c841461006e5780639623609d146100a2575b600080fd5b34801561004557600080fd5b5061005961005436600461053f565b6100b7565b60405190151581526020015b60405180910390f35b34801561007a57600080fd5b5061008a600361090960911b0181565b6040516001600160a01b039091168152602001610065565b6100b56100b03660046105aa565b610184565b005b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610100573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101289190810190610664565b905060005b815181101561017a5781818151811061014857610148610716565b60200260200101516001600160a01b0316846001600160a01b031603610172575060019392505050565b60010161012d565b5060009392505050565b7fe739b9109d83c1c6d0d640fe9ed476fc5862a6de5483b00678a3fffa7a2be2f68383836040516020016101ba93929190610772565b604051602081830303815290604052805190602001206101d9336100b7565b6102155760405162461bcd60e51b81526020600482015260096024820152682737ba1026b4b732b960b91b604482015260640160405180910390fd5b61021f82826102e0565b610229828261033e565b156102d95760405163278f794360e11b81526001600160a01b03861690634f1ef28690349061025e90889088906004016107a7565b6000604051808303818588803b15801561027757600080fd5b505af115801561028b573d6000803e3d6000fd5b505060408051868152602081018690527ff5aa3d6492eaf1a4d6787c5bd36e8ec61c245d4af2fd1fd387e387a50de9f8c594500191506102c89050565b60405180910390a16102d982610450565b5050505050565b6000828152602081815260408083203380855290835292819020849055805192835290820184905281018290527f61699483e2a58589628399a22e34da872b583143ab99b3245ba6dacf4974d2e39060600160405180910390a15050565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610387573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103af9190810190610664565b90506000805b8251811015610429578460008088815260200190815260200160002060008584815181106103e5576103e5610716565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205403610421578161041d816107e9565b9250505b6001016103b5565b5060028251600161043a9190610802565b6104449190610815565b11159150505b92915050565b6000600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610498573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104c09190810190610664565b905060005b81518110156105225760008084815260200190815260200160002060008383815181106104f4576104f4610716565b6020908102919091018101516001600160a01b031682528101919091526040016000908120556001016104c5565b505050565b6001600160a01b038116811461053c57600080fd5b50565b60006020828403121561055157600080fd5b813561055c81610527565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156105a2576105a2610563565b604052919050565b6000806000606084860312156105bf57600080fd5b83356105ca81610527565b92506020848101356105db81610527565b9250604085013567ffffffffffffffff808211156105f857600080fd5b818701915087601f83011261060c57600080fd5b81358181111561061e5761061e610563565b610630601f8201601f19168501610579565b9150808252888482850101111561064657600080fd5b80848401858401376000848284010152508093505050509250925092565b6000602080838503121561067757600080fd5b825167ffffffffffffffff8082111561068f57600080fd5b818501915085601f8301126106a357600080fd5b8151818111156106b5576106b5610563565b8060051b91506106c6848301610579565b81815291830184019184810190888411156106e057600080fd5b938501935b8385101561070a57845192506106fa83610527565b82825293850193908501906106e5565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b6000815180845260005b8181101561075257602081850181015186830182015201610736565b506000602082860101526020601f19601f83011685010191505092915050565b6001600160a01b0384811682528316602082015260606040820181905260009061079e9083018461072c565b95945050505050565b6001600160a01b03831681526040602082018190526000906107cb9083018461072c565b949350505050565b634e487b7160e01b600052601160045260246000fd5b6000600182016107fb576107fb6107d3565b5060010190565b8082018082111561044a5761044a6107d3565b60008261083257634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212209e61d38d47b2583b6176290ca9691082e36c167c502217e5f59481c644e946dc64736f6c63430008180033" + }, + "0x1212000000000000000000000000000000000001": { + "balance": "0", + "code": "0x6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea2646970667358221220965379b4e29f73cf2ee1957914dc167d4751357fc5df24ccd8586bd4bf9b47e964736f6c63430008180033", "storage": { - "0x0000000000000000000000000000000000000000000000000000000000000005": "0x0f467b64b0f970e63994fe8a120410151cc094db", - "0x0000000000000000000000000000000000000000000000000000000000000000": "0x07", - "0x0000000000000000000000000000000000000000000000000000000000000004": "0xbb03c5030cac72e290ae185a8b9b375c58f7a9a6", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e567": "0x97fb9c893c19da2672dbd790ac9fc406f138584b", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e569": "0x394831b50e496a4e85c97acdbd7943802d897c34", - "0x0000000000000000000000000000000000000000000000000000000000000003": "0x640500000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000006": "0xe7715472792d680ab4c5837e2131264a6153c89d", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563": "0xf82cf7e2b899a57d22653a6a742c0c60523d6a61", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e568": "0xb93ce875656d56935da316b27860b0fc7b60435a", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e565": "0x58e479a056df6d54600b4e02b8eb6390bcd8a550", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e566": "0x3a6eabc45ac029ccfaf49d54593a996f638e7cf7", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e564": "0xb42fbb03f30424aa903022269fcd62eabbdfcfae" + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x01", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x07", + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x0de0b6b3a7640000", + "0x0000000000000000000000000000000000000000000000000000000000000003": "0x027b46536c66c8e3000000", + "0x0000000000000000000000000000000000000000000000000000000000000004": "0x3635c9adc5dea00000", + "0x0000000000000000000000000000000000000000000000000000000000000005": "0x1e", + "0x0000000000000000000000000000000000000000000000000000000000000010": "0x07", + "0x0000000000000000000000000000000000000000000000000000000000000011": "0x07", + "0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c68": "0xnode1", + "0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c69": "0xnode2", + "0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6a": "0xnode3", + "0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6b": "0xnode4", + "0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6c": "0xnode5", + "0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6d": "0xnode6", + "0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6e": "0xnode7", + "0x1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae672": "0xnode1", + "0x1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae673": "0xnode2", + "0x1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae674": "0xnode3", + "0x1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae675": "0xnode4", + "0x1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae676": "0xnode5", + "0x1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae677": "0xnode6", + "0x1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae678": "0xnode7", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x1212100000000000000000000000000000000001" } + }, + "0x1212000000000000000000000000000000000002": { + "balance": "0", + "code": "0x6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea2646970667358221220965379b4e29f73cf2ee1957914dc167d4751357fc5df24ccd8586bd4bf9b47e964736f6c63430008180033", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x989680", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x1212100000000000000000000000000000000002" + } + }, + "0x1212000000000000000000000000000000000003": { + "balance": "0", + "code": "0x6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea2646970667358221220965379b4e29f73cf2ee1957914dc167d4751357fc5df24ccd8586bd4bf9b47e964736f6c63430008180033", + "storage": { + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x1212100000000000000000000000000000000003" + } + }, + "0x1212100000000000000000000000000000000001": { + "balance": "0", + "code": "0x60806040526004361061021e5760003560e01c8063786255f111610123578063a6580de8116100ab578063d8ce95ab1161006f578063d8ce95ab146108ee578063da0b33171461091b578063db069ba514610948578063f13c03af14610975578063f4bbb82f1461098e57600080fd5b8063a6580de814610854578063a681dfec1461086a578063ad3cb1cc1461087f578063b88a802f146108bd578063ce4b5bbe146108d257600080fd5b8063902bdc26116100f2578063902bdc26146107b45780639690293b146107e157806398ca58df146107f65780639f9d7f8114610823578063a5257a1d1461083857600080fd5b8063786255f11461071e57806384ccebc9146107565780638e1900a8146107715780638f1b32191461079e57600080fd5b80634d21e426116101a6578063611905331161017557806361190533146106805780636900cad8146106955780636db504e7146106b55780636dd7d8ea146106eb57806373c7fbe9146106fe57600080fd5b80634d21e426146106155780634f1ef286146106425780634ff0876a1461065557806352d1902d1461066b57600080fd5b80630ea6a041116101ed5780630ea6a041146105685780631f26f256146105a057806326bd0c4e146105b657806343c14b22146105d35780634c569c25146105e857600080fd5b806303f187ea146104f457806306a49fce1461051d5780630b2a85ea1461053f5780630d15fd771461055257600080fd5b366104ef5761022b6109a4565b33600361090960911b011461027f5760405162461bcd60e51b81526020600482015260156024820152741cda59194818d85b1b081b9bdd08185b1b1bddd959605a1b60448201526064015b60405180910390fd5b600060108054806020026020016040519081016040528092919081815260200182805480156102d757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116102b9575b505083519394506000925050505b818110156104e057600c6000848381518110610303576103036121a5565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205460001461044657600c6000848381518110610349576103496121a5565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020546103e8600154670de0b6b3a764000060086000888781518110610397576103976121a5565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054346103cb91906121d1565b6103d591906121d1565b6103df91906121fe565b6103e991906121fe565b6103f391906121fe565b60126000858481518110610409576104096121a5565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546104409190612212565b90915550505b6104d883828151811061045b5761045b6121a5565b60200260200101516103e86001546008600088878151811061047f5761047f6121a5565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020546103e86104b59190612225565b6104bf90346121d1565b6104c991906121fe565b6104d391906121fe565b6109ce565b6001016102e5565b5050506104ed6001600055565b005b600080fd5b34801561050057600080fd5b5061050a60045481565b6040519081526020015b60405180910390f35b34801561052957600080fd5b50610532610a9c565b6040516105149190612238565b6104ed61054d366004612285565b610aad565b34801561055e57600080fd5b5061050a600b5481565b34801561057457600080fd5b50610588610583366004612285565b610c6f565b6040516001600160a01b039091168152602001610514565b3480156105ac57600080fd5b5061050a600f5481565b3480156105c257600080fd5b50610588600162012121608c1b0181565b3480156105df57600080fd5b506104ed610c99565b3480156105f457600080fd5b5061050a6106033660046122ba565b60126020526000908152604090205481565b34801561062157600080fd5b5061050a6106303660046122ba565b600a6020526000908152604090205481565b6104ed6106503660046122eb565b610e11565b34801561066157600080fd5b5061050a60055481565b34801561067757600080fd5b5061050a610e30565b34801561068c57600080fd5b506104ed610e4d565b3480156106a157600080fd5b506105886106b0366004612285565b610f56565b3480156106c157600080fd5b506105886106d03660046122ba565b600d602052600090815260409020546001600160a01b031681565b6104ed6106f93660046122ba565b610f66565b34801561070a57600080fd5b5061050a6107193660046122ba565b6111da565b34801561072a57600080fd5b5061050a6107393660046123ad565b601560209081526000928352604080842090915290825290205481565b34801561076257600080fd5b506105886002600160a01b0381565b34801561077d57600080fd5b5061050a61078c3660046122ba565b60136020526000908152604090205481565b3480156107aa57600080fd5b5061050a60025481565b3480156107c057600080fd5b5061050a6107cf3660046122ba565b60086020526000908152604090205481565b3480156107ed57600080fd5b506104ed611216565b34801561080257600080fd5b5061050a6108113660046122ba565b60146020526000908152604090205481565b34801561082f57600080fd5b506105326112b8565b34801561084457600080fd5b50610588600361090960911b0181565b34801561086057600080fd5b5061050a60015481565b34801561087657600080fd5b506104ed61131a565b34801561088b57600080fd5b506108b0604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161051491906123fb565b3480156108c957600080fd5b506104ed61152b565b3480156108de57600080fd5b5061050a670de0b6b3a764000081565b3480156108fa57600080fd5b5061050a6109093660046122ba565b600c6020526000908152604090205481565b34801561092757600080fd5b5061050a6109363660046122ba565b60096020526000908152604090205481565b34801561095457600080fd5b5061050a6109633660046122ba565b600e6020526000908152604090205481565b34801561098157600080fd5b5061058861090960911b81565b34801561099a57600080fd5b5061050a60035481565b6002600054036109c757604051633ee5aeb560e01b815260040160405180910390fd5b6002600055565b604080516000808252602082019092526001600160a01b0384169083906040516109f8919061242e565b60006040518083038185875af1925050503d8060008114610a35576040519150601f19603f3d011682016040523d82523d6000602084013e610a3a565b606091505b5050905080610a975760405162461bcd60e51b8152602060048201526024808201527f736166655472616e736665724554483a20455448207472616e736665722066616044820152631a5b195960e21b6064820152608401610276565b505050565b6060610aa860066115b7565b905090565b323314610aed5760405162461bcd60e51b815260206004820152600e60248201526d6f6e6c7920616c6c6f7720454f4160901b6044820152606401610276565b600454341015610b355760405162461bcd60e51b81526020600482015260136024820152721a5b9cdd59999a58da595b9d08185b5bdd5b9d606a1b6044820152606401610276565b6103e88110610b755760405162461bcd60e51b815260206004820152600c60248201526b696e76616c6964207261746560a01b6044820152606401610276565b610b806006336115c4565b15610bc05760405162461bcd60e51b815260206004820152601060248201526f63616e6469646174652065786973747360801b6044820152606401610276565b3360009081526009602052604090205415610c105760405162461bcd60e51b815260206004820152601060248201526f1b19599d081b9bdd0818db185a5b595960821b6044820152606401610276565b610c1b6006336115eb565b50336000818152600860209081526040808320859055600a82529182902034905590519182527feeda149c76076b34d4b9d8896c2f7efc0d33d1c7b53ea3c5db490d64613f603a910160405180910390a150565b60108181548110610c7f57600080fd5b6000918252602090912001546001600160a01b0316905081565b610ca16109a4565b336000908152600d6020908152604080832054600e909252909120546001600160a01b03909116908115801590610cd85750600081115b610d195760405162461bcd60e51b81526020600482015260126024820152711c995d9bdad9481b9bdd08185b1b1bddd95960721b6044820152606401610276565b6000610d253384611600565b6001600160a01b0384166000908152600c6020526040812080549293508492909190610d52908490612225565b9250508190555081600b6000828254610d6b9190612225565b9091555050336000818152600d6020908152604080832080546001600160a01b0319169055600e825280832083905560138252808320839055601482528083209290925581519283526001600160a01b0386169083015281018390527fb698e31a2abee5824d0d7bcfd2339aead7f9e9ae413fba50bf554ff3fa470b7b9060600160405180910390a1610e02336104d38385612212565b505050610e0f6001600055565b565b610e1961167b565b610e22826116e0565b610e2c8282611720565b5050565b6000610e3a6117dd565b5060008051602061252983398151915290565b610e556109a4565b3360009081526009602052604090205415801590610e995750600554610e7c9060026121d1565b33600090815260096020526040902054610e969190612212565b43115b610edc5760405162461bcd60e51b81526020600482015260146024820152731dda5d1a191c985dc81b9bdd08185b1b1bddd95960621b6044820152606401610276565b336000818152600a60209081526040808320805490849055600983528184208490556008835281842093909355805193845290830182905290917f142e26dcca50281d2c46d90446bfc1c9bc260cef355ce917a52f1fec7c54b5bf910160405180910390a1610f4b33826109ce565b50610e0f6001600055565b60118181548110610c7f57600080fd5b610f6e6109a4565b600254341015610fb65760405162461bcd60e51b81526020600482015260136024820152721a5b9cdd59999a58da595b9d08185b5bdd5b9d606a1b6044820152606401610276565b610fc16006826115c4565b6110055760405162461bcd60e51b815260206004820152601560248201527418d85b991a59185d19481b9bdd08185b1b1bddd959605a1b6044820152606401610276565b336000908152600d60205260409020546001600160a01b0390811690821681148061103757506001600160a01b038116155b6110835760405162461bcd60e51b815260206004820152601a60248201527f6f6e6c79206f6e652063686f69636520697320616c6c6f7765640000000000006044820152606401610276565b60006001600160a01b038216156110a55761109e3383611600565b90506110e9565b336000818152600d6020908152604080832080546001600160a01b0319166001600160a01b0389169081179091558352601282528083205493835260139091529020555b336000908152600e602052604081208054349290611108908490612212565b90915550506001600160a01b0383166000908152600c602052604081208054349290611135908490612212565b9250508190555034600b600082825461114e9190612212565b90915550506001600160a01b038216611174573360009081526014602052604090204390555b604080513381526001600160a01b0385166020820152348183015290517f66a9138482c99e9baf08860110ef332cc0c23b4a199a53593d8db0fc8f96fbfc9181900360600190a180156111cb576111cb33826109ce565b50506111d76001600055565b50565b6001600160a01b038082166000908152600d6020526040812054909116806112055750600092915050565b61120f8382611806565b9392505050565b6112216006336115c4565b6112645760405162461bcd60e51b815260206004820152601460248201527363616e646964617465206e6f742065786973747360601b6044820152606401610276565b61126f6006336118eb565b503360008181526009602090815260409182902043905590519182527f7c79e6e24ed041d1072d54523b53956f01b91b835f0490856370594d9d14470e910160405180910390a1565b6060601080548060200260200160405190810160405280929190818152602001828054801561131057602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116112f2575b5050505050905090565b336002600160a01b03146113685760405162461bcd60e51b81526020600482015260156024820152741cda59194818d85b1b081b9bdd08185b1b1bddd959605a1b6044820152606401610276565b600361090960911b016001600160a01b0316633ccfd60b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156113ab57600080fd5b505af11580156113bf573d6000803e3d6000fd5b50505050600554600f546113d39190612212565b4310156113dc57565b43600f5560006113ec60066115b7565b805190915060005b818110156114a25760126000848381518110611412576114126121a5565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205460156000858481518110611451576114516121a5565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006005544361148991906121fe565b81526020810191909152604001600020556001016113f4565b506001548110806114b65750600354600b54105b156114d157601180546114cb916010916120eb565b506114ef565b6114d9611900565b80516114ed9160109160209091019061213b565b505b7fe59e3b36b5c97b419925b60c92f5a4324c993934eb9cfe5232def67c1739337c601060405161151f919061244a565b60405180910390a15050565b6115336109a4565b336000908152600d60205260409020546001600160a01b03168061158d5760405162461bcd60e51b815260206004820152601160248201527018db185a5b481b9bdd08185b1b1bddd959607a1b6044820152606401610276565b60006115993383611600565b905080156115ab576115ab33826109ce565b5050610e0f6001600055565b6060600061120f83611a80565b6001600160a01b038116600090815260018301602052604081205415155b90505b92915050565b60006115e2836001600160a01b038416611adc565b60008061160d8484611806565b6001600160a01b03848116600090815260126020908152604080832054938916808452601383529281902093909355825191825281018390529192507fbeceb521ccd2816457290c3d1cb70cc1537f14307f2d9ac26a5093a38ea40948910160405180910390a19392505050565b30600162012121608c1b0114806116c25750600162012121608c1b016116b6600080516020612529833981519152546001600160a01b031690565b6001600160a01b031614155b15610e0f5760405163703e46dd60e11b815260040160405180910390fd5b3361090960911b146111d75760405162461bcd60e51b81526020600482015260096024820152683737ba1030b236b4b760b91b6044820152606401610276565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561177a575060408051601f3d908101601f191682019092526117779181019061248e565b60015b6117a257604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610276565b60008051602061252983398151915281146117d357604051632a87526960e21b815260048101829052602401610276565b610a978383611b2b565b30600162012121608c1b0114610e0f5760405163703e46dd60e11b815260040160405180910390fd5b6001600160a01b03808316600090815260146020908152604080832054601383528184205494861684526012909252822054600f5492939192831061185157600093505050506115e5565b6001600160a01b0385166000908152601560205260408120600554829061187890876121fe565b611883906001612212565b8152602001908152602001600020549050828111156118a0578092505b670de0b6b3a76400006118b38484612225565b6001600160a01b0389166000908152600e60205260409020546118d691906121d1565b6118e091906121fe565b979650505050505050565b60006115e2836001600160a01b038416611b81565b6060600061190c610a9c565b805190915060008167ffffffffffffffff81111561192c5761192c6122d5565b604051908082528060200260200182016040528015611955578160200160208202803683370190505b50905060005b828110156119c757600c6000858381518110611979576119796121a5565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020548282815181106119b4576119b46121a5565b602090810291909101015260010161195b565b506119d58382600154611c7b565b600060015467ffffffffffffffff8111156119f2576119f26122d5565b604051908082528060200260200182016040528015611a1b578160200160208202803683370190505b50905060005b600154811015611a7757848181518110611a3d57611a3d6121a5565b6020026020010151828281518110611a5757611a576121a5565b6001600160a01b0390921660209283029190910190910152600101611a21565b50949350505050565b606081600001805480602002602001604051908101604052809291908181526020018280548015611ad057602002820191906000526020600020905b815481526020019060010190808311611abc575b50505050509050919050565b6000818152600183016020526040812054611b23575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556115e5565b5060006115e5565b611b3482611da7565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611b7957610a978282611e0c565b610e2c611e82565b60008181526001830160205260408120548015611c6a576000611ba5600183612225565b8554909150600090611bb990600190612225565b9050808214611c1e576000866000018281548110611bd957611bd96121a5565b9060005260206000200154905080876000018481548110611bfc57611bfc6121a5565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611c2f57611c2f6124a7565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506115e5565b60009150506115e5565b5092915050565b825160006001611c8c6002856124bd565b611c9691906124eb565b90505b60008112611cbf57611cad85858386611ea1565b80611cb78161250b565b915050611c99565b50815b81811015611da05783600081518110611cdd57611cdd6121a5565b6020026020010151848281518110611cf757611cf76121a5565b60200260200101511115611d9857838181518110611d1757611d176121a5565b602002602001015184600081518110611d3257611d326121a5565b602002602001018181525050848181518110611d5057611d506121a5565b602002602001015185600081518110611d6b57611d6b6121a5565b60200260200101906001600160a01b031690816001600160a01b031681525050611d988585600086611ea1565b600101611cc2565b5050505050565b806001600160a01b03163b600003611ddd57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610276565b60008051602061252983398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611e29919061242e565b600060405180830381855af49150503d8060008114611e64576040519150601f19603f3d011682016040523d82523d6000602084013e611e69565b606091505b5091509150611e7985838361206d565b95945050505050565b3415610e0f5760405163b398979f60e01b815260040160405180910390fd5b6000611eae8360026121d1565b611eb9906001612212565b90505b81811015611da05781611ed0826001612212565b108015611f18575083611ee4826001612212565b81518110611ef457611ef46121a5565b6020026020010151848281518110611f0e57611f0e6121a5565b6020026020010151115b15611f2b57611f28600182612212565b90505b838381518110611f3d57611f3d6121a5565b6020026020010151848281518110611f5757611f576121a5565b602002602001015111611da057838381518110611f7657611f766121a5565b6020026020010151848281518110611f9057611f906121a5565b6020026020010151858381518110611faa57611faa6121a5565b60200260200101868681518110611fc357611fc36121a5565b6020026020010182815250828152505050848381518110611fe657611fe66121a5565b6020026020010151858281518110612000576120006121a5565b602002602001015186838151811061201a5761201a6121a5565b60200260200101878681518110612033576120336121a5565b6001600160a01b0393841660209182029290920101529116905291508161205b8160026121d1565b612066906001612212565b9050611ebc565b6060826120825761207d826120c2565b61120f565b815115801561209957506001600160a01b0384163b155b15611c7457604051639996b31560e01b81526001600160a01b0385166004820152602401610276565b8051156120d25780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b82805482825590600052602060002090810192821561212b5760005260206000209182015b8281111561212b578254825591600101919060010190612110565b50612137929150612190565b5090565b82805482825590600052602060002090810192821561212b579160200282015b8281111561212b57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019061215b565b5b808211156121375760008155600101612191565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176115e5576115e56121bb565b634e487b7160e01b600052601260045260246000fd5b60008261220d5761220d6121e8565b500490565b808201808211156115e5576115e56121bb565b818103818111156115e5576115e56121bb565b6020808252825182820181905260009190848201906040850190845b818110156122795783516001600160a01b031683529284019291840191600101612254565b50909695505050505050565b60006020828403121561229757600080fd5b5035919050565b80356001600160a01b03811681146122b557600080fd5b919050565b6000602082840312156122cc57600080fd5b6115e28261229e565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156122fe57600080fd5b6123078361229e565b9150602083013567ffffffffffffffff8082111561232457600080fd5b818501915085601f83011261233857600080fd5b81358181111561234a5761234a6122d5565b604051601f8201601f19908116603f01168101908382118183101715612372576123726122d5565b8160405282815288602084870101111561238b57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600080604083850312156123c057600080fd5b6123c98361229e565b946020939093013593505050565b60005b838110156123f25781810151838201526020016123da565b50506000910152565b602081526000825180602084015261241a8160408501602087016123d7565b601f01601f19169190910160400192915050565b600082516124408184602087016123d7565b9190910192915050565b6020808252825482820181905260008481528281209092916040850190845b818110156122795783546001600160a01b031683526001938401939285019201612469565b6000602082840312156124a057600080fd5b5051919050565b634e487b7160e01b600052603160045260246000fd5b6000826124cc576124cc6121e8565b600160ff1b8214600019841416156124e6576124e66121bb565b500590565b8181036000831280158383131683831282161715611c7457611c746121bb565b6000600160ff1b8201612520576125206121bb565b50600019019056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220b015f0f58d95238a34a124b1f2a432eacd9551b6263a31392fc3f3ee94eb6dc564736f6c63430008180033" + }, + "0x1212100000000000000000000000000000000002": { + "balance": "0", + "code": "0x6080604052600436106100a75760003560e01c806390ac18661161006457806390ac18661461018a578063ad3cb1cc146101aa578063d96ed505146101e8578063e47d6060146101fe578063e4997dc51461022e578063f13c03af1461024e57600080fd5b80630ecb93c0146100ac57806326bd0c4e146100ce5780634f1ef2861461010857806352d1902d1461011b578063701b70ac1461013e57806389dc5c841461016e575b600080fd5b3480156100b857600080fd5b506100cc6100c7366004610d37565b610267565b005b3480156100da57600080fd5b506100eb600262012121608c1b0181565b6040516001600160a01b0390911681526020015b60405180910390f35b6100cc610116366004610d9b565b610406565b34801561012757600080fd5b50610130610425565b6040519081526020016100ff565b34801561014a57600080fd5b5061015e610159366004610d37565b610442565b60405190151581526020016100ff565b34801561017a57600080fd5b506100eb600361090960911b0181565b34801561019657600080fd5b506100cc6101a5366004610e43565b61050f565b3480156101b657600080fd5b506101db604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100ff9190610e80565b3480156101f457600080fd5b5061013060015481565b34801561020a57600080fd5b5061015e610219366004610d37565b60026020526000908152604090205460ff1681565b34801561023a57600080fd5b506100cc610249366004610d37565b610631565b34801561025a57600080fd5b506100eb61090960911b81565b604080516001600160a01b03831660208201527f4912b57f7ea75243ecaff76a75bdedbc13a6f58c1c967b0427b8aee0a276309e9101604051602081830303815290604052805190602001206102bc33610442565b6102e15760405162461bcd60e51b81526004016102d890610eb3565b60405180910390fd5b6102eb8282610778565b6102f582826107d6565b6102fe57505050565b6001600160a01b03831660009081526002602052604090205460ff16156103675760405162461bcd60e51b815260206004820181905260248201527f506f6c6963793a20426c61636b6c69737420616c72656164792065786973747360448201526064016102d8565b6001600160a01b038316600081815260026020908152604091829020805460ff1916600117905590519182527ff9dfc5050bb4c9b200f093a995458a80fb19943585b189fe5d317391abdc764591015b60405180910390a160408051838152602081018390527ff5aa3d6492eaf1a4d6787c5bd36e8ec61c245d4af2fd1fd387e387a50de9f8c5910160405180910390a1610401826108e8565b505050565b61040e6109ba565b61041782610a21565b6104218282610a64565b5050565b600061042f610b21565b5060008051602061103883398151915290565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561048b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104b39190810190610ed6565b905060005b8151811015610505578181815181106104d3576104d3610f88565b60200260200101516001600160a01b0316846001600160a01b0316036104fd575060019392505050565b6001016104b8565b5060009392505050565b7f0d48c1723f9a97946a942509ee525d5449a8f1d6460432fc2b267126c5cb1bce8160405160200161054391815260200190565b6040516020818303038152906040528051906020012061056233610442565b61057e5760405162461bcd60e51b81526004016102d890610eb3565b6105888282610778565b61059282826107d6565b61059b57505050565b600083116105fc5760405162461bcd60e51b815260206004820152602860248201527f506f6c6963793a207365744d696e476173507269636520696e76616c6964207060448201526730b930b6b2ba32b960c11b60648201526084016102d8565b60018390556040518381527f707bb10a9a561bf00f6acc0b0231a12146dc98352b4e8c8deb55e141ace32890906020016103b7565b604080516001600160a01b03831660208201527f310cc9bfce6443143f03d0cdc4d66afa0b3c689539eb3e65cb1820b56d67246591016040516020818303038152906040528051906020012061068633610442565b6106a25760405162461bcd60e51b81526004016102d890610eb3565b6106ac8282610778565b6106b682826107d6565b6106bf57505050565b6001600160a01b03831660009081526002602052604090205460ff166107275760405162461bcd60e51b815260206004820181905260248201527f506f6c6963793a20426c61636b6c69737420646f6573206e6f7420657869737460448201526064016102d8565b6001600160a01b038316600081815260026020908152604091829020805460ff1916905590519182527f2234edb6f393cd207251f6579b5852192c144c4c12b9cc32e80539ef12faed3f91016103b7565b6000828152602081815260408083203380855290835292819020849055805192835290820184905281018290527f61699483e2a58589628399a22e34da872b583143ab99b3245ba6dacf4974d2e39060600160405180910390a15050565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561081f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108479190810190610ed6565b90506000805b82518110156108c15784600080888152602001908152602001600020600085848151811061087d5761087d610f88565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054036108b957816108b581610fb4565b9250505b60010161084d565b506002825160016108d29190610fcd565b6108dc9190610fe0565b11159150505b92915050565b6000600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610930573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109589190810190610ed6565b905060005b815181101561040157600080848152602001908152602001600020600083838151811061098c5761098c610f88565b6020908102919091018101516001600160a01b0316825281019190915260400160009081205560010161095d565b30600262012121608c1b011480610a015750600262012121608c1b016109f5600080516020611038833981519152546001600160a01b031690565b6001600160a01b031614155b15610a1f5760405163703e46dd60e11b815260040160405180910390fd5b565b3361090960911b14610a615760405162461bcd60e51b81526020600482015260096024820152683737ba1030b236b4b760b91b60448201526064016102d8565b50565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610abe575060408051601f3d908101601f19168201909252610abb91810190611002565b60015b610ae657604051634c9c8ce360e01b81526001600160a01b03831660048201526024016102d8565b6000805160206110388339815191528114610b1757604051632a87526960e21b8152600481018290526024016102d8565b6104018383610b4a565b30600262012121608c1b0114610a1f5760405163703e46dd60e11b815260040160405180910390fd5b610b5382610ba0565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610b98576104018282610c05565b610421610c7b565b806001600160a01b03163b600003610bd657604051634c9c8ce360e01b81526001600160a01b03821660048201526024016102d8565b60008051602061103883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610c22919061101b565b600060405180830381855af49150503d8060008114610c5d576040519150601f19603f3d011682016040523d82523d6000602084013e610c62565b606091505b5091509150610c72858383610c9a565b95945050505050565b3415610a1f5760405163b398979f60e01b815260040160405180910390fd5b606082610caf57610caa82610cf9565b610cf2565b8151158015610cc657506001600160a01b0384163b155b15610cef57604051639996b31560e01b81526001600160a01b03851660048201526024016102d8565b50805b9392505050565b805115610d095780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6001600160a01b0381168114610a6157600080fd5b600060208284031215610d4957600080fd5b8135610cf281610d22565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610d9357610d93610d54565b604052919050565b60008060408385031215610dae57600080fd5b8235610db981610d22565b915060208381013567ffffffffffffffff80821115610dd757600080fd5b818601915086601f830112610deb57600080fd5b813581811115610dfd57610dfd610d54565b610e0f601f8201601f19168501610d6a565b91508082528784828501011115610e2557600080fd5b80848401858401376000848284010152508093505050509250929050565b600060208284031215610e5557600080fd5b5035919050565b60005b83811015610e77578181015183820152602001610e5f565b50506000910152565b6020815260008251806020840152610e9f816040850160208701610e5c565b601f01601f19169190910160400192915050565b6020808252600990820152683737ba1026b4b732b960b91b604082015260600190565b60006020808385031215610ee957600080fd5b825167ffffffffffffffff80821115610f0157600080fd5b818501915085601f830112610f1557600080fd5b815181811115610f2757610f27610d54565b8060051b9150610f38848301610d6a565b8181529183018401918481019088841115610f5257600080fd5b938501935b83851015610f7c5784519250610f6c83610d22565b8282529385019390850190610f57565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201610fc657610fc6610f9e565b5060010190565b808201808211156108e2576108e2610f9e565b600082610ffd57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561101457600080fd5b5051919050565b6000825161102d818460208701610e5c565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122080dc9c63474cff6584c343a283076a4aa9dce3cd3153430acf1110c38cf73d7a64736f6c63430008180033" + }, + "0x1212100000000000000000000000000000000003": { + "balance": "0", + "code": "0x60806040526004361061007f5760003560e01c80634f1ef2861161004e5780634f1ef2861461011e57806352d1902d14610131578063ad3cb1cc14610154578063f13c03af1461019257600080fd5b80631633da6e1461008b578063180cb47f146100b657806326bd0c4e146100ea5780633ccfd60b1461010757600080fd5b3661008657005b600080fd5b34801561009757600080fd5b506100a06101ab565b6040516100ad91906106f7565b60405180910390f35b3480156100c257600080fd5b506100d2600161090960911b0181565b6040516001600160a01b0390911681526020016100ad565b3480156100f657600080fd5b506100d2600362012121608c1b0181565b34801561011357600080fd5b5061011c610220565b005b61011c61012c3660046107a0565b610287565b34801561013d57600080fd5b506101466102a6565b6040519081526020016100ad565b34801561016057600080fd5b50610185604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100ad919061086c565b34801561019e57600080fd5b506100d261090960911b81565b6060600161090960911b016001600160a01b0316639f9d7f816040518163ffffffff1660e01b8152600401600060405180830381865afa1580156101f3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261021b919081019061089f565b905090565b33600161090960911b011461026d5760405162461bcd60e51b815260206004820152600e60248201526d6e6f7420676f7665726e616e636560901b60448201526064015b60405180910390fd5b471561028557610285600161090960911b01476102c3565b565b61028f610391565b610298826103f6565b6102a28282610439565b5050565b60006102b06104f6565b5060008051602061098783398151915290565b604080516000808252602082019092526001600160a01b0384169083906040516102ed9190610951565b60006040518083038185875af1925050503d806000811461032a576040519150601f19603f3d011682016040523d82523d6000602084013e61032f565b606091505b505090508061038c5760405162461bcd60e51b8152602060048201526024808201527f736166655472616e736665724554483a20455448207472616e736665722066616044820152631a5b195960e21b6064820152608401610264565b505050565b30600362012121608c1b0114806103d85750600362012121608c1b016103cc600080516020610987833981519152546001600160a01b031690565b6001600160a01b031614155b156102855760405163703e46dd60e11b815260040160405180910390fd5b3361090960911b146104365760405162461bcd60e51b81526020600482015260096024820152683737ba1030b236b4b760b91b6044820152606401610264565b50565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610493575060408051601f3d908101601f191682019092526104909181019061096d565b60015b6104bb57604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610264565b60008051602061098783398151915281146104ec57604051632a87526960e21b815260048101829052602401610264565b61038c838361051f565b30600362012121608c1b01146102855760405163703e46dd60e11b815260040160405180910390fd5b61052882610575565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561056d5761038c82826105da565b6102a2610650565b806001600160a01b03163b6000036105ab57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610264565b60008051602061098783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516105f79190610951565b600060405180830381855af49150503d8060008114610632576040519150601f19603f3d011682016040523d82523d6000602084013e610637565b606091505b509150915061064785838361066f565b95945050505050565b34156102855760405163b398979f60e01b815260040160405180910390fd5b6060826106845761067f826106ce565b6106c7565b815115801561069b57506001600160a01b0384163b155b156106c457604051639996b31560e01b81526001600160a01b0385166004820152602401610264565b50805b9392505050565b8051156106de5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6020808252825182820181905260009190848201906040850190845b818110156107385783516001600160a01b031683529284019291840191600101610713565b50909695505050505050565b6001600160a01b038116811461043657600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561079857610798610759565b604052919050565b600080604083850312156107b357600080fd5b82356107be81610744565b915060208381013567ffffffffffffffff808211156107dc57600080fd5b818601915086601f8301126107f057600080fd5b81358181111561080257610802610759565b610814601f8201601f1916850161076f565b9150808252878482850101111561082a57600080fd5b80848401858401376000848284010152508093505050509250929050565b60005b8381101561086357818101518382015260200161084b565b50506000910152565b602081526000825180602084015261088b816040850160208701610848565b601f01601f19169190910160400192915050565b600060208083850312156108b257600080fd5b825167ffffffffffffffff808211156108ca57600080fd5b818501915085601f8301126108de57600080fd5b8151818111156108f0576108f0610759565b8060051b915061090184830161076f565b818152918301840191848101908884111561091b57600080fd5b938501935b83851015610945578451925061093583610744565b8282529385019390850190610920565b98975050505050505050565b60008251610963818460208701610848565b9190910192915050565b60006020828403121561097f57600080fd5b505191905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220d7431b8c55135acd14277140c3e792e737dd67435ac1ab986730e38b73f30c0064736f6c63430008180033" } } -} +} \ No newline at end of file diff --git a/privnet/single/genesis_privnet.json b/privnet/single/genesis_privnet.json index 9ffbda8998..a42e2f4b0b 100644 --- a/privnet/single/genesis_privnet.json +++ b/privnet/single/genesis_privnet.json @@ -20,31 +20,65 @@ "standbyValidators": [ "0xd40110de287c8d55e72a28600630a40283e4b8aa" ], - "coinbase": "0x1212100000000000000000000000000000000001" + "coinbase": "0x1212000000000000000000000000000000000003" } }, "difficulty": "1", "gasLimit": "30000000", "alloc": { - "d40110de287c8d55e72a28600630a40283e4b8aa": { "balance": "100000000000000000000" }, - "1dfbe2df23ef8b4a787dd8506ca3400b1cd0b868": { "balance": "100000000000000000000" }, - "1212100000000000000000000000000000000004": { - "balance": "100000000000000000000000", - "code": "0x608060405234801561001057600080fd5b506004361061012c5760003560e01c8063a1fd836e116100ad578063cf30901211610071578063cf309012146102c3578063de35f5cb146102e7578063e976d431146102fa578063f83d08ba1461030b578063fec95b481461031357600080fd5b8063a1fd836e14610266578063a69df4b51461028c578063aab8ab0c14610294578063b2ca3ec4146102a7578063c34c7882146102ba57600080fd5b80637b259db4116100f45780637b259db4146101f35780638312f149146102125780638406c0791461022f5780638955fe8a1461024a5780638da5cb5b1461025357600080fd5b80630c340a2414610131578063131305e71461016157806335aa2e44146101a257806344c7e2f4146101b5578063504ad4ec146101de575b600080fd5b600554610144906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61018a61016f3660046111c9565b6008602052600090815260409020546001600160401b031681565b6040516001600160401b039091168152602001610158565b6101446101b03660046111f2565b610327565b6101446101c33660046111c9565b6007602052600090815260409020546001600160a01b031681565b6101f16101ec366004611256565b610351565b005b60035461018a906801000000000000000090046001600160401b031681565b610221670de0b6b3a764000081565b604051908152602001610158565b61014473acc85ffb71f83b9bb264f6d64541926d375a6c1d81565b61022160015481565b600454610144906001600160a01b031681565b60035461027a90600160801b900460ff1681565b60405160ff9091168152602001610158565b6101f161068f565b6101f16102a23660046111c9565b610740565b600654610144906001600160a01b031681565b61022160025481565b6003546102d790600160901b900460ff1681565b6040519015158152602001610158565b60035461018a906001600160401b031681565b61022169021e19e0c9bab240000081565b6101f161094d565b60035461027a90600160881b900460ff1681565b6000818154811061033757600080fd5b6000918252602090912001546001600160a01b0316905081565b3373acc85ffb71f83b9bb264f6d64541926d375a6c1d146103a75760405162461bcd60e51b815260206004820152600b60248201526a2737ba103932b630bcb2b960a91b60448201526064015b60405180910390fd5b600354600160901b900460ff16156103d15760405162461bcd60e51b815260040161039e906112cf565b808061041f5760405162461bcd60e51b815260206004820152601f60248201527f4174206c656173742031206465706f7369742069732072657175697265642e00604482015260640161039e565b600354600160881b900460ff1681111561047b5760405162461bcd60e51b815260206004820152601b60248201527f546f6f206d616e79206465706f736974732070726f76696465642e0000000000604482015260640161039e565b600354610492906001600160401b03166001611311565b6001600160401b0316838360008181106104ae576104ae611338565b90506060020160400160208101906104c691906111c9565b6001600160401b0316146105375760405162461bcd60e51b815260206004820152603260248201527f4f6e6c7920746865206e657874206e6f6e636520697320616c6c6f776564206960448201527137103a3432903334b939ba10383937b7b31760711b606482015260840161039e565b60035461055090849084906001600160401b03166109da565b6105b15760405162461bcd60e51b815260206004820152602c60248201527f546865206e6f6e636573206f66207468652070726f6f6673206d75737420626560448201526b1039bab139b2b8bab2b73a1760a11b606482015260840161039e565b6105bc868686610a6d565b61061e5760405162461bcd60e51b815260206004820152602d60248201527f496e76616c6964206f7220696e73756666696369656e742076616c696461746f60448201526c391039b4b3b730ba3ab932b99760991b606482015260840161039e565b828261062b60018461134e565b81811061063a5761063a611338565b905060600201604001602081019061065291906111c9565b6003805467ffffffffffffffff19166001600160401b03929092169190911790556001805490879055610686818585610cff565b50505050505050565b6005546001600160a01b031633146106d85760405162461bcd60e51b815260206004820152600c60248201526b2737ba1033b7bb32b93737b960a11b604482015260640161039e565b600354600160901b900460ff166107315760405162461bcd60e51b815260206004820152601a60248201527f436f6e747261637420697320616c7265616479206c6f636b6564000000000000604482015260640161039e565b6003805460ff60901b19169055565b600354600160901b900460ff161561076a5760405162461bcd60e51b815260040161039e906112cf565b6001600160401b0380821660009081526007602090815260408083205460089092528220546001600160a01b039091169216908190036107e15760405162461bcd60e51b81526020600482015260126024820152714e6f20636c61696d61626c652066756e647360701b604482015260640161039e565b6001600160a01b03821661082c5760405162461bcd60e51b81526020600482015260126024820152714e6f20636c61696d61626c652066756e647360701b604482015260640161039e565b6001600160401b0383166000908152600860209081526040808320805467ffffffffffffffff191690556007909152812080546001600160a01b031916905561087482610fd7565b90506000836001600160a01b03168260405160006040518083038185875af1925050503d80600081146108c3576040519150601f19603f3d011682016040523d82523d6000602084013e6108c8565b606091505b505090508061090b5760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015260640161039e565b7fc050de00ef4ba397e08c78836db608d83db9c6335bf95019597119b9536f938985848660405161093e93929190611361565b60405180910390a15050505050565b6006546001600160a01b0316331461099b5760405162461bcd60e51b8152602060048201526011602482015270139bdd081cd958dd5c9a5d1e51dd585c99607a1b604482015260640161039e565b600354600160901b900460ff16156109c55760405162461bcd60e51b815260040161039e906112cf565b6003805460ff60901b1916600160901b179055565b600060015b60ff81168410610a60576109f660ff821684611311565b6001600160401b03168585610a0c60018561138d565b60ff16818110610a1e57610a1e611338565b9050606002016040016020810190610a3691906111c9565b6001600160401b031614610a4e576000915050610a66565b80610a58816113a6565b9150506109df565b50600190505b9392505050565b600354600090600160801b900460ff168214610acb5760405162461bcd60e51b815260206004820152601d60248201527f496e76616c6964206e756d626572206f66207369676e6174757265732e000000604482015260640161039e565b600084604051602001610ae091815260200190565b60408051601f198184030181529082905280516020918201207f19457468657265756d205369676e6564204d6573736167653a0a33320000000091830191909152603c820152605c0160408051808303601f190181528282528051602090910120600580845260c0840190925292506000919081602001602082028036833701905050905060005b6005811015610c3a5736868683818110610b8457610b84611338565b6060029190910191506001905084610b9f60208401846113c5565b604080516000815260208181018084529490945260ff9092168282015291840135606082015290830135608082015260a0016020604051602081039080840390855afa158015610bf3573d6000803e3d6000fd5b50505060206040510351838381518110610c0f57610c0f611338565b6001600160a01b03909216602092830291909101909101525080610c32816113e8565b915050610b68565b5060008080805b6005811015610cef578291505b6007821015610cd05760008281548110610c6a57610c6a611338565b60009182526020909120015485516001600160a01b0390911690869083908110610c9657610c96611338565b60200260200101516001600160a01b031603610cbe5783610cb6816113e8565b945050610cd0565b81610cc8816113e8565b925050610c4e565b610cdb826001611401565b925080610ce7816113e8565b915050610c41565b5050506005149695505050505050565b828160005b81811015610d845736858583818110610d1f57610d1f611338565b90506060020190506000610d61826040016020810190610d3f91906111c9565b610d4f60408501602086016111c9565b610d5c6020860186611414565b610ff7565b9050610d6d858261109c565b945050508080610d7c906113e8565b915050610d04565b506001548214610dce5760405162461bcd60e51b815260206004820152601560248201527424b73b30b634b2103232b837b9b4ba103937b7ba1760591b604482015260640161039e565b60005b81811015610fcf5736858583818110610dec57610dec611338565b60600291909101915060009050610e066020830183611414565b90506001600160a01b0381163b610f57576000610e31610e2c60408501602086016111c9565b610fd7565b90506000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610e80576040519150601f19603f3d011682016040523d82523d6000602084013e610e85565b606091505b505090508015610eed577f2c20d394553ff35017f1f147d7e3a1ffc1caeaf1e422b5d9730fabe8c90042fe610ec060608601604087016111c9565b610ed060408701602088016111c9565b85604051610ee093929190611361565b60405180910390a1610f50565b610ef684611116565b7fb79dcd48431a0507fde36076107e606e63739e8a604f219cebe9aa0c1f17a115610f2760608601604087016111c9565b610f3760408701602088016111c9565b85604051610f4793929190611361565b60405180910390a15b5050610fba565b610f6082611116565b7fb79dcd48431a0507fde36076107e606e63739e8a604f219cebe9aa0c1f17a115610f9160608401604085016111c9565b610fa160408501602086016111c9565b83604051610fb193929190611361565b60405180910390a15b50508080610fc7906113e8565b915050610dd1565b505050505050565b6000610ff16001600160401b0383166402540be40061143d565b92915050565b6040516001600160c01b031960c085811b8216602084015284901b1660288201526bffffffffffffffffffffffff19606083901b16603082015260009060029060440160408051601f198184030181529082905261105491611454565b602060405180830381855afa158015611071573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906110949190611483565b949350505050565b6000600283836040516020016110bc929190918252602082015260400190565b60408051601f19818403018152908290526110d691611454565b602060405180830381855afa1580156110f3573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610a669190611483565b6111236020820182611414565b6007600061113760608501604086016111c9565b6001600160401b03168152602080820192909252604090810160002080546001600160a01b0319166001600160a01b0394909416939093179092556111809183019083016111c9565b6008600061119460608501604086016111c9565b6001600160401b0390811682526020820192909252604001600020805467ffffffffffffffff19169290911691909117905550565b6000602082840312156111db57600080fd5b81356001600160401b0381168114610a6657600080fd5b60006020828403121561120457600080fd5b5035919050565b60008083601f84011261121d57600080fd5b5081356001600160401b0381111561123457600080fd5b60208301915083602060608302850101111561124f57600080fd5b9250929050565b60008060008060006060868803121561126e57600080fd5b8535945060208601356001600160401b038082111561128c57600080fd5b61129889838a0161120b565b909650945060408801359150808211156112b157600080fd5b506112be8882890161120b565b969995985093965092949392505050565b60208082526012908201527110dbdb9d1c9858dd081a5cc81b1bd8dad95960721b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6001600160401b03818116838216019080821115611331576113316112fb565b5092915050565b634e487b7160e01b600052603260045260246000fd5b81810381811115610ff157610ff16112fb565b6001600160401b0393841681529190921660208201526001600160a01b03909116604082015260600190565b60ff8281168282160390811115610ff157610ff16112fb565b600060ff821660ff81036113bc576113bc6112fb565b60010192915050565b6000602082840312156113d757600080fd5b813560ff81168114610a6657600080fd5b6000600182016113fa576113fa6112fb565b5060010190565b80820180821115610ff157610ff16112fb565b60006020828403121561142657600080fd5b81356001600160a01b0381168114610a6657600080fd5b8082028115828204841417610ff157610ff16112fb565b6000825160005b81811015611475576020818601810151858301520161145b565b506000920191825250919050565b60006020828403121561149557600080fd5b505191905056fea2646970667358221220e02d47f2295ab4356fd494c7d31cea4076fca2f8f702a5ccedfac1b69565502464736f6c63430008120033", + "0xd40110de287c8d55e72a28600630a40283e4b8aa": { + "balance": "10000000000000000000000000" + }, + "1dfbe2df23ef8b4a787dd8506ca3400b1cd0b868": { + "balance": "100000000000000000000" + }, + "0x1212000000000000000000000000000000000000": { + "balance": "0", + "code": "0x6080604052600436106100345760003560e01c8063701b70ac1461003957806389dc5c841461006e5780639623609d146100a2575b600080fd5b34801561004557600080fd5b5061005961005436600461053f565b6100b7565b60405190151581526020015b60405180910390f35b34801561007a57600080fd5b5061008a600361090960911b0181565b6040516001600160a01b039091168152602001610065565b6100b56100b03660046105aa565b610184565b005b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610100573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101289190810190610664565b905060005b815181101561017a5781818151811061014857610148610716565b60200260200101516001600160a01b0316846001600160a01b031603610172575060019392505050565b60010161012d565b5060009392505050565b7fe739b9109d83c1c6d0d640fe9ed476fc5862a6de5483b00678a3fffa7a2be2f68383836040516020016101ba93929190610772565b604051602081830303815290604052805190602001206101d9336100b7565b6102155760405162461bcd60e51b81526020600482015260096024820152682737ba1026b4b732b960b91b604482015260640160405180910390fd5b61021f82826102e0565b610229828261033e565b156102d95760405163278f794360e11b81526001600160a01b03861690634f1ef28690349061025e90889088906004016107a7565b6000604051808303818588803b15801561027757600080fd5b505af115801561028b573d6000803e3d6000fd5b505060408051868152602081018690527ff5aa3d6492eaf1a4d6787c5bd36e8ec61c245d4af2fd1fd387e387a50de9f8c594500191506102c89050565b60405180910390a16102d982610450565b5050505050565b6000828152602081815260408083203380855290835292819020849055805192835290820184905281018290527f61699483e2a58589628399a22e34da872b583143ab99b3245ba6dacf4974d2e39060600160405180910390a15050565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610387573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103af9190810190610664565b90506000805b8251811015610429578460008088815260200190815260200160002060008584815181106103e5576103e5610716565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205403610421578161041d816107e9565b9250505b6001016103b5565b5060028251600161043a9190610802565b6104449190610815565b11159150505b92915050565b6000600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610498573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104c09190810190610664565b905060005b81518110156105225760008084815260200190815260200160002060008383815181106104f4576104f4610716565b6020908102919091018101516001600160a01b031682528101919091526040016000908120556001016104c5565b505050565b6001600160a01b038116811461053c57600080fd5b50565b60006020828403121561055157600080fd5b813561055c81610527565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156105a2576105a2610563565b604052919050565b6000806000606084860312156105bf57600080fd5b83356105ca81610527565b92506020848101356105db81610527565b9250604085013567ffffffffffffffff808211156105f857600080fd5b818701915087601f83011261060c57600080fd5b81358181111561061e5761061e610563565b610630601f8201601f19168501610579565b9150808252888482850101111561064657600080fd5b80848401858401376000848284010152508093505050509250925092565b6000602080838503121561067757600080fd5b825167ffffffffffffffff8082111561068f57600080fd5b818501915085601f8301126106a357600080fd5b8151818111156106b5576106b5610563565b8060051b91506106c6848301610579565b81815291830184019184810190888411156106e057600080fd5b938501935b8385101561070a57845192506106fa83610527565b82825293850193908501906106e5565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b6000815180845260005b8181101561075257602081850181015186830182015201610736565b506000602082860101526020601f19601f83011685010191505092915050565b6001600160a01b0384811682528316602082015260606040820181905260009061079e9083018461072c565b95945050505050565b6001600160a01b03831681526040602082018190526000906107cb9083018461072c565b949350505050565b634e487b7160e01b600052601160045260246000fd5b6000600182016107fb576107fb6107d3565b5060010190565b8082018082111561044a5761044a6107d3565b60008261083257634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212209e61d38d47b2583b6176290ca9691082e36c167c502217e5f59481c644e946dc64736f6c63430008180033" + }, + "0x1212000000000000000000000000000000000001": { + "balance": "0", + "code": "0x6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea2646970667358221220965379b4e29f73cf2ee1957914dc167d4751357fc5df24ccd8586bd4bf9b47e964736f6c63430008180033", "storage": { - "0x0000000000000000000000000000000000000000000000000000000000000005": "0x0f467b64b0f970e63994fe8a120410151cc094db", - "0x0000000000000000000000000000000000000000000000000000000000000000": "0x07", - "0x0000000000000000000000000000000000000000000000000000000000000004": "0xbb03c5030cac72e290ae185a8b9b375c58f7a9a6", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e567": "0x97fb9c893c19da2672dbd790ac9fc406f138584b", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e569": "0x394831b50e496a4e85c97acdbd7943802d897c34", - "0x0000000000000000000000000000000000000000000000000000000000000003": "0x640500000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000006": "0xe7715472792d680ab4c5837e2131264a6153c89d", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563": "0xf82cf7e2b899a57d22653a6a742c0c60523d6a61", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e568": "0xb93ce875656d56935da316b27860b0fc7b60435a", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e565": "0x58e479a056df6d54600b4e02b8eb6390bcd8a550", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e566": "0x3a6eabc45ac029ccfaf49d54593a996f638e7cf7", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e564": "0xb42fbb03f30424aa903022269fcd62eabbdfcfae" + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x01", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x01", + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x0de0b6b3a7640000", + "0x0000000000000000000000000000000000000000000000000000000000000003": "0x027b46536c66c8e3000000", + "0x0000000000000000000000000000000000000000000000000000000000000004": "0x3635c9adc5dea00000", + "0x0000000000000000000000000000000000000000000000000000000000000005": "0x1e", + "0x0000000000000000000000000000000000000000000000000000000000000010": "0x01", + "0x0000000000000000000000000000000000000000000000000000000000000011": "0x01", + "0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c68": "0xd40110de287c8d55e72a28600630a40283e4b8aa", + "0x1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae672": "0xd40110de287c8d55e72a28600630a40283e4b8aa", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x1212100000000000000000000000000000000001" } + }, + "0x1212000000000000000000000000000000000002": { + "balance": "0", + "code": "0x6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea2646970667358221220965379b4e29f73cf2ee1957914dc167d4751357fc5df24ccd8586bd4bf9b47e964736f6c63430008180033", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x989680", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x1212100000000000000000000000000000000002" + } + }, + "0x1212000000000000000000000000000000000003": { + "balance": "0", + "code": "0x6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea2646970667358221220965379b4e29f73cf2ee1957914dc167d4751357fc5df24ccd8586bd4bf9b47e964736f6c63430008180033", + "storage": { + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x1212100000000000000000000000000000000003" + } + }, + "0x1212100000000000000000000000000000000001": { + "balance": "0", + "code": "0x60806040526004361061021e5760003560e01c8063786255f111610123578063a6580de8116100ab578063d8ce95ab1161006f578063d8ce95ab146108ee578063da0b33171461091b578063db069ba514610948578063f13c03af14610975578063f4bbb82f1461098e57600080fd5b8063a6580de814610854578063a681dfec1461086a578063ad3cb1cc1461087f578063b88a802f146108bd578063ce4b5bbe146108d257600080fd5b8063902bdc26116100f2578063902bdc26146107b45780639690293b146107e157806398ca58df146107f65780639f9d7f8114610823578063a5257a1d1461083857600080fd5b8063786255f11461071e57806384ccebc9146107565780638e1900a8146107715780638f1b32191461079e57600080fd5b80634d21e426116101a6578063611905331161017557806361190533146106805780636900cad8146106955780636db504e7146106b55780636dd7d8ea146106eb57806373c7fbe9146106fe57600080fd5b80634d21e426146106155780634f1ef286146106425780634ff0876a1461065557806352d1902d1461066b57600080fd5b80630ea6a041116101ed5780630ea6a041146105685780631f26f256146105a057806326bd0c4e146105b657806343c14b22146105d35780634c569c25146105e857600080fd5b806303f187ea146104f457806306a49fce1461051d5780630b2a85ea1461053f5780630d15fd771461055257600080fd5b366104ef5761022b6109a4565b33600361090960911b011461027f5760405162461bcd60e51b81526020600482015260156024820152741cda59194818d85b1b081b9bdd08185b1b1bddd959605a1b60448201526064015b60405180910390fd5b600060108054806020026020016040519081016040528092919081815260200182805480156102d757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116102b9575b505083519394506000925050505b818110156104e057600c6000848381518110610303576103036121a5565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205460001461044657600c6000848381518110610349576103496121a5565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020546103e8600154670de0b6b3a764000060086000888781518110610397576103976121a5565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054346103cb91906121d1565b6103d591906121d1565b6103df91906121fe565b6103e991906121fe565b6103f391906121fe565b60126000858481518110610409576104096121a5565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546104409190612212565b90915550505b6104d883828151811061045b5761045b6121a5565b60200260200101516103e86001546008600088878151811061047f5761047f6121a5565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020546103e86104b59190612225565b6104bf90346121d1565b6104c991906121fe565b6104d391906121fe565b6109ce565b6001016102e5565b5050506104ed6001600055565b005b600080fd5b34801561050057600080fd5b5061050a60045481565b6040519081526020015b60405180910390f35b34801561052957600080fd5b50610532610a9c565b6040516105149190612238565b6104ed61054d366004612285565b610aad565b34801561055e57600080fd5b5061050a600b5481565b34801561057457600080fd5b50610588610583366004612285565b610c6f565b6040516001600160a01b039091168152602001610514565b3480156105ac57600080fd5b5061050a600f5481565b3480156105c257600080fd5b50610588600162012121608c1b0181565b3480156105df57600080fd5b506104ed610c99565b3480156105f457600080fd5b5061050a6106033660046122ba565b60126020526000908152604090205481565b34801561062157600080fd5b5061050a6106303660046122ba565b600a6020526000908152604090205481565b6104ed6106503660046122eb565b610e11565b34801561066157600080fd5b5061050a60055481565b34801561067757600080fd5b5061050a610e30565b34801561068c57600080fd5b506104ed610e4d565b3480156106a157600080fd5b506105886106b0366004612285565b610f56565b3480156106c157600080fd5b506105886106d03660046122ba565b600d602052600090815260409020546001600160a01b031681565b6104ed6106f93660046122ba565b610f66565b34801561070a57600080fd5b5061050a6107193660046122ba565b6111da565b34801561072a57600080fd5b5061050a6107393660046123ad565b601560209081526000928352604080842090915290825290205481565b34801561076257600080fd5b506105886002600160a01b0381565b34801561077d57600080fd5b5061050a61078c3660046122ba565b60136020526000908152604090205481565b3480156107aa57600080fd5b5061050a60025481565b3480156107c057600080fd5b5061050a6107cf3660046122ba565b60086020526000908152604090205481565b3480156107ed57600080fd5b506104ed611216565b34801561080257600080fd5b5061050a6108113660046122ba565b60146020526000908152604090205481565b34801561082f57600080fd5b506105326112b8565b34801561084457600080fd5b50610588600361090960911b0181565b34801561086057600080fd5b5061050a60015481565b34801561087657600080fd5b506104ed61131a565b34801561088b57600080fd5b506108b0604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161051491906123fb565b3480156108c957600080fd5b506104ed61152b565b3480156108de57600080fd5b5061050a670de0b6b3a764000081565b3480156108fa57600080fd5b5061050a6109093660046122ba565b600c6020526000908152604090205481565b34801561092757600080fd5b5061050a6109363660046122ba565b60096020526000908152604090205481565b34801561095457600080fd5b5061050a6109633660046122ba565b600e6020526000908152604090205481565b34801561098157600080fd5b5061058861090960911b81565b34801561099a57600080fd5b5061050a60035481565b6002600054036109c757604051633ee5aeb560e01b815260040160405180910390fd5b6002600055565b604080516000808252602082019092526001600160a01b0384169083906040516109f8919061242e565b60006040518083038185875af1925050503d8060008114610a35576040519150601f19603f3d011682016040523d82523d6000602084013e610a3a565b606091505b5050905080610a975760405162461bcd60e51b8152602060048201526024808201527f736166655472616e736665724554483a20455448207472616e736665722066616044820152631a5b195960e21b6064820152608401610276565b505050565b6060610aa860066115b7565b905090565b323314610aed5760405162461bcd60e51b815260206004820152600e60248201526d6f6e6c7920616c6c6f7720454f4160901b6044820152606401610276565b600454341015610b355760405162461bcd60e51b81526020600482015260136024820152721a5b9cdd59999a58da595b9d08185b5bdd5b9d606a1b6044820152606401610276565b6103e88110610b755760405162461bcd60e51b815260206004820152600c60248201526b696e76616c6964207261746560a01b6044820152606401610276565b610b806006336115c4565b15610bc05760405162461bcd60e51b815260206004820152601060248201526f63616e6469646174652065786973747360801b6044820152606401610276565b3360009081526009602052604090205415610c105760405162461bcd60e51b815260206004820152601060248201526f1b19599d081b9bdd0818db185a5b595960821b6044820152606401610276565b610c1b6006336115eb565b50336000818152600860209081526040808320859055600a82529182902034905590519182527feeda149c76076b34d4b9d8896c2f7efc0d33d1c7b53ea3c5db490d64613f603a910160405180910390a150565b60108181548110610c7f57600080fd5b6000918252602090912001546001600160a01b0316905081565b610ca16109a4565b336000908152600d6020908152604080832054600e909252909120546001600160a01b03909116908115801590610cd85750600081115b610d195760405162461bcd60e51b81526020600482015260126024820152711c995d9bdad9481b9bdd08185b1b1bddd95960721b6044820152606401610276565b6000610d253384611600565b6001600160a01b0384166000908152600c6020526040812080549293508492909190610d52908490612225565b9250508190555081600b6000828254610d6b9190612225565b9091555050336000818152600d6020908152604080832080546001600160a01b0319169055600e825280832083905560138252808320839055601482528083209290925581519283526001600160a01b0386169083015281018390527fb698e31a2abee5824d0d7bcfd2339aead7f9e9ae413fba50bf554ff3fa470b7b9060600160405180910390a1610e02336104d38385612212565b505050610e0f6001600055565b565b610e1961167b565b610e22826116e0565b610e2c8282611720565b5050565b6000610e3a6117dd565b5060008051602061252983398151915290565b610e556109a4565b3360009081526009602052604090205415801590610e995750600554610e7c9060026121d1565b33600090815260096020526040902054610e969190612212565b43115b610edc5760405162461bcd60e51b81526020600482015260146024820152731dda5d1a191c985dc81b9bdd08185b1b1bddd95960621b6044820152606401610276565b336000818152600a60209081526040808320805490849055600983528184208490556008835281842093909355805193845290830182905290917f142e26dcca50281d2c46d90446bfc1c9bc260cef355ce917a52f1fec7c54b5bf910160405180910390a1610f4b33826109ce565b50610e0f6001600055565b60118181548110610c7f57600080fd5b610f6e6109a4565b600254341015610fb65760405162461bcd60e51b81526020600482015260136024820152721a5b9cdd59999a58da595b9d08185b5bdd5b9d606a1b6044820152606401610276565b610fc16006826115c4565b6110055760405162461bcd60e51b815260206004820152601560248201527418d85b991a59185d19481b9bdd08185b1b1bddd959605a1b6044820152606401610276565b336000908152600d60205260409020546001600160a01b0390811690821681148061103757506001600160a01b038116155b6110835760405162461bcd60e51b815260206004820152601a60248201527f6f6e6c79206f6e652063686f69636520697320616c6c6f7765640000000000006044820152606401610276565b60006001600160a01b038216156110a55761109e3383611600565b90506110e9565b336000818152600d6020908152604080832080546001600160a01b0319166001600160a01b0389169081179091558352601282528083205493835260139091529020555b336000908152600e602052604081208054349290611108908490612212565b90915550506001600160a01b0383166000908152600c602052604081208054349290611135908490612212565b9250508190555034600b600082825461114e9190612212565b90915550506001600160a01b038216611174573360009081526014602052604090204390555b604080513381526001600160a01b0385166020820152348183015290517f66a9138482c99e9baf08860110ef332cc0c23b4a199a53593d8db0fc8f96fbfc9181900360600190a180156111cb576111cb33826109ce565b50506111d76001600055565b50565b6001600160a01b038082166000908152600d6020526040812054909116806112055750600092915050565b61120f8382611806565b9392505050565b6112216006336115c4565b6112645760405162461bcd60e51b815260206004820152601460248201527363616e646964617465206e6f742065786973747360601b6044820152606401610276565b61126f6006336118eb565b503360008181526009602090815260409182902043905590519182527f7c79e6e24ed041d1072d54523b53956f01b91b835f0490856370594d9d14470e910160405180910390a1565b6060601080548060200260200160405190810160405280929190818152602001828054801561131057602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116112f2575b5050505050905090565b336002600160a01b03146113685760405162461bcd60e51b81526020600482015260156024820152741cda59194818d85b1b081b9bdd08185b1b1bddd959605a1b6044820152606401610276565b600361090960911b016001600160a01b0316633ccfd60b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156113ab57600080fd5b505af11580156113bf573d6000803e3d6000fd5b50505050600554600f546113d39190612212565b4310156113dc57565b43600f5560006113ec60066115b7565b805190915060005b818110156114a25760126000848381518110611412576114126121a5565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205460156000858481518110611451576114516121a5565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006005544361148991906121fe565b81526020810191909152604001600020556001016113f4565b506001548110806114b65750600354600b54105b156114d157601180546114cb916010916120eb565b506114ef565b6114d9611900565b80516114ed9160109160209091019061213b565b505b7fe59e3b36b5c97b419925b60c92f5a4324c993934eb9cfe5232def67c1739337c601060405161151f919061244a565b60405180910390a15050565b6115336109a4565b336000908152600d60205260409020546001600160a01b03168061158d5760405162461bcd60e51b815260206004820152601160248201527018db185a5b481b9bdd08185b1b1bddd959607a1b6044820152606401610276565b60006115993383611600565b905080156115ab576115ab33826109ce565b5050610e0f6001600055565b6060600061120f83611a80565b6001600160a01b038116600090815260018301602052604081205415155b90505b92915050565b60006115e2836001600160a01b038416611adc565b60008061160d8484611806565b6001600160a01b03848116600090815260126020908152604080832054938916808452601383529281902093909355825191825281018390529192507fbeceb521ccd2816457290c3d1cb70cc1537f14307f2d9ac26a5093a38ea40948910160405180910390a19392505050565b30600162012121608c1b0114806116c25750600162012121608c1b016116b6600080516020612529833981519152546001600160a01b031690565b6001600160a01b031614155b15610e0f5760405163703e46dd60e11b815260040160405180910390fd5b3361090960911b146111d75760405162461bcd60e51b81526020600482015260096024820152683737ba1030b236b4b760b91b6044820152606401610276565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561177a575060408051601f3d908101601f191682019092526117779181019061248e565b60015b6117a257604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610276565b60008051602061252983398151915281146117d357604051632a87526960e21b815260048101829052602401610276565b610a978383611b2b565b30600162012121608c1b0114610e0f5760405163703e46dd60e11b815260040160405180910390fd5b6001600160a01b03808316600090815260146020908152604080832054601383528184205494861684526012909252822054600f5492939192831061185157600093505050506115e5565b6001600160a01b0385166000908152601560205260408120600554829061187890876121fe565b611883906001612212565b8152602001908152602001600020549050828111156118a0578092505b670de0b6b3a76400006118b38484612225565b6001600160a01b0389166000908152600e60205260409020546118d691906121d1565b6118e091906121fe565b979650505050505050565b60006115e2836001600160a01b038416611b81565b6060600061190c610a9c565b805190915060008167ffffffffffffffff81111561192c5761192c6122d5565b604051908082528060200260200182016040528015611955578160200160208202803683370190505b50905060005b828110156119c757600c6000858381518110611979576119796121a5565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020548282815181106119b4576119b46121a5565b602090810291909101015260010161195b565b506119d58382600154611c7b565b600060015467ffffffffffffffff8111156119f2576119f26122d5565b604051908082528060200260200182016040528015611a1b578160200160208202803683370190505b50905060005b600154811015611a7757848181518110611a3d57611a3d6121a5565b6020026020010151828281518110611a5757611a576121a5565b6001600160a01b0390921660209283029190910190910152600101611a21565b50949350505050565b606081600001805480602002602001604051908101604052809291908181526020018280548015611ad057602002820191906000526020600020905b815481526020019060010190808311611abc575b50505050509050919050565b6000818152600183016020526040812054611b23575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556115e5565b5060006115e5565b611b3482611da7565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611b7957610a978282611e0c565b610e2c611e82565b60008181526001830160205260408120548015611c6a576000611ba5600183612225565b8554909150600090611bb990600190612225565b9050808214611c1e576000866000018281548110611bd957611bd96121a5565b9060005260206000200154905080876000018481548110611bfc57611bfc6121a5565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611c2f57611c2f6124a7565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506115e5565b60009150506115e5565b5092915050565b825160006001611c8c6002856124bd565b611c9691906124eb565b90505b60008112611cbf57611cad85858386611ea1565b80611cb78161250b565b915050611c99565b50815b81811015611da05783600081518110611cdd57611cdd6121a5565b6020026020010151848281518110611cf757611cf76121a5565b60200260200101511115611d9857838181518110611d1757611d176121a5565b602002602001015184600081518110611d3257611d326121a5565b602002602001018181525050848181518110611d5057611d506121a5565b602002602001015185600081518110611d6b57611d6b6121a5565b60200260200101906001600160a01b031690816001600160a01b031681525050611d988585600086611ea1565b600101611cc2565b5050505050565b806001600160a01b03163b600003611ddd57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610276565b60008051602061252983398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611e29919061242e565b600060405180830381855af49150503d8060008114611e64576040519150601f19603f3d011682016040523d82523d6000602084013e611e69565b606091505b5091509150611e7985838361206d565b95945050505050565b3415610e0f5760405163b398979f60e01b815260040160405180910390fd5b6000611eae8360026121d1565b611eb9906001612212565b90505b81811015611da05781611ed0826001612212565b108015611f18575083611ee4826001612212565b81518110611ef457611ef46121a5565b6020026020010151848281518110611f0e57611f0e6121a5565b6020026020010151115b15611f2b57611f28600182612212565b90505b838381518110611f3d57611f3d6121a5565b6020026020010151848281518110611f5757611f576121a5565b602002602001015111611da057838381518110611f7657611f766121a5565b6020026020010151848281518110611f9057611f906121a5565b6020026020010151858381518110611faa57611faa6121a5565b60200260200101868681518110611fc357611fc36121a5565b6020026020010182815250828152505050848381518110611fe657611fe66121a5565b6020026020010151858281518110612000576120006121a5565b602002602001015186838151811061201a5761201a6121a5565b60200260200101878681518110612033576120336121a5565b6001600160a01b0393841660209182029290920101529116905291508161205b8160026121d1565b612066906001612212565b9050611ebc565b6060826120825761207d826120c2565b61120f565b815115801561209957506001600160a01b0384163b155b15611c7457604051639996b31560e01b81526001600160a01b0385166004820152602401610276565b8051156120d25780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b82805482825590600052602060002090810192821561212b5760005260206000209182015b8281111561212b578254825591600101919060010190612110565b50612137929150612190565b5090565b82805482825590600052602060002090810192821561212b579160200282015b8281111561212b57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019061215b565b5b808211156121375760008155600101612191565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176115e5576115e56121bb565b634e487b7160e01b600052601260045260246000fd5b60008261220d5761220d6121e8565b500490565b808201808211156115e5576115e56121bb565b818103818111156115e5576115e56121bb565b6020808252825182820181905260009190848201906040850190845b818110156122795783516001600160a01b031683529284019291840191600101612254565b50909695505050505050565b60006020828403121561229757600080fd5b5035919050565b80356001600160a01b03811681146122b557600080fd5b919050565b6000602082840312156122cc57600080fd5b6115e28261229e565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156122fe57600080fd5b6123078361229e565b9150602083013567ffffffffffffffff8082111561232457600080fd5b818501915085601f83011261233857600080fd5b81358181111561234a5761234a6122d5565b604051601f8201601f19908116603f01168101908382118183101715612372576123726122d5565b8160405282815288602084870101111561238b57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600080604083850312156123c057600080fd5b6123c98361229e565b946020939093013593505050565b60005b838110156123f25781810151838201526020016123da565b50506000910152565b602081526000825180602084015261241a8160408501602087016123d7565b601f01601f19169190910160400192915050565b600082516124408184602087016123d7565b9190910192915050565b6020808252825482820181905260008481528281209092916040850190845b818110156122795783546001600160a01b031683526001938401939285019201612469565b6000602082840312156124a057600080fd5b5051919050565b634e487b7160e01b600052603160045260246000fd5b6000826124cc576124cc6121e8565b600160ff1b8214600019841416156124e6576124e66121bb565b500590565b8181036000831280158383131683831282161715611c7457611c746121bb565b6000600160ff1b8201612520576125206121bb565b50600019019056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220b015f0f58d95238a34a124b1f2a432eacd9551b6263a31392fc3f3ee94eb6dc564736f6c63430008180033" + }, + "0x1212100000000000000000000000000000000002": { + "balance": "0", + "code": "0x6080604052600436106100a75760003560e01c806390ac18661161006457806390ac18661461018a578063ad3cb1cc146101aa578063d96ed505146101e8578063e47d6060146101fe578063e4997dc51461022e578063f13c03af1461024e57600080fd5b80630ecb93c0146100ac57806326bd0c4e146100ce5780634f1ef2861461010857806352d1902d1461011b578063701b70ac1461013e57806389dc5c841461016e575b600080fd5b3480156100b857600080fd5b506100cc6100c7366004610d37565b610267565b005b3480156100da57600080fd5b506100eb600262012121608c1b0181565b6040516001600160a01b0390911681526020015b60405180910390f35b6100cc610116366004610d9b565b610406565b34801561012757600080fd5b50610130610425565b6040519081526020016100ff565b34801561014a57600080fd5b5061015e610159366004610d37565b610442565b60405190151581526020016100ff565b34801561017a57600080fd5b506100eb600361090960911b0181565b34801561019657600080fd5b506100cc6101a5366004610e43565b61050f565b3480156101b657600080fd5b506101db604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100ff9190610e80565b3480156101f457600080fd5b5061013060015481565b34801561020a57600080fd5b5061015e610219366004610d37565b60026020526000908152604090205460ff1681565b34801561023a57600080fd5b506100cc610249366004610d37565b610631565b34801561025a57600080fd5b506100eb61090960911b81565b604080516001600160a01b03831660208201527f4912b57f7ea75243ecaff76a75bdedbc13a6f58c1c967b0427b8aee0a276309e9101604051602081830303815290604052805190602001206102bc33610442565b6102e15760405162461bcd60e51b81526004016102d890610eb3565b60405180910390fd5b6102eb8282610778565b6102f582826107d6565b6102fe57505050565b6001600160a01b03831660009081526002602052604090205460ff16156103675760405162461bcd60e51b815260206004820181905260248201527f506f6c6963793a20426c61636b6c69737420616c72656164792065786973747360448201526064016102d8565b6001600160a01b038316600081815260026020908152604091829020805460ff1916600117905590519182527ff9dfc5050bb4c9b200f093a995458a80fb19943585b189fe5d317391abdc764591015b60405180910390a160408051838152602081018390527ff5aa3d6492eaf1a4d6787c5bd36e8ec61c245d4af2fd1fd387e387a50de9f8c5910160405180910390a1610401826108e8565b505050565b61040e6109ba565b61041782610a21565b6104218282610a64565b5050565b600061042f610b21565b5060008051602061103883398151915290565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561048b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104b39190810190610ed6565b905060005b8151811015610505578181815181106104d3576104d3610f88565b60200260200101516001600160a01b0316846001600160a01b0316036104fd575060019392505050565b6001016104b8565b5060009392505050565b7f0d48c1723f9a97946a942509ee525d5449a8f1d6460432fc2b267126c5cb1bce8160405160200161054391815260200190565b6040516020818303038152906040528051906020012061056233610442565b61057e5760405162461bcd60e51b81526004016102d890610eb3565b6105888282610778565b61059282826107d6565b61059b57505050565b600083116105fc5760405162461bcd60e51b815260206004820152602860248201527f506f6c6963793a207365744d696e476173507269636520696e76616c6964207060448201526730b930b6b2ba32b960c11b60648201526084016102d8565b60018390556040518381527f707bb10a9a561bf00f6acc0b0231a12146dc98352b4e8c8deb55e141ace32890906020016103b7565b604080516001600160a01b03831660208201527f310cc9bfce6443143f03d0cdc4d66afa0b3c689539eb3e65cb1820b56d67246591016040516020818303038152906040528051906020012061068633610442565b6106a25760405162461bcd60e51b81526004016102d890610eb3565b6106ac8282610778565b6106b682826107d6565b6106bf57505050565b6001600160a01b03831660009081526002602052604090205460ff166107275760405162461bcd60e51b815260206004820181905260248201527f506f6c6963793a20426c61636b6c69737420646f6573206e6f7420657869737460448201526064016102d8565b6001600160a01b038316600081815260026020908152604091829020805460ff1916905590519182527f2234edb6f393cd207251f6579b5852192c144c4c12b9cc32e80539ef12faed3f91016103b7565b6000828152602081815260408083203380855290835292819020849055805192835290820184905281018290527f61699483e2a58589628399a22e34da872b583143ab99b3245ba6dacf4974d2e39060600160405180910390a15050565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561081f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108479190810190610ed6565b90506000805b82518110156108c15784600080888152602001908152602001600020600085848151811061087d5761087d610f88565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054036108b957816108b581610fb4565b9250505b60010161084d565b506002825160016108d29190610fcd565b6108dc9190610fe0565b11159150505b92915050565b6000600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610930573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109589190810190610ed6565b905060005b815181101561040157600080848152602001908152602001600020600083838151811061098c5761098c610f88565b6020908102919091018101516001600160a01b0316825281019190915260400160009081205560010161095d565b30600262012121608c1b011480610a015750600262012121608c1b016109f5600080516020611038833981519152546001600160a01b031690565b6001600160a01b031614155b15610a1f5760405163703e46dd60e11b815260040160405180910390fd5b565b3361090960911b14610a615760405162461bcd60e51b81526020600482015260096024820152683737ba1030b236b4b760b91b60448201526064016102d8565b50565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610abe575060408051601f3d908101601f19168201909252610abb91810190611002565b60015b610ae657604051634c9c8ce360e01b81526001600160a01b03831660048201526024016102d8565b6000805160206110388339815191528114610b1757604051632a87526960e21b8152600481018290526024016102d8565b6104018383610b4a565b30600262012121608c1b0114610a1f5760405163703e46dd60e11b815260040160405180910390fd5b610b5382610ba0565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610b98576104018282610c05565b610421610c7b565b806001600160a01b03163b600003610bd657604051634c9c8ce360e01b81526001600160a01b03821660048201526024016102d8565b60008051602061103883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610c22919061101b565b600060405180830381855af49150503d8060008114610c5d576040519150601f19603f3d011682016040523d82523d6000602084013e610c62565b606091505b5091509150610c72858383610c9a565b95945050505050565b3415610a1f5760405163b398979f60e01b815260040160405180910390fd5b606082610caf57610caa82610cf9565b610cf2565b8151158015610cc657506001600160a01b0384163b155b15610cef57604051639996b31560e01b81526001600160a01b03851660048201526024016102d8565b50805b9392505050565b805115610d095780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6001600160a01b0381168114610a6157600080fd5b600060208284031215610d4957600080fd5b8135610cf281610d22565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610d9357610d93610d54565b604052919050565b60008060408385031215610dae57600080fd5b8235610db981610d22565b915060208381013567ffffffffffffffff80821115610dd757600080fd5b818601915086601f830112610deb57600080fd5b813581811115610dfd57610dfd610d54565b610e0f601f8201601f19168501610d6a565b91508082528784828501011115610e2557600080fd5b80848401858401376000848284010152508093505050509250929050565b600060208284031215610e5557600080fd5b5035919050565b60005b83811015610e77578181015183820152602001610e5f565b50506000910152565b6020815260008251806020840152610e9f816040850160208701610e5c565b601f01601f19169190910160400192915050565b6020808252600990820152683737ba1026b4b732b960b91b604082015260600190565b60006020808385031215610ee957600080fd5b825167ffffffffffffffff80821115610f0157600080fd5b818501915085601f830112610f1557600080fd5b815181811115610f2757610f27610d54565b8060051b9150610f38848301610d6a565b8181529183018401918481019088841115610f5257600080fd5b938501935b83851015610f7c5784519250610f6c83610d22565b8282529385019390850190610f57565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201610fc657610fc6610f9e565b5060010190565b808201808211156108e2576108e2610f9e565b600082610ffd57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561101457600080fd5b5051919050565b6000825161102d818460208701610e5c565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122080dc9c63474cff6584c343a283076a4aa9dce3cd3153430acf1110c38cf73d7a64736f6c63430008180033" + }, + "0x1212100000000000000000000000000000000003": { + "balance": "0", + "code": "0x60806040526004361061007f5760003560e01c80634f1ef2861161004e5780634f1ef2861461011e57806352d1902d14610131578063ad3cb1cc14610154578063f13c03af1461019257600080fd5b80631633da6e1461008b578063180cb47f146100b657806326bd0c4e146100ea5780633ccfd60b1461010757600080fd5b3661008657005b600080fd5b34801561009757600080fd5b506100a06101ab565b6040516100ad91906106f7565b60405180910390f35b3480156100c257600080fd5b506100d2600161090960911b0181565b6040516001600160a01b0390911681526020016100ad565b3480156100f657600080fd5b506100d2600362012121608c1b0181565b34801561011357600080fd5b5061011c610220565b005b61011c61012c3660046107a0565b610287565b34801561013d57600080fd5b506101466102a6565b6040519081526020016100ad565b34801561016057600080fd5b50610185604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100ad919061086c565b34801561019e57600080fd5b506100d261090960911b81565b6060600161090960911b016001600160a01b0316639f9d7f816040518163ffffffff1660e01b8152600401600060405180830381865afa1580156101f3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261021b919081019061089f565b905090565b33600161090960911b011461026d5760405162461bcd60e51b815260206004820152600e60248201526d6e6f7420676f7665726e616e636560901b60448201526064015b60405180910390fd5b471561028557610285600161090960911b01476102c3565b565b61028f610391565b610298826103f6565b6102a28282610439565b5050565b60006102b06104f6565b5060008051602061098783398151915290565b604080516000808252602082019092526001600160a01b0384169083906040516102ed9190610951565b60006040518083038185875af1925050503d806000811461032a576040519150601f19603f3d011682016040523d82523d6000602084013e61032f565b606091505b505090508061038c5760405162461bcd60e51b8152602060048201526024808201527f736166655472616e736665724554483a20455448207472616e736665722066616044820152631a5b195960e21b6064820152608401610264565b505050565b30600362012121608c1b0114806103d85750600362012121608c1b016103cc600080516020610987833981519152546001600160a01b031690565b6001600160a01b031614155b156102855760405163703e46dd60e11b815260040160405180910390fd5b3361090960911b146104365760405162461bcd60e51b81526020600482015260096024820152683737ba1030b236b4b760b91b6044820152606401610264565b50565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610493575060408051601f3d908101601f191682019092526104909181019061096d565b60015b6104bb57604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610264565b60008051602061098783398151915281146104ec57604051632a87526960e21b815260048101829052602401610264565b61038c838361051f565b30600362012121608c1b01146102855760405163703e46dd60e11b815260040160405180910390fd5b61052882610575565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561056d5761038c82826105da565b6102a2610650565b806001600160a01b03163b6000036105ab57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610264565b60008051602061098783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516105f79190610951565b600060405180830381855af49150503d8060008114610632576040519150601f19603f3d011682016040523d82523d6000602084013e610637565b606091505b509150915061064785838361066f565b95945050505050565b34156102855760405163b398979f60e01b815260040160405180910390fd5b6060826106845761067f826106ce565b6106c7565b815115801561069b57506001600160a01b0384163b155b156106c457604051639996b31560e01b81526001600160a01b0385166004820152602401610264565b50805b9392505050565b8051156106de5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6020808252825182820181905260009190848201906040850190845b818110156107385783516001600160a01b031683529284019291840191600101610713565b50909695505050505050565b6001600160a01b038116811461043657600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561079857610798610759565b604052919050565b600080604083850312156107b357600080fd5b82356107be81610744565b915060208381013567ffffffffffffffff808211156107dc57600080fd5b818601915086601f8301126107f057600080fd5b81358181111561080257610802610759565b610814601f8201601f1916850161076f565b9150808252878482850101111561082a57600080fd5b80848401858401376000848284010152508093505050509250929050565b60005b8381101561086357818101518382015260200161084b565b50506000910152565b602081526000825180602084015261088b816040850160208701610848565b601f01601f19169190910160400192915050565b600060208083850312156108b257600080fd5b825167ffffffffffffffff808211156108ca57600080fd5b818501915085601f8301126108de57600080fd5b8151818111156108f0576108f0610759565b8060051b915061090184830161076f565b818152918301840191848101908884111561091b57600080fd5b938501935b83851015610945578451925061093583610744565b8282529385019390850190610920565b98975050505050505050565b60008251610963818460208701610848565b9190910192915050565b60006020828403121561097f57600080fd5b505191905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220d7431b8c55135acd14277140c3e792e737dd67435ac1ab986730e38b73f30c0064736f6c63430008180033" } } -} +} \ No newline at end of file diff --git a/privnet/single/genesis_template.json b/privnet/single/genesis_template.json index 82c80a12ff..0ebb5a9bbb 100644 --- a/privnet/single/genesis_template.json +++ b/privnet/single/genesis_template.json @@ -20,31 +20,65 @@ "standbyValidators": [ "0xnode1" ], - "coinbase": "0x1212100000000000000000000000000000000001" + "coinbase": "0x1212000000000000000000000000000000000003" } }, "difficulty": "1", "gasLimit": "30000000", "alloc": { - "node1": { "balance": "100000000000000000000" }, - "node2": { "balance": "100000000000000000000" }, - "1212100000000000000000000000000000000004": { - "balance": "100000000000000000000000", - "code": "0x608060405234801561001057600080fd5b506004361061012c5760003560e01c8063a1fd836e116100ad578063cf30901211610071578063cf309012146102c3578063de35f5cb146102e7578063e976d431146102fa578063f83d08ba1461030b578063fec95b481461031357600080fd5b8063a1fd836e14610266578063a69df4b51461028c578063aab8ab0c14610294578063b2ca3ec4146102a7578063c34c7882146102ba57600080fd5b80637b259db4116100f45780637b259db4146101f35780638312f149146102125780638406c0791461022f5780638955fe8a1461024a5780638da5cb5b1461025357600080fd5b80630c340a2414610131578063131305e71461016157806335aa2e44146101a257806344c7e2f4146101b5578063504ad4ec146101de575b600080fd5b600554610144906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61018a61016f3660046111c9565b6008602052600090815260409020546001600160401b031681565b6040516001600160401b039091168152602001610158565b6101446101b03660046111f2565b610327565b6101446101c33660046111c9565b6007602052600090815260409020546001600160a01b031681565b6101f16101ec366004611256565b610351565b005b60035461018a906801000000000000000090046001600160401b031681565b610221670de0b6b3a764000081565b604051908152602001610158565b61014473acc85ffb71f83b9bb264f6d64541926d375a6c1d81565b61022160015481565b600454610144906001600160a01b031681565b60035461027a90600160801b900460ff1681565b60405160ff9091168152602001610158565b6101f161068f565b6101f16102a23660046111c9565b610740565b600654610144906001600160a01b031681565b61022160025481565b6003546102d790600160901b900460ff1681565b6040519015158152602001610158565b60035461018a906001600160401b031681565b61022169021e19e0c9bab240000081565b6101f161094d565b60035461027a90600160881b900460ff1681565b6000818154811061033757600080fd5b6000918252602090912001546001600160a01b0316905081565b3373acc85ffb71f83b9bb264f6d64541926d375a6c1d146103a75760405162461bcd60e51b815260206004820152600b60248201526a2737ba103932b630bcb2b960a91b60448201526064015b60405180910390fd5b600354600160901b900460ff16156103d15760405162461bcd60e51b815260040161039e906112cf565b808061041f5760405162461bcd60e51b815260206004820152601f60248201527f4174206c656173742031206465706f7369742069732072657175697265642e00604482015260640161039e565b600354600160881b900460ff1681111561047b5760405162461bcd60e51b815260206004820152601b60248201527f546f6f206d616e79206465706f736974732070726f76696465642e0000000000604482015260640161039e565b600354610492906001600160401b03166001611311565b6001600160401b0316838360008181106104ae576104ae611338565b90506060020160400160208101906104c691906111c9565b6001600160401b0316146105375760405162461bcd60e51b815260206004820152603260248201527f4f6e6c7920746865206e657874206e6f6e636520697320616c6c6f776564206960448201527137103a3432903334b939ba10383937b7b31760711b606482015260840161039e565b60035461055090849084906001600160401b03166109da565b6105b15760405162461bcd60e51b815260206004820152602c60248201527f546865206e6f6e636573206f66207468652070726f6f6673206d75737420626560448201526b1039bab139b2b8bab2b73a1760a11b606482015260840161039e565b6105bc868686610a6d565b61061e5760405162461bcd60e51b815260206004820152602d60248201527f496e76616c6964206f7220696e73756666696369656e742076616c696461746f60448201526c391039b4b3b730ba3ab932b99760991b606482015260840161039e565b828261062b60018461134e565b81811061063a5761063a611338565b905060600201604001602081019061065291906111c9565b6003805467ffffffffffffffff19166001600160401b03929092169190911790556001805490879055610686818585610cff565b50505050505050565b6005546001600160a01b031633146106d85760405162461bcd60e51b815260206004820152600c60248201526b2737ba1033b7bb32b93737b960a11b604482015260640161039e565b600354600160901b900460ff166107315760405162461bcd60e51b815260206004820152601a60248201527f436f6e747261637420697320616c7265616479206c6f636b6564000000000000604482015260640161039e565b6003805460ff60901b19169055565b600354600160901b900460ff161561076a5760405162461bcd60e51b815260040161039e906112cf565b6001600160401b0380821660009081526007602090815260408083205460089092528220546001600160a01b039091169216908190036107e15760405162461bcd60e51b81526020600482015260126024820152714e6f20636c61696d61626c652066756e647360701b604482015260640161039e565b6001600160a01b03821661082c5760405162461bcd60e51b81526020600482015260126024820152714e6f20636c61696d61626c652066756e647360701b604482015260640161039e565b6001600160401b0383166000908152600860209081526040808320805467ffffffffffffffff191690556007909152812080546001600160a01b031916905561087482610fd7565b90506000836001600160a01b03168260405160006040518083038185875af1925050503d80600081146108c3576040519150601f19603f3d011682016040523d82523d6000602084013e6108c8565b606091505b505090508061090b5760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015260640161039e565b7fc050de00ef4ba397e08c78836db608d83db9c6335bf95019597119b9536f938985848660405161093e93929190611361565b60405180910390a15050505050565b6006546001600160a01b0316331461099b5760405162461bcd60e51b8152602060048201526011602482015270139bdd081cd958dd5c9a5d1e51dd585c99607a1b604482015260640161039e565b600354600160901b900460ff16156109c55760405162461bcd60e51b815260040161039e906112cf565b6003805460ff60901b1916600160901b179055565b600060015b60ff81168410610a60576109f660ff821684611311565b6001600160401b03168585610a0c60018561138d565b60ff16818110610a1e57610a1e611338565b9050606002016040016020810190610a3691906111c9565b6001600160401b031614610a4e576000915050610a66565b80610a58816113a6565b9150506109df565b50600190505b9392505050565b600354600090600160801b900460ff168214610acb5760405162461bcd60e51b815260206004820152601d60248201527f496e76616c6964206e756d626572206f66207369676e6174757265732e000000604482015260640161039e565b600084604051602001610ae091815260200190565b60408051601f198184030181529082905280516020918201207f19457468657265756d205369676e6564204d6573736167653a0a33320000000091830191909152603c820152605c0160408051808303601f190181528282528051602090910120600580845260c0840190925292506000919081602001602082028036833701905050905060005b6005811015610c3a5736868683818110610b8457610b84611338565b6060029190910191506001905084610b9f60208401846113c5565b604080516000815260208181018084529490945260ff9092168282015291840135606082015290830135608082015260a0016020604051602081039080840390855afa158015610bf3573d6000803e3d6000fd5b50505060206040510351838381518110610c0f57610c0f611338565b6001600160a01b03909216602092830291909101909101525080610c32816113e8565b915050610b68565b5060008080805b6005811015610cef578291505b6007821015610cd05760008281548110610c6a57610c6a611338565b60009182526020909120015485516001600160a01b0390911690869083908110610c9657610c96611338565b60200260200101516001600160a01b031603610cbe5783610cb6816113e8565b945050610cd0565b81610cc8816113e8565b925050610c4e565b610cdb826001611401565b925080610ce7816113e8565b915050610c41565b5050506005149695505050505050565b828160005b81811015610d845736858583818110610d1f57610d1f611338565b90506060020190506000610d61826040016020810190610d3f91906111c9565b610d4f60408501602086016111c9565b610d5c6020860186611414565b610ff7565b9050610d6d858261109c565b945050508080610d7c906113e8565b915050610d04565b506001548214610dce5760405162461bcd60e51b815260206004820152601560248201527424b73b30b634b2103232b837b9b4ba103937b7ba1760591b604482015260640161039e565b60005b81811015610fcf5736858583818110610dec57610dec611338565b60600291909101915060009050610e066020830183611414565b90506001600160a01b0381163b610f57576000610e31610e2c60408501602086016111c9565b610fd7565b90506000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610e80576040519150601f19603f3d011682016040523d82523d6000602084013e610e85565b606091505b505090508015610eed577f2c20d394553ff35017f1f147d7e3a1ffc1caeaf1e422b5d9730fabe8c90042fe610ec060608601604087016111c9565b610ed060408701602088016111c9565b85604051610ee093929190611361565b60405180910390a1610f50565b610ef684611116565b7fb79dcd48431a0507fde36076107e606e63739e8a604f219cebe9aa0c1f17a115610f2760608601604087016111c9565b610f3760408701602088016111c9565b85604051610f4793929190611361565b60405180910390a15b5050610fba565b610f6082611116565b7fb79dcd48431a0507fde36076107e606e63739e8a604f219cebe9aa0c1f17a115610f9160608401604085016111c9565b610fa160408501602086016111c9565b83604051610fb193929190611361565b60405180910390a15b50508080610fc7906113e8565b915050610dd1565b505050505050565b6000610ff16001600160401b0383166402540be40061143d565b92915050565b6040516001600160c01b031960c085811b8216602084015284901b1660288201526bffffffffffffffffffffffff19606083901b16603082015260009060029060440160408051601f198184030181529082905261105491611454565b602060405180830381855afa158015611071573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906110949190611483565b949350505050565b6000600283836040516020016110bc929190918252602082015260400190565b60408051601f19818403018152908290526110d691611454565b602060405180830381855afa1580156110f3573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610a669190611483565b6111236020820182611414565b6007600061113760608501604086016111c9565b6001600160401b03168152602080820192909252604090810160002080546001600160a01b0319166001600160a01b0394909416939093179092556111809183019083016111c9565b6008600061119460608501604086016111c9565b6001600160401b0390811682526020820192909252604001600020805467ffffffffffffffff19169290911691909117905550565b6000602082840312156111db57600080fd5b81356001600160401b0381168114610a6657600080fd5b60006020828403121561120457600080fd5b5035919050565b60008083601f84011261121d57600080fd5b5081356001600160401b0381111561123457600080fd5b60208301915083602060608302850101111561124f57600080fd5b9250929050565b60008060008060006060868803121561126e57600080fd5b8535945060208601356001600160401b038082111561128c57600080fd5b61129889838a0161120b565b909650945060408801359150808211156112b157600080fd5b506112be8882890161120b565b969995985093965092949392505050565b60208082526012908201527110dbdb9d1c9858dd081a5cc81b1bd8dad95960721b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6001600160401b03818116838216019080821115611331576113316112fb565b5092915050565b634e487b7160e01b600052603260045260246000fd5b81810381811115610ff157610ff16112fb565b6001600160401b0393841681529190921660208201526001600160a01b03909116604082015260600190565b60ff8281168282160390811115610ff157610ff16112fb565b600060ff821660ff81036113bc576113bc6112fb565b60010192915050565b6000602082840312156113d757600080fd5b813560ff81168114610a6657600080fd5b6000600182016113fa576113fa6112fb565b5060010190565b80820180821115610ff157610ff16112fb565b60006020828403121561142657600080fd5b81356001600160a01b0381168114610a6657600080fd5b8082028115828204841417610ff157610ff16112fb565b6000825160005b81811015611475576020818601810151858301520161145b565b506000920191825250919050565b60006020828403121561149557600080fd5b505191905056fea2646970667358221220e02d47f2295ab4356fd494c7d31cea4076fca2f8f702a5ccedfac1b69565502464736f6c63430008120033", + "0xnode1": { + "balance": "10000000000000000000000000" + }, + "0xnode2": { + "balance": "100000000000000000000" + }, + "0x1212000000000000000000000000000000000000": { + "balance": "0", + "code": "0x6080604052600436106100345760003560e01c8063701b70ac1461003957806389dc5c841461006e5780639623609d146100a2575b600080fd5b34801561004557600080fd5b5061005961005436600461053f565b6100b7565b60405190151581526020015b60405180910390f35b34801561007a57600080fd5b5061008a600361090960911b0181565b6040516001600160a01b039091168152602001610065565b6100b56100b03660046105aa565b610184565b005b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610100573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101289190810190610664565b905060005b815181101561017a5781818151811061014857610148610716565b60200260200101516001600160a01b0316846001600160a01b031603610172575060019392505050565b60010161012d565b5060009392505050565b7fe739b9109d83c1c6d0d640fe9ed476fc5862a6de5483b00678a3fffa7a2be2f68383836040516020016101ba93929190610772565b604051602081830303815290604052805190602001206101d9336100b7565b6102155760405162461bcd60e51b81526020600482015260096024820152682737ba1026b4b732b960b91b604482015260640160405180910390fd5b61021f82826102e0565b610229828261033e565b156102d95760405163278f794360e11b81526001600160a01b03861690634f1ef28690349061025e90889088906004016107a7565b6000604051808303818588803b15801561027757600080fd5b505af115801561028b573d6000803e3d6000fd5b505060408051868152602081018690527ff5aa3d6492eaf1a4d6787c5bd36e8ec61c245d4af2fd1fd387e387a50de9f8c594500191506102c89050565b60405180910390a16102d982610450565b5050505050565b6000828152602081815260408083203380855290835292819020849055805192835290820184905281018290527f61699483e2a58589628399a22e34da872b583143ab99b3245ba6dacf4974d2e39060600160405180910390a15050565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610387573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103af9190810190610664565b90506000805b8251811015610429578460008088815260200190815260200160002060008584815181106103e5576103e5610716565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205403610421578161041d816107e9565b9250505b6001016103b5565b5060028251600161043a9190610802565b6104449190610815565b11159150505b92915050565b6000600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610498573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104c09190810190610664565b905060005b81518110156105225760008084815260200190815260200160002060008383815181106104f4576104f4610716565b6020908102919091018101516001600160a01b031682528101919091526040016000908120556001016104c5565b505050565b6001600160a01b038116811461053c57600080fd5b50565b60006020828403121561055157600080fd5b813561055c81610527565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156105a2576105a2610563565b604052919050565b6000806000606084860312156105bf57600080fd5b83356105ca81610527565b92506020848101356105db81610527565b9250604085013567ffffffffffffffff808211156105f857600080fd5b818701915087601f83011261060c57600080fd5b81358181111561061e5761061e610563565b610630601f8201601f19168501610579565b9150808252888482850101111561064657600080fd5b80848401858401376000848284010152508093505050509250925092565b6000602080838503121561067757600080fd5b825167ffffffffffffffff8082111561068f57600080fd5b818501915085601f8301126106a357600080fd5b8151818111156106b5576106b5610563565b8060051b91506106c6848301610579565b81815291830184019184810190888411156106e057600080fd5b938501935b8385101561070a57845192506106fa83610527565b82825293850193908501906106e5565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b6000815180845260005b8181101561075257602081850181015186830182015201610736565b506000602082860101526020601f19601f83011685010191505092915050565b6001600160a01b0384811682528316602082015260606040820181905260009061079e9083018461072c565b95945050505050565b6001600160a01b03831681526040602082018190526000906107cb9083018461072c565b949350505050565b634e487b7160e01b600052601160045260246000fd5b6000600182016107fb576107fb6107d3565b5060010190565b8082018082111561044a5761044a6107d3565b60008261083257634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212209e61d38d47b2583b6176290ca9691082e36c167c502217e5f59481c644e946dc64736f6c63430008180033" + }, + "0x1212000000000000000000000000000000000001": { + "balance": "0", + "code": "0x6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea2646970667358221220965379b4e29f73cf2ee1957914dc167d4751357fc5df24ccd8586bd4bf9b47e964736f6c63430008180033", "storage": { - "0x0000000000000000000000000000000000000000000000000000000000000005": "0x0f467b64b0f970e63994fe8a120410151cc094db", - "0x0000000000000000000000000000000000000000000000000000000000000000": "0x07", - "0x0000000000000000000000000000000000000000000000000000000000000004": "0xbb03c5030cac72e290ae185a8b9b375c58f7a9a6", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e567": "0x97fb9c893c19da2672dbd790ac9fc406f138584b", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e569": "0x394831b50e496a4e85c97acdbd7943802d897c34", - "0x0000000000000000000000000000000000000000000000000000000000000003": "0x640500000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000006": "0xe7715472792d680ab4c5837e2131264a6153c89d", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563": "0xf82cf7e2b899a57d22653a6a742c0c60523d6a61", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e568": "0xb93ce875656d56935da316b27860b0fc7b60435a", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e565": "0x58e479a056df6d54600b4e02b8eb6390bcd8a550", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e566": "0x3a6eabc45ac029ccfaf49d54593a996f638e7cf7", - "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e564": "0xb42fbb03f30424aa903022269fcd62eabbdfcfae" + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x01", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x01", + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x0de0b6b3a7640000", + "0x0000000000000000000000000000000000000000000000000000000000000003": "0x027b46536c66c8e3000000", + "0x0000000000000000000000000000000000000000000000000000000000000004": "0x3635c9adc5dea00000", + "0x0000000000000000000000000000000000000000000000000000000000000005": "0x1e", + "0x0000000000000000000000000000000000000000000000000000000000000010": "0x01", + "0x0000000000000000000000000000000000000000000000000000000000000011": "0x01", + "0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c68": "0xnode1", + "0x1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae672": "0xnode1", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x1212100000000000000000000000000000000001" } + }, + "0x1212000000000000000000000000000000000002": { + "balance": "0", + "code": "0x6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea2646970667358221220965379b4e29f73cf2ee1957914dc167d4751357fc5df24ccd8586bd4bf9b47e964736f6c63430008180033", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x989680", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x1212100000000000000000000000000000000002" + } + }, + "0x1212000000000000000000000000000000000003": { + "balance": "0", + "code": "0x6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea2646970667358221220965379b4e29f73cf2ee1957914dc167d4751357fc5df24ccd8586bd4bf9b47e964736f6c63430008180033", + "storage": { + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x1212100000000000000000000000000000000003" + } + }, + "0x1212100000000000000000000000000000000001": { + "balance": "0", + "code": "0x60806040526004361061021e5760003560e01c8063786255f111610123578063a6580de8116100ab578063d8ce95ab1161006f578063d8ce95ab146108ee578063da0b33171461091b578063db069ba514610948578063f13c03af14610975578063f4bbb82f1461098e57600080fd5b8063a6580de814610854578063a681dfec1461086a578063ad3cb1cc1461087f578063b88a802f146108bd578063ce4b5bbe146108d257600080fd5b8063902bdc26116100f2578063902bdc26146107b45780639690293b146107e157806398ca58df146107f65780639f9d7f8114610823578063a5257a1d1461083857600080fd5b8063786255f11461071e57806384ccebc9146107565780638e1900a8146107715780638f1b32191461079e57600080fd5b80634d21e426116101a6578063611905331161017557806361190533146106805780636900cad8146106955780636db504e7146106b55780636dd7d8ea146106eb57806373c7fbe9146106fe57600080fd5b80634d21e426146106155780634f1ef286146106425780634ff0876a1461065557806352d1902d1461066b57600080fd5b80630ea6a041116101ed5780630ea6a041146105685780631f26f256146105a057806326bd0c4e146105b657806343c14b22146105d35780634c569c25146105e857600080fd5b806303f187ea146104f457806306a49fce1461051d5780630b2a85ea1461053f5780630d15fd771461055257600080fd5b366104ef5761022b6109a4565b33600361090960911b011461027f5760405162461bcd60e51b81526020600482015260156024820152741cda59194818d85b1b081b9bdd08185b1b1bddd959605a1b60448201526064015b60405180910390fd5b600060108054806020026020016040519081016040528092919081815260200182805480156102d757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116102b9575b505083519394506000925050505b818110156104e057600c6000848381518110610303576103036121a5565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205460001461044657600c6000848381518110610349576103496121a5565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020546103e8600154670de0b6b3a764000060086000888781518110610397576103976121a5565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054346103cb91906121d1565b6103d591906121d1565b6103df91906121fe565b6103e991906121fe565b6103f391906121fe565b60126000858481518110610409576104096121a5565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546104409190612212565b90915550505b6104d883828151811061045b5761045b6121a5565b60200260200101516103e86001546008600088878151811061047f5761047f6121a5565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020546103e86104b59190612225565b6104bf90346121d1565b6104c991906121fe565b6104d391906121fe565b6109ce565b6001016102e5565b5050506104ed6001600055565b005b600080fd5b34801561050057600080fd5b5061050a60045481565b6040519081526020015b60405180910390f35b34801561052957600080fd5b50610532610a9c565b6040516105149190612238565b6104ed61054d366004612285565b610aad565b34801561055e57600080fd5b5061050a600b5481565b34801561057457600080fd5b50610588610583366004612285565b610c6f565b6040516001600160a01b039091168152602001610514565b3480156105ac57600080fd5b5061050a600f5481565b3480156105c257600080fd5b50610588600162012121608c1b0181565b3480156105df57600080fd5b506104ed610c99565b3480156105f457600080fd5b5061050a6106033660046122ba565b60126020526000908152604090205481565b34801561062157600080fd5b5061050a6106303660046122ba565b600a6020526000908152604090205481565b6104ed6106503660046122eb565b610e11565b34801561066157600080fd5b5061050a60055481565b34801561067757600080fd5b5061050a610e30565b34801561068c57600080fd5b506104ed610e4d565b3480156106a157600080fd5b506105886106b0366004612285565b610f56565b3480156106c157600080fd5b506105886106d03660046122ba565b600d602052600090815260409020546001600160a01b031681565b6104ed6106f93660046122ba565b610f66565b34801561070a57600080fd5b5061050a6107193660046122ba565b6111da565b34801561072a57600080fd5b5061050a6107393660046123ad565b601560209081526000928352604080842090915290825290205481565b34801561076257600080fd5b506105886002600160a01b0381565b34801561077d57600080fd5b5061050a61078c3660046122ba565b60136020526000908152604090205481565b3480156107aa57600080fd5b5061050a60025481565b3480156107c057600080fd5b5061050a6107cf3660046122ba565b60086020526000908152604090205481565b3480156107ed57600080fd5b506104ed611216565b34801561080257600080fd5b5061050a6108113660046122ba565b60146020526000908152604090205481565b34801561082f57600080fd5b506105326112b8565b34801561084457600080fd5b50610588600361090960911b0181565b34801561086057600080fd5b5061050a60015481565b34801561087657600080fd5b506104ed61131a565b34801561088b57600080fd5b506108b0604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161051491906123fb565b3480156108c957600080fd5b506104ed61152b565b3480156108de57600080fd5b5061050a670de0b6b3a764000081565b3480156108fa57600080fd5b5061050a6109093660046122ba565b600c6020526000908152604090205481565b34801561092757600080fd5b5061050a6109363660046122ba565b60096020526000908152604090205481565b34801561095457600080fd5b5061050a6109633660046122ba565b600e6020526000908152604090205481565b34801561098157600080fd5b5061058861090960911b81565b34801561099a57600080fd5b5061050a60035481565b6002600054036109c757604051633ee5aeb560e01b815260040160405180910390fd5b6002600055565b604080516000808252602082019092526001600160a01b0384169083906040516109f8919061242e565b60006040518083038185875af1925050503d8060008114610a35576040519150601f19603f3d011682016040523d82523d6000602084013e610a3a565b606091505b5050905080610a975760405162461bcd60e51b8152602060048201526024808201527f736166655472616e736665724554483a20455448207472616e736665722066616044820152631a5b195960e21b6064820152608401610276565b505050565b6060610aa860066115b7565b905090565b323314610aed5760405162461bcd60e51b815260206004820152600e60248201526d6f6e6c7920616c6c6f7720454f4160901b6044820152606401610276565b600454341015610b355760405162461bcd60e51b81526020600482015260136024820152721a5b9cdd59999a58da595b9d08185b5bdd5b9d606a1b6044820152606401610276565b6103e88110610b755760405162461bcd60e51b815260206004820152600c60248201526b696e76616c6964207261746560a01b6044820152606401610276565b610b806006336115c4565b15610bc05760405162461bcd60e51b815260206004820152601060248201526f63616e6469646174652065786973747360801b6044820152606401610276565b3360009081526009602052604090205415610c105760405162461bcd60e51b815260206004820152601060248201526f1b19599d081b9bdd0818db185a5b595960821b6044820152606401610276565b610c1b6006336115eb565b50336000818152600860209081526040808320859055600a82529182902034905590519182527feeda149c76076b34d4b9d8896c2f7efc0d33d1c7b53ea3c5db490d64613f603a910160405180910390a150565b60108181548110610c7f57600080fd5b6000918252602090912001546001600160a01b0316905081565b610ca16109a4565b336000908152600d6020908152604080832054600e909252909120546001600160a01b03909116908115801590610cd85750600081115b610d195760405162461bcd60e51b81526020600482015260126024820152711c995d9bdad9481b9bdd08185b1b1bddd95960721b6044820152606401610276565b6000610d253384611600565b6001600160a01b0384166000908152600c6020526040812080549293508492909190610d52908490612225565b9250508190555081600b6000828254610d6b9190612225565b9091555050336000818152600d6020908152604080832080546001600160a01b0319169055600e825280832083905560138252808320839055601482528083209290925581519283526001600160a01b0386169083015281018390527fb698e31a2abee5824d0d7bcfd2339aead7f9e9ae413fba50bf554ff3fa470b7b9060600160405180910390a1610e02336104d38385612212565b505050610e0f6001600055565b565b610e1961167b565b610e22826116e0565b610e2c8282611720565b5050565b6000610e3a6117dd565b5060008051602061252983398151915290565b610e556109a4565b3360009081526009602052604090205415801590610e995750600554610e7c9060026121d1565b33600090815260096020526040902054610e969190612212565b43115b610edc5760405162461bcd60e51b81526020600482015260146024820152731dda5d1a191c985dc81b9bdd08185b1b1bddd95960621b6044820152606401610276565b336000818152600a60209081526040808320805490849055600983528184208490556008835281842093909355805193845290830182905290917f142e26dcca50281d2c46d90446bfc1c9bc260cef355ce917a52f1fec7c54b5bf910160405180910390a1610f4b33826109ce565b50610e0f6001600055565b60118181548110610c7f57600080fd5b610f6e6109a4565b600254341015610fb65760405162461bcd60e51b81526020600482015260136024820152721a5b9cdd59999a58da595b9d08185b5bdd5b9d606a1b6044820152606401610276565b610fc16006826115c4565b6110055760405162461bcd60e51b815260206004820152601560248201527418d85b991a59185d19481b9bdd08185b1b1bddd959605a1b6044820152606401610276565b336000908152600d60205260409020546001600160a01b0390811690821681148061103757506001600160a01b038116155b6110835760405162461bcd60e51b815260206004820152601a60248201527f6f6e6c79206f6e652063686f69636520697320616c6c6f7765640000000000006044820152606401610276565b60006001600160a01b038216156110a55761109e3383611600565b90506110e9565b336000818152600d6020908152604080832080546001600160a01b0319166001600160a01b0389169081179091558352601282528083205493835260139091529020555b336000908152600e602052604081208054349290611108908490612212565b90915550506001600160a01b0383166000908152600c602052604081208054349290611135908490612212565b9250508190555034600b600082825461114e9190612212565b90915550506001600160a01b038216611174573360009081526014602052604090204390555b604080513381526001600160a01b0385166020820152348183015290517f66a9138482c99e9baf08860110ef332cc0c23b4a199a53593d8db0fc8f96fbfc9181900360600190a180156111cb576111cb33826109ce565b50506111d76001600055565b50565b6001600160a01b038082166000908152600d6020526040812054909116806112055750600092915050565b61120f8382611806565b9392505050565b6112216006336115c4565b6112645760405162461bcd60e51b815260206004820152601460248201527363616e646964617465206e6f742065786973747360601b6044820152606401610276565b61126f6006336118eb565b503360008181526009602090815260409182902043905590519182527f7c79e6e24ed041d1072d54523b53956f01b91b835f0490856370594d9d14470e910160405180910390a1565b6060601080548060200260200160405190810160405280929190818152602001828054801561131057602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116112f2575b5050505050905090565b336002600160a01b03146113685760405162461bcd60e51b81526020600482015260156024820152741cda59194818d85b1b081b9bdd08185b1b1bddd959605a1b6044820152606401610276565b600361090960911b016001600160a01b0316633ccfd60b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156113ab57600080fd5b505af11580156113bf573d6000803e3d6000fd5b50505050600554600f546113d39190612212565b4310156113dc57565b43600f5560006113ec60066115b7565b805190915060005b818110156114a25760126000848381518110611412576114126121a5565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205460156000858481518110611451576114516121a5565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006005544361148991906121fe565b81526020810191909152604001600020556001016113f4565b506001548110806114b65750600354600b54105b156114d157601180546114cb916010916120eb565b506114ef565b6114d9611900565b80516114ed9160109160209091019061213b565b505b7fe59e3b36b5c97b419925b60c92f5a4324c993934eb9cfe5232def67c1739337c601060405161151f919061244a565b60405180910390a15050565b6115336109a4565b336000908152600d60205260409020546001600160a01b03168061158d5760405162461bcd60e51b815260206004820152601160248201527018db185a5b481b9bdd08185b1b1bddd959607a1b6044820152606401610276565b60006115993383611600565b905080156115ab576115ab33826109ce565b5050610e0f6001600055565b6060600061120f83611a80565b6001600160a01b038116600090815260018301602052604081205415155b90505b92915050565b60006115e2836001600160a01b038416611adc565b60008061160d8484611806565b6001600160a01b03848116600090815260126020908152604080832054938916808452601383529281902093909355825191825281018390529192507fbeceb521ccd2816457290c3d1cb70cc1537f14307f2d9ac26a5093a38ea40948910160405180910390a19392505050565b30600162012121608c1b0114806116c25750600162012121608c1b016116b6600080516020612529833981519152546001600160a01b031690565b6001600160a01b031614155b15610e0f5760405163703e46dd60e11b815260040160405180910390fd5b3361090960911b146111d75760405162461bcd60e51b81526020600482015260096024820152683737ba1030b236b4b760b91b6044820152606401610276565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561177a575060408051601f3d908101601f191682019092526117779181019061248e565b60015b6117a257604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610276565b60008051602061252983398151915281146117d357604051632a87526960e21b815260048101829052602401610276565b610a978383611b2b565b30600162012121608c1b0114610e0f5760405163703e46dd60e11b815260040160405180910390fd5b6001600160a01b03808316600090815260146020908152604080832054601383528184205494861684526012909252822054600f5492939192831061185157600093505050506115e5565b6001600160a01b0385166000908152601560205260408120600554829061187890876121fe565b611883906001612212565b8152602001908152602001600020549050828111156118a0578092505b670de0b6b3a76400006118b38484612225565b6001600160a01b0389166000908152600e60205260409020546118d691906121d1565b6118e091906121fe565b979650505050505050565b60006115e2836001600160a01b038416611b81565b6060600061190c610a9c565b805190915060008167ffffffffffffffff81111561192c5761192c6122d5565b604051908082528060200260200182016040528015611955578160200160208202803683370190505b50905060005b828110156119c757600c6000858381518110611979576119796121a5565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020548282815181106119b4576119b46121a5565b602090810291909101015260010161195b565b506119d58382600154611c7b565b600060015467ffffffffffffffff8111156119f2576119f26122d5565b604051908082528060200260200182016040528015611a1b578160200160208202803683370190505b50905060005b600154811015611a7757848181518110611a3d57611a3d6121a5565b6020026020010151828281518110611a5757611a576121a5565b6001600160a01b0390921660209283029190910190910152600101611a21565b50949350505050565b606081600001805480602002602001604051908101604052809291908181526020018280548015611ad057602002820191906000526020600020905b815481526020019060010190808311611abc575b50505050509050919050565b6000818152600183016020526040812054611b23575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556115e5565b5060006115e5565b611b3482611da7565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611b7957610a978282611e0c565b610e2c611e82565b60008181526001830160205260408120548015611c6a576000611ba5600183612225565b8554909150600090611bb990600190612225565b9050808214611c1e576000866000018281548110611bd957611bd96121a5565b9060005260206000200154905080876000018481548110611bfc57611bfc6121a5565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611c2f57611c2f6124a7565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506115e5565b60009150506115e5565b5092915050565b825160006001611c8c6002856124bd565b611c9691906124eb565b90505b60008112611cbf57611cad85858386611ea1565b80611cb78161250b565b915050611c99565b50815b81811015611da05783600081518110611cdd57611cdd6121a5565b6020026020010151848281518110611cf757611cf76121a5565b60200260200101511115611d9857838181518110611d1757611d176121a5565b602002602001015184600081518110611d3257611d326121a5565b602002602001018181525050848181518110611d5057611d506121a5565b602002602001015185600081518110611d6b57611d6b6121a5565b60200260200101906001600160a01b031690816001600160a01b031681525050611d988585600086611ea1565b600101611cc2565b5050505050565b806001600160a01b03163b600003611ddd57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610276565b60008051602061252983398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611e29919061242e565b600060405180830381855af49150503d8060008114611e64576040519150601f19603f3d011682016040523d82523d6000602084013e611e69565b606091505b5091509150611e7985838361206d565b95945050505050565b3415610e0f5760405163b398979f60e01b815260040160405180910390fd5b6000611eae8360026121d1565b611eb9906001612212565b90505b81811015611da05781611ed0826001612212565b108015611f18575083611ee4826001612212565b81518110611ef457611ef46121a5565b6020026020010151848281518110611f0e57611f0e6121a5565b6020026020010151115b15611f2b57611f28600182612212565b90505b838381518110611f3d57611f3d6121a5565b6020026020010151848281518110611f5757611f576121a5565b602002602001015111611da057838381518110611f7657611f766121a5565b6020026020010151848281518110611f9057611f906121a5565b6020026020010151858381518110611faa57611faa6121a5565b60200260200101868681518110611fc357611fc36121a5565b6020026020010182815250828152505050848381518110611fe657611fe66121a5565b6020026020010151858281518110612000576120006121a5565b602002602001015186838151811061201a5761201a6121a5565b60200260200101878681518110612033576120336121a5565b6001600160a01b0393841660209182029290920101529116905291508161205b8160026121d1565b612066906001612212565b9050611ebc565b6060826120825761207d826120c2565b61120f565b815115801561209957506001600160a01b0384163b155b15611c7457604051639996b31560e01b81526001600160a01b0385166004820152602401610276565b8051156120d25780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b82805482825590600052602060002090810192821561212b5760005260206000209182015b8281111561212b578254825591600101919060010190612110565b50612137929150612190565b5090565b82805482825590600052602060002090810192821561212b579160200282015b8281111561212b57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019061215b565b5b808211156121375760008155600101612191565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176115e5576115e56121bb565b634e487b7160e01b600052601260045260246000fd5b60008261220d5761220d6121e8565b500490565b808201808211156115e5576115e56121bb565b818103818111156115e5576115e56121bb565b6020808252825182820181905260009190848201906040850190845b818110156122795783516001600160a01b031683529284019291840191600101612254565b50909695505050505050565b60006020828403121561229757600080fd5b5035919050565b80356001600160a01b03811681146122b557600080fd5b919050565b6000602082840312156122cc57600080fd5b6115e28261229e565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156122fe57600080fd5b6123078361229e565b9150602083013567ffffffffffffffff8082111561232457600080fd5b818501915085601f83011261233857600080fd5b81358181111561234a5761234a6122d5565b604051601f8201601f19908116603f01168101908382118183101715612372576123726122d5565b8160405282815288602084870101111561238b57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600080604083850312156123c057600080fd5b6123c98361229e565b946020939093013593505050565b60005b838110156123f25781810151838201526020016123da565b50506000910152565b602081526000825180602084015261241a8160408501602087016123d7565b601f01601f19169190910160400192915050565b600082516124408184602087016123d7565b9190910192915050565b6020808252825482820181905260008481528281209092916040850190845b818110156122795783546001600160a01b031683526001938401939285019201612469565b6000602082840312156124a057600080fd5b5051919050565b634e487b7160e01b600052603160045260246000fd5b6000826124cc576124cc6121e8565b600160ff1b8214600019841416156124e6576124e66121bb565b500590565b8181036000831280158383131683831282161715611c7457611c746121bb565b6000600160ff1b8201612520576125206121bb565b50600019019056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220b015f0f58d95238a34a124b1f2a432eacd9551b6263a31392fc3f3ee94eb6dc564736f6c63430008180033" + }, + "0x1212100000000000000000000000000000000002": { + "balance": "0", + "code": "0x6080604052600436106100a75760003560e01c806390ac18661161006457806390ac18661461018a578063ad3cb1cc146101aa578063d96ed505146101e8578063e47d6060146101fe578063e4997dc51461022e578063f13c03af1461024e57600080fd5b80630ecb93c0146100ac57806326bd0c4e146100ce5780634f1ef2861461010857806352d1902d1461011b578063701b70ac1461013e57806389dc5c841461016e575b600080fd5b3480156100b857600080fd5b506100cc6100c7366004610d37565b610267565b005b3480156100da57600080fd5b506100eb600262012121608c1b0181565b6040516001600160a01b0390911681526020015b60405180910390f35b6100cc610116366004610d9b565b610406565b34801561012757600080fd5b50610130610425565b6040519081526020016100ff565b34801561014a57600080fd5b5061015e610159366004610d37565b610442565b60405190151581526020016100ff565b34801561017a57600080fd5b506100eb600361090960911b0181565b34801561019657600080fd5b506100cc6101a5366004610e43565b61050f565b3480156101b657600080fd5b506101db604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100ff9190610e80565b3480156101f457600080fd5b5061013060015481565b34801561020a57600080fd5b5061015e610219366004610d37565b60026020526000908152604090205460ff1681565b34801561023a57600080fd5b506100cc610249366004610d37565b610631565b34801561025a57600080fd5b506100eb61090960911b81565b604080516001600160a01b03831660208201527f4912b57f7ea75243ecaff76a75bdedbc13a6f58c1c967b0427b8aee0a276309e9101604051602081830303815290604052805190602001206102bc33610442565b6102e15760405162461bcd60e51b81526004016102d890610eb3565b60405180910390fd5b6102eb8282610778565b6102f582826107d6565b6102fe57505050565b6001600160a01b03831660009081526002602052604090205460ff16156103675760405162461bcd60e51b815260206004820181905260248201527f506f6c6963793a20426c61636b6c69737420616c72656164792065786973747360448201526064016102d8565b6001600160a01b038316600081815260026020908152604091829020805460ff1916600117905590519182527ff9dfc5050bb4c9b200f093a995458a80fb19943585b189fe5d317391abdc764591015b60405180910390a160408051838152602081018390527ff5aa3d6492eaf1a4d6787c5bd36e8ec61c245d4af2fd1fd387e387a50de9f8c5910160405180910390a1610401826108e8565b505050565b61040e6109ba565b61041782610a21565b6104218282610a64565b5050565b600061042f610b21565b5060008051602061103883398151915290565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561048b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104b39190810190610ed6565b905060005b8151811015610505578181815181106104d3576104d3610f88565b60200260200101516001600160a01b0316846001600160a01b0316036104fd575060019392505050565b6001016104b8565b5060009392505050565b7f0d48c1723f9a97946a942509ee525d5449a8f1d6460432fc2b267126c5cb1bce8160405160200161054391815260200190565b6040516020818303038152906040528051906020012061056233610442565b61057e5760405162461bcd60e51b81526004016102d890610eb3565b6105888282610778565b61059282826107d6565b61059b57505050565b600083116105fc5760405162461bcd60e51b815260206004820152602860248201527f506f6c6963793a207365744d696e476173507269636520696e76616c6964207060448201526730b930b6b2ba32b960c11b60648201526084016102d8565b60018390556040518381527f707bb10a9a561bf00f6acc0b0231a12146dc98352b4e8c8deb55e141ace32890906020016103b7565b604080516001600160a01b03831660208201527f310cc9bfce6443143f03d0cdc4d66afa0b3c689539eb3e65cb1820b56d67246591016040516020818303038152906040528051906020012061068633610442565b6106a25760405162461bcd60e51b81526004016102d890610eb3565b6106ac8282610778565b6106b682826107d6565b6106bf57505050565b6001600160a01b03831660009081526002602052604090205460ff166107275760405162461bcd60e51b815260206004820181905260248201527f506f6c6963793a20426c61636b6c69737420646f6573206e6f7420657869737460448201526064016102d8565b6001600160a01b038316600081815260026020908152604091829020805460ff1916905590519182527f2234edb6f393cd207251f6579b5852192c144c4c12b9cc32e80539ef12faed3f91016103b7565b6000828152602081815260408083203380855290835292819020849055805192835290820184905281018290527f61699483e2a58589628399a22e34da872b583143ab99b3245ba6dacf4974d2e39060600160405180910390a15050565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561081f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108479190810190610ed6565b90506000805b82518110156108c15784600080888152602001908152602001600020600085848151811061087d5761087d610f88565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054036108b957816108b581610fb4565b9250505b60010161084d565b506002825160016108d29190610fcd565b6108dc9190610fe0565b11159150505b92915050565b6000600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610930573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109589190810190610ed6565b905060005b815181101561040157600080848152602001908152602001600020600083838151811061098c5761098c610f88565b6020908102919091018101516001600160a01b0316825281019190915260400160009081205560010161095d565b30600262012121608c1b011480610a015750600262012121608c1b016109f5600080516020611038833981519152546001600160a01b031690565b6001600160a01b031614155b15610a1f5760405163703e46dd60e11b815260040160405180910390fd5b565b3361090960911b14610a615760405162461bcd60e51b81526020600482015260096024820152683737ba1030b236b4b760b91b60448201526064016102d8565b50565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610abe575060408051601f3d908101601f19168201909252610abb91810190611002565b60015b610ae657604051634c9c8ce360e01b81526001600160a01b03831660048201526024016102d8565b6000805160206110388339815191528114610b1757604051632a87526960e21b8152600481018290526024016102d8565b6104018383610b4a565b30600262012121608c1b0114610a1f5760405163703e46dd60e11b815260040160405180910390fd5b610b5382610ba0565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610b98576104018282610c05565b610421610c7b565b806001600160a01b03163b600003610bd657604051634c9c8ce360e01b81526001600160a01b03821660048201526024016102d8565b60008051602061103883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610c22919061101b565b600060405180830381855af49150503d8060008114610c5d576040519150601f19603f3d011682016040523d82523d6000602084013e610c62565b606091505b5091509150610c72858383610c9a565b95945050505050565b3415610a1f5760405163b398979f60e01b815260040160405180910390fd5b606082610caf57610caa82610cf9565b610cf2565b8151158015610cc657506001600160a01b0384163b155b15610cef57604051639996b31560e01b81526001600160a01b03851660048201526024016102d8565b50805b9392505050565b805115610d095780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6001600160a01b0381168114610a6157600080fd5b600060208284031215610d4957600080fd5b8135610cf281610d22565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610d9357610d93610d54565b604052919050565b60008060408385031215610dae57600080fd5b8235610db981610d22565b915060208381013567ffffffffffffffff80821115610dd757600080fd5b818601915086601f830112610deb57600080fd5b813581811115610dfd57610dfd610d54565b610e0f601f8201601f19168501610d6a565b91508082528784828501011115610e2557600080fd5b80848401858401376000848284010152508093505050509250929050565b600060208284031215610e5557600080fd5b5035919050565b60005b83811015610e77578181015183820152602001610e5f565b50506000910152565b6020815260008251806020840152610e9f816040850160208701610e5c565b601f01601f19169190910160400192915050565b6020808252600990820152683737ba1026b4b732b960b91b604082015260600190565b60006020808385031215610ee957600080fd5b825167ffffffffffffffff80821115610f0157600080fd5b818501915085601f830112610f1557600080fd5b815181811115610f2757610f27610d54565b8060051b9150610f38848301610d6a565b8181529183018401918481019088841115610f5257600080fd5b938501935b83851015610f7c5784519250610f6c83610d22565b8282529385019390850190610f57565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201610fc657610fc6610f9e565b5060010190565b808201808211156108e2576108e2610f9e565b600082610ffd57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561101457600080fd5b5051919050565b6000825161102d818460208701610e5c565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122080dc9c63474cff6584c343a283076a4aa9dce3cd3153430acf1110c38cf73d7a64736f6c63430008180033" + }, + "0x1212100000000000000000000000000000000003": { + "balance": "0", + "code": "0x60806040526004361061007f5760003560e01c80634f1ef2861161004e5780634f1ef2861461011e57806352d1902d14610131578063ad3cb1cc14610154578063f13c03af1461019257600080fd5b80631633da6e1461008b578063180cb47f146100b657806326bd0c4e146100ea5780633ccfd60b1461010757600080fd5b3661008657005b600080fd5b34801561009757600080fd5b506100a06101ab565b6040516100ad91906106f7565b60405180910390f35b3480156100c257600080fd5b506100d2600161090960911b0181565b6040516001600160a01b0390911681526020016100ad565b3480156100f657600080fd5b506100d2600362012121608c1b0181565b34801561011357600080fd5b5061011c610220565b005b61011c61012c3660046107a0565b610287565b34801561013d57600080fd5b506101466102a6565b6040519081526020016100ad565b34801561016057600080fd5b50610185604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100ad919061086c565b34801561019e57600080fd5b506100d261090960911b81565b6060600161090960911b016001600160a01b0316639f9d7f816040518163ffffffff1660e01b8152600401600060405180830381865afa1580156101f3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261021b919081019061089f565b905090565b33600161090960911b011461026d5760405162461bcd60e51b815260206004820152600e60248201526d6e6f7420676f7665726e616e636560901b60448201526064015b60405180910390fd5b471561028557610285600161090960911b01476102c3565b565b61028f610391565b610298826103f6565b6102a28282610439565b5050565b60006102b06104f6565b5060008051602061098783398151915290565b604080516000808252602082019092526001600160a01b0384169083906040516102ed9190610951565b60006040518083038185875af1925050503d806000811461032a576040519150601f19603f3d011682016040523d82523d6000602084013e61032f565b606091505b505090508061038c5760405162461bcd60e51b8152602060048201526024808201527f736166655472616e736665724554483a20455448207472616e736665722066616044820152631a5b195960e21b6064820152608401610264565b505050565b30600362012121608c1b0114806103d85750600362012121608c1b016103cc600080516020610987833981519152546001600160a01b031690565b6001600160a01b031614155b156102855760405163703e46dd60e11b815260040160405180910390fd5b3361090960911b146104365760405162461bcd60e51b81526020600482015260096024820152683737ba1030b236b4b760b91b6044820152606401610264565b50565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610493575060408051601f3d908101601f191682019092526104909181019061096d565b60015b6104bb57604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610264565b60008051602061098783398151915281146104ec57604051632a87526960e21b815260048101829052602401610264565b61038c838361051f565b30600362012121608c1b01146102855760405163703e46dd60e11b815260040160405180910390fd5b61052882610575565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561056d5761038c82826105da565b6102a2610650565b806001600160a01b03163b6000036105ab57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610264565b60008051602061098783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516105f79190610951565b600060405180830381855af49150503d8060008114610632576040519150601f19603f3d011682016040523d82523d6000602084013e610637565b606091505b509150915061064785838361066f565b95945050505050565b34156102855760405163b398979f60e01b815260040160405180910390fd5b6060826106845761067f826106ce565b6106c7565b815115801561069b57506001600160a01b0384163b155b156106c457604051639996b31560e01b81526001600160a01b0385166004820152602401610264565b50805b9392505050565b8051156106de5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6020808252825182820181905260009190848201906040850190845b818110156107385783516001600160a01b031683529284019291840191600101610713565b50909695505050505050565b6001600160a01b038116811461043657600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561079857610798610759565b604052919050565b600080604083850312156107b357600080fd5b82356107be81610744565b915060208381013567ffffffffffffffff808211156107dc57600080fd5b818601915086601f8301126107f057600080fd5b81358181111561080257610802610759565b610814601f8201601f1916850161076f565b9150808252878482850101111561082a57600080fd5b80848401858401376000848284010152508093505050509250929050565b60005b8381101561086357818101518382015260200161084b565b50506000910152565b602081526000825180602084015261088b816040850160208701610848565b601f01601f19169190910160400192915050565b600060208083850312156108b257600080fd5b825167ffffffffffffffff808211156108ca57600080fd5b818501915085601f8301126108de57600080fd5b8151818111156108f0576108f0610759565b8060051b915061090184830161076f565b818152918301840191848101908884111561091b57600080fd5b938501935b83851015610945578451925061093583610744565b8282529385019390850190610920565b98975050505050505050565b60008251610963818460208701610848565b9190910192915050565b60006020828403121561097f57600080fd5b505191905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220d7431b8c55135acd14277140c3e792e737dd67435ac1ab986730e38b73f30c0064736f6c63430008180033" } } -} +} \ No newline at end of file From 8e76e8cb5b69d9bc09ca6624bfe8cc7c02be17bc Mon Sep 17 00:00:00 2001 From: txhsl <799498265@qq.com> Date: Mon, 15 Apr 2024 17:47:00 +0800 Subject: [PATCH 3/4] governance: add basefee setting to policy contract --- config/genesis_testnet.json | 5 +-- contracts/solidity/Policy.sol | 49 +++++++++++++++++++---------- privnet/four/genesis_privnet.json | 5 +-- privnet/seven/genesis_privnet.json | 5 +-- privnet/single/genesis_privnet.json | 5 +-- 5 files changed, 45 insertions(+), 24 deletions(-) diff --git a/config/genesis_testnet.json b/config/genesis_testnet.json index 18cc47e7cc..b24b1437df 100644 --- a/config/genesis_testnet.json +++ b/config/genesis_testnet.json @@ -69,7 +69,8 @@ "balance": "0", "code": "0x6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea2646970667358221220965379b4e29f73cf2ee1957914dc167d4751357fc5df24ccd8586bd4bf9b47e964736f6c63430008180033", "storage": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x989680", + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x3b9aca00", + "0x0000000000000000000000000000000000000000000000000000000000000003": "0x3b9aca00", "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x1212100000000000000000000000000000000002" } }, @@ -86,7 +87,7 @@ }, "0x1212100000000000000000000000000000000002": { "balance": "0", - "code": "0x6080604052600436106100a75760003560e01c806390ac18661161006457806390ac18661461018a578063ad3cb1cc146101aa578063d96ed505146101e8578063e47d6060146101fe578063e4997dc51461022e578063f13c03af1461024e57600080fd5b80630ecb93c0146100ac57806326bd0c4e146100ce5780634f1ef2861461010857806352d1902d1461011b578063701b70ac1461013e57806389dc5c841461016e575b600080fd5b3480156100b857600080fd5b506100cc6100c7366004610d37565b610267565b005b3480156100da57600080fd5b506100eb600262012121608c1b0181565b6040516001600160a01b0390911681526020015b60405180910390f35b6100cc610116366004610d9b565b610406565b34801561012757600080fd5b50610130610425565b6040519081526020016100ff565b34801561014a57600080fd5b5061015e610159366004610d37565b610442565b60405190151581526020016100ff565b34801561017a57600080fd5b506100eb600361090960911b0181565b34801561019657600080fd5b506100cc6101a5366004610e43565b61050f565b3480156101b657600080fd5b506101db604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100ff9190610e80565b3480156101f457600080fd5b5061013060015481565b34801561020a57600080fd5b5061015e610219366004610d37565b60026020526000908152604090205460ff1681565b34801561023a57600080fd5b506100cc610249366004610d37565b610631565b34801561025a57600080fd5b506100eb61090960911b81565b604080516001600160a01b03831660208201527f4912b57f7ea75243ecaff76a75bdedbc13a6f58c1c967b0427b8aee0a276309e9101604051602081830303815290604052805190602001206102bc33610442565b6102e15760405162461bcd60e51b81526004016102d890610eb3565b60405180910390fd5b6102eb8282610778565b6102f582826107d6565b6102fe57505050565b6001600160a01b03831660009081526002602052604090205460ff16156103675760405162461bcd60e51b815260206004820181905260248201527f506f6c6963793a20426c61636b6c69737420616c72656164792065786973747360448201526064016102d8565b6001600160a01b038316600081815260026020908152604091829020805460ff1916600117905590519182527ff9dfc5050bb4c9b200f093a995458a80fb19943585b189fe5d317391abdc764591015b60405180910390a160408051838152602081018390527ff5aa3d6492eaf1a4d6787c5bd36e8ec61c245d4af2fd1fd387e387a50de9f8c5910160405180910390a1610401826108e8565b505050565b61040e6109ba565b61041782610a21565b6104218282610a64565b5050565b600061042f610b21565b5060008051602061103883398151915290565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561048b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104b39190810190610ed6565b905060005b8151811015610505578181815181106104d3576104d3610f88565b60200260200101516001600160a01b0316846001600160a01b0316036104fd575060019392505050565b6001016104b8565b5060009392505050565b7f0d48c1723f9a97946a942509ee525d5449a8f1d6460432fc2b267126c5cb1bce8160405160200161054391815260200190565b6040516020818303038152906040528051906020012061056233610442565b61057e5760405162461bcd60e51b81526004016102d890610eb3565b6105888282610778565b61059282826107d6565b61059b57505050565b600083116105fc5760405162461bcd60e51b815260206004820152602860248201527f506f6c6963793a207365744d696e476173507269636520696e76616c6964207060448201526730b930b6b2ba32b960c11b60648201526084016102d8565b60018390556040518381527f707bb10a9a561bf00f6acc0b0231a12146dc98352b4e8c8deb55e141ace32890906020016103b7565b604080516001600160a01b03831660208201527f310cc9bfce6443143f03d0cdc4d66afa0b3c689539eb3e65cb1820b56d67246591016040516020818303038152906040528051906020012061068633610442565b6106a25760405162461bcd60e51b81526004016102d890610eb3565b6106ac8282610778565b6106b682826107d6565b6106bf57505050565b6001600160a01b03831660009081526002602052604090205460ff166107275760405162461bcd60e51b815260206004820181905260248201527f506f6c6963793a20426c61636b6c69737420646f6573206e6f7420657869737460448201526064016102d8565b6001600160a01b038316600081815260026020908152604091829020805460ff1916905590519182527f2234edb6f393cd207251f6579b5852192c144c4c12b9cc32e80539ef12faed3f91016103b7565b6000828152602081815260408083203380855290835292819020849055805192835290820184905281018290527f61699483e2a58589628399a22e34da872b583143ab99b3245ba6dacf4974d2e39060600160405180910390a15050565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561081f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108479190810190610ed6565b90506000805b82518110156108c15784600080888152602001908152602001600020600085848151811061087d5761087d610f88565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054036108b957816108b581610fb4565b9250505b60010161084d565b506002825160016108d29190610fcd565b6108dc9190610fe0565b11159150505b92915050565b6000600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610930573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109589190810190610ed6565b905060005b815181101561040157600080848152602001908152602001600020600083838151811061098c5761098c610f88565b6020908102919091018101516001600160a01b0316825281019190915260400160009081205560010161095d565b30600262012121608c1b011480610a015750600262012121608c1b016109f5600080516020611038833981519152546001600160a01b031690565b6001600160a01b031614155b15610a1f5760405163703e46dd60e11b815260040160405180910390fd5b565b3361090960911b14610a615760405162461bcd60e51b81526020600482015260096024820152683737ba1030b236b4b760b91b60448201526064016102d8565b50565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610abe575060408051601f3d908101601f19168201909252610abb91810190611002565b60015b610ae657604051634c9c8ce360e01b81526001600160a01b03831660048201526024016102d8565b6000805160206110388339815191528114610b1757604051632a87526960e21b8152600481018290526024016102d8565b6104018383610b4a565b30600262012121608c1b0114610a1f5760405163703e46dd60e11b815260040160405180910390fd5b610b5382610ba0565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610b98576104018282610c05565b610421610c7b565b806001600160a01b03163b600003610bd657604051634c9c8ce360e01b81526001600160a01b03821660048201526024016102d8565b60008051602061103883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610c22919061101b565b600060405180830381855af49150503d8060008114610c5d576040519150601f19603f3d011682016040523d82523d6000602084013e610c62565b606091505b5091509150610c72858383610c9a565b95945050505050565b3415610a1f5760405163b398979f60e01b815260040160405180910390fd5b606082610caf57610caa82610cf9565b610cf2565b8151158015610cc657506001600160a01b0384163b155b15610cef57604051639996b31560e01b81526001600160a01b03851660048201526024016102d8565b50805b9392505050565b805115610d095780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6001600160a01b0381168114610a6157600080fd5b600060208284031215610d4957600080fd5b8135610cf281610d22565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610d9357610d93610d54565b604052919050565b60008060408385031215610dae57600080fd5b8235610db981610d22565b915060208381013567ffffffffffffffff80821115610dd757600080fd5b818601915086601f830112610deb57600080fd5b813581811115610dfd57610dfd610d54565b610e0f601f8201601f19168501610d6a565b91508082528784828501011115610e2557600080fd5b80848401858401376000848284010152508093505050509250929050565b600060208284031215610e5557600080fd5b5035919050565b60005b83811015610e77578181015183820152602001610e5f565b50506000910152565b6020815260008251806020840152610e9f816040850160208701610e5c565b601f01601f19169190910160400192915050565b6020808252600990820152683737ba1026b4b732b960b91b604082015260600190565b60006020808385031215610ee957600080fd5b825167ffffffffffffffff80821115610f0157600080fd5b818501915085601f830112610f1557600080fd5b815181811115610f2757610f27610d54565b8060051b9150610f38848301610d6a565b8181529183018401918481019088841115610f5257600080fd5b938501935b83851015610f7c5784519250610f6c83610d22565b8282529385019390850190610f57565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201610fc657610fc6610f9e565b5060010190565b808201808211156108e2576108e2610f9e565b600082610ffd57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561101457600080fd5b5051919050565b6000825161102d818460208701610e5c565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122080dc9c63474cff6584c343a283076a4aa9dce3cd3153430acf1110c38cf73d7a64736f6c63430008180033" + "code": "0x6080604052600436106100d9575f3560e01c8063701b70ac1161007c578063c8ad845f11610057578063c8ad845f14610246578063e47d60601461025b578063e4997dc514610289578063f13c03af146102a8575f80fd5b8063701b70ac146101bf57806389dc5c84146101ee578063ad3cb1cc14610209575f80fd5b806346860698116100b757806346860698146101565780634f1ef2861461017557806352d1902d146101885780636ef25c3a146101aa575f80fd5b80630b9076eb146100dd5780630ecb93c0146100fe57806326bd0c4e1461011d575b5f80fd5b3480156100e8575f80fd5b506100fc6100f7366004610e6d565b6102c0565b005b348015610109575f80fd5b506100fc610118366004610e98565b610436565b348015610128575f80fd5b50610139600262012121608c1b0181565b6040516001600160a01b0390911681526020015b60405180910390f35b348015610161575f80fd5b506100fc610170366004610e6d565b610580565b6100fc610183366004610ef8565b61069c565b348015610193575f80fd5b5061019c6106bb565b60405190815260200161014d565b3480156101b5575f80fd5b5061019c60035481565b3480156101ca575f80fd5b506101de6101d9366004610e98565b6106d6565b604051901515815260200161014d565b3480156101f9575f80fd5b50610139600361090960911b0181565b348015610214575f80fd5b50610239604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161014d9190610fbc565b348015610251575f80fd5b5061019c60025481565b348015610266575f80fd5b506101de610275366004610e98565b60016020525f908152604090205460ff1681565b348015610294575f80fd5b506100fc6102a3366004610e98565b61079c565b3480156102b3575f80fd5b5061013961090960911b81565b7f089197e4f35b8ada456b5531e8c1759ee3fce703602a3a957b5c9d2831082156816040516020016102f491815260200190565b60405160208183030381529060405280519060200120610313336106d6565b6103385760405162461bcd60e51b815260040161032f90610fee565b60405180910390fd5b61034282826108e1565b61034c828261093e565b61035557505050565b5f83116103b65760405162461bcd60e51b815260206004820152602960248201527f506f6c6963793a207365744d696e47617354697043617020696e76616c6964206044820152683830b930b6b2ba32b960b91b606482015260840161032f565b60028390556040518381527fadf2040581c9d6bab65240fcceb1460629e2cdc4479a93b951e441ed0b0e736e906020015b60405180910390a160408051838152602081018390527ff5aa3d6492eaf1a4d6787c5bd36e8ec61c245d4af2fd1fd387e387a50de9f8c5910160405180910390a161043182610a46565b505050565b604080516001600160a01b03831660208201527f4912b57f7ea75243ecaff76a75bdedbc13a6f58c1c967b0427b8aee0a276309e91016040516020818303038152906040528051906020012061048b336106d6565b6104a75760405162461bcd60e51b815260040161032f90610fee565b6104b182826108e1565b6104bb828261093e565b6104c457505050565b6001600160a01b0383165f9081526001602052604090205460ff161561052c5760405162461bcd60e51b815260206004820181905260248201527f506f6c6963793a20426c61636b6c69737420616c726561647920657869737473604482015260640161032f565b6001600160a01b0383165f81815260016020818152604092839020805460ff191690921790915590519182527ff9dfc5050bb4c9b200f093a995458a80fb19943585b189fe5d317391abdc764591016103e7565b7f83113031fe9312a872d9176bc1a087dc38ca109c517a596998332e2fb8409acc816040516020016105b491815260200190565b604051602081830303815290604052805190602001206105d3336106d6565b6105ef5760405162461bcd60e51b815260040161032f90610fee565b6105f982826108e1565b610603828261093e565b61060c57505050565b5f83116106675760405162461bcd60e51b8152602060048201526024808201527f506f6c6963793a207365744261736546656520696e76616c696420706172616d60448201526332ba32b960e11b606482015260840161032f565b60038390556040518381527f48088f7344150254476b72fd1071b7258bae6f047a065f4e1ea1506f505e49c1906020016103e7565b6106a4610b0e565b6106ad82610b74565b6106b78282610bb7565b5050565b5f6106c4610c73565b505f8051602061116383398151915290565b5f80600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561071b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526107429190810190611011565b90505f5b815181101561079357818181518110610761576107616110be565b60200260200101516001600160a01b0316846001600160a01b03160361078b575060019392505050565b600101610746565b505f9392505050565b604080516001600160a01b03831660208201527f310cc9bfce6443143f03d0cdc4d66afa0b3c689539eb3e65cb1820b56d6724659101604051602081830303815290604052805190602001206107f1336106d6565b61080d5760405162461bcd60e51b815260040161032f90610fee565b61081782826108e1565b610821828261093e565b61082a57505050565b6001600160a01b0383165f9081526001602052604090205460ff166108915760405162461bcd60e51b815260206004820181905260248201527f506f6c6963793a20426c61636b6c69737420646f6573206e6f74206578697374604482015260640161032f565b6001600160a01b0383165f81815260016020908152604091829020805460ff1916905590519182527f2234edb6f393cd207251f6579b5852192c144c4c12b9cc32e80539ef12faed3f91016103e7565b5f828152602081815260408083203380855290835292819020849055805192835290820184905281018290527f61699483e2a58589628399a22e34da872b583143ab99b3245ba6dacf4974d2e39060600160405180910390a15050565b5f80600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b81526004015f60405180830381865afa158015610983573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109aa9190810190611011565b90505f805b8251811015610a1f57845f808881526020019081526020015f205f8584815181106109dc576109dc6110be565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205403610a175781610a13816110e6565b9250505b6001016109af565b50600282516001610a3091906110fe565b610a3a9190611111565b11159150505b92915050565b5f600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b81526004015f60405180830381865afa158015610a8a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610ab19190810190611011565b90505f5b8151811015610431575f808481526020019081526020015f205f838381518110610ae157610ae16110be565b6020908102919091018101516001600160a01b031682528101919091526040015f90812055600101610ab5565b30600262012121608c1b011480610b545750600262012121608c1b01610b485f80516020611163833981519152546001600160a01b031690565b6001600160a01b031614155b15610b725760405163703e46dd60e11b815260040160405180910390fd5b565b3361090960911b14610bb45760405162461bcd60e51b81526020600482015260096024820152683737ba1030b236b4b760b91b604482015260640161032f565b50565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610c11575060408051601f3d908101601f19168201909252610c0e91810190611130565b60015b610c3957604051634c9c8ce360e01b81526001600160a01b038316600482015260240161032f565b5f805160206111638339815191528114610c6957604051632a87526960e21b81526004810182905260240161032f565b6104318383610c9c565b30600262012121608c1b0114610b725760405163703e46dd60e11b815260040160405180910390fd5b610ca582610cf1565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a2805115610ce9576104318282610d54565b6106b7610dc6565b806001600160a01b03163b5f03610d2657604051634c9c8ce360e01b81526001600160a01b038216600482015260240161032f565b5f8051602061116383398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b60605f80846001600160a01b031684604051610d709190611147565b5f60405180830381855af49150503d805f8114610da8576040519150601f19603f3d011682016040523d82523d5f602084013e610dad565b606091505b5091509150610dbd858383610de5565b95945050505050565b3415610b725760405163b398979f60e01b815260040160405180910390fd5b606082610dfa57610df582610e44565b610e3d565b8151158015610e1157506001600160a01b0384163b155b15610e3a57604051639996b31560e01b81526001600160a01b038516600482015260240161032f565b50805b9392505050565b805115610e545780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b5f60208284031215610e7d575f80fd5b5035919050565b6001600160a01b0381168114610bb4575f80fd5b5f60208284031215610ea8575f80fd5b8135610e3d81610e84565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610ef057610ef0610eb3565b604052919050565b5f8060408385031215610f09575f80fd5b8235610f1481610e84565b915060208381013567ffffffffffffffff80821115610f31575f80fd5b818601915086601f830112610f44575f80fd5b813581811115610f5657610f56610eb3565b610f68601f8201601f19168501610ec7565b91508082528784828501011115610f7d575f80fd5b80848401858401375f848284010152508093505050509250929050565b5f5b83811015610fb4578181015183820152602001610f9c565b50505f910152565b602081525f8251806020840152610fda816040850160208701610f9a565b601f01601f19169190910160400192915050565b6020808252600990820152682737ba1026b4b732b960b91b604082015260600190565b5f6020808385031215611022575f80fd5b825167ffffffffffffffff80821115611039575f80fd5b818501915085601f83011261104c575f80fd5b81518181111561105e5761105e610eb3565b8060051b915061106f848301610ec7565b8181529183018401918481019088841115611088575f80fd5b938501935b838510156110b257845192506110a283610e84565b828252938501939085019061108d565b98975050505050505050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f600182016110f7576110f76110d2565b5060010190565b80820180821115610a4057610a406110d2565b5f8261112b57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215611140575f80fd5b5051919050565b5f8251611158818460208701610f9a565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122089dfe3565023f4c6591e38aaad5e48f06504be92d0f42a51c97c99b4edbf169664736f6c63430008180033" }, "0x1212100000000000000000000000000000000003": { "balance": "0", diff --git a/contracts/solidity/Policy.sol b/contracts/solidity/Policy.sol index af90d610ad..dbca634584 100644 --- a/contracts/solidity/Policy.sol +++ b/contracts/solidity/Policy.sol @@ -9,12 +9,14 @@ contract Policy is GovernanceVote, UUPSUpgradeable { address public constant GOV_ADMIN = 0x1212000000000000000000000000000000000000; - uint256 public minGasPrice; mapping(address => bool) public isBlackListed; + uint256 public minGasTipCap; + uint256 public baseFee; - event SetMinGasPrice(uint256 gasPrice); event AddBlackList(address addr); event RemoveBlackList(address addr); + event SetMinGasTipCap(uint256 gasTipCap); + event SetBaseFee(uint256 baseFee); modifier onlyAdmin() { require(msg.sender == GOV_ADMIN, "not admin"); @@ -45,19 +47,7 @@ contract Policy is GovernanceVote, UUPSUpgradeable { } } - // set minimum gasprice - function setMinGasPrice( - uint256 _gasPrice - ) - external - needVote(keccak256("setMinGasPrice"), keccak256(abi.encode(_gasPrice))) - { - require(_gasPrice > 0, "Policy: setMinGasPrice invalid parameter"); - minGasPrice = _gasPrice; - emit SetMinGasPrice(_gasPrice); - } - - // add blacklist + // add blacklist function addBlackList( address _addr ) @@ -69,7 +59,7 @@ contract Policy is GovernanceVote, UUPSUpgradeable { emit AddBlackList(_addr); } - // remove blacklist + // remove blacklist function removeBlackList( address _addr ) @@ -80,4 +70,31 @@ contract Policy is GovernanceVote, UUPSUpgradeable { delete isBlackListed[_addr]; emit RemoveBlackList(_addr); } + + // set minimum gas tip cap + function setMinGasTipCap( + uint256 _gasTipCap + ) + external + needVote( + keccak256("setMinGasTipCap"), + keccak256(abi.encode(_gasTipCap)) + ) + { + require(_gasTipCap > 0, "Policy: setMinGasTipCap invalid parameter"); + minGasTipCap = _gasTipCap; + emit SetMinGasTipCap(_gasTipCap); + } + + // set base fee + function setBaseFee( + uint256 _baseFee + ) + external + needVote(keccak256("setBaseFee"), keccak256(abi.encode(_baseFee))) + { + require(_baseFee > 0, "Policy: setBaseFee invalid parameter"); + baseFee = _baseFee; + emit SetBaseFee(_baseFee); + } } diff --git a/privnet/four/genesis_privnet.json b/privnet/four/genesis_privnet.json index c74409232e..54ed13ec3a 100644 --- a/privnet/four/genesis_privnet.json +++ b/privnet/four/genesis_privnet.json @@ -75,7 +75,8 @@ "balance": "0", "code": "0x6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea2646970667358221220965379b4e29f73cf2ee1957914dc167d4751357fc5df24ccd8586bd4bf9b47e964736f6c63430008180033", "storage": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x989680", + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x3b9aca00", + "0x0000000000000000000000000000000000000000000000000000000000000003": "0x3b9aca00", "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x1212100000000000000000000000000000000002" } }, @@ -92,7 +93,7 @@ }, "0x1212100000000000000000000000000000000002": { "balance": "0", - "code": "0x6080604052600436106100a75760003560e01c806390ac18661161006457806390ac18661461018a578063ad3cb1cc146101aa578063d96ed505146101e8578063e47d6060146101fe578063e4997dc51461022e578063f13c03af1461024e57600080fd5b80630ecb93c0146100ac57806326bd0c4e146100ce5780634f1ef2861461010857806352d1902d1461011b578063701b70ac1461013e57806389dc5c841461016e575b600080fd5b3480156100b857600080fd5b506100cc6100c7366004610d37565b610267565b005b3480156100da57600080fd5b506100eb600262012121608c1b0181565b6040516001600160a01b0390911681526020015b60405180910390f35b6100cc610116366004610d9b565b610406565b34801561012757600080fd5b50610130610425565b6040519081526020016100ff565b34801561014a57600080fd5b5061015e610159366004610d37565b610442565b60405190151581526020016100ff565b34801561017a57600080fd5b506100eb600361090960911b0181565b34801561019657600080fd5b506100cc6101a5366004610e43565b61050f565b3480156101b657600080fd5b506101db604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100ff9190610e80565b3480156101f457600080fd5b5061013060015481565b34801561020a57600080fd5b5061015e610219366004610d37565b60026020526000908152604090205460ff1681565b34801561023a57600080fd5b506100cc610249366004610d37565b610631565b34801561025a57600080fd5b506100eb61090960911b81565b604080516001600160a01b03831660208201527f4912b57f7ea75243ecaff76a75bdedbc13a6f58c1c967b0427b8aee0a276309e9101604051602081830303815290604052805190602001206102bc33610442565b6102e15760405162461bcd60e51b81526004016102d890610eb3565b60405180910390fd5b6102eb8282610778565b6102f582826107d6565b6102fe57505050565b6001600160a01b03831660009081526002602052604090205460ff16156103675760405162461bcd60e51b815260206004820181905260248201527f506f6c6963793a20426c61636b6c69737420616c72656164792065786973747360448201526064016102d8565b6001600160a01b038316600081815260026020908152604091829020805460ff1916600117905590519182527ff9dfc5050bb4c9b200f093a995458a80fb19943585b189fe5d317391abdc764591015b60405180910390a160408051838152602081018390527ff5aa3d6492eaf1a4d6787c5bd36e8ec61c245d4af2fd1fd387e387a50de9f8c5910160405180910390a1610401826108e8565b505050565b61040e6109ba565b61041782610a21565b6104218282610a64565b5050565b600061042f610b21565b5060008051602061103883398151915290565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561048b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104b39190810190610ed6565b905060005b8151811015610505578181815181106104d3576104d3610f88565b60200260200101516001600160a01b0316846001600160a01b0316036104fd575060019392505050565b6001016104b8565b5060009392505050565b7f0d48c1723f9a97946a942509ee525d5449a8f1d6460432fc2b267126c5cb1bce8160405160200161054391815260200190565b6040516020818303038152906040528051906020012061056233610442565b61057e5760405162461bcd60e51b81526004016102d890610eb3565b6105888282610778565b61059282826107d6565b61059b57505050565b600083116105fc5760405162461bcd60e51b815260206004820152602860248201527f506f6c6963793a207365744d696e476173507269636520696e76616c6964207060448201526730b930b6b2ba32b960c11b60648201526084016102d8565b60018390556040518381527f707bb10a9a561bf00f6acc0b0231a12146dc98352b4e8c8deb55e141ace32890906020016103b7565b604080516001600160a01b03831660208201527f310cc9bfce6443143f03d0cdc4d66afa0b3c689539eb3e65cb1820b56d67246591016040516020818303038152906040528051906020012061068633610442565b6106a25760405162461bcd60e51b81526004016102d890610eb3565b6106ac8282610778565b6106b682826107d6565b6106bf57505050565b6001600160a01b03831660009081526002602052604090205460ff166107275760405162461bcd60e51b815260206004820181905260248201527f506f6c6963793a20426c61636b6c69737420646f6573206e6f7420657869737460448201526064016102d8565b6001600160a01b038316600081815260026020908152604091829020805460ff1916905590519182527f2234edb6f393cd207251f6579b5852192c144c4c12b9cc32e80539ef12faed3f91016103b7565b6000828152602081815260408083203380855290835292819020849055805192835290820184905281018290527f61699483e2a58589628399a22e34da872b583143ab99b3245ba6dacf4974d2e39060600160405180910390a15050565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561081f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108479190810190610ed6565b90506000805b82518110156108c15784600080888152602001908152602001600020600085848151811061087d5761087d610f88565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054036108b957816108b581610fb4565b9250505b60010161084d565b506002825160016108d29190610fcd565b6108dc9190610fe0565b11159150505b92915050565b6000600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610930573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109589190810190610ed6565b905060005b815181101561040157600080848152602001908152602001600020600083838151811061098c5761098c610f88565b6020908102919091018101516001600160a01b0316825281019190915260400160009081205560010161095d565b30600262012121608c1b011480610a015750600262012121608c1b016109f5600080516020611038833981519152546001600160a01b031690565b6001600160a01b031614155b15610a1f5760405163703e46dd60e11b815260040160405180910390fd5b565b3361090960911b14610a615760405162461bcd60e51b81526020600482015260096024820152683737ba1030b236b4b760b91b60448201526064016102d8565b50565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610abe575060408051601f3d908101601f19168201909252610abb91810190611002565b60015b610ae657604051634c9c8ce360e01b81526001600160a01b03831660048201526024016102d8565b6000805160206110388339815191528114610b1757604051632a87526960e21b8152600481018290526024016102d8565b6104018383610b4a565b30600262012121608c1b0114610a1f5760405163703e46dd60e11b815260040160405180910390fd5b610b5382610ba0565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610b98576104018282610c05565b610421610c7b565b806001600160a01b03163b600003610bd657604051634c9c8ce360e01b81526001600160a01b03821660048201526024016102d8565b60008051602061103883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610c22919061101b565b600060405180830381855af49150503d8060008114610c5d576040519150601f19603f3d011682016040523d82523d6000602084013e610c62565b606091505b5091509150610c72858383610c9a565b95945050505050565b3415610a1f5760405163b398979f60e01b815260040160405180910390fd5b606082610caf57610caa82610cf9565b610cf2565b8151158015610cc657506001600160a01b0384163b155b15610cef57604051639996b31560e01b81526001600160a01b03851660048201526024016102d8565b50805b9392505050565b805115610d095780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6001600160a01b0381168114610a6157600080fd5b600060208284031215610d4957600080fd5b8135610cf281610d22565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610d9357610d93610d54565b604052919050565b60008060408385031215610dae57600080fd5b8235610db981610d22565b915060208381013567ffffffffffffffff80821115610dd757600080fd5b818601915086601f830112610deb57600080fd5b813581811115610dfd57610dfd610d54565b610e0f601f8201601f19168501610d6a565b91508082528784828501011115610e2557600080fd5b80848401858401376000848284010152508093505050509250929050565b600060208284031215610e5557600080fd5b5035919050565b60005b83811015610e77578181015183820152602001610e5f565b50506000910152565b6020815260008251806020840152610e9f816040850160208701610e5c565b601f01601f19169190910160400192915050565b6020808252600990820152683737ba1026b4b732b960b91b604082015260600190565b60006020808385031215610ee957600080fd5b825167ffffffffffffffff80821115610f0157600080fd5b818501915085601f830112610f1557600080fd5b815181811115610f2757610f27610d54565b8060051b9150610f38848301610d6a565b8181529183018401918481019088841115610f5257600080fd5b938501935b83851015610f7c5784519250610f6c83610d22565b8282529385019390850190610f57565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201610fc657610fc6610f9e565b5060010190565b808201808211156108e2576108e2610f9e565b600082610ffd57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561101457600080fd5b5051919050565b6000825161102d818460208701610e5c565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122080dc9c63474cff6584c343a283076a4aa9dce3cd3153430acf1110c38cf73d7a64736f6c63430008180033" + "code": "0x6080604052600436106100d9575f3560e01c8063701b70ac1161007c578063c8ad845f11610057578063c8ad845f14610246578063e47d60601461025b578063e4997dc514610289578063f13c03af146102a8575f80fd5b8063701b70ac146101bf57806389dc5c84146101ee578063ad3cb1cc14610209575f80fd5b806346860698116100b757806346860698146101565780634f1ef2861461017557806352d1902d146101885780636ef25c3a146101aa575f80fd5b80630b9076eb146100dd5780630ecb93c0146100fe57806326bd0c4e1461011d575b5f80fd5b3480156100e8575f80fd5b506100fc6100f7366004610e6d565b6102c0565b005b348015610109575f80fd5b506100fc610118366004610e98565b610436565b348015610128575f80fd5b50610139600262012121608c1b0181565b6040516001600160a01b0390911681526020015b60405180910390f35b348015610161575f80fd5b506100fc610170366004610e6d565b610580565b6100fc610183366004610ef8565b61069c565b348015610193575f80fd5b5061019c6106bb565b60405190815260200161014d565b3480156101b5575f80fd5b5061019c60035481565b3480156101ca575f80fd5b506101de6101d9366004610e98565b6106d6565b604051901515815260200161014d565b3480156101f9575f80fd5b50610139600361090960911b0181565b348015610214575f80fd5b50610239604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161014d9190610fbc565b348015610251575f80fd5b5061019c60025481565b348015610266575f80fd5b506101de610275366004610e98565b60016020525f908152604090205460ff1681565b348015610294575f80fd5b506100fc6102a3366004610e98565b61079c565b3480156102b3575f80fd5b5061013961090960911b81565b7f089197e4f35b8ada456b5531e8c1759ee3fce703602a3a957b5c9d2831082156816040516020016102f491815260200190565b60405160208183030381529060405280519060200120610313336106d6565b6103385760405162461bcd60e51b815260040161032f90610fee565b60405180910390fd5b61034282826108e1565b61034c828261093e565b61035557505050565b5f83116103b65760405162461bcd60e51b815260206004820152602960248201527f506f6c6963793a207365744d696e47617354697043617020696e76616c6964206044820152683830b930b6b2ba32b960b91b606482015260840161032f565b60028390556040518381527fadf2040581c9d6bab65240fcceb1460629e2cdc4479a93b951e441ed0b0e736e906020015b60405180910390a160408051838152602081018390527ff5aa3d6492eaf1a4d6787c5bd36e8ec61c245d4af2fd1fd387e387a50de9f8c5910160405180910390a161043182610a46565b505050565b604080516001600160a01b03831660208201527f4912b57f7ea75243ecaff76a75bdedbc13a6f58c1c967b0427b8aee0a276309e91016040516020818303038152906040528051906020012061048b336106d6565b6104a75760405162461bcd60e51b815260040161032f90610fee565b6104b182826108e1565b6104bb828261093e565b6104c457505050565b6001600160a01b0383165f9081526001602052604090205460ff161561052c5760405162461bcd60e51b815260206004820181905260248201527f506f6c6963793a20426c61636b6c69737420616c726561647920657869737473604482015260640161032f565b6001600160a01b0383165f81815260016020818152604092839020805460ff191690921790915590519182527ff9dfc5050bb4c9b200f093a995458a80fb19943585b189fe5d317391abdc764591016103e7565b7f83113031fe9312a872d9176bc1a087dc38ca109c517a596998332e2fb8409acc816040516020016105b491815260200190565b604051602081830303815290604052805190602001206105d3336106d6565b6105ef5760405162461bcd60e51b815260040161032f90610fee565b6105f982826108e1565b610603828261093e565b61060c57505050565b5f83116106675760405162461bcd60e51b8152602060048201526024808201527f506f6c6963793a207365744261736546656520696e76616c696420706172616d60448201526332ba32b960e11b606482015260840161032f565b60038390556040518381527f48088f7344150254476b72fd1071b7258bae6f047a065f4e1ea1506f505e49c1906020016103e7565b6106a4610b0e565b6106ad82610b74565b6106b78282610bb7565b5050565b5f6106c4610c73565b505f8051602061116383398151915290565b5f80600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561071b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526107429190810190611011565b90505f5b815181101561079357818181518110610761576107616110be565b60200260200101516001600160a01b0316846001600160a01b03160361078b575060019392505050565b600101610746565b505f9392505050565b604080516001600160a01b03831660208201527f310cc9bfce6443143f03d0cdc4d66afa0b3c689539eb3e65cb1820b56d6724659101604051602081830303815290604052805190602001206107f1336106d6565b61080d5760405162461bcd60e51b815260040161032f90610fee565b61081782826108e1565b610821828261093e565b61082a57505050565b6001600160a01b0383165f9081526001602052604090205460ff166108915760405162461bcd60e51b815260206004820181905260248201527f506f6c6963793a20426c61636b6c69737420646f6573206e6f74206578697374604482015260640161032f565b6001600160a01b0383165f81815260016020908152604091829020805460ff1916905590519182527f2234edb6f393cd207251f6579b5852192c144c4c12b9cc32e80539ef12faed3f91016103e7565b5f828152602081815260408083203380855290835292819020849055805192835290820184905281018290527f61699483e2a58589628399a22e34da872b583143ab99b3245ba6dacf4974d2e39060600160405180910390a15050565b5f80600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b81526004015f60405180830381865afa158015610983573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109aa9190810190611011565b90505f805b8251811015610a1f57845f808881526020019081526020015f205f8584815181106109dc576109dc6110be565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205403610a175781610a13816110e6565b9250505b6001016109af565b50600282516001610a3091906110fe565b610a3a9190611111565b11159150505b92915050565b5f600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b81526004015f60405180830381865afa158015610a8a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610ab19190810190611011565b90505f5b8151811015610431575f808481526020019081526020015f205f838381518110610ae157610ae16110be565b6020908102919091018101516001600160a01b031682528101919091526040015f90812055600101610ab5565b30600262012121608c1b011480610b545750600262012121608c1b01610b485f80516020611163833981519152546001600160a01b031690565b6001600160a01b031614155b15610b725760405163703e46dd60e11b815260040160405180910390fd5b565b3361090960911b14610bb45760405162461bcd60e51b81526020600482015260096024820152683737ba1030b236b4b760b91b604482015260640161032f565b50565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610c11575060408051601f3d908101601f19168201909252610c0e91810190611130565b60015b610c3957604051634c9c8ce360e01b81526001600160a01b038316600482015260240161032f565b5f805160206111638339815191528114610c6957604051632a87526960e21b81526004810182905260240161032f565b6104318383610c9c565b30600262012121608c1b0114610b725760405163703e46dd60e11b815260040160405180910390fd5b610ca582610cf1565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a2805115610ce9576104318282610d54565b6106b7610dc6565b806001600160a01b03163b5f03610d2657604051634c9c8ce360e01b81526001600160a01b038216600482015260240161032f565b5f8051602061116383398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b60605f80846001600160a01b031684604051610d709190611147565b5f60405180830381855af49150503d805f8114610da8576040519150601f19603f3d011682016040523d82523d5f602084013e610dad565b606091505b5091509150610dbd858383610de5565b95945050505050565b3415610b725760405163b398979f60e01b815260040160405180910390fd5b606082610dfa57610df582610e44565b610e3d565b8151158015610e1157506001600160a01b0384163b155b15610e3a57604051639996b31560e01b81526001600160a01b038516600482015260240161032f565b50805b9392505050565b805115610e545780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b5f60208284031215610e7d575f80fd5b5035919050565b6001600160a01b0381168114610bb4575f80fd5b5f60208284031215610ea8575f80fd5b8135610e3d81610e84565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610ef057610ef0610eb3565b604052919050565b5f8060408385031215610f09575f80fd5b8235610f1481610e84565b915060208381013567ffffffffffffffff80821115610f31575f80fd5b818601915086601f830112610f44575f80fd5b813581811115610f5657610f56610eb3565b610f68601f8201601f19168501610ec7565b91508082528784828501011115610f7d575f80fd5b80848401858401375f848284010152508093505050509250929050565b5f5b83811015610fb4578181015183820152602001610f9c565b50505f910152565b602081525f8251806020840152610fda816040850160208701610f9a565b601f01601f19169190910160400192915050565b6020808252600990820152682737ba1026b4b732b960b91b604082015260600190565b5f6020808385031215611022575f80fd5b825167ffffffffffffffff80821115611039575f80fd5b818501915085601f83011261104c575f80fd5b81518181111561105e5761105e610eb3565b8060051b915061106f848301610ec7565b8181529183018401918481019088841115611088575f80fd5b938501935b838510156110b257845192506110a283610e84565b828252938501939085019061108d565b98975050505050505050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f600182016110f7576110f76110d2565b5060010190565b80820180821115610a4057610a406110d2565b5f8261112b57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215611140575f80fd5b5051919050565b5f8251611158818460208701610f9a565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122089dfe3565023f4c6591e38aaad5e48f06504be92d0f42a51c97c99b4edbf169664736f6c63430008180033" }, "0x1212100000000000000000000000000000000003": { "balance": "0", diff --git a/privnet/seven/genesis_privnet.json b/privnet/seven/genesis_privnet.json index fcf734be38..c7b86f0cc3 100644 --- a/privnet/seven/genesis_privnet.json +++ b/privnet/seven/genesis_privnet.json @@ -72,7 +72,8 @@ "balance": "0", "code": "0x6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea2646970667358221220965379b4e29f73cf2ee1957914dc167d4751357fc5df24ccd8586bd4bf9b47e964736f6c63430008180033", "storage": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x989680", + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x3b9aca00", + "0x0000000000000000000000000000000000000000000000000000000000000003": "0x3b9aca00", "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x1212100000000000000000000000000000000002" } }, @@ -89,7 +90,7 @@ }, "0x1212100000000000000000000000000000000002": { "balance": "0", - "code": "0x6080604052600436106100a75760003560e01c806390ac18661161006457806390ac18661461018a578063ad3cb1cc146101aa578063d96ed505146101e8578063e47d6060146101fe578063e4997dc51461022e578063f13c03af1461024e57600080fd5b80630ecb93c0146100ac57806326bd0c4e146100ce5780634f1ef2861461010857806352d1902d1461011b578063701b70ac1461013e57806389dc5c841461016e575b600080fd5b3480156100b857600080fd5b506100cc6100c7366004610d37565b610267565b005b3480156100da57600080fd5b506100eb600262012121608c1b0181565b6040516001600160a01b0390911681526020015b60405180910390f35b6100cc610116366004610d9b565b610406565b34801561012757600080fd5b50610130610425565b6040519081526020016100ff565b34801561014a57600080fd5b5061015e610159366004610d37565b610442565b60405190151581526020016100ff565b34801561017a57600080fd5b506100eb600361090960911b0181565b34801561019657600080fd5b506100cc6101a5366004610e43565b61050f565b3480156101b657600080fd5b506101db604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100ff9190610e80565b3480156101f457600080fd5b5061013060015481565b34801561020a57600080fd5b5061015e610219366004610d37565b60026020526000908152604090205460ff1681565b34801561023a57600080fd5b506100cc610249366004610d37565b610631565b34801561025a57600080fd5b506100eb61090960911b81565b604080516001600160a01b03831660208201527f4912b57f7ea75243ecaff76a75bdedbc13a6f58c1c967b0427b8aee0a276309e9101604051602081830303815290604052805190602001206102bc33610442565b6102e15760405162461bcd60e51b81526004016102d890610eb3565b60405180910390fd5b6102eb8282610778565b6102f582826107d6565b6102fe57505050565b6001600160a01b03831660009081526002602052604090205460ff16156103675760405162461bcd60e51b815260206004820181905260248201527f506f6c6963793a20426c61636b6c69737420616c72656164792065786973747360448201526064016102d8565b6001600160a01b038316600081815260026020908152604091829020805460ff1916600117905590519182527ff9dfc5050bb4c9b200f093a995458a80fb19943585b189fe5d317391abdc764591015b60405180910390a160408051838152602081018390527ff5aa3d6492eaf1a4d6787c5bd36e8ec61c245d4af2fd1fd387e387a50de9f8c5910160405180910390a1610401826108e8565b505050565b61040e6109ba565b61041782610a21565b6104218282610a64565b5050565b600061042f610b21565b5060008051602061103883398151915290565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561048b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104b39190810190610ed6565b905060005b8151811015610505578181815181106104d3576104d3610f88565b60200260200101516001600160a01b0316846001600160a01b0316036104fd575060019392505050565b6001016104b8565b5060009392505050565b7f0d48c1723f9a97946a942509ee525d5449a8f1d6460432fc2b267126c5cb1bce8160405160200161054391815260200190565b6040516020818303038152906040528051906020012061056233610442565b61057e5760405162461bcd60e51b81526004016102d890610eb3565b6105888282610778565b61059282826107d6565b61059b57505050565b600083116105fc5760405162461bcd60e51b815260206004820152602860248201527f506f6c6963793a207365744d696e476173507269636520696e76616c6964207060448201526730b930b6b2ba32b960c11b60648201526084016102d8565b60018390556040518381527f707bb10a9a561bf00f6acc0b0231a12146dc98352b4e8c8deb55e141ace32890906020016103b7565b604080516001600160a01b03831660208201527f310cc9bfce6443143f03d0cdc4d66afa0b3c689539eb3e65cb1820b56d67246591016040516020818303038152906040528051906020012061068633610442565b6106a25760405162461bcd60e51b81526004016102d890610eb3565b6106ac8282610778565b6106b682826107d6565b6106bf57505050565b6001600160a01b03831660009081526002602052604090205460ff166107275760405162461bcd60e51b815260206004820181905260248201527f506f6c6963793a20426c61636b6c69737420646f6573206e6f7420657869737460448201526064016102d8565b6001600160a01b038316600081815260026020908152604091829020805460ff1916905590519182527f2234edb6f393cd207251f6579b5852192c144c4c12b9cc32e80539ef12faed3f91016103b7565b6000828152602081815260408083203380855290835292819020849055805192835290820184905281018290527f61699483e2a58589628399a22e34da872b583143ab99b3245ba6dacf4974d2e39060600160405180910390a15050565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561081f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108479190810190610ed6565b90506000805b82518110156108c15784600080888152602001908152602001600020600085848151811061087d5761087d610f88565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054036108b957816108b581610fb4565b9250505b60010161084d565b506002825160016108d29190610fcd565b6108dc9190610fe0565b11159150505b92915050565b6000600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610930573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109589190810190610ed6565b905060005b815181101561040157600080848152602001908152602001600020600083838151811061098c5761098c610f88565b6020908102919091018101516001600160a01b0316825281019190915260400160009081205560010161095d565b30600262012121608c1b011480610a015750600262012121608c1b016109f5600080516020611038833981519152546001600160a01b031690565b6001600160a01b031614155b15610a1f5760405163703e46dd60e11b815260040160405180910390fd5b565b3361090960911b14610a615760405162461bcd60e51b81526020600482015260096024820152683737ba1030b236b4b760b91b60448201526064016102d8565b50565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610abe575060408051601f3d908101601f19168201909252610abb91810190611002565b60015b610ae657604051634c9c8ce360e01b81526001600160a01b03831660048201526024016102d8565b6000805160206110388339815191528114610b1757604051632a87526960e21b8152600481018290526024016102d8565b6104018383610b4a565b30600262012121608c1b0114610a1f5760405163703e46dd60e11b815260040160405180910390fd5b610b5382610ba0565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610b98576104018282610c05565b610421610c7b565b806001600160a01b03163b600003610bd657604051634c9c8ce360e01b81526001600160a01b03821660048201526024016102d8565b60008051602061103883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610c22919061101b565b600060405180830381855af49150503d8060008114610c5d576040519150601f19603f3d011682016040523d82523d6000602084013e610c62565b606091505b5091509150610c72858383610c9a565b95945050505050565b3415610a1f5760405163b398979f60e01b815260040160405180910390fd5b606082610caf57610caa82610cf9565b610cf2565b8151158015610cc657506001600160a01b0384163b155b15610cef57604051639996b31560e01b81526001600160a01b03851660048201526024016102d8565b50805b9392505050565b805115610d095780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6001600160a01b0381168114610a6157600080fd5b600060208284031215610d4957600080fd5b8135610cf281610d22565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610d9357610d93610d54565b604052919050565b60008060408385031215610dae57600080fd5b8235610db981610d22565b915060208381013567ffffffffffffffff80821115610dd757600080fd5b818601915086601f830112610deb57600080fd5b813581811115610dfd57610dfd610d54565b610e0f601f8201601f19168501610d6a565b91508082528784828501011115610e2557600080fd5b80848401858401376000848284010152508093505050509250929050565b600060208284031215610e5557600080fd5b5035919050565b60005b83811015610e77578181015183820152602001610e5f565b50506000910152565b6020815260008251806020840152610e9f816040850160208701610e5c565b601f01601f19169190910160400192915050565b6020808252600990820152683737ba1026b4b732b960b91b604082015260600190565b60006020808385031215610ee957600080fd5b825167ffffffffffffffff80821115610f0157600080fd5b818501915085601f830112610f1557600080fd5b815181811115610f2757610f27610d54565b8060051b9150610f38848301610d6a565b8181529183018401918481019088841115610f5257600080fd5b938501935b83851015610f7c5784519250610f6c83610d22565b8282529385019390850190610f57565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201610fc657610fc6610f9e565b5060010190565b808201808211156108e2576108e2610f9e565b600082610ffd57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561101457600080fd5b5051919050565b6000825161102d818460208701610e5c565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122080dc9c63474cff6584c343a283076a4aa9dce3cd3153430acf1110c38cf73d7a64736f6c63430008180033" + "code": "0x6080604052600436106100d9575f3560e01c8063701b70ac1161007c578063c8ad845f11610057578063c8ad845f14610246578063e47d60601461025b578063e4997dc514610289578063f13c03af146102a8575f80fd5b8063701b70ac146101bf57806389dc5c84146101ee578063ad3cb1cc14610209575f80fd5b806346860698116100b757806346860698146101565780634f1ef2861461017557806352d1902d146101885780636ef25c3a146101aa575f80fd5b80630b9076eb146100dd5780630ecb93c0146100fe57806326bd0c4e1461011d575b5f80fd5b3480156100e8575f80fd5b506100fc6100f7366004610e6d565b6102c0565b005b348015610109575f80fd5b506100fc610118366004610e98565b610436565b348015610128575f80fd5b50610139600262012121608c1b0181565b6040516001600160a01b0390911681526020015b60405180910390f35b348015610161575f80fd5b506100fc610170366004610e6d565b610580565b6100fc610183366004610ef8565b61069c565b348015610193575f80fd5b5061019c6106bb565b60405190815260200161014d565b3480156101b5575f80fd5b5061019c60035481565b3480156101ca575f80fd5b506101de6101d9366004610e98565b6106d6565b604051901515815260200161014d565b3480156101f9575f80fd5b50610139600361090960911b0181565b348015610214575f80fd5b50610239604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161014d9190610fbc565b348015610251575f80fd5b5061019c60025481565b348015610266575f80fd5b506101de610275366004610e98565b60016020525f908152604090205460ff1681565b348015610294575f80fd5b506100fc6102a3366004610e98565b61079c565b3480156102b3575f80fd5b5061013961090960911b81565b7f089197e4f35b8ada456b5531e8c1759ee3fce703602a3a957b5c9d2831082156816040516020016102f491815260200190565b60405160208183030381529060405280519060200120610313336106d6565b6103385760405162461bcd60e51b815260040161032f90610fee565b60405180910390fd5b61034282826108e1565b61034c828261093e565b61035557505050565b5f83116103b65760405162461bcd60e51b815260206004820152602960248201527f506f6c6963793a207365744d696e47617354697043617020696e76616c6964206044820152683830b930b6b2ba32b960b91b606482015260840161032f565b60028390556040518381527fadf2040581c9d6bab65240fcceb1460629e2cdc4479a93b951e441ed0b0e736e906020015b60405180910390a160408051838152602081018390527ff5aa3d6492eaf1a4d6787c5bd36e8ec61c245d4af2fd1fd387e387a50de9f8c5910160405180910390a161043182610a46565b505050565b604080516001600160a01b03831660208201527f4912b57f7ea75243ecaff76a75bdedbc13a6f58c1c967b0427b8aee0a276309e91016040516020818303038152906040528051906020012061048b336106d6565b6104a75760405162461bcd60e51b815260040161032f90610fee565b6104b182826108e1565b6104bb828261093e565b6104c457505050565b6001600160a01b0383165f9081526001602052604090205460ff161561052c5760405162461bcd60e51b815260206004820181905260248201527f506f6c6963793a20426c61636b6c69737420616c726561647920657869737473604482015260640161032f565b6001600160a01b0383165f81815260016020818152604092839020805460ff191690921790915590519182527ff9dfc5050bb4c9b200f093a995458a80fb19943585b189fe5d317391abdc764591016103e7565b7f83113031fe9312a872d9176bc1a087dc38ca109c517a596998332e2fb8409acc816040516020016105b491815260200190565b604051602081830303815290604052805190602001206105d3336106d6565b6105ef5760405162461bcd60e51b815260040161032f90610fee565b6105f982826108e1565b610603828261093e565b61060c57505050565b5f83116106675760405162461bcd60e51b8152602060048201526024808201527f506f6c6963793a207365744261736546656520696e76616c696420706172616d60448201526332ba32b960e11b606482015260840161032f565b60038390556040518381527f48088f7344150254476b72fd1071b7258bae6f047a065f4e1ea1506f505e49c1906020016103e7565b6106a4610b0e565b6106ad82610b74565b6106b78282610bb7565b5050565b5f6106c4610c73565b505f8051602061116383398151915290565b5f80600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561071b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526107429190810190611011565b90505f5b815181101561079357818181518110610761576107616110be565b60200260200101516001600160a01b0316846001600160a01b03160361078b575060019392505050565b600101610746565b505f9392505050565b604080516001600160a01b03831660208201527f310cc9bfce6443143f03d0cdc4d66afa0b3c689539eb3e65cb1820b56d6724659101604051602081830303815290604052805190602001206107f1336106d6565b61080d5760405162461bcd60e51b815260040161032f90610fee565b61081782826108e1565b610821828261093e565b61082a57505050565b6001600160a01b0383165f9081526001602052604090205460ff166108915760405162461bcd60e51b815260206004820181905260248201527f506f6c6963793a20426c61636b6c69737420646f6573206e6f74206578697374604482015260640161032f565b6001600160a01b0383165f81815260016020908152604091829020805460ff1916905590519182527f2234edb6f393cd207251f6579b5852192c144c4c12b9cc32e80539ef12faed3f91016103e7565b5f828152602081815260408083203380855290835292819020849055805192835290820184905281018290527f61699483e2a58589628399a22e34da872b583143ab99b3245ba6dacf4974d2e39060600160405180910390a15050565b5f80600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b81526004015f60405180830381865afa158015610983573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109aa9190810190611011565b90505f805b8251811015610a1f57845f808881526020019081526020015f205f8584815181106109dc576109dc6110be565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205403610a175781610a13816110e6565b9250505b6001016109af565b50600282516001610a3091906110fe565b610a3a9190611111565b11159150505b92915050565b5f600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b81526004015f60405180830381865afa158015610a8a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610ab19190810190611011565b90505f5b8151811015610431575f808481526020019081526020015f205f838381518110610ae157610ae16110be565b6020908102919091018101516001600160a01b031682528101919091526040015f90812055600101610ab5565b30600262012121608c1b011480610b545750600262012121608c1b01610b485f80516020611163833981519152546001600160a01b031690565b6001600160a01b031614155b15610b725760405163703e46dd60e11b815260040160405180910390fd5b565b3361090960911b14610bb45760405162461bcd60e51b81526020600482015260096024820152683737ba1030b236b4b760b91b604482015260640161032f565b50565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610c11575060408051601f3d908101601f19168201909252610c0e91810190611130565b60015b610c3957604051634c9c8ce360e01b81526001600160a01b038316600482015260240161032f565b5f805160206111638339815191528114610c6957604051632a87526960e21b81526004810182905260240161032f565b6104318383610c9c565b30600262012121608c1b0114610b725760405163703e46dd60e11b815260040160405180910390fd5b610ca582610cf1565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a2805115610ce9576104318282610d54565b6106b7610dc6565b806001600160a01b03163b5f03610d2657604051634c9c8ce360e01b81526001600160a01b038216600482015260240161032f565b5f8051602061116383398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b60605f80846001600160a01b031684604051610d709190611147565b5f60405180830381855af49150503d805f8114610da8576040519150601f19603f3d011682016040523d82523d5f602084013e610dad565b606091505b5091509150610dbd858383610de5565b95945050505050565b3415610b725760405163b398979f60e01b815260040160405180910390fd5b606082610dfa57610df582610e44565b610e3d565b8151158015610e1157506001600160a01b0384163b155b15610e3a57604051639996b31560e01b81526001600160a01b038516600482015260240161032f565b50805b9392505050565b805115610e545780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b5f60208284031215610e7d575f80fd5b5035919050565b6001600160a01b0381168114610bb4575f80fd5b5f60208284031215610ea8575f80fd5b8135610e3d81610e84565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610ef057610ef0610eb3565b604052919050565b5f8060408385031215610f09575f80fd5b8235610f1481610e84565b915060208381013567ffffffffffffffff80821115610f31575f80fd5b818601915086601f830112610f44575f80fd5b813581811115610f5657610f56610eb3565b610f68601f8201601f19168501610ec7565b91508082528784828501011115610f7d575f80fd5b80848401858401375f848284010152508093505050509250929050565b5f5b83811015610fb4578181015183820152602001610f9c565b50505f910152565b602081525f8251806020840152610fda816040850160208701610f9a565b601f01601f19169190910160400192915050565b6020808252600990820152682737ba1026b4b732b960b91b604082015260600190565b5f6020808385031215611022575f80fd5b825167ffffffffffffffff80821115611039575f80fd5b818501915085601f83011261104c575f80fd5b81518181111561105e5761105e610eb3565b8060051b915061106f848301610ec7565b8181529183018401918481019088841115611088575f80fd5b938501935b838510156110b257845192506110a283610e84565b828252938501939085019061108d565b98975050505050505050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f600182016110f7576110f76110d2565b5060010190565b80820180821115610a4057610a406110d2565b5f8261112b57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215611140575f80fd5b5051919050565b5f8251611158818460208701610f9a565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122089dfe3565023f4c6591e38aaad5e48f06504be92d0f42a51c97c99b4edbf169664736f6c63430008180033" }, "0x1212100000000000000000000000000000000003": { "balance": "0", diff --git a/privnet/single/genesis_privnet.json b/privnet/single/genesis_privnet.json index a42e2f4b0b..09f1f0f141 100644 --- a/privnet/single/genesis_privnet.json +++ b/privnet/single/genesis_privnet.json @@ -57,7 +57,8 @@ "balance": "0", "code": "0x6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea2646970667358221220965379b4e29f73cf2ee1957914dc167d4751357fc5df24ccd8586bd4bf9b47e964736f6c63430008180033", "storage": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x989680", + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x3b9aca00", + "0x0000000000000000000000000000000000000000000000000000000000000003": "0x3b9aca00", "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x1212100000000000000000000000000000000002" } }, @@ -74,7 +75,7 @@ }, "0x1212100000000000000000000000000000000002": { "balance": "0", - "code": "0x6080604052600436106100a75760003560e01c806390ac18661161006457806390ac18661461018a578063ad3cb1cc146101aa578063d96ed505146101e8578063e47d6060146101fe578063e4997dc51461022e578063f13c03af1461024e57600080fd5b80630ecb93c0146100ac57806326bd0c4e146100ce5780634f1ef2861461010857806352d1902d1461011b578063701b70ac1461013e57806389dc5c841461016e575b600080fd5b3480156100b857600080fd5b506100cc6100c7366004610d37565b610267565b005b3480156100da57600080fd5b506100eb600262012121608c1b0181565b6040516001600160a01b0390911681526020015b60405180910390f35b6100cc610116366004610d9b565b610406565b34801561012757600080fd5b50610130610425565b6040519081526020016100ff565b34801561014a57600080fd5b5061015e610159366004610d37565b610442565b60405190151581526020016100ff565b34801561017a57600080fd5b506100eb600361090960911b0181565b34801561019657600080fd5b506100cc6101a5366004610e43565b61050f565b3480156101b657600080fd5b506101db604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100ff9190610e80565b3480156101f457600080fd5b5061013060015481565b34801561020a57600080fd5b5061015e610219366004610d37565b60026020526000908152604090205460ff1681565b34801561023a57600080fd5b506100cc610249366004610d37565b610631565b34801561025a57600080fd5b506100eb61090960911b81565b604080516001600160a01b03831660208201527f4912b57f7ea75243ecaff76a75bdedbc13a6f58c1c967b0427b8aee0a276309e9101604051602081830303815290604052805190602001206102bc33610442565b6102e15760405162461bcd60e51b81526004016102d890610eb3565b60405180910390fd5b6102eb8282610778565b6102f582826107d6565b6102fe57505050565b6001600160a01b03831660009081526002602052604090205460ff16156103675760405162461bcd60e51b815260206004820181905260248201527f506f6c6963793a20426c61636b6c69737420616c72656164792065786973747360448201526064016102d8565b6001600160a01b038316600081815260026020908152604091829020805460ff1916600117905590519182527ff9dfc5050bb4c9b200f093a995458a80fb19943585b189fe5d317391abdc764591015b60405180910390a160408051838152602081018390527ff5aa3d6492eaf1a4d6787c5bd36e8ec61c245d4af2fd1fd387e387a50de9f8c5910160405180910390a1610401826108e8565b505050565b61040e6109ba565b61041782610a21565b6104218282610a64565b5050565b600061042f610b21565b5060008051602061103883398151915290565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561048b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104b39190810190610ed6565b905060005b8151811015610505578181815181106104d3576104d3610f88565b60200260200101516001600160a01b0316846001600160a01b0316036104fd575060019392505050565b6001016104b8565b5060009392505050565b7f0d48c1723f9a97946a942509ee525d5449a8f1d6460432fc2b267126c5cb1bce8160405160200161054391815260200190565b6040516020818303038152906040528051906020012061056233610442565b61057e5760405162461bcd60e51b81526004016102d890610eb3565b6105888282610778565b61059282826107d6565b61059b57505050565b600083116105fc5760405162461bcd60e51b815260206004820152602860248201527f506f6c6963793a207365744d696e476173507269636520696e76616c6964207060448201526730b930b6b2ba32b960c11b60648201526084016102d8565b60018390556040518381527f707bb10a9a561bf00f6acc0b0231a12146dc98352b4e8c8deb55e141ace32890906020016103b7565b604080516001600160a01b03831660208201527f310cc9bfce6443143f03d0cdc4d66afa0b3c689539eb3e65cb1820b56d67246591016040516020818303038152906040528051906020012061068633610442565b6106a25760405162461bcd60e51b81526004016102d890610eb3565b6106ac8282610778565b6106b682826107d6565b6106bf57505050565b6001600160a01b03831660009081526002602052604090205460ff166107275760405162461bcd60e51b815260206004820181905260248201527f506f6c6963793a20426c61636b6c69737420646f6573206e6f7420657869737460448201526064016102d8565b6001600160a01b038316600081815260026020908152604091829020805460ff1916905590519182527f2234edb6f393cd207251f6579b5852192c144c4c12b9cc32e80539ef12faed3f91016103b7565b6000828152602081815260408083203380855290835292819020849055805192835290820184905281018290527f61699483e2a58589628399a22e34da872b583143ab99b3245ba6dacf4974d2e39060600160405180910390a15050565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561081f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108479190810190610ed6565b90506000805b82518110156108c15784600080888152602001908152602001600020600085848151811061087d5761087d610f88565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054036108b957816108b581610fb4565b9250505b60010161084d565b506002825160016108d29190610fcd565b6108dc9190610fe0565b11159150505b92915050565b6000600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610930573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109589190810190610ed6565b905060005b815181101561040157600080848152602001908152602001600020600083838151811061098c5761098c610f88565b6020908102919091018101516001600160a01b0316825281019190915260400160009081205560010161095d565b30600262012121608c1b011480610a015750600262012121608c1b016109f5600080516020611038833981519152546001600160a01b031690565b6001600160a01b031614155b15610a1f5760405163703e46dd60e11b815260040160405180910390fd5b565b3361090960911b14610a615760405162461bcd60e51b81526020600482015260096024820152683737ba1030b236b4b760b91b60448201526064016102d8565b50565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610abe575060408051601f3d908101601f19168201909252610abb91810190611002565b60015b610ae657604051634c9c8ce360e01b81526001600160a01b03831660048201526024016102d8565b6000805160206110388339815191528114610b1757604051632a87526960e21b8152600481018290526024016102d8565b6104018383610b4a565b30600262012121608c1b0114610a1f5760405163703e46dd60e11b815260040160405180910390fd5b610b5382610ba0565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610b98576104018282610c05565b610421610c7b565b806001600160a01b03163b600003610bd657604051634c9c8ce360e01b81526001600160a01b03821660048201526024016102d8565b60008051602061103883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610c22919061101b565b600060405180830381855af49150503d8060008114610c5d576040519150601f19603f3d011682016040523d82523d6000602084013e610c62565b606091505b5091509150610c72858383610c9a565b95945050505050565b3415610a1f5760405163b398979f60e01b815260040160405180910390fd5b606082610caf57610caa82610cf9565b610cf2565b8151158015610cc657506001600160a01b0384163b155b15610cef57604051639996b31560e01b81526001600160a01b03851660048201526024016102d8565b50805b9392505050565b805115610d095780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6001600160a01b0381168114610a6157600080fd5b600060208284031215610d4957600080fd5b8135610cf281610d22565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610d9357610d93610d54565b604052919050565b60008060408385031215610dae57600080fd5b8235610db981610d22565b915060208381013567ffffffffffffffff80821115610dd757600080fd5b818601915086601f830112610deb57600080fd5b813581811115610dfd57610dfd610d54565b610e0f601f8201601f19168501610d6a565b91508082528784828501011115610e2557600080fd5b80848401858401376000848284010152508093505050509250929050565b600060208284031215610e5557600080fd5b5035919050565b60005b83811015610e77578181015183820152602001610e5f565b50506000910152565b6020815260008251806020840152610e9f816040850160208701610e5c565b601f01601f19169190910160400192915050565b6020808252600990820152683737ba1026b4b732b960b91b604082015260600190565b60006020808385031215610ee957600080fd5b825167ffffffffffffffff80821115610f0157600080fd5b818501915085601f830112610f1557600080fd5b815181811115610f2757610f27610d54565b8060051b9150610f38848301610d6a565b8181529183018401918481019088841115610f5257600080fd5b938501935b83851015610f7c5784519250610f6c83610d22565b8282529385019390850190610f57565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201610fc657610fc6610f9e565b5060010190565b808201808211156108e2576108e2610f9e565b600082610ffd57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561101457600080fd5b5051919050565b6000825161102d818460208701610e5c565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122080dc9c63474cff6584c343a283076a4aa9dce3cd3153430acf1110c38cf73d7a64736f6c63430008180033" + "code": "0x6080604052600436106100d9575f3560e01c8063701b70ac1161007c578063c8ad845f11610057578063c8ad845f14610246578063e47d60601461025b578063e4997dc514610289578063f13c03af146102a8575f80fd5b8063701b70ac146101bf57806389dc5c84146101ee578063ad3cb1cc14610209575f80fd5b806346860698116100b757806346860698146101565780634f1ef2861461017557806352d1902d146101885780636ef25c3a146101aa575f80fd5b80630b9076eb146100dd5780630ecb93c0146100fe57806326bd0c4e1461011d575b5f80fd5b3480156100e8575f80fd5b506100fc6100f7366004610e6d565b6102c0565b005b348015610109575f80fd5b506100fc610118366004610e98565b610436565b348015610128575f80fd5b50610139600262012121608c1b0181565b6040516001600160a01b0390911681526020015b60405180910390f35b348015610161575f80fd5b506100fc610170366004610e6d565b610580565b6100fc610183366004610ef8565b61069c565b348015610193575f80fd5b5061019c6106bb565b60405190815260200161014d565b3480156101b5575f80fd5b5061019c60035481565b3480156101ca575f80fd5b506101de6101d9366004610e98565b6106d6565b604051901515815260200161014d565b3480156101f9575f80fd5b50610139600361090960911b0181565b348015610214575f80fd5b50610239604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161014d9190610fbc565b348015610251575f80fd5b5061019c60025481565b348015610266575f80fd5b506101de610275366004610e98565b60016020525f908152604090205460ff1681565b348015610294575f80fd5b506100fc6102a3366004610e98565b61079c565b3480156102b3575f80fd5b5061013961090960911b81565b7f089197e4f35b8ada456b5531e8c1759ee3fce703602a3a957b5c9d2831082156816040516020016102f491815260200190565b60405160208183030381529060405280519060200120610313336106d6565b6103385760405162461bcd60e51b815260040161032f90610fee565b60405180910390fd5b61034282826108e1565b61034c828261093e565b61035557505050565b5f83116103b65760405162461bcd60e51b815260206004820152602960248201527f506f6c6963793a207365744d696e47617354697043617020696e76616c6964206044820152683830b930b6b2ba32b960b91b606482015260840161032f565b60028390556040518381527fadf2040581c9d6bab65240fcceb1460629e2cdc4479a93b951e441ed0b0e736e906020015b60405180910390a160408051838152602081018390527ff5aa3d6492eaf1a4d6787c5bd36e8ec61c245d4af2fd1fd387e387a50de9f8c5910160405180910390a161043182610a46565b505050565b604080516001600160a01b03831660208201527f4912b57f7ea75243ecaff76a75bdedbc13a6f58c1c967b0427b8aee0a276309e91016040516020818303038152906040528051906020012061048b336106d6565b6104a75760405162461bcd60e51b815260040161032f90610fee565b6104b182826108e1565b6104bb828261093e565b6104c457505050565b6001600160a01b0383165f9081526001602052604090205460ff161561052c5760405162461bcd60e51b815260206004820181905260248201527f506f6c6963793a20426c61636b6c69737420616c726561647920657869737473604482015260640161032f565b6001600160a01b0383165f81815260016020818152604092839020805460ff191690921790915590519182527ff9dfc5050bb4c9b200f093a995458a80fb19943585b189fe5d317391abdc764591016103e7565b7f83113031fe9312a872d9176bc1a087dc38ca109c517a596998332e2fb8409acc816040516020016105b491815260200190565b604051602081830303815290604052805190602001206105d3336106d6565b6105ef5760405162461bcd60e51b815260040161032f90610fee565b6105f982826108e1565b610603828261093e565b61060c57505050565b5f83116106675760405162461bcd60e51b8152602060048201526024808201527f506f6c6963793a207365744261736546656520696e76616c696420706172616d60448201526332ba32b960e11b606482015260840161032f565b60038390556040518381527f48088f7344150254476b72fd1071b7258bae6f047a065f4e1ea1506f505e49c1906020016103e7565b6106a4610b0e565b6106ad82610b74565b6106b78282610bb7565b5050565b5f6106c4610c73565b505f8051602061116383398151915290565b5f80600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561071b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526107429190810190611011565b90505f5b815181101561079357818181518110610761576107616110be565b60200260200101516001600160a01b0316846001600160a01b03160361078b575060019392505050565b600101610746565b505f9392505050565b604080516001600160a01b03831660208201527f310cc9bfce6443143f03d0cdc4d66afa0b3c689539eb3e65cb1820b56d6724659101604051602081830303815290604052805190602001206107f1336106d6565b61080d5760405162461bcd60e51b815260040161032f90610fee565b61081782826108e1565b610821828261093e565b61082a57505050565b6001600160a01b0383165f9081526001602052604090205460ff166108915760405162461bcd60e51b815260206004820181905260248201527f506f6c6963793a20426c61636b6c69737420646f6573206e6f74206578697374604482015260640161032f565b6001600160a01b0383165f81815260016020908152604091829020805460ff1916905590519182527f2234edb6f393cd207251f6579b5852192c144c4c12b9cc32e80539ef12faed3f91016103e7565b5f828152602081815260408083203380855290835292819020849055805192835290820184905281018290527f61699483e2a58589628399a22e34da872b583143ab99b3245ba6dacf4974d2e39060600160405180910390a15050565b5f80600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b81526004015f60405180830381865afa158015610983573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109aa9190810190611011565b90505f805b8251811015610a1f57845f808881526020019081526020015f205f8584815181106109dc576109dc6110be565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205403610a175781610a13816110e6565b9250505b6001016109af565b50600282516001610a3091906110fe565b610a3a9190611111565b11159150505b92915050565b5f600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b81526004015f60405180830381865afa158015610a8a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610ab19190810190611011565b90505f5b8151811015610431575f808481526020019081526020015f205f838381518110610ae157610ae16110be565b6020908102919091018101516001600160a01b031682528101919091526040015f90812055600101610ab5565b30600262012121608c1b011480610b545750600262012121608c1b01610b485f80516020611163833981519152546001600160a01b031690565b6001600160a01b031614155b15610b725760405163703e46dd60e11b815260040160405180910390fd5b565b3361090960911b14610bb45760405162461bcd60e51b81526020600482015260096024820152683737ba1030b236b4b760b91b604482015260640161032f565b50565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610c11575060408051601f3d908101601f19168201909252610c0e91810190611130565b60015b610c3957604051634c9c8ce360e01b81526001600160a01b038316600482015260240161032f565b5f805160206111638339815191528114610c6957604051632a87526960e21b81526004810182905260240161032f565b6104318383610c9c565b30600262012121608c1b0114610b725760405163703e46dd60e11b815260040160405180910390fd5b610ca582610cf1565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a2805115610ce9576104318282610d54565b6106b7610dc6565b806001600160a01b03163b5f03610d2657604051634c9c8ce360e01b81526001600160a01b038216600482015260240161032f565b5f8051602061116383398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b60605f80846001600160a01b031684604051610d709190611147565b5f60405180830381855af49150503d805f8114610da8576040519150601f19603f3d011682016040523d82523d5f602084013e610dad565b606091505b5091509150610dbd858383610de5565b95945050505050565b3415610b725760405163b398979f60e01b815260040160405180910390fd5b606082610dfa57610df582610e44565b610e3d565b8151158015610e1157506001600160a01b0384163b155b15610e3a57604051639996b31560e01b81526001600160a01b038516600482015260240161032f565b50805b9392505050565b805115610e545780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b5f60208284031215610e7d575f80fd5b5035919050565b6001600160a01b0381168114610bb4575f80fd5b5f60208284031215610ea8575f80fd5b8135610e3d81610e84565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610ef057610ef0610eb3565b604052919050565b5f8060408385031215610f09575f80fd5b8235610f1481610e84565b915060208381013567ffffffffffffffff80821115610f31575f80fd5b818601915086601f830112610f44575f80fd5b813581811115610f5657610f56610eb3565b610f68601f8201601f19168501610ec7565b91508082528784828501011115610f7d575f80fd5b80848401858401375f848284010152508093505050509250929050565b5f5b83811015610fb4578181015183820152602001610f9c565b50505f910152565b602081525f8251806020840152610fda816040850160208701610f9a565b601f01601f19169190910160400192915050565b6020808252600990820152682737ba1026b4b732b960b91b604082015260600190565b5f6020808385031215611022575f80fd5b825167ffffffffffffffff80821115611039575f80fd5b818501915085601f83011261104c575f80fd5b81518181111561105e5761105e610eb3565b8060051b915061106f848301610ec7565b8181529183018401918481019088841115611088575f80fd5b938501935b838510156110b257845192506110a283610e84565b828252938501939085019061108d565b98975050505050505050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f600182016110f7576110f76110d2565b5060010190565b80820180821115610a4057610a406110d2565b5f8261112b57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215611140575f80fd5b5051919050565b5f8251611158818460208701610f9a565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122089dfe3565023f4c6591e38aaad5e48f06504be92d0f42a51c97c99b4edbf169664736f6c63430008180033" }, "0x1212100000000000000000000000000000000003": { "balance": "0", From 09e8e7e8b1442e556e8592260ab3b6dc642eba1b Mon Sep 17 00:00:00 2001 From: txhsl <799498265@qq.com> Date: Tue, 16 Apr 2024 12:07:43 +0800 Subject: [PATCH 4/4] governance: update GovProxyAdmin --- config/genesis_testnet.json | 2 +- contracts/solidity/GovProxyAdmin.sol | 11 ++++++----- privnet/four/genesis_privnet.json | 2 +- privnet/seven/genesis_privnet.json | 2 +- privnet/single/genesis_privnet.json | 2 +- 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/config/genesis_testnet.json b/config/genesis_testnet.json index b24b1437df..b92d54db7a 100644 --- a/config/genesis_testnet.json +++ b/config/genesis_testnet.json @@ -34,7 +34,7 @@ "alloc": { "0x1212000000000000000000000000000000000000": { "balance": "0", - "code": "0x6080604052600436106100345760003560e01c8063701b70ac1461003957806389dc5c841461006e5780639623609d146100a2575b600080fd5b34801561004557600080fd5b5061005961005436600461053f565b6100b7565b60405190151581526020015b60405180910390f35b34801561007a57600080fd5b5061008a600361090960911b0181565b6040516001600160a01b039091168152602001610065565b6100b56100b03660046105aa565b610184565b005b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610100573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101289190810190610664565b905060005b815181101561017a5781818151811061014857610148610716565b60200260200101516001600160a01b0316846001600160a01b031603610172575060019392505050565b60010161012d565b5060009392505050565b7fe739b9109d83c1c6d0d640fe9ed476fc5862a6de5483b00678a3fffa7a2be2f68383836040516020016101ba93929190610772565b604051602081830303815290604052805190602001206101d9336100b7565b6102155760405162461bcd60e51b81526020600482015260096024820152682737ba1026b4b732b960b91b604482015260640160405180910390fd5b61021f82826102e0565b610229828261033e565b156102d95760405163278f794360e11b81526001600160a01b03861690634f1ef28690349061025e90889088906004016107a7565b6000604051808303818588803b15801561027757600080fd5b505af115801561028b573d6000803e3d6000fd5b505060408051868152602081018690527ff5aa3d6492eaf1a4d6787c5bd36e8ec61c245d4af2fd1fd387e387a50de9f8c594500191506102c89050565b60405180910390a16102d982610450565b5050505050565b6000828152602081815260408083203380855290835292819020849055805192835290820184905281018290527f61699483e2a58589628399a22e34da872b583143ab99b3245ba6dacf4974d2e39060600160405180910390a15050565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610387573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103af9190810190610664565b90506000805b8251811015610429578460008088815260200190815260200160002060008584815181106103e5576103e5610716565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205403610421578161041d816107e9565b9250505b6001016103b5565b5060028251600161043a9190610802565b6104449190610815565b11159150505b92915050565b6000600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610498573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104c09190810190610664565b905060005b81518110156105225760008084815260200190815260200160002060008383815181106104f4576104f4610716565b6020908102919091018101516001600160a01b031682528101919091526040016000908120556001016104c5565b505050565b6001600160a01b038116811461053c57600080fd5b50565b60006020828403121561055157600080fd5b813561055c81610527565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156105a2576105a2610563565b604052919050565b6000806000606084860312156105bf57600080fd5b83356105ca81610527565b92506020848101356105db81610527565b9250604085013567ffffffffffffffff808211156105f857600080fd5b818701915087601f83011261060c57600080fd5b81358181111561061e5761061e610563565b610630601f8201601f19168501610579565b9150808252888482850101111561064657600080fd5b80848401858401376000848284010152508093505050509250925092565b6000602080838503121561067757600080fd5b825167ffffffffffffffff8082111561068f57600080fd5b818501915085601f8301126106a357600080fd5b8151818111156106b5576106b5610563565b8060051b91506106c6848301610579565b81815291830184019184810190888411156106e057600080fd5b938501935b8385101561070a57845192506106fa83610527565b82825293850193908501906106e5565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b6000815180845260005b8181101561075257602081850181015186830182015201610736565b506000602082860101526020601f19601f83011685010191505092915050565b6001600160a01b0384811682528316602082015260606040820181905260009061079e9083018461072c565b95945050505050565b6001600160a01b03831681526040602082018190526000906107cb9083018461072c565b949350505050565b634e487b7160e01b600052601160045260246000fd5b6000600182016107fb576107fb6107d3565b5060010190565b8082018082111561044a5761044a6107d3565b60008261083257634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212209e61d38d47b2583b6176290ca9691082e36c167c502217e5f59481c644e946dc64736f6c63430008180033" + "code": "0x608060405260043610610033575f3560e01c8063701b70ac1461003757806389dc5c841461006b5780639623609d1461009e575b5f80fd5b348015610042575f80fd5b5061005661005136600461051a565b6100b3565b60405190151581526020015b60405180910390f35b348015610076575f80fd5b50610086600361090960911b0181565b6040516001600160a01b039091168152602001610062565b6100b16100ac366004610581565b610179565b005b5f80600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156100f8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261011f9190810190610634565b90505f5b81518110156101705781818151811061013e5761013e6106e1565b60200260200101516001600160a01b0316846001600160a01b031603610168575060019392505050565b600101610123565b505f9392505050565b7fe739b9109d83c1c6d0d640fe9ed476fc5862a6de5483b00678a3fffa7a2be2f68383836040516020016101af93929190610738565b604051602081830303815290604052805190602001206101ce336100b3565b61020a5760405162461bcd60e51b81526020600482015260096024820152682737ba1026b4b732b960b91b604482015260640160405180910390fd5b61021482826102d1565b61021e828261032e565b156102ca5760405163278f794360e11b81526001600160a01b03861690634f1ef286903490610253908890889060040161076c565b5f604051808303818588803b15801561026a575f80fd5b505af115801561027c573d5f803e3d5ffd5b505060408051868152602081018690527ff5aa3d6492eaf1a4d6787c5bd36e8ec61c245d4af2fd1fd387e387a50de9f8c594500191506102b99050565b60405180910390a16102ca82610436565b5050505050565b5f828152602081815260408083203380855290835292819020849055805192835290820184905281018290527f61699483e2a58589628399a22e34da872b583143ab99b3245ba6dacf4974d2e39060600160405180910390a15050565b5f80600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b81526004015f60405180830381865afa158015610373573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261039a9190810190610634565b90505f805b825181101561040f57845f808881526020019081526020015f205f8584815181106103cc576103cc6106e1565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f2054036104075781610403816107ab565b9250505b60010161039f565b5060028251600161042091906107c3565b61042a91906107d6565b11159150505b92915050565b5f600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561047a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526104a19190810190610634565b90505f5b81518110156104fe575f808481526020019081526020015f205f8383815181106104d1576104d16106e1565b6020908102919091018101516001600160a01b031682528101919091526040015f908120556001016104a5565b505050565b6001600160a01b0381168114610517575f80fd5b50565b5f6020828403121561052a575f80fd5b813561053581610503565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156105795761057961053c565b604052919050565b5f805f60608486031215610593575f80fd5b833561059e81610503565b92506020848101356105af81610503565b9250604085013567ffffffffffffffff808211156105cb575f80fd5b818701915087601f8301126105de575f80fd5b8135818111156105f0576105f061053c565b610602601f8201601f19168501610550565b91508082528884828501011115610617575f80fd5b80848401858401375f848284010152508093505050509250925092565b5f6020808385031215610645575f80fd5b825167ffffffffffffffff8082111561065c575f80fd5b818501915085601f83011261066f575f80fd5b8151818111156106815761068161053c565b8060051b9150610692848301610550565b81815291830184019184810190888411156106ab575f80fd5b938501935b838510156106d557845192506106c583610503565b82825293850193908501906106b0565b98975050505050505050565b634e487b7160e01b5f52603260045260245ffd5b5f81518084525f5b81811015610719576020818501810151868301820152016106fd565b505f602082860101526020601f19601f83011685010191505092915050565b6001600160a01b038481168252831660208201526060604082018190525f90610763908301846106f5565b95945050505050565b6001600160a01b03831681526040602082018190525f9061078f908301846106f5565b949350505050565b634e487b7160e01b5f52601160045260245ffd5b5f600182016107bc576107bc610797565b5060010190565b8082018082111561043057610430610797565b5f826107f057634e487b7160e01b5f52601260045260245ffd5b50049056fea26469706673582212208b5abf9068d280c8882fefb135628450824597b22a5188a2b2be9cc20531f25064736f6c63430008180033" }, "0x1212000000000000000000000000000000000001": { "balance": "0", diff --git a/contracts/solidity/GovProxyAdmin.sol b/contracts/solidity/GovProxyAdmin.sol index 8359b4d5df..635de98fb2 100644 --- a/contracts/solidity/GovProxyAdmin.sol +++ b/contracts/solidity/GovProxyAdmin.sol @@ -10,8 +10,9 @@ import "./GovernanceVote.sol"; */ contract GovProxyAdmin is GovernanceVote { /** - * @dev Upgrades `proxy` to `implementation` and calls a function on the new implementation. See - * {TransparentUpgradeableProxy-upgradeToAndCall}. + * @dev Upgrades the implementation in proxy to `newImplementation`, and + * subsequently executes the function call encoded in `data`. See + * {UUPSUpgradeable-upgradeToAndCall}. * * Requirements: * @@ -19,7 +20,7 @@ contract GovProxyAdmin is GovernanceVote { */ function upgradeAndCall( UUPSUpgradeable proxy, - address implementation, + address newImplementation, bytes memory data ) public @@ -27,9 +28,9 @@ contract GovProxyAdmin is GovernanceVote { virtual needVote( keccak256("upgradeAndCall"), - keccak256(abi.encode(proxy, implementation, data)) + keccak256(abi.encode(proxy, newImplementation, data)) ) { - proxy.upgradeToAndCall{value: msg.value}(implementation, data); + proxy.upgradeToAndCall{value: msg.value}(newImplementation, data); } } diff --git a/privnet/four/genesis_privnet.json b/privnet/four/genesis_privnet.json index 54ed13ec3a..0b799e1221 100644 --- a/privnet/four/genesis_privnet.json +++ b/privnet/four/genesis_privnet.json @@ -46,7 +46,7 @@ }, "0x1212000000000000000000000000000000000000": { "balance": "0", - "code": "0x6080604052600436106100345760003560e01c8063701b70ac1461003957806389dc5c841461006e5780639623609d146100a2575b600080fd5b34801561004557600080fd5b5061005961005436600461053f565b6100b7565b60405190151581526020015b60405180910390f35b34801561007a57600080fd5b5061008a600361090960911b0181565b6040516001600160a01b039091168152602001610065565b6100b56100b03660046105aa565b610184565b005b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610100573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101289190810190610664565b905060005b815181101561017a5781818151811061014857610148610716565b60200260200101516001600160a01b0316846001600160a01b031603610172575060019392505050565b60010161012d565b5060009392505050565b7fe739b9109d83c1c6d0d640fe9ed476fc5862a6de5483b00678a3fffa7a2be2f68383836040516020016101ba93929190610772565b604051602081830303815290604052805190602001206101d9336100b7565b6102155760405162461bcd60e51b81526020600482015260096024820152682737ba1026b4b732b960b91b604482015260640160405180910390fd5b61021f82826102e0565b610229828261033e565b156102d95760405163278f794360e11b81526001600160a01b03861690634f1ef28690349061025e90889088906004016107a7565b6000604051808303818588803b15801561027757600080fd5b505af115801561028b573d6000803e3d6000fd5b505060408051868152602081018690527ff5aa3d6492eaf1a4d6787c5bd36e8ec61c245d4af2fd1fd387e387a50de9f8c594500191506102c89050565b60405180910390a16102d982610450565b5050505050565b6000828152602081815260408083203380855290835292819020849055805192835290820184905281018290527f61699483e2a58589628399a22e34da872b583143ab99b3245ba6dacf4974d2e39060600160405180910390a15050565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610387573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103af9190810190610664565b90506000805b8251811015610429578460008088815260200190815260200160002060008584815181106103e5576103e5610716565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205403610421578161041d816107e9565b9250505b6001016103b5565b5060028251600161043a9190610802565b6104449190610815565b11159150505b92915050565b6000600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610498573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104c09190810190610664565b905060005b81518110156105225760008084815260200190815260200160002060008383815181106104f4576104f4610716565b6020908102919091018101516001600160a01b031682528101919091526040016000908120556001016104c5565b505050565b6001600160a01b038116811461053c57600080fd5b50565b60006020828403121561055157600080fd5b813561055c81610527565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156105a2576105a2610563565b604052919050565b6000806000606084860312156105bf57600080fd5b83356105ca81610527565b92506020848101356105db81610527565b9250604085013567ffffffffffffffff808211156105f857600080fd5b818701915087601f83011261060c57600080fd5b81358181111561061e5761061e610563565b610630601f8201601f19168501610579565b9150808252888482850101111561064657600080fd5b80848401858401376000848284010152508093505050509250925092565b6000602080838503121561067757600080fd5b825167ffffffffffffffff8082111561068f57600080fd5b818501915085601f8301126106a357600080fd5b8151818111156106b5576106b5610563565b8060051b91506106c6848301610579565b81815291830184019184810190888411156106e057600080fd5b938501935b8385101561070a57845192506106fa83610527565b82825293850193908501906106e5565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b6000815180845260005b8181101561075257602081850181015186830182015201610736565b506000602082860101526020601f19601f83011685010191505092915050565b6001600160a01b0384811682528316602082015260606040820181905260009061079e9083018461072c565b95945050505050565b6001600160a01b03831681526040602082018190526000906107cb9083018461072c565b949350505050565b634e487b7160e01b600052601160045260246000fd5b6000600182016107fb576107fb6107d3565b5060010190565b8082018082111561044a5761044a6107d3565b60008261083257634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212209e61d38d47b2583b6176290ca9691082e36c167c502217e5f59481c644e946dc64736f6c63430008180033" + "code": "0x608060405260043610610033575f3560e01c8063701b70ac1461003757806389dc5c841461006b5780639623609d1461009e575b5f80fd5b348015610042575f80fd5b5061005661005136600461051a565b6100b3565b60405190151581526020015b60405180910390f35b348015610076575f80fd5b50610086600361090960911b0181565b6040516001600160a01b039091168152602001610062565b6100b16100ac366004610581565b610179565b005b5f80600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156100f8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261011f9190810190610634565b90505f5b81518110156101705781818151811061013e5761013e6106e1565b60200260200101516001600160a01b0316846001600160a01b031603610168575060019392505050565b600101610123565b505f9392505050565b7fe739b9109d83c1c6d0d640fe9ed476fc5862a6de5483b00678a3fffa7a2be2f68383836040516020016101af93929190610738565b604051602081830303815290604052805190602001206101ce336100b3565b61020a5760405162461bcd60e51b81526020600482015260096024820152682737ba1026b4b732b960b91b604482015260640160405180910390fd5b61021482826102d1565b61021e828261032e565b156102ca5760405163278f794360e11b81526001600160a01b03861690634f1ef286903490610253908890889060040161076c565b5f604051808303818588803b15801561026a575f80fd5b505af115801561027c573d5f803e3d5ffd5b505060408051868152602081018690527ff5aa3d6492eaf1a4d6787c5bd36e8ec61c245d4af2fd1fd387e387a50de9f8c594500191506102b99050565b60405180910390a16102ca82610436565b5050505050565b5f828152602081815260408083203380855290835292819020849055805192835290820184905281018290527f61699483e2a58589628399a22e34da872b583143ab99b3245ba6dacf4974d2e39060600160405180910390a15050565b5f80600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b81526004015f60405180830381865afa158015610373573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261039a9190810190610634565b90505f805b825181101561040f57845f808881526020019081526020015f205f8584815181106103cc576103cc6106e1565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f2054036104075781610403816107ab565b9250505b60010161039f565b5060028251600161042091906107c3565b61042a91906107d6565b11159150505b92915050565b5f600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561047a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526104a19190810190610634565b90505f5b81518110156104fe575f808481526020019081526020015f205f8383815181106104d1576104d16106e1565b6020908102919091018101516001600160a01b031682528101919091526040015f908120556001016104a5565b505050565b6001600160a01b0381168114610517575f80fd5b50565b5f6020828403121561052a575f80fd5b813561053581610503565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156105795761057961053c565b604052919050565b5f805f60608486031215610593575f80fd5b833561059e81610503565b92506020848101356105af81610503565b9250604085013567ffffffffffffffff808211156105cb575f80fd5b818701915087601f8301126105de575f80fd5b8135818111156105f0576105f061053c565b610602601f8201601f19168501610550565b91508082528884828501011115610617575f80fd5b80848401858401375f848284010152508093505050509250925092565b5f6020808385031215610645575f80fd5b825167ffffffffffffffff8082111561065c575f80fd5b818501915085601f83011261066f575f80fd5b8151818111156106815761068161053c565b8060051b9150610692848301610550565b81815291830184019184810190888411156106ab575f80fd5b938501935b838510156106d557845192506106c583610503565b82825293850193908501906106b0565b98975050505050505050565b634e487b7160e01b5f52603260045260245ffd5b5f81518084525f5b81811015610719576020818501810151868301820152016106fd565b505f602082860101526020601f19601f83011685010191505092915050565b6001600160a01b038481168252831660208201526060604082018190525f90610763908301846106f5565b95945050505050565b6001600160a01b03831681526040602082018190525f9061078f908301846106f5565b949350505050565b634e487b7160e01b5f52601160045260245ffd5b5f600182016107bc576107bc610797565b5060010190565b8082018082111561043057610430610797565b5f826107f057634e487b7160e01b5f52601260045260245ffd5b50049056fea26469706673582212208b5abf9068d280c8882fefb135628450824597b22a5188a2b2be9cc20531f25064736f6c63430008180033" }, "0x1212000000000000000000000000000000000001": { "balance": "0", diff --git a/privnet/seven/genesis_privnet.json b/privnet/seven/genesis_privnet.json index c7b86f0cc3..d40c69c07e 100644 --- a/privnet/seven/genesis_privnet.json +++ b/privnet/seven/genesis_privnet.json @@ -37,7 +37,7 @@ }, "0x1212000000000000000000000000000000000000": { "balance": "0", - "code": "0x6080604052600436106100345760003560e01c8063701b70ac1461003957806389dc5c841461006e5780639623609d146100a2575b600080fd5b34801561004557600080fd5b5061005961005436600461053f565b6100b7565b60405190151581526020015b60405180910390f35b34801561007a57600080fd5b5061008a600361090960911b0181565b6040516001600160a01b039091168152602001610065565b6100b56100b03660046105aa565b610184565b005b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610100573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101289190810190610664565b905060005b815181101561017a5781818151811061014857610148610716565b60200260200101516001600160a01b0316846001600160a01b031603610172575060019392505050565b60010161012d565b5060009392505050565b7fe739b9109d83c1c6d0d640fe9ed476fc5862a6de5483b00678a3fffa7a2be2f68383836040516020016101ba93929190610772565b604051602081830303815290604052805190602001206101d9336100b7565b6102155760405162461bcd60e51b81526020600482015260096024820152682737ba1026b4b732b960b91b604482015260640160405180910390fd5b61021f82826102e0565b610229828261033e565b156102d95760405163278f794360e11b81526001600160a01b03861690634f1ef28690349061025e90889088906004016107a7565b6000604051808303818588803b15801561027757600080fd5b505af115801561028b573d6000803e3d6000fd5b505060408051868152602081018690527ff5aa3d6492eaf1a4d6787c5bd36e8ec61c245d4af2fd1fd387e387a50de9f8c594500191506102c89050565b60405180910390a16102d982610450565b5050505050565b6000828152602081815260408083203380855290835292819020849055805192835290820184905281018290527f61699483e2a58589628399a22e34da872b583143ab99b3245ba6dacf4974d2e39060600160405180910390a15050565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610387573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103af9190810190610664565b90506000805b8251811015610429578460008088815260200190815260200160002060008584815181106103e5576103e5610716565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205403610421578161041d816107e9565b9250505b6001016103b5565b5060028251600161043a9190610802565b6104449190610815565b11159150505b92915050565b6000600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610498573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104c09190810190610664565b905060005b81518110156105225760008084815260200190815260200160002060008383815181106104f4576104f4610716565b6020908102919091018101516001600160a01b031682528101919091526040016000908120556001016104c5565b505050565b6001600160a01b038116811461053c57600080fd5b50565b60006020828403121561055157600080fd5b813561055c81610527565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156105a2576105a2610563565b604052919050565b6000806000606084860312156105bf57600080fd5b83356105ca81610527565b92506020848101356105db81610527565b9250604085013567ffffffffffffffff808211156105f857600080fd5b818701915087601f83011261060c57600080fd5b81358181111561061e5761061e610563565b610630601f8201601f19168501610579565b9150808252888482850101111561064657600080fd5b80848401858401376000848284010152508093505050509250925092565b6000602080838503121561067757600080fd5b825167ffffffffffffffff8082111561068f57600080fd5b818501915085601f8301126106a357600080fd5b8151818111156106b5576106b5610563565b8060051b91506106c6848301610579565b81815291830184019184810190888411156106e057600080fd5b938501935b8385101561070a57845192506106fa83610527565b82825293850193908501906106e5565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b6000815180845260005b8181101561075257602081850181015186830182015201610736565b506000602082860101526020601f19601f83011685010191505092915050565b6001600160a01b0384811682528316602082015260606040820181905260009061079e9083018461072c565b95945050505050565b6001600160a01b03831681526040602082018190526000906107cb9083018461072c565b949350505050565b634e487b7160e01b600052601160045260246000fd5b6000600182016107fb576107fb6107d3565b5060010190565b8082018082111561044a5761044a6107d3565b60008261083257634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212209e61d38d47b2583b6176290ca9691082e36c167c502217e5f59481c644e946dc64736f6c63430008180033" + "code": "0x608060405260043610610033575f3560e01c8063701b70ac1461003757806389dc5c841461006b5780639623609d1461009e575b5f80fd5b348015610042575f80fd5b5061005661005136600461051a565b6100b3565b60405190151581526020015b60405180910390f35b348015610076575f80fd5b50610086600361090960911b0181565b6040516001600160a01b039091168152602001610062565b6100b16100ac366004610581565b610179565b005b5f80600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156100f8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261011f9190810190610634565b90505f5b81518110156101705781818151811061013e5761013e6106e1565b60200260200101516001600160a01b0316846001600160a01b031603610168575060019392505050565b600101610123565b505f9392505050565b7fe739b9109d83c1c6d0d640fe9ed476fc5862a6de5483b00678a3fffa7a2be2f68383836040516020016101af93929190610738565b604051602081830303815290604052805190602001206101ce336100b3565b61020a5760405162461bcd60e51b81526020600482015260096024820152682737ba1026b4b732b960b91b604482015260640160405180910390fd5b61021482826102d1565b61021e828261032e565b156102ca5760405163278f794360e11b81526001600160a01b03861690634f1ef286903490610253908890889060040161076c565b5f604051808303818588803b15801561026a575f80fd5b505af115801561027c573d5f803e3d5ffd5b505060408051868152602081018690527ff5aa3d6492eaf1a4d6787c5bd36e8ec61c245d4af2fd1fd387e387a50de9f8c594500191506102b99050565b60405180910390a16102ca82610436565b5050505050565b5f828152602081815260408083203380855290835292819020849055805192835290820184905281018290527f61699483e2a58589628399a22e34da872b583143ab99b3245ba6dacf4974d2e39060600160405180910390a15050565b5f80600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b81526004015f60405180830381865afa158015610373573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261039a9190810190610634565b90505f805b825181101561040f57845f808881526020019081526020015f205f8584815181106103cc576103cc6106e1565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f2054036104075781610403816107ab565b9250505b60010161039f565b5060028251600161042091906107c3565b61042a91906107d6565b11159150505b92915050565b5f600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561047a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526104a19190810190610634565b90505f5b81518110156104fe575f808481526020019081526020015f205f8383815181106104d1576104d16106e1565b6020908102919091018101516001600160a01b031682528101919091526040015f908120556001016104a5565b505050565b6001600160a01b0381168114610517575f80fd5b50565b5f6020828403121561052a575f80fd5b813561053581610503565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156105795761057961053c565b604052919050565b5f805f60608486031215610593575f80fd5b833561059e81610503565b92506020848101356105af81610503565b9250604085013567ffffffffffffffff808211156105cb575f80fd5b818701915087601f8301126105de575f80fd5b8135818111156105f0576105f061053c565b610602601f8201601f19168501610550565b91508082528884828501011115610617575f80fd5b80848401858401375f848284010152508093505050509250925092565b5f6020808385031215610645575f80fd5b825167ffffffffffffffff8082111561065c575f80fd5b818501915085601f83011261066f575f80fd5b8151818111156106815761068161053c565b8060051b9150610692848301610550565b81815291830184019184810190888411156106ab575f80fd5b938501935b838510156106d557845192506106c583610503565b82825293850193908501906106b0565b98975050505050505050565b634e487b7160e01b5f52603260045260245ffd5b5f81518084525f5b81811015610719576020818501810151868301820152016106fd565b505f602082860101526020601f19601f83011685010191505092915050565b6001600160a01b038481168252831660208201526060604082018190525f90610763908301846106f5565b95945050505050565b6001600160a01b03831681526040602082018190525f9061078f908301846106f5565b949350505050565b634e487b7160e01b5f52601160045260245ffd5b5f600182016107bc576107bc610797565b5060010190565b8082018082111561043057610430610797565b5f826107f057634e487b7160e01b5f52601260045260245ffd5b50049056fea26469706673582212208b5abf9068d280c8882fefb135628450824597b22a5188a2b2be9cc20531f25064736f6c63430008180033" }, "0x1212000000000000000000000000000000000001": { "balance": "0", diff --git a/privnet/single/genesis_privnet.json b/privnet/single/genesis_privnet.json index 09f1f0f141..76974cf68a 100644 --- a/privnet/single/genesis_privnet.json +++ b/privnet/single/genesis_privnet.json @@ -34,7 +34,7 @@ }, "0x1212000000000000000000000000000000000000": { "balance": "0", - "code": "0x6080604052600436106100345760003560e01c8063701b70ac1461003957806389dc5c841461006e5780639623609d146100a2575b600080fd5b34801561004557600080fd5b5061005961005436600461053f565b6100b7565b60405190151581526020015b60405180910390f35b34801561007a57600080fd5b5061008a600361090960911b0181565b6040516001600160a01b039091168152602001610065565b6100b56100b03660046105aa565b610184565b005b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610100573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101289190810190610664565b905060005b815181101561017a5781818151811061014857610148610716565b60200260200101516001600160a01b0316846001600160a01b031603610172575060019392505050565b60010161012d565b5060009392505050565b7fe739b9109d83c1c6d0d640fe9ed476fc5862a6de5483b00678a3fffa7a2be2f68383836040516020016101ba93929190610772565b604051602081830303815290604052805190602001206101d9336100b7565b6102155760405162461bcd60e51b81526020600482015260096024820152682737ba1026b4b732b960b91b604482015260640160405180910390fd5b61021f82826102e0565b610229828261033e565b156102d95760405163278f794360e11b81526001600160a01b03861690634f1ef28690349061025e90889088906004016107a7565b6000604051808303818588803b15801561027757600080fd5b505af115801561028b573d6000803e3d6000fd5b505060408051868152602081018690527ff5aa3d6492eaf1a4d6787c5bd36e8ec61c245d4af2fd1fd387e387a50de9f8c594500191506102c89050565b60405180910390a16102d982610450565b5050505050565b6000828152602081815260408083203380855290835292819020849055805192835290820184905281018290527f61699483e2a58589628399a22e34da872b583143ab99b3245ba6dacf4974d2e39060600160405180910390a15050565b600080600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610387573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103af9190810190610664565b90506000805b8251811015610429578460008088815260200190815260200160002060008584815181106103e5576103e5610716565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205403610421578161041d816107e9565b9250505b6001016103b5565b5060028251600161043a9190610802565b6104449190610815565b11159150505b92915050565b6000600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610498573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104c09190810190610664565b905060005b81518110156105225760008084815260200190815260200160002060008383815181106104f4576104f4610716565b6020908102919091018101516001600160a01b031682528101919091526040016000908120556001016104c5565b505050565b6001600160a01b038116811461053c57600080fd5b50565b60006020828403121561055157600080fd5b813561055c81610527565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156105a2576105a2610563565b604052919050565b6000806000606084860312156105bf57600080fd5b83356105ca81610527565b92506020848101356105db81610527565b9250604085013567ffffffffffffffff808211156105f857600080fd5b818701915087601f83011261060c57600080fd5b81358181111561061e5761061e610563565b610630601f8201601f19168501610579565b9150808252888482850101111561064657600080fd5b80848401858401376000848284010152508093505050509250925092565b6000602080838503121561067757600080fd5b825167ffffffffffffffff8082111561068f57600080fd5b818501915085601f8301126106a357600080fd5b8151818111156106b5576106b5610563565b8060051b91506106c6848301610579565b81815291830184019184810190888411156106e057600080fd5b938501935b8385101561070a57845192506106fa83610527565b82825293850193908501906106e5565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b6000815180845260005b8181101561075257602081850181015186830182015201610736565b506000602082860101526020601f19601f83011685010191505092915050565b6001600160a01b0384811682528316602082015260606040820181905260009061079e9083018461072c565b95945050505050565b6001600160a01b03831681526040602082018190526000906107cb9083018461072c565b949350505050565b634e487b7160e01b600052601160045260246000fd5b6000600182016107fb576107fb6107d3565b5060010190565b8082018082111561044a5761044a6107d3565b60008261083257634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212209e61d38d47b2583b6176290ca9691082e36c167c502217e5f59481c644e946dc64736f6c63430008180033" + "code": "0x608060405260043610610033575f3560e01c8063701b70ac1461003757806389dc5c841461006b5780639623609d1461009e575b5f80fd5b348015610042575f80fd5b5061005661005136600461051a565b6100b3565b60405190151581526020015b60405180910390f35b348015610076575f80fd5b50610086600361090960911b0181565b6040516001600160a01b039091168152602001610062565b6100b16100ac366004610581565b610179565b005b5f80600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156100f8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261011f9190810190610634565b90505f5b81518110156101705781818151811061013e5761013e6106e1565b60200260200101516001600160a01b0316846001600160a01b031603610168575060019392505050565b600101610123565b505f9392505050565b7fe739b9109d83c1c6d0d640fe9ed476fc5862a6de5483b00678a3fffa7a2be2f68383836040516020016101af93929190610738565b604051602081830303815290604052805190602001206101ce336100b3565b61020a5760405162461bcd60e51b81526020600482015260096024820152682737ba1026b4b732b960b91b604482015260640160405180910390fd5b61021482826102d1565b61021e828261032e565b156102ca5760405163278f794360e11b81526001600160a01b03861690634f1ef286903490610253908890889060040161076c565b5f604051808303818588803b15801561026a575f80fd5b505af115801561027c573d5f803e3d5ffd5b505060408051868152602081018690527ff5aa3d6492eaf1a4d6787c5bd36e8ec61c245d4af2fd1fd387e387a50de9f8c594500191506102b99050565b60405180910390a16102ca82610436565b5050505050565b5f828152602081815260408083203380855290835292819020849055805192835290820184905281018290527f61699483e2a58589628399a22e34da872b583143ab99b3245ba6dacf4974d2e39060600160405180910390a15050565b5f80600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b81526004015f60405180830381865afa158015610373573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261039a9190810190610634565b90505f805b825181101561040f57845f808881526020019081526020015f205f8584815181106103cc576103cc6106e1565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f2054036104075781610403816107ab565b9250505b60010161039f565b5060028251600161042091906107c3565b61042a91906107d6565b11159150505b92915050565b5f600361090960911b016001600160a01b0316631633da6e6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561047a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526104a19190810190610634565b90505f5b81518110156104fe575f808481526020019081526020015f205f8383815181106104d1576104d16106e1565b6020908102919091018101516001600160a01b031682528101919091526040015f908120556001016104a5565b505050565b6001600160a01b0381168114610517575f80fd5b50565b5f6020828403121561052a575f80fd5b813561053581610503565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156105795761057961053c565b604052919050565b5f805f60608486031215610593575f80fd5b833561059e81610503565b92506020848101356105af81610503565b9250604085013567ffffffffffffffff808211156105cb575f80fd5b818701915087601f8301126105de575f80fd5b8135818111156105f0576105f061053c565b610602601f8201601f19168501610550565b91508082528884828501011115610617575f80fd5b80848401858401375f848284010152508093505050509250925092565b5f6020808385031215610645575f80fd5b825167ffffffffffffffff8082111561065c575f80fd5b818501915085601f83011261066f575f80fd5b8151818111156106815761068161053c565b8060051b9150610692848301610550565b81815291830184019184810190888411156106ab575f80fd5b938501935b838510156106d557845192506106c583610503565b82825293850193908501906106b0565b98975050505050505050565b634e487b7160e01b5f52603260045260245ffd5b5f81518084525f5b81811015610719576020818501810151868301820152016106fd565b505f602082860101526020601f19601f83011685010191505092915050565b6001600160a01b038481168252831660208201526060604082018190525f90610763908301846106f5565b95945050505050565b6001600160a01b03831681526040602082018190525f9061078f908301846106f5565b949350505050565b634e487b7160e01b5f52601160045260245ffd5b5f600182016107bc576107bc610797565b5060010190565b8082018082111561043057610430610797565b5f826107f057634e487b7160e01b5f52601260045260245ffd5b50049056fea26469706673582212208b5abf9068d280c8882fefb135628450824597b22a5188a2b2be9cc20531f25064736f6c63430008180033" }, "0x1212000000000000000000000000000000000001": { "balance": "0",