[
{
"inputs": [
{
"internalType": "address",
"name": "_token",
"type": "address"
},
{
"internalType": "address",
"name": "_distributionCreator",
"type": "address"
},
{
"internalType": "address",
"name": "_holder",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "NotAllowed",
"type": "error"
},
{
"inputs": [],
"name": "ZeroAddress",
"type": "error"
},
{
"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"
},
{
"inputs": [],
"name": "accessControlManager",
"outputs": [
{
"internalType": "contract IAccessControlManager",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"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": [],
"name": "distributionCreator",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "distributor",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "feeRecipient",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "holder",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"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": "",
"type": "address"
}
],
"name": "isAllowed",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "mint",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_token",
"type": "address"
},
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "recover",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "setFeeRecipient",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_newHolder",
"type": "address"
}
],
"name": "setHolder",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_address",
"type": "address"
}
],
"name": "toggleAllowance",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "token",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
]0x610100604052348015610010575f80fd5b50604051611b96380380611b9683398101604081905261002f91610346565b828282856001600160a01b03166306fdde036040518163ffffffff1660e01b81526004015f60405180830381865afa15801561006d573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261009491908101906103a4565b6040516020016100a4919061044e565b604051602081830303815290604052866001600160a01b03166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa1580156100ee573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261011591908101906103a4565b600361012183826104f8565b50600461012e82826104f8565b5050506001600160a01b038116158061014e57506001600160a01b038216155b1561016c5760405163d92e233d60e01b815260040160405180910390fd5b5f8290505f816001600160a01b031663bfe109286040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101ad573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101d191906105b7565b9050816001600160a01b031663b4a0bdf36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561020f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061023391906105b7565b6001600160a01b0390811660805281811660c0526040805163011a412160e61b81529051918416916346904840916004808201926020929091908290030181865afa158015610284573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102a891906105b7565b600680546001600160a01b039283166001600160a01b03199182161790915595811660a05293841660e052600580549385169390951683179094555091165f90815260076020526040808220600190819055928252812082905580527f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df55506105d9915050565b6001600160a01b0381168114610343575f80fd5b50565b5f805f60608486031215610358575f80fd5b83516103638161032f565b60208501519093506103748161032f565b60408501519092506103858161032f565b809150509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f602082840312156103b4575f80fd5b81516001600160401b03808211156103ca575f80fd5b818401915084601f8301126103dd575f80fd5b8151818111156103ef576103ef610390565b604051601f8201601f19908116603f0116810190838211818310171561041757610417610390565b8160405282815287602084870101111561042f575f80fd5b8260208601602083015e5f928101602001929092525095945050505050565b5f82518060208501845e692028777261707065642960b01b920191825250600a01919050565b600181811c9082168061048857607f821691505b6020821081036104a657634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156104f357805f5260205f20601f840160051c810160208510156104d15750805b601f840160051c820191505b818110156104f0575f81556001016104dd565b50505b505050565b81516001600160401b0381111561051157610511610390565b6105258161051f8454610474565b846104ac565b602080601f831160018114610558575f84156105415750858301515b5f19600386901b1c1916600185901b1785556105af565b5f85815260208120601f198616915b8281101561058657888601518255948401946001909101908401610567565b50858210156105a357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f602082840312156105c7575f80fd5b81516105d28161032f565b9392505050565b60805160a05160c05160e0516115526106445f395f818161028a015261043701525f81816102f70152610f5a01525f818161036a015281816105d70152610fbb01525f81816102b101528181610504015281816106a80152818161082d015261092c01526115525ff3fe608060405234801561000f575f80fd5b5060043610610148575f3560e01c806395d89b41116100bf578063bfe1092811610079578063bfe10928146102f2578063c4a7db3614610319578063d979f5aa1461032c578063dd62ed3e1461033f578063e534155d14610352578063fc0c546a14610365575f80fd5b806395d89b4114610257578063a457c2d71461025f578063a9059cbb14610272578063ae99c0ac14610285578063b4a0bdf3146102ac578063babcc539146102d3575f80fd5b806323b872dd1161011057806323b872dd146101bc578063313ce567146101cf57806339509351146101e957806340c10f19146101fc578063469048401461020f57806370a082311461022f575f80fd5b806306fdde031461014c578063095ea7b31461016a57806313cf69dd1461018d57806318160ddd146101975780631ec82cb8146101a9575b5f80fd5b61015461038c565b60405161016191906112f9565b60405180910390f35b61017d610178366004611345565b61041c565b6040519015158152602001610161565b610195610435565b005b6002545b604051908152602001610161565b6101956101b736600461136f565b6104d7565b61017d6101ca36600461136f565b6105b1565b6101d76105d4565b60405160ff9091168152602001610161565b61017d6101f7366004611345565b61065a565b61019561020a366004611345565b61067b565b600654610222906001600160a01b031681565b60405161016191906113ad565b61019b61023d3660046113c1565b6001600160a01b03165f9081526020819052604090205490565b610154610765565b61017d61026d366004611345565b610774565b61017d610280366004611345565b6107f3565b6102227f000000000000000000000000000000000000000000000000000000000000000081565b6102227f000000000000000000000000000000000000000000000000000000000000000081565b61019b6102e13660046113c1565b60076020525f908152604090205481565b6102227f000000000000000000000000000000000000000000000000000000000000000081565b6101956103273660046113c1565b610800565b61019561033a3660046113c1565b6108ff565b61019b61034d3660046113e3565b610a01565b600554610222906001600160a01b031681565b6102227f000000000000000000000000000000000000000000000000000000000000000081565b60606003805461039b9061141a565b80601f01602080910402602001604051908101604052809291908181526020018280546103c79061141a565b80156104125780601f106103e957610100808354040283529160200191610412565b820191905f5260205f20905b8154815290600101906020018083116103f557829003601f168201915b5050505050905090565b5f33610429818585610a2b565b60019150505b92915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663469048406040518163ffffffff1660e01b8152600401602060405180830381865afa158015610491573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104b59190611452565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b0316331480159061057a5750604051631c86b03760e31b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e43581b8906105399033906004016113ad565b602060405180830381865afa158015610554573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610578919061146d565b155b1561059857604051631eb49d6d60e11b815260040160405180910390fd5b6105ac6001600160a01b0384168383610b4e565b505050565b5f336105be858285610bb1565b6105c9858585610c29565b506001949350505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610631573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610655919061148c565b905090565b5f3361042981858561066c8383610a01565b61067691906114c0565b610a2b565b6005546001600160a01b0316331480159061071e5750604051631c86b03760e31b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e43581b8906106dd9033906004016113ad565b602060405180830381865afa1580156106f8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061071c919061146d565b155b1561073c57604051631eb49d6d60e11b815260040160405180910390fd5b6001600160a01b0382165f908152600760205260409020600190556107618282610dc9565b5050565b60606004805461039b9061141a565b5f33816107818286610a01565b9050838110156107e65760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6105c98286868403610a2b565b5f33610429818585610c29565b6005546001600160a01b031633148015906108a35750604051631c86b03760e31b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e43581b8906108629033906004016113ad565b602060405180830381865afa15801561087d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108a1919061146d565b155b156108c157604051631eb49d6d60e11b815260040160405180910390fd5b6001600160a01b0381165f908152600760205260409020546108e49060016114d3565b6001600160a01b039091165f90815260076020526040902055565b6005546001600160a01b031633148015906109a25750604051631c86b03760e31b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e43581b8906109619033906004016113ad565b602060405180830381865afa15801561097c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a0919061146d565b155b156109c057604051631eb49d6d60e11b815260040160405180910390fd5b600580546001600160a01b039081165f90815260076020526040808220829055939091168082529290206001905580546001600160a01b0319169091179055565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6001600160a01b038316610a8d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107dd565b6001600160a01b038216610aee5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107dd565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6040516001600160a01b0383166024820152604481018290526105ac90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610e85565b5f610bbc8484610a01565b90505f198114610c235781811015610c165760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016107dd565b610c238484848403610a2b565b50505050565b6001600160a01b038316610c8d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107dd565b6001600160a01b038216610cef5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107dd565b610cfa838383610f58565b6001600160a01b0383165f9081526020819052604090205481811015610d715760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016107dd565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290925f805160206114fd833981519152910160405180910390a3610c23848484610fe5565b6001600160a01b038216610e1f5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016107dd565b610e2a5f8383610f58565b8060025f828254610e3b91906114c0565b90915550506001600160a01b0382165f81815260208181526040808320805486019055518481525f805160206114fd833981519152910160405180910390a36107615f8383610fe5565b5f610ed9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661100d9092919063ffffffff16565b905080515f1480610ef9575080806020019051810190610ef9919061146d565b6105ac5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016107dd565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161480610fa557506006546001600160a01b038381169116145b156105ac576005546105ac906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811691168484611023565b6001600160a01b0382165f9081526007602052604081205490036105ac576105ac828261105b565b606061101b84845f85611189565b949350505050565b6040516001600160a01b0380851660248301528316604482015260648101829052610c239085906323b872dd60e01b90608401610b7a565b6001600160a01b0382166110bb5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016107dd565b6110c6825f83610f58565b6001600160a01b0382165f90815260208190526040902054818110156111395760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016107dd565b6001600160a01b0383165f818152602081815260408083208686039055600280548790039055518581529192915f805160206114fd833981519152910160405180910390a36105ac835f84610fe5565b6060824710156111ea5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016107dd565b5f80866001600160a01b0316858760405161120591906114e6565b5f6040518083038185875af1925050503d805f811461123f576040519150601f19603f3d011682016040523d82523d5f602084013e611244565b606091505b509150915061125587838387611260565b979650505050505050565b606083156112ce5782515f036112c7576001600160a01b0385163b6112c75760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016107dd565b508161101b565b61101b83838151156112e35781518083602001fd5b8060405162461bcd60e51b81526004016107dd91905b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114611342575f80fd5b50565b5f8060408385031215611356575f80fd5b82356113618161132e565b946020939093013593505050565b5f805f60608486031215611381575f80fd5b833561138c8161132e565b9250602084013561139c8161132e565b929592945050506040919091013590565b6001600160a01b0391909116815260200190565b5f602082840312156113d1575f80fd5b81356113dc8161132e565b9392505050565b5f80604083850312156113f4575f80fd5b82356113ff8161132e565b9150602083013561140f8161132e565b809150509250929050565b600181811c9082168061142e57607f821691505b60208210810361144c57634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215611462575f80fd5b81516113dc8161132e565b5f6020828403121561147d575f80fd5b815180151581146113dc575f80fd5b5f6020828403121561149c575f80fd5b815160ff811681146113dc575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561042f5761042f6114ac565b8181038181111561042f5761042f6114ac565b5f82518060208501845e5f92019182525091905056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122042b1b10443a0e2f432beb067aff20c4e7b1dbd82b9e84a2713c28234462fa84364736f6c634300081900330000000000000000000000008917d4ee4609f991b559daf8d0ad1b892c13b1270000000000000000000000008bb4c975ff3c250e0ceea271728547f3802b36fd000000000000000000000000def1fa4cefe67365ba046a7c630d6b885298e210