{
  "_format": "hh-sol-artifact-1",
  "contractName": "RouterEventEmitter",
  "sourceName": "contracts/periphery/test/RouterEventEmitter.sol",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256[]",
          "name": "amounts",
          "type": "uint256[]"
        }
      ],
      "name": "Amounts",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "router",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amountOut",
          "type": "uint256"
        },
        {
          "internalType": "address[]",
          "name": "path",
          "type": "address[]"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "deadline",
          "type": "uint256"
        }
      ],
      "name": "swapAMBForExactTokens",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "router",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amountOutMin",
          "type": "uint256"
        },
        {
          "internalType": "address[]",
          "name": "path",
          "type": "address[]"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "deadline",
          "type": "uint256"
        }
      ],
      "name": "swapExactAMBForTokens",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "router",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amountIn",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amountOutMin",
          "type": "uint256"
        },
        {
          "internalType": "address[]",
          "name": "path",
          "type": "address[]"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "deadline",
          "type": "uint256"
        }
      ],
      "name": "swapExactTokensForAMB",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "router",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amountIn",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amountOutMin",
          "type": "uint256"
        },
        {
          "internalType": "address[]",
          "name": "path",
          "type": "address[]"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "deadline",
          "type": "uint256"
        }
      ],
      "name": "swapExactTokensForTokens",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "router",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amountOut",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amountInMax",
          "type": "uint256"
        },
        {
          "internalType": "address[]",
          "name": "path",
          "type": "address[]"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "deadline",
          "type": "uint256"
        }
      ],
      "name": "swapTokensForExactAMB",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "router",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amountOut",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amountInMax",
          "type": "uint256"
        },
        {
          "internalType": "address[]",
          "name": "path",
          "type": "address[]"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "deadline",
          "type": "uint256"
        }
      ],
      "name": "swapTokensForExactTokens",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "stateMutability": "payable",
      "type": "receive"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50610cda806100206000396000f3fe6080604052600436106100595760003560e01c806322b5841014610065578063375734d91461010d5780635e5cb2f0146101b35780636c77b0231461025957806375730639146102eb57806399b327121461039157610060565b3661006057005b600080fd5b34801561007157600080fd5b5061010b600480360360c081101561008857600080fd5b6001600160a01b038235169160208101359160408201359190810190608081016060820135600160201b8111156100be57600080fd5b8201836020820111156100d057600080fd5b803590602001918460208302840111600160201b831117156100f157600080fd5b91935091506001600160a01b038135169060200135610423565b005b34801561011957600080fd5b5061010b600480360360c081101561013057600080fd5b6001600160a01b038235169160208101359160408201359190810190608081016060820135600160201b81111561016657600080fd5b82018360208201111561017857600080fd5b803590602001918460208302840111600160201b8311171561019957600080fd5b91935091506001600160a01b03813516906020013561069c565b3480156101bf57600080fd5b5061010b600480360360c08110156101d657600080fd5b6001600160a01b038235169160208101359160408201359190810190608081016060820135600160201b81111561020c57600080fd5b82018360208201111561021e57600080fd5b803590602001918460208302840111600160201b8311171561023f57600080fd5b91935091506001600160a01b038135169060200135610785565b61010b600480360360a081101561026f57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561029e57600080fd5b8201836020820111156102b057600080fd5b803590602001918460208302840111600160201b831117156102d157600080fd5b91935091506001600160a01b03813516906020013561086e565b3480156102f757600080fd5b5061010b600480360360c081101561030e57600080fd5b6001600160a01b038235169160208101359160408201359190810190608081016060820135600160201b81111561034457600080fd5b82018360208201111561035657600080fd5b803590602001918460208302840111600160201b8311171561037757600080fd5b91935091506001600160a01b038135169060200135610ade565b61010b600480360360a08110156103a757600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156103d657600080fd5b8201836020820111156103e857600080fd5b803590602001918460208302840111600160201b8311171561040957600080fd5b91935091506001600160a01b038135169060200135610bc7565b60006060886001600160a01b0316638803dbee60e01b8989898989896040516024018087815260200186815260200180602001846001600160a01b03166001600160a01b031681526020018381526020018281038252868682818152602001925060200280828437600081840152601f19601f820116905080830192505050975050505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083835b6020831061050d5780518252601f1990920191602091820191016104ee565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461056d576040519150601f19603f3d011682016040523d82523d6000602084013e610572565b606091505b50915091508161057e57fe5b7f4cc17991e3610e3400e74a8306aa421daaee1e3446fa22b490604610999e10b38180602001905160208110156105b457600080fd5b8101908080516040519392919084600160201b8211156105d357600080fd5b9083019060208201858111156105e857600080fd5b82518660208202830111600160201b8211171561060457600080fd5b82525081516020918201928201910280838360005b83811015610631578181015183820152602001610619565b505050509050016040525050506040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561067e578181015183820152602001610666565b505050509050019250505060405180910390a1505050505050505050565b60006060886001600160a01b03166338ed173960e01b8989898989896040516024018087815260200186815260200180602001846001600160a01b03166001600160a01b031681526020018381526020018281038252868682818152602001925060200280828437600081840152601f19601f820116905080830192505050975050505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083836020831061050d5780518252601f1990920191602091820191016104ee565b60006060886001600160a01b031663e5dee37360e01b8989898989896040516024018087815260200186815260200180602001846001600160a01b03166001600160a01b031681526020018381526020018281038252868682818152602001925060200280828437600081840152601f19601f820116905080830192505050975050505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083836020831061050d5780518252601f1990920191602091820191016104ee565b60006060876001600160a01b031663ef0dc4be60e01b88888888886040516024018086815260200180602001846001600160a01b03166001600160a01b031681526020018381526020018281038252868682818152602001925060200280828437600081840152601f19601f8201169050808301925050509650505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083835b602083106109505780518252601f199092019160209182019101610931565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146109b0576040519150601f19603f3d011682016040523d82523d6000602084013e6109b5565b606091505b5091509150816109c157fe5b7f4cc17991e3610e3400e74a8306aa421daaee1e3446fa22b490604610999e10b38180602001905160208110156109f757600080fd5b8101908080516040519392919084600160201b821115610a1657600080fd5b908301906020820185811115610a2b57600080fd5b82518660208202830111600160201b82111715610a4757600080fd5b82525081516020918201928201910280838360005b83811015610a74578181015183820152602001610a5c565b505050509050016040525050506040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610ac1578181015183820152602001610aa9565b505050509050019250505060405180910390a15050505050505050565b60006060886001600160a01b03166340d2463f60e01b8989898989896040516024018087815260200186815260200180602001846001600160a01b03166001600160a01b031681526020018381526020018281038252868682818152602001925060200280828437600081840152601f19601f820116905080830192505050975050505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083836020831061050d5780518252601f1990920191602091820191016104ee565b60006060876001600160a01b031663ac8ee3b660e01b88888888886040516024018086815260200180602001846001600160a01b03166001600160a01b03168152602001838152602001828103825286868281815260200192506020028082843760008382015260408051601f909201601f199081169094018281039094018252928352602080820180516001600160e01b03166001600160e01b0319909d169c909c178c5292518151919b909a508a9950975095508594508793508692505083106109505780518252601f19909201916020918201910161093156fea26469706673582212205e184b138ff9c6bf5ddb53790370979d0ebeb5437d2cd482fbc12ca4caadf6ce64736f6c63430006060033",
  "deployedBytecode": "0x6080604052600436106100595760003560e01c806322b5841014610065578063375734d91461010d5780635e5cb2f0146101b35780636c77b0231461025957806375730639146102eb57806399b327121461039157610060565b3661006057005b600080fd5b34801561007157600080fd5b5061010b600480360360c081101561008857600080fd5b6001600160a01b038235169160208101359160408201359190810190608081016060820135600160201b8111156100be57600080fd5b8201836020820111156100d057600080fd5b803590602001918460208302840111600160201b831117156100f157600080fd5b91935091506001600160a01b038135169060200135610423565b005b34801561011957600080fd5b5061010b600480360360c081101561013057600080fd5b6001600160a01b038235169160208101359160408201359190810190608081016060820135600160201b81111561016657600080fd5b82018360208201111561017857600080fd5b803590602001918460208302840111600160201b8311171561019957600080fd5b91935091506001600160a01b03813516906020013561069c565b3480156101bf57600080fd5b5061010b600480360360c08110156101d657600080fd5b6001600160a01b038235169160208101359160408201359190810190608081016060820135600160201b81111561020c57600080fd5b82018360208201111561021e57600080fd5b803590602001918460208302840111600160201b8311171561023f57600080fd5b91935091506001600160a01b038135169060200135610785565b61010b600480360360a081101561026f57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561029e57600080fd5b8201836020820111156102b057600080fd5b803590602001918460208302840111600160201b831117156102d157600080fd5b91935091506001600160a01b03813516906020013561086e565b3480156102f757600080fd5b5061010b600480360360c081101561030e57600080fd5b6001600160a01b038235169160208101359160408201359190810190608081016060820135600160201b81111561034457600080fd5b82018360208201111561035657600080fd5b803590602001918460208302840111600160201b8311171561037757600080fd5b91935091506001600160a01b038135169060200135610ade565b61010b600480360360a08110156103a757600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156103d657600080fd5b8201836020820111156103e857600080fd5b803590602001918460208302840111600160201b8311171561040957600080fd5b91935091506001600160a01b038135169060200135610bc7565b60006060886001600160a01b0316638803dbee60e01b8989898989896040516024018087815260200186815260200180602001846001600160a01b03166001600160a01b031681526020018381526020018281038252868682818152602001925060200280828437600081840152601f19601f820116905080830192505050975050505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083835b6020831061050d5780518252601f1990920191602091820191016104ee565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461056d576040519150601f19603f3d011682016040523d82523d6000602084013e610572565b606091505b50915091508161057e57fe5b7f4cc17991e3610e3400e74a8306aa421daaee1e3446fa22b490604610999e10b38180602001905160208110156105b457600080fd5b8101908080516040519392919084600160201b8211156105d357600080fd5b9083019060208201858111156105e857600080fd5b82518660208202830111600160201b8211171561060457600080fd5b82525081516020918201928201910280838360005b83811015610631578181015183820152602001610619565b505050509050016040525050506040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561067e578181015183820152602001610666565b505050509050019250505060405180910390a1505050505050505050565b60006060886001600160a01b03166338ed173960e01b8989898989896040516024018087815260200186815260200180602001846001600160a01b03166001600160a01b031681526020018381526020018281038252868682818152602001925060200280828437600081840152601f19601f820116905080830192505050975050505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083836020831061050d5780518252601f1990920191602091820191016104ee565b60006060886001600160a01b031663e5dee37360e01b8989898989896040516024018087815260200186815260200180602001846001600160a01b03166001600160a01b031681526020018381526020018281038252868682818152602001925060200280828437600081840152601f19601f820116905080830192505050975050505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083836020831061050d5780518252601f1990920191602091820191016104ee565b60006060876001600160a01b031663ef0dc4be60e01b88888888886040516024018086815260200180602001846001600160a01b03166001600160a01b031681526020018381526020018281038252868682818152602001925060200280828437600081840152601f19601f8201169050808301925050509650505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083835b602083106109505780518252601f199092019160209182019101610931565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146109b0576040519150601f19603f3d011682016040523d82523d6000602084013e6109b5565b606091505b5091509150816109c157fe5b7f4cc17991e3610e3400e74a8306aa421daaee1e3446fa22b490604610999e10b38180602001905160208110156109f757600080fd5b8101908080516040519392919084600160201b821115610a1657600080fd5b908301906020820185811115610a2b57600080fd5b82518660208202830111600160201b82111715610a4757600080fd5b82525081516020918201928201910280838360005b83811015610a74578181015183820152602001610a5c565b505050509050016040525050506040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610ac1578181015183820152602001610aa9565b505050509050019250505060405180910390a15050505050505050565b60006060886001600160a01b03166340d2463f60e01b8989898989896040516024018087815260200186815260200180602001846001600160a01b03166001600160a01b031681526020018381526020018281038252868682818152602001925060200280828437600081840152601f19601f820116905080830192505050975050505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083836020831061050d5780518252601f1990920191602091820191016104ee565b60006060876001600160a01b031663ac8ee3b660e01b88888888886040516024018086815260200180602001846001600160a01b03166001600160a01b03168152602001838152602001828103825286868281815260200192506020028082843760008382015260408051601f909201601f199081169094018281039094018252928352602080820180516001600160e01b03166001600160e01b0319909d169c909c178c5292518151919b909a508a9950975095508594508793508692505083106109505780518252601f19909201916020918201910161093156fea26469706673582212205e184b138ff9c6bf5ddb53790370979d0ebeb5437d2cd482fbc12ca4caadf6ce64736f6c63430006060033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
