{"compiler":{"version":"0.7.3+commit.9bfce1f6"},"language":"Solidity","output":{"abi":[{"inputs":[],"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":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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"newOwnership","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"newPendingOwnership","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":"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":"address","name":"contractAddress","type":"address"},{"internalType":"uint256","name":"InitialSupply","type":"uint256"}],"name":"initialSupply","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isInitialSupplyFinished","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"newOwnershipAccept","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pendingGovernor","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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"},{"inputs":[{"internalType":"address","name":"_newGovernor","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. Requirements: - `spender` cannot be the zero address."},"balanceOf(address)":{"details":"See {IERC20-balanceOf}."},"burn(uint256)":{"details":"Destroys `amount` tokens from the caller. See {ERC20-_burn}."},"burnFrom(address,uint256)":{"details":"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`."},"decimals()":{"details":"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 {_setupDecimals} is called. 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}."},"decreaseAllowance(address,uint256)":{"details":"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`."},"increaseAllowance(address,uint256)":{"details":"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."},"initialSupply(address,uint256)":{"details":"This implementation is agnostic to the way tokens are created.  This means that a supply mechanism has to be added in a derived contract.   'initailSupplyfinish' must be 'false' to execute this function,  however after first use, 'true' will be changed to 'false' to lock this function forever. "},"isInitialSupplyFinished()":{"details":"This return state of initialSupply function:  'false' means that initialSupply is not done yet. 'true' means that it's locked forever. "},"name()":{"details":"Returns the name of the token."},"newOwnershipAccept()":{"details":"Admin function for pending governor to accept role and update governor. This function must called by the pending governor."},"symbol()":{"details":"Returns the symbol of the token, usually a shorter version of the name."},"totalSupply()":{"details":"See {IERC20-totalSupply}."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`."},"transferFrom(address,address,uint256)":{"details":"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`."},"transferOwnership(address)":{"details":"Admin function to begin change of governor. The `_newGovernor` must call `newOwnershipAccept` to finalize the transfer.","params":{"_newGovernor":"Address of new `governor`"}}},"version":1},"userdoc":{"kind":"user","methods":{},"notice":"The token is initially owned by the deployer address, who create the initial distribution. For convenience, an initial supply can be passed in the constructor that will be assigned to the deployer.","version":1}},"settings":{"compilationTarget":{"browser/Binaryprotocol.sol":"BinaryProtocol"},"evmVersion":"istanbul","libraries":{},"metadata":{"bytecodeHash":"ipfs"},"optimizer":{"enabled":false,"runs":200},"remappings":[]},"sources":{"browser/Binaryprotocol.sol":{"keccak256":"0x09d9c1ba88f09514f20329274651a24128f65b577d06be20671dc697afbab08b","license":"MIT","urls":["bzz-raw://4c70f464640c0fcaa273987d2036b0277b233ffd0c61d030aa51c384b18947a2","dweb:/ipfs/QmQoYdt8frPzk4o6eBs1nhKZirZ2f9Ymn23MTynEanZ5qd"]},"browser/Context.sol":{"keccak256":"0x13283ce9b9d08695dd503abb5b360b539fb45b28de324aa36f777e63bccf421c","license":"MIT","urls":["bzz-raw://e5a17e0846db628269dd7855ce0205d983a9c2ec07d4551084c07f7a9ad7de36","dweb:/ipfs/QmbxLJhPKnkuxTLWNcKjDSppJBQiJwtfoYY4mqMeXrx8Ka"]},"browser/ERC20.sol":{"keccak256":"0x5506fa55f0b8cc2ddbe2e15f266c23608f36f05bf84fdc3b046bc91f7c09937e","license":"MIT","urls":["bzz-raw://cfd3bd6d7c6eeb43d3ce419e8eed726cf13ec3377ad647051b26a62a4f944c4c","dweb:/ipfs/QmTMdBLSpABefSiJmjJUz7SCpNPoHSSJNbufiNU6qG6b51"]},"browser/IERC20.sol":{"keccak256":"0xe2a51f0845375c68493ff441021b693a69ffc45343e535e509ce3f1b5dac51b3","license":"MIT","urls":["bzz-raw://cf6f61816eb7240242bd53cc6d3782f1689e0553eda47ba4ef9f2c6dd4e4b1a5","dweb:/ipfs/QmSeBd98iP4zqrZ8VMe2vfcgKyT8QRvQ9tYsQqdtT5ctz3"]},"browser/SafeMath.sol":{"keccak256":"0x5f7d2a4fe8676b7034f3c84c6b7803980fd1a9de7dde9703fa18423c9d9cfdd4","license":"MIT","urls":["bzz-raw://1453d59010e6299c9f77ea8df5d7e4abb3244cf4a281ced9fe0870b21a25d7e3","dweb:/ipfs/QmWMXC1D8yKuaZKCH5JysykgbD1kRSXNJEe1qvYmoETgxg"]}},"version":1}