{
    "contractName": "Expiry",
    "abi": [
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "dolomiteMargin",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "expiryRampTime",
                    "type": "uint256"
                }
            ],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "constructor"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "address",
                    "name": "owner",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "number",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "marketId",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "internalType": "uint32",
                    "name": "time",
                    "type": "uint32"
                }
            ],
            "name": "ExpirySet",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "expiryRampTime",
                    "type": "uint256"
                }
            ],
            "name": "LogExpiryRampTimeSet",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "address",
                    "name": "approver",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "address",
                    "name": "sender",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "uint32",
                    "name": "minTimeDelta",
                    "type": "uint32"
                }
            ],
            "name": "LogSenderApproved",
            "type": "event"
        },
        {
            "constant": true,
            "inputs": [],
            "name": "DOLOMITE_MARGIN",
            "outputs": [
                {
                    "internalType": "contract IDolomiteMargin",
                    "name": "",
                    "type": "address"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "internalType": "address",
                    "name": "",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "",
                    "type": "address"
                }
            ],
            "name": "g_approvedSender",
            "outputs": [
                {
                    "internalType": "uint32",
                    "name": "",
                    "type": "uint32"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [],
            "name": "g_expiryRampTime",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "internalType": "uint256",
                    "name": "newExpiryRampTime",
                    "type": "uint256"
                }
            ],
            "name": "ownerSetExpiryRampTime",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "internalType": "address",
                    "name": "sender",
                    "type": "address"
                },
                {
                    "internalType": "uint32",
                    "name": "minTimeDelta",
                    "type": "uint32"
                }
            ],
            "name": "approveSender",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "internalType": "address",
                    "name": "",
                    "type": "address"
                },
                {
                    "components": [
                        {
                            "internalType": "address",
                            "name": "owner",
                            "type": "address"
                        },
                        {
                            "internalType": "uint256",
                            "name": "number",
                            "type": "uint256"
                        }
                    ],
                    "internalType": "struct Account.Info",
                    "name": "account",
                    "type": "tuple"
                },
                {
                    "internalType": "bytes",
                    "name": "data",
                    "type": "bytes"
                }
            ],
            "name": "callFunction",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "internalType": "uint256",
                    "name": "inputMarketId",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "outputMarketId",
                    "type": "uint256"
                },
                {
                    "components": [
                        {
                            "internalType": "address",
                            "name": "owner",
                            "type": "address"
                        },
                        {
                            "internalType": "uint256",
                            "name": "number",
                            "type": "uint256"
                        }
                    ],
                    "internalType": "struct Account.Info",
                    "name": "makerAccount",
                    "type": "tuple"
                },
                {
                    "components": [
                        {
                            "internalType": "address",
                            "name": "owner",
                            "type": "address"
                        },
                        {
                            "internalType": "uint256",
                            "name": "number",
                            "type": "uint256"
                        }
                    ],
                    "internalType": "struct Account.Info",
                    "name": "",
                    "type": "tuple"
                },
                {
                    "components": [
                        {
                            "internalType": "bool",
                            "name": "sign",
                            "type": "bool"
                        },
                        {
                            "internalType": "uint128",
                            "name": "value",
                            "type": "uint128"
                        }
                    ],
                    "internalType": "struct Types.Par",
                    "name": "oldInputPar",
                    "type": "tuple"
                },
                {
                    "components": [
                        {
                            "internalType": "bool",
                            "name": "sign",
                            "type": "bool"
                        },
                        {
                            "internalType": "uint128",
                            "name": "value",
                            "type": "uint128"
                        }
                    ],
                    "internalType": "struct Types.Par",
                    "name": "newInputPar",
                    "type": "tuple"
                },
                {
                    "components": [
                        {
                            "internalType": "bool",
                            "name": "sign",
                            "type": "bool"
                        },
                        {
                            "internalType": "uint256",
                            "name": "value",
                            "type": "uint256"
                        }
                    ],
                    "internalType": "struct Types.Wei",
                    "name": "inputWei",
                    "type": "tuple"
                },
                {
                    "internalType": "bytes",
                    "name": "data",
                    "type": "bytes"
                }
            ],
            "name": "getTradeCost",
            "outputs": [
                {
                    "components": [
                        {
                            "internalType": "bool",
                            "name": "sign",
                            "type": "bool"
                        },
                        {
                            "internalType": "enum Types.AssetDenomination",
                            "name": "denomination",
                            "type": "uint8"
                        },
                        {
                            "internalType": "enum Types.AssetReference",
                            "name": "ref",
                            "type": "uint8"
                        },
                        {
                            "internalType": "uint256",
                            "name": "value",
                            "type": "uint256"
                        }
                    ],
                    "internalType": "struct Types.AssetAmount",
                    "name": "",
                    "type": "tuple"
                }
            ],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "components": [
                        {
                            "internalType": "address",
                            "name": "owner",
                            "type": "address"
                        },
                        {
                            "internalType": "uint256",
                            "name": "number",
                            "type": "uint256"
                        }
                    ],
                    "internalType": "struct Account.Info",
                    "name": "account",
                    "type": "tuple"
                },
                {
                    "internalType": "uint256",
                    "name": "marketId",
                    "type": "uint256"
                }
            ],
            "name": "getExpiry",
            "outputs": [
                {
                    "internalType": "uint32",
                    "name": "",
                    "type": "uint32"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "components": [
                        {
                            "internalType": "address",
                            "name": "owner",
                            "type": "address"
                        },
                        {
                            "internalType": "uint256",
                            "name": "number",
                            "type": "uint256"
                        }
                    ],
                    "internalType": "struct Account.Info",
                    "name": "liquidAccount",
                    "type": "tuple"
                },
                {
                    "internalType": "uint256",
                    "name": "heldMarketId",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "owedMarketId",
                    "type": "uint256"
                },
                {
                    "internalType": "uint32",
                    "name": "expiry",
                    "type": "uint32"
                }
            ],
            "name": "getLiquidationSpreadAdjustedPrices",
            "outputs": [
                {
                    "components": [
                        {
                            "internalType": "uint256",
                            "name": "value",
                            "type": "uint256"
                        }
                    ],
                    "internalType": "struct Monetary.Price",
                    "name": "",
                    "type": "tuple"
                },
                {
                    "components": [
                        {
                            "internalType": "uint256",
                            "name": "value",
                            "type": "uint256"
                        }
                    ],
                    "internalType": "struct Monetary.Price",
                    "name": "",
                    "type": "tuple"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "internalType": "uint256",
                    "name": "heldMarketId",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "owedMarketId",
                    "type": "uint256"
                },
                {
                    "internalType": "uint32",
                    "name": "expiry",
                    "type": "uint32"
                }
            ],
            "name": "getSpreadAdjustedPrices",
            "outputs": [
                {
                    "components": [
                        {
                            "internalType": "uint256",
                            "name": "value",
                            "type": "uint256"
                        }
                    ],
                    "internalType": "struct Monetary.Price",
                    "name": "",
                    "type": "tuple"
                },
                {
                    "components": [
                        {
                            "internalType": "uint256",
                            "name": "value",
                            "type": "uint256"
                        }
                    ],
                    "internalType": "struct Monetary.Price",
                    "name": "",
                    "type": "tuple"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        }
    ],
    "networks": {
        "1": {
            "links": {},
            "address": "0x2Ae007882b91206942c70ADc833A61Ee531D8D5D",
            "transactionHash": "0x541487fb7831d283200786c2705aa974d271d11a83237af83f5adfed40bc422d"
        },
        "56": {
            "links": {},
            "address": "0x2Ae007882b91206942c70ADc833A61Ee531D8D5D",
            "transactionHash": "0x114f020a88c09aaa608a56a44131689e8fdfc9a5eb34d9ff9803815dcdb4c604"
        },
        "196": {
            "links": {},
            "address": "0x8B808a1fEEf1d9cdd00Fb46A19e4814e5646197C",
            "transactionHash": "0xd5a7792fd62e7b9dadbdc42a6d6216e309e28b448f89c069c0380ba009d613ab"
        },
        "1101": {
            "links": {},
            "address": "0xb3F81b0F53CDEe755c70665923e08a8f0e81d0c3",
            "transactionHash": "0x4b6d1956ca456901b2a05e452695edff4f73eb95bf2382f38c091c1417576a7e"
        },
        "3637": {
            "links": {},
            "address": "0x2Ae007882b91206942c70ADc833A61Ee531D8D5D",
            "transactionHash": "0x8a462eb3b25055b4d1a9ce647c3617d21da0bdf32e8af6eba496d0d253f1527a"
        },
        "5000": {
            "links": {},
            "address": "0x6df6DBF5053c3771217376fb3ef7F1f5d4889a25",
            "transactionHash": "0xe461b9ac0f6c5e5296b2a8843b3dbc76a8bd9d55f9a7eed9d115277c438f0141"
        },
        "5330": {
            "links": {},
            "address": "0x2Ae007882b91206942c70ADc833A61Ee531D8D5D",
            "transactionHash": "0xc3170cf23a06acd0d6dcfd92f60e87eeec4957a4536f01066761d1739492e6c4"
        },
        "8453": {
            "links": {},
            "address": "0x2Ae007882b91206942c70ADc833A61Ee531D8D5D",
            "transactionHash": "0xf958beb2716619da7b97dff002b18364d6f76bf872d403ec5d65ebd8229d8357"
        },
        "42161": {
            "links": {},
            "address": "0xDEc1ae3b570ac3c57871BBD7bFeacC807f973Bea",
            "transactionHash": "0xe35c489a7f4639b34593b5e7bf39a54103ecd031407645f5672555e17b0ca842"
        },
        "57073": {
            "links": {},
            "address": "0x2Ae007882b91206942c70ADc833A61Ee531D8D5D",
            "transactionHash": "0xad7b0cf99bf969e82987dd10e34ad267352090a1f0dbe024a8677c33d1a23c59"
        },
        "80094": {
            "links": {},
            "address": "0x2Ae007882b91206942c70ADc833A61Ee531D8D5D",
            "transactionHash": "0x71a7a27086e1bdd76710aa2bcf7999addf513a1fdfc6b99fa91a15b65aaa24dd"
        }
    }
}
