{
  "_format": "hh-sol-artifact-1",
  "contractName": "TridentSushiRollCP",
  "sourceName": "contracts/migration/TridentSushiRollCP.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract IBentoBoxMinimal",
          "name": "_bentoBox",
          "type": "address"
        },
        {
          "internalType": "contract IPoolFactory",
          "name": "_poolFactory",
          "type": "address"
        },
        {
          "internalType": "contract IMasterDeployer",
          "name": "_masterDeployer",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "MinimumOutput",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "PermitFailed",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes[]",
          "name": "data",
          "type": "bytes[]"
        }
      ],
      "name": "batch",
      "outputs": [
        {
          "internalType": "bytes[]",
          "name": "results",
          "type": "bytes[]"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract IUniswapV2Minimal",
          "name": "pair",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "swapFee",
          "type": "uint256"
        },
        {
          "internalType": "bool",
          "name": "twapSupport",
          "type": "bool"
        },
        {
          "internalType": "uint256",
          "name": "minReceived",
          "type": "uint256"
        }
      ],
      "name": "migrate",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "liquidity",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "token",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "deadline",
          "type": "uint256"
        },
        {
          "internalType": "uint8",
          "name": "v",
          "type": "uint8"
        },
        {
          "internalType": "bytes32",
          "name": "r",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "s",
          "type": "bytes32"
        }
      ],
      "name": "permitThis",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "token",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "nonce",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "expiry",
          "type": "uint256"
        },
        {
          "internalType": "uint8",
          "name": "v",
          "type": "uint8"
        },
        {
          "internalType": "bytes32",
          "name": "r",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "s",
          "type": "bytes32"
        }
      ],
      "name": "permitThisAllowed",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60e060405234801561001057600080fd5b506040516111d33803806111d383398101604081905261002f91610056565b6001600160601b0319606093841b811660805291831b821660a05290911b1660c0526100bb565b60008060006060848603121561006b57600080fd5b8351610076816100a3565b6020850151909350610087816100a3565b6040850151909250610098816100a3565b809150509250925092565b6001600160a01b03811681146100b857600080fd5b50565b60805160601c60a05160601c60c05160601c6110cb610108600039600061068101526000818161059601526106ae015260008181610818015281816108e501526109ca01526110cb6000f3fe60806040526004361061003f5760003560e01c80631e897afb14610044578063776319811461006d578063a9b62c231461008f578063bd2aded2146100af575b600080fd5b610057610052366004610bdc565b6100dd565b6040516100649190610e75565b60405180910390f35b34801561007957600080fd5b5061008d610088366004610b7a565b610258565b005b34801561009b57600080fd5b5061008d6100aa366004610b7a565b61038e565b3480156100bb57600080fd5b506100cf6100ca366004610c6e565b6103ec565b604051908152602001610064565b60608167ffffffffffffffff8111156100f8576100f8611033565b60405190808252806020026020018201604052801561012b57816020015b60608152602001906001900390816101165790505b50905060005b82811015610251576000803086868581811061014f5761014f611004565b90506020028101906101619190610f08565b60405161016f929190610e12565b600060405180830381855af49150503d80600081146101aa576040519150601f19603f3d011682016040523d82523d6000602084013e6101af565b606091505b50915091508161021e576044815110156101c857600080fd5b600481019050808060200190518101906101e29190610cc0565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102159190610ef5565b60405180910390fd5b8084848151811061023157610231611004565b60200260200101819052505050808061024990610fa4565b915050610131565b5092915050565b6040513360248201523060448201526064810186905260848101859052600160a482015260ff841660c482015260e48101839052610104810182905260009073ffffffffffffffffffffffffffffffffffffffff881690638fcbaf0c90610124015b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516103089190610e22565b6000604051808303816000865af19150503d8060008114610345576040519150601f19603f3d011682016040523d82523d6000602084013e61034a565b606091505b5050905080610385576040517fb78cb0dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505050565b604051336024820152306044820152606481018690526084810185905260ff841660a482015260c4810183905260e4810182905260009073ffffffffffffffffffffffffffffffffffffffff88169063d505accf90610104016102ba565b6000808673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561043557600080fd5b505afa158015610449573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046d9190610b56565b905060008773ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156104b757600080fd5b505afa1580156104cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ef9190610b56565b6040805173ffffffffffffffffffffffffffffffffffffffff808616602083015283169181019190915260608101889052861515608082015290915060009060a001604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815290829052805160208201207ff6ab6d99000000000000000000000000000000000000000000000000000000008352600483015291506000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063f6ab6d9990602401602060405180830381600087803b1580156105ef57600080fd5b505af1158015610603573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106279190610b56565b905073ffffffffffffffffffffffffffffffffffffffff811661072d576040517f250558dc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063250558dc906106d8907f0000000000000000000000000000000000000000000000000000000000000000908690600401610e3e565b602060405180830381600087803b1580156106f257600080fd5b505af1158015610706573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072a9190610b56565b90505b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8b1660248201819052604482018b9052906323b872dd90606401602060405180830381600087803b1580156107a257600080fd5b505af11580156107b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107da9190610c51565b506040517f89afcb4400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116600483015260009182918d16906389afcb44906024016040805180830381600087803b15801561086857600080fd5b505af115801561087c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a09190610da4565b6040517f02b9446c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301527f0000000000000000000000000000000000000000000000000000000000000000811660248301819052908716604483015260648201849052600060848301529294509092506302b9446c9060a4016040805180830381600087803b15801561094b57600080fd5b505af115801561095f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109839190610da4565b50506040517f02b9446c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301527f000000000000000000000000000000000000000000000000000000000000000081166024830181905290851660448301526064820183905260006084830152906302b9446c9060a4016040805180830381600087803b158015610a2b57600080fd5b505af1158015610a3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a639190610da4565b50506040805133602082015273ffffffffffffffffffffffffffffffffffffffff851691637ba0e2e791016040516020818303038152906040526040518263ffffffff1660e01b8152600401610ab99190610ef5565b602060405180830381600087803b158015610ad357600080fd5b505af1158015610ae7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0b9190610d8b565b965087871015610b47576040517f9b9d48e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505095945050505050565b600060208284031215610b6857600080fd5b8151610b7381611062565b9392505050565b60008060008060008060c08789031215610b9357600080fd5b8635610b9e81611062565b95506020870135945060408701359350606087013560ff81168114610bc257600080fd5b9598949750929560808101359460a0909101359350915050565b60008060208385031215610bef57600080fd5b823567ffffffffffffffff80821115610c0757600080fd5b818501915085601f830112610c1b57600080fd5b813581811115610c2a57600080fd5b8660208260051b8501011115610c3f57600080fd5b60209290920196919550909350505050565b600060208284031215610c6357600080fd5b8151610b7381611087565b600080600080600060a08688031215610c8657600080fd5b8535610c9181611062565b945060208601359350604086013592506060860135610caf81611087565b949793965091946080013592915050565b600060208284031215610cd257600080fd5b815167ffffffffffffffff80821115610cea57600080fd5b818401915084601f830112610cfe57600080fd5b815181811115610d1057610d10611033565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610d5657610d56611033565b81604052828152876020848701011115610d6f57600080fd5b610d80836020830160208801610f74565b979650505050505050565b600060208284031215610d9d57600080fd5b5051919050565b60008060408385031215610db757600080fd5b505080516020909101519092909150565b60008151808452610de0816020860160208601610f74565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b8183823760009101908152919050565b60008251610e34818460208701610f74565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000610e6d6040830184610dc8565b949350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610ee8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452610ed6858351610dc8565b94509285019290850190600101610e9c565b5092979650505050505050565b602081526000610b736020830184610dc8565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112610f3d57600080fd5b83018035915067ffffffffffffffff821115610f5857600080fd5b602001915036819003821315610f6d57600080fd5b9250929050565b60005b83811015610f8f578181015183820152602001610f77565b83811115610f9e576000848401525b50505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610ffd577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461108457600080fd5b50565b801515811461108457600080fdfea264697066735822122011b09e4f6bf283f969a06af36e08da0b1c9cad48e7f98ea1f3cc6aebbe0eb4c964736f6c63430008070033",
  "deployedBytecode": "0x60806040526004361061003f5760003560e01c80631e897afb14610044578063776319811461006d578063a9b62c231461008f578063bd2aded2146100af575b600080fd5b610057610052366004610bdc565b6100dd565b6040516100649190610e75565b60405180910390f35b34801561007957600080fd5b5061008d610088366004610b7a565b610258565b005b34801561009b57600080fd5b5061008d6100aa366004610b7a565b61038e565b3480156100bb57600080fd5b506100cf6100ca366004610c6e565b6103ec565b604051908152602001610064565b60608167ffffffffffffffff8111156100f8576100f8611033565b60405190808252806020026020018201604052801561012b57816020015b60608152602001906001900390816101165790505b50905060005b82811015610251576000803086868581811061014f5761014f611004565b90506020028101906101619190610f08565b60405161016f929190610e12565b600060405180830381855af49150503d80600081146101aa576040519150601f19603f3d011682016040523d82523d6000602084013e6101af565b606091505b50915091508161021e576044815110156101c857600080fd5b600481019050808060200190518101906101e29190610cc0565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102159190610ef5565b60405180910390fd5b8084848151811061023157610231611004565b60200260200101819052505050808061024990610fa4565b915050610131565b5092915050565b6040513360248201523060448201526064810186905260848101859052600160a482015260ff841660c482015260e48101839052610104810182905260009073ffffffffffffffffffffffffffffffffffffffff881690638fcbaf0c90610124015b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516103089190610e22565b6000604051808303816000865af19150503d8060008114610345576040519150601f19603f3d011682016040523d82523d6000602084013e61034a565b606091505b5050905080610385576040517fb78cb0dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505050565b604051336024820152306044820152606481018690526084810185905260ff841660a482015260c4810183905260e4810182905260009073ffffffffffffffffffffffffffffffffffffffff88169063d505accf90610104016102ba565b6000808673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561043557600080fd5b505afa158015610449573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046d9190610b56565b905060008773ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156104b757600080fd5b505afa1580156104cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ef9190610b56565b6040805173ffffffffffffffffffffffffffffffffffffffff808616602083015283169181019190915260608101889052861515608082015290915060009060a001604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815290829052805160208201207ff6ab6d99000000000000000000000000000000000000000000000000000000008352600483015291506000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063f6ab6d9990602401602060405180830381600087803b1580156105ef57600080fd5b505af1158015610603573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106279190610b56565b905073ffffffffffffffffffffffffffffffffffffffff811661072d576040517f250558dc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063250558dc906106d8907f0000000000000000000000000000000000000000000000000000000000000000908690600401610e3e565b602060405180830381600087803b1580156106f257600080fd5b505af1158015610706573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072a9190610b56565b90505b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8b1660248201819052604482018b9052906323b872dd90606401602060405180830381600087803b1580156107a257600080fd5b505af11580156107b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107da9190610c51565b506040517f89afcb4400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116600483015260009182918d16906389afcb44906024016040805180830381600087803b15801561086857600080fd5b505af115801561087c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a09190610da4565b6040517f02b9446c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301527f0000000000000000000000000000000000000000000000000000000000000000811660248301819052908716604483015260648201849052600060848301529294509092506302b9446c9060a4016040805180830381600087803b15801561094b57600080fd5b505af115801561095f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109839190610da4565b50506040517f02b9446c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301527f000000000000000000000000000000000000000000000000000000000000000081166024830181905290851660448301526064820183905260006084830152906302b9446c9060a4016040805180830381600087803b158015610a2b57600080fd5b505af1158015610a3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a639190610da4565b50506040805133602082015273ffffffffffffffffffffffffffffffffffffffff851691637ba0e2e791016040516020818303038152906040526040518263ffffffff1660e01b8152600401610ab99190610ef5565b602060405180830381600087803b158015610ad357600080fd5b505af1158015610ae7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0b9190610d8b565b965087871015610b47576040517f9b9d48e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505095945050505050565b600060208284031215610b6857600080fd5b8151610b7381611062565b9392505050565b60008060008060008060c08789031215610b9357600080fd5b8635610b9e81611062565b95506020870135945060408701359350606087013560ff81168114610bc257600080fd5b9598949750929560808101359460a0909101359350915050565b60008060208385031215610bef57600080fd5b823567ffffffffffffffff80821115610c0757600080fd5b818501915085601f830112610c1b57600080fd5b813581811115610c2a57600080fd5b8660208260051b8501011115610c3f57600080fd5b60209290920196919550909350505050565b600060208284031215610c6357600080fd5b8151610b7381611087565b600080600080600060a08688031215610c8657600080fd5b8535610c9181611062565b945060208601359350604086013592506060860135610caf81611087565b949793965091946080013592915050565b600060208284031215610cd257600080fd5b815167ffffffffffffffff80821115610cea57600080fd5b818401915084601f830112610cfe57600080fd5b815181811115610d1057610d10611033565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610d5657610d56611033565b81604052828152876020848701011115610d6f57600080fd5b610d80836020830160208801610f74565b979650505050505050565b600060208284031215610d9d57600080fd5b5051919050565b60008060408385031215610db757600080fd5b505080516020909101519092909150565b60008151808452610de0816020860160208601610f74565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b8183823760009101908152919050565b60008251610e34818460208701610f74565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000610e6d6040830184610dc8565b949350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610ee8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452610ed6858351610dc8565b94509285019290850190600101610e9c565b5092979650505050505050565b602081526000610b736020830184610dc8565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112610f3d57600080fd5b83018035915067ffffffffffffffff821115610f5857600080fd5b602001915036819003821315610f6d57600080fd5b9250929050565b60005b83811015610f8f578181015183820152602001610f77565b83811115610f9e576000848401525b50505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610ffd577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461108457600080fd5b50565b801515811461108457600080fdfea264697066735822122011b09e4f6bf283f969a06af36e08da0b1c9cad48e7f98ea1f3cc6aebbe0eb4c964736f6c63430008070033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
