{
  "_format": "hh-sol-artifact-1",
  "contractName": "UniswapV2IndexExchangeAdapter",
  "sourceName": "contracts/protocol/integration/index-exchange/UniswapV2IndexExchangeAdapter.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_router",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "getSpender",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_sourceToken",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_destinationToken",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_destinationAddress",
          "type": "address"
        },
        {
          "internalType": "bool",
          "name": "_isSendTokenFixed",
          "type": "bool"
        },
        {
          "internalType": "uint256",
          "name": "_sourceQuantity",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_destinationQuantity",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "_data",
          "type": "bytes"
        }
      ],
      "name": "getTradeCalldata",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "router",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x60a060405234801561001057600080fd5b5060405161079738038061079783398101604081905261002f91610044565b60601b6001600160601b031916608052610072565b600060208284031215610055578081fd5b81516001600160a01b038116811461006b578182fd5b9392505050565b60805160601c6106ff61009860003980609052806102bb52806102f352506106ff6000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063334fc28914610046578063e869b69b14610064578063f887ea4014610086575b600080fd5b61004e61008e565b60405161005b919061046e565b60405180910390f35b610077610072366004610377565b6100b2565b60405161005b93929190610482565b61004e6102f1565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806060808451600014156101435760408051600280825260608201835290916020830190803683370190505090508a816000815181106100f057fe5b60200260200101906001600160a01b031690816001600160a01b031681525050898160018151811061011e57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050610204565b6000610155868263ffffffff61031516565b60408051600380825260808201909252919250602082016060803683370190505091508b8260008151811061018657fe5b60200260200101906001600160a01b031690816001600160a01b03168152505080826001815181106101b457fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508a826002815181106101e257fe5b60200260200101906001600160a01b031690816001600160a01b031681525050505b6060886102295760405180608001604052806043815260200161068760439139610243565b604051806080016040528060438152602001610644604391395b8961024e5787610250565b885b8a61025b578961025d565b885b848d42604051602401610274959493929190610526565b60408051601f19818403018152908290529161028f91610452565b6040519081900390206020820180516001600160e01b03166001600160e01b03199092169190911790527f0000000000000000000000000000000000000000000000000000000000000000955060009450925050509750975097945050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000818260140110156103435760405162461bcd60e51b815260040161033a906104fa565b60405180910390fd5b81601401835110156103675760405162461bcd60e51b815260040161033a906104cb565b500160200151600160601b900490565b600080600080600080600060e0888a031215610391578283fd5b873561039c8161061d565b965060208801356103ac8161061d565b955060408801356103bc8161061d565b945060608801356103cc81610635565b93506080880135925060a0880135915060c088013567ffffffffffffffff8111156103f5578182fd5b8089018a601f820112610406578283fd5b8035915061041b610416836105bd565b610596565b8281528b602084840101111561042f578384fd5b6104408360208301602085016105e1565b80935050505092959891949750929550565b600082516104648184602087016105ed565b9190910192915050565b6001600160a01b0391909116815260200190565b600060018060a01b03851682528360208301526060604083015282518060608401526104b58160808501602087016105ed565b601f01601f191691909101608001949350505050565b602080825260159082015274746f416464726573735f6f75744f66426f756e647360581b604082015260600190565b602080825260129082015271746f416464726573735f6f766572666c6f7760701b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156105755784516001600160a01b031683529383019391830191600101610550565b50506001600160a01b03969096166060850152505050608001529392505050565b60405181810167ffffffffffffffff811182821017156105b557600080fd5b604052919050565b600067ffffffffffffffff8211156105d3578081fd5b50601f01601f191660200190565b82818337506000910152565b60005b838110156106085781810151838201526020016105f0565b83811115610617576000848401525b50505050565b6001600160a01b038116811461063257600080fd5b50565b801515811461063257600080fdfe737761704578616374546f6b656e73466f72546f6b656e732875696e743235362c75696e743235362c616464726573735b5d2c616464726573732c75696e743235362973776170546f6b656e73466f724578616374546f6b656e732875696e743235362c75696e743235362c616464726573735b5d2c616464726573732c75696e7432353629a2646970667358221220526803c2362942dae6e7bbbb260b6566cc61e8812dfff88619956203240a4cf664736f6c634300060a0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063334fc28914610046578063e869b69b14610064578063f887ea4014610086575b600080fd5b61004e61008e565b60405161005b919061046e565b60405180910390f35b610077610072366004610377565b6100b2565b60405161005b93929190610482565b61004e6102f1565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806060808451600014156101435760408051600280825260608201835290916020830190803683370190505090508a816000815181106100f057fe5b60200260200101906001600160a01b031690816001600160a01b031681525050898160018151811061011e57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050610204565b6000610155868263ffffffff61031516565b60408051600380825260808201909252919250602082016060803683370190505091508b8260008151811061018657fe5b60200260200101906001600160a01b031690816001600160a01b03168152505080826001815181106101b457fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508a826002815181106101e257fe5b60200260200101906001600160a01b031690816001600160a01b031681525050505b6060886102295760405180608001604052806043815260200161068760439139610243565b604051806080016040528060438152602001610644604391395b8961024e5787610250565b885b8a61025b578961025d565b885b848d42604051602401610274959493929190610526565b60408051601f19818403018152908290529161028f91610452565b6040519081900390206020820180516001600160e01b03166001600160e01b03199092169190911790527f0000000000000000000000000000000000000000000000000000000000000000955060009450925050509750975097945050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000818260140110156103435760405162461bcd60e51b815260040161033a906104fa565b60405180910390fd5b81601401835110156103675760405162461bcd60e51b815260040161033a906104cb565b500160200151600160601b900490565b600080600080600080600060e0888a031215610391578283fd5b873561039c8161061d565b965060208801356103ac8161061d565b955060408801356103bc8161061d565b945060608801356103cc81610635565b93506080880135925060a0880135915060c088013567ffffffffffffffff8111156103f5578182fd5b8089018a601f820112610406578283fd5b8035915061041b610416836105bd565b610596565b8281528b602084840101111561042f578384fd5b6104408360208301602085016105e1565b80935050505092959891949750929550565b600082516104648184602087016105ed565b9190910192915050565b6001600160a01b0391909116815260200190565b600060018060a01b03851682528360208301526060604083015282518060608401526104b58160808501602087016105ed565b601f01601f191691909101608001949350505050565b602080825260159082015274746f416464726573735f6f75744f66426f756e647360581b604082015260600190565b602080825260129082015271746f416464726573735f6f766572666c6f7760701b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156105755784516001600160a01b031683529383019391830191600101610550565b50506001600160a01b03969096166060850152505050608001529392505050565b60405181810167ffffffffffffffff811182821017156105b557600080fd5b604052919050565b600067ffffffffffffffff8211156105d3578081fd5b50601f01601f191660200190565b82818337506000910152565b60005b838110156106085781810151838201526020016105f0565b83811115610617576000848401525b50505050565b6001600160a01b038116811461063257600080fd5b50565b801515811461063257600080fdfe737761704578616374546f6b656e73466f72546f6b656e732875696e743235362c75696e743235362c616464726573735b5d2c616464726573732c75696e743235362973776170546f6b656e73466f724578616374546f6b656e732875696e743235362c75696e743235362c616464726573735b5d2c616464726573732c75696e7432353629a2646970667358221220526803c2362942dae6e7bbbb260b6566cc61e8812dfff88619956203240a4cf664736f6c634300060a0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
