{
  "_format": "hh-sol-artifact-1",
  "contractName": "WTAC",
  "sourceName": "contracts/WTAC.sol",
  "abi": [
    {
      "inputs": [],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "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": "ReentrancyGuardReentrantCall",
      "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": "dst",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "wad",
          "type": "uint256"
        }
      ],
      "name": "Deposit",
      "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": "src",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "wad",
          "type": "uint256"
        }
      ],
      "name": "Withdrawal",
      "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": "value",
          "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": [],
      "name": "deposit",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "name",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "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": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "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": "value",
          "type": "uint256"
        }
      ],
      "name": "transferFrom",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "wad",
          "type": "uint256"
        }
      ],
      "name": "withdraw",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "stateMutability": "payable",
      "type": "receive"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b506040518060400160405280600b81526020016a577261707065642054414360a81b815250604051806040016040528060048152602001635754414360e01b8152508160039081610061919061011a565b50600461006e828261011a565b50506001600555506101d8565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806100a557607f821691505b6020821081036100c557634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561011557806000526020600020601f840160051c810160208510156100f25750805b601f840160051c820191505b8181101561011257600081556001016100fe565b50505b505050565b81516001600160401b038111156101335761013361007b565b610147816101418454610091565b846100cb565b6020601f82116001811461017b57600083156101635750848201515b600019600385901b1c1916600184901b178455610112565b600084815260208120601f198516915b828110156101ab578785015182556020948501946001909201910161018b565b50848210156101c95786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b610a6f806101e76000396000f3fe6080604052600436106100a05760003560e01c8063313ce56711610064578063313ce5671461016e57806370a082311461018a57806395d89b41146101c0578063a9059cbb146101d5578063d0e30db0146101f5578063dd62ed3e146101fd57600080fd5b806306fdde03146100b4578063095ea7b3146100df57806318160ddd1461010f57806323b872dd1461012e5780632e1a7d4d1461014e57600080fd5b366100af576100ad610243565b005b600080fd5b3480156100c057600080fd5b506100c96102f7565b6040516100d6919061089f565b60405180910390f35b3480156100eb57600080fd5b506100ff6100fa366004610909565b610389565b60405190151581526020016100d6565b34801561011b57600080fd5b506002545b6040519081526020016100d6565b34801561013a57600080fd5b506100ff610149366004610933565b6103a3565b34801561015a57600080fd5b506100ad610169366004610970565b6103c7565b34801561017a57600080fd5b50604051601281526020016100d6565b34801561019657600080fd5b506101206101a5366004610989565b6001600160a01b031660009081526020819052604090205490565b3480156101cc57600080fd5b506100c96104fe565b3480156101e157600080fd5b506100ff6101f0366004610909565b61050d565b6100ad610243565b34801561020957600080fd5b506101206102183660046109ab565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61024b61051b565b600034116102ac5760405162461bcd60e51b8152602060048201526024808201527f4465706f7369742076616c7565206d75737420626520677265617465722074686044820152630616e20360e41b60648201526084015b60405180910390fd5b6102b63334610545565b60405134815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9060200160405180910390a26102f56001600555565b565b606060038054610306906109de565b80601f0160208091040260200160405190810160405280929190818152602001828054610332906109de565b801561037f5780601f106103545761010080835404028352916020019161037f565b820191906000526020600020905b81548152906001019060200180831161036257829003601f168201915b5050505050905090565b60003361039781858561057f565b60019150505b92915050565b6000336103b1858285610591565b6103bc85858561060f565b506001949350505050565b6103cf61051b565b336000908152602081905260409020548111156104255760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064016102a3565b61042f338261066e565b604051600090339083908381818185875af1925050503d8060008114610471576040519150601f19603f3d011682016040523d82523d6000602084013e610476565b606091505b50509050806104bb5760405162461bcd60e51b815260206004820152601160248201527015da5d1a191c985dd85b0819985a5b1959607a1b60448201526064016102a3565b60405182815233907f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b659060200160405180910390a2506104fb6001600555565b50565b606060048054610306906109de565b60003361039781858561060f565b60026005540361053e57604051633ee5aeb560e01b815260040160405180910390fd5b6002600555565b6001600160a01b03821661056f5760405163ec442f0560e01b8152600060048201526024016102a3565b61057b600083836106a0565b5050565b61058c83838360016107ca565b505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811461060957818110156105fa57604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016102a3565b610609848484840360006107ca565b50505050565b6001600160a01b03831661063957604051634b637e8f60e11b8152600060048201526024016102a3565b6001600160a01b0382166106635760405163ec442f0560e01b8152600060048201526024016102a3565b61058c8383836106a0565b6001600160a01b03821661069857604051634b637e8f60e11b8152600060048201526024016102a3565b61057b826000835b6001600160a01b0383166106cb5780600260008282546106c09190610a18565b9091555061073d9050565b6001600160a01b0383166000908152602081905260409020548181101561071e5760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016102a3565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661075957600280548290039055610778565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516107bd91815260200190565b60405180910390a3505050565b6001600160a01b0384166107f45760405163e602df0560e01b8152600060048201526024016102a3565b6001600160a01b03831661081e57604051634a1406b160e11b8152600060048201526024016102a3565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561060957826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161089191815260200190565b60405180910390a350505050565b602081526000825180602084015260005b818110156108cd57602081860181015160408684010152016108b0565b506000604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b038116811461090457600080fd5b919050565b6000806040838503121561091c57600080fd5b610925836108ed565b946020939093013593505050565b60008060006060848603121561094857600080fd5b610951846108ed565b925061095f602085016108ed565b929592945050506040919091013590565b60006020828403121561098257600080fd5b5035919050565b60006020828403121561099b57600080fd5b6109a4826108ed565b9392505050565b600080604083850312156109be57600080fd5b6109c7836108ed565b91506109d5602084016108ed565b90509250929050565b600181811c908216806109f257607f821691505b602082108103610a1257634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561039d57634e487b7160e01b600052601160045260246000fdfea2646970667358221220268a753b86cadd8a05801d3d37fd36f7eece6a6cb01499b0ff96b22be0c0cc5c64736f6c634300081c0033",
  "deployedBytecode": "0x6080604052600436106100a05760003560e01c8063313ce56711610064578063313ce5671461016e57806370a082311461018a57806395d89b41146101c0578063a9059cbb146101d5578063d0e30db0146101f5578063dd62ed3e146101fd57600080fd5b806306fdde03146100b4578063095ea7b3146100df57806318160ddd1461010f57806323b872dd1461012e5780632e1a7d4d1461014e57600080fd5b366100af576100ad610243565b005b600080fd5b3480156100c057600080fd5b506100c96102f7565b6040516100d6919061089f565b60405180910390f35b3480156100eb57600080fd5b506100ff6100fa366004610909565b610389565b60405190151581526020016100d6565b34801561011b57600080fd5b506002545b6040519081526020016100d6565b34801561013a57600080fd5b506100ff610149366004610933565b6103a3565b34801561015a57600080fd5b506100ad610169366004610970565b6103c7565b34801561017a57600080fd5b50604051601281526020016100d6565b34801561019657600080fd5b506101206101a5366004610989565b6001600160a01b031660009081526020819052604090205490565b3480156101cc57600080fd5b506100c96104fe565b3480156101e157600080fd5b506100ff6101f0366004610909565b61050d565b6100ad610243565b34801561020957600080fd5b506101206102183660046109ab565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61024b61051b565b600034116102ac5760405162461bcd60e51b8152602060048201526024808201527f4465706f7369742076616c7565206d75737420626520677265617465722074686044820152630616e20360e41b60648201526084015b60405180910390fd5b6102b63334610545565b60405134815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9060200160405180910390a26102f56001600555565b565b606060038054610306906109de565b80601f0160208091040260200160405190810160405280929190818152602001828054610332906109de565b801561037f5780601f106103545761010080835404028352916020019161037f565b820191906000526020600020905b81548152906001019060200180831161036257829003601f168201915b5050505050905090565b60003361039781858561057f565b60019150505b92915050565b6000336103b1858285610591565b6103bc85858561060f565b506001949350505050565b6103cf61051b565b336000908152602081905260409020548111156104255760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064016102a3565b61042f338261066e565b604051600090339083908381818185875af1925050503d8060008114610471576040519150601f19603f3d011682016040523d82523d6000602084013e610476565b606091505b50509050806104bb5760405162461bcd60e51b815260206004820152601160248201527015da5d1a191c985dd85b0819985a5b1959607a1b60448201526064016102a3565b60405182815233907f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b659060200160405180910390a2506104fb6001600555565b50565b606060048054610306906109de565b60003361039781858561060f565b60026005540361053e57604051633ee5aeb560e01b815260040160405180910390fd5b6002600555565b6001600160a01b03821661056f5760405163ec442f0560e01b8152600060048201526024016102a3565b61057b600083836106a0565b5050565b61058c83838360016107ca565b505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811461060957818110156105fa57604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016102a3565b610609848484840360006107ca565b50505050565b6001600160a01b03831661063957604051634b637e8f60e11b8152600060048201526024016102a3565b6001600160a01b0382166106635760405163ec442f0560e01b8152600060048201526024016102a3565b61058c8383836106a0565b6001600160a01b03821661069857604051634b637e8f60e11b8152600060048201526024016102a3565b61057b826000835b6001600160a01b0383166106cb5780600260008282546106c09190610a18565b9091555061073d9050565b6001600160a01b0383166000908152602081905260409020548181101561071e5760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016102a3565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661075957600280548290039055610778565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516107bd91815260200190565b60405180910390a3505050565b6001600160a01b0384166107f45760405163e602df0560e01b8152600060048201526024016102a3565b6001600160a01b03831661081e57604051634a1406b160e11b8152600060048201526024016102a3565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561060957826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161089191815260200190565b60405180910390a350505050565b602081526000825180602084015260005b818110156108cd57602081860181015160408684010152016108b0565b506000604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b038116811461090457600080fd5b919050565b6000806040838503121561091c57600080fd5b610925836108ed565b946020939093013593505050565b60008060006060848603121561094857600080fd5b610951846108ed565b925061095f602085016108ed565b929592945050506040919091013590565b60006020828403121561098257600080fd5b5035919050565b60006020828403121561099b57600080fd5b6109a4826108ed565b9392505050565b600080604083850312156109be57600080fd5b6109c7836108ed565b91506109d5602084016108ed565b90509250929050565b600181811c908216806109f257607f821691505b602082108103610a1257634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561039d57634e487b7160e01b600052601160045260246000fdfea2646970667358221220268a753b86cadd8a05801d3d37fd36f7eece6a6cb01499b0ff96b22be0c0cc5c64736f6c634300081c0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
