|
@@ -0,0 +1,666 @@
|
|
|
+[
|
|
|
+ {
|
|
|
+ "inputs": [],
|
|
|
+ "stateMutability": "nonpayable",
|
|
|
+ "type": "constructor"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [
|
|
|
+ {
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "account",
|
|
|
+ "type": "address"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "AddressAlreadyInWhitelist",
|
|
|
+ "type": "error"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [
|
|
|
+ {
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "account",
|
|
|
+ "type": "address"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "AddressNotInWhitelist",
|
|
|
+ "type": "error"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [
|
|
|
+ {
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "_address",
|
|
|
+ "type": "address"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "addToWhitelist",
|
|
|
+ "outputs": [],
|
|
|
+ "stateMutability": "nonpayable",
|
|
|
+ "type": "function"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [
|
|
|
+ {
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "spender",
|
|
|
+ "type": "address"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "internalType": "uint256",
|
|
|
+ "name": "value",
|
|
|
+ "type": "uint256"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "approve",
|
|
|
+ "outputs": [
|
|
|
+ {
|
|
|
+ "internalType": "bool",
|
|
|
+ "name": "",
|
|
|
+ "type": "bool"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "stateMutability": "nonpayable",
|
|
|
+ "type": "function"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [
|
|
|
+ {
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "spender",
|
|
|
+ "type": "address"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "internalType": "uint256",
|
|
|
+ "name": "allowance",
|
|
|
+ "type": "uint256"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "internalType": "uint256",
|
|
|
+ "name": "needed",
|
|
|
+ "type": "uint256"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "ERC20InsufficientAllowance",
|
|
|
+ "type": "error"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [
|
|
|
+ {
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "sender",
|
|
|
+ "type": "address"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "internalType": "uint256",
|
|
|
+ "name": "balance",
|
|
|
+ "type": "uint256"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "internalType": "uint256",
|
|
|
+ "name": "needed",
|
|
|
+ "type": "uint256"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "ERC20InsufficientBalance",
|
|
|
+ "type": "error"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [
|
|
|
+ {
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "approver",
|
|
|
+ "type": "address"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "ERC20InvalidApprover",
|
|
|
+ "type": "error"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [
|
|
|
+ {
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "receiver",
|
|
|
+ "type": "address"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "ERC20InvalidReceiver",
|
|
|
+ "type": "error"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [
|
|
|
+ {
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "sender",
|
|
|
+ "type": "address"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "ERC20InvalidSender",
|
|
|
+ "type": "error"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [
|
|
|
+ {
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "spender",
|
|
|
+ "type": "address"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "ERC20InvalidSpender",
|
|
|
+ "type": "error"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [],
|
|
|
+ "name": "FeeRateCannotBe100Percent",
|
|
|
+ "type": "error"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [],
|
|
|
+ "name": "FeeReceiverCannotBeContract",
|
|
|
+ "type": "error"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [
|
|
|
+ {
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "owner",
|
|
|
+ "type": "address"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "OwnableInvalidOwner",
|
|
|
+ "type": "error"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [
|
|
|
+ {
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "account",
|
|
|
+ "type": "address"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "OwnableUnauthorizedAccount",
|
|
|
+ "type": "error"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [
|
|
|
+ {
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "_address",
|
|
|
+ "type": "address"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "removeFromWhitelist",
|
|
|
+ "outputs": [],
|
|
|
+ "stateMutability": "nonpayable",
|
|
|
+ "type": "function"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [],
|
|
|
+ "name": "renounceOwnership",
|
|
|
+ "outputs": [],
|
|
|
+ "stateMutability": "nonpayable",
|
|
|
+ "type": "function"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [
|
|
|
+ {
|
|
|
+ "internalType": "uint256",
|
|
|
+ "name": "_feeRate",
|
|
|
+ "type": "uint256"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "setFeeRate",
|
|
|
+ "outputs": [],
|
|
|
+ "stateMutability": "nonpayable",
|
|
|
+ "type": "function"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [
|
|
|
+ {
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "_feeReceiver",
|
|
|
+ "type": "address"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "setFeeReceiver",
|
|
|
+ "outputs": [],
|
|
|
+ "stateMutability": "nonpayable",
|
|
|
+ "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": [],
|
|
|
+ "name": "TransferAmountMustBePositive",
|
|
|
+ "type": "error"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [],
|
|
|
+ "name": "TransferAmountTooSmallAfterFee",
|
|
|
+ "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": "deployer",
|
|
|
+ "type": "address"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "indexed": true,
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "initialFeeReceiver",
|
|
|
+ "type": "address"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "indexed": false,
|
|
|
+ "internalType": "uint256",
|
|
|
+ "name": "initialSupply",
|
|
|
+ "type": "uint256"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "ContractDeployed",
|
|
|
+ "type": "event"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "anonymous": false,
|
|
|
+ "inputs": [
|
|
|
+ {
|
|
|
+ "indexed": false,
|
|
|
+ "internalType": "uint256",
|
|
|
+ "name": "oldRate",
|
|
|
+ "type": "uint256"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "indexed": false,
|
|
|
+ "internalType": "uint256",
|
|
|
+ "name": "newRate",
|
|
|
+ "type": "uint256"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "FeeRateChanged",
|
|
|
+ "type": "event"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "anonymous": false,
|
|
|
+ "inputs": [
|
|
|
+ {
|
|
|
+ "indexed": true,
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "oldReceiver",
|
|
|
+ "type": "address"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "indexed": true,
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "newReceiver",
|
|
|
+ "type": "address"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "FeeReceiverSet",
|
|
|
+ "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": [
|
|
|
+ {
|
|
|
+ "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"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [
|
|
|
+ {
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "newOwner",
|
|
|
+ "type": "address"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "transferOwnership",
|
|
|
+ "outputs": [],
|
|
|
+ "stateMutability": "nonpayable",
|
|
|
+ "type": "function"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "anonymous": false,
|
|
|
+ "inputs": [
|
|
|
+ {
|
|
|
+ "indexed": true,
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "from",
|
|
|
+ "type": "address"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "indexed": false,
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "to",
|
|
|
+ "type": "address"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "indexed": false,
|
|
|
+ "internalType": "uint256",
|
|
|
+ "name": "amountAfterFee",
|
|
|
+ "type": "uint256"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "indexed": false,
|
|
|
+ "internalType": "uint256",
|
|
|
+ "name": "fee",
|
|
|
+ "type": "uint256"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "TransferWithFee",
|
|
|
+ "type": "event"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "anonymous": false,
|
|
|
+ "inputs": [
|
|
|
+ {
|
|
|
+ "indexed": true,
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "account",
|
|
|
+ "type": "address"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "WhitelistAdded",
|
|
|
+ "type": "event"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "anonymous": false,
|
|
|
+ "inputs": [
|
|
|
+ {
|
|
|
+ "indexed": true,
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "account",
|
|
|
+ "type": "address"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "WhitelistRemoved",
|
|
|
+ "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": "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": [],
|
|
|
+ "name": "FEE_BASE",
|
|
|
+ "outputs": [
|
|
|
+ {
|
|
|
+ "internalType": "uint256",
|
|
|
+ "name": "",
|
|
|
+ "type": "uint256"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "stateMutability": "view",
|
|
|
+ "type": "function"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [],
|
|
|
+ "name": "feeRate",
|
|
|
+ "outputs": [
|
|
|
+ {
|
|
|
+ "internalType": "uint256",
|
|
|
+ "name": "",
|
|
|
+ "type": "uint256"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "stateMutability": "view",
|
|
|
+ "type": "function"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [],
|
|
|
+ "name": "feeReceiver",
|
|
|
+ "outputs": [
|
|
|
+ {
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "",
|
|
|
+ "type": "address"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "stateMutability": "view",
|
|
|
+ "type": "function"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [],
|
|
|
+ "name": "name",
|
|
|
+ "outputs": [
|
|
|
+ {
|
|
|
+ "internalType": "string",
|
|
|
+ "name": "",
|
|
|
+ "type": "string"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "stateMutability": "view",
|
|
|
+ "type": "function"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [],
|
|
|
+ "name": "owner",
|
|
|
+ "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": "",
|
|
|
+ "type": "address"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "whitelist",
|
|
|
+ "outputs": [
|
|
|
+ {
|
|
|
+ "internalType": "bool",
|
|
|
+ "name": "",
|
|
|
+ "type": "bool"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "stateMutability": "view",
|
|
|
+ "type": "function"
|
|
|
+ }
|
|
|
+]
|