{
  "_format": "hh-sol-artifact-1",
  "contractName": "KyberExchangeAdapter",
  "sourceName": "contracts/protocol/integration/exchange/KyberExchangeAdapter.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_kyberNetworkProxyAddress",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_sourceToken",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_destinationToken",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_sourceQuantity",
          "type": "uint256"
        }
      ],
      "name": "getConversionRates",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "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": "uint256",
          "name": "_sourceQuantity",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_minDestinationQuantity",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "",
          "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": "kyberNetworkProxyAddress",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b506040516107a83803806107a883398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610082565b600060208284031215610065578081fd5b81516001600160a01b038116811461007b578182fd5b9392505050565b610717806100916000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806312e41a7714610051578063334fc2891461006f578063aa0b24fa14610077578063e171fcab14610098575b600080fd5b6100596100ba565b60405161006691906105c2565b60405180910390f35b6100596100c9565b61008a6100853660046104f3565b6100d8565b6040516100669291906106bb565b6100ab6100a636600461043d565b610168565b60405161006693929190610637565b6000546001600160a01b031681565b6000546001600160a01b031690565b6000805460405163809a9e5560e01b815282916001600160a01b03169063809a9e559061010d908890889088906004016105d6565b604080518083038186803b15801561012457600080fd5b505afa158015610138573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061015c9190610533565b91509150935093915050565b6000806060610175610405565b8a6001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156101ae57600080fd5b505afa1580156101c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e69190610556565b60ff16816000018181525050896001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561022b57600080fd5b505afa15801561023f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102639190610556565b60ff166020820181905281516102b2918a916102a691600a90810a9183910a61029a61028d61032e565b8e9063ffffffff61033a16565b9063ffffffff61033a16565b9063ffffffff61038616565b604082015260608b898c8c6102c56103c8565b866040015160006040516024016102e297969594939291906105fa565b60408051601f198184030181529190526020810180516001600160e01b031663cb3c28c760e01b179052600080546001600160a01b031696509450925050509750975097945050505050565b670de0b6b3a764000090565b60008261034957506000610380565b8282028284828161035657fe5b041461037d5760405162461bcd60e51b81526004016103749061067a565b60405180910390fd5b90505b92915050565b600061037d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506103ce565b60001990565b600081836103ef5760405162461bcd60e51b81526004016103749190610667565b5060008385816103fb57fe5b0495945050505050565b60405180606001604052806000815260200160008152602001600081525090565b80356001600160a01b038116811461038057600080fd5b600080600080600080600060c0888a031215610457578283fd5b6104618989610426565b96506104708960208a01610426565b955061047f8960408a01610426565b9450606088013593506080880135925060a088013567ffffffffffffffff808211156104a9578384fd5b818a018b601f8201126104ba578485fd5b80359250818311156104ca578485fd5b8b60208483010111156104db578485fd5b60208101945050508091505092959891949750929550565b600080600060608486031215610507578283fd5b8335610512816106c9565b92506020840135610522816106c9565b929592945050506040919091013590565b60008060408385031215610545578182fd5b505080516020909101519092909150565b600060208284031215610567578081fd5b815160ff8116811461037d578182fd5b60008151808452815b8181101561059c57602081850181015186830182015201610580565b818111156105ad5782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b039788168152602081019690965293861660408601529185166060850152608084015260a083015290911660c082015260e00190565b600060018060a01b03851682528360208301526060604083015261065e6060830184610577565b95945050505050565b60006020825261037d6020830184610577565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b918252602082015260400190565b6001600160a01b03811681146106de57600080fd5b5056fea26469706673582212206833b85516e0993909c9b21d935b37dfe672afd1246eebad299516b10e7aaa8364736f6c634300060a0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c806312e41a7714610051578063334fc2891461006f578063aa0b24fa14610077578063e171fcab14610098575b600080fd5b6100596100ba565b60405161006691906105c2565b60405180910390f35b6100596100c9565b61008a6100853660046104f3565b6100d8565b6040516100669291906106bb565b6100ab6100a636600461043d565b610168565b60405161006693929190610637565b6000546001600160a01b031681565b6000546001600160a01b031690565b6000805460405163809a9e5560e01b815282916001600160a01b03169063809a9e559061010d908890889088906004016105d6565b604080518083038186803b15801561012457600080fd5b505afa158015610138573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061015c9190610533565b91509150935093915050565b6000806060610175610405565b8a6001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156101ae57600080fd5b505afa1580156101c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e69190610556565b60ff16816000018181525050896001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561022b57600080fd5b505afa15801561023f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102639190610556565b60ff166020820181905281516102b2918a916102a691600a90810a9183910a61029a61028d61032e565b8e9063ffffffff61033a16565b9063ffffffff61033a16565b9063ffffffff61038616565b604082015260608b898c8c6102c56103c8565b866040015160006040516024016102e297969594939291906105fa565b60408051601f198184030181529190526020810180516001600160e01b031663cb3c28c760e01b179052600080546001600160a01b031696509450925050509750975097945050505050565b670de0b6b3a764000090565b60008261034957506000610380565b8282028284828161035657fe5b041461037d5760405162461bcd60e51b81526004016103749061067a565b60405180910390fd5b90505b92915050565b600061037d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506103ce565b60001990565b600081836103ef5760405162461bcd60e51b81526004016103749190610667565b5060008385816103fb57fe5b0495945050505050565b60405180606001604052806000815260200160008152602001600081525090565b80356001600160a01b038116811461038057600080fd5b600080600080600080600060c0888a031215610457578283fd5b6104618989610426565b96506104708960208a01610426565b955061047f8960408a01610426565b9450606088013593506080880135925060a088013567ffffffffffffffff808211156104a9578384fd5b818a018b601f8201126104ba578485fd5b80359250818311156104ca578485fd5b8b60208483010111156104db578485fd5b60208101945050508091505092959891949750929550565b600080600060608486031215610507578283fd5b8335610512816106c9565b92506020840135610522816106c9565b929592945050506040919091013590565b60008060408385031215610545578182fd5b505080516020909101519092909150565b600060208284031215610567578081fd5b815160ff8116811461037d578182fd5b60008151808452815b8181101561059c57602081850181015186830182015201610580565b818111156105ad5782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b039788168152602081019690965293861660408601529185166060850152608084015260a083015290911660c082015260e00190565b600060018060a01b03851682528360208301526060604083015261065e6060830184610577565b95945050505050565b60006020825261037d6020830184610577565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b918252602082015260400190565b6001600160a01b03811681146106de57600080fd5b5056fea26469706673582212206833b85516e0993909c9b21d935b37dfe672afd1246eebad299516b10e7aaa8364736f6c634300060a0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
