{
  "_format": "hh-sol-artifact-1",
  "contractName": "PendleERC20",
  "sourceName": "contracts/core/erc20/PendleERC20.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "name_",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "symbol_",
          "type": "string"
        },
        {
          "internalType": "uint8",
          "name": "decimals_",
          "type": "uint8"
        }
      ],
      "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"
    },
    {
      "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": [],
      "name": "name",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "reentrancyGuardEntered",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "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": "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"
    }
  ],
  "bytecode": "0x60a060405234801561000f575f5ffd5b50604051610c18380380610c1883398101604081905261002e9161011c565b600361003a848261021d565b506004610047838261021d565b5060ff166080525050600280546001600160f81b0316600160f81b1790556102d7565b634e487b7160e01b5f52604160045260245ffd5b5f82601f83011261008d575f5ffd5b81516001600160401b038111156100a6576100a661006a565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d4576100d461006a565b6040528181528382016020018510156100eb575f5ffd5b5f5b82811015610109576020818601810151838301820152016100ed565b505f918101602001919091529392505050565b5f5f5f6060848603121561012e575f5ffd5b83516001600160401b03811115610143575f5ffd5b61014f8682870161007e565b602086015190945090506001600160401b0381111561016c575f5ffd5b6101788682870161007e565b925050604084015160ff8116811461018e575f5ffd5b809150509250925092565b600181811c908216806101ad57607f821691505b6020821081036101cb57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561021857805f5260205f20601f840160051c810160208510156101f65750805b601f840160051c820191505b81811015610215575f8155600101610202565b50505b505050565b81516001600160401b038111156102365761023661006a565b61024a816102448454610199565b846101d1565b6020601f82116001811461027c575f83156102655750848201515b5f19600385901b1c1916600184901b178455610215565b5f84815260208120601f198516915b828110156102ab578785015182556020948501946001909201910161028b565b50848210156102c857868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b6080516109296102ef5f395f61010401526109295ff3fe608060405234801561000f575f5ffd5b506004361061008c575f3560e01c806306fdde0314610090578063095ea7b3146100ae57806318160ddd146100d157806323b872dd146100ec578063313ce567146100ff57806370a082311461013857806395d89b4114610160578063a9059cbb14610168578063d2c725e01461017b578063dd62ed3e14610183575b5f5ffd5b610098610196565b6040516100a5919061074c565b60405180910390f35b6100c16100bc3660046107b2565b610226565b60405190151581526020016100a5565b6002546001600160f81b03165b6040519081526020016100a5565b6100c16100fa3660046107da565b61023f565b6101267f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016100a5565b6100de610146366004610814565b6001600160a01b03165f9081526020819052604090205490565b6100986102c5565b6100c16101763660046107b2565b6102d4565b6100c1610345565b6100de610191366004610834565b610360565b6060600380546101a590610865565b80601f01602080910402602001604051908101604052809291908181526020018280546101d190610865565b801561021c5780601f106101f35761010080835404028352916020019161021c565b820191905f5260205f20905b8154815290600101906020018083116101ff57829003601f168201915b5050505050905090565b5f3361023381858561038a565b60019150505b92915050565b6002545f90600119600160f81b90910460ff16016102785760405162461bcd60e51b815260040161026f9061089d565b60405180910390fd5b600280546001600160f81b0316600160f91b179055336102998582856104ad565b6102a4858585610525565b6001915050600280546001600160f81b0316600160f81b1790559392505050565b6060600480546101a590610865565b6002545f90600119600160f81b90910460ff16016103045760405162461bcd60e51b815260040161026f9061089d565b600280546001600160f81b0316600160f91b17905533610325818585610525565b6001915050600280546001600160f81b0316600160f81b17905592915050565b5f61035b60028054600160f81b900460ff161490565b905090565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103ec5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161026f565b6001600160a01b03821661044d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161026f565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6104b88484610360565b90505f19811461051f57818110156105125760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161026f565b61051f848484840361038a565b50505050565b6001600160a01b0383166105895760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161026f565b6001600160a01b0382166105eb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161026f565b816001600160a01b0316836001600160a01b0316036106465760405162461bcd60e51b815260206004820152601760248201527622a92199181d103a3930b739b332b9103a379039b2b63360491b604482015260640161026f565b6001600160a01b0383165f90815260208190526040902054818110156106bd5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161026f565b6001600160a01b038085165f908152602081905260408082208585039055918516815290812080548492906106f39084906108d4565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161073f91815260200190565b60405180910390a361051f565b602081525f82518060208401525f5b81811015610778576020818601810151604086840101520161075b565b505f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b03811681146107ad575f5ffd5b919050565b5f5f604083850312156107c3575f5ffd5b6107cc83610797565b946020939093013593505050565b5f5f5f606084860312156107ec575f5ffd5b6107f584610797565b925061080360208501610797565b929592945050506040919091013590565b5f60208284031215610824575f5ffd5b61082d82610797565b9392505050565b5f5f60408385031215610845575f5ffd5b61084e83610797565b915061085c60208401610797565b90509250929050565b600181811c9082168061087957607f821691505b60208210810361089757634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b8082018082111561023957634e487b7160e01b5f52601160045260245ffdfea2646970667358221220720eb1b87f5f1714498d1f99b8bc06594f1acff416a015a91d846d110aec4b7064736f6c634300081e0033",
  "deployedBytecode": "0x608060405234801561000f575f5ffd5b506004361061008c575f3560e01c806306fdde0314610090578063095ea7b3146100ae57806318160ddd146100d157806323b872dd146100ec578063313ce567146100ff57806370a082311461013857806395d89b4114610160578063a9059cbb14610168578063d2c725e01461017b578063dd62ed3e14610183575b5f5ffd5b610098610196565b6040516100a5919061074c565b60405180910390f35b6100c16100bc3660046107b2565b610226565b60405190151581526020016100a5565b6002546001600160f81b03165b6040519081526020016100a5565b6100c16100fa3660046107da565b61023f565b6101267f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016100a5565b6100de610146366004610814565b6001600160a01b03165f9081526020819052604090205490565b6100986102c5565b6100c16101763660046107b2565b6102d4565b6100c1610345565b6100de610191366004610834565b610360565b6060600380546101a590610865565b80601f01602080910402602001604051908101604052809291908181526020018280546101d190610865565b801561021c5780601f106101f35761010080835404028352916020019161021c565b820191905f5260205f20905b8154815290600101906020018083116101ff57829003601f168201915b5050505050905090565b5f3361023381858561038a565b60019150505b92915050565b6002545f90600119600160f81b90910460ff16016102785760405162461bcd60e51b815260040161026f9061089d565b60405180910390fd5b600280546001600160f81b0316600160f91b179055336102998582856104ad565b6102a4858585610525565b6001915050600280546001600160f81b0316600160f81b1790559392505050565b6060600480546101a590610865565b6002545f90600119600160f81b90910460ff16016103045760405162461bcd60e51b815260040161026f9061089d565b600280546001600160f81b0316600160f91b17905533610325818585610525565b6001915050600280546001600160f81b0316600160f81b17905592915050565b5f61035b60028054600160f81b900460ff161490565b905090565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103ec5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161026f565b6001600160a01b03821661044d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161026f565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6104b88484610360565b90505f19811461051f57818110156105125760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161026f565b61051f848484840361038a565b50505050565b6001600160a01b0383166105895760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161026f565b6001600160a01b0382166105eb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161026f565b816001600160a01b0316836001600160a01b0316036106465760405162461bcd60e51b815260206004820152601760248201527622a92199181d103a3930b739b332b9103a379039b2b63360491b604482015260640161026f565b6001600160a01b0383165f90815260208190526040902054818110156106bd5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161026f565b6001600160a01b038085165f908152602081905260408082208585039055918516815290812080548492906106f39084906108d4565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161073f91815260200190565b60405180910390a361051f565b602081525f82518060208401525f5b81811015610778576020818601810151604086840101520161075b565b505f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b03811681146107ad575f5ffd5b919050565b5f5f604083850312156107c3575f5ffd5b6107cc83610797565b946020939093013593505050565b5f5f5f606084860312156107ec575f5ffd5b6107f584610797565b925061080360208501610797565b929592945050506040919091013590565b5f60208284031215610824575f5ffd5b61082d82610797565b9392505050565b5f5f60408385031215610845575f5ffd5b61084e83610797565b915061085c60208401610797565b90509250929050565b600181811c9082168061087957607f821691505b60208210810361089757634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b8082018082111561023957634e487b7160e01b5f52601160045260245ffdfea2646970667358221220720eb1b87f5f1714498d1f99b8bc06594f1acff416a015a91d846d110aec4b7064736f6c634300081e0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
