{
  "_format": "hh-sol-artifact-1",
  "contractName": "Migrator",
  "sourceName": "contracts/core/Migrator.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract IRouter",
          "name": "oldRouter_",
          "type": "address"
        },
        {
          "internalType": "contract IRouter",
          "name": "newRouter_",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "oldLiquidity",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "newLiquidity",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "baseAmount",
          "type": "uint256"
        }
      ],
      "name": "Migrate",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "baseToken",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "quoteToken",
          "type": "address"
        }
      ],
      "name": "migrate",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "newFactory",
      "outputs": [
        {
          "internalType": "contract IPairFactory",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "newRouter",
      "outputs": [
        {
          "internalType": "contract IRouter",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "oldFactory",
      "outputs": [
        {
          "internalType": "contract IPairFactory",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "oldRouter",
      "outputs": [
        {
          "internalType": "contract IRouter",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50604051610a92380380610a9283398101604081905261002f916101bb565b60008054610100600160a81b0319166101006001600160a01b0385811682029290921792839055600180546001600160a01b0319168584161790556040805163e14f870d60e01b81529051919093049091169163e14f870d916004808301926020929190829003018186803b1580156100a757600080fd5b505afa1580156100bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100df9190610198565b600280546001600160a01b0319166001600160a01b039283161790556001546040805163e14f870d60e01b81529051919092169163e14f870d916004808301926020929190829003018186803b15801561013857600080fd5b505afa15801561014c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101709190610198565b600380546001600160a01b0319166001600160a01b03929092169190911790555061020c9050565b6000602082840312156101a9578081fd5b81516101b4816101f4565b9392505050565b600080604083850312156101cd578081fd5b82516101d8816101f4565b60208401519092506101e9816101f4565b809150509250929050565b6001600160a01b038116811461020957600080fd5b50565b6108778061021b6000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063105bf2c41461005c5780631068361f1461008b57806317ef3488146100a05780631bd6dfe1146100b3578063964c1f98146100c6575b600080fd5b60015461006f906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b61009e610099366004610753565b6100de565b005b60035461006f906001600160a01b031681565b60025461006f906001600160a01b031681565b60005461006f9061010090046001600160a01b031681565b60005460ff16156101365760405162461bcd60e51b815260206004820152601960248201527f5265656e7472616e743a207265656e7472616e742063616c6c0000000000000060448201526064015b60405180910390fd5b6000805460ff191660011781556002546040516365cc7a1d60e01b81526001600160a01b0385811660048301528481166024830152909116906365cc7a1d9060440160206040518083038186803b15801561019057600080fd5b505afa1580156101a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c89190610730565b6040516370a0823160e01b81523360048201529091506000906001600160a01b038316906370a082319060240160206040518083038186803b15801561020d57600080fd5b505afa158015610221573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061024591906107ab565b9050600081116102885760405162461bcd60e51b815260206004820152600e60248201526d5a45524f5f4c495155494449545960901b604482015260640161012d565b610294823384846104c1565b60405163226bf2d160e21b81523060048201526000906001600160a01b038416906389afcb4490602401606060405180830381600087803b1580156102d857600080fd5b505af11580156102ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031091906107c3565b50509050600081116103575760405162461bcd60e51b815260206004820152601060248201526f16915493d7d09054d157d05353d5539560821b604482015260640161012d565b6003546040516365cc7a1d60e01b81526001600160a01b038781166004830152868116602483015260009216906365cc7a1d9060440160206040518083038186803b1580156103a557600080fd5b505afa1580156103b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103dd9190610730565b90506103ea8682846105ff565b6040516335313c2160e11b81523360048201526000906001600160a01b03831690636a62784290602401606060405180830381600087803b15801561042e57600080fd5b505af1158015610442573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046691906107c3565b60408051888152602081018390529081018790529093503392507fc47a839c70aa320457c80c5abd38ce8b516c72e37be119b7962f67f1f8eb7ac2915060600160405180910390a250506000805460ff191690555050505050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b179052915160009283929088169161052591906107f0565b6000604051808303816000865af19150503d8060008114610562576040519150601f19603f3d011682016040523d82523d6000602084013e610567565b606091505b5091509150818015610591575080511580610591575080806020019051810190610591919061078b565b6105f75760405162461bcd60e51b815260206004820152603160248201527f5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472604482015270185b9cd9995c919c9bdb4819985a5b1959607a1b606482015260840161012d565b505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b179052915160009283929087169161065b91906107f0565b6000604051808303816000865af19150503d8060008114610698576040519150601f19603f3d011682016040523d82523d6000602084013e61069d565b606091505b50915091508180156106c75750805115806106c75750808060200190518101906106c7919061078b565b6107295760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201526c185b9cd9995c8819985a5b1959609a1b606482015260840161012d565b5050505050565b600060208284031215610741578081fd5b815161074c81610829565b9392505050565b60008060408385031215610765578081fd5b823561077081610829565b9150602083013561078081610829565b809150509250929050565b60006020828403121561079c578081fd5b8151801515811461074c578182fd5b6000602082840312156107bc578081fd5b5051919050565b6000806000606084860312156107d7578081fd5b8351925060208401519150604084015190509250925092565b60008251815b8181101561081057602081860181015185830152016107f6565b8181111561081e5782828501525b509190910192915050565b6001600160a01b038116811461083e57600080fd5b5056fea2646970667358221220c0287cc39632c922a3600dc58c246cb0c5e2361a93790e8fa840b00f27ded4d564736f6c63430008020033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c8063105bf2c41461005c5780631068361f1461008b57806317ef3488146100a05780631bd6dfe1146100b3578063964c1f98146100c6575b600080fd5b60015461006f906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b61009e610099366004610753565b6100de565b005b60035461006f906001600160a01b031681565b60025461006f906001600160a01b031681565b60005461006f9061010090046001600160a01b031681565b60005460ff16156101365760405162461bcd60e51b815260206004820152601960248201527f5265656e7472616e743a207265656e7472616e742063616c6c0000000000000060448201526064015b60405180910390fd5b6000805460ff191660011781556002546040516365cc7a1d60e01b81526001600160a01b0385811660048301528481166024830152909116906365cc7a1d9060440160206040518083038186803b15801561019057600080fd5b505afa1580156101a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c89190610730565b6040516370a0823160e01b81523360048201529091506000906001600160a01b038316906370a082319060240160206040518083038186803b15801561020d57600080fd5b505afa158015610221573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061024591906107ab565b9050600081116102885760405162461bcd60e51b815260206004820152600e60248201526d5a45524f5f4c495155494449545960901b604482015260640161012d565b610294823384846104c1565b60405163226bf2d160e21b81523060048201526000906001600160a01b038416906389afcb4490602401606060405180830381600087803b1580156102d857600080fd5b505af11580156102ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031091906107c3565b50509050600081116103575760405162461bcd60e51b815260206004820152601060248201526f16915493d7d09054d157d05353d5539560821b604482015260640161012d565b6003546040516365cc7a1d60e01b81526001600160a01b038781166004830152868116602483015260009216906365cc7a1d9060440160206040518083038186803b1580156103a557600080fd5b505afa1580156103b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103dd9190610730565b90506103ea8682846105ff565b6040516335313c2160e11b81523360048201526000906001600160a01b03831690636a62784290602401606060405180830381600087803b15801561042e57600080fd5b505af1158015610442573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046691906107c3565b60408051888152602081018390529081018790529093503392507fc47a839c70aa320457c80c5abd38ce8b516c72e37be119b7962f67f1f8eb7ac2915060600160405180910390a250506000805460ff191690555050505050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b179052915160009283929088169161052591906107f0565b6000604051808303816000865af19150503d8060008114610562576040519150601f19603f3d011682016040523d82523d6000602084013e610567565b606091505b5091509150818015610591575080511580610591575080806020019051810190610591919061078b565b6105f75760405162461bcd60e51b815260206004820152603160248201527f5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472604482015270185b9cd9995c919c9bdb4819985a5b1959607a1b606482015260840161012d565b505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b179052915160009283929087169161065b91906107f0565b6000604051808303816000865af19150503d8060008114610698576040519150601f19603f3d011682016040523d82523d6000602084013e61069d565b606091505b50915091508180156106c75750805115806106c75750808060200190518101906106c7919061078b565b6107295760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201526c185b9cd9995c8819985a5b1959609a1b606482015260840161012d565b5050505050565b600060208284031215610741578081fd5b815161074c81610829565b9392505050565b60008060408385031215610765578081fd5b823561077081610829565b9150602083013561078081610829565b809150509250929050565b60006020828403121561079c578081fd5b8151801515811461074c578182fd5b6000602082840312156107bc578081fd5b5051919050565b6000806000606084860312156107d7578081fd5b8351925060208401519150604084015190509250925092565b60008251815b8181101561081057602081860181015185830152016107f6565b8181111561081e5782828501525b509190910192915050565b6001600160a01b038116811461083e57600080fd5b5056fea2646970667358221220c0287cc39632c922a3600dc58c246cb0c5e2361a93790e8fa840b00f27ded4d564736f6c63430008020033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
