{
    "contractName": "SignedOperationProxy",
    "abi": [
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "dolomiteMargin",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "chainId",
                    "type": "uint256"
                }
            ],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "constructor"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "bool",
                    "name": "operational",
                    "type": "bool"
                }
            ],
            "name": "ContractStatusSet",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "bytes32",
                    "name": "operationHash",
                    "type": "bytes32"
                },
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "canceler",
                    "type": "address"
                }
            ],
            "name": "LogOperationCanceled",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "bytes32",
                    "name": "operationHash",
                    "type": "bytes32"
                },
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "signer",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "sender",
                    "type": "address"
                }
            ],
            "name": "LogOperationExecuted",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "previousOwner",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "newOwner",
                    "type": "address"
                }
            ],
            "name": "OwnershipTransferred",
            "type": "event"
        },
        {
            "constant": true,
            "inputs": [],
            "name": "DOLOMITE_MARGIN",
            "outputs": [
                {
                    "internalType": "contract IDolomiteMargin",
                    "name": "",
                    "type": "address"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [],
            "name": "EIP712_DOMAIN_HASH",
            "outputs": [
                {
                    "internalType": "bytes32",
                    "name": "",
                    "type": "bytes32"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "internalType": "bytes32",
                    "name": "",
                    "type": "bytes32"
                }
            ],
            "name": "g_invalidated",
            "outputs": [
                {
                    "internalType": "bool",
                    "name": "",
                    "type": "bool"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [],
            "name": "g_isOperational",
            "outputs": [
                {
                    "internalType": "bool",
                    "name": "",
                    "type": "bool"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [],
            "name": "isOwner",
            "outputs": [
                {
                    "internalType": "bool",
                    "name": "",
                    "type": "bool"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [],
            "name": "owner",
            "outputs": [
                {
                    "internalType": "address",
                    "name": "",
                    "type": "address"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [],
            "name": "renounceOwnership",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "internalType": "address",
                    "name": "newOwner",
                    "type": "address"
                }
            ],
            "name": "transferOwnership",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [],
            "name": "shutDown",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [],
            "name": "startUp",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "components": [
                        {
                            "internalType": "address",
                            "name": "owner",
                            "type": "address"
                        },
                        {
                            "internalType": "uint256",
                            "name": "number",
                            "type": "uint256"
                        }
                    ],
                    "internalType": "struct Account.Info[]",
                    "name": "accounts",
                    "type": "tuple[]"
                },
                {
                    "components": [
                        {
                            "internalType": "enum Actions.ActionType",
                            "name": "actionType",
                            "type": "uint8"
                        },
                        {
                            "internalType": "uint256",
                            "name": "accountId",
                            "type": "uint256"
                        },
                        {
                            "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": "amount",
                            "type": "tuple"
                        },
                        {
                            "internalType": "uint256",
                            "name": "primaryMarketId",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "secondaryMarketId",
                            "type": "uint256"
                        },
                        {
                            "internalType": "address",
                            "name": "otherAddress",
                            "type": "address"
                        },
                        {
                            "internalType": "uint256",
                            "name": "otherAccountId",
                            "type": "uint256"
                        },
                        {
                            "internalType": "bytes",
                            "name": "data",
                            "type": "bytes"
                        }
                    ],
                    "internalType": "struct Actions.ActionArgs[]",
                    "name": "actions",
                    "type": "tuple[]"
                },
                {
                    "components": [
                        {
                            "internalType": "uint256",
                            "name": "numActions",
                            "type": "uint256"
                        },
                        {
                            "components": [
                                {
                                    "internalType": "uint256",
                                    "name": "expiration",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "salt",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "sender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "signer",
                                    "type": "address"
                                }
                            ],
                            "internalType": "struct SignedOperationProxy.OperationHeader",
                            "name": "header",
                            "type": "tuple"
                        },
                        {
                            "internalType": "bytes",
                            "name": "signature",
                            "type": "bytes"
                        }
                    ],
                    "internalType": "struct SignedOperationProxy.Authorization",
                    "name": "auth",
                    "type": "tuple"
                }
            ],
            "name": "cancel",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "components": [
                        {
                            "internalType": "address",
                            "name": "owner",
                            "type": "address"
                        },
                        {
                            "internalType": "uint256",
                            "name": "number",
                            "type": "uint256"
                        }
                    ],
                    "internalType": "struct Account.Info[]",
                    "name": "accounts",
                    "type": "tuple[]"
                },
                {
                    "components": [
                        {
                            "internalType": "enum Actions.ActionType",
                            "name": "actionType",
                            "type": "uint8"
                        },
                        {
                            "internalType": "uint256",
                            "name": "accountId",
                            "type": "uint256"
                        },
                        {
                            "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": "amount",
                            "type": "tuple"
                        },
                        {
                            "internalType": "uint256",
                            "name": "primaryMarketId",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "secondaryMarketId",
                            "type": "uint256"
                        },
                        {
                            "internalType": "address",
                            "name": "otherAddress",
                            "type": "address"
                        },
                        {
                            "internalType": "uint256",
                            "name": "otherAccountId",
                            "type": "uint256"
                        },
                        {
                            "internalType": "bytes",
                            "name": "data",
                            "type": "bytes"
                        }
                    ],
                    "internalType": "struct Actions.ActionArgs[]",
                    "name": "actions",
                    "type": "tuple[]"
                },
                {
                    "components": [
                        {
                            "internalType": "uint256",
                            "name": "numActions",
                            "type": "uint256"
                        },
                        {
                            "components": [
                                {
                                    "internalType": "uint256",
                                    "name": "expiration",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "salt",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "sender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "signer",
                                    "type": "address"
                                }
                            ],
                            "internalType": "struct SignedOperationProxy.OperationHeader",
                            "name": "header",
                            "type": "tuple"
                        },
                        {
                            "internalType": "bytes",
                            "name": "signature",
                            "type": "bytes"
                        }
                    ],
                    "internalType": "struct SignedOperationProxy.Authorization[]",
                    "name": "auths",
                    "type": "tuple[]"
                }
            ],
            "name": "operate",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "internalType": "bytes32[]",
                    "name": "operationHashes",
                    "type": "bytes32[]"
                }
            ],
            "name": "getOperationsAreInvalid",
            "outputs": [
                {
                    "internalType": "bool[]",
                    "name": "",
                    "type": "bool[]"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        }
    ],
    "networks": {
        "1": {
            "links": {},
            "address": "0x40B073C9eAbB727412Ce86F65657c61390b15Eac",
            "transactionHash": "0xb91422102a78ad8f11d64dc131294acafa9e14168517a1bdb1b494e7e90d3ca5"
        },
        "196": {
            "links": {},
            "address": "0x5D6b63795dCd977f736bDdC58B68f4FF38731edA",
            "transactionHash": "0x0fc2026065f74e75227ea81cf28aa7ae2c7c5caf815218d3de84ea2a929fccac"
        },
        "1101": {
            "links": {},
            "address": "0xCcC43e1571322528bEC9d7D26814D58229103D50",
            "transactionHash": "0x3a16a54e3b51b3a71c592044d2695c17db95e2efd4060d1cca4119671fb2ab99"
        },
        "3637": {
            "links": {},
            "address": "0x40B073C9eAbB727412Ce86F65657c61390b15Eac",
            "transactionHash": "0xc712b2e7cfdedb88d316152a398004b76c8fea526bd3b0f31693a67e3aba8b8b"
        },
        "5000": {
            "links": {},
            "address": "0xbE6c38709FAb83c8e0FE4319a5Ee1440cf128f52",
            "transactionHash": "0xe5308a42a813047a915657631affc7f7f33eb03bd17c9b3f4d9cd27e37c4e8c1"
        },
        "5330": {
            "links": {},
            "address": "0x40B073C9eAbB727412Ce86F65657c61390b15Eac",
            "transactionHash": "0xf7b1c0bda870b17aca2febd008842ee35fbfb6d7442a8e9a57046ce733e1e693"
        },
        "8453": {
            "links": {},
            "address": "0x40B073C9eAbB727412Ce86F65657c61390b15Eac",
            "transactionHash": "0x443a17254ed2252b3a139acdaca70edd62d5e670a01d9145a204de463ca27b33"
        },
        "42161": {
            "links": {},
            "address": "0x3d28c55EbDa31f811F43A7601f36f420825531b1",
            "transactionHash": "0x78ffc82ece19775bc57f903220ed40fd4ab2b14d7aefed1642453f04f2bbe40c"
        },
        "57073": {
            "links": {},
            "address": "0x40B073C9eAbB727412Ce86F65657c61390b15Eac",
            "transactionHash": "0x81dcd31f6054451d7e6f294845b4eb8c081e4d96d428acbcdb9e20e4cadb412f"
        },
        "80094": {
            "links": {},
            "address": "0x40B073C9eAbB727412Ce86F65657c61390b15Eac",
            "transactionHash": "0x2f70d30ef277e236b4a1b201e2b7f65e09ffc2b687c08c10c26e375bf81726c2"
        }
    }
}
