{
    "contractName": "MarginIssueManager",
    "abi": [
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "previousOwner",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "newOwner",
                    "type": "address"
                }
            ],
            "name": "OwnershipTransferred",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "user",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "address",
                    "name": "security",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "address",
                    "name": "currency",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "int256",
                    "name": "financing",
                    "type": "int256"
                },
                {
                    "indexed": false,
                    "internalType": "int256",
                    "name": "dividend",
                    "type": "int256"
                },
                {
                    "indexed": false,
                    "internalType": "int256",
                    "name": "commission",
                    "type": "int256"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "settlementTime",
                    "type": "uint256"
                }
            ],
            "name": "PnLSettled",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "bytes32",
                    "name": "poolId",
                    "type": "bytes32"
                },
                {
                    "indexed": false,
                    "internalType": "address",
                    "name": "security",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "timestamp",
                    "type": "uint256"
                }
            ],
            "name": "closures",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "bytes32",
                    "name": "action",
                    "type": "bytes32"
                },
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "user",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "address",
                    "name": "currency",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "int256",
                    "name": "balance",
                    "type": "int256"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "offerTime",
                    "type": "uint256"
                }
            ],
            "name": "collateral",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "platform",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "collection",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "timestamp",
                    "type": "uint256"
                }
            ],
            "name": "feecollection",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "address",
                    "name": "party",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "address",
                    "name": "counterparty",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "securityTraded",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "securityAmount",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "internalType": "address",
                    "name": "currencySettled",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "cashAmount",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "internalType": "bytes32",
                    "name": "orderRef",
                    "type": "bytes32"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "timestamp",
                    "type": "uint256"
                }
            ],
            "name": "subscribers",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "bytes32",
                    "name": "poolid",
                    "type": "bytes32"
                },
                {
                    "indexed": false,
                    "internalType": "address",
                    "name": "transferor",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "address",
                    "name": "transferee",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "unitsToTransfer",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "internalType": "address",
                    "name": "security",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "address",
                    "name": "currency",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "amountPaid",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "internalType": "bytes32",
                    "name": "cref",
                    "type": "bytes32"
                },
                {
                    "indexed": false,
                    "internalType": "bytes32",
                    "name": "ref",
                    "type": "bytes32"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "fee",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "timestamp",
                    "type": "uint256"
                }
            ],
            "name": "tradeSettled",
            "type": "event"
        },
        {
            "inputs": [],
            "name": "owner",
            "outputs": [
                {
                    "internalType": "address",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function",
            "constant": true
        },
        {
            "inputs": [],
            "name": "renounceOwnership",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "newOwner",
                    "type": "address"
                }
            ],
            "name": "transferOwnership",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "poolFactory",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "vault",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "securityFactory",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "distribution",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "newOwner",
                    "type": "address"
                }
            ],
            "name": "initialize",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "bridge",
                    "type": "address"
                }
            ],
            "name": "setBridge",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "bytes32",
                    "name": "poolId",
                    "type": "bytes32"
                }
            ],
            "name": "getPool",
            "outputs": [
                {
                    "internalType": "bool",
                    "name": "",
                    "type": "bool"
                }
            ],
            "stateMutability": "view",
            "type": "function",
            "constant": true
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "security",
                    "type": "address"
                },
                {
                    "internalType": "bytes32",
                    "name": "securityType",
                    "type": "bytes32"
                },
                {
                    "internalType": "address",
                    "name": "currency",
                    "type": "address"
                },
                {
                    "internalType": "bytes32",
                    "name": "cficode",
                    "type": "bytes32"
                },
                {
                    "internalType": "uint256",
                    "name": "securityAmount",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "minimumOrderSize",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "cashAmount",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "margin",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "collateralAmnt",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "tradeFee",
                    "type": "uint256"
                }
            ],
            "name": "issueProduct",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "security",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "currency",
                    "type": "address"
                }
            ],
            "name": "close",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "trader",
                    "type": "address"
                }
            ],
            "name": "removeTrader",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "cashToken",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                },
                {
                    "internalType": "address",
                    "name": "security",
                    "type": "address"
                }
            ],
            "name": "offerCollateral",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "cashToken",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                },
                {
                    "internalType": "address",
                    "name": "security",
                    "type": "address"
                }
            ],
            "name": "sendCollateral",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "bytes32",
                    "name": "poolId",
                    "type": "bytes32"
                },
                {
                    "internalType": "address",
                    "name": "currency",
                    "type": "address"
                }
            ],
            "name": "getCollateral",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "view",
            "type": "function",
            "constant": true
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "party",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "currency",
                    "type": "address"
                }
            ],
            "name": "getUserCollateral",
            "outputs": [
                {
                    "internalType": "int256",
                    "name": "",
                    "type": "int256"
                }
            ],
            "stateMutability": "view",
            "type": "function",
            "constant": true
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "party",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "counterparty",
                    "type": "address"
                },
                {
                    "internalType": "bytes32",
                    "name": "orderRef",
                    "type": "bytes32"
                },
                {
                    "internalType": "address",
                    "name": "security",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "securityTraded",
                    "type": "uint256"
                },
                {
                    "internalType": "address",
                    "name": "currency",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "cashTraded",
                    "type": "uint256"
                }
            ],
            "name": "onMatch",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "bytes32",
                    "name": "ref",
                    "type": "bytes32"
                },
                {
                    "internalType": "bytes32",
                    "name": "cref",
                    "type": "bytes32"
                },
                {
                    "internalType": "address",
                    "name": "security",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "securityTraded",
                    "type": "uint256"
                },
                {
                    "internalType": "address",
                    "name": "currency",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "currencyTraded",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "executionTime",
                    "type": "uint256"
                }
            ],
            "name": "onTrade",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "bytes32",
                    "name": "ref",
                    "type": "bytes32"
                },
                {
                    "internalType": "address",
                    "name": "security",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "currency",
                    "type": "address"
                },
                {
                    "internalType": "int256",
                    "name": "financingBidPerSec",
                    "type": "int256"
                },
                {
                    "internalType": "int256",
                    "name": "financingOfferPerSec",
                    "type": "int256"
                },
                {
                    "internalType": "int256",
                    "name": "dividendBidPerSec",
                    "type": "int256"
                },
                {
                    "internalType": "int256",
                    "name": "dividendOfferPerSec",
                    "type": "int256"
                },
                {
                    "internalType": "int256",
                    "name": "swapLong",
                    "type": "int256"
                },
                {
                    "internalType": "int256",
                    "name": "swapShort",
                    "type": "int256"
                },
                {
                    "internalType": "uint256",
                    "name": "settlementTime",
                    "type": "uint256"
                }
            ],
            "name": "onSettle",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "bytes32",
                    "name": "ref",
                    "type": "bytes32"
                },
                {
                    "internalType": "address",
                    "name": "security",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "currency",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                }
            ],
            "name": "withdraw",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "_token",
                    "type": "address"
                }
            ],
            "name": "getTradingFeeCollected",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "nonpayable",
            "type": "function"
        }
    ]
}
