More Info
Private Name Tags
ContractCreator
Latest 17 from a total of 17 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 16591704 | 707 days ago | IN | 0.01 ETH | 0.00072121 | ||||
Release | 13138335 | 1233 days ago | IN | 0 ETH | 0.01197739 | ||||
Add Locking Fund | 13138315 | 1233 days ago | IN | 0 ETH | 0.01972321 | ||||
Add Locking Fund | 13138284 | 1233 days ago | IN | 0 ETH | 0.01638235 | ||||
Release | 13085262 | 1241 days ago | IN | 0 ETH | 0.00746661 | ||||
Release | 13085262 | 1241 days ago | IN | 0 ETH | 0.00746661 | ||||
Release | 12886448 | 1272 days ago | IN | 0 ETH | 0.00121336 | ||||
Release | 12886447 | 1272 days ago | IN | 0 ETH | 0.00121336 | ||||
Release | 12886442 | 1272 days ago | IN | 0 ETH | 0.00186182 | ||||
Release | 12687800 | 1303 days ago | IN | 0 ETH | 0.00250762 | ||||
Release | 12687799 | 1303 days ago | IN | 0 ETH | 0.00250762 | ||||
Release | 12491334 | 1334 days ago | IN | 0 ETH | 0.00776553 | ||||
Release | 12491327 | 1334 days ago | IN | 0 ETH | 0.01126896 | ||||
Release | 12102376 | 1394 days ago | IN | 0 ETH | 0.01628447 | ||||
Release | 12102099 | 1394 days ago | IN | 0 ETH | 0.01628447 | ||||
Release | 11904319 | 1424 days ago | IN | 0 ETH | 0.01221626 | ||||
Release | 11904306 | 1424 days ago | IN | 0 ETH | 0.01221626 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
TokenRelease
Compiler Version
v0.6.1+commit.e6f7d5a4
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-01-22 */ pragma solidity >=0.6.0; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } contract Context { constructor () internal { } function _msgSender() internal view virtual returns (address payable) { return msg.sender; } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } contract ERC20 is Context, IERC20 { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; uint256 private _totalSupply; address private rewardPool; address private burnPool; address private tokenOwner; function initRewardContract(address add) public { require(_msgSender() == tokenOwner, "ERC20: Only owner can init"); rewardPool=add; } function initBurnContract(address add) public { require(_msgSender() == tokenOwner, "ERC20: Only owner can init"); burnPool=add; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function _transfer(address sender, address recipient, uint256 amount) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(sender, recipient, amount); uint256 burnAmount; uint256 rewardAmount; (burnAmount,rewardAmount)=_caculateExtractAmount(amount); _balances[rewardPool] = _balances[rewardPool].add(rewardAmount); _balances[burnPool] = _balances[burnPool].add(burnAmount); uint256 newAmount=amount-burnAmount-rewardAmount; _balances[sender] = _balances[sender].sub(newAmount, "ERC20: transfer amount exceeds balance"); _balances[recipient] = _balances[recipient].add(newAmount); emit Transfer(sender, recipient, newAmount); } function _deploy(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); tokenOwner = account; _beforeTokenTransfer(address(0), account, amount); _totalSupply = _totalSupply.add(amount); _balances[account] = _balances[account].add(amount); emit Transfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance"); _totalSupply = _totalSupply.sub(amount); emit Transfer(account, address(0), amount); } function _approve(address owner, address spender, uint256 amount) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _burnFrom(address account, uint256 amount) internal virtual { _burn(account, amount); _approve(account, _msgSender(), _allowances[account][_msgSender()].sub(amount, "ERC20: burn amount exceeds allowance")); } function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { } function _caculateExtractAmount(uint256 amount) internal virtual returns(uint256,uint256) { } } contract ERC20Burnable is Context, ERC20 { function burn(uint256 amount) public virtual { _burn(_msgSender(), amount); } function burnFrom(address account, uint256 amount) public virtual { _burnFrom(account, amount); } } abstract contract ERC20Detailed is IERC20 { string private _name; string private _symbol; uint8 private _decimals; constructor (string memory name, string memory symbol, uint8 decimals) public { _name = name; _symbol = symbol; _decimals = decimals; } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } } contract PolkaBridge is ERC20, ERC20Detailed, ERC20Burnable { uint256 BeginExtract; constructor(uint256 initialSupply) public ERC20Detailed("PolkaBridge", "PBR", 18) { _deploy(msg.sender, initialSupply); BeginExtract = 1615766400; //15 Mar 2021 1615766400 } function _caculateExtractAmount(uint256 amount) internal override returns (uint256, uint256) { if (block.timestamp > BeginExtract) { uint256 extractAmount = (amount * 5) / 1000; uint256 burnAmount = (extractAmount * 10) / 100; uint256 rewardAmount = (extractAmount * 90) / 100; return (burnAmount, rewardAmount); } else { return (0, 0); } } } contract TokenRelease { using SafeMath for uint256; PolkaBridge private _polkaBridge; event TokensReleased(address beneficiary, uint256 amount); address payable private owner; // beneficiary of tokens after they are released struct Vesting { string Name; address Beneficiary; uint256 Cliff; uint256 Start; uint256 AmountReleaseInOne; uint256 MaxRelease; bool IsExist; } mapping(address => Vesting) private _vestingList; constructor( PolkaBridge polkaBridge, address team, address marketing, address eco, uint256 cliffTeam, uint256 cliffMarketing, uint256 cliffEco, uint256 amountReleaseInOneTeam, uint256 amountReleaseInOneMarketing, uint256 amountReleaseInOneEco, uint256 maxReleaseTeam, uint256 maxReleaseMarketing, uint256 maxReleaseEco ) public { _polkaBridge = polkaBridge; _vestingList[team].Name = "Team Fund"; _vestingList[team].Beneficiary = team; _vestingList[team].Cliff = cliffTeam; _vestingList[team].Start = block.timestamp; _vestingList[team].AmountReleaseInOne = amountReleaseInOneTeam; _vestingList[team].MaxRelease = maxReleaseTeam; _vestingList[team].IsExist = true; _vestingList[marketing].Name = "Marketing Fund"; _vestingList[marketing].Beneficiary = marketing; _vestingList[marketing].Cliff = cliffMarketing; _vestingList[marketing].Start = block.timestamp; _vestingList[marketing] .AmountReleaseInOne = amountReleaseInOneMarketing; _vestingList[marketing].MaxRelease = maxReleaseMarketing; _vestingList[marketing].IsExist = true; _vestingList[eco].Name = "Ecosystem Fund"; _vestingList[eco].Beneficiary = eco; _vestingList[eco].Cliff = cliffEco; _vestingList[eco].Start = block.timestamp; _vestingList[eco].AmountReleaseInOne = amountReleaseInOneEco; _vestingList[eco].MaxRelease = maxReleaseEco; _vestingList[eco].IsExist = true; owner = msg.sender; } function depositETHtoContract() public payable {} function addLockingFund( string memory name, address beneficiary, uint256 cliff, uint256 start, uint256 amountReleaseInOne, uint256 maxRelease ) public { require(msg.sender == owner, "only owner can addLockingFund"); _vestingList[beneficiary].Name = name; _vestingList[beneficiary].Beneficiary = beneficiary; _vestingList[beneficiary].Cliff = cliff; _vestingList[beneficiary].Start = start; _vestingList[beneficiary].AmountReleaseInOne = amountReleaseInOne; _vestingList[beneficiary].MaxRelease = maxRelease; _vestingList[beneficiary].IsExist = true; } function beneficiary(address acc) public view returns (address) { return _vestingList[acc].Beneficiary; } function cliff(address acc) public view returns (uint256) { return _vestingList[acc].Cliff; } function start(address acc) public view returns (uint256) { return _vestingList[acc].Start; } function amountReleaseInOne(address acc) public view returns (uint256) { return _vestingList[acc].AmountReleaseInOne; } function getNumberCycle(address acc) public view returns (uint256) { return (block.timestamp.sub(_vestingList[acc].Start)).div( _vestingList[acc].Cliff ); } function getRemainBalance() public view returns (uint256) { return _polkaBridge.balanceOf(address(this)); } function getRemainUnlockAmount(address acc) public view returns (uint256) { return _vestingList[acc].MaxRelease; } function isValidBeneficiary(address _wallet) public view returns (bool) { return _vestingList[_wallet].IsExist; } function release(address acc) public { require(acc != address(0), "TokenRelease: address 0 not allow"); require( isValidBeneficiary(acc), "TokenRelease: invalid release address" ); require( _vestingList[acc].MaxRelease > 0, "TokenRelease: no more token to release" ); uint256 unreleased = _releasableAmount(acc); require(unreleased > 0, "TokenRelease: no tokens are due"); _polkaBridge.transfer(_vestingList[acc].Beneficiary, unreleased); _vestingList[acc].MaxRelease -= unreleased; emit TokensReleased(_vestingList[acc].Beneficiary, unreleased); } function _releasableAmount(address acc) private returns (uint256) { uint256 currentBalance = _polkaBridge.balanceOf(address(this)); if (currentBalance <= 0) return 0; uint256 amountRelease = 0; //require(_start.add(_cliff) < block.timestamp, "not that time"); if ( _vestingList[acc].Start.add(_vestingList[acc].Cliff) > block.timestamp ) { //not on time amountRelease = 0; } else { uint256 numberCycle = getNumberCycle(acc); if (numberCycle > 0) { amountRelease = numberCycle * _vestingList[acc].AmountReleaseInOne; } else { amountRelease = 0; } _vestingList[acc].Start = block.timestamp; //update start } return amountRelease; } function withdrawEtherFund() public { require(msg.sender == owner, "only owner can withdraw"); uint256 balance = address(this).balance; require(balance > 0, "not enough fund"); owner.transfer(balance); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"contract PolkaBridge","name":"polkaBridge","type":"address"},{"internalType":"address","name":"team","type":"address"},{"internalType":"address","name":"marketing","type":"address"},{"internalType":"address","name":"eco","type":"address"},{"internalType":"uint256","name":"cliffTeam","type":"uint256"},{"internalType":"uint256","name":"cliffMarketing","type":"uint256"},{"internalType":"uint256","name":"cliffEco","type":"uint256"},{"internalType":"uint256","name":"amountReleaseInOneTeam","type":"uint256"},{"internalType":"uint256","name":"amountReleaseInOneMarketing","type":"uint256"},{"internalType":"uint256","name":"amountReleaseInOneEco","type":"uint256"},{"internalType":"uint256","name":"maxReleaseTeam","type":"uint256"},{"internalType":"uint256","name":"maxReleaseMarketing","type":"uint256"},{"internalType":"uint256","name":"maxReleaseEco","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"beneficiary","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TokensReleased","type":"event"},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"cliff","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"amountReleaseInOne","type":"uint256"},{"internalType":"uint256","name":"maxRelease","type":"uint256"}],"name":"addLockingFund","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"acc","type":"address"}],"name":"amountReleaseInOne","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"acc","type":"address"}],"name":"beneficiary","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"acc","type":"address"}],"name":"cliff","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"depositETHtoContract","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"acc","type":"address"}],"name":"getNumberCycle","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRemainBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"acc","type":"address"}],"name":"getRemainUnlockAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"}],"name":"isValidBeneficiary","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"acc","type":"address"}],"name":"release","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"acc","type":"address"}],"name":"start","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawEtherFund","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b50604051620021e8380380620021e883398181016040526101a08110156200003857600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050508c6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600981526020017f5465616d2046756e640000000000000000000000000000000000000000000000815250600260008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000190805190602001906200018e929190620008e7565b508b600260008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555088600260008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002018190555042600260008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003018190555085600260008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004018190555082600260008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600501819055506001600260008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160006101000a81548160ff0219169083151502179055506040518060400160405280600e81526020017f4d61726b6574696e672046756e64000000000000000000000000000000000000815250600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001908051906020019062000414929190620008e7565b508a600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555087600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002018190555042600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003018190555084600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004018190555081600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600501819055506001600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160006101000a81548160ff0219169083151502179055506040518060400160405280600e81526020017f45636f73797374656d2046756e64000000000000000000000000000000000000815250600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000190805190602001906200069a929190620008e7565b5089600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555086600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002018190555042600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003018190555083600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004018190555080600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600501819055506001600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160006101000a81548160ff02191690831515021790555033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050505050505050505062000996565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200092a57805160ff19168380011785556200095b565b828001600101855582156200095b579182015b828111156200095a5782518255916020019190600101906200093d565b5b5090506200096a91906200096e565b5090565b6200099391905b808211156200098f57600081600090555060010162000975565b5090565b90565b61184280620009a66000396000f3fe6080604052600436106100a75760003560e01c8063a901418d11610064578063a901418d14610383578063c6caeece146103e8578063ca95a20014610413578063cdce101b14610478578063dbd2b1bc146104dd578063dd0b281e146104e7576100a7565b8063054cacaf146100ac57806308bc072f14610115578063191655871461017a5780631ebfd17c146101cb57806381008568146102db57806393bc484c1461036c575b600080fd5b3480156100b857600080fd5b506100fb600480360360208110156100cf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061054c565b604051808215151515815260200191505060405180910390f35b34801561012157600080fd5b506101646004803603602081101561013857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105a5565b6040518082815260200191505060405180910390f35b34801561018657600080fd5b506101c96004803603602081101561019d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105f1565b005b3480156101d757600080fd5b506102d9600480360360c08110156101ee57600080fd5b810190808035906020019064010000000081111561020b57600080fd5b82018360208201111561021d57600080fd5b8035906020019184600183028401116401000000008311171561023f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050610a5a565b005b3480156102e757600080fd5b5061032a600480360360208110156102fe57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d74565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561037857600080fd5b50610381610de0565b005b34801561038f57600080fd5b506103d2600480360360208110156103a657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f8a565b6040518082815260200191505060405180910390f35b3480156103f457600080fd5b506103fd61103c565b6040518082815260200191505060405180910390f35b34801561041f57600080fd5b506104626004803603602081101561043657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061111c565b6040518082815260200191505060405180910390f35b34801561048457600080fd5b506104c76004803603602081101561049b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611168565b6040518082815260200191505060405180910390f35b6104e56111b4565b005b3480156104f357600080fd5b506105366004803603602081101561050a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111b6565b6040518082815260200191505060405180910390f35b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160009054906101000a900460ff169050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600501549050919050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610677576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806117ec6021913960400191505060405180910390fd5b6106808161054c565b6106d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806117c76025913960400191505060405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206005015411610770576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806117a16026913960400191505060405180910390fd5b600061077b82611202565b9050600081116107f3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f546f6b656e52656c656173653a206e6f20746f6b656e7320617265206475650081525060200191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156108fd57600080fd5b505af1158015610911573d6000803e3d6000fd5b505050506040513d602081101561092757600080fd5b81019080805190602001909291905050505080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600501600082825403925050819055507fc7798891864187665ac6dd119286e44ec13f014527aeeb2b8eb3fd413df93179600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b1d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6f6e6c79206f776e65722063616e206164644c6f636b696e6746756e6400000081525060200191505060405180910390fd5b85600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000019080519060200190610b739291906116fb565b5084600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002018190555082600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003018190555081600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004018190555080600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600501819055506001600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160006101000a81548160ff021916908315150217905550505050505050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ea3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f6f6e6c79206f776e65722063616e20776974686472617700000000000000000081525060200191505060405180910390fd5b600047905060008111610f1e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6e6f7420656e6f7567682066756e64000000000000000000000000000000000081525060200191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610f86573d6000803e3d6000fd5b5050565b6000611035600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154611027600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301544261145990919063ffffffff16565b6114a390919063ffffffff16565b9050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156110dc57600080fd5b505afa1580156110f0573d6000803e3d6000fd5b505050506040513d602081101561110657600080fd5b8101908080519060200190929190505050905090565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401549050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050919050565b565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301549050919050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156112a357600080fd5b505afa1580156112b7573d6000803e3d6000fd5b505050506040513d60208110156112cd57600080fd5b81019080805190602001909291905050509050600081116112f2576000915050611454565b60008090504261138f600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301546114ed90919063ffffffff16565b111561139e576000905061144e565b60006113a985610f8a565b9050600081111561140057600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004015481029150611405565b600091505b42600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030181905550505b80925050505b919050565b600061149b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611575565b905092915050565b60006114e583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611635565b905092915050565b60008082840190508381101561156b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000838311158290611622576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156115e75780820151818401526020810190506115cc565b50505050905090810190601f1680156116145780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080831182906116e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156116a657808201518184015260208101905061168b565b50505050905090810190601f1680156116d35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816116ed57fe5b049050809150509392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061173c57805160ff191683800117855561176a565b8280016001018555821561176a579182015b8281111561176957825182559160200191906001019061174e565b5b509050611777919061177b565b5090565b61179d91905b80821115611799576000816000905550600101611781565b5090565b9056fe546f6b656e52656c656173653a206e6f206d6f726520746f6b656e20746f2072656c65617365546f6b656e52656c656173653a20696e76616c69642072656c656173652061646472657373546f6b656e52656c656173653a20616464726573732030206e6f7420616c6c6f77a2646970667358221220504711a2eea152a4164511c5514f3d6bcd77fa1835bfe7dc5f7edae4cfb534f364736f6c634300060100330000000000000000000000000d6ae2a429df13e44a07cd2969e085e4833f64a00000000000000000000000004cf712aff9912ebfef5d5db2c53e152d3a0428a900000000000000000000000050d6182c27c12eedae3103548bd1e4a2014e269400000000000000000000000023b2c1537b955b4b9a90910c324034747d4aa43f0000000000000000000000000000000000000000000000000000000000f0c29a000000000000000000000000000000000000000000000000000000000028206f000000000000000000000000000000000000000000000000000000000028206f0000000000000000000000000000000000000000000422ca8b0a00a42500000000000000000000000000000000000000000000000000d3c21bcecceda100000000000000000000000000000000000000000000000000d3c21bcecceda1000000000000000000000000000000000000000000000000108b2a2c28029094000000000000000000000000000000000000000000000000108b2a2c2802909400000000000000000000000000000000000000000000000018d0bf423c03d8de000000
Deployed Bytecode
0x6080604052600436106100a75760003560e01c8063a901418d11610064578063a901418d14610383578063c6caeece146103e8578063ca95a20014610413578063cdce101b14610478578063dbd2b1bc146104dd578063dd0b281e146104e7576100a7565b8063054cacaf146100ac57806308bc072f14610115578063191655871461017a5780631ebfd17c146101cb57806381008568146102db57806393bc484c1461036c575b600080fd5b3480156100b857600080fd5b506100fb600480360360208110156100cf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061054c565b604051808215151515815260200191505060405180910390f35b34801561012157600080fd5b506101646004803603602081101561013857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105a5565b6040518082815260200191505060405180910390f35b34801561018657600080fd5b506101c96004803603602081101561019d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105f1565b005b3480156101d757600080fd5b506102d9600480360360c08110156101ee57600080fd5b810190808035906020019064010000000081111561020b57600080fd5b82018360208201111561021d57600080fd5b8035906020019184600183028401116401000000008311171561023f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050610a5a565b005b3480156102e757600080fd5b5061032a600480360360208110156102fe57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d74565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561037857600080fd5b50610381610de0565b005b34801561038f57600080fd5b506103d2600480360360208110156103a657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f8a565b6040518082815260200191505060405180910390f35b3480156103f457600080fd5b506103fd61103c565b6040518082815260200191505060405180910390f35b34801561041f57600080fd5b506104626004803603602081101561043657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061111c565b6040518082815260200191505060405180910390f35b34801561048457600080fd5b506104c76004803603602081101561049b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611168565b6040518082815260200191505060405180910390f35b6104e56111b4565b005b3480156104f357600080fd5b506105366004803603602081101561050a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111b6565b6040518082815260200191505060405180910390f35b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160009054906101000a900460ff169050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600501549050919050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610677576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806117ec6021913960400191505060405180910390fd5b6106808161054c565b6106d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806117c76025913960400191505060405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206005015411610770576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806117a16026913960400191505060405180910390fd5b600061077b82611202565b9050600081116107f3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f546f6b656e52656c656173653a206e6f20746f6b656e7320617265206475650081525060200191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156108fd57600080fd5b505af1158015610911573d6000803e3d6000fd5b505050506040513d602081101561092757600080fd5b81019080805190602001909291905050505080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600501600082825403925050819055507fc7798891864187665ac6dd119286e44ec13f014527aeeb2b8eb3fd413df93179600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b1d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6f6e6c79206f776e65722063616e206164644c6f636b696e6746756e6400000081525060200191505060405180910390fd5b85600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000019080519060200190610b739291906116fb565b5084600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002018190555082600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003018190555081600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004018190555080600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600501819055506001600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160006101000a81548160ff021916908315150217905550505050505050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ea3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f6f6e6c79206f776e65722063616e20776974686472617700000000000000000081525060200191505060405180910390fd5b600047905060008111610f1e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6e6f7420656e6f7567682066756e64000000000000000000000000000000000081525060200191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610f86573d6000803e3d6000fd5b5050565b6000611035600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154611027600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301544261145990919063ffffffff16565b6114a390919063ffffffff16565b9050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156110dc57600080fd5b505afa1580156110f0573d6000803e3d6000fd5b505050506040513d602081101561110657600080fd5b8101908080519060200190929190505050905090565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401549050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050919050565b565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301549050919050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156112a357600080fd5b505afa1580156112b7573d6000803e3d6000fd5b505050506040513d60208110156112cd57600080fd5b81019080805190602001909291905050509050600081116112f2576000915050611454565b60008090504261138f600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301546114ed90919063ffffffff16565b111561139e576000905061144e565b60006113a985610f8a565b9050600081111561140057600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004015481029150611405565b600091505b42600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030181905550505b80925050505b919050565b600061149b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611575565b905092915050565b60006114e583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611635565b905092915050565b60008082840190508381101561156b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000838311158290611622576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156115e75780820151818401526020810190506115cc565b50505050905090810190601f1680156116145780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080831182906116e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156116a657808201518184015260208101905061168b565b50505050905090810190601f1680156116d35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816116ed57fe5b049050809150509392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061173c57805160ff191683800117855561176a565b8280016001018555821561176a579182015b8281111561176957825182559160200191906001019061174e565b5b509050611777919061177b565b5090565b61179d91905b80821115611799576000816000905550600101611781565b5090565b9056fe546f6b656e52656c656173653a206e6f206d6f726520746f6b656e20746f2072656c65617365546f6b656e52656c656173653a20696e76616c69642072656c656173652061646472657373546f6b656e52656c656173653a20616464726573732030206e6f7420616c6c6f77a2646970667358221220504711a2eea152a4164511c5514f3d6bcd77fa1835bfe7dc5f7edae4cfb534f364736f6c63430006010033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000d6ae2a429df13e44a07cd2969e085e4833f64a00000000000000000000000004cf712aff9912ebfef5d5db2c53e152d3a0428a900000000000000000000000050d6182c27c12eedae3103548bd1e4a2014e269400000000000000000000000023b2c1537b955b4b9a90910c324034747d4aa43f0000000000000000000000000000000000000000000000000000000000f0c29a000000000000000000000000000000000000000000000000000000000028206f000000000000000000000000000000000000000000000000000000000028206f0000000000000000000000000000000000000000000422ca8b0a00a42500000000000000000000000000000000000000000000000000d3c21bcecceda100000000000000000000000000000000000000000000000000d3c21bcecceda1000000000000000000000000000000000000000000000000108b2a2c28029094000000000000000000000000000000000000000000000000108b2a2c2802909400000000000000000000000000000000000000000000000018d0bf423c03d8de000000
-----Decoded View---------------
Arg [0] : polkaBridge (address): 0x0D6ae2a429df13e44A07Cd2969E085e4833f64A0
Arg [1] : team (address): 0x4Cf712Aff9912eBFEF5D5db2c53e152d3a0428A9
Arg [2] : marketing (address): 0x50D6182c27C12EEDAe3103548BD1E4a2014E2694
Arg [3] : eco (address): 0x23b2C1537B955b4B9A90910c324034747d4aa43F
Arg [4] : cliffTeam (uint256): 15778458
Arg [5] : cliffMarketing (uint256): 2629743
Arg [6] : cliffEco (uint256): 2629743
Arg [7] : amountReleaseInOneTeam (uint256): 5000000000000000000000000
Arg [8] : amountReleaseInOneMarketing (uint256): 1000000000000000000000000
Arg [9] : amountReleaseInOneEco (uint256): 1000000000000000000000000
Arg [10] : maxReleaseTeam (uint256): 20000000000000000000000000
Arg [11] : maxReleaseMarketing (uint256): 20000000000000000000000000
Arg [12] : maxReleaseEco (uint256): 30000000000000000000000000
-----Encoded View---------------
13 Constructor Arguments found :
Arg [0] : 0000000000000000000000000d6ae2a429df13e44a07cd2969e085e4833f64a0
Arg [1] : 0000000000000000000000004cf712aff9912ebfef5d5db2c53e152d3a0428a9
Arg [2] : 00000000000000000000000050d6182c27c12eedae3103548bd1e4a2014e2694
Arg [3] : 00000000000000000000000023b2c1537b955b4b9a90910c324034747d4aa43f
Arg [4] : 0000000000000000000000000000000000000000000000000000000000f0c29a
Arg [5] : 000000000000000000000000000000000000000000000000000000000028206f
Arg [6] : 000000000000000000000000000000000000000000000000000000000028206f
Arg [7] : 0000000000000000000000000000000000000000000422ca8b0a00a425000000
Arg [8] : 00000000000000000000000000000000000000000000d3c21bcecceda1000000
Arg [9] : 00000000000000000000000000000000000000000000d3c21bcecceda1000000
Arg [10] : 000000000000000000000000000000000000000000108b2a2c28029094000000
Arg [11] : 000000000000000000000000000000000000000000108b2a2c28029094000000
Arg [12] : 00000000000000000000000000000000000000000018d0bf423c03d8de000000
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.