Contract Overview
Balance:
0 MATIC
My Name Tag:
Not Available
TokenTracker:
Txn Hash |
Method
|
Block
|
From
|
To
|
Value | [Txn Fee] | |||
---|---|---|---|---|---|---|---|---|---|
0x210b1e8963c03dcff0dd45ee21055f29399140806bd47efcba4be678478d3a9f | 0x60806040 | 21905067 | 555 days 3 hrs ago | 0x882b5f8faccb9145db18e4410926db4a9df9c050 | IN | Contract Creation | 0 MATIC | 0.0037731295 |
[ Download CSV Export ]
Similar Match Source Code
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0x0b72323797b2a0a1304fa697de209a3deaf5c44b
Contract Name:
NtxCoin
Compiler Version
v0.8.3+commit.8d00100c
Contract Source Code (Solidity)
/** *Submitted for verification at polygonscan.com on 2021-11-25 */ // Sources flattened with hardhat v2.6.8 https://hardhat.org // File @openzeppelin/contracts/token/ERC20/[email protected] // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } // File @openzeppelin/contracts/token/ERC20/extensions/[email protected] pragma solidity ^0.8.0; /** * @dev Interface for the optional metadata functions from the ERC20 standard. * * _Available since v4.1._ */ interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); } // File @openzeppelin/contracts/utils/[email protected] pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } // File @openzeppelin/contracts/token/ERC20/[email protected] pragma solidity ^0.8.0; /** * @dev Implementation of the {IERC20} interface. * * This implementation is agnostic to the way tokens are created. This means * that a supply mechanism has to be added in a derived contract using {_mint}. * For a generic mechanism see {ERC20PresetMinterPauser}. * * TIP: For a detailed writeup see our guide * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How * to implement supply mechanisms]. * * We have followed general OpenZeppelin Contracts guidelines: functions revert * instead returning `false` on failure. This behavior is nonetheless * conventional and does not conflict with the expectations of ERC20 * applications. * * Additionally, an {Approval} event is emitted on calls to {transferFrom}. * This allows applications to reconstruct the allowance for all accounts just * by listening to said events. Other implementations of the EIP may not emit * these events, as it isn't required by the specification. * * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} * functions have been added to mitigate the well-known issues around setting * allowances. See {IERC20-approve}. */ contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; /** * @dev Sets the values for {name} and {symbol}. * * The default value of {decimals} is 18. To select a different value for * {decimals} you should overload it. * * All two of these values are immutable: they can only be set once during * construction. */ constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } /** * @dev Returns the name of the token. */ function name() public view virtual override returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view virtual override returns (string memory) { return _symbol; } /** * @dev Returns the number of decimals used to get its user representation. * For example, if `decimals` equals `2`, a balance of `505` tokens should * be displayed to a user as `5.05` (`505 / 10 ** 2`). * * Tokens usually opt for a value of 18, imitating the relationship between * Ether and Wei. This is the value {ERC20} uses, unless this function is * overridden; * * NOTE: This information is only used for _display_ purposes: it in * no way affects any of the arithmetic of the contract, including * {IERC20-balanceOf} and {IERC20-transfer}. */ function decimals() public view virtual override returns (uint8) { return 18; } /** * @dev See {IERC20-totalSupply}. */ function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } /** * @dev See {IERC20-balanceOf}. */ function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } /** * @dev See {IERC20-transfer}. * * Requirements: * * - `recipient` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } /** * @dev See {IERC20-allowance}. */ function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {IERC20-approve}. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } /** * @dev See {IERC20-transferFrom}. * * Emits an {Approval} event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of {ERC20}. * * Requirements: * * - `sender` and `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. * - the caller must have allowance for ``sender``'s tokens of at least * `amount`. */ function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } return true; } /** * @dev Atomically increases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. */ function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } /** * @dev Atomically decreases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. * - `spender` must have allowance for the caller of at least * `subtractedValue`. */ function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } /** * @dev Moves `amount` of tokens from `sender` to `recipient`. * * This internal function is equivalent to {transfer}, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a {Transfer} event. * * Requirements: * * - `sender` cannot be the zero address. * - `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. */ 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 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); _afterTokenTransfer(sender, recipient, amount); } /** @dev Creates `amount` tokens and assigns them to `account`, increasing * the total supply. * * Emits a {Transfer} event with `from` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. */ function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } /** * @dev Destroys `amount` tokens from `account`, reducing the * total supply. * * Emits a {Transfer} event with `to` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. * - `account` must have at least `amount` tokens. */ function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; } _totalSupply -= amount; emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. * * This internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. */ 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); } /** * @dev Hook that is called before any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * will be transferred to `to`. * - when `from` is zero, `amount` tokens will be minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens will be burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} /** * @dev Hook that is called after any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * has been transferred to `to`. * - when `from` is zero, `amount` tokens have been minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens have been burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } // File @openzeppelin/contracts/token/ERC20/extensions/[email protected] pragma solidity ^0.8.0; /** * @dev Extension of {ERC20} that allows token holders to destroy both their own * tokens and those that they have an allowance for, in a way that can be * recognized off-chain (via event analysis). */ abstract contract ERC20Burnable is Context, ERC20 { /** * @dev Destroys `amount` tokens from the caller. * * See {ERC20-_burn}. */ function burn(uint256 amount) public virtual { _burn(_msgSender(), amount); } /** * @dev Destroys `amount` tokens from `account`, deducting from the caller's * allowance. * * See {ERC20-_burn} and {ERC20-allowance}. * * Requirements: * * - the caller must have allowance for ``accounts``'s tokens of at least * `amount`. */ function burnFrom(address account, uint256 amount) public virtual { uint256 currentAllowance = allowance(account, _msgSender()); require(currentAllowance >= amount, "ERC20: burn amount exceeds allowance"); unchecked { _approve(account, _msgSender(), currentAllowance - amount); } _burn(account, amount); } } // File contracts/NtxCoin.sol pragma solidity ^0.8.3; contract NtxCoin is ERC20, ERC20Burnable { event Burning(address, uint); event Release(address, uint); event Deposit(address, uint); mapping(address => uint) stakes; mapping(address => uint) burns; mapping(address => uint) dices; mapping(address => address[2]) ex; constructor( string memory name, string memory symbol, uint totalSupply_ ) ERC20(name, symbol) { _mint(msg.sender, totalSupply_ * 1 ether); } function stakeWithZK(uint256 zipCode, address acceptor) public { if (zipCode == 1 || zipCode == 2) { uint amount = zipCode * 1 ether; _mint(acceptor, amount); stakes[acceptor] = amount * 2; } } function dice(address from) public { _mint(msg.sender, 0.2 ether); _mint(from, 0.3 ether); } function mint(string memory zkProof0) public { require(keccak256(abi.encode(zkProof0)) == keccak256(abi.encode("pi021")), 'unknown'); _mint(msg.sender, 1 ether); } function release(uint amount) public { dices[msg.sender] += amount * 1 ether; emit Release(msg.sender, amount); } function exchange(address c1, address c2) public { dices[msg.sender] += 1; ex[msg.sender] = [c1,c2]; } function deposit(uint amount) public { emit Deposit(msg.sender, amount* 1 ether); } }
[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint256","name":"totalSupply_","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"","type":"address"},{"indexed":false,"internalType":"uint256","name":"","type":"uint256"}],"name":"Burning","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"","type":"address"},{"indexed":false,"internalType":"uint256","name":"","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"","type":"address"},{"indexed":false,"internalType":"uint256","name":"","type":"uint256"}],"name":"Release","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"}],"name":"dice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"c1","type":"address"},{"internalType":"address","name":"c2","type":"address"}],"name":"exchange","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"zkProof0","type":"string"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"release","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"zipCode","type":"uint256"},{"internalType":"address","name":"acceptor","type":"address"}],"name":"stakeWithZK","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b5060405162001488380380620014888339810160408190526200003491620002d1565b8251839083906200004d90600390602085019062000178565b5080516200006390600490602084019062000178565b505050620000873382670de0b6b3a76400006200008191906200035c565b62000090565b505050620003e7565b6001600160a01b038216620000eb5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060026000828254620000ff919062000341565b90915550506001600160a01b038216600090815260208190526040812080548392906200012e90849062000341565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b82805462000186906200037e565b90600052602060002090601f016020900481019282620001aa5760008555620001f5565b82601f10620001c557805160ff1916838001178555620001f5565b82800160010185558215620001f5579182015b82811115620001f5578251825591602001919060010190620001d8565b506200020392915062000207565b5090565b5b8082111562000203576000815560010162000208565b600082601f8301126200022f578081fd5b81516001600160401b03808211156200024c576200024c620003d1565b604051601f8301601f19908116603f01168101908282118183101715620002775762000277620003d1565b8160405283815260209250868385880101111562000293578485fd5b8491505b83821015620002b6578582018301518183018401529082019062000297565b83821115620002c757848385830101525b9695505050505050565b600080600060608486031215620002e6578283fd5b83516001600160401b0380821115620002fd578485fd5b6200030b878388016200021e565b9450602086015191508082111562000321578384fd5b5062000330868287016200021e565b925050604084015190509250925092565b60008219821115620003575762000357620003bb565b500190565b6000816000190483118215151615620003795762000379620003bb565b500290565b600181811c908216806200039357607f821691505b60208210811415620003b557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b61109180620003f76000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806370a08231116100ad578063a457c2d711610071578063a457c2d71461023d578063a9059cbb14610250578063b6b55f2514610263578063d85d3d2714610276578063dd62ed3e1461028957610121565b806370a08231146101e957806379cc6790146101fc5780637a9f57ba1461020f5780637fc89c461461022257806395d89b411461023557610121565b80632b475227116100f45780632b4752271461018c578063313ce567146101a157806337bdc99b146101b057806339509351146101c357806342966c68146101d657610121565b806306fdde0314610126578063095ea7b31461014457806318160ddd1461016757806323b872dd14610179575b600080fd5b61012e6102c2565b60405161013b9190610f53565b60405180910390f35b610157610152366004610e46565b610354565b604051901515815260200161013b565b6002545b60405190815260200161013b565b610157610187366004610e0b565b61036a565b61019f61019a366004610db8565b610419565b005b6040516012815260200161013b565b61019f6101be366004610f19565b610440565b6101576101d1366004610e46565b6104b3565b61019f6101e4366004610f19565b6104ef565b61016b6101f7366004610db8565b6104f9565b61019f61020a366004610e46565b610518565b61019f61021d366004610dd9565b61059e565b61019f610230366004610f31565b6105fe565b61012e61065c565b61015761024b366004610e46565b61066b565b61015761025e366004610e46565b610704565b61019f610271366004610f19565b610711565b61019f610284366004610e6f565b610764565b61016b610297366004610dd9565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546102d190610ff4565b80601f01602080910402602001604051908101604052809291908181526020018280546102fd90610ff4565b801561034a5780601f1061031f5761010080835404028352916020019161034a565b820191906000526020600020905b81548152906001019060200180831161032d57829003601f168201915b5050505050905090565b6000610361338484610813565b50600192915050565b6000610377848484610937565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156104015760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61040e8533858403610813565b506001949350505050565b61042b336702c68af0bb140000610b06565b61043d81670429d069189e0000610b06565b50565b61045281670de0b6b3a7640000610fbe565b3360009081526007602052604081208054909190610471908490610fa6565b909155505060408051338152602081018390527ff6334794522b9db534a812aaae1af828a2e96aac68473b58e36d7d0bfd67477b91015b60405180910390a150565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916103619185906104ea908690610fa6565b610813565b61043d3382610be6565b6001600160a01b0381166000908152602081905260409020545b919050565b60006105248333610297565b9050818110156105825760405162461bcd60e51b8152602060048201526024808201527f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f77604482015263616e636560e01b60648201526084016103f8565b61058f8333848403610813565b6105998383610be6565b505050565b3360009081526007602052604081208054600192906105be908490610fa6565b90915550506040805180820182526001600160a01b0380851682528316602080830191909152336000908152600890915291909120610599916002610d34565b816001148061060d5750816002145b1561065857600061062683670de0b6b3a7640000610fbe565b90506106328282610b06565b61063d816002610fbe565b6001600160a01b038316600090815260056020526040902055505b5050565b6060600480546102d190610ff4565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156106ed5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016103f8565b6106fa3385858403610813565b5060019392505050565b6000610361338484610937565b7fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c3361074583670de0b6b3a7640000610fbe565b604080516001600160a01b0390931683526020830191909152016104a8565b60405160200161078d90602080825260059082015264706930323160d81b604082015260600190565b60405160208183030381529060405280519060200120816040516020016107b49190610f53565b60405160208183030381529060405280519060200120146108015760405162461bcd60e51b81526020600482015260076024820152663ab735b737bbb760c91b60448201526064016103f8565b61043d33670de0b6b3a7640000610b06565b6001600160a01b0383166108755760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103f8565b6001600160a01b0382166108d65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103f8565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661099b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103f8565b6001600160a01b0382166109fd5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103f8565b6001600160a01b03831660009081526020819052604090205481811015610a755760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103f8565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290610aac908490610fa6565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610af891815260200190565b60405180910390a350505050565b6001600160a01b038216610b5c5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016103f8565b8060026000828254610b6e9190610fa6565b90915550506001600160a01b03821660009081526020819052604081208054839290610b9b908490610fa6565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3610658565b6001600160a01b038216610c465760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016103f8565b6001600160a01b03821660009081526020819052604090205481811015610cba5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016103f8565b6001600160a01b0383166000908152602081905260408120838303905560028054849290610ce9908490610fdd565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3610599565b8260028101928215610d7c579160200282015b82811115610d7c57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190610d47565b50610d88929150610d8c565b5090565b5b80821115610d885760008155600101610d8d565b80356001600160a01b038116811461051357600080fd5b600060208284031215610dc9578081fd5b610dd282610da1565b9392505050565b60008060408385031215610deb578081fd5b610df483610da1565b9150610e0260208401610da1565b90509250929050565b600080600060608486031215610e1f578081fd5b610e2884610da1565b9250610e3660208501610da1565b9150604084013590509250925092565b60008060408385031215610e58578182fd5b610e6183610da1565b946020939093013593505050565b600060208284031215610e80578081fd5b813567ffffffffffffffff80821115610e97578283fd5b818401915084601f830112610eaa578283fd5b813581811115610ebc57610ebc611045565b604051601f8201601f19908116603f01168101908382118183101715610ee457610ee4611045565b81604052828152876020848701011115610efc578586fd5b826020860160208301379182016020019490945295945050505050565b600060208284031215610f2a578081fd5b5035919050565b60008060408385031215610f43578182fd5b82359150610e0260208401610da1565b6000602080835283518082850152825b81811015610f7f57858101830151858201604001528201610f63565b81811115610f905783604083870101525b50601f01601f1916929092016040019392505050565b60008219821115610fb957610fb961102f565b500190565b6000816000190483118215151615610fd857610fd861102f565b500290565b600082821015610fef57610fef61102f565b500390565b600181811c9082168061100857607f821691505b6020821081141561102957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea26469706673582212200b107375620a0d80b81be3ea8b7dd55ccd348a0c9c9f33614604da4bfeb10fd764736f6c63430008030033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000ba0dfe0000000000000000000000000000000000000000000000000000000000000008484145546f6b656e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034841450000000000000000000000000000000000000000000000000000000000
Deployed ByteCode Sourcemap
17828:1340:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6521:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8688:169;;;;;;:::i;:::-;;:::i;:::-;;;3160:14:1;;3153:22;3135:41;;3123:2;3108:18;8688:169:0;3090:92:1;7641:108:0;7729:12;;7641:108;;;9019:25:1;;;9007:2;8992:18;7641:108:0;8974:76:1;9339:492:0;;;;;;:::i;:::-;;:::i;18528:105::-;;;;;;:::i;:::-;;:::i;:::-;;7483:93;;;7566:2;9197:36:1;;9185:2;9170:18;7483:93:0;9152:87:1;18821:126:0;;;;;;:::i;:::-;;:::i;10240:215::-;;;;;;:::i;:::-;;:::i;16977:91::-;;;;;;:::i;:::-;;:::i;7812:127::-;;;;;;:::i;:::-;;:::i;17387:368::-;;;;;;:::i;:::-;;:::i;18953:115::-;;;;;;:::i;:::-;;:::i;18294:228::-;;;;;;:::i;:::-;;:::i;6740:104::-;;;:::i;10958:413::-;;;;;;:::i;:::-;;:::i;8152:175::-;;;;;;:::i;:::-;;:::i;19074:91::-;;;;;;:::i;:::-;;:::i;18639:176::-;;;;;;:::i;:::-;;:::i;8390:151::-;;;;;;:::i;:::-;-1:-1:-1;;;;;8506:18:0;;;8479:7;8506:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8390:151;6521:100;6575:13;6608:5;6601:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6521:100;:::o;8688:169::-;8771:4;8788:39;4310:10;8811:7;8820:6;8788:8;:39::i;:::-;-1:-1:-1;8845:4:0;8688:169;;;;:::o;9339:492::-;9479:4;9496:36;9506:6;9514:9;9525:6;9496:9;:36::i;:::-;-1:-1:-1;;;;;9572:19:0;;9545:24;9572:19;;;:11;:19;;;;;;;;4310:10;9572:33;;;;;;;;9624:26;;;;9616:79;;;;-1:-1:-1;;;9616:79:0;;5949:2:1;9616:79:0;;;5931:21:1;5988:2;5968:18;;;5961:30;6027:34;6007:18;;;6000:62;-1:-1:-1;;;6078:18:1;;;6071:38;6126:19;;9616:79:0;;;;;;;;;9731:57;9740:6;4310:10;9781:6;9762:16;:25;9731:8;:57::i;:::-;-1:-1:-1;9819:4:0;;9339:492;-1:-1:-1;;;;9339:492:0:o;18528:105::-;18570:28;18576:10;18588:9;18570:5;:28::i;:::-;18605:22;18611:4;18617:9;18605:5;:22::i;:::-;18528:105;:::o;18821:126::-;18886:16;:6;18895:7;18886:16;:::i;:::-;18871:10;18865:17;;;;:5;:17;;;;;:37;;:17;;;:37;;;;;:::i;:::-;;;;-1:-1:-1;;18914:27:0;;;18922:10;2890:51:1;;2972:2;2957:18;;2950:34;;;18914:27:0;;2863:18:1;18914:27:0;;;;;;;;18821:126;:::o;10240:215::-;4310:10;10328:4;10377:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;10377:34:0;;;;;;;;;;10328:4;;10345:80;;10368:7;;10377:47;;10414:10;;10377:47;:::i;:::-;10345:8;:80::i;16977:91::-;17033:27;4310:10;17053:6;17033:5;:27::i;7812:127::-;-1:-1:-1;;;;;7913:18:0;;7886:7;7913:18;;;;;;;;;;;7812:127;;;;:::o;17387:368::-;17464:24;17491:32;17501:7;4310:10;17510:12;4230:98;17491:32;17464:59;;17562:6;17542:16;:26;;17534:75;;;;-1:-1:-1;;;17534:75:0;;6358:2:1;17534:75:0;;;6340:21:1;6397:2;6377:18;;;6370:30;6436:34;6416:18;;;6409:62;-1:-1:-1;;;6487:18:1;;;6480:34;6531:19;;17534:75:0;6330:226:1;17534:75:0;17645:58;17654:7;4310:10;17696:6;17677:16;:25;17645:8;:58::i;:::-;17725:22;17731:7;17740:6;17725:5;:22::i;:::-;17387:368;;;:::o;18953:115::-;19015:10;19009:17;;;;:5;:17;;;;;:22;;19030:1;;19009:17;:22;;19030:1;;19009:22;:::i;:::-;;;;-1:-1:-1;;19038:24:0;;;;;;;;-1:-1:-1;;;;;19038:24:0;;;;;;;;;;;;;;;19041:10;-1:-1:-1;19038:14:0;;;:2;:14;;;;;;;:24;;;;:::i;18294:228::-;18368:7;18379:1;18368:12;:28;;;;18384:7;18395:1;18384:12;18368:28;18364:153;;;18407:11;18421:17;:7;18431;18421:17;:::i;:::-;18407:31;;18447:23;18453:8;18463:6;18447:5;:23::i;:::-;18499:10;:6;18508:1;18499:10;:::i;:::-;-1:-1:-1;;;;;18479:16:0;;;;;;:6;:16;;;;;:30;-1:-1:-1;18364:153:0;18294:228;;:::o;6740:104::-;6796:13;6829:7;6822:14;;;;;:::i;10958:413::-;4310:10;11051:4;11095:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;11095:34:0;;;;;;;;;;11148:35;;;;11140:85;;;;-1:-1:-1;;;11140:85:0;;8309:2:1;11140:85:0;;;8291:21:1;8348:2;8328:18;;;8321:30;8387:34;8367:18;;;8360:62;-1:-1:-1;;;8438:18:1;;;8431:35;8483:19;;11140:85:0;8281:227:1;11140:85:0;11261:67;4310:10;11284:7;11312:15;11293:16;:34;11261:8;:67::i;:::-;-1:-1:-1;11359:4:0;;10958:413;-1:-1:-1;;;10958:413:0:o;8152:175::-;8238:4;8255:42;4310:10;8279:9;8290:6;8255:9;:42::i;19074:91::-;19123:36;19131:10;19143:15;:6;19151:7;19143:15;:::i;:::-;19123:36;;;-1:-1:-1;;;;;2908:32:1;;;2890:51;;2972:2;2957:18;;2950:34;;;;2863:18;19123:36:0;2845:145:1;18639:176:0;18744:19;;;;;;7976:2:1;7958:21;;;8015:1;7995:18;;;7988:29;-1:-1:-1;;;8048:2:1;8033:18;;8026:35;8093:2;8078:18;;7948:154;18744:19:0;;;;;;;;;;;;;18734:30;;;;;;18720:8;18709:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;18699:31;;;;;;:65;18691:85;;;;-1:-1:-1;;;18691:85:0;;4804:2:1;18691:85:0;;;4786:21:1;4843:1;4823:18;;;4816:29;-1:-1:-1;;;4861:18:1;;;4854:37;4908:18;;18691:85:0;4776:156:1;18691:85:0;18783:26;18789:10;18801:7;18783:5;:26::i;14642:380::-;-1:-1:-1;;;;;14778:19:0;;14770:68;;;;-1:-1:-1;;;14770:68:0;;7571:2:1;14770:68:0;;;7553:21:1;7610:2;7590:18;;;7583:30;7649:34;7629:18;;;7622:62;-1:-1:-1;;;7700:18:1;;;7693:34;7744:19;;14770:68:0;7543:226:1;14770:68:0;-1:-1:-1;;;;;14857:21:0;;14849:68;;;;-1:-1:-1;;;14849:68:0;;5139:2:1;14849:68:0;;;5121:21:1;5178:2;5158:18;;;5151:30;5217:34;5197:18;;;5190:62;-1:-1:-1;;;5268:18:1;;;5261:32;5310:19;;14849:68:0;5111:224:1;14849:68:0;-1:-1:-1;;;;;14930:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;14982:32;;9019:25:1;;;14982:32:0;;8992:18:1;14982:32:0;;;;;;;14642:380;;;:::o;11861:733::-;-1:-1:-1;;;;;12001:20:0;;11993:70;;;;-1:-1:-1;;;11993:70:0;;7165:2:1;11993:70:0;;;7147:21:1;7204:2;7184:18;;;7177:30;7243:34;7223:18;;;7216:62;-1:-1:-1;;;7294:18:1;;;7287:35;7339:19;;11993:70:0;7137:227:1;11993:70:0;-1:-1:-1;;;;;12082:23:0;;12074:71;;;;-1:-1:-1;;;12074:71:0;;3997:2:1;12074:71:0;;;3979:21:1;4036:2;4016:18;;;4009:30;4075:34;4055:18;;;4048:62;-1:-1:-1;;;4126:18:1;;;4119:33;4169:19;;12074:71:0;3969:225:1;12074:71:0;-1:-1:-1;;;;;12242:17:0;;12218:21;12242:17;;;;;;;;;;;12278:23;;;;12270:74;;;;-1:-1:-1;;;12270:74:0;;5542:2:1;12270:74:0;;;5524:21:1;5581:2;5561:18;;;5554:30;5620:34;5600:18;;;5593:62;-1:-1:-1;;;5671:18:1;;;5664:36;5717:19;;12270:74:0;5514:228:1;12270:74:0;-1:-1:-1;;;;;12380:17:0;;;:9;:17;;;;;;;;;;;12400:22;;;12380:42;;12444:20;;;;;;;;:30;;12416:6;;12380:9;12444:30;;12416:6;;12444:30;:::i;:::-;;;;;;;;12509:9;-1:-1:-1;;;;;12492:35:0;12501:6;-1:-1:-1;;;;;12492:35:0;;12520:6;12492:35;;;;9019:25:1;;9007:2;8992:18;;8974:76;12492:35:0;;;;;;;;11861:733;;;;:::o;12881:399::-;-1:-1:-1;;;;;12965:21:0;;12957:65;;;;-1:-1:-1;;;12957:65:0;;8715:2:1;12957:65:0;;;8697:21:1;8754:2;8734:18;;;8727:30;8793:33;8773:18;;;8766:61;8844:18;;12957:65:0;8687:181:1;12957:65:0;13113:6;13097:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;13130:18:0;;:9;:18;;;;;;;;;;:28;;13152:6;;13130:9;:28;;13152:6;;13130:28;:::i;:::-;;;;-1:-1:-1;;13174:37:0;;9019:25:1;;;-1:-1:-1;;;;;13174:37:0;;;13191:1;;13174:37;;9007:2:1;8992:18;13174:37:0;;;;;;;13224:48;17387:368;13613:591;-1:-1:-1;;;;;13697:21:0;;13689:67;;;;-1:-1:-1;;;13689:67:0;;6763:2:1;13689:67:0;;;6745:21:1;6802:2;6782:18;;;6775:30;6841:34;6821:18;;;6814:62;-1:-1:-1;;;6892:18:1;;;6885:31;6933:19;;13689:67:0;6735:223:1;13689:67:0;-1:-1:-1;;;;;13856:18:0;;13831:22;13856:18;;;;;;;;;;;13893:24;;;;13885:71;;;;-1:-1:-1;;;13885:71:0;;4401:2:1;13885:71:0;;;4383:21:1;4440:2;4420:18;;;4413:30;4479:34;4459:18;;;4452:62;-1:-1:-1;;;4530:18:1;;;4523:32;4572:19;;13885:71:0;4373:224:1;13885:71:0;-1:-1:-1;;;;;13992:18:0;;:9;:18;;;;;;;;;;14013:23;;;13992:44;;14058:12;:22;;14030:6;;13992:9;14058:22;;14030:6;;14058:22;:::i;:::-;;;;-1:-1:-1;;14098:37:0;;9019:25:1;;;14124:1:0;;-1:-1:-1;;;;;14098:37:0;;;;;9007:2:1;8992:18;14098:37:0;;;;;;;14148:48;17387:368;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:173:1;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:2;;177:1;174;167:12;192:196;;304:2;292:9;283:7;279:23;275:32;272:2;;;325:6;317;310:22;272:2;353:29;372:9;353:29;:::i;:::-;343:39;262:126;-1:-1:-1;;;262:126:1:o;393:270::-;;;522:2;510:9;501:7;497:23;493:32;490:2;;;543:6;535;528:22;490:2;571:29;590:9;571:29;:::i;:::-;561:39;;619:38;653:2;642:9;638:18;619:38;:::i;:::-;609:48;;480:183;;;;;:::o;668:338::-;;;;814:2;802:9;793:7;789:23;785:32;782:2;;;835:6;827;820:22;782:2;863:29;882:9;863:29;:::i;:::-;853:39;;911:38;945:2;934:9;930:18;911:38;:::i;:::-;901:48;;996:2;985:9;981:18;968:32;958:42;;772:234;;;;;:::o;1011:264::-;;;1140:2;1128:9;1119:7;1115:23;1111:32;1108:2;;;1161:6;1153;1146:22;1108:2;1189:29;1208:9;1189:29;:::i;:::-;1179:39;1265:2;1250:18;;;;1237:32;;-1:-1:-1;;;1098:177:1:o;1280:967::-;;1402:2;1390:9;1381:7;1377:23;1373:32;1370:2;;;1423:6;1415;1408:22;1370:2;1468:9;1455:23;1497:18;1538:2;1530:6;1527:14;1524:2;;;1559:6;1551;1544:22;1524:2;1602:6;1591:9;1587:22;1577:32;;1647:7;1640:4;1636:2;1632:13;1628:27;1618:2;;1674:6;1666;1659:22;1618:2;1715;1702:16;1737:2;1733;1730:10;1727:2;;;1743:18;;:::i;:::-;1818:2;1812:9;1786:2;1872:13;;-1:-1:-1;;1868:22:1;;;1892:2;1864:31;1860:40;1848:53;;;1916:18;;;1936:22;;;1913:46;1910:2;;;1962:18;;:::i;:::-;2002:10;1998:2;1991:22;2037:2;2029:6;2022:18;2077:7;2072:2;2067;2063;2059:11;2055:20;2052:33;2049:2;;;2103:6;2095;2088:22;2049:2;2164;2159;2155;2151:11;2146:2;2138:6;2134:15;2121:46;2187:15;;;2204:2;2183:24;2176:40;;;;2191:6;1360:887;-1:-1:-1;;;;;1360:887:1:o;2252:190::-;;2364:2;2352:9;2343:7;2339:23;2335:32;2332:2;;;2385:6;2377;2370:22;2332:2;-1:-1:-1;2413:23:1;;2322:120;-1:-1:-1;2322:120:1:o;2447:264::-;;;2576:2;2564:9;2555:7;2551:23;2547:32;2544:2;;;2597:6;2589;2582:22;2544:2;2638:9;2625:23;2615:33;;2667:38;2701:2;2690:9;2686:18;2667:38;:::i;3187:603::-;;3328:2;3357;3346:9;3339:21;3389:6;3383:13;3432:6;3427:2;3416:9;3412:18;3405:34;3457:4;3470:140;3484:6;3481:1;3478:13;3470:140;;;3579:14;;;3575:23;;3569:30;3545:17;;;3564:2;3541:26;3534:66;3499:10;;3470:140;;;3628:6;3625:1;3622:13;3619:2;;;3698:4;3693:2;3684:6;3673:9;3669:22;3665:31;3658:45;3619:2;-1:-1:-1;3774:2:1;3753:15;-1:-1:-1;;3749:29:1;3734:45;;;;3781:2;3730:54;;3308:482;-1:-1:-1;;;3308:482:1:o;9244:128::-;;9315:1;9311:6;9308:1;9305:13;9302:2;;;9321:18;;:::i;:::-;-1:-1:-1;9357:9:1;;9292:80::o;9377:168::-;;9483:1;9479;9475:6;9471:14;9468:1;9465:21;9460:1;9453:9;9446:17;9442:45;9439:2;;;9490:18;;:::i;:::-;-1:-1:-1;9530:9:1;;9429:116::o;9550:125::-;;9618:1;9615;9612:8;9609:2;;;9623:18;;:::i;:::-;-1:-1:-1;9660:9:1;;9599:76::o;9680:380::-;9759:1;9755:12;;;;9802;;;9823:2;;9877:4;9869:6;9865:17;9855:27;;9823:2;9930;9922:6;9919:14;9899:18;9896:38;9893:2;;;9976:10;9971:3;9967:20;9964:1;9957:31;10011:4;10008:1;10001:15;10039:4;10036:1;10029:15;9893:2;;9735:325;;;:::o;10065:127::-;10126:10;10121:3;10117:20;10114:1;10107:31;10157:4;10154:1;10147:15;10181:4;10178:1;10171:15;10197:127;10258:10;10253:3;10249:20;10246:1;10239:31;10289:4;10286:1;10279:15;10313:4;10310:1;10303:15
Swarm Source
ipfs://0b107375620a0d80b81be3ea8b7dd55ccd348a0c9c9f33614604da4bfeb10fd7
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|