[
    {
        "constant": true,
        "inputs": [
            {
                "name": "currencyKey",
                "type": "bytes32"
            }
        ],
        "name": "rateIsStale",
        "outputs": [
            {
                "name": "",
                "type": "bool"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function",
        "signature": "0x009919c0"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "currencyKeys",
                "type": "bytes32[]"
            }
        ],
        "name": "lastRateUpdateTimesForCurrencies",
        "outputs": [
            {
                "name": "",
                "type": "uint256[]"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function",
        "signature": "0x05a046e5"
    },
    {
        "constant": true,
        "inputs": [],
        "name": "rateStalePeriod",
        "outputs": [
            {
                "name": "",
                "type": "uint256"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function",
        "signature": "0x0ee4951b"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "currencyKey",
                "type": "bytes32"
            },
            {
                "name": "startingRoundId",
                "type": "uint256"
            },
            {
                "name": "startingTimestamp",
                "type": "uint256"
            },
            {
                "name": "timediff",
                "type": "uint256"
            }
        ],
        "name": "getLastRoundIdBeforeElapsedSecs",
        "outputs": [
            {
                "name": "",
                "type": "uint256"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function",
        "signature": "0x109e46a2"
    },
    {
        "constant": false,
        "inputs": [
            {
                "name": "_owner",
                "type": "address"
            }
        ],
        "name": "nominateNewOwner",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function",
        "signature": "0x1627540c"
    },
    {
        "constant": true,
        "inputs": [],
        "name": "initiationTime",
        "outputs": [
            {
                "name": "",
                "type": "uint256"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function",
        "signature": "0x17c70de4"
    },
    {
        "constant": false,
        "inputs": [
            {
                "name": "_beneficiary",
                "type": "address"
            }
        ],
        "name": "setSelfDestructBeneficiary",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function",
        "signature": "0x20714f88"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "sourceCurrencyKey",
                "type": "bytes32"
            },
            {
                "name": "sourceAmount",
                "type": "uint256"
            },
            {
                "name": "destinationCurrencyKey",
                "type": "bytes32"
            },
            {
                "name": "roundIdForSrc",
                "type": "uint256"
            },
            {
                "name": "roundIdForDest",
                "type": "uint256"
            }
        ],
        "name": "effectiveValueAtRound",
        "outputs": [
            {
                "name": "",
                "type": "uint256"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function",
        "signature": "0x266da16b"
    },
    {
        "constant": false,
        "inputs": [
            {
                "name": "currencyKey",
                "type": "bytes32"
            }
        ],
        "name": "removeAggregator",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function",
        "signature": "0x2bed9e0c"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "currencyKeys",
                "type": "bytes32[]"
            }
        ],
        "name": "anyRateIsStale",
        "outputs": [
            {
                "name": "",
                "type": "bool"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function",
        "signature": "0x2d227674"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "",
                "type": "uint256"
            }
        ],
        "name": "invertedKeys",
        "outputs": [
            {
                "name": "",
                "type": "bytes32"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function",
        "signature": "0x2ea913d4"
    },
    {
        "constant": false,
        "inputs": [],
        "name": "terminateSelfDestruct",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function",
        "signature": "0x3278c960"
    },
    {
        "constant": false,
        "inputs": [
            {
                "name": "currencyKey",
                "type": "bytes32"
            },
            {
                "name": "aggregatorAddress",
                "type": "address"
            }
        ],
        "name": "addAggregator",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function",
        "signature": "0x3f0e084f"
    },
    {
        "constant": false,
        "inputs": [
            {
                "name": "currencyKey",
                "type": "bytes32"
            }
        ],
        "name": "deleteRate",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function",
        "signature": "0x45938849"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "",
                "type": "uint256"
            }
        ],
        "name": "aggregatorKeys",
        "outputs": [
            {
                "name": "",
                "type": "bytes32"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function",
        "signature": "0x4f72def6"
    },
    {
        "constant": true,
        "inputs": [],
        "name": "nominatedOwner",
        "outputs": [
            {
                "name": "",
                "type": "address"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function",
        "signature": "0x53a47bb7"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "sourceCurrencyKey",
                "type": "bytes32"
            },
            {
                "name": "sourceAmount",
                "type": "uint256"
            },
            {
                "name": "destinationCurrencyKey",
                "type": "bytes32"
            }
        ],
        "name": "effectiveValue",
        "outputs": [
            {
                "name": "",
                "type": "uint256"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function",
        "signature": "0x654a60ac"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "",
                "type": "bytes32"
            }
        ],
        "name": "aggregators",
        "outputs": [
            {
                "name": "",
                "type": "address"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function",
        "signature": "0x7103353e"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "",
                "type": "bytes32"
            }
        ],
        "name": "inversePricing",
        "outputs": [
            {
                "name": "entryPoint",
                "type": "uint256"
            },
            {
                "name": "upperLimit",
                "type": "uint256"
            },
            {
                "name": "lowerLimit",
                "type": "uint256"
            },
            {
                "name": "frozen",
                "type": "bool"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function",
        "signature": "0x728dec29"
    },
    {
        "constant": false,
        "inputs": [],
        "name": "acceptOwnership",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function",
        "signature": "0x79ba5097"
    },
    {
        "constant": false,
        "inputs": [
            {
                "name": "_time",
                "type": "uint256"
            }
        ],
        "name": "setRateStalePeriod",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function",
        "signature": "0x79cb657a"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "currencyKey",
                "type": "bytes32"
            }
        ],
        "name": "getCurrentRoundId",
        "outputs": [
            {
                "name": "",
                "type": "uint256"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function",
        "signature": "0x7a018a1e"
    },
    {
        "constant": false,
        "inputs": [
            {
                "name": "_oracle",
                "type": "address"
            }
        ],
        "name": "setOracle",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function",
        "signature": "0x7adbf973"
    },
    {
        "constant": true,
        "inputs": [],
        "name": "oracle",
        "outputs": [
            {
                "name": "",
                "type": "address"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function",
        "signature": "0x7dc0d1d0"
    },
    {
        "constant": true,
        "inputs": [],
        "name": "owner",
        "outputs": [
            {
                "name": "",
                "type": "address"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function",
        "signature": "0x8da5cb5b"
    },
    {
        "constant": false,
        "inputs": [],
        "name": "selfDestruct",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function",
        "signature": "0x9cb8a26a"
    },
    {
        "constant": true,
        "inputs": [],
        "name": "SELFDESTRUCT_DELAY",
        "outputs": [
            {
                "name": "",
                "type": "uint256"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function",
        "signature": "0xa461fc82"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "currencyKey",
                "type": "bytes32"
            }
        ],
        "name": "rateForCurrency",
        "outputs": [
            {
                "name": "",
                "type": "uint256"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function",
        "signature": "0xac82f608"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "currencyKey",
                "type": "bytes32"
            }
        ],
        "name": "rateIsFrozen",
        "outputs": [
            {
                "name": "",
                "type": "bool"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function",
        "signature": "0xaf3aea86"
    },
    {
        "constant": false,
        "inputs": [
            {
                "name": "currencyKey",
                "type": "bytes32"
            },
            {
                "name": "entryPoint",
                "type": "uint256"
            },
            {
                "name": "upperLimit",
                "type": "uint256"
            },
            {
                "name": "lowerLimit",
                "type": "uint256"
            },
            {
                "name": "freeze",
                "type": "bool"
            },
            {
                "name": "freezeAtUpperLimit",
                "type": "bool"
            }
        ],
        "name": "setInversePricing",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function",
        "signature": "0xb199c764"
    },
    {
        "constant": true,
        "inputs": [],
        "name": "selfDestructInitiated",
        "outputs": [
            {
                "name": "",
                "type": "bool"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function",
        "signature": "0xb8225dec"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "currencyKeys",
                "type": "bytes32[]"
            }
        ],
        "name": "ratesAndStaleForCurrencies",
        "outputs": [
            {
                "name": "",
                "type": "uint256[]"
            },
            {
                "name": "",
                "type": "bool"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function",
        "signature": "0xbabcb423"
    },
    {
        "constant": false,
        "inputs": [],
        "name": "initiateSelfDestruct",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function",
        "signature": "0xbd32aa44"
    },
    {
        "constant": false,
        "inputs": [
            {
                "name": "currencyKeys",
                "type": "bytes32[]"
            },
            {
                "name": "newRates",
                "type": "uint256[]"
            },
            {
                "name": "timeSent",
                "type": "uint256"
            }
        ],
        "name": "updateRates",
        "outputs": [
            {
                "name": "",
                "type": "bool"
            }
        ],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function",
        "signature": "0xbfa005ce"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "currencyKeys",
                "type": "bytes32[]"
            }
        ],
        "name": "ratesForCurrencies",
        "outputs": [
            {
                "name": "",
                "type": "uint256[]"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function",
        "signature": "0xc2c8a676"
    },
    {
        "constant": true,
        "inputs": [],
        "name": "selfDestructBeneficiary",
        "outputs": [
            {
                "name": "",
                "type": "address"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function",
        "signature": "0xc58aaae6"
    },
    {
        "constant": false,
        "inputs": [
            {
                "name": "currencyKey",
                "type": "bytes32"
            }
        ],
        "name": "removeInversePricing",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function",
        "signature": "0xc8e6f395"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "currencyKey",
                "type": "bytes32"
            }
        ],
        "name": "lastRateUpdateTimes",
        "outputs": [
            {
                "name": "",
                "type": "uint256"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function",
        "signature": "0xce8480ea"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "currencyKey",
                "type": "bytes32"
            },
            {
                "name": "roundId",
                "type": "uint256"
            }
        ],
        "name": "rateAndTimestampAtRound",
        "outputs": [
            {
                "name": "rate",
                "type": "uint256"
            },
            {
                "name": "time",
                "type": "uint256"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function",
        "signature": "0xfdadbc7e"
    },
    {
        "inputs": [
            {
                "name": "_owner",
                "type": "address"
            },
            {
                "name": "_oracle",
                "type": "address"
            },
            {
                "name": "_currencyKeys",
                "type": "bytes32[]"
            },
            {
                "name": "_newRates",
                "type": "uint256[]"
            }
        ],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "constructor"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "name": "newOracle",
                "type": "address"
            }
        ],
        "name": "OracleUpdated",
        "type": "event",
        "signature": "0x3df77beb5db05fcdd70a30fc8adf3f83f9501b68579455adbd100b8180940394"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "name": "rateStalePeriod",
                "type": "uint256"
            }
        ],
        "name": "RateStalePeriodUpdated",
        "type": "event",
        "signature": "0x16529d8c407b08938da67de7fa4319199baffce4f5d1971f812cc770b0237e66"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "name": "currencyKeys",
                "type": "bytes32[]"
            },
            {
                "indexed": false,
                "name": "newRates",
                "type": "uint256[]"
            }
        ],
        "name": "RatesUpdated",
        "type": "event",
        "signature": "0x1bc0fc8997efa076f59b5ef02c315bc5390f7a6d24d661ce12128c01a3b0ba57"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "name": "currencyKey",
                "type": "bytes32"
            }
        ],
        "name": "RateDeleted",
        "type": "event",
        "signature": "0xe69d655565c7ff1353d8eaeea62fb7904fa9696987431ec351be288c865f1ae1"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "name": "currencyKey",
                "type": "bytes32"
            },
            {
                "indexed": false,
                "name": "entryPoint",
                "type": "uint256"
            },
            {
                "indexed": false,
                "name": "upperLimit",
                "type": "uint256"
            },
            {
                "indexed": false,
                "name": "lowerLimit",
                "type": "uint256"
            }
        ],
        "name": "InversePriceConfigured",
        "type": "event",
        "signature": "0x37efb38e92b0f94698f6df0c9070e2f00946862a042ac09e34ae8c547684240a"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "name": "currencyKey",
                "type": "bytes32"
            }
        ],
        "name": "InversePriceFrozen",
        "type": "event",
        "signature": "0x4b3d3f51dab37576ab4ca08ebdb81d4a4c587f25df5cc1f9a620a7faff84aba8"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "name": "currencyKey",
                "type": "bytes32"
            },
            {
                "indexed": false,
                "name": "aggregator",
                "type": "address"
            }
        ],
        "name": "AggregatorAdded",
        "type": "event",
        "signature": "0x0bcae573430f69c5361e5d76534d3f61d2d803958778680cd74be9dc6299bc63"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "name": "currencyKey",
                "type": "bytes32"
            },
            {
                "indexed": false,
                "name": "aggregator",
                "type": "address"
            }
        ],
        "name": "AggregatorRemoved",
        "type": "event",
        "signature": "0xec70e890fc7db7de4059b114c9093a1f41283d18ffcfbcac45566feea4d4f777"
    },
    {
        "anonymous": false,
        "inputs": [],
        "name": "SelfDestructTerminated",
        "type": "event",
        "signature": "0x6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "name": "beneficiary",
                "type": "address"
            }
        ],
        "name": "SelfDestructed",
        "type": "event",
        "signature": "0x8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "name": "selfDestructDelay",
                "type": "uint256"
            }
        ],
        "name": "SelfDestructInitiated",
        "type": "event",
        "signature": "0xcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a6"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "name": "newBeneficiary",
                "type": "address"
            }
        ],
        "name": "SelfDestructBeneficiaryUpdated",
        "type": "event",
        "signature": "0xd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "name": "newOwner",
                "type": "address"
            }
        ],
        "name": "OwnerNominated",
        "type": "event",
        "signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "name": "oldOwner",
                "type": "address"
            },
            {
                "indexed": false,
                "name": "newOwner",
                "type": "address"
            }
        ],
        "name": "OwnerChanged",
        "type": "event",
        "signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
    }
]
