{
  "_format": "hh-sol-artifact-1",
  "contractName": "KyberNetworkProxyMock",
  "sourceName": "contracts/mocks/external/KyberNetworkProxyMock.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_mockWethAddress",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [
        {
          "internalType": "contract ERC20",
          "name": "_token",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_rate",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_decimals",
          "type": "uint256"
        }
      ],
      "name": "addToken",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_src",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_dest",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_srcQty",
          "type": "uint256"
        }
      ],
      "name": "getExpectedRate",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "expectedRate",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "slippageRate",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "mockWethAddress",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "tokens",
      "outputs": [
        {
          "internalType": "bool",
          "name": "exists",
          "type": "bool"
        },
        {
          "internalType": "uint256",
          "name": "rate",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "decimals",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract ERC20",
          "name": "_src",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_srcAmount",
          "type": "uint256"
        },
        {
          "internalType": "contract ERC20",
          "name": "_dest",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_destAddress",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_maxDestAmount",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "trade",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "destAmount",
          "type": "uint256"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50604051610ae7380380610ae78339818101604052602081101561003357600080fd5b5051600180546001600160a01b039092166001600160a01b03199283161790556002805490911633179055610a7a8061006d6000396000f3fe60806040526004361061004a5760003560e01c8063809a9e551461004f5780638cba9168146100ab578063cb3c28c7146100dc578063dee1f2af14610140578063e486033914610181575b600080fd5b34801561005b57600080fd5b506100926004803603606081101561007257600080fd5b506001600160a01b038135811691602081013590911690604001356101d4565b6040805192835260208301919091528051918290030190f35b3480156100b757600080fd5b506100c06102bc565b604080516001600160a01b039092168252519081900360200190f35b61012e600480360360e08110156100f257600080fd5b506001600160a01b0381358116916020810135916040820135811691606081013582169160808201359160a08101359160c090910135166102cb565b60408051918252519081900360200190f35b34801561014c57600080fd5b5061017f6004803603606081101561016357600080fd5b506001600160a01b03813516906020810135906040013561076a565b005b34801561018d57600080fd5b506101b4600480360360208110156101a457600080fd5b50356001600160a01b031661081f565b604080519315158452602084019290925282820152519081900360600190f35b60015460009081906001600160a01b038681169116141561022d576001600160a01b0384166000908152602081905260409020600101546ec097ce7bc90715b34b9f10000000008161022257fe5b0491508190506102b4565b6001546001600160a01b03858116911614156102675750506001600160a01b038316600090815260208190526040902060010154806102b4565b6040805162461bcd60e51b815260206004820181905260248201527f4b796265724e6574776f726b3a20556e6b6e6f776e20746f6b656e2070616972604482015290519081900360640190fd5b935093915050565b6001546001600160a01b031681565b600154600090819081906001600160a01b038b81169116141561053a576001600160a01b0388166000908152602081905260409020600101546ec097ce7bc90715b34b9f10000000008161031b57fe5b6001600160a01b038a16600090815260208190526040902060020154919004925061036290602403600a0a610356848c63ffffffff61084416565b9063ffffffff6108a616565b9250858311156103af576001600160a01b0388166000908152602081905260409020600201548693506103a8908390610356908690602403600a0a63ffffffff61084416565b90506103b2565b50875b604080516323b872dd60e01b81523360048201523060248201526044810183905290516001600160a01b038c16916323b872dd9160648083019260209291908290030181600087803b15801561040757600080fd5b505af115801561041b573d6000803e3d6000fd5b505050506040513d602081101561043157600080fd5b505161046e5760405162461bcd60e51b81526004018080602001828103825260268152602001806109866026913960400191505060405180910390fd5b876001600160a01b031663a9059cbb88856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156104ce57600080fd5b505af11580156104e2573d6000803e3d6000fd5b505050506040513d60208110156104f857600080fd5b50516105355760405162461bcd60e51b81526004018080602001828103825260238152602001806109da6023913960400191505060405180910390fd5b61075d565b6001546001600160a01b0389811691161415610267576001600160a01b038a166000908152602081905260409020600181015460029091015490925061058d90600a0a610356848c63ffffffff61084416565b9250858311156105d7576001600160a01b038a166000908152602081905260409020600201548693506105d0908390610356908690600a0a63ffffffff61084416565b90506105da565b50875b604080516323b872dd60e01b81523360048201523060248201526044810183905290516001600160a01b038c16916323b872dd9160648083019260209291908290030181600087803b15801561062f57600080fd5b505af1158015610643573d6000803e3d6000fd5b505050506040513d602081101561065957600080fd5b50516106965760405162461bcd60e51b8152600401808060200182810382526027815260200180610a1e6027913960400191505060405180910390fd5b876001600160a01b031663a9059cbb88856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156106f657600080fd5b505af115801561070a573d6000803e3d6000fd5b505050506040513d602081101561072057600080fd5b50516105355760405162461bcd60e51b815260040180806020018281038252602e8152602001806109ac602e913960400191505060405180910390fd5b5050979650505050505050565b6002546001600160a01b031633146107c9576040805162461bcd60e51b815260206004820152601a60248201527f4b796265724e6574776f726b3a20756e617574686f72697a6564000000000000604482015290519081900360640190fd5b60408051606081018252600180825260208083019586528284019485526001600160a01b0396909616600090815295869052919094209351845460ff191690151517845591519183019190915551600290910155565b60006020819052908152604090208054600182015460029092015460ff909116919083565b600082610853575060006108a0565b8282028284828161086057fe5b041461089d5760405162461bcd60e51b81526004018080602001828103825260218152602001806109fd6021913960400191505060405180910390fd5b90505b92915050565b600061089d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506000818361096f5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561093457818101518382015260200161091c565b50505050905090810190601f1680156109615780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161097b57fe5b049594505050505056fe4b796265724e6574776f726b3a206e6f7420656e6f75676820574554482070726f76696465644b796265724e6574776f726b3a206e6f7420656e6f7567682057455448207472616e73666572726564206261636b4b796265724e6574776f726b3a204552433230207472616e73666572206661696c6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774b796265724e6574776f726b3a206e6f7420656e6f7567682045524332302070726f7669646564a2646970667358221220737f3f2dc7912f2112cec1491e7c82c19af3b3511ad9f36f706346be8b604ff364736f6c634300060a0033",
  "deployedBytecode": "0x60806040526004361061004a5760003560e01c8063809a9e551461004f5780638cba9168146100ab578063cb3c28c7146100dc578063dee1f2af14610140578063e486033914610181575b600080fd5b34801561005b57600080fd5b506100926004803603606081101561007257600080fd5b506001600160a01b038135811691602081013590911690604001356101d4565b6040805192835260208301919091528051918290030190f35b3480156100b757600080fd5b506100c06102bc565b604080516001600160a01b039092168252519081900360200190f35b61012e600480360360e08110156100f257600080fd5b506001600160a01b0381358116916020810135916040820135811691606081013582169160808201359160a08101359160c090910135166102cb565b60408051918252519081900360200190f35b34801561014c57600080fd5b5061017f6004803603606081101561016357600080fd5b506001600160a01b03813516906020810135906040013561076a565b005b34801561018d57600080fd5b506101b4600480360360208110156101a457600080fd5b50356001600160a01b031661081f565b604080519315158452602084019290925282820152519081900360600190f35b60015460009081906001600160a01b038681169116141561022d576001600160a01b0384166000908152602081905260409020600101546ec097ce7bc90715b34b9f10000000008161022257fe5b0491508190506102b4565b6001546001600160a01b03858116911614156102675750506001600160a01b038316600090815260208190526040902060010154806102b4565b6040805162461bcd60e51b815260206004820181905260248201527f4b796265724e6574776f726b3a20556e6b6e6f776e20746f6b656e2070616972604482015290519081900360640190fd5b935093915050565b6001546001600160a01b031681565b600154600090819081906001600160a01b038b81169116141561053a576001600160a01b0388166000908152602081905260409020600101546ec097ce7bc90715b34b9f10000000008161031b57fe5b6001600160a01b038a16600090815260208190526040902060020154919004925061036290602403600a0a610356848c63ffffffff61084416565b9063ffffffff6108a616565b9250858311156103af576001600160a01b0388166000908152602081905260409020600201548693506103a8908390610356908690602403600a0a63ffffffff61084416565b90506103b2565b50875b604080516323b872dd60e01b81523360048201523060248201526044810183905290516001600160a01b038c16916323b872dd9160648083019260209291908290030181600087803b15801561040757600080fd5b505af115801561041b573d6000803e3d6000fd5b505050506040513d602081101561043157600080fd5b505161046e5760405162461bcd60e51b81526004018080602001828103825260268152602001806109866026913960400191505060405180910390fd5b876001600160a01b031663a9059cbb88856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156104ce57600080fd5b505af11580156104e2573d6000803e3d6000fd5b505050506040513d60208110156104f857600080fd5b50516105355760405162461bcd60e51b81526004018080602001828103825260238152602001806109da6023913960400191505060405180910390fd5b61075d565b6001546001600160a01b0389811691161415610267576001600160a01b038a166000908152602081905260409020600181015460029091015490925061058d90600a0a610356848c63ffffffff61084416565b9250858311156105d7576001600160a01b038a166000908152602081905260409020600201548693506105d0908390610356908690600a0a63ffffffff61084416565b90506105da565b50875b604080516323b872dd60e01b81523360048201523060248201526044810183905290516001600160a01b038c16916323b872dd9160648083019260209291908290030181600087803b15801561062f57600080fd5b505af1158015610643573d6000803e3d6000fd5b505050506040513d602081101561065957600080fd5b50516106965760405162461bcd60e51b8152600401808060200182810382526027815260200180610a1e6027913960400191505060405180910390fd5b876001600160a01b031663a9059cbb88856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156106f657600080fd5b505af115801561070a573d6000803e3d6000fd5b505050506040513d602081101561072057600080fd5b50516105355760405162461bcd60e51b815260040180806020018281038252602e8152602001806109ac602e913960400191505060405180910390fd5b5050979650505050505050565b6002546001600160a01b031633146107c9576040805162461bcd60e51b815260206004820152601a60248201527f4b796265724e6574776f726b3a20756e617574686f72697a6564000000000000604482015290519081900360640190fd5b60408051606081018252600180825260208083019586528284019485526001600160a01b0396909616600090815295869052919094209351845460ff191690151517845591519183019190915551600290910155565b60006020819052908152604090208054600182015460029092015460ff909116919083565b600082610853575060006108a0565b8282028284828161086057fe5b041461089d5760405162461bcd60e51b81526004018080602001828103825260218152602001806109fd6021913960400191505060405180910390fd5b90505b92915050565b600061089d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506000818361096f5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561093457818101518382015260200161091c565b50505050905090810190601f1680156109615780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161097b57fe5b049594505050505056fe4b796265724e6574776f726b3a206e6f7420656e6f75676820574554482070726f76696465644b796265724e6574776f726b3a206e6f7420656e6f7567682057455448207472616e73666572726564206261636b4b796265724e6574776f726b3a204552433230207472616e73666572206661696c6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774b796265724e6574776f726b3a206e6f7420656e6f7567682045524332302070726f7669646564a2646970667358221220737f3f2dc7912f2112cec1491e7c82c19af3b3511ad9f36f706346be8b604ff364736f6c634300060a0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
