{
    "contractName": "ZeroExV2ExchangeWrapper",
    "abi": [
        {
            "constant": true,
            "inputs": [],
            "name": "ZERO_EX_EXCHANGE",
            "outputs": [
                {
                    "name": "",
                    "type": "address"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [],
            "name": "ZERO_EX_TOKEN_PROXY",
            "outputs": [
                {
                    "name": "",
                    "type": "address"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [],
            "name": "ZRX",
            "outputs": [
                {
                    "name": "",
                    "type": "address"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "",
                    "type": "address"
                }
            ],
            "name": "TRUSTED_MSG_SENDER",
            "outputs": [
                {
                    "name": "",
                    "type": "bool"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "name": "zeroExExchange",
                    "type": "address"
                },
                {
                    "name": "zeroExProxy",
                    "type": "address"
                },
                {
                    "name": "zrxToken",
                    "type": "address"
                },
                {
                    "name": "trustedMsgSenders",
                    "type": "address[]"
                }
            ],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "constructor"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "tradeOriginator",
                    "type": "address"
                },
                {
                    "name": "receiver",
                    "type": "address"
                },
                {
                    "name": "makerToken",
                    "type": "address"
                },
                {
                    "name": "takerToken",
                    "type": "address"
                },
                {
                    "name": "requestedFillAmount",
                    "type": "uint256"
                },
                {
                    "name": "orderData",
                    "type": "bytes"
                }
            ],
            "name": "exchange",
            "outputs": [
                {
                    "name": "",
                    "type": "uint256"
                }
            ],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "makerToken",
                    "type": "address"
                },
                {
                    "name": "takerToken",
                    "type": "address"
                },
                {
                    "name": "desiredMakerToken",
                    "type": "uint256"
                },
                {
                    "name": "orderData",
                    "type": "bytes"
                }
            ],
            "name": "getExchangeCost",
            "outputs": [
                {
                    "name": "",
                    "type": "uint256"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "makerToken",
                    "type": "address"
                },
                {
                    "name": "takerToken",
                    "type": "address"
                },
                {
                    "name": "orderData",
                    "type": "bytes"
                }
            ],
            "name": "getMaxMakerAmount",
            "outputs": [
                {
                    "name": "",
                    "type": "uint256"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        }
    ],
    "bytecode": "0x60806040523480156200001157600080fd5b506040516200185f3803806200185f8339810180604052620000379190810190620002e1565b60018054600160a060020a03808716600160a060020a03199283161790925560028054868416908316179055600380549285169290911691909117905560005b8151811015620000d057600160008084848151811015156200009557fe5b602090810291909101810151600160a060020a03168252810191909152604001600020805460ff191691151591909117905560010162000077565b6002546200011b90600160a060020a0316620000f964010000000062000a146200012682021704565b600354600160a060020a0316919064010000000062000a386200012c82021704565b505050505062000463565b60001990565b6040517f095ea7b3000000000000000000000000000000000000000000000000000000008152600160a060020a0384169063095ea7b390620001759085908590600401620003d5565b600060405180830381600087803b1580156200019057600080fd5b505af1158015620001a5573d6000803e3d6000fd5b50505050620001c26200020b640100000000026401000000009004565b151562000206576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001fd90620003f4565b60405180910390fd5b505050565b6000803d80156200022557602081146200022f576200023b565b600191506200023b565b60206000803e60005191505b501515919050565b600062000251825162000454565b9392505050565b6000601f820183136200026a57600080fd5b8151620002816200027b8262000433565b6200040c565b91508181835260208401935060208101905083856020840282011115620002a757600080fd5b60005b83811015620002d75781620002c0888262000243565b8452506020928301929190910190600101620002aa565b5050505092915050565b60008060008060808587031215620002f857600080fd5b600062000306878762000243565b9450506020620003198782880162000243565b93505060406200032c8782880162000243565b92505060608501516001604060020a038111156200034957600080fd5b620003578782880162000258565b91505092959194509250565b6200036e8162000454565b82525050565b602681527f546f6b656e496e74657261637423617070726f76653a20417070726f76616c2060208201527f6661696c65640000000000000000000000000000000000000000000000000000604082015260600190565b6200036e8162000460565b60408101620003e5828562000363565b620002516020830184620003ca565b60208082528101620004068162000374565b92915050565b6040518181016001604060020a03811182821017156200042b57600080fd5b604052919050565b60006001604060020a038211156200044a57600080fd5b5060209081020190565b600160a060020a031690565b90565b6113ec80620004736000396000f3006080604052600436106100825763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416633a8fdd7d811461008757806340876f6e146100bd5780635da270fc146100dd5780637d98ebac146100ff578063d1f37d591461011f578063d40fa8bf14610134578063f37a862314610149575b600080fd5b34801561009357600080fd5b506100a76100a2366004610eb8565b610176565b6040516100b491906112fe565b60405180910390f35b3480156100c957600080fd5b506100a76100d8366004610e50565b6101dd565b3480156100e957600080fd5b506100f261032f565b6040516100b49190611211565b34801561010b57600080fd5b506100a761011a366004610dab565b61034b565b34801561012b57600080fd5b506100f26104e9565b34801561014057600080fd5b506100f2610505565b34801561015557600080fd5b50610169610164366004610d85565b610521565b6040516100b4919061127d565b6000610180610b3f565b6101bd84848080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050508888610536565b90506101d28160a001518260800151876105d2565b979650505050505050565b60006101e7610b3f565b60006101f1610bf9565b600061023087878080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050508a8a610536565b6001546040517fc75e0a8100000000000000000000000000000000000000000000000000000000815291955073ffffffffffffffffffffffffffffffffffffffff169350839063c75e0a819061028a9087906004016112bb565b60606040518083038186803b1580156102a257600080fd5b505afa1580156102b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102da9190810190610f54565b805190925060ff166003146102f25760009450610323565b604082015160a085015161030b9163ffffffff6105f716565b9050610320818560a00151866080015161060e565b94505b50505050949350505050565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b6000610355610b3f565b60606000610361610c19565b61039e87878080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050508b8b610536565b93506103d987878080601f01602080910402602001604051908101604052809392919081815260200183838082843750610630945050505050565b92506103e6848d8a61067d565b60025461040b908a9073ffffffffffffffffffffffffffffffffffffffff168a610725565b6001546040517f64a3bc1500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925082906364a3bc15906104689087908c9088906004016112cc565b608060405180830381600087803b15801561048257600080fd5b505af1158015610496573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104ba9190810190610f36565b602081015190915088146104ca57fe5b6104d98a8c8360000151610725565b519b9a5050505050505050505050565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60035473ffffffffffffffffffffffffffffffffffffffff1681565b60006020819052908152604090205460ff1681565b61053e610b3f565b610546610b3f565b6020850151815260408501516020820152606085015160408201526080850151606082015260a0850151608082015260c085015160a082015260e085015160c082015261010085015160e08201526101208501516101008201526101408501516101208201526105b58461078c565b6101408201526105c48361078c565b610160820152949350505050565b60006105ed6105e7858463ffffffff6107e616565b8461080f565b90505b9392505050565b60008282111561060357fe5b508082035b92915050565b60006105ed83610624868563ffffffff6107e616565b9063ffffffff61084e16565b604080516042808252608082019092526060918291906020820161084080388339505050610160840151602082015261018084015160408201526101829093015160428401525090919050565b6000610692828560a001518660e0015161060e565b90508015156106a05761071f565b3360009081526020819052604090205460ff1615156106f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106eb906112ab565b60405180910390fd5b60035461071f9073ffffffffffffffffffffffffffffffffffffffff1684308463ffffffff61086316565b50505050565b8061074d73ffffffffffffffffffffffffffffffffffffffff8516308563ffffffff61096d16565b1061075757610787565b61078782610763610a14565b73ffffffffffffffffffffffffffffffffffffffff8616919063ffffffff610a3816565b505050565b60408051602480825260608083019093528291600091602082016104808038833950507ff47261b0000000000000000000000000000000000000000000000000000000006020830152506024810194909452509192915050565b60008215156107f757506000610608565b5081810281838281151561080757fe5b041461060857fe5b600081151561081a57fe5b82151561082957506000610608565b6105f0600161084284610624878463ffffffff6105f716565b9063ffffffff610afe16565b6000818381151561085b57fe5b049392505050565b80158061089b57508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b156108a55761071f565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516906323b872dd906108fb9086908690869060040161123a565b600060405180830381600087803b15801561091557600080fd5b505af1158015610929573d6000803e3d6000fd5b50505050610935610b0b565b151561071f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106eb9061128b565b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff85169063dd62ed3e906109c4908690869060040161121f565b60206040518083038186803b1580156109dc57600080fd5b505afa1580156109f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105ed9190810190610f72565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84169063095ea7b390610a8c9085908590600401611262565b600060405180830381600087803b158015610aa657600080fd5b505af1158015610aba573d6000803e3d6000fd5b50505050610ac6610b0b565b1515610787576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106eb9061129b565b8181018281101561060857fe5b6000803d8015610b225760208114610b2b57610b37565b60019150610b37565b60206000803e60005191505b501515919050565b61018060405190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160608152602001606081525090565b604080516060810182526000808252602082018190529181019190915290565b608060405190810160405280600081526020016000815260200160008152602001600081525090565b60006105f08235611337565b60006105f08251611355565b600080601f83018413610c6c57600080fd5b50813567ffffffffffffffff811115610c8457600080fd5b602083019150836001820283011115610c9c57600080fd5b9250929050565b600060808284031215610cb557600080fd5b610cbf608061130c565b90506000610ccd8484610c4e565b8252506020610cde84848301610c4e565b6020830152506040610cf284828501610c4e565b6040830152506060610d0684828501610c4e565b60608301525092915050565b600060608284031215610d2457600080fd5b610d2e606061130c565b90506000610d3c8484610d79565b8252506020610d4d84848301610c4e565b6020830152506040610d6184828501610c4e565b60408301525092915050565b60006105f08235611355565b60006105f08251611358565b600060208284031215610d9757600080fd5b6000610da38484610c42565b949350505050565b600080600080600080600060c0888a031215610dc657600080fd5b6000610dd28a8a610c42565b9750506020610de38a828b01610c42565b9650506040610df48a828b01610c42565b9550506060610e058a828b01610c42565b9450506080610e168a828b01610d6d565b93505060a088013567ffffffffffffffff811115610e3357600080fd5b610e3f8a828b01610c5a565b925092505092959891949750929550565b60008060008060608587031215610e6657600080fd5b6000610e728787610c42565b9450506020610e8387828801610c42565b935050604085013567ffffffffffffffff811115610ea057600080fd5b610eac87828801610c5a565b95989497509550505050565b600080600080600060808688031215610ed057600080fd5b6000610edc8888610c42565b9550506020610eed88828901610c42565b9450506040610efe88828901610d6d565b935050606086013567ffffffffffffffff811115610f1b57600080fd5b610f2788828901610c5a565b92509250509295509295909350565b600060808284031215610f4857600080fd5b6000610da38484610ca3565b600060608284031215610f6657600080fd5b6000610da38484610d12565b600060208284031215610f8457600080fd5b6000610da38484610c4e565b610f9981611337565b82525050565b610f9981611350565b6000610fb382611333565b808452610fc781602086016020860161135e565b610fd08161138a565b9093016020019392505050565b602f81527f546f6b656e496e746572616374237472616e7366657246726f6d3a205472616e60208201527f7366657246726f6d206661696c65640000000000000000000000000000000000604082015260600190565b602681527f546f6b656e496e74657261637423617070726f76653a20417070726f76616c2060208201527f6661696c65640000000000000000000000000000000000000000000000000000604082015260600190565b605881527f5a65726f4578563245786368616e676557726170706572237472616e7366657260208201527f54616b65724665653a204f6e6c7920747275737465642073656e64657273206360408201527f616e206469637461746520746865206665652070617965720000000000000000606082015260800190565b805160009061018084019061111a8582610f90565b50602083015161112d6020860182610f90565b5060408301516111406040860182610f90565b5060608301516111536060860182610f90565b5060808301516111666080860182611208565b5060a083015161117960a0860182611208565b5060c083015161118c60c0860182611208565b5060e083015161119f60e0860182611208565b506101008301516111b4610100860182611208565b506101208301516111c9610120860182611208565b506101408301518482036101408601526111e38282610fa8565b9150506101608301518482036101608601526111ff8282610fa8565b95945050505050565b610f9981611355565b602081016106088284610f90565b6040810161122d8285610f90565b6105f06020830184610f90565b606081016112488286610f90565b6112556020830185610f90565b610da36040830184611208565b604081016112708285610f90565b6105f06020830184611208565b602081016106088284610f9f565b6020808252810161060881610fdd565b6020808252810161060881611033565b6020808252810161060881611089565b602080825281016105f08184611105565b606080825281016112dd8186611105565b90506112ec6020830185611208565b81810360408301526111ff8184610fa8565b602081016106088284611208565b60405181810167ffffffffffffffff8111828210171561132b57600080fd5b604052919050565b5190565b73ffffffffffffffffffffffffffffffffffffffff1690565b151590565b90565b60ff1690565b60005b83811015611379578181015183820152602001611361565b8381111561071f5750506000910152565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016905600a265627a7a723058200c10a2e442e6cd72a1d301f6bec2480d95d2acb4531f9574f17173b87161e2d16c6578706572696d656e74616cf50037",
    "networks": {
        "1": {
            "links": {},
            "address": "0xa26d16a21805b14b2977555ffdea34e5e6fc43ba",
            "transactionHash": "0x5e4d5b26b157167840fc3123ea0a0840e29b7d2446b6f5370556802e11ec505b"
        },
        "42": {
            "links": {},
            "address": "0x94995fb8dd3d49731b6b5a84a2c10ae2901a5f9d",
            "transactionHash": "0x8a906360b1ce6be4cf29c24e58da0e7a0c2eb37b00191726f1f89c2e3b786571"
        },
        "1212": {
            "links": {},
            "address": "0xddb64fe46a91d46ee29420539fc25fd07c5fea3e",
            "transactionHash": "0x759c9ae7294f5fa6a4a002152f8ed99c3de9ea8473ddb91cec40e86a0696f870"
        }
    },
    "schemaVersion": "2.0.1"
}