{
  "_format": "hh-sol-artifact-1",
  "contractName": "PendleSwapHelper",
  "sourceName": "contracts/cross-chain/PendleSwapHelper.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "receiver",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "fixedPricePTAMM",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "PT",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "exactPtIn",
          "type": "uint256"
        },
        {
          "components": [
            {
              "internalType": "address",
              "name": "tokenOut",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "minTokenOut",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "tokenRedeemSy",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "pendleSwap",
              "type": "address"
            },
            {
              "components": [
                {
                  "internalType": "enum SwapType",
                  "name": "swapType",
                  "type": "uint8"
                },
                {
                  "internalType": "address",
                  "name": "extRouter",
                  "type": "address"
                },
                {
                  "internalType": "bytes",
                  "name": "extCalldata",
                  "type": "bytes"
                },
                {
                  "internalType": "bool",
                  "name": "needScale",
                  "type": "bool"
                }
              ],
              "internalType": "struct SwapData",
              "name": "swapData",
              "type": "tuple"
            }
          ],
          "internalType": "struct TokenOutput",
          "name": "out",
          "type": "tuple"
        }
      ],
      "name": "swapWithFixedPricePTAMM",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "netTokenOut",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x6080604052348015600e575f5ffd5b50610c4f8061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063a58f46c61461002d575b5f5ffd5b61004061003b366004610958565b610052565b60405190815260200160405180910390f35b5f846001600160a01b031663c1d8d1d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561008f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100b391906109d7565b6001600160a01b03166100cc60608401604085016109f2565b6001600160a01b0316146101275760405162461bcd60e51b815260206004820181905260248201527f5377617048656c7065723a20494e56414c49445f544f4b454e5f52454445454d60448201526064015b60405180910390fd5b610133843387866101e8565b5f856001600160a01b0316631530a17061014d8986610209565b6040516001600160e01b031960e084901b1681526001600160a01b039182166004820152908816602482015260448101879052608060648201525f608482015260a4016020604051808303815f875af11580156101ac573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101d09190610a0d565b90506101dd878285610285565b979650505050505050565b8015610203576102036001600160a01b03851684848461042e565b50505050565b5f806102186080840184610a24565b610226906020810190610a55565b90505f81600a81111561023b5761023b610a6e565b03610249578391505061027f565b600381600a81111561025d5761025d610a6e565b0361026b573091505061027f565b61027b60808401606085016109f2565b9150505b92915050565b5f806102946080840184610a24565b6102a2906020810190610a55565b90505f81600a8111156102b7576102b7610a6e565b036102c4578391506103d2565b600381600a8111156102d8576102d8610a6e565b03610322578391506103066102f360608501604086016109f2565b61030060208601866109f2565b84610499565b61031d61031660208501856109f2565b8684610557565b6103d2565b61033260808401606085016109f2565b6001600160a01b0316632bdb823c61035060608601604087016109f2565b8661035e6080880188610a24565b6040518463ffffffff1660e01b815260040161037c93929190610ac2565b5f604051808303815f87803b158015610393575f5ffd5b505af11580156103a5573d5f5f3e3d5ffd5b506103c092506103bb91505060208501856109f2565b610629565b91506103d261031660208501856109f2565b82602001358210156104265760405162461bcd60e51b815260206004820181905260248201527f536c6970706167653a20494e53554646494349454e545f544f4b454e5f4f5554604482015260640161011e565b509392505050565b6040516001600160a01b03808516602483015283166044820152606481018290526102039085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610634565b6001600160a01b0383166104fc57816001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004015f604051808303818588803b1580156104e0575f5ffd5b505af11580156104f2573d5f5f3e3d5ffd5b5050505050505050565b604051632e1a7d4d60e01b8152600481018290526001600160a01b03841690632e1a7d4d906024015f604051808303815f87803b15801561053b575f5ffd5b505af115801561054d573d5f5f3e3d5ffd5b505050505b505050565b80158061056c57506001600160a01b03821630145b1561057657505050565b6001600160a01b038316610615575f826001600160a01b0316826040515f6040518083038185875af1925050503d805f81146105cd576040519150601f19603f3d011682016040523d82523d5f602084013e6105d2565b606091505b50509050806102035760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b604482015260640161011e565b6105526001600160a01b0384168383610707565b5f61027f3083610737565b5f610688826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166107c79092919063ffffffff16565b905080515f14806106a85750808060200190518101906106a89190610b99565b6105525760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161011e565b6040516001600160a01b03831660248201526044810182905261055290849063a9059cbb60e01b90606401610462565b5f6001600160a01b038216156107b4576040516370a0823160e01b81526001600160a01b0384811660048301528316906370a0823190602401602060405180830381865afa15801561078b573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107af9190610a0d565b6107c0565b826001600160a01b0316315b9392505050565b60606107d584845f856107dd565b949350505050565b60608247101561083e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161011e565b5f5f866001600160a01b031685876040516108599190610bd6565b5f6040518083038185875af1925050503d805f8114610893576040519150601f19603f3d011682016040523d82523d5f602084013e610898565b606091505b50915091506101dd87838387606083156109125782515f0361090b576001600160a01b0385163b61090b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161011e565b50816107d5565b6107d583838151156109275781518083602001fd5b8060405162461bcd60e51b815260040161011e9190610be7565b6001600160a01b0381168114610955575f5ffd5b50565b5f5f5f5f5f60a0868803121561096c575f5ffd5b853561097781610941565b9450602086013561098781610941565b9350604086013561099781610941565b92506060860135915060808601356001600160401b038111156109b8575f5ffd5b860160a081890312156109c9575f5ffd5b809150509295509295909350565b5f602082840312156109e7575f5ffd5b81516107c081610941565b5f60208284031215610a02575f5ffd5b81356107c081610941565b5f60208284031215610a1d575f5ffd5b5051919050565b5f8235607e19833603018112610a38575f5ffd5b9190910192915050565b8035600b8110610a50575f5ffd5b919050565b5f60208284031215610a65575f5ffd5b6107c082610a42565b634e487b7160e01b5f52602160045260245ffd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b8015158114610955575f5ffd5b8035610a5081610aaa565b6001600160a01b038416815260208101839052606060408201525f610ae683610a42565b600b8110610b0257634e487b7160e01b5f52602160045260245ffd5b60608301526020830135610b1581610941565b6001600160a01b03166080830152604083013536849003601e19018112610b3a575f5ffd5b83016020810190356001600160401b03811115610b55575f5ffd5b803603821315610b63575f5ffd5b608060a0850152610b7860e085018284610a82565b915050610b8760608501610ab7565b80151560c08501525095945050505050565b5f60208284031215610ba9575f5ffd5b81516107c081610aaa565b5f5b83811015610bce578181015183820152602001610bb6565b50505f910152565b5f8251610a38818460208701610bb4565b602081525f8251806020840152610c05816040850160208701610bb4565b601f01601f1916919091016040019291505056fea2646970667358221220acb88ecba7b740b74a066100e8b4e473cd5858b5ec8335fafa8f9314cd81c1e764736f6c634300081e0033",
  "deployedBytecode": "0x608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063a58f46c61461002d575b5f5ffd5b61004061003b366004610958565b610052565b60405190815260200160405180910390f35b5f846001600160a01b031663c1d8d1d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561008f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100b391906109d7565b6001600160a01b03166100cc60608401604085016109f2565b6001600160a01b0316146101275760405162461bcd60e51b815260206004820181905260248201527f5377617048656c7065723a20494e56414c49445f544f4b454e5f52454445454d60448201526064015b60405180910390fd5b610133843387866101e8565b5f856001600160a01b0316631530a17061014d8986610209565b6040516001600160e01b031960e084901b1681526001600160a01b039182166004820152908816602482015260448101879052608060648201525f608482015260a4016020604051808303815f875af11580156101ac573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101d09190610a0d565b90506101dd878285610285565b979650505050505050565b8015610203576102036001600160a01b03851684848461042e565b50505050565b5f806102186080840184610a24565b610226906020810190610a55565b90505f81600a81111561023b5761023b610a6e565b03610249578391505061027f565b600381600a81111561025d5761025d610a6e565b0361026b573091505061027f565b61027b60808401606085016109f2565b9150505b92915050565b5f806102946080840184610a24565b6102a2906020810190610a55565b90505f81600a8111156102b7576102b7610a6e565b036102c4578391506103d2565b600381600a8111156102d8576102d8610a6e565b03610322578391506103066102f360608501604086016109f2565b61030060208601866109f2565b84610499565b61031d61031660208501856109f2565b8684610557565b6103d2565b61033260808401606085016109f2565b6001600160a01b0316632bdb823c61035060608601604087016109f2565b8661035e6080880188610a24565b6040518463ffffffff1660e01b815260040161037c93929190610ac2565b5f604051808303815f87803b158015610393575f5ffd5b505af11580156103a5573d5f5f3e3d5ffd5b506103c092506103bb91505060208501856109f2565b610629565b91506103d261031660208501856109f2565b82602001358210156104265760405162461bcd60e51b815260206004820181905260248201527f536c6970706167653a20494e53554646494349454e545f544f4b454e5f4f5554604482015260640161011e565b509392505050565b6040516001600160a01b03808516602483015283166044820152606481018290526102039085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610634565b6001600160a01b0383166104fc57816001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004015f604051808303818588803b1580156104e0575f5ffd5b505af11580156104f2573d5f5f3e3d5ffd5b5050505050505050565b604051632e1a7d4d60e01b8152600481018290526001600160a01b03841690632e1a7d4d906024015f604051808303815f87803b15801561053b575f5ffd5b505af115801561054d573d5f5f3e3d5ffd5b505050505b505050565b80158061056c57506001600160a01b03821630145b1561057657505050565b6001600160a01b038316610615575f826001600160a01b0316826040515f6040518083038185875af1925050503d805f81146105cd576040519150601f19603f3d011682016040523d82523d5f602084013e6105d2565b606091505b50509050806102035760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b604482015260640161011e565b6105526001600160a01b0384168383610707565b5f61027f3083610737565b5f610688826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166107c79092919063ffffffff16565b905080515f14806106a85750808060200190518101906106a89190610b99565b6105525760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161011e565b6040516001600160a01b03831660248201526044810182905261055290849063a9059cbb60e01b90606401610462565b5f6001600160a01b038216156107b4576040516370a0823160e01b81526001600160a01b0384811660048301528316906370a0823190602401602060405180830381865afa15801561078b573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107af9190610a0d565b6107c0565b826001600160a01b0316315b9392505050565b60606107d584845f856107dd565b949350505050565b60608247101561083e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161011e565b5f5f866001600160a01b031685876040516108599190610bd6565b5f6040518083038185875af1925050503d805f8114610893576040519150601f19603f3d011682016040523d82523d5f602084013e610898565b606091505b50915091506101dd87838387606083156109125782515f0361090b576001600160a01b0385163b61090b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161011e565b50816107d5565b6107d583838151156109275781518083602001fd5b8060405162461bcd60e51b815260040161011e9190610be7565b6001600160a01b0381168114610955575f5ffd5b50565b5f5f5f5f5f60a0868803121561096c575f5ffd5b853561097781610941565b9450602086013561098781610941565b9350604086013561099781610941565b92506060860135915060808601356001600160401b038111156109b8575f5ffd5b860160a081890312156109c9575f5ffd5b809150509295509295909350565b5f602082840312156109e7575f5ffd5b81516107c081610941565b5f60208284031215610a02575f5ffd5b81356107c081610941565b5f60208284031215610a1d575f5ffd5b5051919050565b5f8235607e19833603018112610a38575f5ffd5b9190910192915050565b8035600b8110610a50575f5ffd5b919050565b5f60208284031215610a65575f5ffd5b6107c082610a42565b634e487b7160e01b5f52602160045260245ffd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b8015158114610955575f5ffd5b8035610a5081610aaa565b6001600160a01b038416815260208101839052606060408201525f610ae683610a42565b600b8110610b0257634e487b7160e01b5f52602160045260245ffd5b60608301526020830135610b1581610941565b6001600160a01b03166080830152604083013536849003601e19018112610b3a575f5ffd5b83016020810190356001600160401b03811115610b55575f5ffd5b803603821315610b63575f5ffd5b608060a0850152610b7860e085018284610a82565b915050610b8760608501610ab7565b80151560c08501525095945050505050565b5f60208284031215610ba9575f5ffd5b81516107c081610aaa565b5f5b83811015610bce578181015183820152602001610bb6565b50505f910152565b5f8251610a38818460208701610bb4565b602081525f8251806020840152610c05816040850160208701610bb4565b601f01601f1916919091016040019291505056fea2646970667358221220acb88ecba7b740b74a066100e8b4e473cd5858b5ec8335fafa8f9314cd81c1e764736f6c634300081e0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
