{ "schemaVersion": "2.0.0", "contractName": "IERC20BridgeSampler", "compilerOutput": { "abi": [ { "constant": true, "inputs": [{ "internalType": "bytes[]", "name": "callDatas", "type": "bytes[]" }], "name": "batchCall", "outputs": [{ "internalType": "bytes[]", "name": "callResults", "type": "bytes[]" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "registryAddress", "type": "address" }, { "internalType": "address", "name": "takerToken", "type": "address" }, { "internalType": "address", "name": "makerToken", "type": "address" } ], "name": "getLiquidityProviderFromRegistry", "outputs": [{ "internalType": "address", "name": "providerAddress", "type": "address" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "components": [ { "internalType": "address", "name": "makerAddress", "type": "address" }, { "internalType": "address", "name": "takerAddress", "type": "address" }, { "internalType": "address", "name": "feeRecipientAddress", "type": "address" }, { "internalType": "address", "name": "senderAddress", "type": "address" }, { "internalType": "uint256", "name": "makerAssetAmount", "type": "uint256" }, { "internalType": "uint256", "name": "takerAssetAmount", "type": "uint256" }, { "internalType": "uint256", "name": "makerFee", "type": "uint256" }, { "internalType": "uint256", "name": "takerFee", "type": "uint256" }, { "internalType": "uint256", "name": "expirationTimeSeconds", "type": "uint256" }, { "internalType": "uint256", "name": "salt", "type": "uint256" }, { "internalType": "bytes", "name": "makerAssetData", "type": "bytes" }, { "internalType": "bytes", "name": "takerAssetData", "type": "bytes" }, { "internalType": "bytes", "name": "makerFeeAssetData", "type": "bytes" }, { "internalType": "bytes", "name": "takerFeeAssetData", "type": "bytes" } ], "internalType": "struct LibOrder.Order[]", "name": "orders", "type": "tuple[]" }, { "internalType": "bytes[]", "name": "orderSignatures", "type": "bytes[]" } ], "name": "getOrderFillableMakerAssetAmounts", "outputs": [ { "internalType": "uint256[]", "name": "orderFillableMakerAssetAmounts", "type": "uint256[]" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "components": [ { "internalType": "address", "name": "makerAddress", "type": "address" }, { "internalType": "address", "name": "takerAddress", "type": "address" }, { "internalType": "address", "name": "feeRecipientAddress", "type": "address" }, { "internalType": "address", "name": "senderAddress", "type": "address" }, { "internalType": "uint256", "name": "makerAssetAmount", "type": "uint256" }, { "internalType": "uint256", "name": "takerAssetAmount", "type": "uint256" }, { "internalType": "uint256", "name": "makerFee", "type": "uint256" }, { "internalType": "uint256", "name": "takerFee", "type": "uint256" }, { "internalType": "uint256", "name": "expirationTimeSeconds", "type": "uint256" }, { "internalType": "uint256", "name": "salt", "type": "uint256" }, { "internalType": "bytes", "name": "makerAssetData", "type": "bytes" }, { "internalType": "bytes", "name": "takerAssetData", "type": "bytes" }, { "internalType": "bytes", "name": "makerFeeAssetData", "type": "bytes" }, { "internalType": "bytes", "name": "takerFeeAssetData", "type": "bytes" } ], "internalType": "struct LibOrder.Order[]", "name": "orders", "type": "tuple[]" }, { "internalType": "bytes[]", "name": "orderSignatures", "type": "bytes[]" } ], "name": "getOrderFillableTakerAssetAmounts", "outputs": [ { "internalType": "uint256[]", "name": "orderFillableTakerAssetAmounts", "type": "uint256[]" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "takerToken", "type": "address" }, { "internalType": "address", "name": "makerToken", "type": "address" }, { "internalType": "uint256[]", "name": "makerTokenAmounts", "type": "uint256[]" } ], "name": "sampleBuysFromEth2Dai", "outputs": [{ "internalType": "uint256[]", "name": "takerTokenAmounts", "type": "uint256[]" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "registryAddress", "type": "address" }, { "internalType": "address", "name": "takerToken", "type": "address" }, { "internalType": "address", "name": "makerToken", "type": "address" }, { "internalType": "uint256[]", "name": "makerTokenAmounts", "type": "uint256[]" } ], "name": "sampleBuysFromLiquidityProviderRegistry", "outputs": [{ "internalType": "uint256[]", "name": "takerTokenAmounts", "type": "uint256[]" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "takerToken", "type": "address" }, { "internalType": "address", "name": "makerToken", "type": "address" }, { "internalType": "uint256[]", "name": "makerTokenAmounts", "type": "uint256[]" } ], "name": "sampleBuysFromUniswap", "outputs": [{ "internalType": "uint256[]", "name": "takerTokenAmounts", "type": "uint256[]" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "curveAddress", "type": "address" }, { "internalType": "int128", "name": "fromTokenIdx", "type": "int128" }, { "internalType": "int128", "name": "toTokenIdx", "type": "int128" }, { "internalType": "uint256[]", "name": "takerTokenAmounts", "type": "uint256[]" } ], "name": "sampleSellsFromCurve", "outputs": [{ "internalType": "uint256[]", "name": "makerTokenAmounts", "type": "uint256[]" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "takerToken", "type": "address" }, { "internalType": "address", "name": "makerToken", "type": "address" }, { "internalType": "uint256[]", "name": "takerTokenAmounts", "type": "uint256[]" } ], "name": "sampleSellsFromEth2Dai", "outputs": [{ "internalType": "uint256[]", "name": "makerTokenAmounts", "type": "uint256[]" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "takerToken", "type": "address" }, { "internalType": "address", "name": "makerToken", "type": "address" }, { "internalType": "uint256[]", "name": "takerTokenAmounts", "type": "uint256[]" } ], "name": "sampleSellsFromKyberNetwork", "outputs": [{ "internalType": "uint256[]", "name": "makerTokenAmounts", "type": "uint256[]" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "registryAddress", "type": "address" }, { "internalType": "address", "name": "takerToken", "type": "address" }, { "internalType": "address", "name": "makerToken", "type": "address" }, { "internalType": "uint256[]", "name": "takerTokenAmounts", "type": "uint256[]" } ], "name": "sampleSellsFromLiquidityProviderRegistry", "outputs": [{ "internalType": "uint256[]", "name": "makerTokenAmounts", "type": "uint256[]" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "takerToken", "type": "address" }, { "internalType": "address", "name": "makerToken", "type": "address" }, { "internalType": "uint256[]", "name": "takerTokenAmounts", "type": "uint256[]" } ], "name": "sampleSellsFromUniswap", "outputs": [{ "internalType": "uint256[]", "name": "makerTokenAmounts", "type": "uint256[]" }], "payable": false, "stateMutability": "view", "type": "function" } ], "devdoc": { "methods": { "batchCall(bytes[])": { "details": "Call multiple public functions on this contract in a single transaction.", "params": { "callDatas": "ABI-encoded call data for each function call." }, "return": "callResults ABI-encoded results data for each call." }, "getLiquidityProviderFromRegistry(address,address,address)": { "details": "Returns the address of a liquidity provider for the given market (takerToken, makerToken), from a registry of liquidity providers. Returns address(0) if no such provider exists in the registry.", "params": { "makerToken": "Maker asset managed by liquidity provider.", "takerToken": "Taker asset managed by liquidity provider." }, "return": "providerAddress Address of the liquidity provider." }, "getOrderFillableMakerAssetAmounts((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[])": { "details": "Queries the fillable maker asset amounts of native orders.", "params": { "orderSignatures": "Signatures for each respective order in `orders`.", "orders": "Native orders to query." }, "return": "orderFillableMakerAssetAmounts How much maker asset can be filled by each order in `orders`." }, "getOrderFillableTakerAssetAmounts((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[])": { "details": "Queries the fillable taker asset amounts of native orders.", "params": { "orderSignatures": "Signatures for each respective order in `orders`.", "orders": "Native orders to query." }, "return": "orderFillableTakerAssetAmounts How much taker asset can be filled by each order in `orders`." }, "sampleBuysFromEth2Dai(address,address,uint256[])": { "details": "Sample buy quotes from Eth2Dai/Oasis.", "params": { "makerToken": "Address of the maker token (what to buy).", "takerToken": "Address of the taker token (what to sell).", "takerTokenAmounts": "Maker token sell amount for each sample." }, "return": "takerTokenAmounts Taker amounts sold at each maker token amount." }, "sampleBuysFromLiquidityProviderRegistry(address,address,address,uint256[])": { "details": "Sample buy quotes from an arbitrary on-chain liquidity provider.", "params": { "makerToken": "Address of the maker token (what to buy).", "makerTokenAmounts": "Maker token buy amount for each sample.", "registryAddress": "Address of the liquidity provider registry contract.", "takerToken": "Address of the taker token (what to sell)." }, "return": "takerTokenAmounts Taker amounts sold at each maker token amount." }, "sampleBuysFromUniswap(address,address,uint256[])": { "details": "Sample buy quotes from Uniswap.", "params": { "makerToken": "Address of the maker token (what to buy).", "makerTokenAmounts": "Maker token sell amount for each sample.", "takerToken": "Address of the taker token (what to sell)." }, "return": "takerTokenAmounts Taker amounts sold at each maker token amount." }, "sampleSellsFromCurve(address,int128,int128,uint256[])": { "details": "Sample sell quotes from Curve.", "params": { "curveAddress": "Address of the Curve contract.", "fromTokenIdx": "Index of the taker token (what to sell).", "takerTokenAmounts": "Taker token sell amount for each sample.", "toTokenIdx": "Index of the maker token (what to buy)." }, "return": "makerTokenAmounts Maker amounts bought at each taker token amount." }, "sampleSellsFromEth2Dai(address,address,uint256[])": { "details": "Sample sell quotes from Eth2Dai/Oasis.", "params": { "makerToken": "Address of the maker token (what to buy).", "takerToken": "Address of the taker token (what to sell).", "takerTokenAmounts": "Taker token sell amount for each sample." }, "return": "makerTokenAmounts Maker amounts bought at each taker token amount." }, "sampleSellsFromKyberNetwork(address,address,uint256[])": { "details": "Sample sell quotes from Kyber.", "params": { "makerToken": "Address of the maker token (what to buy).", "takerToken": "Address of the taker token (what to sell).", "takerTokenAmounts": "Taker token sell amount for each sample." }, "return": "makerTokenAmounts Maker amounts bought at each taker token amount." }, "sampleSellsFromLiquidityProviderRegistry(address,address,address,uint256[])": { "details": "Sample sell quotes from an arbitrary on-chain liquidity provider.", "params": { "makerToken": "Address of the maker token (what to buy).", "registryAddress": "Address of the liquidity provider registry contract.", "takerToken": "Address of the taker token (what to sell).", "takerTokenAmounts": "Taker token sell amount for each sample." }, "return": "makerTokenAmounts Maker amounts bought at each taker token amount." }, "sampleSellsFromUniswap(address,address,uint256[])": { "details": "Sample sell quotes from Uniswap.", "params": { "makerToken": "Address of the maker token (what to buy).", "takerToken": "Address of the taker token (what to sell).", "takerTokenAmounts": "Taker token sell amount for each sample." }, "return": "makerTokenAmounts Maker amounts bought at each taker token amount." } } }, "evm": { "bytecode": { "object": "0x" }, "deployedBytecode": { "object": "0x" } } }, "compiler": { "name": "solc", "version": "soljson-v0.5.16+commit.9c3226ce.js", "settings": { "optimizer": { "enabled": true, "runs": 1000000, "details": { "yul": true, "deduplicate": true, "cse": true, "constantOptimizer": true } }, "outputSelection": { "*": { "*": [ "abi", "devdoc", "evm.bytecode.object", "evm.bytecode.sourceMap", "evm.deployedBytecode.object", "evm.deployedBytecode.sourceMap" ] } }, "evmVersion": "istanbul" } }, "chains": {} }