{
    "contractName": "Margin",
    "abi": [
        {
            "constant": true,
            "inputs": [
                {
                    "name": "positionId",
                    "type": "bytes32"
                }
            ],
            "name": "getPositionPrincipal",
            "outputs": [
                {
                    "name": "",
                    "type": "uint256"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "positionId",
                    "type": "bytes32"
                }
            ],
            "name": "getPosition",
            "outputs": [
                {
                    "name": "",
                    "type": "address[4]"
                },
                {
                    "name": "",
                    "type": "uint256[2]"
                },
                {
                    "name": "",
                    "type": "uint32[6]"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "positionId",
                    "type": "bytes32"
                }
            ],
            "name": "getPositionStartTimestamp",
            "outputs": [
                {
                    "name": "",
                    "type": "uint32"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "positionId",
                    "type": "bytes32"
                }
            ],
            "name": "getPositionLender",
            "outputs": [
                {
                    "name": "",
                    "type": "address"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "positionId",
                    "type": "bytes32"
                }
            ],
            "name": "getPositionRequiredDeposit",
            "outputs": [
                {
                    "name": "",
                    "type": "uint256"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "loanHash",
                    "type": "bytes32"
                }
            ],
            "name": "getLoanFilledAmount",
            "outputs": [
                {
                    "name": "",
                    "type": "uint256"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "positionId",
                    "type": "bytes32"
                }
            ],
            "name": "getPositionInterestRate",
            "outputs": [
                {
                    "name": "",
                    "type": "uint256"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "newState",
                    "type": "uint8"
                }
            ],
            "name": "setOperationState",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "positionId",
                    "type": "bytes32"
                }
            ],
            "name": "getPositionBalance",
            "outputs": [
                {
                    "name": "",
                    "type": "uint256"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "positionId",
                    "type": "bytes32"
                }
            ],
            "name": "getPositionCallTimestamp",
            "outputs": [
                {
                    "name": "",
                    "type": "uint32"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "loanHash",
                    "type": "bytes32"
                }
            ],
            "name": "getLoanCanceledAmount",
            "outputs": [
                {
                    "name": "",
                    "type": "uint256"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "positionId",
                    "type": "bytes32"
                }
            ],
            "name": "getPositioninterestPeriod",
            "outputs": [
                {
                    "name": "",
                    "type": "uint32"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "positionId",
                    "type": "bytes32"
                }
            ],
            "name": "isPositionClosed",
            "outputs": [
                {
                    "name": "",
                    "type": "bool"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "positionId",
                    "type": "bytes32"
                }
            ],
            "name": "getPositionOwedToken",
            "outputs": [
                {
                    "name": "",
                    "type": "address"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "positionId",
                    "type": "bytes32"
                }
            ],
            "name": "containsPosition",
            "outputs": [
                {
                    "name": "",
                    "type": "bool"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "positionId",
                    "type": "bytes32"
                }
            ],
            "name": "isPositionCalled",
            "outputs": [
                {
                    "name": "",
                    "type": "bool"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [],
            "name": "renounceOwnership",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [],
            "name": "operationState",
            "outputs": [
                {
                    "name": "",
                    "type": "uint8"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "positionId",
                    "type": "bytes32"
                }
            ],
            "name": "getPositionMaxDuration",
            "outputs": [
                {
                    "name": "",
                    "type": "uint32"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [],
            "name": "owner",
            "outputs": [
                {
                    "name": "",
                    "type": "address"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "positionId",
                    "type": "bytes32"
                }
            ],
            "name": "getTimeUntilInterestIncrease",
            "outputs": [
                {
                    "name": "",
                    "type": "uint256"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "positionId",
                    "type": "bytes32"
                }
            ],
            "name": "getPositionOwedAmount",
            "outputs": [
                {
                    "name": "",
                    "type": "uint256"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "loanHash",
                    "type": "bytes32"
                }
            ],
            "name": "getLoanUnavailableAmount",
            "outputs": [
                {
                    "name": "",
                    "type": "uint256"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "positionId",
                    "type": "bytes32"
                },
                {
                    "name": "principalToClose",
                    "type": "uint256"
                },
                {
                    "name": "timestamp",
                    "type": "uint32"
                }
            ],
            "name": "getPositionOwedAmountAtTime",
            "outputs": [
                {
                    "name": "",
                    "type": "uint256"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "positionId",
                    "type": "bytes32"
                }
            ],
            "name": "getTotalOwedTokenRepaidToLender",
            "outputs": [
                {
                    "name": "",
                    "type": "uint256"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "positionId",
                    "type": "bytes32"
                },
                {
                    "name": "principalToAdd",
                    "type": "uint256"
                },
                {
                    "name": "timestamp",
                    "type": "uint32"
                }
            ],
            "name": "getLenderAmountForIncreasePositionAtTime",
            "outputs": [
                {
                    "name": "",
                    "type": "uint256"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "positionId",
                    "type": "bytes32"
                }
            ],
            "name": "getPositionHeldToken",
            "outputs": [
                {
                    "name": "",
                    "type": "address"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "positionId",
                    "type": "bytes32"
                }
            ],
            "name": "getPositionCallTimeLimit",
            "outputs": [
                {
                    "name": "",
                    "type": "uint32"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "positionId",
                    "type": "bytes32"
                }
            ],
            "name": "getPositionOwner",
            "outputs": [
                {
                    "name": "",
                    "type": "address"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_newOwner",
                    "type": "address"
                }
            ],
            "name": "transferOwnership",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "name": "vault",
                    "type": "address"
                },
                {
                    "name": "proxy",
                    "type": "address"
                }
            ],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "constructor"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "name": "from",
                    "type": "uint8"
                },
                {
                    "indexed": false,
                    "name": "to",
                    "type": "uint8"
                }
            ],
            "name": "OperationStateChanged",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "name": "previousOwner",
                    "type": "address"
                }
            ],
            "name": "OwnershipRenounced",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "name": "previousOwner",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "name": "newOwner",
                    "type": "address"
                }
            ],
            "name": "OwnershipTransferred",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "name": "positionId",
                    "type": "bytes32"
                },
                {
                    "indexed": true,
                    "name": "trader",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "name": "lender",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "name": "loanHash",
                    "type": "bytes32"
                },
                {
                    "indexed": false,
                    "name": "owedToken",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "name": "heldToken",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "name": "loanFeeRecipient",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "name": "principal",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "name": "heldTokenFromSell",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "name": "depositAmount",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "name": "interestRate",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "name": "callTimeLimit",
                    "type": "uint32"
                },
                {
                    "indexed": false,
                    "name": "maxDuration",
                    "type": "uint32"
                },
                {
                    "indexed": false,
                    "name": "depositInHeldToken",
                    "type": "bool"
                }
            ],
            "name": "PositionOpened",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "name": "positionId",
                    "type": "bytes32"
                },
                {
                    "indexed": true,
                    "name": "trader",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "name": "lender",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "name": "positionOwner",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "name": "loanOwner",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "name": "loanHash",
                    "type": "bytes32"
                },
                {
                    "indexed": false,
                    "name": "loanFeeRecipient",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "name": "amountBorrowed",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "name": "principalAdded",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "name": "heldTokenFromSell",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "name": "depositAmount",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "name": "depositInHeldToken",
                    "type": "bool"
                }
            ],
            "name": "PositionIncreased",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "name": "positionId",
                    "type": "bytes32"
                },
                {
                    "indexed": true,
                    "name": "closer",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "name": "payoutRecipient",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "name": "closeAmount",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "name": "remainingAmount",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "name": "owedTokenPaidToLender",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "name": "payoutAmount",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "name": "buybackCostInHeldToken",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "name": "payoutInHeldToken",
                    "type": "bool"
                }
            ],
            "name": "PositionClosed",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "name": "positionId",
                    "type": "bytes32"
                },
                {
                    "indexed": true,
                    "name": "recipient",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "name": "amount",
                    "type": "uint256"
                }
            ],
            "name": "CollateralForceRecovered",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "name": "positionId",
                    "type": "bytes32"
                },
                {
                    "indexed": true,
                    "name": "lender",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "name": "owner",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "name": "requiredDeposit",
                    "type": "uint256"
                }
            ],
            "name": "MarginCallInitiated",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "name": "positionId",
                    "type": "bytes32"
                },
                {
                    "indexed": true,
                    "name": "lender",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "name": "owner",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "name": "depositAmount",
                    "type": "uint256"
                }
            ],
            "name": "MarginCallCanceled",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "name": "loanHash",
                    "type": "bytes32"
                },
                {
                    "indexed": true,
                    "name": "payer",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "name": "feeRecipient",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "name": "cancelAmount",
                    "type": "uint256"
                }
            ],
            "name": "LoanOfferingCanceled",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "name": "positionId",
                    "type": "bytes32"
                },
                {
                    "indexed": false,
                    "name": "amount",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "name": "depositor",
                    "type": "address"
                }
            ],
            "name": "AdditionalCollateralDeposited",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "name": "positionId",
                    "type": "bytes32"
                },
                {
                    "indexed": true,
                    "name": "from",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "name": "to",
                    "type": "address"
                }
            ],
            "name": "LoanTransferred",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "name": "positionId",
                    "type": "bytes32"
                },
                {
                    "indexed": true,
                    "name": "from",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "name": "to",
                    "type": "address"
                }
            ],
            "name": "PositionTransferred",
            "type": "event"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "addresses",
                    "type": "address[11]"
                },
                {
                    "name": "values256",
                    "type": "uint256[10]"
                },
                {
                    "name": "values32",
                    "type": "uint32[4]"
                },
                {
                    "name": "depositInHeldToken",
                    "type": "bool"
                },
                {
                    "name": "signature",
                    "type": "bytes"
                },
                {
                    "name": "order",
                    "type": "bytes"
                }
            ],
            "name": "openPosition",
            "outputs": [
                {
                    "name": "",
                    "type": "bytes32"
                }
            ],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "addresses",
                    "type": "address[4]"
                },
                {
                    "name": "values256",
                    "type": "uint256[3]"
                },
                {
                    "name": "values32",
                    "type": "uint32[4]"
                }
            ],
            "name": "openWithoutCounterparty",
            "outputs": [
                {
                    "name": "",
                    "type": "bytes32"
                }
            ],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "positionId",
                    "type": "bytes32"
                },
                {
                    "name": "addresses",
                    "type": "address[7]"
                },
                {
                    "name": "values256",
                    "type": "uint256[8]"
                },
                {
                    "name": "values32",
                    "type": "uint32[2]"
                },
                {
                    "name": "depositInHeldToken",
                    "type": "bool"
                },
                {
                    "name": "signature",
                    "type": "bytes"
                },
                {
                    "name": "order",
                    "type": "bytes"
                }
            ],
            "name": "increasePosition",
            "outputs": [
                {
                    "name": "",
                    "type": "uint256"
                }
            ],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "positionId",
                    "type": "bytes32"
                },
                {
                    "name": "principalToAdd",
                    "type": "uint256"
                }
            ],
            "name": "increaseWithoutCounterparty",
            "outputs": [
                {
                    "name": "",
                    "type": "uint256"
                }
            ],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "positionId",
                    "type": "bytes32"
                },
                {
                    "name": "requestedCloseAmount",
                    "type": "uint256"
                },
                {
                    "name": "payoutRecipient",
                    "type": "address"
                },
                {
                    "name": "exchangeWrapper",
                    "type": "address"
                },
                {
                    "name": "payoutInHeldToken",
                    "type": "bool"
                },
                {
                    "name": "order",
                    "type": "bytes"
                }
            ],
            "name": "closePosition",
            "outputs": [
                {
                    "name": "",
                    "type": "uint256"
                },
                {
                    "name": "",
                    "type": "uint256"
                },
                {
                    "name": "",
                    "type": "uint256"
                }
            ],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "positionId",
                    "type": "bytes32"
                },
                {
                    "name": "requestedCloseAmount",
                    "type": "uint256"
                },
                {
                    "name": "payoutRecipient",
                    "type": "address"
                }
            ],
            "name": "closePositionDirectly",
            "outputs": [
                {
                    "name": "",
                    "type": "uint256"
                },
                {
                    "name": "",
                    "type": "uint256"
                },
                {
                    "name": "",
                    "type": "uint256"
                }
            ],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "positionId",
                    "type": "bytes32"
                },
                {
                    "name": "requestedCloseAmount",
                    "type": "uint256"
                },
                {
                    "name": "payoutRecipient",
                    "type": "address"
                }
            ],
            "name": "closeWithoutCounterparty",
            "outputs": [
                {
                    "name": "",
                    "type": "uint256"
                },
                {
                    "name": "",
                    "type": "uint256"
                }
            ],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "positionId",
                    "type": "bytes32"
                },
                {
                    "name": "requiredDeposit",
                    "type": "uint256"
                }
            ],
            "name": "marginCall",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "positionId",
                    "type": "bytes32"
                }
            ],
            "name": "cancelMarginCall",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "positionId",
                    "type": "bytes32"
                },
                {
                    "name": "recipient",
                    "type": "address"
                }
            ],
            "name": "forceRecoverCollateral",
            "outputs": [
                {
                    "name": "",
                    "type": "uint256"
                }
            ],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "positionId",
                    "type": "bytes32"
                },
                {
                    "name": "depositAmount",
                    "type": "uint256"
                }
            ],
            "name": "depositCollateral",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "addresses",
                    "type": "address[9]"
                },
                {
                    "name": "values256",
                    "type": "uint256[7]"
                },
                {
                    "name": "values32",
                    "type": "uint32[4]"
                },
                {
                    "name": "cancelAmount",
                    "type": "uint256"
                }
            ],
            "name": "cancelLoanOffering",
            "outputs": [
                {
                    "name": "",
                    "type": "uint256"
                }
            ],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "positionId",
                    "type": "bytes32"
                },
                {
                    "name": "who",
                    "type": "address"
                }
            ],
            "name": "transferLoan",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "positionId",
                    "type": "bytes32"
                },
                {
                    "name": "who",
                    "type": "address"
                }
            ],
            "name": "transferPosition",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [],
            "name": "getVaultAddress",
            "outputs": [
                {
                    "name": "",
                    "type": "address"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [],
            "name": "getTokenProxyAddress",
            "outputs": [
                {
                    "name": "",
                    "type": "address"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        }
    ],
    "bytecode": "0x6080604052600160005534801561001557600080fd5b5060405160408061311e83398101604081815282516020938401516008805460a060020a60ff0219600160a060020a0319918216331716909155838501909352600160a060020a0391821680855291169390920183905260018054821690921790915560028054909116909117905561308b806100936000396000f30060806040526004361061022f5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630cb812d381146102345780630de2b2d8146102615780630e8a4ac71461029d5780631445c6da146102b55780631928b3cb146102f857806326ad8d1b146103a05780632b4d7c3e146103d15780632d7af0f41461041257806330bd60ef14610445578063353712181461046057806335ed548f146104b2578063439be05c146104ca5780634f77feec146104e2578063539f70d8146104fa57806353f65cf71461051557806354d798681461054657806356a24be01461055e578063592572e2146105765780635f9209ad1461058e578063640075f3146105a6578063655c737c146105d257806365cacaa4146105ea57806369d565a9146105ff5780636d8ab1241461064c5780636e0cd41514610664578063715018a61461067c57806372bedcee146106915780638ccb4daf146106bc5780638da5cb5b146106d45780638f368359146106e957806394313c5b1461070157806394930138146107195780639aa7452514610731578063a633f61f1461074c578063b652c82214610770578063bb39c85f146107a1578063bc6d80fa146107b9578063c1de9ef8146107dd578063ce13bfb7146107f5578063dea9b46414610816578063e98ae33914610831578063ef339fc414610849578063f0d307861461085e578063f172f58f14610876578063f2d7f6371461088e578063f2fde38b146108de575b600080fd5b34801561024057600080fd5b5061024f6004608460e461090c565b60408051918252519081900360200190f35b34801561026d57600080fd5b5061024f60046101646102a461032435151561034435602481810191860135906103643590810190870135610b2e565b3480156102a957600080fd5b5061024f600435610da9565b3480156102c157600080fd5b5061024f60048035906024906101049061020490610244351515906102643580860191908101359061028435808801910135610dbe565b34801561030457600080fd5b50610310600435611043565b6040518084608080838360005b8381101561033557818101518382015260200161031d565b5050505090500183600260200280838360005b83811015610360578181015183820152602001610348565b5050505090500182600660200280838360005b8381101561038b578181015183820152602001610373565b50505050905001935050505060405180910390f35b3480156103ac57600080fd5b506103b8600435611166565b6040805163ffffffff9092168252519081900360200190f35b3480156103dd57600080fd5b506103e9600435611189565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561041e57600080fd5b5061044360043573ffffffffffffffffffffffffffffffffffffffff602435166111b4565b005b34801561045157600080fd5b506104436004356024356112db565b34801561046c57600080fd5b5061049460043560243573ffffffffffffffffffffffffffffffffffffffff6044351661135e565b60408051938452602084019290925282820152519081900360600190f35b3480156104be57600080fd5b5061024f60043561154c565b3480156104d657600080fd5b5061024f600435611562565b3480156104ee57600080fd5b5061024f600435611574565b34801561050657600080fd5b5061044360ff600435166115a3565b34801561052157600080fd5b5061024f60043573ffffffffffffffffffffffffffffffffffffffff6024351661174e565b34801561055257600080fd5b5061024f600435611890565b34801561056a57600080fd5b506103b86004356118a3565b34801561058257600080fd5b5061024f6004356118ca565b34801561059a57600080fd5b506103b86004356118dc565b3480156105b257600080fd5b506105be60043561190f565b604080519115158252519081900360200190f35b3480156105de57600080fd5b506103e9600435611924565b3480156105f657600080fd5b506103e961194c565b34801561060b57600080fd5b5061063360043560243573ffffffffffffffffffffffffffffffffffffffff60443516611968565b6040805192835260208301919091528051918290030190f35b34801561065857600080fd5b506105be600435611bc0565b34801561067057600080fd5b506105be600435611bcd565b34801561068857600080fd5b50610443611bf5565b34801561069d57600080fd5b506106a6611c88565b6040805160ff9092168252519081900360200190f35b3480156106c857600080fd5b506103b8600435611ca9565b3480156106e057600080fd5b506103e9611cd4565b3480156106f557600080fd5b5061024f600435611cf0565b34801561070d57600080fd5b5061024f600435611d71565b34801561072557600080fd5b5061024f600435611d97565b34801561073d57600080fd5b5061024f600435602435611da4565b34801561075857600080fd5b5061024f60043560243563ffffffff60443516611f03565b34801561077c57600080fd5b5061044360043573ffffffffffffffffffffffffffffffffffffffff60243516611fff565b3480156107ad57600080fd5b5061024f600435612097565b3480156107c557600080fd5b5061024f60043560243563ffffffff604435166120a9565b3480156107e957600080fd5b506103e960043561219c565b34801561080157600080fd5b5061024f6004610124610204610284356121c7565b34801561082257600080fd5b50610443600435602435612422565b34801561083d57600080fd5b5061044360043561257b565b34801561085557600080fd5b506103e961275b565b34801561086a57600080fd5b506103b8600435612777565b34801561088257600080fd5b506103e9600435612792565b34801561089a57600080fd5b506104946004803590602480359173ffffffffffffffffffffffffffffffffffffffff6044358116926064359091169160843515159160a4359081019101356127bd565b3480156108ea57600080fd5b5061044373ffffffffffffffffffffffffffffffffffffffff60043516612aae565b60085460009074010000000000000000000000000000000000000000900460ff16156109e557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f4d617267696e41646d696e236f6e6c795768696c654f7065726174696f6e616c60448201527f3a2043616e206f6e6c792063616c6c207768696c65206f7065726174696f6e6160648201527f6c00000000000000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b600080546001908101918290556040517f421a539c0000000000000000000000000000000000000000000000000000000081526004810182815273__OpenWithoutCounterpartyImpl___________9263421a539c92909189918991899160240184608080828437909101905083606080828437909101905082608080828437820191505094505050505060206040518083038186803b158015610a8857600080fd5b505af4158015610a9c573d6000803e3d6000fd5b505050506040513d6020811015610ab257600080fd5b505191506000548114610b2657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f5265656e7472616e637920636865636b206661696c7572650000000000000000604482015290519081900360640190fd5b509392505050565b60085460009074010000000000000000000000000000000000000000900460ff1615610c0757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f4d617267696e41646d696e236f6e6c795768696c654f7065726174696f6e616c60448201527f3a2043616e206f6e6c792063616c6c207768696c65206f7065726174696f6e6160648201527f6c00000000000000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b6000805460010190508060008190555073__OpenPositionImpl______________________63840f71d660018c8c8c8c8c8c8c8c6040518a63ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808a815260200189600b6020028082843790910190508861014080828437909101905087608080828437820191505086151515158152602001806020018060200183810383528787828181526020019250808284379091018481038352858152602001905085858082843782019150509b50505050505050505050505060206040518083038186803b158015610cfe57600080fd5b505af4158015610d12573d6000803e3d6000fd5b505050506040513d6020811015610d2857600080fd5b505191506000548114610d9c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f5265656e7472616e637920636865636b206661696c7572650000000000000000604482015290519081900360640190fd5b5098975050505050505050565b60009081526005602052604090206004015490565b60085460009074010000000000000000000000000000000000000000900460ff1615610e9757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f4d617267696e41646d696e236f6e6c795768696c654f7065726174696f6e616c60448201527f3a2043616e206f6e6c792063616c6c207768696c65206f7065726174696f6e6160648201527f6c00000000000000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b600080546001908101918290556040517f647f9a1300000000000000000000000000000000000000000000000000000000815260048101828152602482018e905273__IncreasePositionImpl__________________9263647f9a139290918f918f918f918f918f918f918f918f918f916044018960e08082843790910190508861010080828437909101905087604080828437820191505086151515158152602001806020018060200183810383528787828181526020019250808284379091018481038352858152602001905085858082843782019150509c5050505050505050505050505060206040518083038186803b158015610f9757600080fd5b505af4158015610fab573d6000803e3d6000fd5b505050506040513d6020811015610fc157600080fd5b50519150600054811461103557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f5265656e7472616e637920636865636b206661696c7572650000000000000000604482015290519081900360640190fd5b509998505050505050505050565b61104b613006565b611053613025565b61105b613040565b505050600090815260056020818152604092839020835160808082018652825473ffffffffffffffffffffffffffffffffffffffff90811683526001840154811683860152600284015481168388015260038401541660608084019190915286518088018852600485015481529584015486860152865160c08101885260069094015463ffffffff808216865264010000000082048116968601969096526801000000000000000081048616978501979097526c01000000000000000000000000870485169084015270010000000000000000000000000000000086048416908301527401000000000000000000000000000000000000000090940490911660a08201529192909190565b600090815260056020526040902060060154640100000000900463ffffffff1690565b60009081526005602052604090206002015473ffffffffffffffffffffffffffffffffffffffff1690565b600080546001908101808355604080517fc08d254f00000000000000000000000000000000000000000000000000000000815260048101939093526024830186905273ffffffffffffffffffffffffffffffffffffffff8516604484015251909273__TransferImpl__________________________9263c08d254f9260648083019392829003018186803b15801561124c57600080fd5b505af4158015611260573d6000803e3d6000fd5b50505050806000541415156112d657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f5265656e7472616e637920636865636b206661696c7572650000000000000000604482015290519081900360640190fd5b505050565b600080546001908101808355604080517fb653155d0000000000000000000000000000000000000000000000000000000081526004810193909352602483018690526044830185905251909273__LoanImpl______________________________9263b653155d9260648083019392829003018186803b15801561124c57600080fd5b6000805460019081018083556040805184815260208101918290527f7eab2fc400000000000000000000000000000000000000000000000000000000825260248101848152604482018990526064820188905273ffffffffffffffffffffffffffffffffffffffff8716608483015260a4820186905260c4820185905260e060e4830190815282516101048401819052879687969573__ClosePositionImpl_____________________95637eab2fc49592948e948e948e948c948994909390916101248501918083838a5b8381101561144257818101518382015260200161142a565b50505050905090810190601f16801561146f5780820380516001836020036101000a031916815260200191505b509850505050505050505060606040518083038186803b15801561149257600080fd5b505af41580156114a6573d6000803e3d6000fd5b505050506040513d60608110156114bc57600080fd5b50805160208201516040909201519095509093509150600054811461154257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f5265656e7472616e637920636865636b206661696c7572650000000000000000604482015290519081900360640190fd5b5093509350939050565b6000908152600560208190526040909120015490565b60009081526003602052604090205490565b600090815260056020526040902060060154700100000000000000000000000000000000900463ffffffff1690565b60085473ffffffffffffffffffffffffffffffffffffffff1633146115c757600080fd5b600460ff82161061168557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604660248201527f4d617267696e41646d696e237365744f7065726174696f6e53746174653a206e60448201527f65775374617465206973206e6f7420612076616c6964206f7065726174696f6e60648201527f2073746174650000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b60085460ff82811674010000000000000000000000000000000000000000909204161461174b576008546040805160ff7401000000000000000000000000000000000000000090930483168152918316602083015280517f64d299fbc729d870a19dc650c5bc71264299611e5919111b23c981262c402e6a9281900390910190a1600880547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000060ff8416021790555b50565b600080546001908101808355604080517ff1e70fec00000000000000000000000000000000000000000000000000000000815260048101939093526024830186905273ffffffffffffffffffffffffffffffffffffffff8516604484015251909173__ForceRecoverCollateralImpl____________9163f1e70fec91606480820192602092909190829003018186803b1580156117eb57600080fd5b505af41580156117ff573d6000803e3d6000fd5b505050506040513d602081101561181557600080fd5b50519150600054811461188957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f5265656e7472616e637920636865636b206661696c7572650000000000000000604482015290519081900360640190fd5b5092915050565b600061189d600183612adb565b92915050565b60009081526005602052604090206006015468010000000000000000900463ffffffff1690565b60009081526004602052604090205490565b60009081526005602052604090206006015474010000000000000000000000000000000000000000900463ffffffff1690565b60009081526006602052604090205460ff1690565b60009081526005602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60015473ffffffffffffffffffffffffffffffffffffffff1690565b600854600090819074010000000000000000000000000000000000000000900460ff1615806119b4575060085474010000000000000000000000000000000000000000900460ff166001145b806119dc575060085474010000000000000000000000000000000000000000900460ff166002145b1515611a6f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f4d617267696e41646d696e23636c6f7365506f736974696f6e5374617465436f60448201527f6e74726f6c3a20496e76616c6964206f7065726174696f6e2073746174650000606482015290519081900360840190fd5b60008054600190810191829055604080517fd1ab07e70000000000000000000000000000000000000000000000000000000081526004810192909252602482018890526044820187905273ffffffffffffffffffffffffffffffffffffffff86166064830152805173__CloseWithoutCounterpartyImpl__________9263d1ab07e7926084808301939192829003018186803b158015611b0f57600080fd5b505af4158015611b23573d6000803e3d6000fd5b505050506040513d6040811015611b3957600080fd5b50805160209091015190935091506000548114611bb757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f5265656e7472616e637920636865636b206661696c7572650000000000000000604482015290519081900360640190fd5b50935093915050565b600061189d600183612b98565b60009081526005602052604081206006015468010000000000000000900463ffffffff161190565b60085473ffffffffffffffffffffffffffffffffffffffff163314611c1957600080fd5b60085460405173ffffffffffffffffffffffffffffffffffffffff909116907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a2600880547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60085474010000000000000000000000000000000000000000900460ff1681565b6000908152600560205260409020600601546c01000000000000000000000000900463ffffffff1690565b60085473ffffffffffffffffffffffffffffffffffffffff1681565b600080600080611d01600186612bc1565b9250611d0d8342612c77565b6006840154909250611d3290429063ffffffff640100000000909104811690612d1416565b905081811115611d455760009350611d69565b611d6681611d5a84600163ffffffff612d2616565b9063ffffffff612d1416565b93505b505050919050565b600080611d7f600184612bc1565b9050611d9081826004015442612d33565b9392505050565b600061189d600183612e0f565b60085460009074010000000000000000000000000000000000000000900460ff1615611e7d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f4d617267696e41646d696e236f6e6c795768696c654f7065726174696f6e616c60448201527f3a2043616e206f6e6c792063616c6c207768696c65206f7065726174696f6e6160648201527f6c00000000000000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b60008054600190810191829055604080517fb897458e000000000000000000000000000000000000000000000000000000008152600481019290925260248201869052604482018590525173__IncreasePositionImpl__________________9163b897458e916064808301926020929190829003018186803b1580156117eb57600080fd5b600080611f11600186612bc1565b600681015490915063ffffffff64010000000090910481169084161015611fe557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152605360248201527f506f736974696f6e4765747465727323676574506f736974696f6e4f7765644160448201527f6d6f756e74417454696d653a205265717565737465642074696d65206265666f60648201527f726520706f736974696f6e207374617274656400000000000000000000000000608482015290519081900360a40190fd5b611ff681858563ffffffff16612d33565b95945050505050565b600080546001908101808355604080517fdfaacc4f00000000000000000000000000000000000000000000000000000000815260048101939093526024830186905273ffffffffffffffffffffffffffffffffffffffff8516604484015251909273__TransferImpl__________________________9263dfaacc4f9260648083019392829003018186803b15801561124c57600080fd5b60009081526007602052604090205490565b6000806120b7600186612bc1565b600681015490915063ffffffff6401000000009091048116908416101561218b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152605460248201527f506f736974696f6e47657474657273236765744c656e646572416d6f756e744660448201527f6f72496e637265617365506f736974696f6e417454696d653a2074696d65737460648201527f616d70203c20706f736974696f6e207374617274000000000000000000000000608482015290519081900360a40190fd5b611ff681858563ffffffff16612e3c565b60009081526005602052604090206001015473ffffffffffffffffffffffffffffffffffffffff1690565b60085460009074010000000000000000000000000000000000000000900460ff161580612211575060085474010000000000000000000000000000000000000000900460ff166001145b15156122ca57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604360248201527f4d617267696e41646d696e2363616e63656c4c6f616e4f66666572696e67537460448201527f617465436f6e74726f6c3a20496e76616c6964206f7065726174696f6e20737460648201527f6174650000000000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b6000805460010190508060008190555073__LoanImpl______________________________63802c37fc6001888888886040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808681526020018560096020028082843790910190508460e08082843790910190508360808082843782019150508281526020019550505050505060206040518083038186803b15801561237b57600080fd5b505af415801561238f573d6000803e3d6000fd5b505050506040513d60208110156123a557600080fd5b50519150600054811461241957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f5265656e7472616e637920636865636b206661696c7572650000000000000000604482015290519081900360640190fd5b50949350505050565b60085474010000000000000000000000000000000000000000900460ff16156124f857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f4d617267696e41646d696e236f6e6c795768696c654f7065726174696f6e616c60448201527f3a2043616e206f6e6c792063616c6c207768696c65206f7065726174696f6e6160648201527f6c00000000000000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b600080546001908101808355604080517fc6ea7c290000000000000000000000000000000000000000000000000000000081526004810193909352602483018690526044830185905251909273__DepositCollateralImpl_________________9263c6ea7c299260648083019392829003018186803b15801561124c57600080fd5b60085474010000000000000000000000000000000000000000900460ff161561265157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f4d617267696e41646d696e236f6e6c795768696c654f7065726174696f6e616c60448201527f3a2043616e206f6e6c792063616c6c207768696c65206f7065726174696f6e6160648201527f6c00000000000000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b600080546001908101808355604080517f47323a0c00000000000000000000000000000000000000000000000000000000815260048101939093526024830185905251909273__LoanImpl______________________________926347323a0c9260448083019392829003018186803b1580156126cd57600080fd5b505af41580156126e1573d6000803e3d6000fd5b505050508060005414151561275757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f5265656e7472616e637920636865636b206661696c7572650000000000000000604482015290519081900360640190fd5b5050565b60025473ffffffffffffffffffffffffffffffffffffffff1690565b60009081526005602052604090206006015463ffffffff1690565b60009081526005602052604090206003015473ffffffffffffffffffffffffffffffffffffffff1690565b6008546000908190819074010000000000000000000000000000000000000000900460ff16158061280b575060085474010000000000000000000000000000000000000000900460ff166001145b80612833575060085474010000000000000000000000000000000000000000900460ff166002145b15156128c657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f4d617267696e41646d696e23636c6f7365506f736974696f6e5374617465436f60448201527f6e74726f6c3a20496e76616c6964206f7065726174696f6e2073746174650000606482015290519081900360840190fd5b6000805460010190508060008190555073__ClosePositionImpl_____________________637eab2fc460018d8d8d8d8d8d8d6040518963ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018089815260200188600019166000191681526020018781526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001841515151581526020018060200182810382528484828181526020019250808284378201915050995050505050505050505060606040518083038186803b1580156129f057600080fd5b505af4158015612a04573d6000803e3d6000fd5b505050506040513d6060811015612a1a57600080fd5b508051602082015160409092015190955090935091506000548114612aa057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f5265656e7472616e637920636865636b206661696c7572650000000000000000604482015290519081900360640190fd5b509750975097945050505050565b60085473ffffffffffffffffffffffffffffffffffffffff163314612ad257600080fd5b61174b81612e49565b815460008281526004808501602090815260408084206001015481517fd93d736100000000000000000000000000000000000000000000000000000000815293840187905273ffffffffffffffffffffffffffffffffffffffff908116602485015290519394169263d93d7361926044808201939291829003018186803b158015612b6557600080fd5b505afa158015612b79573d6000803e3d6000fd5b505050506040513d6020811015612b8f57600080fd5b50519392505050565b60009081526004919091016020526040902060060154640100000000900463ffffffff16151590565b600081815260048301602052604081206006810154640100000000900463ffffffff161515611d9057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602481018290527f4d617267696e436f6d6d6f6e23676574506f736974696f6e46726f6d53746f7260448201527f6167653a2054686520706f736974696f6e20646f6573206e6f74206578697374606482015290519081900360840190fd5b600682015460009081908190612ca090859063ffffffff640100000000909104811690612d1416565b600686015490925074010000000000000000000000000000000000000000900463ffffffff1690506001811115612cee57612ceb81612cdf8484612ef9565b9063ffffffff612f4416565b91505b6006850154611ff69083906c01000000000000000000000000900463ffffffff16612f6d565b600082821115612d2057fe5b50900390565b8181018281101561189d57fe5b600080612d408584612c77565b6006860154604080517f417e8e670000000000000000000000000000000000000000000000000000000081526004810188905270010000000000000000000000000000000090920463ffffffff166024830152604482018390525191925073__InterestImpl__________________________9163417e8e6791606480820192602092909190829003018186803b158015612dda57600080fd5b505af4158015612dee573d6000803e3d6000fd5b505050506040513d6020811015612e0457600080fd5b505195945050505050565b600081815260038301602090815260408083205460028601909252822054611d909163ffffffff612d2616565b600080612d408584612f83565b73ffffffffffffffffffffffffffffffffffffffff81161515612e6b57600080fd5b60085460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000811515612f0457fe5b821515612f135750600061189d565b611d906001612f3884612f2c878463ffffffff612d1416565b9063ffffffff612ff116565b9063ffffffff612d2616565b6000821515612f555750600061189d565b50818102818382811515612f6557fe5b041461189d57fe5b6000818310612f7c5781611d90565b5090919050565b600682015460009081908190612fac90859063ffffffff640100000000909104811690612d1416565b600686015490925074010000000000000000000000000000000000000000900463ffffffff1690506001811115612cee57612ceb81612cdf848263ffffffff612ff116565b60008183811515612ffe57fe5b049392505050565b6080604051908101604052806004906020820280388339509192915050565b60408051808201825290600290829080388339509192915050565b60c06040519081016040528060069060208202803883395091929150505600a165627a7a72305820492c2b806aea67bc34ec34b99687b4d9e64fdcf83141a71046cb174756cbc35e0029",
    "networks": {
        "1": {
            "links": {
                "OpenPositionImpl": "0x7513e6b6d4d7fe0f8f293d9fb135fdd76fdf7e92",
                "ClosePositionImpl": "0xb645669b2152c29227839b6fd0d94590d70d5272",
                "CloseWithoutCounterpartyImpl": "0x1b12e8193d2e943625e3b1be986cfde742a39125",
                "InterestImpl": "0xcd3af710f570fbe7da9319cada82e647d0bc6456",
                "ForceRecoverCollateralImpl": "0x844c8f1b7dcc565e037ff8cb07bbe2af877db936",
                "LoanImpl": "0x4097bbf03ca5e3e6237674dd3ec9d262e462090b",
                "DepositCollateralImpl": "0x1a903aff2375e697b646b32d04ad25a2524ec94a",
                "TransferImpl": "0xa180bf12943ac793bbfd2758c5b5d21f73590b9a",
                "IncreasePositionImpl": "0x50e0006c23d4037d4e23500cebb7f66436338f2e",
                "OpenWithoutCounterpartyImpl": "0x455cc77c379ad951b5fbddbaa21955a06817a622"
            },
            "address": "0x36bf21c8e661b21e6166e4385f574941fdc6caff",
            "transactionHash": "0xa717e55336bfe4fb344a2cd387089bb28be22f87e398a2d74e8a284c79d513a2"
        },
        "42": {
            "links": {
                "OpenPositionImpl": "0x70c8ef71fc37a3617a722ec1930a0479d5c76f60",
                "ClosePositionImpl": "0xbe0ea2a28fc1368aab33edce9a178d60edb5be7e",
                "CloseWithoutCounterpartyImpl": "0xab63a4ca1c1a2ffdc792f9af9c38bf80eb6212e8",
                "InterestImpl": "0x914f1dbba3faac01218e2e0d1ab4ceda02783615",
                "ForceRecoverCollateralImpl": "0x973054d76e4ba2c1d4b93b42d82c63920b4f9a79",
                "LoanImpl": "0xb1089484281395d951faa669ea025452b04cd7fd",
                "DepositCollateralImpl": "0xde3aebfb66c7cb24c27cbd7e07ed2c4328192ace",
                "TransferImpl": "0x0e5e28dfbc78fa9fa9473294a4378e3ff3dca9e0",
                "IncreasePositionImpl": "0x795894d9d10064ffda4d696bd2c1673f924618bd",
                "OpenWithoutCounterpartyImpl": "0x25d5ca3fd2ede4363175582788fb5858e3820ab0"
            },
            "address": "0xccbd3c844286a8bbbd937eacfe850fa6e1dafdf7",
            "transactionHash": "0x7ac6e27d22e44ed333664806c83e49dc1f211777b094fc19654fe046d4302d85"
        },
        "1212": {
            "links": {
                "OpenPositionImpl": "0xb09bcc172050fbd4562da8b229cf3e45dc3045a6",
                "ClosePositionImpl": "0x5f8e26facc23fa4cbd87b8d9dbbd33d5047abde1",
                "CloseWithoutCounterpartyImpl": "0x21a59654176f2689d12e828b77a783072cd26680",
                "InterestImpl": "0x630589690929e9cdefdef0734717a9ef3ec7fcfe",
                "ForceRecoverCollateralImpl": "0x0e696947a06550def604e82c26fd9e493e576337",
                "LoanImpl": "0xdb56f2e9369e0d7bd191099125a3f6c370f8ed15",
                "DepositCollateralImpl": "0xa94b7f0465e98609391c623d0560c5720a3f2d33",
                "TransferImpl": "0x6ed79aa1c71fd7bdbc515efda3bd4e26394435cc",
                "IncreasePositionImpl": "0xd86c8f0327494034f60e25074420bccf560d5610",
                "OpenWithoutCounterpartyImpl": "0xfc628dd79137395f3c9744e33b1c5de554d94882"
            },
            "address": "0xad888d0ade988ebee74b8d4f39bf29a8d0fe8a8d",
            "transactionHash": "0xb406e7bb038d085dfc2d20e4342b9002c68e124593069d6e89da7a3fe51909d1"
        }
    },
    "schemaVersion": "2.0.1"
}