UNPKG

@omisego/omg-js-rootchain

Version:

Module to interact with the Ethereum RootChain

911 lines 212 kB
{ "contractName": "PlasmaFramework", "abi": [ { "constant": true, "inputs": [], "name": "isChildChainActivated", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "bytes32", "name": "_outputId", "type": "bytes32" } ], "name": "flagOutputFinalized", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "uint256", "name": "vaultId", "type": "uint256" }, { "internalType": "address", "name": "token", "type": "address" } ], "name": "getNextExit", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "bytes32[]", "name": "_outputIds", "type": "bytes32[]" } ], "name": "isAnyOutputFinalized", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "exitsQueues", "outputs": [ { "internalType": "contract PriorityQueue", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "childBlockInterval", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "uint256", "name": "vaultId", "type": "uint256" }, { "internalType": "address", "name": "token", "type": "address" } ], "name": "addExitQueue", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "nextChildBlock", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "deactivateNonReentrant", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "version", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "_contract", "type": "address" } ], "name": "isExitGameSafeToUse", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "uint256", "name": "_vaultId", "type": "uint256" }, { "internalType": "address", "name": "_vaultAddress", "type": "address" } ], "name": "registerVault", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "uint256", "name": "vaultId", "type": "uint256" }, { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "uint64", "name": "exitableAt", "type": "uint64" }, { "components": [ { "internalType": "uint64", "name": "blockNum", "type": "uint64" }, { "internalType": "uint16", "name": "txIndex", "type": "uint16" }, { "internalType": "uint16", "name": "outputIndex", "type": "uint16" } ], "internalType": "struct PosLib.Position", "name": "txPos", "type": "tuple" }, { "internalType": "uint160", "name": "exitId", "type": "uint160" }, { "internalType": "contract IExitProcessor", "name": "exitProcessor", "type": "address" } ], "name": "enqueue", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "nextDepositBlock", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "uint256", "name": "_txType", "type": "uint256" } ], "name": "protocols", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "uint256", "name": "_vaultId", "type": "uint256" } ], "name": "vaults", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "isOutputFinalized", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "activateChildChain", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "_exitGame", "type": "address" } ], "name": "exitGameToTxType", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "CHILD_BLOCK_INTERVAL", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "nextDeposit", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "uint256", "name": "_txType", "type": "uint256" } ], "name": "exitGames", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "bytes32", "name": "_blockRoot", "type": "bytes32" } ], "name": "submitBlock", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "bytes32", "name": "_blockRoot", "type": "bytes32" } ], "name": "submitDepositBlock", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "authority", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "uint256", "name": "vaultId", "type": "uint256" }, { "internalType": "address", "name": "token", "type": "address" } ], "name": "hasExitQueue", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "delegations", "outputs": [ { "internalType": "contract IExitProcessor", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "minExitPeriod", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "uint256", "name": "vaultId", "type": "uint256" }, { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "uint160", "name": "topExitId", "type": "uint160" }, { "internalType": "uint256", "name": "maxExitsToProcess", "type": "uint256" } ], "name": "processExits", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "bytes32[]", "name": "_outputIds", "type": "bytes32[]" } ], "name": "batchFlagOutputsFinalized", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "_vaultAddress", "type": "address" } ], "name": "vaultToId", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "uint256", "name": "blockNum", "type": "uint256" } ], "name": "isDeposit", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "blocks", "outputs": [ { "internalType": "bytes32", "name": "root", "type": "bytes32" }, { "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "uint256", "name": "_txType", "type": "uint256" }, { "internalType": "address", "name": "_contract", "type": "address" }, { "internalType": "uint8", "name": "_protocol", "type": "uint8" } ], "name": "registerExitGame", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [], "name": "activateNonReentrant", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_minExitPeriod", "type": "uint256" }, { "internalType": "uint256", "name": "_initialImmuneVaults", "type": "uint256" }, { "internalType": "uint256", "name": "_initialImmuneExitGames", "type": "uint256" }, { "internalType": "address", "name": "_authority", "type": "address" }, { "internalType": "address", "name": "_maintainer", "type": "address" } ], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "blknum", "type": "uint256" } ], "name": "BlockSubmitted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "authority", "type": "address" } ], "name": "ChildChainActivated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "vaultId", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "token", "type": "address" } ], "name": "ExitQueueAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "processedNum", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "vaultId", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "token", "type": "address" } ], "name": "ProcessedExitsNum", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint160", "name": "exitId", "type": "uint160" }, { "indexed": false, "internalType": "uint256", "name": "priority", "type": "uint256" } ], "name": "ExitQueued", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "txType", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "exitGameAddress", "type": "address" }, { "indexed": false, "internalType": "uint8", "name": "protocol", "type": "uint8" } ], "name": "ExitGameRegistered", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "vaultId", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "vaultAddress", "type": "address" } ], "name": "VaultRegistered", "type": "event" }, { "constant": true, "inputs": [], "name": "getMaintainer", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getVersion", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "string", "name": "_version", "type": "string" } ], "name": "setVersion", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" } ], "metadata": "{\"compiler\":{\"version\":\"0.5.11+commit.c082d0b4\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"getVersion\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isChildChainActivated\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_outputId\",\"type\":\"bytes32\"}],\"name\":\"flagOutputFinalized\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"getNextExit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"_outputIds\",\"type\":\"bytes32[]\"}],\"name\":\"isAnyOutputFinalized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"exitsQueues\",\"outputs\":[{\"internalType\":\"contract PriorityQueue\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"childBlockInterval\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"addExitQueue\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getMaintainer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"nextChildBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"deactivateNonReentrant\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contract\",\"type\":\"address\"}],\"name\":\"isExitGameSafeToUse\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_vaultId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_vaultAddress\",\"type\":\"address\"}],\"name\":\"registerVault\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"_version\",\"type\":\"string\"}],\"name\":\"setVersion\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"exitableAt\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint64\",\"name\":\"blockNum\",\"type\":\"uint64\"},{\"internalType\":\"uint16\",\"name\":\"txIndex\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"outputIndex\",\"type\":\"uint16\"}],\"internalType\":\"struct PosLib.Position\",\"name\":\"txPos\",\"type\":\"tuple\"},{\"internalType\":\"uint160\",\"name\":\"exitId\",\"type\":\"uint160\"},{\"internalType\":\"contract IExitProcessor\",\"name\":\"exitProcessor\",\"type\":\"address\"}],\"name\":\"enqueue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"nextDepositBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_txType\",\"type\":\"uint256\"}],\"name\":\"protocols\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_vaultId\",\"type\":\"uint256\"}],\"name\":\"vaults\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"isOutputFinalized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"activateChildChain\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_exitGame\",\"type\":\"address\"}],\"name\":\"exitGameToTxType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"CHILD_BLOCK_INTERVAL\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"nextDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_txType\",\"type\":\"uint256\"}],\"name\":\"exitGames\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_blockRoot\",\"type\":\"bytes32\"}],\"name\":\"submitBlock\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_blockRoot\",\"type\":\"bytes32\"}],\"name\":\"submitDepositBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"authority\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"hasExitQueue\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"delegations\",\"outputs\":[{\"internalType\":\"contract IExitProcessor\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minExitPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint160\",\"name\":\"topExitId\",\"type\":\"uint160\"},{\"internalType\":\"uint256\",\"name\":\"maxExitsToProcess\",\"type\":\"uint256\"}],\"name\":\"processExits\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"_outputIds\",\"type\":\"bytes32[]\"}],\"name\":\"batchFlagOutputsFinalized\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultAddress\",\"type\":\"address\"}],\"name\":\"vaultToId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNum\",\"type\":\"uint256\"}],\"name\":\"isDeposit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"blocks\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_txType\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_contract\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"_protocol\",\"type\":\"uint8\"}],\"name\":\"registerExitGame\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"activateNonReentrant\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_minExitPeriod\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_initialImmuneVaults\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_initialImmuneExitGames\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_authority\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_maintainer\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"blknum\",\"type\":\"uint256\"}],\"name\":\"BlockSubmitted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"authority\",\"type\":\"address\"}],\"name\":\"ChildChainActivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"ExitQueueAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"processedNum\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"ProcessedExitsNum\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint160\",\"name\":\"exitId\",\"type\":\"uint160\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"priority\",\"type\":\"uint256\"}],\"name\":\"ExitQueued\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"txType\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"exitGameAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"protocol\",\"type\":\"uint8\"}],\"name\":\"ExitGameRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"vaultAddress\",\"type\":\"address\"}],\"name\":\"VaultRegistered\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"activateChildChain()\":{\"details\":\"This is a preserved action for authority account to start its nonce with 1. Child chain rely ethereum nonce to protect re-org: https://git.io/JecDG see discussion: https://git.io/JenaT, https://git.io/JecDO\"},\"activateNonReentrant()\":{\"details\":\"Accessible only from non quarantined exit games, uses a mutex\"},\"addExitQueue(uint256,address)\":{\"details\":\"The queue is created as a new contract instance\",\"params\":{\"token\":\"Address of the token\",\"vaultId\":\"ID of the vault\"}},\"batchFlagOutputsFinalized(bytes32[])\":{\"params\":{\"_outputIds\":\"Output IDs to flag\"}},\"deactivateNonReentrant()\":{\"details\":\"Accessible only from non quarantined exit games, uses a mutex\"},\"enqueue(uint256,address,uint64,(uint64,uint16,uint16),uint160,address)\":{\"details\":\"emits ExitQueued event, which can be used to back trace the priority inside the queueCaller of this function should add \\\"pragma experimental ABIEncoderV2;\\\" on top of filePriority (exitableAt, txPos, exitId) must be unique per queue. Do not enqueue when the same priority is already in the queue.\",\"params\":{\"exitId\":\"ID used by the exit processor contract to determine how to process the exit\",\"exitProcessor\":\"The exit processor contract, called during \\\"processExits\\\"\",\"exitableAt\":\"The earliest time a specified exit can be processed\",\"token\":\"Token for the exit\",\"txPos\":\"Transaction position for the exit priority. For SE it should be the exit tx, for IFE it should be the youngest input tx position.\",\"vaultId\":\"Vault ID of the vault that stores exiting funds\"},\"return\":\"A unique priority number computed for the exit\"},\"flagOutputFinalized(bytes32)\":{\"params\":{\"_outputId\":\"The output ID to flag as spent\"}},\"hasExitQueue(uint256,address)\":{\"params\":{\"token\":\"Address of the token\",\"vaultId\":\"ID of the vault that handles the token\"},\"return\":\"bool Defines whether the queue for a token was created\"},\"isAnyOutputFinalized(bytes32[])\":{\"params\":{\"_outputIds\":\"Output IDs to check\"}},\"isExitGameSafeToUse(address)\":{\"details\":\"Exposes information about exit games quarantine\",\"params\":{\"_contract\":\"Address of the exit game contract\"},\"return\":\"boolean Whether the contract is safe to use and is not under quarantine\"},\"processExits(uint256,address,uint160,uint256)\":{\"details\":\"Emits ProcessedExitsNum event\",\"params\":{\"maxExitsToProcess\":\"Maximum number of exits to process\",\"token\":\"The token type to process\",\"topExitId\":\"Unique identifier for prioritizing the first exit to process. Set to zero to skip this check.\",\"vaultId\":\"Vault ID of the vault that stores exiting funds\"},\"return\":\"Total number of processed exits\"},\"registerExitGame(uint256,address,uint8)\":{\"details\":\"Emits ExitGameRegistered event to notify clients\",\"params\":{\"_contract\":\"Address of the exit game contract\",\"_protocol\":\"The transaction protocol, either 1 for MVP or 2 for MoreVP\",\"_txType\":\"The tx type where the exit game wants to register\"}},\"registerVault(uint256,address)\":{\"details\":\"emits VaultRegistered event to notify clients\",\"params\":{\"_vaultAddress\":\"Address of the vault contract\",\"_vaultId\":\"The ID for the vault contract to register\"}},\"setVersion(string)\":{\"params\":{\"_version\":\"is semver string\"}},\"submitBlock(bytes32)\":{\"details\":\"emit BlockSubmitted eventBlock number jumps 'childBlockInterval' per submissionSee discussion in https://github.com/omisego/plasma-contracts/issues/233\",\"params\":{\"_blockRoot\":\"Merkle root of the Plasma block\"}},\"submitDepositBlock(bytes32)\":{\"details\":\"Block number adds 1 per submission; it's possible to have at most 'childBlockInterval' deposit blocks between two child chain blocks\",\"params\":{\"_blockRoot\":\"Merkle root of the Plasma block\"},\"return\":\"The deposit block number\"}}},\"userdoc\":{\"methods\":{\"activateChildChain()\":{\"notice\":\"Activates the child chain so that child chain can start to submit child blocks to root chainCan only be called once by the authority.Sets isChildChainActivated to true and emits the ChildChainActivated event.\"},\"activateNonReentrant()\":{\"notice\":\"Activates non reentrancy mode Guards against reentering into publicly accessible code that modifies state related to exits\"},\"addExitQueue(uint256,address)\":{\"notice\":\"Adds queue to the Plasma framework\"},\"batchFlagOutputsFinalized(bytes32[])\":{\"notice\":\"Batch flags already spent outputs\"},\"deactivateNonReentrant()\":{\"notice\":\"Deactivates non reentrancy mode\"},\"enqueue(uint256,address,uint64,(uint64,uint16,uint16),uint160,address)\":{\"notice\":\"Enqueue exits from exit game contracts is a function that places the exit into the priority queue to enforce the priority of exit during 'processExits'\"},\"exitGameToTxType(address)\":{\"notice\":\"Public getter for retrieving tx type with exit game address\"},\"exitGames(uint256)\":{\"notice\":\"Public getter for retrieving exit game address with tx type\"},\"flagOutputFinalized(bytes32)\":{\"notice\":\"Flags a single output as spent\"},\"getVersion()\":{\"notice\":\"Gets the semantic version of the current deployed contracts\"},\"hasExitQueue(uint256,address)\":{\"notice\":\"Checks if the queue for a specified token was created\"},\"isAnyOutputFinalized(bytes32[])\":{\"notice\":\"Checks whether any of the output with the given outputIds is already spent\"},\"isExitGameSafeToUse(address)\":{\"notice\":\"Checks whether the contract is safe to use and is not under quarantine\"},\"processExits(uint256,address,uint160,uint256)\":{\"notice\":\"Processes any exits that have completed the challenge period. Exits are processed according to the exit priority.\"},\"protocols(uint256)\":{\"notice\":\"Public getter for retrieving protocol with tx type\"},\"registerExitGame(uint256,address,uint8)\":{\"notice\":\"Registers an exit game within the PlasmaFramework. Only the maintainer can call the function.\"},\"registerVault(uint256,address)\":{\"notice\":\"Register a vault within the PlasmaFramework. Only a maintainer can make the call.\"},\"setVersion(string)\":{\"notice\":\"Sets the semantic version of the current deployed contracts\"},\"submitBlock(bytes32)\":{\"notice\":\"Allows the authority to submit the Merkle root of a Plasma block\"},\"submitDepositBlock(bytes32)\":{\"notice\":\"Submits a block for deposit\"},\"vaultToId(address)\":{\"notice\":\"Public getter for retrieving vault ID with vault address\"},\"vaults(uint256)\":{\"notice\":\"Public getter for retrieving vault address with vault ID\"}}}},\"settings\":{\"compilationTarget\":{\"/Users/nocholas/plasma-contracts/plasma_framework/contracts/src/framework/PlasmaFramework.sol\":\"PlasmaFramework\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/nocholas/plasma-contracts/plasma_framework/contracts/src/framework/BlockController.sol\":{\"keccak256\":\"0xac302eceee96e5a83b7fdfb43d23389f516ff4b7322e5e094d7ad0b3be177c0b\",\"urls\":[\"bzz-raw://cf36aec949574838af497c6448000226d20aea4d0a787c746dd10775166df8a3\",\"dweb:/ipfs/QmQvD1DZfeidC1xiC3fnzTbCcgTTG9MuN6NNwKn965bVvC\"]},\"/Users/nocholas/plasma-contracts/plasma_framework/contracts/src/framework/ExitGameController.sol\":{\"keccak256\":\"0x136c47ad99baab47c0a90499bf359706d1d34bb7de8573ce3f2868bf1440acd8\",\"urls\":[\"bzz-raw://d1291a1b667dc916958dd9d0be246fe6e7601bc0c08be6a7e11747214a94ef59\",\"dweb:/ipfs/QmampH1Xg4Z5KzToYR5Sngt36EFL45psZWtdfstSm9AVoS\"]},\"/Users/nocholas/plasma-contracts/plasma_framework/contracts/src/framework/PlasmaFramework.sol\":{\"keccak256\":\"0x4b017fa7cae50fcf79803255fe0ffe8183e8f3934d9ac46a48235986f4714179\",\"urls\":[\"bzz-raw://30974a631b8c13aedea212390fcc1cf75472dc3f49a9c52eb33fc07c04b545e1\",\"dweb:/ipfs/QmT15Bw5NtE7b1RvVcmRXcGkEAL9BpbbgKwMtJBphXTbLd\"]},\"/Users/nocholas/plasma-contracts/plasma_framework/contracts/src/framework/Protocol.sol\":{\"keccak256\":\"0x81e37c136c340d917e370c58894761aee710bbef727414685490e405bc0f18e8\",\"urls\":[\"bzz-raw://7a54192b587531dd1adc33202479142afdf116385bab22daa153b8d4439d7333\",\"dweb:/ipfs/QmT37F3SCsWLf93okFrx1LUUr6c2zXCj28u2sjXXFBef2X\"]},\"/Users/nocholas/plasma-contracts/plasma_framework/contracts/src/framework/interfaces/IExitProcessor.sol\":{\"keccak256\":\"0x93c31f7c8ff69c80bd30f9296a7b2059affedadefc0c2cfb5c992eb1f1885fa2\",\"urls\":[\"bzz-raw://d56cb65fd67b07cec3bb17f48c064df4ea892780bf21d87d717e6581feb92ffd\",\"dweb:/ipfs/QmZZGPdSSN81c2P1CBnrCQD9mRWntPUPUjm4vCgWsBqS14\"]},\"/Users/nocholas/plasma-contracts/plasma_framework/contracts/src/framework/models/BlockModel.sol\":{\"keccak256\":\"0x7d26be621a43e2b8855f6c71f91c886d3b48ed809f421a1eee9c165c803d0cf7\",\"urls\":[\"bzz-raw://850b2acb61d96e9eb09d8bf24617ecf47aa948d6754b2d09d0e0d2b949193a2d\",\"dweb:/ipfs/QmW8yoi4jZxHAJf4bNjtt3nGckaWUEX92ZbgrKpoRHJGRM\"]},\"/Users/nocholas/plasma-contracts/plasma_framework/contracts/src/framework/registries/ExitGameRegistry.sol\":{\"keccak256\":\"0x4695a609c60b6be59bbc49ed6d3b14725bcc2efcecd083f8cabbcd3ddb399e68\",\"urls\":[\"bzz-raw://d31ca9188c426bbb2e8cf0fca61a9d451497408ddb4708cfc78d543b75fcb274\",\"dweb:/ipfs/QmawYeD9CCd5chGoB62zVKpk5Q9zJxhUUGJu7hUaCF5JXM\"]},\"/Users/nocholas/plasma-contracts/plasma_framework/contracts/src/framework/registries/VaultRegistry.sol\":{\"keccak256\":\"0x7786b4b8b043026655fa872f11ec747ef600100cc73da38369e1e2fd5047c95a\",\"urls\":[\"bzz-raw://b957490e53281e516290455b78722627f5536e0bd6b9bc17777f3f7a93ed9b14\",\"dweb:/ipfs/QmbUEwWfkTCSPPNEjAJUEXwgCCY9cBPgAKJagRbYQ3PSLE\"]},\"/Users/nocholas/plasma-contracts/plasma_framework/contracts/src/framework/utils/ExitPriority.sol\":{\"keccak256\":\"0x18a6c6b1f8c072e693d855bc8991ea4c51951f9058fd116253a1b8ccb6fc1647\",\"urls\":[\"bzz-raw://a22420b5f647d6108be8a3de23b5dd561f65b12dd804ead7edf5384407a506f3\",\"dweb:/ipfs/QmTd986YDqtwQ1eXqUP4esUBKxGthieXJWkQTsMJzewXgA\"]},\"/Users/nocholas/plasma-contracts/plasma_framework/contracts/src/framework/utils/PriorityQueue.sol\":{\"keccak256\":\"0xf46de2038d5fbc06f1aba7f36e7e02ead27485044ccf25afc2b9ad84ea705991\",\"urls\":[\"bzz-raw://a23fd7ad08f351743c7599fa546a0b54586e7e319c00c3e9d41c3aa10546ec5d\",\"dweb:/ipfs/QmWH32SoQmhyy7CE8u8g412e1AosogVE3eEBjrAh9MABvb\"]},\"/Users/nocholas/plasma-contracts/plasma_framework/contracts/src/framework/utils/Quarantine.sol\":{\"keccak256\":\"0x1b685ea3de626e3d8961d0e384a67c3e87752874784cc2e59777857d130f2390\",\"urls\":[\"bzz-raw://28c30354aa580476f230c4d8e151d34337b923caabc6bccfe560d75ef37d446e\",\"dweb:/ipfs/Qmf9nCYFBhHDyMgHmxX5pSkqLpqb2W3XffPopdkJTHmnAA\"]},\"/Users/nocholas/plasma-contracts/plasma_framework/contracts/src/utils/OnlyFromAddress.sol\":{\"keccak256\":\"0x54d4cb74bf5c448bb383ff4ffce898473739a5ba015e439dae1c092c70df943f\",\"urls\":[\"bzz-raw://5c9efbe363534d6746573b9b0dda687d257272c3ce0123b6a45bc7eef55a40b4\",\"dweb:/ipfs/QmZPLF1bKdU6DAZZcxWfMudUwzeubLxsSk14x8hvUMj15X\"]},\"/Users/nocholas/plasma-contracts/plasma_framework/contracts/src/utils/PosLib.sol\":{\"keccak256\":\"0xd47b38ef93cf913b6b7a3bf608dec2c084108d090cc02b222da3d8eb39819d5f\",\"urls\":[\"bzz-raw://c42d551c21adfa400d08108673b29e4bd1eec70aaa469287571071df3f8f0bc1\",\"dweb:/ipfs/Qmepq632azqUDHt5ypVwmkTfeQG8uP1HYw8x1H3Hdg9K6R\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x4ccf2d7b51873db1ccfd54ca2adae5eac3b184f9699911ed4490438419f1c690\",\"urls\":[\"bzz-raw://d62d769b2219d5de39013093412623e624fa887f871826ea3bae6052ee893610\",\"dweb:/ipfs/QmV3yVktya1s617QmuzQR2CfuJgUi3dR2xEZY9ecmqZ2G1\"]},\"openzeppelin-solidity/contracts/utils/Address.sol\":{\"keccak256\":\"0xf3358e5819ca73357abd6c90bdfffd0474af54364897f6b3e3234c4b71fbe9a1\",\"urls\":[\"bzz-raw://75ae8d04454d1511a2ed986cc8585736f05c5c25280683b3d24712a9f414a4bf\",\"dweb:/ipfs/Qmb3kNCoBUZdah1AgBBD4zMk898j5Qw8ahT1w5cCMYp5Y3\"]}},\"version\":1}", "bytecode": "0x6080604052600e805460ff191690553480156200001b57600080fd5b5060405162003a8538038062003a858339810160408190526200003e91620000d5565b600285026003556004938455928402600955600a91909155600e8054610100600160a81b0319166101006001600160a01b03938416021790556103e8600f81905560105560016011556012805460ff19169055601492909255601580546001600160a01b031916929091169190911790556200018f565b8051620000c2816200016a565b92915050565b8051620000c28162000184565b600080600080600060a08688031215620000ee57600080fd5b6000620000fc8888620000c8565b95505060206200010f88828901620000c8565b94505060406200012288828901620000c8565b93505060606200013588828901620000b5565b92505060806200014888828901620000b5565b9150509295509295909350565b60006001600160a01b038216620000c2565b90565b620001758162000155565b81146200018157600080fd5b50565b620001758162000167565b6138e6806200019f6000396000f3fe60806040523480156200001157600080fd5b5060043610620002685760003560e01c80638e29be31116200014d578063c77b1ed611620000c9578063dfb494f01162000087578063dfb494f01462000520578063ebde2ec91462000537578063f25b3f99146200054e578063f2e208e71462000575578063ff27b189146200058c5762000268565b8063c77b1ed614620004ba578063cf049cad14620004d1578063d4a2b4ef14620004e8578063d9aa4b2414620004f2578063dbe3913214620005095762000268565b8063a8cabcd51162000117578063a8cabcd51462000461578063af079764146200046b578063baa476941462000482578063be5ac6981462000499578063bf7e214f14620004b05762000268565b80638e29be31146200041f578063a11dcc341462000436578063a239e5a21462000440578063a831fa0714620004575762000268565b80634ca8714f11620001e9578063788bc78c11620001a7578063788bc78c14620003aa5780637f8523d114620003c15780638701fc5d14620003d85780638c39622014620003e25780638c64ea4a14620004085762000268565b80634ca8714f146200035e5780634e0f7436146200036857806354fd4d5014620003725780635a102dae146200037c5780636a51fd6314620003935762000268565b80632f75f18711620002375780632f75f18714620002e75780633701b5ca14620002fe57806338a9e0bc146200032457806345f20935146200032e5780634b0a72bc14620003455762000268565b80630d8e6e2c146200026d5780630e71ee02146200028f57806317d73e1b14620002a8578063296d542714620002c1575b600080fd5b6200027762000596565b60405162000286919062002ac1565b60405180910390f35b6200029962000631565b60405162000286919062002a82565b620002bf620002b936600462001f0a565b6200063a565b005b620002d8620002d236600462001fa6565b620006e0565b60405162000286919062002d26565b62000299620002f836600462001ec4565b62000785565b620003156200030f36600462001f0a565b620007e9565b60405162000286919062002ab1565b620002d862000804565b620002bf6200033f36600462001fa6565b6200080a565b6200034f620008ff565b60405162000286919062002a72565b620002d86200090e565b620002bf62000914565b620002776200098f565b620002996200038d36600462001ea3565b62000a21565b620002bf620003a436600462001fa6565b62000a5e565b620002bf620003bb36600462001f2b565b62000bc5565b620002d8620003d23660046200204f565b62000c14565b620002d862000e0e565b620003f9620003f336600462001f0a565b62000e1c565b60405162000286919062002d93565b6200034f6200041936600462001f0a565b62000e31565b620002996200043036600462001f0a565b62000e4c565b620002bf62000e61565b620002d86200045136600462001ea3565b62000f17565b620002d862000f32565b620002d862000f38565b6200034f6200047c36600462001f0a565b62000f3e565b620002bf6200049336600462001f0a565b62000f59565b620002d8620004aa36600462001f0a565b62001027565b6200034f62001124565b62000299620004cb36600462001fa6565b62001138565b62000315620004e236600462001f0a565b62001154565b620002d86200116f565b620002bf6200050336600462001fe5565b62001175565b620002bf6200051a36600462001ec4565b62001652565b620002d86200053136600462001ea3565b6200173b565b620002996200054836600462001f0a565b62001756565b620005656200055f36600462001f0a565b6200179c565b6040516200028692919062002a92565b620002bf62000586366004620020e4565b620017b5565b620002bf6200196f565b60168054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620006265780601f10620005fa5761010080835404028352916020019162000626565b820191906000526020600020905b8154815290600101906020018083116200060857829003601f168201915b505050505090505b90565b60125460ff1681565b33600090815260066020526040902054620006725760405162461bcd60e51b8152600401620006699062002b88565b60405180910390fd5b6200068560083363ffffffff62001a0616565b15620006a55760405162461bcd60e51b8152600401620006699062002b52565b80620006c55760405162461bcd60e51b8152600401620006699062002b9a565b6000908152600d60205260409020805460ff19166001179055565b600080620006ef848462001a24565b6000818152600c602090815260409182902054825163d6362e9760e01b815292519394506001600160a01b03169263d6362e97926004808201939291829003018186803b1580156200074057600080fd5b505afa15801562000755573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506200077b919081019062001f85565b9150505b92915050565b6000805b82811015620007df57600d6000858584818110620007a357fe5b602090810292909201358352508101919091526040016000205460ff16151560011415620007d65760019150506200077f565b60010162000789565b5060009392505050565b600c602052600090815260409020546001600160a01b031681565b600f5481565b816200082a5760405162461bcd60e51b8152600401620006699062002cde565b600062000838838362001a24565b9050620008458162001a59565b15620008655760405162461bcd60e51b8152600401620006699062002ad4565b604051620008739062001c66565b604051809103906000f08015801562000890573d6000803e3d6000fd5b506000828152600c60205260409081902080546001600160a01b0319166001600160a01b039390931692909217909155517f0a925273fd754a41a580f8214815d5ae8a37367f561b3bd9d91a96730a418a1790620008f2908590859062002d36565b60405180910390a1505050565b6015546001600160a01b031690565b60105481565b33600090815260066020526040902054620009435760405162461bcd60e51b8152600401620006699062002b88565b6200095660083363ffffffff62001a0616565b15620009765760405162461bcd60e51b8152600401620006699062002b52565b600e5460ff166200098357fe5b600e805460ff19169055565b6016805460408051602060026001851615610100026000190190941693909304601f81018490