{
  "_format": "hh-sol-artifact-1",
  "contractName": "PendleBenQiYieldTokenHolder",
  "sourceName": "contracts/core/BenQi/PendleBenQiYieldTokenHolder.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_forge",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_yieldToken",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_expiry",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "_comptroller",
          "type": "address"
        },
        {
          "components": [
            {
              "internalType": "address",
              "name": "tokenA",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "tokenB",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "tokenC",
              "type": "address"
            }
          ],
          "internalType": "struct TrioTokens",
          "name": "_trioRewardTokens",
          "type": "tuple"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "afterReceiveTokens",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "comptroller",
      "outputs": [
        {
          "internalType": "contract IBenQiComptroller",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "expiry",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "forge",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "minNYieldAfterPush",
          "type": "uint256"
        }
      ],
      "name": "pushYieldTokens",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "redeemRewards",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "rewardToken",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "setUpEmergencyMode",
      "outputs": [],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "name": "setUpEmergencyModeV2",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "trioRewardTokens",
      "outputs": [
        {
          "internalType": "address",
          "name": "tokenA",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "tokenB",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "tokenC",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "yieldToken",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "stateMutability": "payable",
      "type": "receive"
    }
  ],
  "bytecode": "0x60a06040523480156200001157600080fd5b506040516200155538038062001555833981016040819052620000349162000540565b848484836200004e81620002a260201b620006141760201c565b600080546001600160a01b03199081166001600160a01b03868116919091179092556001805482168784169081179091556005859055835160028054841691851691909117905560208085015160038054851691861691909117905560408086015160048054909516951694909417835583516303e21fa960e61b81529351919363f887ea40938181019391829003018186803b158015620000ef57600080fd5b505afa15801562000104573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200012a919062000612565b6001600160a01b0316633fc8cef36040518163ffffffff1660e01b815260040160206040518083038186803b1580156200016357600080fd5b505afa15801562000178573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019e919062000612565b600660006101000a8154816001600160a01b0302191690836001600160a01b0316021790555062000283846001600160a01b0316630f4ef8a66040518163ffffffff1660e01b815260040160206040518083038186803b1580156200020257600080fd5b505afa15801562000217573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023d919062000612565b604080516060810182526002546001600160a01b0390811682526003548116602080840191909152600454909116928201929092529190620006d162000374821b17901c565b505050505060601b6001600160601b0319166080525062000679915050565b80516001600160a01b031615620003205780602001516001600160a01b031681600001516001600160a01b031614158015620002f8575080604001516001600160a01b031681600001516001600160a01b031614155b620003205760405162461bcd60e51b8152600401620003179062000638565b60405180910390fd5b60208101516001600160a01b031615620003715780604001516001600160a01b031681602001516001600160a01b03161415620003715760405162461bcd60e51b8152600401620003179062000638565b50565b81516001600160a01b031615620003b057620003b08160001984600001516001600160a01b03166200043260201b62000751179092919060201c565b60208201516001600160a01b031615620003ef57620003ef8160001984602001516001600160a01b03166200043260201b62000751179092919060201c565b60408201516001600160a01b0316156200042e576200042e8160001984604001516001600160a01b03166200043260201b62000751179092919060201c565b5050565b826001600160a01b031663095ea7b38360006040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156200048b57600080fd5b505af1158015620004a0573d6000803e3d6000fd5b505050506040513d6020811015620004b757600080fd5b50506040805163095ea7b360e01b81526001600160a01b0384811660048301526024820184905291519185169163095ea7b3916044808201926020929091908290030181600087803b1580156200050d57600080fd5b505af115801562000522573d6000803e3d6000fd5b505050506040513d60208110156200053957600080fd5b5050505050565b600080600080600085870360e081121562000559578182fd5b8651620005668162000663565b6020880151909650620005798162000663565b604088015160608901519196509450620005938162000663565b92506060607f1982011215620005a7578182fd5b50604051606081016001600160401b0381118282101715620005c557fe5b6040526080870151620005d88162000663565b815260a0870151620005ea8162000663565b602082015260c0870151620005ff8162000663565b6040820152949793965091945092919050565b60006020828403121562000624578081fd5b8151620006318162000663565b9392505050565b6020808252601190820152704455504c4943415445445f544f4b454e5360781b604082015260600190565b6001600160a01b03811681146200037157600080fd5b60805160601c610eb4620006a16000398061027e528061049f52806105275250610eb46000f3fe6080604052600436106100a05760003560e01c80639cabec7b116100645780639cabec7b14610143578063c72e9d1d14610163578063d02fba5114610187578063e184c9be146101a7578063f0fc4ec1146101c9578063f7c618c1146101de576100a7565b806303b7acaf146100ac5780635fe3b567146100ce5780636c6f4239146100f957806376d5de851461010e57806391680e5f14610123576100a7565b366100a757005b600080fd5b3480156100b857600080fd5b506100cc6100c7366004610c20565b6101f3565b005b3480156100da57600080fd5b506100e361027c565b6040516100f09190610cff565b60405180910390f35b34801561010557600080fd5b506100e36102a0565b34801561011a57600080fd5b506100e36102af565b34801561012f57600080fd5b506100cc61013e366004610c5a565b6102be565b34801561014f57600080fd5b506100cc61015e366004610c8c565b6103b1565b34801561016f57600080fd5b506101786103b4565b6040516100f093929190610d13565b34801561019357600080fd5b506100cc6101a2366004610c06565b6103d1565b3480156101b357600080fd5b506101bc6103e9565b6040516100f09190610e25565b3480156101d557600080fd5b506100cc6103ef565b3480156101ea57600080fd5b506100e361060f565b6001546001600160a01b031633146102265760405162461bcd60e51b815260040161021d90610dac565b60405180910390fd5b60005461023f906001600160a01b031683600019610751565b604080516060810182526002546001600160a01b03908116825260035481166020830152600454169181019190915261027890836106d1565b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001546001600160a01b031681565b6000546001600160a01b031681565b6001546001600160a01b031633146102e85760405162461bcd60e51b815260040161021d90610dac565b600080546040516370a0823160e01b81526001600160a01b03909116906370a0823190610319903090600401610cff565b60206040518083038186803b15801561033157600080fd5b505afa158015610345573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103699190610ca4565b9050816103768285610859565b10156103945760405162461bcd60e51b815260040161021d90610dfb565b6000546103ab906001600160a01b031685856108b6565b50505050565b50565b6002546003546004546001600160a01b0392831692918216911683565b60405162461bcd60e51b815260040161021d90610d7e565b60055481565b60408051600180825281830190925260009160208083019080368337505060408051600180825281830190925292935060009291506020808301908036833750506000805485519394506001600160a01b03169285925061044c57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050308160008151811061047a57fe5b6001600160a01b039283166020918202929092010152604051638805714b60e01b81527f000000000000000000000000000000000000000000000000000000000000000090911690638805714b906104e090600090859087908390600190600401610d36565b600060405180830381600087803b1580156104fa57600080fd5b505af115801561050e573d6000803e3d6000fd5b5050604051638805714b60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169250638805714b915061056890600190859087906000908490600401610d36565b600060405180830381600087803b15801561058257600080fd5b505af1158015610596573d6000803e3d6000fd5b505050504760001461027857600660009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0476040518263ffffffff1660e01b81526004016000604051808303818588803b1580156105f257600080fd5b505af1158015610606573d6000803e3d6000fd5b50505050505050565b600081565b80516001600160a01b0316156106845780602001516001600160a01b031681600001516001600160a01b031614158015610668575080604001516001600160a01b031681600001516001600160a01b031614155b6106845760405162461bcd60e51b815260040161021d90610dd0565b60208101516001600160a01b0316156103b15780604001516001600160a01b031681602001516001600160a01b031614156103b15760405162461bcd60e51b815260040161021d90610dd0565b81516001600160a01b0316156106f95781516106f9906001600160a01b031682600019610751565b60208201516001600160a01b031615610727576020820151610727906001600160a01b031682600019610751565b60408201516001600160a01b031615610278576040820151610278906001600160a01b0316826000195b826001600160a01b031663095ea7b38360006040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156107a957600080fd5b505af11580156107bd573d6000803e3d6000fd5b505050506040513d60208110156107d357600080fd5b50506040805163095ea7b360e01b81526001600160a01b0384811660048301526024820184905291519185169163095ea7b3916044808201926020929091908290030181600087803b15801561082857600080fd5b505af115801561083c573d6000803e3d6000fd5b505050506040513d602081101561085257600080fd5b5050505050565b6000828211156108b0576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6108ca6001600160a01b03841683836108cf565b505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526108ca9084906000610971826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166109cd9092919063ffffffff16565b8051909150156108ca5780806020019051602081101561099057600080fd5b50516108ca5760405162461bcd60e51b815260040180806020018281038252602a815260200180610e55602a913960400191505060405180910390fd5b60606109dc84846000856109e6565b90505b9392505050565b606082471015610a275760405162461bcd60e51b8152600401808060200182810382526026815260200180610e2f6026913960400191505060405180910390fd5b610a3085610b41565b610a81576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b60208310610abf5780518252601f199092019160209182019101610aa0565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610b21576040519150601f19603f3d011682016040523d82523d6000602084013e610b26565b606091505b5091509150610b36828286610b4b565b979650505050505050565b803b15155b919050565b60608315610b5a5750816109df565b825115610b6a5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610bb4578181015183820152602001610b9c565b50505050905090810190601f168015610be15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b80356001600160a01b0381168114610b4657600080fd5b600060208284031215610c17578081fd5b6109df82610bef565b60008060408385031215610c32578081fd5b610c3b83610bef565b915060208301358015158114610c4f578182fd5b809150509250929050565b600080600060608486031215610c6e578081fd5b610c7784610bef565b95602085013595506040909401359392505050565b600060208284031215610c9d578081fd5b5035919050565b600060208284031215610cb5578081fd5b5051919050565b6000815180845260208085019450808401835b83811015610cf45781516001600160a01b031687529582019590820190600101610ccf565b509495945050505050565b6001600160a01b0391909116815260200190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b600060ff8716825260a06020830152610d5260a0830187610cbc565b8281036040840152610d648187610cbc565b941515606084015250509015156080909101529392505050565b60208082526014908201527311955390d51253d397d11154149150d25055115160621b604082015260600190565b6020808252600a90820152694f4e4c595f464f52474560b01b604082015260600190565b6020808252601190820152704455504c4943415445445f544f4b454e5360781b604082015260600190565b60208082526010908201526f24a72b20a924a0a721a2afa2a92927a960811b604082015260600190565b9081526020019056fe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a26469706673582212208e3c9dfd62405ffa956c652009030e6f82502bcbd44a8249ae3c2ea2859498d764736f6c63430007060033",
  "deployedBytecode": "0x6080604052600436106100a05760003560e01c80639cabec7b116100645780639cabec7b14610143578063c72e9d1d14610163578063d02fba5114610187578063e184c9be146101a7578063f0fc4ec1146101c9578063f7c618c1146101de576100a7565b806303b7acaf146100ac5780635fe3b567146100ce5780636c6f4239146100f957806376d5de851461010e57806391680e5f14610123576100a7565b366100a757005b600080fd5b3480156100b857600080fd5b506100cc6100c7366004610c20565b6101f3565b005b3480156100da57600080fd5b506100e361027c565b6040516100f09190610cff565b60405180910390f35b34801561010557600080fd5b506100e36102a0565b34801561011a57600080fd5b506100e36102af565b34801561012f57600080fd5b506100cc61013e366004610c5a565b6102be565b34801561014f57600080fd5b506100cc61015e366004610c8c565b6103b1565b34801561016f57600080fd5b506101786103b4565b6040516100f093929190610d13565b34801561019357600080fd5b506100cc6101a2366004610c06565b6103d1565b3480156101b357600080fd5b506101bc6103e9565b6040516100f09190610e25565b3480156101d557600080fd5b506100cc6103ef565b3480156101ea57600080fd5b506100e361060f565b6001546001600160a01b031633146102265760405162461bcd60e51b815260040161021d90610dac565b60405180910390fd5b60005461023f906001600160a01b031683600019610751565b604080516060810182526002546001600160a01b03908116825260035481166020830152600454169181019190915261027890836106d1565b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001546001600160a01b031681565b6000546001600160a01b031681565b6001546001600160a01b031633146102e85760405162461bcd60e51b815260040161021d90610dac565b600080546040516370a0823160e01b81526001600160a01b03909116906370a0823190610319903090600401610cff565b60206040518083038186803b15801561033157600080fd5b505afa158015610345573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103699190610ca4565b9050816103768285610859565b10156103945760405162461bcd60e51b815260040161021d90610dfb565b6000546103ab906001600160a01b031685856108b6565b50505050565b50565b6002546003546004546001600160a01b0392831692918216911683565b60405162461bcd60e51b815260040161021d90610d7e565b60055481565b60408051600180825281830190925260009160208083019080368337505060408051600180825281830190925292935060009291506020808301908036833750506000805485519394506001600160a01b03169285925061044c57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050308160008151811061047a57fe5b6001600160a01b039283166020918202929092010152604051638805714b60e01b81527f000000000000000000000000000000000000000000000000000000000000000090911690638805714b906104e090600090859087908390600190600401610d36565b600060405180830381600087803b1580156104fa57600080fd5b505af115801561050e573d6000803e3d6000fd5b5050604051638805714b60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169250638805714b915061056890600190859087906000908490600401610d36565b600060405180830381600087803b15801561058257600080fd5b505af1158015610596573d6000803e3d6000fd5b505050504760001461027857600660009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0476040518263ffffffff1660e01b81526004016000604051808303818588803b1580156105f257600080fd5b505af1158015610606573d6000803e3d6000fd5b50505050505050565b600081565b80516001600160a01b0316156106845780602001516001600160a01b031681600001516001600160a01b031614158015610668575080604001516001600160a01b031681600001516001600160a01b031614155b6106845760405162461bcd60e51b815260040161021d90610dd0565b60208101516001600160a01b0316156103b15780604001516001600160a01b031681602001516001600160a01b031614156103b15760405162461bcd60e51b815260040161021d90610dd0565b81516001600160a01b0316156106f95781516106f9906001600160a01b031682600019610751565b60208201516001600160a01b031615610727576020820151610727906001600160a01b031682600019610751565b60408201516001600160a01b031615610278576040820151610278906001600160a01b0316826000195b826001600160a01b031663095ea7b38360006040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156107a957600080fd5b505af11580156107bd573d6000803e3d6000fd5b505050506040513d60208110156107d357600080fd5b50506040805163095ea7b360e01b81526001600160a01b0384811660048301526024820184905291519185169163095ea7b3916044808201926020929091908290030181600087803b15801561082857600080fd5b505af115801561083c573d6000803e3d6000fd5b505050506040513d602081101561085257600080fd5b5050505050565b6000828211156108b0576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6108ca6001600160a01b03841683836108cf565b505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526108ca9084906000610971826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166109cd9092919063ffffffff16565b8051909150156108ca5780806020019051602081101561099057600080fd5b50516108ca5760405162461bcd60e51b815260040180806020018281038252602a815260200180610e55602a913960400191505060405180910390fd5b60606109dc84846000856109e6565b90505b9392505050565b606082471015610a275760405162461bcd60e51b8152600401808060200182810382526026815260200180610e2f6026913960400191505060405180910390fd5b610a3085610b41565b610a81576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b60208310610abf5780518252601f199092019160209182019101610aa0565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610b21576040519150601f19603f3d011682016040523d82523d6000602084013e610b26565b606091505b5091509150610b36828286610b4b565b979650505050505050565b803b15155b919050565b60608315610b5a5750816109df565b825115610b6a5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610bb4578181015183820152602001610b9c565b50505050905090810190601f168015610be15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b80356001600160a01b0381168114610b4657600080fd5b600060208284031215610c17578081fd5b6109df82610bef565b60008060408385031215610c32578081fd5b610c3b83610bef565b915060208301358015158114610c4f578182fd5b809150509250929050565b600080600060608486031215610c6e578081fd5b610c7784610bef565b95602085013595506040909401359392505050565b600060208284031215610c9d578081fd5b5035919050565b600060208284031215610cb5578081fd5b5051919050565b6000815180845260208085019450808401835b83811015610cf45781516001600160a01b031687529582019590820190600101610ccf565b509495945050505050565b6001600160a01b0391909116815260200190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b600060ff8716825260a06020830152610d5260a0830187610cbc565b8281036040840152610d648187610cbc565b941515606084015250509015156080909101529392505050565b60208082526014908201527311955390d51253d397d11154149150d25055115160621b604082015260600190565b6020808252600a90820152694f4e4c595f464f52474560b01b604082015260600190565b6020808252601190820152704455504c4943415445445f544f4b454e5360781b604082015260600190565b60208082526010908201526f24a72b20a924a0a721a2afa2a92927a960811b604082015260600190565b9081526020019056fe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a26469706673582212208e3c9dfd62405ffa956c652009030e6f82502bcbd44a8249ae3c2ea2859498d764736f6c63430007060033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
