{
  "_format": "hh-sol-artifact-1",
  "contractName": "RouterHelper",
  "sourceName": "contracts/utils/RouterHelper.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract IBentoBoxMinimal",
          "name": "_bento",
          "type": "address"
        },
        {
          "internalType": "contract IMasterDeployer",
          "name": "_masterDeployer",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_wETH",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "PermitFailed",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint8",
          "name": "v",
          "type": "uint8"
        },
        {
          "internalType": "bytes32",
          "name": "r",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "s",
          "type": "bytes32"
        }
      ],
      "name": "approveMasterContract",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes[]",
          "name": "data",
          "type": "bytes[]"
        }
      ],
      "name": "batch",
      "outputs": [
        {
          "internalType": "bytes[]",
          "name": "results",
          "type": "bytes[]"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "bento",
      "outputs": [
        {
          "internalType": "contract IBentoBoxMinimal",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "factory",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "deployData",
          "type": "bytes"
        }
      ],
      "name": "deployPool",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "masterDeployer",
      "outputs": [
        {
          "internalType": "contract IMasterDeployer",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "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": "0x60e060405234801561001057600080fd5b50604051610f5f380380610f5f83398101604081905261002f916100b2565b6001600160601b0319606084811b821660805283811b821660a05282901b1660c0526040805163577268d960e11b815290516001600160a01b0385169163aee4d1b291600480830192600092919082900301818387803b15801561009257600080fd5b505af11580156100a6573d6000803e3d6000fd5b50505050505050610117565b6000806000606084860312156100c757600080fd5b83516100d2816100ff565b60208501519093506100e3816100ff565b60408501519092506100f4816100ff565b809150509250925092565b6001600160a01b038116811461011457600080fd5b50565b60805160601c60a05160601c60c05160601c610e066101596000396000505060008181610171015261056501526000818160fd015261064a0152610e066000f3fe6080604052600436106100705760003560e01c80634da318271161004e5780634da31827146100eb578063776319811461011f578063a9b62c231461013f578063cf58879a1461015f57600080fd5b80631e897afb14610075578063250558dc1461009e578063403335a8146100d6575b600080fd5b61008861008336600461096b565b610193565b6040516100959190610bbe565b60405180910390f35b6100b16100ac36600461088c565b610525565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610095565b6100e96100e4366004610aab565b6105f8565b005b3480156100f757600080fd5b506100b17f000000000000000000000000000000000000000000000000000000000000000081565b34801561012b57600080fd5b506100e961013a366004610911565b6106c0565b34801561014b57600080fd5b506100e961015a366004610911565b6107ed565b34801561016b57600080fd5b506100b17f000000000000000000000000000000000000000000000000000000000000000081565b60608167ffffffffffffffff8111156101ae576101ae610d7c565b6040519080825280602002602001820160405280156101e157816020015b60608152602001906001900390816101cc5790505b5090506000805b8381101561051d57600061025386868481811061020757610207610d4d565b90506020028101906102199190610c51565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061084b92505050565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167f0f93d4390000000000000000000000000000000000000000000000000000000014806102e657507fffffffff0000000000000000000000000000000000000000000000000000000081167f9fa7449100000000000000000000000000000000000000000000000000000000145b15610361578215610358576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f537761702063616c6c656420747769636500000000000000000000000000000060448201526064015b60405180910390fd5b6001925061040d565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f1e897afb00000000000000000000000000000000000000000000000000000000141561040d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4e65737465642042617463680000000000000000000000000000000000000000604482015260640161034f565b6000803088888681811061042357610423610d4d565b90506020028101906104359190610c51565b604051610443929190610b28565b600060405180830381855af49150503d806000811461047e576040519150601f19603f3d011682016040523d82523d6000602084013e610483565b606091505b5091509150816104e95760448151101561049c57600080fd5b600481019050808060200190518101906104b691906109e0565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034f9190610c3e565b808685815181106104fc576104fc610d4d565b6020026020010181905250505050808061051590610ced565b9150506101e8565b505092915050565b6040517f250558dc00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063250558dc9061059e90879087908790600401610b54565b602060405180830381600087803b1580156105b857600080fd5b505af11580156105cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f09190610868565b949350505050565b6040517fc0a47c930000000000000000000000000000000000000000000000000000000081523360048201523060248201526001604482015260ff841660648201526084810183905260a481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063c0a47c939060c401600060405180830381600087803b1580156106a357600080fd5b505af11580156106b7573d6000803e3d6000fd5b50505050505050565b6040513360248201523060448201526064810186905260848101859052600160a482015260ff841660c482015260e48101839052610104810182905260009073ffffffffffffffffffffffffffffffffffffffff881690638fcbaf0c90610124015b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516107709190610b38565b6000604051808303816000865af19150503d80600081146107ad576040519150601f19603f3d011682016040523d82523d6000602084013e6107b2565b606091505b50509050806106b7576040517fb78cb0dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604051336024820152306044820152606481018690526084810185905260ff841660a482015260c4810183905260e4810182905260009073ffffffffffffffffffffffffffffffffffffffff88169063d505accf9061010401610722565b6020015190565b803560ff8116811461086357600080fd5b919050565b60006020828403121561087a57600080fd5b815161088581610dab565b9392505050565b6000806000604084860312156108a157600080fd5b83356108ac81610dab565b9250602084013567ffffffffffffffff808211156108c957600080fd5b818601915086601f8301126108dd57600080fd5b8135818111156108ec57600080fd5b8760208285010111156108fe57600080fd5b6020830194508093505050509250925092565b60008060008060008060c0878903121561092a57600080fd5b863561093581610dab565b9550602087013594506040870135935061095160608801610852565b92506080870135915060a087013590509295509295509295565b6000806020838503121561097e57600080fd5b823567ffffffffffffffff8082111561099657600080fd5b818501915085601f8301126109aa57600080fd5b8135818111156109b957600080fd5b8660208260051b85010111156109ce57600080fd5b60209290920196919550909350505050565b6000602082840312156109f257600080fd5b815167ffffffffffffffff80821115610a0a57600080fd5b818401915084601f830112610a1e57600080fd5b815181811115610a3057610a30610d7c565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610a7657610a76610d7c565b81604052828152876020848701011115610a8f57600080fd5b610aa0836020830160208801610cbd565b979650505050505050565b600080600060608486031215610ac057600080fd5b610ac984610852565b95602085013595506040909401359392505050565b60008151808452610af6816020860160208601610cbd565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b8183823760009101908152919050565b60008251610b4a818460208701610cbd565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff8416815260406020820152816040820152818360608301376000818301606090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016010192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610c31577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452610c1f858351610ade565b94509285019290850190600101610be5565b5092979650505050505050565b6020815260006108856020830184610ade565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112610c8657600080fd5b83018035915067ffffffffffffffff821115610ca157600080fd5b602001915036819003821315610cb657600080fd5b9250929050565b60005b83811015610cd8578181015183820152602001610cc0565b83811115610ce7576000848401525b50505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610d46577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff81168114610dcd57600080fd5b5056fea26469706673582212200f4c2a7d0487d07cf2b0fcd151b13b05cfead67cbecbb76e3ff9f206e1211f9564736f6c63430008070033",
  "deployedBytecode": "0x6080604052600436106100705760003560e01c80634da318271161004e5780634da31827146100eb578063776319811461011f578063a9b62c231461013f578063cf58879a1461015f57600080fd5b80631e897afb14610075578063250558dc1461009e578063403335a8146100d6575b600080fd5b61008861008336600461096b565b610193565b6040516100959190610bbe565b60405180910390f35b6100b16100ac36600461088c565b610525565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610095565b6100e96100e4366004610aab565b6105f8565b005b3480156100f757600080fd5b506100b17f000000000000000000000000000000000000000000000000000000000000000081565b34801561012b57600080fd5b506100e961013a366004610911565b6106c0565b34801561014b57600080fd5b506100e961015a366004610911565b6107ed565b34801561016b57600080fd5b506100b17f000000000000000000000000000000000000000000000000000000000000000081565b60608167ffffffffffffffff8111156101ae576101ae610d7c565b6040519080825280602002602001820160405280156101e157816020015b60608152602001906001900390816101cc5790505b5090506000805b8381101561051d57600061025386868481811061020757610207610d4d565b90506020028101906102199190610c51565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061084b92505050565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167f0f93d4390000000000000000000000000000000000000000000000000000000014806102e657507fffffffff0000000000000000000000000000000000000000000000000000000081167f9fa7449100000000000000000000000000000000000000000000000000000000145b15610361578215610358576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f537761702063616c6c656420747769636500000000000000000000000000000060448201526064015b60405180910390fd5b6001925061040d565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f1e897afb00000000000000000000000000000000000000000000000000000000141561040d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4e65737465642042617463680000000000000000000000000000000000000000604482015260640161034f565b6000803088888681811061042357610423610d4d565b90506020028101906104359190610c51565b604051610443929190610b28565b600060405180830381855af49150503d806000811461047e576040519150601f19603f3d011682016040523d82523d6000602084013e610483565b606091505b5091509150816104e95760448151101561049c57600080fd5b600481019050808060200190518101906104b691906109e0565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034f9190610c3e565b808685815181106104fc576104fc610d4d565b6020026020010181905250505050808061051590610ced565b9150506101e8565b505092915050565b6040517f250558dc00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063250558dc9061059e90879087908790600401610b54565b602060405180830381600087803b1580156105b857600080fd5b505af11580156105cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f09190610868565b949350505050565b6040517fc0a47c930000000000000000000000000000000000000000000000000000000081523360048201523060248201526001604482015260ff841660648201526084810183905260a481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063c0a47c939060c401600060405180830381600087803b1580156106a357600080fd5b505af11580156106b7573d6000803e3d6000fd5b50505050505050565b6040513360248201523060448201526064810186905260848101859052600160a482015260ff841660c482015260e48101839052610104810182905260009073ffffffffffffffffffffffffffffffffffffffff881690638fcbaf0c90610124015b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516107709190610b38565b6000604051808303816000865af19150503d80600081146107ad576040519150601f19603f3d011682016040523d82523d6000602084013e6107b2565b606091505b50509050806106b7576040517fb78cb0dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604051336024820152306044820152606481018690526084810185905260ff841660a482015260c4810183905260e4810182905260009073ffffffffffffffffffffffffffffffffffffffff88169063d505accf9061010401610722565b6020015190565b803560ff8116811461086357600080fd5b919050565b60006020828403121561087a57600080fd5b815161088581610dab565b9392505050565b6000806000604084860312156108a157600080fd5b83356108ac81610dab565b9250602084013567ffffffffffffffff808211156108c957600080fd5b818601915086601f8301126108dd57600080fd5b8135818111156108ec57600080fd5b8760208285010111156108fe57600080fd5b6020830194508093505050509250925092565b60008060008060008060c0878903121561092a57600080fd5b863561093581610dab565b9550602087013594506040870135935061095160608801610852565b92506080870135915060a087013590509295509295509295565b6000806020838503121561097e57600080fd5b823567ffffffffffffffff8082111561099657600080fd5b818501915085601f8301126109aa57600080fd5b8135818111156109b957600080fd5b8660208260051b85010111156109ce57600080fd5b60209290920196919550909350505050565b6000602082840312156109f257600080fd5b815167ffffffffffffffff80821115610a0a57600080fd5b818401915084601f830112610a1e57600080fd5b815181811115610a3057610a30610d7c565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610a7657610a76610d7c565b81604052828152876020848701011115610a8f57600080fd5b610aa0836020830160208801610cbd565b979650505050505050565b600080600060608486031215610ac057600080fd5b610ac984610852565b95602085013595506040909401359392505050565b60008151808452610af6816020860160208601610cbd565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b8183823760009101908152919050565b60008251610b4a818460208701610cbd565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff8416815260406020820152816040820152818360608301376000818301606090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016010192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610c31577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452610c1f858351610ade565b94509285019290850190600101610be5565b5092979650505050505050565b6020815260006108856020830184610ade565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112610c8657600080fd5b83018035915067ffffffffffffffff821115610ca157600080fd5b602001915036819003821315610cb657600080fd5b9250929050565b60005b83811015610cd8578181015183820152602001610cc0565b83811115610ce7576000848401525b50505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610d46577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff81168114610dcd57600080fd5b5056fea26469706673582212200f4c2a7d0487d07cf2b0fcd151b13b05cfead67cbecbb76e3ff9f206e1211f9564736f6c63430008070033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
