diff --git a/src/test-services/ethereumBalance/run.sh b/src/test-services/ethereumBalance/run.sh index c4f6dd0..369a2b5 100755 --- a/src/test-services/ethereumBalance/run.sh +++ b/src/test-services/ethereumBalance/run.sh @@ -7,6 +7,6 @@ cd $(dirname "$0") # either development or staging TARGET_NETWORK=${TARGET_NETWORK:=development} -docker build -t ethreum-balance . > /dev/null +docker build -t ethereum-balance . > /dev/null -docker run --network blockchain_home --rm --env-file ".env.$TARGET_NETWORK" ethreum-balance $@ +docker run --network blockchain_home --rm --env-file ".env.$TARGET_NETWORK" ethereum-balance $@ diff --git a/src/test-services/ethereumSend/Bridge.json b/src/test-services/ethereumSend/Bridge.json index b0784c1..ff90709 100644 --- a/src/test-services/ethereumSend/Bridge.json +++ b/src/test-services/ethereumSend/Bridge.json @@ -146,6 +146,10 @@ { "name": "_tokenContract", "type": "address" + }, + { + "name": "limits", + "type": "uint256[2]" } ], "payable": false, @@ -548,21 +552,21 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.5.9+commit.e560f70d\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"getNextParties\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getY\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"a\",\"type\":\"address\"}],\"name\":\"getNextPartyId\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"startVoting\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"status\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"votes\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getPartyId\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"voteCancelKeygen\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"hash\",\"type\":\"bytes32\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getNextValidators\",\"outputs\":[{\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_epoch\",\"type\":\"uint256\"}],\"name\":\"getParties\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_epoch\",\"type\":\"uint256\"}],\"name\":\"getThreshold\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"dbTransfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getX\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"exchange\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"tokenContract\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"validator\",\"type\":\"address\"}],\"name\":\"voteAddValidator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getNextThreshold\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"epoch\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"voteStartKeygen\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"validator\",\"type\":\"address\"}],\"name\":\"voteRemoveValidator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"x\",\"type\":\"uint256\"},{\"name\":\"y\",\"type\":\"uint256\"}],\"name\":\"confirmKeygen\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getParties\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"votesCount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"nextEpoch\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getValidators\",\"outputs\":[{\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"threshold\",\"type\":\"uint256\"}],\"name\":\"voteChangeThreshold\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"dbTransferCount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"confirmFundsTransfer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getThreshold\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"threshold\",\"type\":\"uint256\"},{\"name\":\"validators\",\"type\":\"address[]\"},{\"name\":\"_tokenContract\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"ExchangeRequest\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"oldEpoch\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"newEpoch\",\"type\":\"uint256\"}],\"name\":\"NewEpoch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"NewEpochCancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"oldEpoch\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"newEpoch\",\"type\":\"uint256\"}],\"name\":\"NewFundsTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"epoch\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"x\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"y\",\"type\":\"uint256\"}],\"name\":\"EpochStart\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/kirillfedoseev/Innopolis/My own projects/bridge/bridge/src/deploy/deploy-home/contracts/Bridge.sol\":\"Bridge\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":3},\"remappings\":[]},\"sources\":{\"/Users/kirillfedoseev/Innopolis/My own projects/bridge/bridge/src/deploy/deploy-home/contracts/Bridge.sol\":{\"keccak256\":\"0x73a3a0efc93ca1c70abad9fdd3fb1cdb6e754e122762d25b9103de75258d5873\",\"urls\":[\"bzzr://007028ff56fb42827eecec16a9b93ed566f8e0500b6484cdcafa4448beb3075d\",\"dweb:/ipfs/QmdG1vtHPMjy7sNKoxmCnLszousHhtPQpYWnD1K5hZ6qfk\"]},\"/Users/kirillfedoseev/Innopolis/My own projects/bridge/bridge/src/deploy/deploy-home/contracts/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x90e8c2521653bbb1768b05889c5760031e688d9cd361f167489b89215e201b95\",\"urls\":[\"bzzr://aa8b45b57edafc3d67bc5d916327ea16807fae33f753ca163ae0c4061b789766\",\"dweb:/ipfs/QmP5NaEwZthQeM2ESz4WTT3osrP7jhbvu7ocbttBi2JAw6\"]}},\"version\":1}", - "bytecode": "0x60806040523480156200001157600080fd5b5060405162001b3438038062001b34833981810160405260608110156200003757600080fd5b8151602083018051919392830192916401000000008111156200005957600080fd5b820160208101848111156200006d57600080fd5b81518560208202830111640100000000821117156200008b57600080fd5b505060209091015181519193509150620000a457600080fd5b81518310620000b257600080fd5b600880546001600160a01b0319166001600160a01b038316179055600060068190556005805460ff1916600217905560016007819055604080516080810182528581526020808201889052918101849052606081018490529183529182528051805191927fada5013122d395ba3c54772283fb069b10426056ef8ca54750cb9bb552a59e7d92620001479284920190620001a2565b50602082015181600101556040820151816002015560608201518160030155905050600160007f3ef85928df9ae51bdb3eb4c00ec73b92b82307f319ac1b029de14796a097260960405160405180910390a350505062000236565b828054828255906000526020600020908101928215620001fa579160200282015b82811115620001fa57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190620001c3565b50620002089291506200020c565b5090565b6200023391905b80821115620002085780546001600160a01b031916815560010162000213565b90565b6118ee80620002466000396000f3fe608060405234801561001057600080fd5b506004361061016a5760003560e01c8063073ce82d1461016f5780630b7f166514610189578063197d6ca4146101915780631ec6b60a146101b7578063200d2ed2146101c15780632b38cd96146101ed5780632fb0fc6f1461021e57806339f0ebb1146102265780633feb1bd81461022e57806340cddab314610260578063447fe289146102b85780634615d5e9146102d557806349f92f63146102f25780635197c7aa1461030f578063535565591461031757806355a373d61461033457806357456f22146103585780638199d3fd1461037e578063900cf0cf14610386578063915eb0e71461038e5780639bf6a74a14610396578063a7699d02146103bc578063a8311aa8146103df578063aae46bab146103e7578063aea0e78b14610404578063b7ab4db51461040c578063cc8ee06514610414578063d09fc00414610431578063df7852301461044e578063e75235b814610456575b600080fd5b61017761045e565b60408051918252519081900360200190f35b610177610471565b610177600480360360208110156101a757600080fd5b50356001600160a01b0316610489565b6101bf6104f6565b005b6101c9610621565b604051808260038111156101d957fe5b60ff16815260200191505060405180910390f35b61020a6004803603602081101561020357600080fd5b503561062a565b604080519115158252519081900360200190f35b61017761063f565b6101bf6106a9565b6101bf6004803603606081101561024457600080fd5b508035906001600160a01b036020820135169060400135610795565b6102686108f5565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102a457818101518382015260200161028c565b505050509050019250505060405180910390f35b610177600480360360208110156102ce57600080fd5b5035610960565b610177600480360360208110156102eb57600080fd5b5035610972565b61020a6004803603602081101561030857600080fd5b5035610987565b61017761099c565b6101bf6004803603602081101561032d57600080fd5b50356109b4565b61033c610adc565b604080516001600160a01b039092168252519081900360200190f35b6101bf6004803603602081101561036e57600080fd5b50356001600160a01b0316610aeb565b610177610c2b565b610177610c38565b6101bf610c3e565b6101bf600480360360208110156103ac57600080fd5b50356001600160a01b0316610d2d565b6101bf600480360360408110156103d257600080fd5b5080359060200135610e3c565b610177610fa8565b610177600480360360208110156103fd57600080fd5b5035610fb5565b610177610fc7565b610268610fcd565b6101bf6004803603602081101561042a57600080fd5b5035611036565b6101776004803603602081101561044757600080fd5b50356110ff565b6101bf611111565b610177611261565b600061046b600754610960565b90505b90565b60065460009081526020819052604090206003015490565b600060606104956108f5565b905060005b6104a261045e565b8110156104ea57836001600160a01b03168282815181106104bf57fe5b60200260200101516001600160a01b031614156104e25760010191506104f19050565b60010161049a565b5060009150505b919050565b600060055460ff16600381111561050957fe5b14806105255750600160055460ff16600381111561052357fe5b145b610575576040805162461bcd60e51b815260206004820152601c60248201527b4e6f7420696e207265616479206f7220766f74696e6720737461746560201b604482015290519081900360640190fd5b61057d61063f565b6105bc576040805162461bcd60e51b8152602060048201526017602482015260008051602061189a833981519152604482015290519081900360640190fd5b6105c6600261126e565b1561061f576007805460019081018083556005805460ff19168317905560068054600090815260208190526040808220850154938252808220909401929092555481528181209254815220815461061d929061179f565b505b565b60055460ff1681565b60046020526000908152604090205460ff1681565b6000606061064b610fcd565b905060005b610658610fa8565b8110156106a057336001600160a01b031682828151811061067557fe5b60200260200101516001600160a01b0316141561069857600101915061046e9050565b600101610650565b50600091505090565b600260055460ff1660038111156106bc57fe5b14610704576040805162461bcd60e51b81526020600482015260136024820152724e6f7420696e206b657967656e20737461746560681b604482015290519081900360640190fd5b61070c61063f565b61074b576040805162461bcd60e51b8152602060048201526017602482015260008051602061189a833981519152604482015290519081900360640190fd5b610755600761126e565b1561061f576005805460ff191660011790556007546040517fddbb65cfe1ae4aec03cef0f9667c6d7ba3740927d0c60f4dd4d7104cc31d180a90600090a2565b600060055460ff1660038111156107a857fe5b14806107c45750600160055460ff1660038111156107c257fe5b145b610814576040805162461bcd60e51b815260206004820152601c60248201527b4e6f7420696e207265616479206f7220766f74696e6720737461746560201b604482015290519081900360640190fd5b61081c61063f565b61085b576040805162461bcd60e51b8152602060048201526017602482015260008051602061189a833981519152604482015290519081900360640190fd5b61086860088484846112c5565b156108f0576008546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b1580156108c357600080fd5b505af11580156108d7573d6000803e3d6000fd5b505050506040513d60208110156108ed57600080fd5b50505b505050565b6007546000908152602081815260409182902080548351818402810184019094528084526060939283018282801561095657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610938575b5050505050905090565b60009081526020819052604090205490565b60009081526020819052604090206001015490565b60026020526000908152604090205460ff1681565b60065460009081526020819052604090206002015490565b600060055460ff1660038111156109c757fe5b14610a0e576040805162461bcd60e51b81526020600482015260126024820152714e6f7420696e20726561647920737461746560701b604482015290519081900360640190fd5b6402540be400811015610a2057600080fd5b600854604080516323b872dd60e01b81523360048201523060248201526044810184905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b158015610a7a57600080fd5b505af1158015610a8e573d6000803e3d6000fd5b505050506040513d6020811015610aa457600080fd5b50506040805182815290517f62e1f484b3909b2c013673bad76a9f14b010600ba983f11ad26e83082883570e9181900360200190a150565b6008546001600160a01b031681565b600160055460ff166003811115610afe57fe5b14610b46576040805162461bcd60e51b81526020600482015260136024820152724e6f7420696e20766f74696e6720737461746560681b604482015290519081900360640190fd5b610b4e61063f565b610b8d576040805162461bcd60e51b8152602060048201526017602482015260008051602061189a833981519152604482015290519081900360640190fd5b610b9681610489565b15610bde576040805162461bcd60e51b815260206004820152601360248201527220b63932b0b23c9030903b30b634b230ba37b960691b604482015290519081900360640190fd5b610be9600382611342565b1561061d576007546000908152602081815260408220805460018101825590835291200180546001600160a01b0383166001600160a01b031990911617905550565b600061046b600754610972565b60065481565b600160055460ff166003811115610c5157fe5b14610c99576040805162461bcd60e51b81526020600482015260136024820152724e6f7420696e20766f74696e6720737461746560681b604482015290519081900360640190fd5b610ca161063f565b610ce0576040805162461bcd60e51b8152602060048201526017602482015260008051602061189a833981519152604482015290519081900360640190fd5b610cea600661126e565b1561061f576005805460ff191660021790556007546006546040517f3ef85928df9ae51bdb3eb4c00ec73b92b82307f319ac1b029de14796a097260990600090a3565b600160055460ff166003811115610d4057fe5b14610d88576040805162461bcd60e51b81526020600482015260136024820152724e6f7420696e20766f74696e6720737461746560681b604482015290519081900360640190fd5b610d9061063f565b610dcf576040805162461bcd60e51b8152602060048201526017602482015260008051602061189a833981519152604482015290519081900360640190fd5b610dd881610489565b610e23576040805162461bcd60e51b815260206004820152601760248201527620b63932b0b23c903737ba1030903b30b634b230ba37b960491b604482015290519081900360640190fd5b610e2e600482611342565b1561061d5761061d816113b7565b600260055460ff166003811115610e4f57fe5b14610e97576040805162461bcd60e51b81526020600482015260136024820152724e6f7420696e206b657967656e20737461746560681b604482015290519081900360640190fd5b610ea033610489565b610ee8576040805162461bcd60e51b81526020600482015260146024820152732737ba1030903732bc3a103b30b634b230ba37b960611b604482015290519081900360640190fd5b610ef460008383611504565b15610fa457600780546000908152602081905260408082206002018590558254825290206003018290555460011415610f67576005805460ff19169055600754600681905560408051848152602081018490528151600080516020611852833981519152929181900390910190a2610fa4565b6005805460ff191660031790556007546006546040517ff4735b85cc98f9a712832825ecab4cfb1649d658f9a73c57a00ea7dde735c79b90600090a35b5050565b600061046b600654610960565b60036020526000908152604090205481565b60075481565b60065460009081526020818152604091829020805483518184028101840190945280845260609392830182828015610956576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610938575050505050905090565b600160055460ff16600381111561104957fe5b14611091576040805162461bcd60e51b81526020600482015260136024820152724e6f7420696e20766f74696e6720737461746560681b604482015290519081900360640190fd5b61109961063f565b6110d8576040805162461bcd60e51b8152602060048201526017602482015260008051602061189a833981519152604482015290519081900360640190fd5b6110e360058261156d565b1561061d57600754600090815260208190526040902060010155565b60016020526000908152604090205481565b600360055460ff16600381111561112457fe5b14611174576040805162461bcd60e51b815260206004820152601b60248201527a4e6f7420696e2066756e6473207472616e7366657220737461746560281b604482015290519081900360640190fd5b61117c61063f565b6111bb576040805162461bcd60e51b8152602060048201526017602482015260008051602061189a833981519152604482015290519081900360640190fd5b6000600654116111fc5760405162461bcd60e51b81526004018080602001828103825260288152602001806118726028913960400191505060405180910390fd5b61120660016115c5565b1561061f576005805460ff1916905560075460068190556000818152602081815260409182902060028101546003909101548351918252918101919091528151600080516020611852833981519152929181900390910190a2565b600061046b600654610972565b600080826007546040516020018083600881111561128857fe5b60ff1660f81b8152600101828152602001925050506040516020818303038152906040528051906020012090506112be81611615565b9392505050565b60008085858585604051602001808560088111156112df57fe5b60ff1660f81b8152600101848152602001836001600160a01b03166001600160a01b031660601b815260140182815260200194505050505060405160208183030381529060405280519060200120905061133881611615565b9695505050505050565b60008083600754846040516020018084600881111561135d57fe5b60ff1660f81b8152600101838152602001826001600160a01b03166001600160a01b031660601b815260140193505050506040516020818303038152906040528051906020012090506113af81611615565b949350505050565b60005b60016113c461045e565b038110156114a557600754600090815260208190526040902080546001600160a01b0384169190839081106113f557fe5b6000918252602090912001546001600160a01b0316141561149d576007546000908152602081905260409020600161142b61045e565b038154811061143657fe5b6000918252602080832090910154600754835290829052604090912080546001600160a01b03909216918390811061146a57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506114a5565b6001016113ba565b50600754600090815260208190526040902060016114c161045e565b03815481106114cc57fe5b6000918252602080832090910180546001600160a01b0319169055600754825281905260409020805490610fa49060001983016117ef565b6000808460075485856040516020018085600881111561152057fe5b60ff1660f81b8152600101848152602001838152602001828152602001945050505050604051602081830303815290604052805190602001209050611564816116e8565b95945050505050565b60008083600754846040516020018084600881111561158857fe5b60ff1660f81b815260010183815260200182815260200193505050506040516020818303038152906040528051906020012090506113af81611615565b60008082600754604051602001808360088111156115df57fe5b60ff1660f81b8152600101828152602001925050506040516020818303038152906040528051906020012090506112be816116e8565b60008061162183611770565b60008181526004602052604090205490915060ff1615611678576040805162461bcd60e51b815260206004820152600d60248201526c566f74656420616c726561647960981b604482015290519081900360640190fd5b6000818152600460205260409020805460ff19166001179055611699611261565b60008481526003602052604090205414156116cc5750506000818152600360205260409020600160ff1b905560016104f1565b50506000818152600360205260408120805460010190556104f1565b6000806116f483611770565b60008181526004602052604090205490915060ff161561174f576040805162461bcd60e51b8152602060048201526011602482015270436f6e6669726d656420616c726561647960781b604482015290519081900360640190fd5b6000818152600460205260409020805460ff19166001179055611699610c2b565b604080516020808201939093523360601b81830152815180820360340181526054909101909152805191012090565b8280548282559060005260206000209081019282156117df5760005260206000209182015b828111156117df5782548255916001019190600101906117c4565b506117eb929150611813565b5090565b8154818355818111156108f0576000838152602090206108f0918101908301611837565b61046e91905b808211156117eb5780546001600160a01b0319168155600101611819565b61046e91905b808211156117eb576000815560010161183d56fec33272939f066c227e913a4b3434d860794f185c551685c29451a3a38b9b259c46697273742065706f636820646f6573206e6f74206e6565642066756e6473207472616e736665724e6f7420612063757272656e742076616c696461746f72000000000000000000a265627a7a723058201639ee8e14efd96cafba5d4d7a7f0b48a959f9d972ffbb73eb45f25a080ce83564736f6c63430005090032", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061016a5760003560e01c8063073ce82d1461016f5780630b7f166514610189578063197d6ca4146101915780631ec6b60a146101b7578063200d2ed2146101c15780632b38cd96146101ed5780632fb0fc6f1461021e57806339f0ebb1146102265780633feb1bd81461022e57806340cddab314610260578063447fe289146102b85780634615d5e9146102d557806349f92f63146102f25780635197c7aa1461030f578063535565591461031757806355a373d61461033457806357456f22146103585780638199d3fd1461037e578063900cf0cf14610386578063915eb0e71461038e5780639bf6a74a14610396578063a7699d02146103bc578063a8311aa8146103df578063aae46bab146103e7578063aea0e78b14610404578063b7ab4db51461040c578063cc8ee06514610414578063d09fc00414610431578063df7852301461044e578063e75235b814610456575b600080fd5b61017761045e565b60408051918252519081900360200190f35b610177610471565b610177600480360360208110156101a757600080fd5b50356001600160a01b0316610489565b6101bf6104f6565b005b6101c9610621565b604051808260038111156101d957fe5b60ff16815260200191505060405180910390f35b61020a6004803603602081101561020357600080fd5b503561062a565b604080519115158252519081900360200190f35b61017761063f565b6101bf6106a9565b6101bf6004803603606081101561024457600080fd5b508035906001600160a01b036020820135169060400135610795565b6102686108f5565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102a457818101518382015260200161028c565b505050509050019250505060405180910390f35b610177600480360360208110156102ce57600080fd5b5035610960565b610177600480360360208110156102eb57600080fd5b5035610972565b61020a6004803603602081101561030857600080fd5b5035610987565b61017761099c565b6101bf6004803603602081101561032d57600080fd5b50356109b4565b61033c610adc565b604080516001600160a01b039092168252519081900360200190f35b6101bf6004803603602081101561036e57600080fd5b50356001600160a01b0316610aeb565b610177610c2b565b610177610c38565b6101bf610c3e565b6101bf600480360360208110156103ac57600080fd5b50356001600160a01b0316610d2d565b6101bf600480360360408110156103d257600080fd5b5080359060200135610e3c565b610177610fa8565b610177600480360360208110156103fd57600080fd5b5035610fb5565b610177610fc7565b610268610fcd565b6101bf6004803603602081101561042a57600080fd5b5035611036565b6101776004803603602081101561044757600080fd5b50356110ff565b6101bf611111565b610177611261565b600061046b600754610960565b90505b90565b60065460009081526020819052604090206003015490565b600060606104956108f5565b905060005b6104a261045e565b8110156104ea57836001600160a01b03168282815181106104bf57fe5b60200260200101516001600160a01b031614156104e25760010191506104f19050565b60010161049a565b5060009150505b919050565b600060055460ff16600381111561050957fe5b14806105255750600160055460ff16600381111561052357fe5b145b610575576040805162461bcd60e51b815260206004820152601c60248201527b4e6f7420696e207265616479206f7220766f74696e6720737461746560201b604482015290519081900360640190fd5b61057d61063f565b6105bc576040805162461bcd60e51b8152602060048201526017602482015260008051602061189a833981519152604482015290519081900360640190fd5b6105c6600261126e565b1561061f576007805460019081018083556005805460ff19168317905560068054600090815260208190526040808220850154938252808220909401929092555481528181209254815220815461061d929061179f565b505b565b60055460ff1681565b60046020526000908152604090205460ff1681565b6000606061064b610fcd565b905060005b610658610fa8565b8110156106a057336001600160a01b031682828151811061067557fe5b60200260200101516001600160a01b0316141561069857600101915061046e9050565b600101610650565b50600091505090565b600260055460ff1660038111156106bc57fe5b14610704576040805162461bcd60e51b81526020600482015260136024820152724e6f7420696e206b657967656e20737461746560681b604482015290519081900360640190fd5b61070c61063f565b61074b576040805162461bcd60e51b8152602060048201526017602482015260008051602061189a833981519152604482015290519081900360640190fd5b610755600761126e565b1561061f576005805460ff191660011790556007546040517fddbb65cfe1ae4aec03cef0f9667c6d7ba3740927d0c60f4dd4d7104cc31d180a90600090a2565b600060055460ff1660038111156107a857fe5b14806107c45750600160055460ff1660038111156107c257fe5b145b610814576040805162461bcd60e51b815260206004820152601c60248201527b4e6f7420696e207265616479206f7220766f74696e6720737461746560201b604482015290519081900360640190fd5b61081c61063f565b61085b576040805162461bcd60e51b8152602060048201526017602482015260008051602061189a833981519152604482015290519081900360640190fd5b61086860088484846112c5565b156108f0576008546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b1580156108c357600080fd5b505af11580156108d7573d6000803e3d6000fd5b505050506040513d60208110156108ed57600080fd5b50505b505050565b6007546000908152602081815260409182902080548351818402810184019094528084526060939283018282801561095657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610938575b5050505050905090565b60009081526020819052604090205490565b60009081526020819052604090206001015490565b60026020526000908152604090205460ff1681565b60065460009081526020819052604090206002015490565b600060055460ff1660038111156109c757fe5b14610a0e576040805162461bcd60e51b81526020600482015260126024820152714e6f7420696e20726561647920737461746560701b604482015290519081900360640190fd5b6402540be400811015610a2057600080fd5b600854604080516323b872dd60e01b81523360048201523060248201526044810184905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b158015610a7a57600080fd5b505af1158015610a8e573d6000803e3d6000fd5b505050506040513d6020811015610aa457600080fd5b50506040805182815290517f62e1f484b3909b2c013673bad76a9f14b010600ba983f11ad26e83082883570e9181900360200190a150565b6008546001600160a01b031681565b600160055460ff166003811115610afe57fe5b14610b46576040805162461bcd60e51b81526020600482015260136024820152724e6f7420696e20766f74696e6720737461746560681b604482015290519081900360640190fd5b610b4e61063f565b610b8d576040805162461bcd60e51b8152602060048201526017602482015260008051602061189a833981519152604482015290519081900360640190fd5b610b9681610489565b15610bde576040805162461bcd60e51b815260206004820152601360248201527220b63932b0b23c9030903b30b634b230ba37b960691b604482015290519081900360640190fd5b610be9600382611342565b1561061d576007546000908152602081815260408220805460018101825590835291200180546001600160a01b0383166001600160a01b031990911617905550565b600061046b600754610972565b60065481565b600160055460ff166003811115610c5157fe5b14610c99576040805162461bcd60e51b81526020600482015260136024820152724e6f7420696e20766f74696e6720737461746560681b604482015290519081900360640190fd5b610ca161063f565b610ce0576040805162461bcd60e51b8152602060048201526017602482015260008051602061189a833981519152604482015290519081900360640190fd5b610cea600661126e565b1561061f576005805460ff191660021790556007546006546040517f3ef85928df9ae51bdb3eb4c00ec73b92b82307f319ac1b029de14796a097260990600090a3565b600160055460ff166003811115610d4057fe5b14610d88576040805162461bcd60e51b81526020600482015260136024820152724e6f7420696e20766f74696e6720737461746560681b604482015290519081900360640190fd5b610d9061063f565b610dcf576040805162461bcd60e51b8152602060048201526017602482015260008051602061189a833981519152604482015290519081900360640190fd5b610dd881610489565b610e23576040805162461bcd60e51b815260206004820152601760248201527620b63932b0b23c903737ba1030903b30b634b230ba37b960491b604482015290519081900360640190fd5b610e2e600482611342565b1561061d5761061d816113b7565b600260055460ff166003811115610e4f57fe5b14610e97576040805162461bcd60e51b81526020600482015260136024820152724e6f7420696e206b657967656e20737461746560681b604482015290519081900360640190fd5b610ea033610489565b610ee8576040805162461bcd60e51b81526020600482015260146024820152732737ba1030903732bc3a103b30b634b230ba37b960611b604482015290519081900360640190fd5b610ef460008383611504565b15610fa457600780546000908152602081905260408082206002018590558254825290206003018290555460011415610f67576005805460ff19169055600754600681905560408051848152602081018490528151600080516020611852833981519152929181900390910190a2610fa4565b6005805460ff191660031790556007546006546040517ff4735b85cc98f9a712832825ecab4cfb1649d658f9a73c57a00ea7dde735c79b90600090a35b5050565b600061046b600654610960565b60036020526000908152604090205481565b60075481565b60065460009081526020818152604091829020805483518184028101840190945280845260609392830182828015610956576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610938575050505050905090565b600160055460ff16600381111561104957fe5b14611091576040805162461bcd60e51b81526020600482015260136024820152724e6f7420696e20766f74696e6720737461746560681b604482015290519081900360640190fd5b61109961063f565b6110d8576040805162461bcd60e51b8152602060048201526017602482015260008051602061189a833981519152604482015290519081900360640190fd5b6110e360058261156d565b1561061d57600754600090815260208190526040902060010155565b60016020526000908152604090205481565b600360055460ff16600381111561112457fe5b14611174576040805162461bcd60e51b815260206004820152601b60248201527a4e6f7420696e2066756e6473207472616e7366657220737461746560281b604482015290519081900360640190fd5b61117c61063f565b6111bb576040805162461bcd60e51b8152602060048201526017602482015260008051602061189a833981519152604482015290519081900360640190fd5b6000600654116111fc5760405162461bcd60e51b81526004018080602001828103825260288152602001806118726028913960400191505060405180910390fd5b61120660016115c5565b1561061f576005805460ff1916905560075460068190556000818152602081815260409182902060028101546003909101548351918252918101919091528151600080516020611852833981519152929181900390910190a2565b600061046b600654610972565b600080826007546040516020018083600881111561128857fe5b60ff1660f81b8152600101828152602001925050506040516020818303038152906040528051906020012090506112be81611615565b9392505050565b60008085858585604051602001808560088111156112df57fe5b60ff1660f81b8152600101848152602001836001600160a01b03166001600160a01b031660601b815260140182815260200194505050505060405160208183030381529060405280519060200120905061133881611615565b9695505050505050565b60008083600754846040516020018084600881111561135d57fe5b60ff1660f81b8152600101838152602001826001600160a01b03166001600160a01b031660601b815260140193505050506040516020818303038152906040528051906020012090506113af81611615565b949350505050565b60005b60016113c461045e565b038110156114a557600754600090815260208190526040902080546001600160a01b0384169190839081106113f557fe5b6000918252602090912001546001600160a01b0316141561149d576007546000908152602081905260409020600161142b61045e565b038154811061143657fe5b6000918252602080832090910154600754835290829052604090912080546001600160a01b03909216918390811061146a57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506114a5565b6001016113ba565b50600754600090815260208190526040902060016114c161045e565b03815481106114cc57fe5b6000918252602080832090910180546001600160a01b0319169055600754825281905260409020805490610fa49060001983016117ef565b6000808460075485856040516020018085600881111561152057fe5b60ff1660f81b8152600101848152602001838152602001828152602001945050505050604051602081830303815290604052805190602001209050611564816116e8565b95945050505050565b60008083600754846040516020018084600881111561158857fe5b60ff1660f81b815260010183815260200182815260200193505050506040516020818303038152906040528051906020012090506113af81611615565b60008082600754604051602001808360088111156115df57fe5b60ff1660f81b8152600101828152602001925050506040516020818303038152906040528051906020012090506112be816116e8565b60008061162183611770565b60008181526004602052604090205490915060ff1615611678576040805162461bcd60e51b815260206004820152600d60248201526c566f74656420616c726561647960981b604482015290519081900360640190fd5b6000818152600460205260409020805460ff19166001179055611699611261565b60008481526003602052604090205414156116cc5750506000818152600360205260409020600160ff1b905560016104f1565b50506000818152600360205260408120805460010190556104f1565b6000806116f483611770565b60008181526004602052604090205490915060ff161561174f576040805162461bcd60e51b8152602060048201526011602482015270436f6e6669726d656420616c726561647960781b604482015290519081900360640190fd5b6000818152600460205260409020805460ff19166001179055611699610c2b565b604080516020808201939093523360601b81830152815180820360340181526054909101909152805191012090565b8280548282559060005260206000209081019282156117df5760005260206000209182015b828111156117df5782548255916001019190600101906117c4565b506117eb929150611813565b5090565b8154818355818111156108f0576000838152602090206108f0918101908301611837565b61046e91905b808211156117eb5780546001600160a01b0319168155600101611819565b61046e91905b808211156117eb576000815560010161183d56fec33272939f066c227e913a4b3434d860794f185c551685c29451a3a38b9b259c46697273742065706f636820646f6573206e6f74206e6565642066756e6473207472616e736665724e6f7420612063757272656e742076616c696461746f72000000000000000000a265627a7a723058201639ee8e14efd96cafba5d4d7a7f0b48a959f9d972ffbb73eb45f25a080ce83564736f6c63430005090032", - "sourceMap": "93:9416:0:-;;;1318:394;8:9:-1;5:2;;;30:1;27;20:12;5:2;1318:394:0;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1318:394:0;;;;;;;;;;;;;;19:11:-1;11:20;;8:2;;;44:1;41;34:12;8:2;62:21;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;219:3;213:10;331:9;325:2;311:12;307:21;289:16;285:44;282:59;261:11;247:12;244:29;233:116;230:2;;;362:1;359;352:12;230:2;-1:-1;;1318:394:0;;;;;1424:17;;1318:394;;-1:-1:-1;1318:394:0;-1:-1:-1;1416:30:0;;;;;;1476:10;:17;1464:9;:29;1456:38;;;;;;1505:13;:38;;-1:-1:-1;;;;;;1505:38:0;-1:-1:-1;;;;;1505:38:0;;;;;-1:-1:-1;1554:5:0;:9;;;1573:6;:22;;-1:-1:-1;;1573:22:0;-1:-1:-1;1573:22:0;;;-1:-1:-1;1605:9:0;:13;;;1641:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1629:9;;;;;;:46;;;;1641:34;;1629:9;;:46;;:9;;:46;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1703:1;1700;1691:14;;;;;;;;;;1318:394;;;93:9416;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;93:9416:0;-1:-1:-1;;;;;93:9416:0;;;;;;;;;;;-1:-1:-1;93:9416:0;;;;;;;-1:-1:-1;93:9416:0;;;-1:-1:-1;93:9416:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;;93:9416:0;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "93:9416:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;93:9416:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3908:98;;;:::i;:::-;;;;;;;;;;;;;;;;4546:82;;;:::i;4904:276::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4904:276:0;-1:-1:-1;;;;;4904:276:0;;:::i;5430:317::-;;;:::i;:::-;;1240:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1196:37;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1196:37:0;;:::i;:::-;;;;;;;;;;;;;;;;;;4634:264;;;:::i;7179:203::-;;;:::i;2652:213::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2652:213:0;;;-1:-1:-1;;;;;2652:213:0;;;;;;;;;;:::i;5304:120::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5304:120:0;;;;;;;;;;;;;;;;;4012:116;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4012:116:0;;:::i;4342:110::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4342:110:0;;:::i;1100:42::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1100:42:0;;:::i;4458:82::-;;;:::i;2452:194::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2452:194:0;;:::i;1718:27::-;;;:::i;:::-;;;;-1:-1:-1;;;;;1718:27:0;;;;;;;;;;;;;;5753:278;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5753:278:0;-1:-1:-1;;;;;5753:278:0;;:::i;4234:102::-;;;:::i;1267:17::-;;;:::i;6974:199::-;;;:::i;6037:271::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6037:271:0;-1:-1:-1;;;;;6037:271:0;;:::i;2871:578::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2871:578:0;;;;;;;:::i;3812:90::-;;;:::i;1148:42::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1148:42:0;;:::i;1290:21::-;;;:::i;5186:112::-;;;:::i;6765:203::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6765:203:0;;:::i;1047:47::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1047:47:0;;:::i;3455:351::-;;;:::i;4134:94::-;;;:::i;3908:98::-;3955:4;3978:21;3989:9;;3978:10;:21::i;:::-;3971:28;;3908:98;;:::o;4546:82::-;4613:5;;4583:4;4606:13;;;;;;;;;;:15;;;4546:82;:::o;4904:276::-;4960:4;4976:27;5006:19;:17;:19::i;:::-;4976:49;-1:-1:-1;5040:6:0;5035:121;5056:16;:14;:16::i;:::-;5052:1;:20;5035:121;;;5114:1;-1:-1:-1;;;;;5097:18:0;:10;5108:1;5097:13;;;;;;;;;;;;;;-1:-1:-1;;;;;5097:18:0;;5093:52;;;5144:1;5140:5;;-1:-1:-1;5133:12:0;;-1:-1:-1;5133:12:0;5093:52;5074:3;;5035:121;;;;5172:1;5165:8;;;4904:276;;;;:::o;5430:317::-;1905:12;1895:6;;;;:22;;;;;;;;;:49;;;-1:-1:-1;1931:13:0;1921:6;;;;:23;;;;;;;;;1895:49;1887:90;;;;;-1:-1:-1;;;1887:90:0;;;;;;;;;;;;-1:-1:-1;;;1887:90:0;;;;;;;;;;;;;;;2383:12;:10;:12::i;:::-;2375:53;;;;;-1:-1:-1;;;2375:53:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2375:53:0;;;;;;;;;;;;;;;5505:26;5513:17;5505:7;:26::i;:::-;5501:240;;;5547:9;:11;;;;;;;;;5572:6;:22;;-1:-1:-1;;5572:22:0;;;;;5645:5;;;-1:-1:-1;5638:13:0;;;;;;;;;;;:23;;;5608:17;;;;;;:27;;;:53;;;;5713:5;5706:13;;;;;5682:9;;5675:17;;;:55;;;;5706:13;5675:55;:::i;:::-;;5501:240;5430:317::o;1240:20::-;;;;;;:::o;1196:37::-;;;;;;;;;;;;;;;:::o;4634:264::-;4677:4;4693:27;4723:15;:13;:15::i;:::-;4693:45;-1:-1:-1;4753:6:0;4748:126;4769:12;:10;:12::i;:::-;4765:1;:16;4748:126;;;4823:10;-1:-1:-1;;;;;4806:27:0;:10;4817:1;4806:13;;;;;;;;;;;;;;-1:-1:-1;;;;;4806:27:0;;4802:61;;;4862:1;4858:5;;-1:-1:-1;4851:12:0;;-1:-1:-1;4851:12:0;4802:61;4783:3;;4748:126;;;;4890:1;4883:8;;;4634:264;:::o;7179:203::-;2150:13;2140:6;;;;:23;;;;;;;;;2132:55;;;;;-1:-1:-1;;;2132:55:0;;;;;;;;;;;;-1:-1:-1;;;2132:55:0;;;;;;;;;;;;;;;2383:12;:10;:12::i;:::-;2375:53;;;;;-1:-1:-1;;;2375:53:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2375:53:0;;;;;;;;;;;;;;;7252:27;7260:18;7252:7;:27::i;:::-;7248:128;;;7295:6;:22;;-1:-1:-1;;7295:22:0;7304:13;7295:22;;;7355:9;;7337:28;;;;-1:-1:-1;;7337:28:0;7179:203::o;2652:213::-;1905:12;1895:6;;;;:22;;;;;;;;;:49;;;-1:-1:-1;1931:13:0;1921:6;;;;:23;;;;;;;;;1895:49;1887:90;;;;;-1:-1:-1;;;1887:90:0;;;;;;;;;;;;-1:-1:-1;;;1887:90:0;;;;;;;;;;;;;;;2383:12;:10;:12::i;:::-;2375:53;;;;;-1:-1:-1;;;2375:53:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2375:53:0;;;;;;;;;;;;;;;2760:39;2768:13;2783:4;2789:2;2793:5;2760:7;:39::i;:::-;2756:103;;;2815:13;;:33;;;-1:-1:-1;;;2815:33:0;;-1:-1:-1;;;;;2815:33:0;;;;;;;;;;;;;;;:13;;;;;:22;;:33;;;;;;;;;;;;;;:13;;:33;;;5:2:-1;;;;30:1;27;20:12;5:2;2815:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2815:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;2756:103:0;2652:213;;;:::o;5304:120::-;5396:9;;5389:6;:17;;;;;;;;;;;;5382:35;;;;;;;;;;;;;;;;;5354:16;;5382:35;;;5389:17;5382:35;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5382:35:0;;;;;;;;;;;;;;;;;;;;;;;5304:120;:::o;4012:116::-;4066:4;4089:14;;;;;;;;;;:32;;4012:116::o;4342:110::-;4398:4;4421:14;;;;;;;;;;:24;;;;4342:110::o;1100:42::-;;;;;;;;;;;;;;;:::o;4458:82::-;4525:5;;4495:4;4518:13;;;;;;;;;;:15;;;4458:82;:::o;2452:194::-;1795:12;1785:6;;;;:22;;;;;;;;;1777:53;;;;;-1:-1:-1;;;1777:53:0;;;;;;;;;;;;-1:-1:-1;;;1777:53:0;;;;;;;;;;;;;;;2522:8;2513:5;:17;;2505:26;;;;;;2542:13;;:60;;;-1:-1:-1;;;2542:60:0;;2569:10;2542:60;;;;2589:4;2542:60;;;;;;;;;;;;-1:-1:-1;;;;;2542:13:0;;;;:26;;:60;;;;;;;;;;;;;;;:13;;:60;;;5:2:-1;;;;30:1;27;20:12;5:2;2542:60:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2542:60:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;2617:22:0;;;;;;;;;;;;;2542:60;2617:22;;;2452:194;:::o;1718:27::-;;;-1:-1:-1;;;;;1718:27:0;;:::o;5753:278::-;2045:13;2035:6;;;;:23;;;;;;;;;2027:55;;;;;-1:-1:-1;;;2027:55:0;;;;;;;;;;;;-1:-1:-1;;;2027:55:0;;;;;;;;;;;;;;;2383:12;:10;:12::i;:::-;2375:53;;;;;-1:-1:-1;;;2375:53:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2375:53:0;;;;;;;;;;;;;;;5847:25;5862:9;5847:14;:25::i;:::-;:30;5839:62;;;;;-1:-1:-1;;;5839:62:0;;;;;;;;;;;;-1:-1:-1;;;5839:62:0;;;;;;;;;;;;;;;5916:38;5924:18;5944:9;5916:7;:38::i;:::-;5912:113;;;5977:9;;5970:6;:17;;;;;;;;;;27:10:-1;;39:1;23:18;;45:23;;5970:44:0;;;;;;;;-1:-1:-1;;;;;5970:44:0;;-1:-1:-1;;;;;;5970:44:0;;;;;;5753:278;:::o;4234:102::-;4283:4;4306:23;4319:9;;4306:12;:23::i;1267:17::-;;;;:::o;6974:199::-;2045:13;2035:6;;;;:23;;;;;;;;;2027:55;;;;;-1:-1:-1;;;2027:55:0;;;;;;;;;;;;-1:-1:-1;;;2027:55:0;;;;;;;;;;;;;;;2383:12;:10;:12::i;:::-;2375:53;;;;;-1:-1:-1;;;2375:53:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2375:53:0;;;;;;;;;;;;;;;7046:26;7054:17;7046:7;:26::i;:::-;7042:125;;;7088:6;:22;;-1:-1:-1;;7088:22:0;7097:13;7088:22;;;7146:9;;7139:5;;7130:26;;;;-1:-1:-1;;7130:26:0;6974:199::o;6037:271::-;2045:13;2035:6;;;;:23;;;;;;;;;2027:55;;;;;-1:-1:-1;;;2027:55:0;;;;;;;;;;;;-1:-1:-1;;;2027:55:0;;;;;;;;;;;;;;;2383:12;:10;:12::i;:::-;2375:53;;;;;-1:-1:-1;;;2375:53:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2375:53:0;;;;;;;;;;;;;;;6134:25;6149:9;6134:14;:25::i;:::-;6126:66;;;;;-1:-1:-1;;;6126:66:0;;;;;;;;;;;;-1:-1:-1;;;6126:66:0;;;;;;;;;;;;;;;6207:41;6215:21;6238:9;6207:7;:41::i;:::-;6203:99;;;6264:27;6281:9;6264:16;:27::i;2871:578::-;2150:13;2140:6;;;;:23;;;;;;;;;2132:55;;;;;-1:-1:-1;;;2132:55:0;;;;;;;;;;;;-1:-1:-1;;;2132:55:0;;;;;;;;;;;;;;;2942:26;2957:10;2942:14;:26::i;:::-;2934:64;;;;;-1:-1:-1;;;2934:64:0;;;;;;;;;;;;-1:-1:-1;;;2934:64:0;;;;;;;;;;;;;;;3013:37;3024:19;3045:1;3048;3013:10;:37::i;:::-;3009:434;;;3073:9;;;3066:6;:17;;;;;;;;;;;:19;;:23;;;3110:9;;3103:17;;;;:19;;:23;;;3144:9;3157:1;3144:14;3140:293;;;3178:6;:21;;-1:-1:-1;;3178:21:0;;;3225:9;;3217:5;:17;;;3257:23;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3257:23:0;;;;;;;;;;3140:293;;;3331:6;:30;;-1:-1:-1;;3331:30:0;3340:21;3331:30;;;3408:9;;3401:5;;3384:34;;;;-1:-1:-1;;3384:34:0;3140:293;2871:578;;:::o;3812:90::-;3855:4;3878:17;3889:5;;3878:10;:17::i;1148:42::-;;;;;;;;;;;;;:::o;1290:21::-;;;;:::o;5186:112::-;5274:5;;5267:6;:13;;;;;;;;;;;;5260:31;;;;;;;;;;;;;;;;;5232:16;;5260:31;;;5267:13;5260:31;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5260:31:0;;;;;;;;;;;;;;;;;;;;;;5186:112;:::o;6765:203::-;2045:13;2035:6;;;;:23;;;;;;;;;2027:55;;;;;-1:-1:-1;;;2027:55:0;;;;;;;;;;;;-1:-1:-1;;;2027:55:0;;;;;;;;;;;;;;;2383:12;:10;:12::i;:::-;2375:53;;;;;-1:-1:-1;;;2375:53:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2375:53:0;;;;;;;;;;;;;;;6855:41;6863:21;6886:9;6855:7;:41::i;:::-;6851:111;;;6919:9;;6912:6;:17;;;;;;;;;;:27;;:39;6765:203::o;1047:47::-;;;;;;;;;;;;;:::o;3455:351::-;2262:21;2252:6;;;;:31;;;;;;;;;2244:71;;;;;-1:-1:-1;;;2244:71:0;;;;;;;;;;;;-1:-1:-1;;;2244:71:0;;;;;;;;;;;;;;;2383:12;:10;:12::i;:::-;2375:53;;;;;-1:-1:-1;;;2375:53:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2375:53:0;;;;;;;;;;;;;;;3551:1;3543:5;;:9;3535:62;;;;-1:-1:-1;;;3535:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3612:39;3623:27;3612:10;:39::i;:::-;3608:192;;;3667:6;:21;;-1:-1:-1;;3667:21:0;;;3710:9;;3702:5;:17;;;3676:12;3756:13;;;;;;;;;;;;:15;;;;3773;;;;;3738:51;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3738:51:0;;;;;;;;;;3455:351::o;4134:94::-;4179:4;4202:19;4215:5;;4202:12;:19::i;7388:165::-;7437:4;7453:12;7495:8;7505:9;;7478:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7478:37:0;;;7468:48;;;;;;7453:63;;7533:13;7541:4;7533:7;:13::i;:::-;7526:20;7388:165;-1:-1:-1;;;7388:165:0:o;7936:209::-;8023:4;8039:12;8081:8;8091:4;8097:2;8101:5;8064:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8064:43:0;-1:-1:-1;;;;;8064:43:0;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;8064:43:0;;;8054:54;;;;;;8039:69;;8125:13;8133:4;8125:7;:13::i;:::-;8118:20;7936:209;-1:-1:-1;;;;;;7936:209:0:o;7559:185::-;7622:4;7638:12;7680:8;7690:9;;7701:4;7663:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7663:43:0;-1:-1:-1;;;;;7663:43:0;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7663:43:0;;;7653:54;;;;;;7638:69;;7724:13;7732:4;7724:7;:13::i;:::-;7717:20;7559:185;-1:-1:-1;;;;7559:185:0:o;6314:445::-;6382:6;6377:262;6417:1;6398:16;:14;:16::i;:::-;:20;6394:1;:24;6377:262;;;6450:9;;6443:6;:17;;;;;;;;;;:31;;-1:-1:-1;;;;;6443:44:0;;;:17;6472:1;;6443:31;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6443:31:0;:44;6439:190;;;6548:9;;6541:6;:17;;;;;;;;;;6589:1;6570:16;:14;:16::i;:::-;:20;6541:50;;;;;;;;;;;;;;;;;;;;6514:9;;6507:17;;;;;;;;;;:31;;-1:-1:-1;;;;;6541:50:0;;;;6536:1;;6507:31;;;;;;;;;;;;;;:84;;;;;-1:-1:-1;;;;;6507:84:0;;;;;-1:-1:-1;;;;;6507:84:0;;;;;;6609:5;;6439:190;6420:3;;6377:262;;;-1:-1:-1;6662:9:0;;6655:6;:17;;;;;;;;;;6703:1;6684:16;:14;:16::i;:::-;:20;6655:50;;;;;;;;;;;;;;;;;;;6648:57;;-1:-1:-1;;;;;;6648:57:0;;;6722:9;;6715:17;;;;;;;;:37;;;;;-1:-1:-1;;6715:37:0;;;:::i;8328:193::-;8396:4;8412:12;8454:8;8464:9;;8475:1;8478;8437:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;8437:43:0;;;8427:54;;;;;;8412:69;;8498:16;8509:4;8498:10;:16::i;:::-;8491:23;8328:193;-1:-1:-1;;;;;8328:193:0:o;7750:180::-;7809:4;7825:12;7867:8;7877:9;;7888:3;7850:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7850:42:0;;;7840:53;;;;;;7825:68;;7910:13;7918:4;7910:7;:13::i;8151:171::-;8203:4;8219:12;8261:8;8271:9;;8244:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;8244:37:0;;;8234:48;;;;;;8219:63;;8299:16;8310:4;8299:10;:16::i;8527:409::-;8575:4;8591:20;8614:21;8630:4;8614:15;:21::i;:::-;8654:19;;;;:5;:19;;;;;;8591:44;;-1:-1:-1;8654:19:0;;8653:20;8645:46;;;;;-1:-1:-1;;;8645:46:0;;;;;;;;;;;;-1:-1:-1;;;8645:46:0;;;;;;;;;;;;;;;8702:19;;;;:5;:19;;;;;:26;;-1:-1:-1;;8702:26:0;8724:4;8702:26;;;8762:14;:12;:14::i;:::-;8742:16;;;;:10;:16;;;;;;:34;8738:192;;;-1:-1:-1;;8792:16:0;;;;:10;:16;;;;;-1:-1:-1;;;8792:27:0;;8840:4;8833:11;;8738:192;-1:-1:-1;;8875:16:0;;;;:10;:16;;;;;:18;;;;;;8907:12;;8942:420;8993:4;9009:20;9032:21;9048:4;9032:15;:21::i;:::-;9072:19;;;;:5;:19;;;;;;9009:44;;-1:-1:-1;9072:19:0;;9071:20;9063:50;;;;;-1:-1:-1;;;9063:50:0;;;;;;;;;;;;-1:-1:-1;;;9063:50:0;;;;;;;;;;;;;;;9124:19;;;;:5;:19;;;;;:26;;-1:-1:-1;;9124:26:0;9146:4;9124:26;;;9184:18;:16;:18::i;9368:139::-;9465:34;;;;;;;;;;;9488:10;9465:34;;;;;;;;26:21:-1;;;22:32;;6:49;;9465:34:0;;;;;;;9455:45;;;;;;9368:139::o;93:9416::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;93:9416:0;;;-1:-1:-1;93:9416:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;;93:9416:0;;;;;;;;;;;;;;;;;;;;;;;;", - "source": "pragma solidity ^0.5.0;\n\nimport './openzeppelin-solidity/contracts/token/ERC20/IERC20.sol';\n\ncontract Bridge {\n event ExchangeRequest(uint value);\n event NewEpoch(uint indexed oldEpoch, uint indexed newEpoch);\n event NewEpochCancelled(uint indexed epoch);\n event NewFundsTransfer(uint indexed oldEpoch, uint indexed newEpoch);\n event EpochStart(uint indexed epoch, uint x, uint y);\n\n struct State {\n address[] validators;\n uint threshold;\n uint x;\n uint y;\n }\n\n enum Status {\n READY, // bridge is in ready to perform operations\n VOTING, // voting for changing in next epoch, but still ready\n KEYGEN, //keygen, can be cancelled\n FUNDS_TRANSFER // funds transfer, cannot be cancelled\n }\n\n enum Vote {\n CONFIRM_KEYGEN,\n CONFIRM_FUNDS_TRANSFER,\n START_VOTING,\n ADD_VALIDATOR,\n REMOVE_VALIDATOR,\n CHANGE_THRESHOLD,\n START_KEYGEN,\n CANCEL_KEYGEN,\n TRANSFER\n }\n\n mapping(uint => State) states;\n\n mapping(bytes32 => uint) public dbTransferCount;\n mapping(bytes32 => bool) public dbTransfer;\n mapping(bytes32 => uint) public votesCount;\n mapping(bytes32 => bool) public votes;\n\n Status public status;\n\n uint public epoch;\n uint public nextEpoch;\n\n constructor(uint threshold, address[] memory validators, address _tokenContract) public {\n require(validators.length > 0);\n require(threshold < validators.length);\n\n tokenContract = IERC20(_tokenContract);\n\n epoch = 0;\n status = Status.KEYGEN;\n nextEpoch = 1;\n\n states[1] = State(validators, threshold, 0, 0);\n\n emit NewEpoch(0, 1);\n }\n\n IERC20 public tokenContract;\n\n modifier ready {\n require(status == Status.READY, \"Not in ready state\");\n _;\n }\n\n modifier readyOrVoting {\n require(status == Status.READY || status == Status.VOTING, \"Not in ready or voting state\");\n _;\n }\n\n modifier voting {\n require(status == Status.VOTING, \"Not in voting state\");\n _;\n }\n\n modifier keygen {\n require(status == Status.KEYGEN, \"Not in keygen state\");\n _;\n }\n\n modifier fundsTransfer {\n require(status == Status.FUNDS_TRANSFER, \"Not in funds transfer state\");\n _;\n }\n\n modifier currentValidator {\n require(getPartyId() != 0, \"Not a current validator\");\n _;\n }\n\n function exchange(uint value) public ready {\n require(value >= 10 ** 10);\n\n tokenContract.transferFrom(msg.sender, address(this), value);\n emit ExchangeRequest(value);\n }\n\n function transfer(bytes32 hash, address to, uint value) public readyOrVoting currentValidator {\n if (tryVote(Vote.TRANSFER, hash, to, value)) {\n tokenContract.transfer(to, value);\n }\n }\n\n function confirmKeygen(uint x, uint y) public keygen {\n require(getNextPartyId(msg.sender) != 0, \"Not a next validator\");\n\n if (tryConfirm(Vote.CONFIRM_KEYGEN, x, y)) {\n states[nextEpoch].x = x;\n states[nextEpoch].y = y;\n if (nextEpoch == 1) {\n status = Status.READY;\n epoch = nextEpoch;\n emit EpochStart(epoch, x, y);\n }\n else {\n status = Status.FUNDS_TRANSFER;\n emit NewFundsTransfer(epoch, nextEpoch);\n }\n }\n }\n\n function confirmFundsTransfer() public fundsTransfer currentValidator {\n require(epoch > 0, \"First epoch does not need funds transfer\");\n\n if (tryConfirm(Vote.CONFIRM_FUNDS_TRANSFER)) {\n status = Status.READY;\n epoch = nextEpoch;\n emit EpochStart(epoch, states[epoch].x, states[epoch].y);\n }\n }\n\n function getParties() view public returns (uint) {\n return getParties(epoch);\n }\n\n function getNextParties() view public returns (uint) {\n return getParties(nextEpoch);\n }\n\n function getParties(uint _epoch) view public returns (uint) {\n return states[_epoch].validators.length;\n }\n\n function getThreshold() view public returns (uint) {\n return getThreshold(epoch);\n }\n\n function getNextThreshold() view public returns (uint) {\n return getThreshold(nextEpoch);\n }\n\n function getThreshold(uint _epoch) view public returns (uint) {\n return states[_epoch].threshold;\n }\n\n function getX() view public returns (uint) {\n return states[epoch].x;\n }\n\n function getY() view public returns (uint) {\n return states[epoch].y;\n }\n\n function getPartyId() view public returns (uint) {\n address[] memory validators = getValidators();\n for (uint i = 0; i < getParties(); i++) {\n if (validators[i] == msg.sender)\n return i + 1;\n }\n return 0;\n }\n\n function getNextPartyId(address a) view public returns (uint) {\n address[] memory validators = getNextValidators();\n for (uint i = 0; i < getNextParties(); i++) {\n if (validators[i] == a)\n return i + 1;\n }\n return 0;\n }\n\n function getValidators() view public returns (address[] memory) {\n return states[epoch].validators;\n }\n\n function getNextValidators() view public returns (address[] memory) {\n return states[nextEpoch].validators;\n }\n\n function startVoting() public readyOrVoting currentValidator {\n if (tryVote(Vote.START_VOTING)) {\n nextEpoch++;\n status = Status.VOTING;\n states[nextEpoch].threshold = states[epoch].threshold;\n states[nextEpoch].validators = states[epoch].validators;\n }\n }\n\n function voteAddValidator(address validator) public voting currentValidator {\n require(getNextPartyId(validator) == 0, \"Already a validator\");\n\n if (tryVote(Vote.ADD_VALIDATOR, validator)) {\n states[nextEpoch].validators.push(validator);\n }\n }\n\n function voteRemoveValidator(address validator) public voting currentValidator {\n require(getNextPartyId(validator) != 0, \"Already not a validator\");\n\n if (tryVote(Vote.REMOVE_VALIDATOR, validator)) {\n _removeValidator(validator);\n }\n }\n\n function _removeValidator(address validator) private {\n for (uint i = 0; i < getNextParties() - 1; i++) {\n if (states[nextEpoch].validators[i] == validator) {\n states[nextEpoch].validators[i] = states[nextEpoch].validators[getNextParties() - 1];\n break;\n }\n }\n delete states[nextEpoch].validators[getNextParties() - 1];\n states[nextEpoch].validators.length--;\n }\n\n function voteChangeThreshold(uint threshold) public voting currentValidator {\n if (tryVote(Vote.CHANGE_THRESHOLD, threshold)) {\n states[nextEpoch].threshold = threshold;\n }\n }\n\n function voteStartKeygen() public voting currentValidator {\n if (tryVote(Vote.START_KEYGEN)) {\n status = Status.KEYGEN;\n\n emit NewEpoch(epoch, nextEpoch);\n }\n }\n\n function voteCancelKeygen() public keygen currentValidator {\n if (tryVote(Vote.CANCEL_KEYGEN)) {\n status = Status.VOTING;\n\n emit NewEpochCancelled(nextEpoch);\n }\n }\n\n function tryVote(Vote voteType) private returns (bool) {\n bytes32 vote = keccak256(abi.encodePacked(voteType, nextEpoch));\n return putVote(vote);\n }\n\n function tryVote(Vote voteType, address addr) private returns (bool) {\n bytes32 vote = keccak256(abi.encodePacked(voteType, nextEpoch, addr));\n return putVote(vote);\n }\n\n function tryVote(Vote voteType, uint num) private returns (bool) {\n bytes32 vote = keccak256(abi.encodePacked(voteType, nextEpoch, num));\n return putVote(vote);\n }\n\n function tryVote(Vote voteType, bytes32 hash, address to, uint value) private returns (bool) {\n bytes32 vote = keccak256(abi.encodePacked(voteType, hash, to, value));\n return putVote(vote);\n }\n\n function tryConfirm(Vote voteType) private returns (bool) {\n bytes32 vote = keccak256(abi.encodePacked(voteType, nextEpoch));\n return putConfirm(vote);\n }\n\n function tryConfirm(Vote voteType, uint x, uint y) private returns (bool) {\n bytes32 vote = keccak256(abi.encodePacked(voteType, nextEpoch, x, y));\n return putConfirm(vote);\n }\n\n function putVote(bytes32 vote) private returns (bool) {\n bytes32 personalVote = personalizeVote(vote);\n require(!votes[personalVote], \"Voted already\");\n\n votes[personalVote] = true;\n if (votesCount[vote] == getThreshold()) {\n votesCount[vote] = 2 ** 255;\n return true;\n } else {\n votesCount[vote]++;\n return false;\n }\n }\n\n function putConfirm(bytes32 vote) private returns (bool) {\n bytes32 personalVote = personalizeVote(vote);\n require(!votes[personalVote], \"Confirmed already\");\n\n votes[personalVote] = true;\n if (votesCount[vote] == getNextThreshold()) {\n votesCount[vote] = 2 ** 255;\n return true;\n } else {\n votesCount[vote]++;\n return false;\n }\n }\n\n function personalizeVote(bytes32 vote) private view returns (bytes32) {\n return keccak256(abi.encodePacked(vote, msg.sender));\n }\n}\n", + "metadata": "{\"compiler\":{\"version\":\"0.5.9+commit.e560f70d\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"getNextParties\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getY\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"a\",\"type\":\"address\"}],\"name\":\"getNextPartyId\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"startVoting\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"status\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"votes\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getPartyId\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"voteCancelKeygen\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"hash\",\"type\":\"bytes32\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getNextValidators\",\"outputs\":[{\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_epoch\",\"type\":\"uint256\"}],\"name\":\"getParties\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_epoch\",\"type\":\"uint256\"}],\"name\":\"getThreshold\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"dbTransfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getX\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"exchange\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"tokenContract\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"validator\",\"type\":\"address\"}],\"name\":\"voteAddValidator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getNextThreshold\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"epoch\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"voteStartKeygen\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"validator\",\"type\":\"address\"}],\"name\":\"voteRemoveValidator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"x\",\"type\":\"uint256\"},{\"name\":\"y\",\"type\":\"uint256\"}],\"name\":\"confirmKeygen\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getParties\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"votesCount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"nextEpoch\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getValidators\",\"outputs\":[{\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"threshold\",\"type\":\"uint256\"}],\"name\":\"voteChangeThreshold\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"dbTransferCount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"confirmFundsTransfer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getThreshold\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"threshold\",\"type\":\"uint256\"},{\"name\":\"validators\",\"type\":\"address[]\"},{\"name\":\"_tokenContract\",\"type\":\"address\"},{\"name\":\"limits\",\"type\":\"uint256[2]\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"ExchangeRequest\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"oldEpoch\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"newEpoch\",\"type\":\"uint256\"}],\"name\":\"NewEpoch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"NewEpochCancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"oldEpoch\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"newEpoch\",\"type\":\"uint256\"}],\"name\":\"NewFundsTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"epoch\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"x\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"y\",\"type\":\"uint256\"}],\"name\":\"EpochStart\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/kirillfedoseev/Innopolis/My own projects/bridge/bridge/src/deploy/deploy-home/contracts/Bridge.sol\":\"Bridge\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":3},\"remappings\":[]},\"sources\":{\"/Users/kirillfedoseev/Innopolis/My own projects/bridge/bridge/src/deploy/deploy-home/contracts/Bridge.sol\":{\"keccak256\":\"0xb6dedd38aa6fa77b6a773e2bc87673d94587af628b2bc99a7fa7343b52e9afd7\",\"urls\":[\"bzzr://ac452822ae25877586c3e6280f8c5ca00bbe37a5558e4560f70d18448ee92122\",\"dweb:/ipfs/QmZ6bwZLh8Jzs5Aw2ec347YrXapwRWDZBgFqUkPHASoChU\"]},\"/Users/kirillfedoseev/Innopolis/My own projects/bridge/bridge/src/deploy/deploy-home/contracts/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x90e8c2521653bbb1768b05889c5760031e688d9cd361f167489b89215e201b95\",\"urls\":[\"bzzr://aa8b45b57edafc3d67bc5d916327ea16807fae33f753ca163ae0c4061b789766\",\"dweb:/ipfs/QmP5NaEwZthQeM2ESz4WTT3osrP7jhbvu7ocbttBi2JAw6\"]}},\"version\":1}", + "bytecode": "0x60806040523480156200001157600080fd5b5060405162001b6b38038062001b6b833981810160405260a08110156200003757600080fd5b8151602083018051919392830192916401000000008111156200005957600080fd5b820160208101848111156200006d57600080fd5b81518560208202830111640100000000821117156200008b57600080fd5b5050602082015181519194509250604090910190620000a957600080fd5b82518410620000b757600080fd5b600a80546001600160a01b0384166001600160a01b0319909116179055600060068190556005805460ff1916600217905560016007819055604080516080810182528681526020808201899052918101849052606081018490529183529182528051805191927fada5013122d395ba3c54772283fb069b10426056ef8ca54750cb9bb552a59e7d926200014e9284920190620001bd565b506020820151600182015560408201516002820155606090910151600390910155806000602002015160085580600160200201516009556040516001906000907f3ef85928df9ae51bdb3eb4c00ec73b92b82307f319ac1b029de14796a0972609908290a35050505062000251565b82805482825590600052602060002090810192821562000215579160200282015b828111156200021557825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190620001de565b506200022392915062000227565b5090565b6200024e91905b80821115620002235780546001600160a01b03191681556001016200022e565b90565b61190a80620002616000396000f3fe608060405234801561001057600080fd5b506004361061016a5760003560e01c8063073ce82d1461016f5780630b7f166514610189578063197d6ca4146101915780631ec6b60a146101b7578063200d2ed2146101c15780632b38cd96146101ed5780632fb0fc6f1461021e57806339f0ebb1146102265780633feb1bd81461022e57806340cddab314610260578063447fe289146102b85780634615d5e9146102d557806349f92f63146102f25780635197c7aa1461030f578063535565591461031757806355a373d61461033457806357456f22146103585780638199d3fd1461037e578063900cf0cf14610386578063915eb0e71461038e5780639bf6a74a14610396578063a7699d02146103bc578063a8311aa8146103df578063aae46bab146103e7578063aea0e78b14610404578063b7ab4db51461040c578063cc8ee06514610414578063d09fc00414610431578063df7852301461044e578063e75235b814610456575b600080fd5b61017761045e565b60408051918252519081900360200190f35b610177610471565b610177600480360360208110156101a757600080fd5b50356001600160a01b0316610489565b6101bf6104f6565b005b6101c9610621565b604051808260038111156101d957fe5b60ff16815260200191505060405180910390f35b61020a6004803603602081101561020357600080fd5b503561062a565b604080519115158252519081900360200190f35b61017761063f565b6101bf6106a9565b6101bf6004803603606081101561024457600080fd5b508035906001600160a01b036020820135169060400135610795565b6102686108f5565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102a457818101518382015260200161028c565b505050509050019250505060405180910390f35b610177600480360360208110156102ce57600080fd5b5035610960565b610177600480360360208110156102eb57600080fd5b5035610972565b61020a6004803603602081101561030857600080fd5b5035610987565b61017761099c565b6101bf6004803603602081101561032d57600080fd5b50356109b4565b61033c610af8565b604080516001600160a01b039092168252519081900360200190f35b6101bf6004803603602081101561036e57600080fd5b50356001600160a01b0316610b07565b610177610c47565b610177610c54565b6101bf610c5a565b6101bf600480360360208110156103ac57600080fd5b50356001600160a01b0316610d49565b6101bf600480360360408110156103d257600080fd5b5080359060200135610e58565b610177610fc4565b610177600480360360208110156103fd57600080fd5b5035610fd1565b610177610fe3565b610268610fe9565b6101bf6004803603602081101561042a57600080fd5b5035611052565b6101776004803603602081101561044757600080fd5b503561111b565b6101bf61112d565b61017761127d565b600061046b600754610960565b90505b90565b60065460009081526020819052604090206003015490565b600060606104956108f5565b905060005b6104a261045e565b8110156104ea57836001600160a01b03168282815181106104bf57fe5b60200260200101516001600160a01b031614156104e25760010191506104f19050565b60010161049a565b5060009150505b919050565b600060055460ff16600381111561050957fe5b14806105255750600160055460ff16600381111561052357fe5b145b610575576040805162461bcd60e51b815260206004820152601c60248201527b4e6f7420696e207265616479206f7220766f74696e6720737461746560201b604482015290519081900360640190fd5b61057d61063f565b6105bc576040805162461bcd60e51b815260206004820152601760248201526000805160206118b6833981519152604482015290519081900360640190fd5b6105c6600261128a565b1561061f576007805460019081018083556005805460ff19168317905560068054600090815260208190526040808220850154938252808220909401929092555481528181209254815220815461061d92906117bb565b505b565b60055460ff1681565b60046020526000908152604090205460ff1681565b6000606061064b610fe9565b905060005b610658610fc4565b8110156106a057336001600160a01b031682828151811061067557fe5b60200260200101516001600160a01b0316141561069857600101915061046e9050565b600101610650565b50600091505090565b600260055460ff1660038111156106bc57fe5b14610704576040805162461bcd60e51b81526020600482015260136024820152724e6f7420696e206b657967656e20737461746560681b604482015290519081900360640190fd5b61070c61063f565b61074b576040805162461bcd60e51b815260206004820152601760248201526000805160206118b6833981519152604482015290519081900360640190fd5b610755600761128a565b1561061f576005805460ff191660011790556007546040517fddbb65cfe1ae4aec03cef0f9667c6d7ba3740927d0c60f4dd4d7104cc31d180a90600090a2565b600060055460ff1660038111156107a857fe5b14806107c45750600160055460ff1660038111156107c257fe5b145b610814576040805162461bcd60e51b815260206004820152601c60248201527b4e6f7420696e207265616479206f7220766f74696e6720737461746560201b604482015290519081900360640190fd5b61081c61063f565b61085b576040805162461bcd60e51b815260206004820152601760248201526000805160206118b6833981519152604482015290519081900360640190fd5b61086860088484846112e1565b156108f057600a546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b1580156108c357600080fd5b505af11580156108d7573d6000803e3d6000fd5b505050506040513d60208110156108ed57600080fd5b50505b505050565b6007546000908152602081815260409182902080548351818402810184019094528084526060939283018282801561095657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610938575b5050505050905090565b60009081526020819052604090205490565b60009081526020819052604090206001015490565b60026020526000908152604090205460ff1681565b60065460009081526020819052604090206002015490565b600060055460ff1660038111156109c757fe5b14610a0e576040805162461bcd60e51b81526020600482015260126024820152714e6f7420696e20726561647920737461746560701b604482015290519081900360640190fd5b6008548110158015610a2557506402540be4008110155b8015610a3357506009548111155b610a3c57600080fd5b600a54604080516323b872dd60e01b81523360048201523060248201526044810184905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b158015610a9657600080fd5b505af1158015610aaa573d6000803e3d6000fd5b505050506040513d6020811015610ac057600080fd5b50506040805182815290517f62e1f484b3909b2c013673bad76a9f14b010600ba983f11ad26e83082883570e9181900360200190a150565b600a546001600160a01b031681565b600160055460ff166003811115610b1a57fe5b14610b62576040805162461bcd60e51b81526020600482015260136024820152724e6f7420696e20766f74696e6720737461746560681b604482015290519081900360640190fd5b610b6a61063f565b610ba9576040805162461bcd60e51b815260206004820152601760248201526000805160206118b6833981519152604482015290519081900360640190fd5b610bb281610489565b15610bfa576040805162461bcd60e51b815260206004820152601360248201527220b63932b0b23c9030903b30b634b230ba37b960691b604482015290519081900360640190fd5b610c0560038261135e565b1561061d576007546000908152602081815260408220805460018101825590835291200180546001600160a01b0383166001600160a01b031990911617905550565b600061046b600754610972565b60065481565b600160055460ff166003811115610c6d57fe5b14610cb5576040805162461bcd60e51b81526020600482015260136024820152724e6f7420696e20766f74696e6720737461746560681b604482015290519081900360640190fd5b610cbd61063f565b610cfc576040805162461bcd60e51b815260206004820152601760248201526000805160206118b6833981519152604482015290519081900360640190fd5b610d06600661128a565b1561061f576005805460ff191660021790556007546006546040517f3ef85928df9ae51bdb3eb4c00ec73b92b82307f319ac1b029de14796a097260990600090a3565b600160055460ff166003811115610d5c57fe5b14610da4576040805162461bcd60e51b81526020600482015260136024820152724e6f7420696e20766f74696e6720737461746560681b604482015290519081900360640190fd5b610dac61063f565b610deb576040805162461bcd60e51b815260206004820152601760248201526000805160206118b6833981519152604482015290519081900360640190fd5b610df481610489565b610e3f576040805162461bcd60e51b815260206004820152601760248201527620b63932b0b23c903737ba1030903b30b634b230ba37b960491b604482015290519081900360640190fd5b610e4a60048261135e565b1561061d5761061d816113d3565b600260055460ff166003811115610e6b57fe5b14610eb3576040805162461bcd60e51b81526020600482015260136024820152724e6f7420696e206b657967656e20737461746560681b604482015290519081900360640190fd5b610ebc33610489565b610f04576040805162461bcd60e51b81526020600482015260146024820152732737ba1030903732bc3a103b30b634b230ba37b960611b604482015290519081900360640190fd5b610f1060008383611520565b15610fc057600780546000908152602081905260408082206002018590558254825290206003018290555460011415610f83576005805460ff1916905560075460068190556040805184815260208101849052815160008051602061186e833981519152929181900390910190a2610fc0565b6005805460ff191660031790556007546006546040517ff4735b85cc98f9a712832825ecab4cfb1649d658f9a73c57a00ea7dde735c79b90600090a35b5050565b600061046b600654610960565b60036020526000908152604090205481565b60075481565b60065460009081526020818152604091829020805483518184028101840190945280845260609392830182828015610956576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610938575050505050905090565b600160055460ff16600381111561106557fe5b146110ad576040805162461bcd60e51b81526020600482015260136024820152724e6f7420696e20766f74696e6720737461746560681b604482015290519081900360640190fd5b6110b561063f565b6110f4576040805162461bcd60e51b815260206004820152601760248201526000805160206118b6833981519152604482015290519081900360640190fd5b6110ff600582611589565b1561061d57600754600090815260208190526040902060010155565b60016020526000908152604090205481565b600360055460ff16600381111561114057fe5b14611190576040805162461bcd60e51b815260206004820152601b60248201527a4e6f7420696e2066756e6473207472616e7366657220737461746560281b604482015290519081900360640190fd5b61119861063f565b6111d7576040805162461bcd60e51b815260206004820152601760248201526000805160206118b6833981519152604482015290519081900360640190fd5b6000600654116112185760405162461bcd60e51b815260040180806020018281038252602881526020018061188e6028913960400191505060405180910390fd5b61122260016115e1565b1561061f576005805460ff191690556007546006819055600081815260208181526040918290206002810154600390910154835191825291810191909152815160008051602061186e833981519152929181900390910190a2565b600061046b600654610972565b60008082600754604051602001808360088111156112a457fe5b60ff1660f81b8152600101828152602001925050506040516020818303038152906040528051906020012090506112da81611631565b9392505050565b60008085858585604051602001808560088111156112fb57fe5b60ff1660f81b8152600101848152602001836001600160a01b03166001600160a01b031660601b815260140182815260200194505050505060405160208183030381529060405280519060200120905061135481611631565b9695505050505050565b60008083600754846040516020018084600881111561137957fe5b60ff1660f81b8152600101838152602001826001600160a01b03166001600160a01b031660601b815260140193505050506040516020818303038152906040528051906020012090506113cb81611631565b949350505050565b60005b60016113e061045e565b038110156114c157600754600090815260208190526040902080546001600160a01b03841691908390811061141157fe5b6000918252602090912001546001600160a01b031614156114b9576007546000908152602081905260409020600161144761045e565b038154811061145257fe5b6000918252602080832090910154600754835290829052604090912080546001600160a01b03909216918390811061148657fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506114c1565b6001016113d6565b50600754600090815260208190526040902060016114dd61045e565b03815481106114e857fe5b6000918252602080832090910180546001600160a01b0319169055600754825281905260409020805490610fc090600019830161180b565b6000808460075485856040516020018085600881111561153c57fe5b60ff1660f81b815260010184815260200183815260200182815260200194505050505060405160208183030381529060405280519060200120905061158081611704565b95945050505050565b6000808360075484604051602001808460088111156115a457fe5b60ff1660f81b815260010183815260200182815260200193505050506040516020818303038152906040528051906020012090506113cb81611631565b60008082600754604051602001808360088111156115fb57fe5b60ff1660f81b8152600101828152602001925050506040516020818303038152906040528051906020012090506112da81611704565b60008061163d8361178c565b60008181526004602052604090205490915060ff1615611694576040805162461bcd60e51b815260206004820152600d60248201526c566f74656420616c726561647960981b604482015290519081900360640190fd5b6000818152600460205260409020805460ff191660011790556116b561127d565b60008481526003602052604090205414156116e85750506000818152600360205260409020600160ff1b905560016104f1565b50506000818152600360205260408120805460010190556104f1565b6000806117108361178c565b60008181526004602052604090205490915060ff161561176b576040805162461bcd60e51b8152602060048201526011602482015270436f6e6669726d656420616c726561647960781b604482015290519081900360640190fd5b6000818152600460205260409020805460ff191660011790556116b5610c47565b604080516020808201939093523360601b81830152815180820360340181526054909101909152805191012090565b8280548282559060005260206000209081019282156117fb5760005260206000209182015b828111156117fb5782548255916001019190600101906117e0565b5061180792915061182f565b5090565b8154818355818111156108f0576000838152602090206108f0918101908301611853565b61046e91905b808211156118075780546001600160a01b0319168155600101611835565b61046e91905b80821115611807576000815560010161185956fec33272939f066c227e913a4b3434d860794f185c551685c29451a3a38b9b259c46697273742065706f636820646f6573206e6f74206e6565642066756e6473207472616e736665724e6f7420612063757272656e742076616c696461746f72000000000000000000a265627a7a72305820d9301198933836c8992bbab8e6c0ca596e021ff34c7db645c59302c42a24ea3264736f6c63430005090032", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061016a5760003560e01c8063073ce82d1461016f5780630b7f166514610189578063197d6ca4146101915780631ec6b60a146101b7578063200d2ed2146101c15780632b38cd96146101ed5780632fb0fc6f1461021e57806339f0ebb1146102265780633feb1bd81461022e57806340cddab314610260578063447fe289146102b85780634615d5e9146102d557806349f92f63146102f25780635197c7aa1461030f578063535565591461031757806355a373d61461033457806357456f22146103585780638199d3fd1461037e578063900cf0cf14610386578063915eb0e71461038e5780639bf6a74a14610396578063a7699d02146103bc578063a8311aa8146103df578063aae46bab146103e7578063aea0e78b14610404578063b7ab4db51461040c578063cc8ee06514610414578063d09fc00414610431578063df7852301461044e578063e75235b814610456575b600080fd5b61017761045e565b60408051918252519081900360200190f35b610177610471565b610177600480360360208110156101a757600080fd5b50356001600160a01b0316610489565b6101bf6104f6565b005b6101c9610621565b604051808260038111156101d957fe5b60ff16815260200191505060405180910390f35b61020a6004803603602081101561020357600080fd5b503561062a565b604080519115158252519081900360200190f35b61017761063f565b6101bf6106a9565b6101bf6004803603606081101561024457600080fd5b508035906001600160a01b036020820135169060400135610795565b6102686108f5565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102a457818101518382015260200161028c565b505050509050019250505060405180910390f35b610177600480360360208110156102ce57600080fd5b5035610960565b610177600480360360208110156102eb57600080fd5b5035610972565b61020a6004803603602081101561030857600080fd5b5035610987565b61017761099c565b6101bf6004803603602081101561032d57600080fd5b50356109b4565b61033c610af8565b604080516001600160a01b039092168252519081900360200190f35b6101bf6004803603602081101561036e57600080fd5b50356001600160a01b0316610b07565b610177610c47565b610177610c54565b6101bf610c5a565b6101bf600480360360208110156103ac57600080fd5b50356001600160a01b0316610d49565b6101bf600480360360408110156103d257600080fd5b5080359060200135610e58565b610177610fc4565b610177600480360360208110156103fd57600080fd5b5035610fd1565b610177610fe3565b610268610fe9565b6101bf6004803603602081101561042a57600080fd5b5035611052565b6101776004803603602081101561044757600080fd5b503561111b565b6101bf61112d565b61017761127d565b600061046b600754610960565b90505b90565b60065460009081526020819052604090206003015490565b600060606104956108f5565b905060005b6104a261045e565b8110156104ea57836001600160a01b03168282815181106104bf57fe5b60200260200101516001600160a01b031614156104e25760010191506104f19050565b60010161049a565b5060009150505b919050565b600060055460ff16600381111561050957fe5b14806105255750600160055460ff16600381111561052357fe5b145b610575576040805162461bcd60e51b815260206004820152601c60248201527b4e6f7420696e207265616479206f7220766f74696e6720737461746560201b604482015290519081900360640190fd5b61057d61063f565b6105bc576040805162461bcd60e51b815260206004820152601760248201526000805160206118b6833981519152604482015290519081900360640190fd5b6105c6600261128a565b1561061f576007805460019081018083556005805460ff19168317905560068054600090815260208190526040808220850154938252808220909401929092555481528181209254815220815461061d92906117bb565b505b565b60055460ff1681565b60046020526000908152604090205460ff1681565b6000606061064b610fe9565b905060005b610658610fc4565b8110156106a057336001600160a01b031682828151811061067557fe5b60200260200101516001600160a01b0316141561069857600101915061046e9050565b600101610650565b50600091505090565b600260055460ff1660038111156106bc57fe5b14610704576040805162461bcd60e51b81526020600482015260136024820152724e6f7420696e206b657967656e20737461746560681b604482015290519081900360640190fd5b61070c61063f565b61074b576040805162461bcd60e51b815260206004820152601760248201526000805160206118b6833981519152604482015290519081900360640190fd5b610755600761128a565b1561061f576005805460ff191660011790556007546040517fddbb65cfe1ae4aec03cef0f9667c6d7ba3740927d0c60f4dd4d7104cc31d180a90600090a2565b600060055460ff1660038111156107a857fe5b14806107c45750600160055460ff1660038111156107c257fe5b145b610814576040805162461bcd60e51b815260206004820152601c60248201527b4e6f7420696e207265616479206f7220766f74696e6720737461746560201b604482015290519081900360640190fd5b61081c61063f565b61085b576040805162461bcd60e51b815260206004820152601760248201526000805160206118b6833981519152604482015290519081900360640190fd5b61086860088484846112e1565b156108f057600a546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b1580156108c357600080fd5b505af11580156108d7573d6000803e3d6000fd5b505050506040513d60208110156108ed57600080fd5b50505b505050565b6007546000908152602081815260409182902080548351818402810184019094528084526060939283018282801561095657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610938575b5050505050905090565b60009081526020819052604090205490565b60009081526020819052604090206001015490565b60026020526000908152604090205460ff1681565b60065460009081526020819052604090206002015490565b600060055460ff1660038111156109c757fe5b14610a0e576040805162461bcd60e51b81526020600482015260126024820152714e6f7420696e20726561647920737461746560701b604482015290519081900360640190fd5b6008548110158015610a2557506402540be4008110155b8015610a3357506009548111155b610a3c57600080fd5b600a54604080516323b872dd60e01b81523360048201523060248201526044810184905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b158015610a9657600080fd5b505af1158015610aaa573d6000803e3d6000fd5b505050506040513d6020811015610ac057600080fd5b50506040805182815290517f62e1f484b3909b2c013673bad76a9f14b010600ba983f11ad26e83082883570e9181900360200190a150565b600a546001600160a01b031681565b600160055460ff166003811115610b1a57fe5b14610b62576040805162461bcd60e51b81526020600482015260136024820152724e6f7420696e20766f74696e6720737461746560681b604482015290519081900360640190fd5b610b6a61063f565b610ba9576040805162461bcd60e51b815260206004820152601760248201526000805160206118b6833981519152604482015290519081900360640190fd5b610bb281610489565b15610bfa576040805162461bcd60e51b815260206004820152601360248201527220b63932b0b23c9030903b30b634b230ba37b960691b604482015290519081900360640190fd5b610c0560038261135e565b1561061d576007546000908152602081815260408220805460018101825590835291200180546001600160a01b0383166001600160a01b031990911617905550565b600061046b600754610972565b60065481565b600160055460ff166003811115610c6d57fe5b14610cb5576040805162461bcd60e51b81526020600482015260136024820152724e6f7420696e20766f74696e6720737461746560681b604482015290519081900360640190fd5b610cbd61063f565b610cfc576040805162461bcd60e51b815260206004820152601760248201526000805160206118b6833981519152604482015290519081900360640190fd5b610d06600661128a565b1561061f576005805460ff191660021790556007546006546040517f3ef85928df9ae51bdb3eb4c00ec73b92b82307f319ac1b029de14796a097260990600090a3565b600160055460ff166003811115610d5c57fe5b14610da4576040805162461bcd60e51b81526020600482015260136024820152724e6f7420696e20766f74696e6720737461746560681b604482015290519081900360640190fd5b610dac61063f565b610deb576040805162461bcd60e51b815260206004820152601760248201526000805160206118b6833981519152604482015290519081900360640190fd5b610df481610489565b610e3f576040805162461bcd60e51b815260206004820152601760248201527620b63932b0b23c903737ba1030903b30b634b230ba37b960491b604482015290519081900360640190fd5b610e4a60048261135e565b1561061d5761061d816113d3565b600260055460ff166003811115610e6b57fe5b14610eb3576040805162461bcd60e51b81526020600482015260136024820152724e6f7420696e206b657967656e20737461746560681b604482015290519081900360640190fd5b610ebc33610489565b610f04576040805162461bcd60e51b81526020600482015260146024820152732737ba1030903732bc3a103b30b634b230ba37b960611b604482015290519081900360640190fd5b610f1060008383611520565b15610fc057600780546000908152602081905260408082206002018590558254825290206003018290555460011415610f83576005805460ff1916905560075460068190556040805184815260208101849052815160008051602061186e833981519152929181900390910190a2610fc0565b6005805460ff191660031790556007546006546040517ff4735b85cc98f9a712832825ecab4cfb1649d658f9a73c57a00ea7dde735c79b90600090a35b5050565b600061046b600654610960565b60036020526000908152604090205481565b60075481565b60065460009081526020818152604091829020805483518184028101840190945280845260609392830182828015610956576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610938575050505050905090565b600160055460ff16600381111561106557fe5b146110ad576040805162461bcd60e51b81526020600482015260136024820152724e6f7420696e20766f74696e6720737461746560681b604482015290519081900360640190fd5b6110b561063f565b6110f4576040805162461bcd60e51b815260206004820152601760248201526000805160206118b6833981519152604482015290519081900360640190fd5b6110ff600582611589565b1561061d57600754600090815260208190526040902060010155565b60016020526000908152604090205481565b600360055460ff16600381111561114057fe5b14611190576040805162461bcd60e51b815260206004820152601b60248201527a4e6f7420696e2066756e6473207472616e7366657220737461746560281b604482015290519081900360640190fd5b61119861063f565b6111d7576040805162461bcd60e51b815260206004820152601760248201526000805160206118b6833981519152604482015290519081900360640190fd5b6000600654116112185760405162461bcd60e51b815260040180806020018281038252602881526020018061188e6028913960400191505060405180910390fd5b61122260016115e1565b1561061f576005805460ff191690556007546006819055600081815260208181526040918290206002810154600390910154835191825291810191909152815160008051602061186e833981519152929181900390910190a2565b600061046b600654610972565b60008082600754604051602001808360088111156112a457fe5b60ff1660f81b8152600101828152602001925050506040516020818303038152906040528051906020012090506112da81611631565b9392505050565b60008085858585604051602001808560088111156112fb57fe5b60ff1660f81b8152600101848152602001836001600160a01b03166001600160a01b031660601b815260140182815260200194505050505060405160208183030381529060405280519060200120905061135481611631565b9695505050505050565b60008083600754846040516020018084600881111561137957fe5b60ff1660f81b8152600101838152602001826001600160a01b03166001600160a01b031660601b815260140193505050506040516020818303038152906040528051906020012090506113cb81611631565b949350505050565b60005b60016113e061045e565b038110156114c157600754600090815260208190526040902080546001600160a01b03841691908390811061141157fe5b6000918252602090912001546001600160a01b031614156114b9576007546000908152602081905260409020600161144761045e565b038154811061145257fe5b6000918252602080832090910154600754835290829052604090912080546001600160a01b03909216918390811061148657fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506114c1565b6001016113d6565b50600754600090815260208190526040902060016114dd61045e565b03815481106114e857fe5b6000918252602080832090910180546001600160a01b0319169055600754825281905260409020805490610fc090600019830161180b565b6000808460075485856040516020018085600881111561153c57fe5b60ff1660f81b815260010184815260200183815260200182815260200194505050505060405160208183030381529060405280519060200120905061158081611704565b95945050505050565b6000808360075484604051602001808460088111156115a457fe5b60ff1660f81b815260010183815260200182815260200193505050506040516020818303038152906040528051906020012090506113cb81611631565b60008082600754604051602001808360088111156115fb57fe5b60ff1660f81b8152600101828152602001925050506040516020818303038152906040528051906020012090506112da81611704565b60008061163d8361178c565b60008181526004602052604090205490915060ff1615611694576040805162461bcd60e51b815260206004820152600d60248201526c566f74656420616c726561647960981b604482015290519081900360640190fd5b6000818152600460205260409020805460ff191660011790556116b561127d565b60008481526003602052604090205414156116e85750506000818152600360205260409020600160ff1b905560016104f1565b50506000818152600360205260408120805460010190556104f1565b6000806117108361178c565b60008181526004602052604090205490915060ff161561176b576040805162461bcd60e51b8152602060048201526011602482015270436f6e6669726d656420616c726561647960781b604482015290519081900360640190fd5b6000818152600460205260409020805460ff191660011790556116b5610c47565b604080516020808201939093523360601b81830152815180820360340181526054909101909152805191012090565b8280548282559060005260206000209081019282156117fb5760005260206000209182015b828111156117fb5782548255916001019190600101906117e0565b5061180792915061182f565b5090565b8154818355818111156108f0576000838152602090206108f0918101908301611853565b61046e91905b808211156118075780546001600160a01b0319168155600101611835565b61046e91905b80821115611807576000815560010161185956fec33272939f066c227e913a4b3434d860794f185c551685c29451a3a38b9b259c46697273742065706f636820646f6573206e6f74206e6565642066756e6473207472616e736665724e6f7420612063757272656e742076616c696461746f72000000000000000000a265627a7a72305820d9301198933836c8992bbab8e6c0ca596e021ff34c7db645c59302c42a24ea3264736f6c63430005090032", + "sourceMap": "93:9593:0:-;;;1361:482;8:9:-1;5:2;;;30:1;27;20:12;5:2;1361:482:0;;;;;;;;;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;1361:482:0;;;;;;;;;;;;;;19:11:-1;11:20;;8:2;;;44:1;41;34:12;8:2;62:21;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;219:3;213:10;331:9;325:2;311:12;307:21;289:16;285:44;282:59;261:11;247:12;244:29;233:116;230:2;;;362:1;359;352:12;230:2;-1:-1;;1361:482:0;;;;1490:17;;1361:482;;-1:-1:-1;1361:482:0;-1:-1:-1;1361:482:0;;;;;1482:30;;;;;;1542:10;:17;1530:9;:29;1522:38;;;;;;1571:13;:38;;-1:-1:-1;;;;;1571:38:0;;-1:-1:-1;;;;;;1571:38:0;;;;;;-1:-1:-1;1620:5:0;:9;;;1639:6;:22;;-1:-1:-1;;1639:22:0;1648:13;1639:22;;;-1:-1:-1;1671:9:0;:13;;;1707:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1695:9;;;;;;:46;;;;1707:34;;1695:9;;:46;;:9;;:46;;;:::i;:::-;-1:-1:-1;1695:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;1765:6;-1:-1:-1;1765:9:0;;;;1752:10;:22;1797:6;1804:1;1797:9;;;;1784:10;:22;1822:14;;1834:1;;1831;;1822:14;;1831:1;;1822:14;1361:482;;;;93:9593;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;93:9593:0;-1:-1:-1;;;;;93:9593:0;;;;;;;;;;;-1:-1:-1;93:9593:0;;;;;;;-1:-1:-1;93:9593:0;;;-1:-1:-1;93:9593:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;;93:9593:0;;;;;;;;;:::o;:::-;;;;;;;", + "deployedSourceMap": "93:9593:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;93:9593:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4085:98;;;:::i;:::-;;;;;;;;;;;;;;;;4723:82;;;:::i;5081:276::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5081:276:0;-1:-1:-1;;;;;5081:276:0;;:::i;5607:317::-;;;:::i;:::-;;1240:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1196:37;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1196:37:0;;:::i;:::-;;;;;;;;;;;;;;;;;;4811:264;;;:::i;7356:203::-;;;:::i;2829:213::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2829:213:0;;;-1:-1:-1;;;;;2829:213:0;;;;;;;;;;:::i;5481:120::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5481:120:0;;;;;;;;;;;;;;;;;4189:116;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4189:116:0;;:::i;4519:110::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4519:110:0;;:::i;1100:42::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1100:42:0;;:::i;4635:82::-;;;:::i;2583:240::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2583:240:0;;:::i;1849:27::-;;;:::i;:::-;;;;-1:-1:-1;;;;;1849:27:0;;;;;;;;;;;;;;5930:278;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5930:278:0;-1:-1:-1;;;;;5930:278:0;;:::i;4411:102::-;;;:::i;1267:17::-;;;:::i;7151:199::-;;;:::i;6214:271::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6214:271:0;-1:-1:-1;;;;;6214:271:0;;:::i;3048:578::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3048:578:0;;;;;;;:::i;3989:90::-;;;:::i;1148:42::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1148:42:0;;:::i;1290:21::-;;;:::i;5363:112::-;;;:::i;6942:203::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6942:203:0;;:::i;1047:47::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1047:47:0;;:::i;3632:351::-;;;:::i;4311:94::-;;;:::i;4085:98::-;4132:4;4155:21;4166:9;;4155:10;:21::i;:::-;4148:28;;4085:98;;:::o;4723:82::-;4790:5;;4760:4;4783:13;;;;;;;;;;:15;;;4723:82;:::o;5081:276::-;5137:4;5153:27;5183:19;:17;:19::i;:::-;5153:49;-1:-1:-1;5217:6:0;5212:121;5233:16;:14;:16::i;:::-;5229:1;:20;5212:121;;;5291:1;-1:-1:-1;;;;;5274:18:0;:10;5285:1;5274:13;;;;;;;;;;;;;;-1:-1:-1;;;;;5274:18:0;;5270:52;;;5321:1;5317:5;;-1:-1:-1;5310:12:0;;-1:-1:-1;5310:12:0;5270:52;5251:3;;5212:121;;;;5349:1;5342:8;;;5081:276;;;;:::o;5607:317::-;2036:12;2026:6;;;;:22;;;;;;;;;:49;;;-1:-1:-1;2062:13:0;2052:6;;;;:23;;;;;;;;;2026:49;2018:90;;;;;-1:-1:-1;;;2018:90:0;;;;;;;;;;;;-1:-1:-1;;;2018:90:0;;;;;;;;;;;;;;;2514:12;:10;:12::i;:::-;2506:53;;;;;-1:-1:-1;;;2506:53:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2506:53:0;;;;;;;;;;;;;;;5682:26;5690:17;5682:7;:26::i;:::-;5678:240;;;5724:9;:11;;;;;;;;;5749:6;:22;;-1:-1:-1;;5749:22:0;;;;;5822:5;;;-1:-1:-1;5815:13:0;;;;;;;;;;;:23;;;5785:17;;;;;;:27;;;:53;;;;5890:5;5883:13;;;;;5859:9;;5852:17;;;:55;;;;5883:13;5852:55;:::i;:::-;;5678:240;5607:317::o;1240:20::-;;;;;;:::o;1196:37::-;;;;;;;;;;;;;;;:::o;4811:264::-;4854:4;4870:27;4900:15;:13;:15::i;:::-;4870:45;-1:-1:-1;4930:6:0;4925:126;4946:12;:10;:12::i;:::-;4942:1;:16;4925:126;;;5000:10;-1:-1:-1;;;;;4983:27:0;:10;4994:1;4983:13;;;;;;;;;;;;;;-1:-1:-1;;;;;4983:27:0;;4979:61;;;5039:1;5035:5;;-1:-1:-1;5028:12:0;;-1:-1:-1;5028:12:0;4979:61;4960:3;;4925:126;;;;5067:1;5060:8;;;4811:264;:::o;7356:203::-;2281:13;2271:6;;;;:23;;;;;;;;;2263:55;;;;;-1:-1:-1;;;2263:55:0;;;;;;;;;;;;-1:-1:-1;;;2263:55:0;;;;;;;;;;;;;;;2514:12;:10;:12::i;:::-;2506:53;;;;;-1:-1:-1;;;2506:53:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2506:53:0;;;;;;;;;;;;;;;7429:27;7437:18;7429:7;:27::i;:::-;7425:128;;;7472:6;:22;;-1:-1:-1;;7472:22:0;7481:13;7472:22;;;7532:9;;7514:28;;;;-1:-1:-1;;7514:28:0;7356:203::o;2829:213::-;2036:12;2026:6;;;;:22;;;;;;;;;:49;;;-1:-1:-1;2062:13:0;2052:6;;;;:23;;;;;;;;;2026:49;2018:90;;;;;-1:-1:-1;;;2018:90:0;;;;;;;;;;;;-1:-1:-1;;;2018:90:0;;;;;;;;;;;;;;;2514:12;:10;:12::i;:::-;2506:53;;;;;-1:-1:-1;;;2506:53:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2506:53:0;;;;;;;;;;;;;;;2937:39;2945:13;2960:4;2966:2;2970:5;2937:7;:39::i;:::-;2933:103;;;2992:13;;:33;;;-1:-1:-1;;;2992:33:0;;-1:-1:-1;;;;;2992:33:0;;;;;;;;;;;;;;;:13;;;;;:22;;:33;;;;;;;;;;;;;;:13;;:33;;;5:2:-1;;;;30:1;27;20:12;5:2;2992:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2992:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;2933:103:0;2829:213;;;:::o;5481:120::-;5573:9;;5566:6;:17;;;;;;;;;;;;5559:35;;;;;;;;;;;;;;;;;5531:16;;5559:35;;;5566:17;5559:35;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5559:35:0;;;;;;;;;;;;;;;;;;;;;;;5481:120;:::o;4189:116::-;4243:4;4266:14;;;;;;;;;;:32;;4189:116::o;4519:110::-;4575:4;4598:14;;;;;;;;;;:24;;;;4519:110::o;1100:42::-;;;;;;;;;;;;;;;:::o;4635:82::-;4702:5;;4672:4;4695:13;;;;;;;;;;:15;;;4635:82;:::o;2583:240::-;1926:12;1916:6;;;;:22;;;;;;;;;1908:53;;;;;-1:-1:-1;;;1908:53:0;;;;;;;;;;;;-1:-1:-1;;;1908:53:0;;;;;;;;;;;;;;;2653:10;;2644:5;:19;;:40;;;;;2676:8;2667:5;:17;;2644:40;:63;;;;;2697:10;;2688:5;:19;;2644:63;2636:72;;;;;;2719:13;;:60;;;-1:-1:-1;;;2719:60:0;;2746:10;2719:60;;;;2766:4;2719:60;;;;;;;;;;;;-1:-1:-1;;;;;2719:13:0;;;;:26;;:60;;;;;;;;;;;;;;;:13;;:60;;;5:2:-1;;;;30:1;27;20:12;5:2;2719:60:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2719:60:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;2794:22:0;;;;;;;;;;;;;2719:60;2794:22;;;2583:240;:::o;1849:27::-;;;-1:-1:-1;;;;;1849:27:0;;:::o;5930:278::-;2176:13;2166:6;;;;:23;;;;;;;;;2158:55;;;;;-1:-1:-1;;;2158:55:0;;;;;;;;;;;;-1:-1:-1;;;2158:55:0;;;;;;;;;;;;;;;2514:12;:10;:12::i;:::-;2506:53;;;;;-1:-1:-1;;;2506:53:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2506:53:0;;;;;;;;;;;;;;;6024:25;6039:9;6024:14;:25::i;:::-;:30;6016:62;;;;;-1:-1:-1;;;6016:62:0;;;;;;;;;;;;-1:-1:-1;;;6016:62:0;;;;;;;;;;;;;;;6093:38;6101:18;6121:9;6093:7;:38::i;:::-;6089:113;;;6154:9;;6147:6;:17;;;;;;;;;;27:10:-1;;39:1;23:18;;45:23;;6147:44:0;;;;;;;;-1:-1:-1;;;;;6147:44:0;;-1:-1:-1;;;;;;6147:44:0;;;;;;5930:278;:::o;4411:102::-;4460:4;4483:23;4496:9;;4483:12;:23::i;1267:17::-;;;;:::o;7151:199::-;2176:13;2166:6;;;;:23;;;;;;;;;2158:55;;;;;-1:-1:-1;;;2158:55:0;;;;;;;;;;;;-1:-1:-1;;;2158:55:0;;;;;;;;;;;;;;;2514:12;:10;:12::i;:::-;2506:53;;;;;-1:-1:-1;;;2506:53:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2506:53:0;;;;;;;;;;;;;;;7223:26;7231:17;7223:7;:26::i;:::-;7219:125;;;7265:6;:22;;-1:-1:-1;;7265:22:0;7274:13;7265:22;;;7323:9;;7316:5;;7307:26;;;;-1:-1:-1;;7307:26:0;7151:199::o;6214:271::-;2176:13;2166:6;;;;:23;;;;;;;;;2158:55;;;;;-1:-1:-1;;;2158:55:0;;;;;;;;;;;;-1:-1:-1;;;2158:55:0;;;;;;;;;;;;;;;2514:12;:10;:12::i;:::-;2506:53;;;;;-1:-1:-1;;;2506:53:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2506:53:0;;;;;;;;;;;;;;;6311:25;6326:9;6311:14;:25::i;:::-;6303:66;;;;;-1:-1:-1;;;6303:66:0;;;;;;;;;;;;-1:-1:-1;;;6303:66:0;;;;;;;;;;;;;;;6384:41;6392:21;6415:9;6384:7;:41::i;:::-;6380:99;;;6441:27;6458:9;6441:16;:27::i;3048:578::-;2281:13;2271:6;;;;:23;;;;;;;;;2263:55;;;;;-1:-1:-1;;;2263:55:0;;;;;;;;;;;;-1:-1:-1;;;2263:55:0;;;;;;;;;;;;;;;3119:26;3134:10;3119:14;:26::i;:::-;3111:64;;;;;-1:-1:-1;;;3111:64:0;;;;;;;;;;;;-1:-1:-1;;;3111:64:0;;;;;;;;;;;;;;;3190:37;3201:19;3222:1;3225;3190:10;:37::i;:::-;3186:434;;;3250:9;;;3243:6;:17;;;;;;;;;;;:19;;:23;;;3287:9;;3280:17;;;;:19;;:23;;;3321:9;3334:1;3321:14;3317:293;;;3355:6;:21;;-1:-1:-1;;3355:21:0;;;3402:9;;3394:5;:17;;;3434:23;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3434:23:0;;;;;;;;;;3317:293;;;3508:6;:30;;-1:-1:-1;;3508:30:0;3517:21;3508:30;;;3585:9;;3578:5;;3561:34;;;;-1:-1:-1;;3561:34:0;3317:293;3048:578;;:::o;3989:90::-;4032:4;4055:17;4066:5;;4055:10;:17::i;1148:42::-;;;;;;;;;;;;;:::o;1290:21::-;;;;:::o;5363:112::-;5451:5;;5444:6;:13;;;;;;;;;;;;5437:31;;;;;;;;;;;;;;;;;5409:16;;5437:31;;;5444:13;5437:31;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5437:31:0;;;;;;;;;;;;;;;;;;;;;;5363:112;:::o;6942:203::-;2176:13;2166:6;;;;:23;;;;;;;;;2158:55;;;;;-1:-1:-1;;;2158:55:0;;;;;;;;;;;;-1:-1:-1;;;2158:55:0;;;;;;;;;;;;;;;2514:12;:10;:12::i;:::-;2506:53;;;;;-1:-1:-1;;;2506:53:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2506:53:0;;;;;;;;;;;;;;;7032:41;7040:21;7063:9;7032:7;:41::i;:::-;7028:111;;;7096:9;;7089:6;:17;;;;;;;;;;:27;;:39;6942:203::o;1047:47::-;;;;;;;;;;;;;:::o;3632:351::-;2393:21;2383:6;;;;:31;;;;;;;;;2375:71;;;;;-1:-1:-1;;;2375:71:0;;;;;;;;;;;;-1:-1:-1;;;2375:71:0;;;;;;;;;;;;;;;2514:12;:10;:12::i;:::-;2506:53;;;;;-1:-1:-1;;;2506:53:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2506:53:0;;;;;;;;;;;;;;;3728:1;3720:5;;:9;3712:62;;;;-1:-1:-1;;;3712:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3789:39;3800:27;3789:10;:39::i;:::-;3785:192;;;3844:6;:21;;-1:-1:-1;;3844:21:0;;;3887:9;;3879:5;:17;;;3853:12;3933:13;;;;;;;;;;;;:15;;;;3950;;;;;3915:51;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3915:51:0;;;;;;;;;;3632:351::o;4311:94::-;4356:4;4379:19;4392:5;;4379:12;:19::i;7565:165::-;7614:4;7630:12;7672:8;7682:9;;7655:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7655:37:0;;;7645:48;;;;;;7630:63;;7710:13;7718:4;7710:7;:13::i;:::-;7703:20;7565:165;-1:-1:-1;;;7565:165:0:o;8113:209::-;8200:4;8216:12;8258:8;8268:4;8274:2;8278:5;8241:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8241:43:0;-1:-1:-1;;;;;8241:43:0;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;8241:43:0;;;8231:54;;;;;;8216:69;;8302:13;8310:4;8302:7;:13::i;:::-;8295:20;8113:209;-1:-1:-1;;;;;;8113:209:0:o;7736:185::-;7799:4;7815:12;7857:8;7867:9;;7878:4;7840:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7840:43:0;-1:-1:-1;;;;;7840:43:0;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7840:43:0;;;7830:54;;;;;;7815:69;;7901:13;7909:4;7901:7;:13::i;:::-;7894:20;7736:185;-1:-1:-1;;;;7736:185:0:o;6491:445::-;6559:6;6554:262;6594:1;6575:16;:14;:16::i;:::-;:20;6571:1;:24;6554:262;;;6627:9;;6620:6;:17;;;;;;;;;;:31;;-1:-1:-1;;;;;6620:44:0;;;:17;6649:1;;6620:31;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6620:31:0;:44;6616:190;;;6725:9;;6718:6;:17;;;;;;;;;;6766:1;6747:16;:14;:16::i;:::-;:20;6718:50;;;;;;;;;;;;;;;;;;;;6691:9;;6684:17;;;;;;;;;;:31;;-1:-1:-1;;;;;6718:50:0;;;;6713:1;;6684:31;;;;;;;;;;;;;;:84;;;;;-1:-1:-1;;;;;6684:84:0;;;;;-1:-1:-1;;;;;6684:84:0;;;;;;6786:5;;6616:190;6597:3;;6554:262;;;-1:-1:-1;6839:9:0;;6832:6;:17;;;;;;;;;;6880:1;6861:16;:14;:16::i;:::-;:20;6832:50;;;;;;;;;;;;;;;;;;;6825:57;;-1:-1:-1;;;;;;6825:57:0;;;6899:9;;6892:17;;;;;;;;:37;;;;;-1:-1:-1;;6892:37:0;;;:::i;8505:193::-;8573:4;8589:12;8631:8;8641:9;;8652:1;8655;8614:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;8614:43:0;;;8604:54;;;;;;8589:69;;8675:16;8686:4;8675:10;:16::i;:::-;8668:23;8505:193;-1:-1:-1;;;;;8505:193:0:o;7927:180::-;7986:4;8002:12;8044:8;8054:9;;8065:3;8027:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;8027:42:0;;;8017:53;;;;;;8002:68;;8087:13;8095:4;8087:7;:13::i;8328:171::-;8380:4;8396:12;8438:8;8448:9;;8421:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;8421:37:0;;;8411:48;;;;;;8396:63;;8476:16;8487:4;8476:10;:16::i;8704:409::-;8752:4;8768:20;8791:21;8807:4;8791:15;:21::i;:::-;8831:19;;;;:5;:19;;;;;;8768:44;;-1:-1:-1;8831:19:0;;8830:20;8822:46;;;;;-1:-1:-1;;;8822:46:0;;;;;;;;;;;;-1:-1:-1;;;8822:46:0;;;;;;;;;;;;;;;8879:19;;;;:5;:19;;;;;:26;;-1:-1:-1;;8879:26:0;8901:4;8879:26;;;8939:14;:12;:14::i;:::-;8919:16;;;;:10;:16;;;;;;:34;8915:192;;;-1:-1:-1;;8969:16:0;;;;:10;:16;;;;;-1:-1:-1;;;8969:27:0;;9017:4;9010:11;;8915:192;-1:-1:-1;;9052:16:0;;;;:10;:16;;;;;:18;;;;;;9084:12;;9119:420;9170:4;9186:20;9209:21;9225:4;9209:15;:21::i;:::-;9249:19;;;;:5;:19;;;;;;9186:44;;-1:-1:-1;9249:19:0;;9248:20;9240:50;;;;;-1:-1:-1;;;9240:50:0;;;;;;;;;;;;-1:-1:-1;;;9240:50:0;;;;;;;;;;;;;;;9301:19;;;;:5;:19;;;;;:26;;-1:-1:-1;;9301:26:0;9323:4;9301:26;;;9361:18;:16;:18::i;9545:139::-;9642:34;;;;;;;;;;;9665:10;9642:34;;;;;;;;26:21:-1;;;22:32;;6:49;;9642:34:0;;;;;;;9632:45;;;;;;9545:139::o;93:9593::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;93:9593:0;;;-1:-1:-1;93:9593:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;;93:9593:0;;;;;;;;;;;;;;;;;;;;;;;;", + "source": "pragma solidity ^0.5.0;\n\nimport './openzeppelin-solidity/contracts/token/ERC20/IERC20.sol';\n\ncontract Bridge {\n event ExchangeRequest(uint value);\n event NewEpoch(uint indexed oldEpoch, uint indexed newEpoch);\n event NewEpochCancelled(uint indexed epoch);\n event NewFundsTransfer(uint indexed oldEpoch, uint indexed newEpoch);\n event EpochStart(uint indexed epoch, uint x, uint y);\n\n struct State {\n address[] validators;\n uint threshold;\n uint x;\n uint y;\n }\n\n enum Status {\n READY, // bridge is in ready to perform operations\n VOTING, // voting for changing in next epoch, but still ready\n KEYGEN, //keygen, can be cancelled\n FUNDS_TRANSFER // funds transfer, cannot be cancelled\n }\n\n enum Vote {\n CONFIRM_KEYGEN,\n CONFIRM_FUNDS_TRANSFER,\n START_VOTING,\n ADD_VALIDATOR,\n REMOVE_VALIDATOR,\n CHANGE_THRESHOLD,\n START_KEYGEN,\n CANCEL_KEYGEN,\n TRANSFER\n }\n\n mapping(uint => State) states;\n\n mapping(bytes32 => uint) public dbTransferCount;\n mapping(bytes32 => bool) public dbTransfer;\n mapping(bytes32 => uint) public votesCount;\n mapping(bytes32 => bool) public votes;\n\n Status public status;\n\n uint public epoch;\n uint public nextEpoch;\n\n uint minTxLimit;\n uint maxTxLimit;\n\n constructor(uint threshold, address[] memory validators, address _tokenContract, uint[2] memory limits) public {\n require(validators.length > 0);\n require(threshold < validators.length);\n\n tokenContract = IERC20(_tokenContract);\n\n epoch = 0;\n status = Status.KEYGEN;\n nextEpoch = 1;\n\n states[1] = State(validators, threshold, 0, 0);\n\n minTxLimit = limits[0];\n maxTxLimit = limits[1];\n\n emit NewEpoch(0, 1);\n }\n\n IERC20 public tokenContract;\n\n modifier ready {\n require(status == Status.READY, \"Not in ready state\");\n _;\n }\n\n modifier readyOrVoting {\n require(status == Status.READY || status == Status.VOTING, \"Not in ready or voting state\");\n _;\n }\n\n modifier voting {\n require(status == Status.VOTING, \"Not in voting state\");\n _;\n }\n\n modifier keygen {\n require(status == Status.KEYGEN, \"Not in keygen state\");\n _;\n }\n\n modifier fundsTransfer {\n require(status == Status.FUNDS_TRANSFER, \"Not in funds transfer state\");\n _;\n }\n\n modifier currentValidator {\n require(getPartyId() != 0, \"Not a current validator\");\n _;\n }\n\n function exchange(uint value) public ready {\n require(value >= minTxLimit && value >= 10 ** 10 && value <= maxTxLimit);\n\n tokenContract.transferFrom(msg.sender, address(this), value);\n emit ExchangeRequest(value);\n }\n\n function transfer(bytes32 hash, address to, uint value) public readyOrVoting currentValidator {\n if (tryVote(Vote.TRANSFER, hash, to, value)) {\n tokenContract.transfer(to, value);\n }\n }\n\n function confirmKeygen(uint x, uint y) public keygen {\n require(getNextPartyId(msg.sender) != 0, \"Not a next validator\");\n\n if (tryConfirm(Vote.CONFIRM_KEYGEN, x, y)) {\n states[nextEpoch].x = x;\n states[nextEpoch].y = y;\n if (nextEpoch == 1) {\n status = Status.READY;\n epoch = nextEpoch;\n emit EpochStart(epoch, x, y);\n }\n else {\n status = Status.FUNDS_TRANSFER;\n emit NewFundsTransfer(epoch, nextEpoch);\n }\n }\n }\n\n function confirmFundsTransfer() public fundsTransfer currentValidator {\n require(epoch > 0, \"First epoch does not need funds transfer\");\n\n if (tryConfirm(Vote.CONFIRM_FUNDS_TRANSFER)) {\n status = Status.READY;\n epoch = nextEpoch;\n emit EpochStart(epoch, states[epoch].x, states[epoch].y);\n }\n }\n\n function getParties() view public returns (uint) {\n return getParties(epoch);\n }\n\n function getNextParties() view public returns (uint) {\n return getParties(nextEpoch);\n }\n\n function getParties(uint _epoch) view public returns (uint) {\n return states[_epoch].validators.length;\n }\n\n function getThreshold() view public returns (uint) {\n return getThreshold(epoch);\n }\n\n function getNextThreshold() view public returns (uint) {\n return getThreshold(nextEpoch);\n }\n\n function getThreshold(uint _epoch) view public returns (uint) {\n return states[_epoch].threshold;\n }\n\n function getX() view public returns (uint) {\n return states[epoch].x;\n }\n\n function getY() view public returns (uint) {\n return states[epoch].y;\n }\n\n function getPartyId() view public returns (uint) {\n address[] memory validators = getValidators();\n for (uint i = 0; i < getParties(); i++) {\n if (validators[i] == msg.sender)\n return i + 1;\n }\n return 0;\n }\n\n function getNextPartyId(address a) view public returns (uint) {\n address[] memory validators = getNextValidators();\n for (uint i = 0; i < getNextParties(); i++) {\n if (validators[i] == a)\n return i + 1;\n }\n return 0;\n }\n\n function getValidators() view public returns (address[] memory) {\n return states[epoch].validators;\n }\n\n function getNextValidators() view public returns (address[] memory) {\n return states[nextEpoch].validators;\n }\n\n function startVoting() public readyOrVoting currentValidator {\n if (tryVote(Vote.START_VOTING)) {\n nextEpoch++;\n status = Status.VOTING;\n states[nextEpoch].threshold = states[epoch].threshold;\n states[nextEpoch].validators = states[epoch].validators;\n }\n }\n\n function voteAddValidator(address validator) public voting currentValidator {\n require(getNextPartyId(validator) == 0, \"Already a validator\");\n\n if (tryVote(Vote.ADD_VALIDATOR, validator)) {\n states[nextEpoch].validators.push(validator);\n }\n }\n\n function voteRemoveValidator(address validator) public voting currentValidator {\n require(getNextPartyId(validator) != 0, \"Already not a validator\");\n\n if (tryVote(Vote.REMOVE_VALIDATOR, validator)) {\n _removeValidator(validator);\n }\n }\n\n function _removeValidator(address validator) private {\n for (uint i = 0; i < getNextParties() - 1; i++) {\n if (states[nextEpoch].validators[i] == validator) {\n states[nextEpoch].validators[i] = states[nextEpoch].validators[getNextParties() - 1];\n break;\n }\n }\n delete states[nextEpoch].validators[getNextParties() - 1];\n states[nextEpoch].validators.length--;\n }\n\n function voteChangeThreshold(uint threshold) public voting currentValidator {\n if (tryVote(Vote.CHANGE_THRESHOLD, threshold)) {\n states[nextEpoch].threshold = threshold;\n }\n }\n\n function voteStartKeygen() public voting currentValidator {\n if (tryVote(Vote.START_KEYGEN)) {\n status = Status.KEYGEN;\n\n emit NewEpoch(epoch, nextEpoch);\n }\n }\n\n function voteCancelKeygen() public keygen currentValidator {\n if (tryVote(Vote.CANCEL_KEYGEN)) {\n status = Status.VOTING;\n\n emit NewEpochCancelled(nextEpoch);\n }\n }\n\n function tryVote(Vote voteType) private returns (bool) {\n bytes32 vote = keccak256(abi.encodePacked(voteType, nextEpoch));\n return putVote(vote);\n }\n\n function tryVote(Vote voteType, address addr) private returns (bool) {\n bytes32 vote = keccak256(abi.encodePacked(voteType, nextEpoch, addr));\n return putVote(vote);\n }\n\n function tryVote(Vote voteType, uint num) private returns (bool) {\n bytes32 vote = keccak256(abi.encodePacked(voteType, nextEpoch, num));\n return putVote(vote);\n }\n\n function tryVote(Vote voteType, bytes32 hash, address to, uint value) private returns (bool) {\n bytes32 vote = keccak256(abi.encodePacked(voteType, hash, to, value));\n return putVote(vote);\n }\n\n function tryConfirm(Vote voteType) private returns (bool) {\n bytes32 vote = keccak256(abi.encodePacked(voteType, nextEpoch));\n return putConfirm(vote);\n }\n\n function tryConfirm(Vote voteType, uint x, uint y) private returns (bool) {\n bytes32 vote = keccak256(abi.encodePacked(voteType, nextEpoch, x, y));\n return putConfirm(vote);\n }\n\n function putVote(bytes32 vote) private returns (bool) {\n bytes32 personalVote = personalizeVote(vote);\n require(!votes[personalVote], \"Voted already\");\n\n votes[personalVote] = true;\n if (votesCount[vote] == getThreshold()) {\n votesCount[vote] = 2 ** 255;\n return true;\n } else {\n votesCount[vote]++;\n return false;\n }\n }\n\n function putConfirm(bytes32 vote) private returns (bool) {\n bytes32 personalVote = personalizeVote(vote);\n require(!votes[personalVote], \"Confirmed already\");\n\n votes[personalVote] = true;\n if (votesCount[vote] == getNextThreshold()) {\n votesCount[vote] = 2 ** 255;\n return true;\n } else {\n votesCount[vote]++;\n return false;\n }\n }\n\n function personalizeVote(bytes32 vote) private view returns (bytes32) {\n return keccak256(abi.encodePacked(vote, msg.sender));\n }\n}\n", "sourcePath": "/Users/kirillfedoseev/Innopolis/My own projects/bridge/bridge/src/deploy/deploy-home/contracts/Bridge.sol", "ast": { "absolutePath": "/Users/kirillfedoseev/Innopolis/My own projects/bridge/bridge/src/deploy/deploy-home/contracts/Bridge.sol", "exportedSymbols": { "Bridge": [ - 1110 + 1138 ] }, - "id": 1111, + "id": 1139, "nodeType": "SourceUnit", "nodes": [ { @@ -581,8 +585,8 @@ "file": "./openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "id": 2, "nodeType": "ImportDirective", - "scope": 1111, - "sourceUnit": 9746, + "scope": 1139, + "sourceUnit": 9774, "src": "25:66:0", "symbolAliases": [], "unitAlias": "" @@ -593,9 +597,9 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1110, + "id": 1138, "linearizedBaseContracts": [ - 1110 + 1138 ], "name": "Bridge", "nodeType": "ContractDefinition", @@ -1040,7 +1044,7 @@ ], "name": "State", "nodeType": "StructDefinition", - "scope": 1110, + "scope": 1138, "src": "402:106:0", "visibility": "public" }, @@ -1145,7 +1149,7 @@ "id": 59, "name": "states", "nodeType": "VariableDeclaration", - "scope": 1110, + "scope": 1138, "src": "1011:29:0", "stateVariable": true, "storageLocation": "default", @@ -1192,7 +1196,7 @@ "id": 63, "name": "dbTransferCount", "nodeType": "VariableDeclaration", - "scope": 1110, + "scope": 1138, "src": "1047:47:0", "stateVariable": true, "storageLocation": "default", @@ -1237,7 +1241,7 @@ "id": 67, "name": "dbTransfer", "nodeType": "VariableDeclaration", - "scope": 1110, + "scope": 1138, "src": "1100:42:0", "stateVariable": true, "storageLocation": "default", @@ -1282,7 +1286,7 @@ "id": 71, "name": "votesCount", "nodeType": "VariableDeclaration", - "scope": 1110, + "scope": 1138, "src": "1148:42:0", "stateVariable": true, "storageLocation": "default", @@ -1327,7 +1331,7 @@ "id": 75, "name": "votes", "nodeType": "VariableDeclaration", - "scope": 1110, + "scope": 1138, "src": "1196:37:0", "stateVariable": true, "storageLocation": "default", @@ -1372,7 +1376,7 @@ "id": 77, "name": "status", "nodeType": "VariableDeclaration", - "scope": 1110, + "scope": 1138, "src": "1240:20:0", "stateVariable": true, "storageLocation": "default", @@ -1400,7 +1404,7 @@ "id": 79, "name": "epoch", "nodeType": "VariableDeclaration", - "scope": 1110, + "scope": 1138, "src": "1267:17:0", "stateVariable": true, "storageLocation": "default", @@ -1426,7 +1430,7 @@ "id": 81, "name": "nextEpoch", "nodeType": "VariableDeclaration", - "scope": 1110, + "scope": 1138, "src": "1290:21:0", "stateVariable": true, "storageLocation": "default", @@ -1447,11 +1451,63 @@ "value": null, "visibility": "public" }, + { + "constant": false, + "id": 83, + "name": "minTxLimit", + "nodeType": "VariableDeclaration", + "scope": 1138, + "src": "1318:15:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 82, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1318:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 85, + "name": "maxTxLimit", + "nodeType": "VariableDeclaration", + "scope": 1138, + "src": "1339:15:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 84, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1339:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, { "body": { - "id": 140, + "id": 160, "nodeType": "Block", - "src": "1406:306:0", + "src": "1472:371:0", "statements": [ { "expression": { @@ -1463,137 +1519,12 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 95, + "id": 103, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 92, - "name": "validators", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86, - "src": "1424:10:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 93, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1424:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 94, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1444:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1424:21:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 91, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 12804, - 12805 - ], - "referencedDeclaration": 12804, - "src": "1416:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 96, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1416:30:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 97, - "nodeType": "ExpressionStatement", - "src": "1416:30:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 99, - "name": "threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83, - "src": "1464:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, @@ -1601,8 +1532,8 @@ "name": "validators", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86, - "src": "1476:10:0", + "referencedDeclaration": 90, + "src": "1490:10:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -1616,13 +1547,33 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1476:17:0", + "src": "1490:17:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1464:29:0", + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 102, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1510:1:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1490:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1636,21 +1587,21 @@ "typeString": "bool" } ], - "id": 98, + "id": 99, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 12804, - 12805 + 12832, + 12833 ], - "referencedDeclaration": 12804, - "src": "1456:7:0", + "referencedDeclaration": 12832, + "src": "1482:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 103, + "id": 104, "isConstant": false, "isLValue": false, "isPure": false, @@ -1658,34 +1609,139 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1456:38:0", + "src": "1482:30:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 104, + "id": 105, "nodeType": "ExpressionStatement", - "src": "1456:38:0" + "src": "1482:30:0" }, { "expression": { "argumentTypes": null, - "id": 109, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 107, + "name": "threshold", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87, + "src": "1530:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 108, + "name": "validators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 90, + "src": "1542:10:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 109, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1542:17:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1530:29:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 106, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 12832, + 12833 + ], + "referencedDeclaration": 12832, + "src": "1522:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1522:38:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 112, + "nodeType": "ExpressionStatement", + "src": "1522:38:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 117, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 105, + "id": 113, "name": "tokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "1505:13:0", + "referencedDeclaration": 163, + "src": "1571:13:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9745", + "typeIdentifier": "t_contract$_IERC20_$9773", "typeString": "contract IERC20" } }, @@ -1696,12 +1752,12 @@ "arguments": [ { "argumentTypes": null, - "id": 107, + "id": 115, "name": "_tokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 88, - "src": "1528:14:0", + "referencedDeclaration": 92, + "src": "1594:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1715,18 +1771,18 @@ "typeString": "address" } ], - "id": 106, + "id": 114, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9745, - "src": "1521:6:0", + "referencedDeclaration": 9773, + "src": "1587:6:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$9745_$", + "typeIdentifier": "t_type$_t_contract$_IERC20_$9773_$", "typeString": "type(contract IERC20)" } }, - "id": 108, + "id": 116, "isConstant": false, "isLValue": false, "isPure": false, @@ -1734,38 +1790,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1521:22:0", + "src": "1587:22:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9745", + "typeIdentifier": "t_contract$_IERC20_$9773", "typeString": "contract IERC20" } }, - "src": "1505:38:0", + "src": "1571:38:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9745", + "typeIdentifier": "t_contract$_IERC20_$9773", "typeString": "contract IERC20" } }, - "id": 110, + "id": 118, "nodeType": "ExpressionStatement", - "src": "1505:38:0" + "src": "1571:38:0" }, { "expression": { "argumentTypes": null, - "id": 113, + "id": 121, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 111, + "id": 119, "name": "epoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "1554:5:0", + "src": "1620:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1776,14 +1832,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 112, + "id": 120, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1562:1:0", + "src": "1628:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1791,32 +1847,32 @@ }, "value": "0" }, - "src": "1554:9:0", + "src": "1620:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 114, + "id": 122, "nodeType": "ExpressionStatement", - "src": "1554:9:0" + "src": "1620:9:0" }, { "expression": { "argumentTypes": null, - "id": 118, + "id": 126, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 115, + "id": 123, "name": "status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "1573:6:0", + "src": "1639:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" @@ -1828,18 +1884,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 116, + "id": 124, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 45, - "src": "1582:6:0", + "src": "1648:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$45_$", "typeString": "type(enum Bridge.Status)" } }, - "id": 117, + "id": 125, "isConstant": false, "isLValue": false, "isPure": true, @@ -1847,38 +1903,38 @@ "memberName": "KEYGEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1582:13:0", + "src": "1648:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "src": "1573:22:0", + "src": "1639:22:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "id": 119, + "id": 127, "nodeType": "ExpressionStatement", - "src": "1573:22:0" + "src": "1639:22:0" }, { "expression": { "argumentTypes": null, - "id": 122, + "id": 130, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 120, + "id": 128, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "1605:9:0", + "src": "1671:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1889,14 +1945,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "31", - "id": 121, + "id": 129, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1617:1:0", + "src": "1683:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -1904,20 +1960,20 @@ }, "value": "1" }, - "src": "1605:13:0", + "src": "1671:13:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 123, + "id": 131, "nodeType": "ExpressionStatement", - "src": "1605:13:0" + "src": "1671:13:0" }, { "expression": { "argumentTypes": null, - "id": 133, + "id": 141, "isConstant": false, "isLValue": false, "isPure": false, @@ -1926,29 +1982,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 124, + "id": 132, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "1629:6:0", + "src": "1695:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 126, + "id": 134, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 125, + "id": 133, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1636:1:0", + "src": "1702:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -1961,7 +2017,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1629:9:0", + "src": "1695:9:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" @@ -1974,12 +2030,12 @@ "arguments": [ { "argumentTypes": null, - "id": 128, + "id": 136, "name": "validators", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86, - "src": "1647:10:0", + "referencedDeclaration": 90, + "src": "1713:10:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -1987,12 +2043,12 @@ }, { "argumentTypes": null, - "id": 129, + "id": 137, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 83, - "src": "1659:9:0", + "referencedDeclaration": 87, + "src": "1725:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2001,14 +2057,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 130, + "id": 138, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1670:1:0", + "src": "1736:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2019,14 +2075,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 131, + "id": 139, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1673:1:0", + "src": "1739:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2054,18 +2110,18 @@ "typeString": "int_const 0" } ], - "id": 127, + "id": 135, "name": "State", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 40, - "src": "1641:5:0", + "src": "1707:5:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_State_$40_storage_ptr_$", "typeString": "type(struct Bridge.State storage pointer)" } }, - "id": 132, + "id": 140, "isConstant": false, "isLValue": false, "isPure": false, @@ -2073,21 +2129,177 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1641:34:0", + "src": "1707:34:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_memory", "typeString": "struct Bridge.State memory" } }, - "src": "1629:46:0", + "src": "1695:46:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 134, + "id": 142, "nodeType": "ExpressionStatement", - "src": "1629:46:0" + "src": "1695:46:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 143, + "name": "minTxLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 83, + "src": "1752:10:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 144, + "name": "limits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 96, + "src": "1765:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", + "typeString": "uint256[2] memory" + } + }, + "id": 146, + "indexExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 145, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1772:1:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1765:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1752:22:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 148, + "nodeType": "ExpressionStatement", + "src": "1752:22:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 149, + "name": "maxTxLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "1784:10:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 150, + "name": "limits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 96, + "src": "1797:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", + "typeString": "uint256[2] memory" + } + }, + "id": 152, + "indexExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1804:1:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1797:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1784:22:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 154, + "nodeType": "ExpressionStatement", + "src": "1784:22:0" }, { "eventCall": { @@ -2096,14 +2308,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 136, + "id": 156, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1700:1:0", + "src": "1831:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2114,14 +2326,14 @@ { "argumentTypes": null, "hexValue": "31", - "id": 137, + "id": 157, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1703:1:0", + "src": "1834:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -2141,18 +2353,18 @@ "typeString": "int_const 1" } ], - "id": 135, + "id": 155, "name": "NewEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "1691:8:0", + "src": "1822:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256)" } }, - "id": 138, + "id": 158, "isConstant": false, "isLValue": false, "isPure": false, @@ -2160,36 +2372,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1691:14:0", + "src": "1822:14:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 139, + "id": 159, "nodeType": "EmitStatement", - "src": "1686:19:0" + "src": "1817:19:0" } ] }, "documentation": null, - "id": 141, + "id": 161, "implemented": true, "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 89, + "id": 97, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 83, + "id": 87, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 141, - "src": "1330:14:0", + "scope": 161, + "src": "1373:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2197,10 +2409,10 @@ "typeString": "uint256" }, "typeName": { - "id": 82, + "id": 86, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1330:4:0", + "src": "1373:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2211,11 +2423,11 @@ }, { "constant": false, - "id": 86, + "id": 90, "name": "validators", "nodeType": "VariableDeclaration", - "scope": 141, - "src": "1346:27:0", + "scope": 161, + "src": "1389:27:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2224,20 +2436,20 @@ }, "typeName": { "baseType": { - "id": 84, + "id": 88, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1346:7:0", + "src": "1389:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 85, + "id": 89, "length": null, "nodeType": "ArrayTypeName", - "src": "1346:9:0", + "src": "1389:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -2248,11 +2460,11 @@ }, { "constant": false, - "id": 88, + "id": 92, "name": "_tokenContract", "nodeType": "VariableDeclaration", - "scope": 141, - "src": "1375:22:0", + "scope": 161, + "src": "1418:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2260,10 +2472,10 @@ "typeString": "address" }, "typeName": { - "id": 87, + "id": 91, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1375:7:0", + "src": "1418:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2272,44 +2484,97 @@ }, "value": null, "visibility": "internal" + }, + { + "constant": false, + "id": 96, + "name": "limits", + "nodeType": "VariableDeclaration", + "scope": 161, + "src": "1442:21:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", + "typeString": "uint256[2]" + }, + "typeName": { + "baseType": { + "id": 93, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1442:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 95, + "length": { + "argumentTypes": null, + "hexValue": "32", + "id": 94, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1447:1:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "ArrayTypeName", + "src": "1442:7:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", + "typeString": "uint256[2]" + } + }, + "value": null, + "visibility": "internal" } ], - "src": "1329:69:0" + "src": "1372:92:0" }, "returnParameters": { - "id": 90, + "id": 98, "nodeType": "ParameterList", "parameters": [], - "src": "1406:0:0" + "src": "1472:0:0" }, - "scope": 1110, - "src": "1318:394:0", + "scope": 1138, + "src": "1361:482:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "constant": false, - "id": 143, + "id": 163, "name": "tokenContract", "nodeType": "VariableDeclaration", - "scope": 1110, - "src": "1718:27:0", + "scope": 1138, + "src": "1849:27:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9745", + "typeIdentifier": "t_contract$_IERC20_$9773", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 142, + "id": 162, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9745, - "src": "1718:6:0", + "referencedDeclaration": 9773, + "src": "1849:6:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9745", + "typeIdentifier": "t_contract$_IERC20_$9773", "typeString": "contract IERC20" } }, @@ -2318,9 +2583,9 @@ }, { "body": { - "id": 154, + "id": 174, "nodeType": "Block", - "src": "1767:81:0", + "src": "1898:81:0", "statements": [ { "expression": { @@ -2332,19 +2597,19 @@ "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" }, - "id": 149, + "id": 169, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 146, + "id": 166, "name": "status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "1785:6:0", + "src": "1916:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" @@ -2356,18 +2621,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 147, + "id": 167, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 45, - "src": "1795:6:0", + "src": "1926:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$45_$", "typeString": "type(enum Bridge.Status)" } }, - "id": 148, + "id": 168, "isConstant": false, "isLValue": false, "isPure": true, @@ -2375,13 +2640,13 @@ "memberName": "READY", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1795:12:0", + "src": "1926:12:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "src": "1785:22:0", + "src": "1916:22:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2390,14 +2655,14 @@ { "argumentTypes": null, "hexValue": "4e6f7420696e207265616479207374617465", - "id": 150, + "id": 170, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1809:20:0", + "src": "1940:20:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_965c39c15b78dbcd8a954511641ca86e15fc1ae6d6c30a67536872ccde75b679", @@ -2417,21 +2682,21 @@ "typeString": "literal_string \"Not in ready state\"" } ], - "id": 145, + "id": 165, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 12804, - 12805 + 12832, + 12833 ], - "referencedDeclaration": 12805, - "src": "1777:7:0", + "referencedDeclaration": 12833, + "src": "1908:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 151, + "id": 171, "isConstant": false, "isLValue": false, "isPure": false, @@ -2439,41 +2704,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1777:53:0", + "src": "1908:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 152, + "id": 172, "nodeType": "ExpressionStatement", - "src": "1777:53:0" + "src": "1908:53:0" }, { - "id": 153, + "id": 173, "nodeType": "PlaceholderStatement", - "src": "1840:1:0" + "src": "1971:1:0" } ] }, "documentation": null, - "id": 155, + "id": 175, "name": "ready", "nodeType": "ModifierDefinition", "parameters": { - "id": 144, + "id": 164, "nodeType": "ParameterList", "parameters": [], - "src": "1767:0:0" + "src": "1898:0:0" }, - "src": "1752:96:0", + "src": "1883:96:0", "visibility": "internal" }, { "body": { - "id": 171, + "id": 191, "nodeType": "Block", - "src": "1877:118:0", + "src": "2008:118:0", "statements": [ { "expression": { @@ -2485,7 +2750,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 166, + "id": 186, "isConstant": false, "isLValue": false, "isPure": false, @@ -2496,19 +2761,19 @@ "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" }, - "id": 161, + "id": 181, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 158, + "id": 178, "name": "status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "1895:6:0", + "src": "2026:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" @@ -2520,18 +2785,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 159, + "id": 179, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 45, - "src": "1905:6:0", + "src": "2036:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$45_$", "typeString": "type(enum Bridge.Status)" } }, - "id": 160, + "id": 180, "isConstant": false, "isLValue": false, "isPure": true, @@ -2539,13 +2804,13 @@ "memberName": "READY", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1905:12:0", + "src": "2036:12:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "src": "1895:22:0", + "src": "2026:22:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2559,19 +2824,19 @@ "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" }, - "id": 165, + "id": 185, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 162, + "id": 182, "name": "status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "1921:6:0", + "src": "2052:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" @@ -2583,18 +2848,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 163, + "id": 183, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 45, - "src": "1931:6:0", + "src": "2062:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$45_$", "typeString": "type(enum Bridge.Status)" } }, - "id": 164, + "id": 184, "isConstant": false, "isLValue": false, "isPure": true, @@ -2602,19 +2867,19 @@ "memberName": "VOTING", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1931:13:0", + "src": "2062:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "src": "1921:23:0", + "src": "2052:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "1895:49:0", + "src": "2026:49:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2623,14 +2888,14 @@ { "argumentTypes": null, "hexValue": "4e6f7420696e207265616479206f7220766f74696e67207374617465", - "id": 167, + "id": 187, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1946:30:0", + "src": "2077:30:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_7e3f7359baa731593d4e3921720b92600c22ed1d950d208e0c826ad2eddebe96", @@ -2650,21 +2915,21 @@ "typeString": "literal_string \"Not in ready or voting state\"" } ], - "id": 157, + "id": 177, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 12804, - 12805 + 12832, + 12833 ], - "referencedDeclaration": 12805, - "src": "1887:7:0", + "referencedDeclaration": 12833, + "src": "2018:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 168, + "id": 188, "isConstant": false, "isLValue": false, "isPure": false, @@ -2672,41 +2937,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1887:90:0", + "src": "2018:90:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 169, + "id": 189, "nodeType": "ExpressionStatement", - "src": "1887:90:0" + "src": "2018:90:0" }, { - "id": 170, + "id": 190, "nodeType": "PlaceholderStatement", - "src": "1987:1:0" + "src": "2118:1:0" } ] }, "documentation": null, - "id": 172, + "id": 192, "name": "readyOrVoting", "nodeType": "ModifierDefinition", "parameters": { - "id": 156, + "id": 176, "nodeType": "ParameterList", "parameters": [], - "src": "1877:0:0" + "src": "2008:0:0" }, - "src": "1854:141:0", + "src": "1985:141:0", "visibility": "internal" }, { "body": { - "id": 183, + "id": 203, "nodeType": "Block", - "src": "2017:83:0", + "src": "2148:83:0", "statements": [ { "expression": { @@ -2718,19 +2983,19 @@ "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" }, - "id": 178, + "id": 198, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 175, + "id": 195, "name": "status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "2035:6:0", + "src": "2166:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" @@ -2742,18 +3007,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 176, + "id": 196, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 45, - "src": "2045:6:0", + "src": "2176:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$45_$", "typeString": "type(enum Bridge.Status)" } }, - "id": 177, + "id": 197, "isConstant": false, "isLValue": false, "isPure": true, @@ -2761,13 +3026,13 @@ "memberName": "VOTING", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2045:13:0", + "src": "2176:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "src": "2035:23:0", + "src": "2166:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2776,14 +3041,14 @@ { "argumentTypes": null, "hexValue": "4e6f7420696e20766f74696e67207374617465", - "id": 179, + "id": 199, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2060:21:0", + "src": "2191:21:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0cbee9834b110b21e0730bf5c3d2972fb9867ff221df239e7ae60883592f05d1", @@ -2803,21 +3068,21 @@ "typeString": "literal_string \"Not in voting state\"" } ], - "id": 174, + "id": 194, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 12804, - 12805 + 12832, + 12833 ], - "referencedDeclaration": 12805, - "src": "2027:7:0", + "referencedDeclaration": 12833, + "src": "2158:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 180, + "id": 200, "isConstant": false, "isLValue": false, "isPure": false, @@ -2825,41 +3090,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2027:55:0", + "src": "2158:55:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 181, + "id": 201, "nodeType": "ExpressionStatement", - "src": "2027:55:0" + "src": "2158:55:0" }, { - "id": 182, + "id": 202, "nodeType": "PlaceholderStatement", - "src": "2092:1:0" + "src": "2223:1:0" } ] }, "documentation": null, - "id": 184, + "id": 204, "name": "voting", "nodeType": "ModifierDefinition", "parameters": { - "id": 173, + "id": 193, "nodeType": "ParameterList", "parameters": [], - "src": "2017:0:0" + "src": "2148:0:0" }, - "src": "2001:99:0", + "src": "2132:99:0", "visibility": "internal" }, { "body": { - "id": 195, + "id": 215, "nodeType": "Block", - "src": "2122:83:0", + "src": "2253:83:0", "statements": [ { "expression": { @@ -2871,19 +3136,19 @@ "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" }, - "id": 190, + "id": 210, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 187, + "id": 207, "name": "status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "2140:6:0", + "src": "2271:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" @@ -2895,18 +3160,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 188, + "id": 208, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 45, - "src": "2150:6:0", + "src": "2281:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$45_$", "typeString": "type(enum Bridge.Status)" } }, - "id": 189, + "id": 209, "isConstant": false, "isLValue": false, "isPure": true, @@ -2914,13 +3179,13 @@ "memberName": "KEYGEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2150:13:0", + "src": "2281:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "src": "2140:23:0", + "src": "2271:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2929,14 +3194,14 @@ { "argumentTypes": null, "hexValue": "4e6f7420696e206b657967656e207374617465", - "id": 191, + "id": 211, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2165:21:0", + "src": "2296:21:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_ed0fee6382e0651a224348a21558d03a4a439c3bd5edc24945894a3417c14010", @@ -2956,21 +3221,21 @@ "typeString": "literal_string \"Not in keygen state\"" } ], - "id": 186, + "id": 206, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 12804, - 12805 + 12832, + 12833 ], - "referencedDeclaration": 12805, - "src": "2132:7:0", + "referencedDeclaration": 12833, + "src": "2263:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 192, + "id": 212, "isConstant": false, "isLValue": false, "isPure": false, @@ -2978,41 +3243,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2132:55:0", + "src": "2263:55:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 193, + "id": 213, "nodeType": "ExpressionStatement", - "src": "2132:55:0" + "src": "2263:55:0" }, { - "id": 194, + "id": 214, "nodeType": "PlaceholderStatement", - "src": "2197:1:0" + "src": "2328:1:0" } ] }, "documentation": null, - "id": 196, + "id": 216, "name": "keygen", "nodeType": "ModifierDefinition", "parameters": { - "id": 185, + "id": 205, "nodeType": "ParameterList", "parameters": [], - "src": "2122:0:0" + "src": "2253:0:0" }, - "src": "2106:99:0", + "src": "2237:99:0", "visibility": "internal" }, { "body": { - "id": 207, + "id": 227, "nodeType": "Block", - "src": "2234:99:0", + "src": "2365:99:0", "statements": [ { "expression": { @@ -3024,19 +3289,19 @@ "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" }, - "id": 202, + "id": 222, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 199, + "id": 219, "name": "status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "2252:6:0", + "src": "2383:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" @@ -3048,18 +3313,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 200, + "id": 220, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 45, - "src": "2262:6:0", + "src": "2393:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$45_$", "typeString": "type(enum Bridge.Status)" } }, - "id": 201, + "id": 221, "isConstant": false, "isLValue": false, "isPure": true, @@ -3067,13 +3332,13 @@ "memberName": "FUNDS_TRANSFER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2262:21:0", + "src": "2393:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "src": "2252:31:0", + "src": "2383:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3082,14 +3347,14 @@ { "argumentTypes": null, "hexValue": "4e6f7420696e2066756e6473207472616e73666572207374617465", - "id": 203, + "id": 223, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2285:29:0", + "src": "2416:29:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6347c9fecd6f58520ad10dfd1347ce3dc42cc0eed7a4182ca64dd11c69fc3008", @@ -3109,21 +3374,21 @@ "typeString": "literal_string \"Not in funds transfer state\"" } ], - "id": 198, + "id": 218, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 12804, - 12805 + 12832, + 12833 ], - "referencedDeclaration": 12805, - "src": "2244:7:0", + "referencedDeclaration": 12833, + "src": "2375:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 204, + "id": 224, "isConstant": false, "isLValue": false, "isPure": false, @@ -3131,41 +3396,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2244:71:0", + "src": "2375:71:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 205, + "id": 225, "nodeType": "ExpressionStatement", - "src": "2244:71:0" + "src": "2375:71:0" }, { - "id": 206, + "id": 226, "nodeType": "PlaceholderStatement", - "src": "2325:1:0" + "src": "2456:1:0" } ] }, "documentation": null, - "id": 208, + "id": 228, "name": "fundsTransfer", "nodeType": "ModifierDefinition", "parameters": { - "id": 197, + "id": 217, "nodeType": "ParameterList", "parameters": [], - "src": "2234:0:0" + "src": "2365:0:0" }, - "src": "2211:122:0", + "src": "2342:122:0", "visibility": "internal" }, { "body": { - "id": 219, + "id": 239, "nodeType": "Block", - "src": "2365:81:0", + "src": "2496:81:0", "statements": [ { "expression": { @@ -3177,7 +3442,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 214, + "id": 234, "isConstant": false, "isLValue": false, "isPure": false, @@ -3187,18 +3452,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 211, + "id": 231, "name": "getPartyId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 524, - "src": "2383:10:0", + "referencedDeclaration": 552, + "src": "2514:10:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, - "id": 212, + "id": 232, "isConstant": false, "isLValue": false, "isPure": false, @@ -3206,7 +3471,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2383:12:0", + "src": "2514:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3217,14 +3482,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 213, + "id": 233, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2399:1:0", + "src": "2530:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3232,7 +3497,7 @@ }, "value": "0" }, - "src": "2383:17:0", + "src": "2514:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3241,14 +3506,14 @@ { "argumentTypes": null, "hexValue": "4e6f7420612063757272656e742076616c696461746f72", - "id": 215, + "id": 235, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2402:25:0", + "src": "2533:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_8dc18d5bb1361900b9758b388df331056e31071cae84b276c0f03794c4dc634a", @@ -3268,21 +3533,21 @@ "typeString": "literal_string \"Not a current validator\"" } ], - "id": 210, + "id": 230, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 12804, - 12805 + 12832, + 12833 ], - "referencedDeclaration": 12805, - "src": "2375:7:0", + "referencedDeclaration": 12833, + "src": "2506:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 216, + "id": 236, "isConstant": false, "isLValue": false, "isPure": false, @@ -3290,41 +3555,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2375:53:0", + "src": "2506:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 217, + "id": 237, "nodeType": "ExpressionStatement", - "src": "2375:53:0" + "src": "2506:53:0" }, { - "id": 218, + "id": 238, "nodeType": "PlaceholderStatement", - "src": "2438:1:0" + "src": "2569:1:0" } ] }, "documentation": null, - "id": 220, + "id": 240, "name": "currentValidator", "nodeType": "ModifierDefinition", "parameters": { - "id": 209, + "id": 229, "nodeType": "ParameterList", "parameters": [], - "src": "2365:0:0" + "src": "2496:0:0" }, - "src": "2339:107:0", + "src": "2470:107:0", "visibility": "internal" }, { "body": { - "id": 250, + "id": 278, "nodeType": "Block", - "src": "2495:151:0", + "src": "2626:197:0", "statements": [ { "expression": { @@ -3333,85 +3598,213 @@ { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "id": 232, + "id": 260, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "argumentTypes": null, - "id": 228, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "2513:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_rational_10000000000_by_1", - "typeString": "int_const 10000000000" + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "id": 231, + "id": 256, "isConstant": false, "isLValue": false, - "isPure": true, + "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "hexValue": "3130", - "id": 229, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 250, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "number", + "isPure": false, "lValueRequested": false, - "nodeType": "Literal", - "src": "2522:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" + "leftExpression": { + "argumentTypes": null, + "id": 248, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 242, + "src": "2644:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, - "value": "10" + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 249, + "name": "minTxLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 83, + "src": "2653:10:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2644:19:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } }, "nodeType": "BinaryOperation", - "operator": "**", + "operator": "&&", "rightExpression": { "argumentTypes": null, - "hexValue": "3130", - "id": 230, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 255, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "number", + "isPure": false, "lValueRequested": false, - "nodeType": "Literal", - "src": "2528:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" + "leftExpression": { + "argumentTypes": null, + "id": 251, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 242, + "src": "2667:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, - "value": "10" + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_rational_10000000000_by_1", + "typeString": "int_const 10000000000" + }, + "id": 254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "3130", + "id": 252, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2676:2:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3130", + "id": 253, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2682:2:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "2676:8:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000000000_by_1", + "typeString": "int_const 10000000000" + } + }, + "src": "2667:17:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } }, - "src": "2522:8:0", + "src": "2644:40:0", "typeDescriptions": { - "typeIdentifier": "t_rational_10000000000_by_1", - "typeString": "int_const 10000000000" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "src": "2513:17:0", + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 257, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 242, + "src": "2688:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 258, + "name": "maxTxLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "2697:10:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2688:19:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2644:63:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3425,21 +3818,21 @@ "typeString": "bool" } ], - "id": 227, + "id": 247, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 12804, - 12805 + 12832, + 12833 ], - "referencedDeclaration": 12804, - "src": "2505:7:0", + "referencedDeclaration": 12832, + "src": "2636:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 233, + "id": 261, "isConstant": false, "isLValue": false, "isPure": false, @@ -3447,15 +3840,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2505:26:0", + "src": "2636:72:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 234, + "id": 262, "nodeType": "ExpressionStatement", - "src": "2505:26:0" + "src": "2636:72:0" }, { "expression": { @@ -3465,18 +3858,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 238, + "id": 266, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 12801, - "src": "2569:3:0", + "referencedDeclaration": 12829, + "src": "2746:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 239, + "id": 267, "isConstant": false, "isLValue": false, "isPure": false, @@ -3484,7 +3877,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2569:10:0", + "src": "2746:10:0", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -3495,14 +3888,14 @@ "arguments": [ { "argumentTypes": null, - "id": 241, + "id": 269, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 12817, - "src": "2589:4:0", + "referencedDeclaration": 12845, + "src": "2766:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Bridge_$1110", + "typeIdentifier": "t_contract$_Bridge_$1138", "typeString": "contract Bridge" } } @@ -3510,24 +3903,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Bridge_$1110", + "typeIdentifier": "t_contract$_Bridge_$1138", "typeString": "contract Bridge" } ], - "id": 240, + "id": 268, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2581:7:0", + "src": "2758:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 242, + "id": 270, "isConstant": false, "isLValue": false, "isPure": false, @@ -3535,7 +3928,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2581:13:0", + "src": "2758:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3543,12 +3936,12 @@ }, { "argumentTypes": null, - "id": 243, + "id": 271, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "2596:5:0", + "referencedDeclaration": 242, + "src": "2773:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3572,32 +3965,32 @@ ], "expression": { "argumentTypes": null, - "id": 235, + "id": 263, "name": "tokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2542:13:0", + "referencedDeclaration": 163, + "src": "2719:13:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9745", + "typeIdentifier": "t_contract$_IERC20_$9773", "typeString": "contract IERC20" } }, - "id": 237, + "id": 265, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 9728, - "src": "2542:26:0", + "referencedDeclaration": 9756, + "src": "2719:26:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 244, + "id": 272, "isConstant": false, "isLValue": false, "isPure": false, @@ -3605,15 +3998,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2542:60:0", + "src": "2719:60:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 245, + "id": 273, "nodeType": "ExpressionStatement", - "src": "2542:60:0" + "src": "2719:60:0" }, { "eventCall": { @@ -3621,12 +4014,12 @@ "arguments": [ { "argumentTypes": null, - "id": 247, + "id": 275, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "2633:5:0", + "referencedDeclaration": 242, + "src": "2810:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3640,18 +4033,18 @@ "typeString": "uint256" } ], - "id": 246, + "id": 274, "name": "ExchangeRequest", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6, - "src": "2617:15:0", + "src": "2794:15:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 248, + "id": 276, "isConstant": false, "isLValue": false, "isPure": false, @@ -3659,56 +4052,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2617:22:0", + "src": "2794:22:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 249, + "id": 277, "nodeType": "EmitStatement", - "src": "2612:27:0" + "src": "2789:27:0" } ] }, "documentation": null, - "id": 251, + "id": 279, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 225, + "id": 245, "modifierName": { "argumentTypes": null, - "id": 224, + "id": 244, "name": "ready", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 155, - "src": "2489:5:0", + "referencedDeclaration": 175, + "src": "2620:5:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2489:5:0" + "src": "2620:5:0" } ], "name": "exchange", "nodeType": "FunctionDefinition", "parameters": { - "id": 223, + "id": 243, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 222, + "id": 242, "name": "value", "nodeType": "VariableDeclaration", - "scope": 251, - "src": "2470:10:0", + "scope": 279, + "src": "2601:10:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3716,10 +4109,10 @@ "typeString": "uint256" }, "typeName": { - "id": 221, + "id": 241, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2470:4:0", + "src": "2601:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3729,25 +4122,25 @@ "visibility": "internal" } ], - "src": "2469:12:0" + "src": "2600:12:0" }, "returnParameters": { - "id": 226, + "id": 246, "nodeType": "ParameterList", "parameters": [], - "src": "2495:0:0" + "src": "2626:0:0" }, - "scope": 1110, - "src": "2452:194:0", + "scope": 1138, + "src": "2583:240:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 280, + "id": 308, "nodeType": "Block", - "src": "2746:119:0", + "src": "2923:119:0", "statements": [ { "condition": { @@ -3757,18 +4150,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 265, + "id": 293, "name": "Vote", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 55, - "src": "2768:4:0", + "src": "2945:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Vote_$55_$", "typeString": "type(enum Bridge.Vote)" } }, - "id": 266, + "id": 294, "isConstant": false, "isLValue": false, "isPure": true, @@ -3776,7 +4169,7 @@ "memberName": "TRANSFER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2768:13:0", + "src": "2945:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" @@ -3784,12 +4177,12 @@ }, { "argumentTypes": null, - "id": 267, + "id": 295, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 253, - "src": "2783:4:0", + "referencedDeclaration": 281, + "src": "2960:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3797,12 +4190,12 @@ }, { "argumentTypes": null, - "id": 268, + "id": 296, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 255, - "src": "2789:2:0", + "referencedDeclaration": 283, + "src": "2966:2:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3810,12 +4203,12 @@ }, { "argumentTypes": null, - "id": 269, + "id": 297, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 257, - "src": "2793:5:0", + "referencedDeclaration": 285, + "src": "2970:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3841,23 +4234,23 @@ "typeString": "uint256" } ], - "id": 264, + "id": 292, "name": "tryVote", "nodeType": "Identifier", "overloadedDeclarations": [ - 854, - 879, - 904, - 934 + 882, + 907, + 932, + 962 ], - "referencedDeclaration": 934, - "src": "2760:7:0", + "referencedDeclaration": 962, + "src": "2937:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_enum$_Vote_$55_$_t_bytes32_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (enum Bridge.Vote,bytes32,address,uint256) returns (bool)" } }, - "id": 270, + "id": 298, "isConstant": false, "isLValue": false, "isPure": false, @@ -3865,20 +4258,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2760:39:0", + "src": "2937:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 279, + "id": 307, "nodeType": "IfStatement", - "src": "2756:103:0", + "src": "2933:103:0", "trueBody": { - "id": 278, + "id": 306, "nodeType": "Block", - "src": "2801:58:0", + "src": "2978:58:0", "statements": [ { "expression": { @@ -3886,12 +4279,12 @@ "arguments": [ { "argumentTypes": null, - "id": 274, + "id": 302, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 255, - "src": "2838:2:0", + "referencedDeclaration": 283, + "src": "3015:2:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3899,12 +4292,12 @@ }, { "argumentTypes": null, - "id": 275, + "id": 303, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 257, - "src": "2842:5:0", + "referencedDeclaration": 285, + "src": "3019:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3924,32 +4317,32 @@ ], "expression": { "argumentTypes": null, - "id": 271, + "id": 299, "name": "tokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2815:13:0", + "referencedDeclaration": 163, + "src": "2992:13:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9745", + "typeIdentifier": "t_contract$_IERC20_$9773", "typeString": "contract IERC20" } }, - "id": 273, + "id": 301, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 9699, - "src": "2815:22:0", + "referencedDeclaration": 9727, + "src": "2992:22:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 276, + "id": 304, "isConstant": false, "isLValue": false, "isPure": false, @@ -3957,15 +4350,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2815:33:0", + "src": "2992:33:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 277, + "id": 305, "nodeType": "ExpressionStatement", - "src": "2815:33:0" + "src": "2992:33:0" } ] } @@ -3973,62 +4366,62 @@ ] }, "documentation": null, - "id": 281, + "id": 309, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 260, + "id": 288, "modifierName": { "argumentTypes": null, - "id": 259, + "id": 287, "name": "readyOrVoting", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 172, - "src": "2715:13:0", + "referencedDeclaration": 192, + "src": "2892:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2715:13:0" + "src": "2892:13:0" }, { "arguments": null, - "id": 262, + "id": 290, "modifierName": { "argumentTypes": null, - "id": 261, + "id": 289, "name": "currentValidator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 220, - "src": "2729:16:0", + "referencedDeclaration": 240, + "src": "2906:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2729:16:0" + "src": "2906:16:0" } ], "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 258, + "id": 286, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 253, + "id": 281, "name": "hash", "nodeType": "VariableDeclaration", - "scope": 281, - "src": "2670:12:0", + "scope": 309, + "src": "2847:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4036,10 +4429,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 252, + "id": 280, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2670:7:0", + "src": "2847:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4050,11 +4443,11 @@ }, { "constant": false, - "id": 255, + "id": 283, "name": "to", "nodeType": "VariableDeclaration", - "scope": 281, - "src": "2684:10:0", + "scope": 309, + "src": "2861:10:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4062,10 +4455,10 @@ "typeString": "address" }, "typeName": { - "id": 254, + "id": 282, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2684:7:0", + "src": "2861:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4077,11 +4470,11 @@ }, { "constant": false, - "id": 257, + "id": 285, "name": "value", "nodeType": "VariableDeclaration", - "scope": 281, - "src": "2696:10:0", + "scope": 309, + "src": "2873:10:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4089,10 +4482,10 @@ "typeString": "uint256" }, "typeName": { - "id": 256, + "id": 284, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2696:4:0", + "src": "2873:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4102,25 +4495,25 @@ "visibility": "internal" } ], - "src": "2669:38:0" + "src": "2846:38:0" }, "returnParameters": { - "id": 263, + "id": 291, "nodeType": "ParameterList", "parameters": [], - "src": "2746:0:0" + "src": "2923:0:0" }, - "scope": 1110, - "src": "2652:213:0", + "scope": 1138, + "src": "2829:213:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 353, + "id": 381, "nodeType": "Block", - "src": "2924:525:0", + "src": "3101:525:0", "statements": [ { "expression": { @@ -4132,7 +4525,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 296, + "id": 324, "isConstant": false, "isLValue": false, "isPure": false, @@ -4144,18 +4537,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 292, + "id": 320, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 12801, - "src": "2957:3:0", + "referencedDeclaration": 12829, + "src": "3134:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 293, + "id": 321, "isConstant": false, "isLValue": false, "isPure": false, @@ -4163,7 +4556,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2957:10:0", + "src": "3134:10:0", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -4177,18 +4570,18 @@ "typeString": "address payable" } ], - "id": 291, + "id": 319, "name": "getNextPartyId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 564, - "src": "2942:14:0", + "referencedDeclaration": 592, + "src": "3119:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view returns (uint256)" } }, - "id": 294, + "id": 322, "isConstant": false, "isLValue": false, "isPure": false, @@ -4196,7 +4589,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2942:26:0", + "src": "3119:26:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4207,14 +4600,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 295, + "id": 323, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2972:1:0", + "src": "3149:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4222,7 +4615,7 @@ }, "value": "0" }, - "src": "2942:31:0", + "src": "3119:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4231,14 +4624,14 @@ { "argumentTypes": null, "hexValue": "4e6f742061206e6578742076616c696461746f72", - "id": 297, + "id": 325, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2975:22:0", + "src": "3152:22:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_44981c92ce908443b2fa5f878c54791e1a0c95d4cc04ea4f4d9224b3ec030922", @@ -4258,21 +4651,21 @@ "typeString": "literal_string \"Not a next validator\"" } ], - "id": 290, + "id": 318, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 12804, - 12805 + 12832, + 12833 ], - "referencedDeclaration": 12805, - "src": "2934:7:0", + "referencedDeclaration": 12833, + "src": "3111:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 298, + "id": 326, "isConstant": false, "isLValue": false, "isPure": false, @@ -4280,15 +4673,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2934:64:0", + "src": "3111:64:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 299, + "id": 327, "nodeType": "ExpressionStatement", - "src": "2934:64:0" + "src": "3111:64:0" }, { "condition": { @@ -4298,18 +4691,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 301, + "id": 329, "name": "Vote", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 55, - "src": "3024:4:0", + "src": "3201:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Vote_$55_$", "typeString": "type(enum Bridge.Vote)" } }, - "id": 302, + "id": 330, "isConstant": false, "isLValue": false, "isPure": true, @@ -4317,7 +4710,7 @@ "memberName": "CONFIRM_KEYGEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3024:19:0", + "src": "3201:19:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" @@ -4325,12 +4718,12 @@ }, { "argumentTypes": null, - "id": 303, + "id": 331, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 283, - "src": "3045:1:0", + "referencedDeclaration": 311, + "src": "3222:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4338,12 +4731,12 @@ }, { "argumentTypes": null, - "id": 304, + "id": 332, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 285, - "src": "3048:1:0", + "referencedDeclaration": 313, + "src": "3225:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4365,21 +4758,21 @@ "typeString": "uint256" } ], - "id": 300, + "id": 328, "name": "tryConfirm", "nodeType": "Identifier", "overloadedDeclarations": [ - 956, - 984 + 984, + 1012 ], - "referencedDeclaration": 984, - "src": "3013:10:0", + "referencedDeclaration": 1012, + "src": "3190:10:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_enum$_Vote_$55_$_t_uint256_$_t_uint256_$returns$_t_bool_$", "typeString": "function (enum Bridge.Vote,uint256,uint256) returns (bool)" } }, - "id": 305, + "id": 333, "isConstant": false, "isLValue": false, "isPure": false, @@ -4387,25 +4780,25 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3013:37:0", + "src": "3190:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 352, + "id": 380, "nodeType": "IfStatement", - "src": "3009:434:0", + "src": "3186:434:0", "trueBody": { - "id": 351, + "id": 379, "nodeType": "Block", - "src": "3052:391:0", + "src": "3229:391:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 311, + "id": 339, "isConstant": false, "isLValue": false, "isPure": false, @@ -4416,26 +4809,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 306, + "id": 334, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "3066:6:0", + "src": "3243:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 308, + "id": 336, "indexExpression": { "argumentTypes": null, - "id": 307, + "id": 335, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "3073:9:0", + "src": "3250:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4446,13 +4839,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3066:17:0", + "src": "3243:17:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 309, + "id": 337, "isConstant": false, "isLValue": true, "isPure": false, @@ -4460,7 +4853,7 @@ "memberName": "x", "nodeType": "MemberAccess", "referencedDeclaration": 37, - "src": "3066:19:0", + "src": "3243:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4470,31 +4863,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 310, + "id": 338, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 283, - "src": "3088:1:0", + "referencedDeclaration": 311, + "src": "3265:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3066:23:0", + "src": "3243:23:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 312, + "id": 340, "nodeType": "ExpressionStatement", - "src": "3066:23:0" + "src": "3243:23:0" }, { "expression": { "argumentTypes": null, - "id": 318, + "id": 346, "isConstant": false, "isLValue": false, "isPure": false, @@ -4505,26 +4898,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 313, + "id": 341, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "3103:6:0", + "src": "3280:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 315, + "id": 343, "indexExpression": { "argumentTypes": null, - "id": 314, + "id": 342, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "3110:9:0", + "src": "3287:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4535,13 +4928,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3103:17:0", + "src": "3280:17:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 316, + "id": 344, "isConstant": false, "isLValue": true, "isPure": false, @@ -4549,7 +4942,7 @@ "memberName": "y", "nodeType": "MemberAccess", "referencedDeclaration": 39, - "src": "3103:19:0", + "src": "3280:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4559,26 +4952,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 317, + "id": 345, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 285, - "src": "3125:1:0", + "referencedDeclaration": 313, + "src": "3302:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3103:23:0", + "src": "3280:23:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 319, + "id": 347, "nodeType": "ExpressionStatement", - "src": "3103:23:0" + "src": "3280:23:0" }, { "condition": { @@ -4587,19 +4980,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 322, + "id": 350, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 320, + "id": 348, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "3144:9:0", + "src": "3321:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4610,14 +5003,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 321, + "id": 349, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3157:1:0", + "src": "3334:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -4625,33 +5018,33 @@ }, "value": "1" }, - "src": "3144:14:0", + "src": "3321:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 349, + "id": 377, "nodeType": "Block", - "src": "3313:120:0", + "src": "3490:120:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 342, + "id": 370, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 339, + "id": 367, "name": "status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "3331:6:0", + "src": "3508:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" @@ -4663,18 +5056,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 340, + "id": 368, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 45, - "src": "3340:6:0", + "src": "3517:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$45_$", "typeString": "type(enum Bridge.Status)" } }, - "id": 341, + "id": 369, "isConstant": false, "isLValue": false, "isPure": true, @@ -4682,21 +5075,21 @@ "memberName": "FUNDS_TRANSFER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3340:21:0", + "src": "3517:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "src": "3331:30:0", + "src": "3508:30:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "id": 343, + "id": 371, "nodeType": "ExpressionStatement", - "src": "3331:30:0" + "src": "3508:30:0" }, { "eventCall": { @@ -4704,12 +5097,12 @@ "arguments": [ { "argumentTypes": null, - "id": 345, + "id": 373, "name": "epoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "3401:5:0", + "src": "3578:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4717,12 +5110,12 @@ }, { "argumentTypes": null, - "id": 346, + "id": 374, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "3408:9:0", + "src": "3585:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4740,18 +5133,18 @@ "typeString": "uint256" } ], - "id": 344, + "id": 372, "name": "NewFundsTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, - "src": "3384:16:0", + "src": "3561:16:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256)" } }, - "id": 347, + "id": 375, "isConstant": false, "isLValue": false, "isPure": false, @@ -4759,42 +5152,42 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3384:34:0", + "src": "3561:34:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 348, + "id": 376, "nodeType": "EmitStatement", - "src": "3379:39:0" + "src": "3556:39:0" } ] }, - "id": 350, + "id": 378, "nodeType": "IfStatement", - "src": "3140:293:0", + "src": "3317:293:0", "trueBody": { - "id": 338, + "id": 366, "nodeType": "Block", - "src": "3160:135:0", + "src": "3337:135:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 326, + "id": 354, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 323, + "id": 351, "name": "status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "3178:6:0", + "src": "3355:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" @@ -4806,18 +5199,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 324, + "id": 352, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 45, - "src": "3187:6:0", + "src": "3364:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$45_$", "typeString": "type(enum Bridge.Status)" } }, - "id": 325, + "id": 353, "isConstant": false, "isLValue": false, "isPure": true, @@ -4825,38 +5218,38 @@ "memberName": "READY", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3187:12:0", + "src": "3364:12:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "src": "3178:21:0", + "src": "3355:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "id": 327, + "id": 355, "nodeType": "ExpressionStatement", - "src": "3178:21:0" + "src": "3355:21:0" }, { "expression": { "argumentTypes": null, - "id": 330, + "id": 358, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 328, + "id": 356, "name": "epoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "3217:5:0", + "src": "3394:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4866,26 +5259,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 329, + "id": 357, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "3225:9:0", + "src": "3402:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3217:17:0", + "src": "3394:17:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 331, + "id": 359, "nodeType": "ExpressionStatement", - "src": "3217:17:0" + "src": "3394:17:0" }, { "eventCall": { @@ -4893,12 +5286,12 @@ "arguments": [ { "argumentTypes": null, - "id": 333, + "id": 361, "name": "epoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "3268:5:0", + "src": "3445:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4906,12 +5299,12 @@ }, { "argumentTypes": null, - "id": 334, + "id": 362, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 283, - "src": "3275:1:0", + "referencedDeclaration": 311, + "src": "3452:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4919,12 +5312,12 @@ }, { "argumentTypes": null, - "id": 335, + "id": 363, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 285, - "src": "3278:1:0", + "referencedDeclaration": 313, + "src": "3455:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4946,18 +5339,18 @@ "typeString": "uint256" } ], - "id": 332, + "id": 360, "name": "EpochStart", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "3257:10:0", + "src": "3434:10:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256,uint256)" } }, - "id": 336, + "id": 364, "isConstant": false, "isLValue": false, "isPure": false, @@ -4965,15 +5358,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3257:23:0", + "src": "3434:23:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 337, + "id": 365, "nodeType": "EmitStatement", - "src": "3252:28:0" + "src": "3429:28:0" } ] } @@ -4984,43 +5377,43 @@ ] }, "documentation": null, - "id": 354, + "id": 382, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 288, + "id": 316, "modifierName": { "argumentTypes": null, - "id": 287, + "id": 315, "name": "keygen", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 196, - "src": "2917:6:0", + "referencedDeclaration": 216, + "src": "3094:6:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2917:6:0" + "src": "3094:6:0" } ], "name": "confirmKeygen", "nodeType": "FunctionDefinition", "parameters": { - "id": 286, + "id": 314, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 283, + "id": 311, "name": "x", "nodeType": "VariableDeclaration", - "scope": 354, - "src": "2894:6:0", + "scope": 382, + "src": "3071:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5028,10 +5421,10 @@ "typeString": "uint256" }, "typeName": { - "id": 282, + "id": 310, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2894:4:0", + "src": "3071:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5042,11 +5435,11 @@ }, { "constant": false, - "id": 285, + "id": 313, "name": "y", "nodeType": "VariableDeclaration", - "scope": 354, - "src": "2902:6:0", + "scope": 382, + "src": "3079:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5054,10 +5447,10 @@ "typeString": "uint256" }, "typeName": { - "id": 284, + "id": 312, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2902:4:0", + "src": "3079:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5067,25 +5460,25 @@ "visibility": "internal" } ], - "src": "2893:16:0" + "src": "3070:16:0" }, "returnParameters": { - "id": 289, + "id": 317, "nodeType": "ParameterList", "parameters": [], - "src": "2924:0:0" + "src": "3101:0:0" }, - "scope": 1110, - "src": "2871:578:0", + "scope": 1138, + "src": "3048:578:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 395, + "id": 423, "nodeType": "Block", - "src": "3525:281:0", + "src": "3702:281:0", "statements": [ { "expression": { @@ -5097,19 +5490,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 364, + "id": 392, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 362, + "id": 390, "name": "epoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "3543:5:0", + "src": "3720:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5120,14 +5513,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 363, + "id": 391, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3551:1:0", + "src": "3728:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5135,7 +5528,7 @@ }, "value": "0" }, - "src": "3543:9:0", + "src": "3720:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5144,14 +5537,14 @@ { "argumentTypes": null, "hexValue": "46697273742065706f636820646f6573206e6f74206e6565642066756e6473207472616e73666572", - "id": 365, + "id": 393, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3554:42:0", + "src": "3731:42:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_8ddae2cc9da30ed8c59c39c6a950ef823ea484ac89ff6f37abb0317fb5f679a1", @@ -5171,21 +5564,21 @@ "typeString": "literal_string \"First epoch does not need funds transfer\"" } ], - "id": 361, + "id": 389, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 12804, - 12805 + 12832, + 12833 ], - "referencedDeclaration": 12805, - "src": "3535:7:0", + "referencedDeclaration": 12833, + "src": "3712:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 366, + "id": 394, "isConstant": false, "isLValue": false, "isPure": false, @@ -5193,15 +5586,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3535:62:0", + "src": "3712:62:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 367, + "id": 395, "nodeType": "ExpressionStatement", - "src": "3535:62:0" + "src": "3712:62:0" }, { "condition": { @@ -5211,18 +5604,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 369, + "id": 397, "name": "Vote", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 55, - "src": "3623:4:0", + "src": "3800:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Vote_$55_$", "typeString": "type(enum Bridge.Vote)" } }, - "id": 370, + "id": 398, "isConstant": false, "isLValue": false, "isPure": true, @@ -5230,7 +5623,7 @@ "memberName": "CONFIRM_FUNDS_TRANSFER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3623:27:0", + "src": "3800:27:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" @@ -5244,21 +5637,21 @@ "typeString": "enum Bridge.Vote" } ], - "id": 368, + "id": 396, "name": "tryConfirm", "nodeType": "Identifier", "overloadedDeclarations": [ - 956, - 984 + 984, + 1012 ], - "referencedDeclaration": 956, - "src": "3612:10:0", + "referencedDeclaration": 984, + "src": "3789:10:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_enum$_Vote_$55_$returns$_t_bool_$", "typeString": "function (enum Bridge.Vote) returns (bool)" } }, - "id": 371, + "id": 399, "isConstant": false, "isLValue": false, "isPure": false, @@ -5266,37 +5659,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3612:39:0", + "src": "3789:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 394, + "id": 422, "nodeType": "IfStatement", - "src": "3608:192:0", + "src": "3785:192:0", "trueBody": { - "id": 393, + "id": 421, "nodeType": "Block", - "src": "3653:147:0", + "src": "3830:147:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 375, + "id": 403, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 372, + "id": 400, "name": "status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "3667:6:0", + "src": "3844:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" @@ -5308,18 +5701,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 373, + "id": 401, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 45, - "src": "3676:6:0", + "src": "3853:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$45_$", "typeString": "type(enum Bridge.Status)" } }, - "id": 374, + "id": 402, "isConstant": false, "isLValue": false, "isPure": true, @@ -5327,38 +5720,38 @@ "memberName": "READY", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3676:12:0", + "src": "3853:12:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "src": "3667:21:0", + "src": "3844:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "id": 376, + "id": 404, "nodeType": "ExpressionStatement", - "src": "3667:21:0" + "src": "3844:21:0" }, { "expression": { "argumentTypes": null, - "id": 379, + "id": 407, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 377, + "id": 405, "name": "epoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "3702:5:0", + "src": "3879:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5368,26 +5761,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 378, + "id": 406, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "3710:9:0", + "src": "3887:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3702:17:0", + "src": "3879:17:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 380, + "id": 408, "nodeType": "ExpressionStatement", - "src": "3702:17:0" + "src": "3879:17:0" }, { "eventCall": { @@ -5395,12 +5788,12 @@ "arguments": [ { "argumentTypes": null, - "id": 382, + "id": 410, "name": "epoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "3749:5:0", + "src": "3926:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5412,26 +5805,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 383, + "id": 411, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "3756:6:0", + "src": "3933:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 385, + "id": 413, "indexExpression": { "argumentTypes": null, - "id": 384, + "id": 412, "name": "epoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "3763:5:0", + "src": "3940:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5442,13 +5835,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3756:13:0", + "src": "3933:13:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 386, + "id": 414, "isConstant": false, "isLValue": true, "isPure": false, @@ -5456,7 +5849,7 @@ "memberName": "x", "nodeType": "MemberAccess", "referencedDeclaration": 37, - "src": "3756:15:0", + "src": "3933:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5468,26 +5861,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 387, + "id": 415, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "3773:6:0", + "src": "3950:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 389, + "id": 417, "indexExpression": { "argumentTypes": null, - "id": 388, + "id": 416, "name": "epoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "3780:5:0", + "src": "3957:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5498,13 +5891,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3773:13:0", + "src": "3950:13:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 390, + "id": 418, "isConstant": false, "isLValue": true, "isPure": false, @@ -5512,7 +5905,7 @@ "memberName": "y", "nodeType": "MemberAccess", "referencedDeclaration": 39, - "src": "3773:15:0", + "src": "3950:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5534,18 +5927,18 @@ "typeString": "uint256" } ], - "id": 381, + "id": 409, "name": "EpochStart", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "3738:10:0", + "src": "3915:10:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256,uint256)" } }, - "id": 391, + "id": 419, "isConstant": false, "isLValue": false, "isPure": false, @@ -5553,15 +5946,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3738:51:0", + "src": "3915:51:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 392, + "id": 420, "nodeType": "EmitStatement", - "src": "3733:56:0" + "src": "3910:56:0" } ] } @@ -5569,74 +5962,74 @@ ] }, "documentation": null, - "id": 396, + "id": 424, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 357, + "id": 385, "modifierName": { "argumentTypes": null, - "id": 356, + "id": 384, "name": "fundsTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 208, - "src": "3494:13:0", + "referencedDeclaration": 228, + "src": "3671:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3494:13:0" + "src": "3671:13:0" }, { "arguments": null, - "id": 359, + "id": 387, "modifierName": { "argumentTypes": null, - "id": 358, + "id": 386, "name": "currentValidator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 220, - "src": "3508:16:0", + "referencedDeclaration": 240, + "src": "3685:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3508:16:0" + "src": "3685:16:0" } ], "name": "confirmFundsTransfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 355, + "id": 383, "nodeType": "ParameterList", "parameters": [], - "src": "3484:2:0" + "src": "3661:2:0" }, "returnParameters": { - "id": 360, + "id": 388, "nodeType": "ParameterList", "parameters": [], - "src": "3525:0:0" + "src": "3702:0:0" }, - "scope": 1110, - "src": "3455:351:0", + "scope": 1138, + "src": "3632:351:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 405, + "id": 433, "nodeType": "Block", - "src": "3861:41:0", + "src": "4038:41:0", "statements": [ { "expression": { @@ -5644,12 +6037,12 @@ "arguments": [ { "argumentTypes": null, - "id": 402, + "id": 430, "name": "epoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "3889:5:0", + "src": "4066:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5663,21 +6056,21 @@ "typeString": "uint256" } ], - "id": 401, + "id": 429, "name": "getParties", "nodeType": "Identifier", "overloadedDeclarations": [ - 406, - 430 + 434, + 458 ], - "referencedDeclaration": 430, - "src": "3878:10:0", + "referencedDeclaration": 458, + "src": "4055:10:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) view returns (uint256)" } }, - "id": 403, + "id": 431, "isConstant": false, "isLValue": false, "isPure": false, @@ -5685,43 +6078,43 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3878:17:0", + "src": "4055:17:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 400, - "id": 404, + "functionReturnParameters": 428, + "id": 432, "nodeType": "Return", - "src": "3871:24:0" + "src": "4048:24:0" } ] }, "documentation": null, - "id": 406, + "id": 434, "implemented": true, "kind": "function", "modifiers": [], "name": "getParties", "nodeType": "FunctionDefinition", "parameters": { - "id": 397, + "id": 425, "nodeType": "ParameterList", "parameters": [], - "src": "3831:2:0" + "src": "4008:2:0" }, "returnParameters": { - "id": 400, + "id": 428, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 399, + "id": 427, "name": "", "nodeType": "VariableDeclaration", - "scope": 406, - "src": "3855:4:0", + "scope": 434, + "src": "4032:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5729,257 +6122,7 @@ "typeString": "uint256" }, "typeName": { - "id": 398, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3855:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3854:6:0" - }, - "scope": 1110, - "src": "3812:90:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 415, - "nodeType": "Block", - "src": "3961:45:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 412, - "name": "nextEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81, - "src": "3989:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 411, - "name": "getParties", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 406, - 430 - ], - "referencedDeclaration": 430, - "src": "3978:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3978:21:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 410, - "id": 414, - "nodeType": "Return", - "src": "3971:28:0" - } - ] - }, - "documentation": null, - "id": 416, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getNextParties", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 407, - "nodeType": "ParameterList", - "parameters": [], - "src": "3931:2:0" - }, - "returnParameters": { - "id": 410, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 409, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 416, - "src": "3955:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 408, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3955:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3954:6:0" - }, - "scope": 1110, - "src": "3908:98:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 429, - "nodeType": "Block", - "src": "4072:56:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 423, - "name": "states", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 59, - "src": "4089:6:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", - "typeString": "mapping(uint256 => struct Bridge.State storage ref)" - } - }, - "id": 425, - "indexExpression": { - "argumentTypes": null, - "id": 424, - "name": "_epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 418, - "src": "4096:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4089:14:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_State_$40_storage", - "typeString": "struct Bridge.State storage ref" - } - }, - "id": 426, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "validators", - "nodeType": "MemberAccess", - "referencedDeclaration": 33, - "src": "4089:25:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 427, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4089:32:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 422, - "id": 428, - "nodeType": "Return", - "src": "4082:39:0" - } - ] - }, - "documentation": null, - "id": 430, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getParties", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 419, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 418, - "name": "_epoch", - "nodeType": "VariableDeclaration", - "scope": 430, - "src": "4032:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 417, + "id": 426, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4032:4:0", @@ -5992,52 +6135,19 @@ "visibility": "internal" } ], - "src": "4031:13:0" + "src": "4031:6:0" }, - "returnParameters": { - "id": 422, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 421, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 430, - "src": "4066:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 420, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4066:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4065:6:0" - }, - "scope": 1110, - "src": "4012:116:0", + "scope": 1138, + "src": "3989:90:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 439, + "id": 443, "nodeType": "Block", - "src": "4185:43:0", + "src": "4138:45:0", "statements": [ { "expression": { @@ -6045,12 +6155,12 @@ "arguments": [ { "argumentTypes": null, - "id": 436, - "name": "epoch", + "id": 440, + "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 79, - "src": "4215:5:0", + "referencedDeclaration": 81, + "src": "4166:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6064,21 +6174,21 @@ "typeString": "uint256" } ], - "id": 435, - "name": "getThreshold", + "id": 439, + "name": "getParties", "nodeType": "Identifier", "overloadedDeclarations": [ - 440, - 463 + 434, + 458 ], - "referencedDeclaration": 463, - "src": "4202:12:0", + "referencedDeclaration": 458, + "src": "4155:10:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) view returns (uint256)" } }, - "id": 437, + "id": 441, "isConstant": false, "isLValue": false, "isPure": false, @@ -6086,43 +6196,326 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4202:19:0", + "src": "4155:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 434, - "id": 438, + "functionReturnParameters": 438, + "id": 442, "nodeType": "Return", - "src": "4195:26:0" + "src": "4148:28:0" } ] }, "documentation": null, - "id": 440, + "id": 444, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getNextParties", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 435, + "nodeType": "ParameterList", + "parameters": [], + "src": "4108:2:0" + }, + "returnParameters": { + "id": 438, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 437, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 444, + "src": "4132:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 436, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4132:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4131:6:0" + }, + "scope": 1138, + "src": "4085:98:0", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 457, + "nodeType": "Block", + "src": "4249:56:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 451, + "name": "states", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 59, + "src": "4266:6:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", + "typeString": "mapping(uint256 => struct Bridge.State storage ref)" + } + }, + "id": 453, + "indexExpression": { + "argumentTypes": null, + "id": 452, + "name": "_epoch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 446, + "src": "4273:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4266:14:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_State_$40_storage", + "typeString": "struct Bridge.State storage ref" + } + }, + "id": 454, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "validators", + "nodeType": "MemberAccess", + "referencedDeclaration": 33, + "src": "4266:25:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 455, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4266:32:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 450, + "id": 456, + "nodeType": "Return", + "src": "4259:39:0" + } + ] + }, + "documentation": null, + "id": 458, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getParties", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 447, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 446, + "name": "_epoch", + "nodeType": "VariableDeclaration", + "scope": 458, + "src": "4209:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 445, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4209:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4208:13:0" + }, + "returnParameters": { + "id": 450, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 449, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 458, + "src": "4243:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 448, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4243:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4242:6:0" + }, + "scope": 1138, + "src": "4189:116:0", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 467, + "nodeType": "Block", + "src": "4362:43:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 464, + "name": "epoch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79, + "src": "4392:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 463, + "name": "getThreshold", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 468, + 491 + ], + "referencedDeclaration": 491, + "src": "4379:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4379:19:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 462, + "id": 466, + "nodeType": "Return", + "src": "4372:26:0" + } + ] + }, + "documentation": null, + "id": 468, "implemented": true, "kind": "function", "modifiers": [], "name": "getThreshold", "nodeType": "FunctionDefinition", "parameters": { - "id": 431, + "id": 459, "nodeType": "ParameterList", "parameters": [], - "src": "4155:2:0" + "src": "4332:2:0" }, "returnParameters": { - "id": 434, + "id": 462, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 433, + "id": 461, "name": "", "nodeType": "VariableDeclaration", - "scope": 440, - "src": "4179:4:0", + "scope": 468, + "src": "4356:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6130,10 +6523,10 @@ "typeString": "uint256" }, "typeName": { - "id": 432, + "id": 460, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4179:4:0", + "src": "4356:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6143,19 +6536,19 @@ "visibility": "internal" } ], - "src": "4178:6:0" + "src": "4355:6:0" }, - "scope": 1110, - "src": "4134:94:0", + "scope": 1138, + "src": "4311:94:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 449, + "id": 477, "nodeType": "Block", - "src": "4289:47:0", + "src": "4466:47:0", "statements": [ { "expression": { @@ -6163,12 +6556,12 @@ "arguments": [ { "argumentTypes": null, - "id": 446, + "id": 474, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "4319:9:0", + "src": "4496:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6182,21 +6575,21 @@ "typeString": "uint256" } ], - "id": 445, + "id": 473, "name": "getThreshold", "nodeType": "Identifier", "overloadedDeclarations": [ - 440, - 463 + 468, + 491 ], - "referencedDeclaration": 463, - "src": "4306:12:0", + "referencedDeclaration": 491, + "src": "4483:12:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) view returns (uint256)" } }, - "id": 447, + "id": 475, "isConstant": false, "isLValue": false, "isPure": false, @@ -6204,43 +6597,43 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4306:23:0", + "src": "4483:23:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 444, - "id": 448, + "functionReturnParameters": 472, + "id": 476, "nodeType": "Return", - "src": "4299:30:0" + "src": "4476:30:0" } ] }, "documentation": null, - "id": 450, + "id": 478, "implemented": true, "kind": "function", "modifiers": [], "name": "getNextThreshold", "nodeType": "FunctionDefinition", "parameters": { - "id": 441, + "id": 469, "nodeType": "ParameterList", "parameters": [], - "src": "4259:2:0" + "src": "4436:2:0" }, "returnParameters": { - "id": 444, + "id": 472, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 443, + "id": 471, "name": "", "nodeType": "VariableDeclaration", - "scope": 450, - "src": "4283:4:0", + "scope": 478, + "src": "4460:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6248,10 +6641,10 @@ "typeString": "uint256" }, "typeName": { - "id": 442, + "id": 470, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4283:4:0", + "src": "4460:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6261,19 +6654,19 @@ "visibility": "internal" } ], - "src": "4282:6:0" + "src": "4459:6:0" }, - "scope": 1110, - "src": "4234:102:0", + "scope": 1138, + "src": "4411:102:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 462, + "id": 490, "nodeType": "Block", - "src": "4404:48:0", + "src": "4581:48:0", "statements": [ { "expression": { @@ -6282,26 +6675,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 457, + "id": 485, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "4421:6:0", + "src": "4598:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 459, + "id": 487, "indexExpression": { "argumentTypes": null, - "id": 458, + "id": 486, "name": "_epoch", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 452, - "src": "4428:6:0", + "referencedDeclaration": 480, + "src": "4605:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6312,13 +6705,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4421:14:0", + "src": "4598:14:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 460, + "id": 488, "isConstant": false, "isLValue": true, "isPure": false, @@ -6326,37 +6719,37 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 35, - "src": "4421:24:0", + "src": "4598:24:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 456, - "id": 461, + "functionReturnParameters": 484, + "id": 489, "nodeType": "Return", - "src": "4414:31:0" + "src": "4591:31:0" } ] }, "documentation": null, - "id": 463, + "id": 491, "implemented": true, "kind": "function", "modifiers": [], "name": "getThreshold", "nodeType": "FunctionDefinition", "parameters": { - "id": 453, + "id": 481, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 452, + "id": 480, "name": "_epoch", "nodeType": "VariableDeclaration", - "scope": 463, - "src": "4364:11:0", + "scope": 491, + "src": "4541:11:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6364,10 +6757,10 @@ "typeString": "uint256" }, "typeName": { - "id": 451, + "id": 479, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4364:4:0", + "src": "4541:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6377,19 +6770,19 @@ "visibility": "internal" } ], - "src": "4363:13:0" + "src": "4540:13:0" }, "returnParameters": { - "id": 456, + "id": 484, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 455, + "id": 483, "name": "", "nodeType": "VariableDeclaration", - "scope": 463, - "src": "4398:4:0", + "scope": 491, + "src": "4575:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6397,10 +6790,10 @@ "typeString": "uint256" }, "typeName": { - "id": 454, + "id": 482, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4398:4:0", + "src": "4575:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6410,19 +6803,19 @@ "visibility": "internal" } ], - "src": "4397:6:0" + "src": "4574:6:0" }, - "scope": 1110, - "src": "4342:110:0", + "scope": 1138, + "src": "4519:110:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 473, + "id": 501, "nodeType": "Block", - "src": "4501:39:0", + "src": "4678:39:0", "statements": [ { "expression": { @@ -6431,26 +6824,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 468, + "id": 496, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "4518:6:0", + "src": "4695:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 470, + "id": 498, "indexExpression": { "argumentTypes": null, - "id": 469, + "id": 497, "name": "epoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "4525:5:0", + "src": "4702:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6461,13 +6854,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4518:13:0", + "src": "4695:13:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 471, + "id": 499, "isConstant": false, "isLValue": true, "isPure": false, @@ -6475,43 +6868,43 @@ "memberName": "x", "nodeType": "MemberAccess", "referencedDeclaration": 37, - "src": "4518:15:0", + "src": "4695:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 467, - "id": 472, + "functionReturnParameters": 495, + "id": 500, "nodeType": "Return", - "src": "4511:22:0" + "src": "4688:22:0" } ] }, "documentation": null, - "id": 474, + "id": 502, "implemented": true, "kind": "function", "modifiers": [], "name": "getX", "nodeType": "FunctionDefinition", "parameters": { - "id": 464, + "id": 492, "nodeType": "ParameterList", "parameters": [], - "src": "4471:2:0" + "src": "4648:2:0" }, "returnParameters": { - "id": 467, + "id": 495, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 466, + "id": 494, "name": "", "nodeType": "VariableDeclaration", - "scope": 474, - "src": "4495:4:0", + "scope": 502, + "src": "4672:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6519,10 +6912,10 @@ "typeString": "uint256" }, "typeName": { - "id": 465, + "id": 493, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4495:4:0", + "src": "4672:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6532,19 +6925,19 @@ "visibility": "internal" } ], - "src": "4494:6:0" + "src": "4671:6:0" }, - "scope": 1110, - "src": "4458:82:0", + "scope": 1138, + "src": "4635:82:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 484, + "id": 512, "nodeType": "Block", - "src": "4589:39:0", + "src": "4766:39:0", "statements": [ { "expression": { @@ -6553,26 +6946,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 479, + "id": 507, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "4606:6:0", + "src": "4783:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 481, + "id": 509, "indexExpression": { "argumentTypes": null, - "id": 480, + "id": 508, "name": "epoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "4613:5:0", + "src": "4790:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6583,13 +6976,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4606:13:0", + "src": "4783:13:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 482, + "id": 510, "isConstant": false, "isLValue": true, "isPure": false, @@ -6597,43 +6990,43 @@ "memberName": "y", "nodeType": "MemberAccess", "referencedDeclaration": 39, - "src": "4606:15:0", + "src": "4783:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 478, - "id": 483, + "functionReturnParameters": 506, + "id": 511, "nodeType": "Return", - "src": "4599:22:0" + "src": "4776:22:0" } ] }, "documentation": null, - "id": 485, + "id": 513, "implemented": true, "kind": "function", "modifiers": [], "name": "getY", "nodeType": "FunctionDefinition", "parameters": { - "id": 475, + "id": 503, "nodeType": "ParameterList", "parameters": [], - "src": "4559:2:0" + "src": "4736:2:0" }, "returnParameters": { - "id": 478, + "id": 506, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 477, + "id": 505, "name": "", "nodeType": "VariableDeclaration", - "scope": 485, - "src": "4583:4:0", + "scope": 513, + "src": "4760:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6641,10 +7034,10 @@ "typeString": "uint256" }, "typeName": { - "id": 476, + "id": 504, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4583:4:0", + "src": "4760:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6654,32 +7047,32 @@ "visibility": "internal" } ], - "src": "4582:6:0" + "src": "4759:6:0" }, - "scope": 1110, - "src": "4546:82:0", + "scope": 1138, + "src": "4723:82:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 523, + "id": 551, "nodeType": "Block", - "src": "4683:215:0", + "src": "4860:215:0", "statements": [ { "assignments": [ - 493 + 521 ], "declarations": [ { "constant": false, - "id": 493, + "id": 521, "name": "validators", "nodeType": "VariableDeclaration", - "scope": 523, - "src": "4693:27:0", + "scope": 551, + "src": "4870:27:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -6688,19 +7081,19 @@ }, "typeName": { "baseType": { - "id": 491, + "id": 519, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4693:7:0", + "src": "4870:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 492, + "id": 520, "length": null, "nodeType": "ArrayTypeName", - "src": "4693:9:0", + "src": "4870:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -6710,24 +7103,24 @@ "visibility": "internal" } ], - "id": 496, + "id": 524, "initialValue": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], - "id": 494, + "id": 522, "name": "getValidators", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "4723:13:0", + "referencedDeclaration": 604, + "src": "4900:13:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$", "typeString": "function () view returns (address[] memory)" } }, - "id": 495, + "id": 523, "isConstant": false, "isLValue": false, "isPure": false, @@ -6735,20 +7128,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4723:15:0", + "src": "4900:15:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "4693:45:0" + "src": "4870:45:0" }, { "body": { - "id": 519, + "id": 547, "nodeType": "Block", - "src": "4788:86:0", + "src": "4965:86:0", "statements": [ { "condition": { @@ -6757,7 +7150,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 513, + "id": 541, "isConstant": false, "isLValue": false, "isPure": false, @@ -6766,26 +7159,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 508, + "id": 536, "name": "validators", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 493, - "src": "4806:10:0", + "referencedDeclaration": 521, + "src": "4983:10:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 510, + "id": 538, "indexExpression": { "argumentTypes": null, - "id": 509, + "id": 537, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 498, - "src": "4817:1:0", + "referencedDeclaration": 526, + "src": "4994:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6796,7 +7189,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4806:13:0", + "src": "4983:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6808,18 +7201,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 511, + "id": 539, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 12801, - "src": "4823:3:0", + "referencedDeclaration": 12829, + "src": "5000:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 512, + "id": 540, "isConstant": false, "isLValue": false, "isPure": false, @@ -6827,22 +7220,22 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4823:10:0", + "src": "5000:10:0", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "4806:27:0", + "src": "4983:27:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 518, + "id": 546, "nodeType": "IfStatement", - "src": "4802:61:0", + "src": "4979:61:0", "trueBody": { "expression": { "argumentTypes": null, @@ -6850,19 +7243,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 516, + "id": 544, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 514, + "id": 542, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 498, - "src": "4858:1:0", + "referencedDeclaration": 526, + "src": "5035:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6873,14 +7266,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 515, + "id": 543, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4862:1:0", + "src": "5039:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -6888,16 +7281,16 @@ }, "value": "1" }, - "src": "4858:5:0", + "src": "5035:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 489, - "id": 517, + "functionReturnParameters": 517, + "id": 545, "nodeType": "Return", - "src": "4851:12:0" + "src": "5028:12:0" } } ] @@ -6908,19 +7301,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 504, + "id": 532, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 501, + "id": 529, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 498, - "src": "4765:1:0", + "referencedDeclaration": 526, + "src": "4942:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6933,21 +7326,21 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 502, + "id": 530, "name": "getParties", "nodeType": "Identifier", "overloadedDeclarations": [ - 406, - 430 + 434, + 458 ], - "referencedDeclaration": 406, - "src": "4769:10:0", + "referencedDeclaration": 434, + "src": "4946:10:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, - "id": 503, + "id": 531, "isConstant": false, "isLValue": false, "isPure": false, @@ -6955,31 +7348,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4769:12:0", + "src": "4946:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4765:16:0", + "src": "4942:16:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 520, + "id": 548, "initializationExpression": { "assignments": [ - 498 + 526 ], "declarations": [ { "constant": false, - "id": 498, + "id": 526, "name": "i", "nodeType": "VariableDeclaration", - "scope": 520, - "src": "4753:6:0", + "scope": 548, + "src": "4930:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6987,10 +7380,10 @@ "typeString": "uint256" }, "typeName": { - "id": 497, + "id": 525, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4753:4:0", + "src": "4930:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7000,18 +7393,18 @@ "visibility": "internal" } ], - "id": 500, + "id": 528, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 499, + "id": 527, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4762:1:0", + "src": "4939:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7020,12 +7413,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "4753:10:0" + "src": "4930:10:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 506, + "id": 534, "isConstant": false, "isLValue": false, "isPure": false, @@ -7033,15 +7426,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "4783:3:0", + "src": "4960:3:0", "subExpression": { "argumentTypes": null, - "id": 505, + "id": 533, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 498, - "src": "4783:1:0", + "referencedDeclaration": 526, + "src": "4960:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7052,25 +7445,25 @@ "typeString": "uint256" } }, - "id": 507, + "id": 535, "nodeType": "ExpressionStatement", - "src": "4783:3:0" + "src": "4960:3:0" }, "nodeType": "ForStatement", - "src": "4748:126:0" + "src": "4925:126:0" }, { "expression": { "argumentTypes": null, "hexValue": "30", - "id": 521, + "id": 549, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4890:1:0", + "src": "5067:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7078,37 +7471,37 @@ }, "value": "0" }, - "functionReturnParameters": 489, - "id": 522, + "functionReturnParameters": 517, + "id": 550, "nodeType": "Return", - "src": "4883:8:0" + "src": "5060:8:0" } ] }, "documentation": null, - "id": 524, + "id": 552, "implemented": true, "kind": "function", "modifiers": [], "name": "getPartyId", "nodeType": "FunctionDefinition", "parameters": { - "id": 486, + "id": 514, "nodeType": "ParameterList", "parameters": [], - "src": "4653:2:0" + "src": "4830:2:0" }, "returnParameters": { - "id": 489, + "id": 517, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 488, + "id": 516, "name": "", "nodeType": "VariableDeclaration", - "scope": 524, - "src": "4677:4:0", + "scope": 552, + "src": "4854:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7116,10 +7509,10 @@ "typeString": "uint256" }, "typeName": { - "id": 487, + "id": 515, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4677:4:0", + "src": "4854:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7129,32 +7522,32 @@ "visibility": "internal" } ], - "src": "4676:6:0" + "src": "4853:6:0" }, - "scope": 1110, - "src": "4634:264:0", + "scope": 1138, + "src": "4811:264:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 563, + "id": 591, "nodeType": "Block", - "src": "4966:214:0", + "src": "5143:214:0", "statements": [ { "assignments": [ - 534 + 562 ], "declarations": [ { "constant": false, - "id": 534, + "id": 562, "name": "validators", "nodeType": "VariableDeclaration", - "scope": 563, - "src": "4976:27:0", + "scope": 591, + "src": "5153:27:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7163,19 +7556,19 @@ }, "typeName": { "baseType": { - "id": 532, + "id": 560, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4976:7:0", + "src": "5153:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 533, + "id": 561, "length": null, "nodeType": "ArrayTypeName", - "src": "4976:9:0", + "src": "5153:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -7185,24 +7578,24 @@ "visibility": "internal" } ], - "id": 537, + "id": 565, "initialValue": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], - "id": 535, + "id": 563, "name": "getNextValidators", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 588, - "src": "5006:17:0", + "referencedDeclaration": 616, + "src": "5183:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$", "typeString": "function () view returns (address[] memory)" } }, - "id": 536, + "id": 564, "isConstant": false, "isLValue": false, "isPure": false, @@ -7210,20 +7603,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5006:19:0", + "src": "5183:19:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "4976:49:0" + "src": "5153:49:0" }, { "body": { - "id": 559, + "id": 587, "nodeType": "Block", - "src": "5079:77:0", + "src": "5256:77:0", "statements": [ { "condition": { @@ -7232,7 +7625,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 553, + "id": 581, "isConstant": false, "isLValue": false, "isPure": false, @@ -7241,26 +7634,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 549, + "id": 577, "name": "validators", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 534, - "src": "5097:10:0", + "referencedDeclaration": 562, + "src": "5274:10:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 551, + "id": 579, "indexExpression": { "argumentTypes": null, - "id": 550, + "id": 578, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 539, - "src": "5108:1:0", + "referencedDeclaration": 567, + "src": "5285:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7271,7 +7664,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5097:13:0", + "src": "5274:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7281,27 +7674,27 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 552, + "id": 580, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 526, - "src": "5114:1:0", + "referencedDeclaration": 554, + "src": "5291:1:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "5097:18:0", + "src": "5274:18:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 558, + "id": 586, "nodeType": "IfStatement", - "src": "5093:52:0", + "src": "5270:52:0", "trueBody": { "expression": { "argumentTypes": null, @@ -7309,19 +7702,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 556, + "id": 584, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 554, + "id": 582, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 539, - "src": "5140:1:0", + "referencedDeclaration": 567, + "src": "5317:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7332,14 +7725,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 555, + "id": 583, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5144:1:0", + "src": "5321:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -7347,16 +7740,16 @@ }, "value": "1" }, - "src": "5140:5:0", + "src": "5317:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 530, - "id": 557, + "functionReturnParameters": 558, + "id": 585, "nodeType": "Return", - "src": "5133:12:0" + "src": "5310:12:0" } } ] @@ -7367,19 +7760,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 545, + "id": 573, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 542, + "id": 570, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 539, - "src": "5052:1:0", + "referencedDeclaration": 567, + "src": "5229:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7392,18 +7785,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 543, + "id": 571, "name": "getNextParties", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 416, - "src": "5056:14:0", + "referencedDeclaration": 444, + "src": "5233:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, - "id": 544, + "id": 572, "isConstant": false, "isLValue": false, "isPure": false, @@ -7411,31 +7804,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5056:16:0", + "src": "5233:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5052:20:0", + "src": "5229:20:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 560, + "id": 588, "initializationExpression": { "assignments": [ - 539 + 567 ], "declarations": [ { "constant": false, - "id": 539, + "id": 567, "name": "i", "nodeType": "VariableDeclaration", - "scope": 560, - "src": "5040:6:0", + "scope": 588, + "src": "5217:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7443,10 +7836,10 @@ "typeString": "uint256" }, "typeName": { - "id": 538, + "id": 566, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "5040:4:0", + "src": "5217:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7456,18 +7849,18 @@ "visibility": "internal" } ], - "id": 541, + "id": 569, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 540, + "id": 568, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5049:1:0", + "src": "5226:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7476,12 +7869,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "5040:10:0" + "src": "5217:10:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 547, + "id": 575, "isConstant": false, "isLValue": false, "isPure": false, @@ -7489,15 +7882,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "5074:3:0", + "src": "5251:3:0", "subExpression": { "argumentTypes": null, - "id": 546, + "id": 574, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 539, - "src": "5074:1:0", + "referencedDeclaration": 567, + "src": "5251:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7508,25 +7901,25 @@ "typeString": "uint256" } }, - "id": 548, + "id": 576, "nodeType": "ExpressionStatement", - "src": "5074:3:0" + "src": "5251:3:0" }, "nodeType": "ForStatement", - "src": "5035:121:0" + "src": "5212:121:0" }, { "expression": { "argumentTypes": null, "hexValue": "30", - "id": 561, + "id": 589, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5172:1:0", + "src": "5349:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7534,31 +7927,31 @@ }, "value": "0" }, - "functionReturnParameters": 530, - "id": 562, + "functionReturnParameters": 558, + "id": 590, "nodeType": "Return", - "src": "5165:8:0" + "src": "5342:8:0" } ] }, "documentation": null, - "id": 564, + "id": 592, "implemented": true, "kind": "function", "modifiers": [], "name": "getNextPartyId", "nodeType": "FunctionDefinition", "parameters": { - "id": 527, + "id": 555, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 526, + "id": 554, "name": "a", "nodeType": "VariableDeclaration", - "scope": 564, - "src": "4928:9:0", + "scope": 592, + "src": "5105:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7566,10 +7959,10 @@ "typeString": "address" }, "typeName": { - "id": 525, + "id": 553, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4928:7:0", + "src": "5105:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7580,19 +7973,19 @@ "visibility": "internal" } ], - "src": "4927:11:0" + "src": "5104:11:0" }, "returnParameters": { - "id": 530, + "id": 558, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 529, + "id": 557, "name": "", "nodeType": "VariableDeclaration", - "scope": 564, - "src": "4960:4:0", + "scope": 592, + "src": "5137:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7600,10 +7993,10 @@ "typeString": "uint256" }, "typeName": { - "id": 528, + "id": 556, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4960:4:0", + "src": "5137:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7613,19 +8006,19 @@ "visibility": "internal" } ], - "src": "4959:6:0" + "src": "5136:6:0" }, - "scope": 1110, - "src": "4904:276:0", + "scope": 1138, + "src": "5081:276:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 575, + "id": 603, "nodeType": "Block", - "src": "5250:48:0", + "src": "5427:48:0", "statements": [ { "expression": { @@ -7634,26 +8027,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 570, + "id": 598, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "5267:6:0", + "src": "5444:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 572, + "id": 600, "indexExpression": { "argumentTypes": null, - "id": 571, + "id": 599, "name": "epoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "5274:5:0", + "src": "5451:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7664,13 +8057,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5267:13:0", + "src": "5444:13:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 573, + "id": 601, "isConstant": false, "isLValue": true, "isPure": false, @@ -7678,43 +8071,43 @@ "memberName": "validators", "nodeType": "MemberAccess", "referencedDeclaration": 33, - "src": "5267:24:0", + "src": "5444:24:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "functionReturnParameters": 569, - "id": 574, + "functionReturnParameters": 597, + "id": 602, "nodeType": "Return", - "src": "5260:31:0" + "src": "5437:31:0" } ] }, "documentation": null, - "id": 576, + "id": 604, "implemented": true, "kind": "function", "modifiers": [], "name": "getValidators", "nodeType": "FunctionDefinition", "parameters": { - "id": 565, + "id": 593, "nodeType": "ParameterList", "parameters": [], - "src": "5208:2:0" + "src": "5385:2:0" }, "returnParameters": { - "id": 569, + "id": 597, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 568, + "id": 596, "name": "", "nodeType": "VariableDeclaration", - "scope": 576, - "src": "5232:16:0", + "scope": 604, + "src": "5409:16:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7723,20 +8116,20 @@ }, "typeName": { "baseType": { - "id": 566, + "id": 594, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5232:7:0", + "src": "5409:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 567, + "id": 595, "length": null, "nodeType": "ArrayTypeName", - "src": "5232:9:0", + "src": "5409:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -7746,19 +8139,19 @@ "visibility": "internal" } ], - "src": "5231:18:0" + "src": "5408:18:0" }, - "scope": 1110, - "src": "5186:112:0", + "scope": 1138, + "src": "5363:112:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 587, + "id": 615, "nodeType": "Block", - "src": "5372:52:0", + "src": "5549:52:0", "statements": [ { "expression": { @@ -7767,26 +8160,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 582, + "id": 610, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "5389:6:0", + "src": "5566:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 584, + "id": 612, "indexExpression": { "argumentTypes": null, - "id": 583, + "id": 611, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "5396:9:0", + "src": "5573:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7797,13 +8190,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5389:17:0", + "src": "5566:17:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 585, + "id": 613, "isConstant": false, "isLValue": true, "isPure": false, @@ -7811,43 +8204,43 @@ "memberName": "validators", "nodeType": "MemberAccess", "referencedDeclaration": 33, - "src": "5389:28:0", + "src": "5566:28:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "functionReturnParameters": 581, - "id": 586, + "functionReturnParameters": 609, + "id": 614, "nodeType": "Return", - "src": "5382:35:0" + "src": "5559:35:0" } ] }, "documentation": null, - "id": 588, + "id": 616, "implemented": true, "kind": "function", "modifiers": [], "name": "getNextValidators", "nodeType": "FunctionDefinition", "parameters": { - "id": 577, + "id": 605, "nodeType": "ParameterList", "parameters": [], - "src": "5330:2:0" + "src": "5507:2:0" }, "returnParameters": { - "id": 581, + "id": 609, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 580, + "id": 608, "name": "", "nodeType": "VariableDeclaration", - "scope": 588, - "src": "5354:16:0", + "scope": 616, + "src": "5531:16:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7856,20 +8249,20 @@ }, "typeName": { "baseType": { - "id": 578, + "id": 606, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5354:7:0", + "src": "5531:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 579, + "id": 607, "length": null, "nodeType": "ArrayTypeName", - "src": "5354:9:0", + "src": "5531:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -7879,19 +8272,19 @@ "visibility": "internal" } ], - "src": "5353:18:0" + "src": "5530:18:0" }, - "scope": 1110, - "src": "5304:120:0", + "scope": 1138, + "src": "5481:120:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 629, + "id": 657, "nodeType": "Block", - "src": "5491:256:0", + "src": "5668:256:0", "statements": [ { "condition": { @@ -7901,18 +8294,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 596, + "id": 624, "name": "Vote", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 55, - "src": "5513:4:0", + "src": "5690:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Vote_$55_$", "typeString": "type(enum Bridge.Vote)" } }, - "id": 597, + "id": 625, "isConstant": false, "isLValue": false, "isPure": true, @@ -7920,7 +8313,7 @@ "memberName": "START_VOTING", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5513:17:0", + "src": "5690:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" @@ -7934,23 +8327,23 @@ "typeString": "enum Bridge.Vote" } ], - "id": 595, + "id": 623, "name": "tryVote", "nodeType": "Identifier", "overloadedDeclarations": [ - 854, - 879, - 904, - 934 + 882, + 907, + 932, + 962 ], - "referencedDeclaration": 854, - "src": "5505:7:0", + "referencedDeclaration": 882, + "src": "5682:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_enum$_Vote_$55_$returns$_t_bool_$", "typeString": "function (enum Bridge.Vote) returns (bool)" } }, - "id": 598, + "id": 626, "isConstant": false, "isLValue": false, "isPure": false, @@ -7958,25 +8351,25 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5505:26:0", + "src": "5682:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 628, + "id": 656, "nodeType": "IfStatement", - "src": "5501:240:0", + "src": "5678:240:0", "trueBody": { - "id": 627, + "id": 655, "nodeType": "Block", - "src": "5533:208:0", + "src": "5710:208:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 600, + "id": 628, "isConstant": false, "isLValue": false, "isPure": false, @@ -7984,15 +8377,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "5547:11:0", + "src": "5724:11:0", "subExpression": { "argumentTypes": null, - "id": 599, + "id": 627, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "5547:9:0", + "src": "5724:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8003,26 +8396,26 @@ "typeString": "uint256" } }, - "id": 601, + "id": 629, "nodeType": "ExpressionStatement", - "src": "5547:11:0" + "src": "5724:11:0" }, { "expression": { "argumentTypes": null, - "id": 605, + "id": 633, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 602, + "id": 630, "name": "status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "5572:6:0", + "src": "5749:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" @@ -8034,18 +8427,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 603, + "id": 631, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 45, - "src": "5581:6:0", + "src": "5758:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$45_$", "typeString": "type(enum Bridge.Status)" } }, - "id": 604, + "id": 632, "isConstant": false, "isLValue": false, "isPure": true, @@ -8053,26 +8446,26 @@ "memberName": "VOTING", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5581:13:0", + "src": "5758:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "src": "5572:22:0", + "src": "5749:22:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "id": 606, + "id": 634, "nodeType": "ExpressionStatement", - "src": "5572:22:0" + "src": "5749:22:0" }, { "expression": { "argumentTypes": null, - "id": 615, + "id": 643, "isConstant": false, "isLValue": false, "isPure": false, @@ -8083,26 +8476,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 607, + "id": 635, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "5608:6:0", + "src": "5785:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 609, + "id": 637, "indexExpression": { "argumentTypes": null, - "id": 608, + "id": 636, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "5615:9:0", + "src": "5792:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8113,13 +8506,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5608:17:0", + "src": "5785:17:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 610, + "id": 638, "isConstant": false, "isLValue": true, "isPure": false, @@ -8127,7 +8520,7 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 35, - "src": "5608:27:0", + "src": "5785:27:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8141,26 +8534,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 611, + "id": 639, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "5638:6:0", + "src": "5815:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 613, + "id": 641, "indexExpression": { "argumentTypes": null, - "id": 612, + "id": 640, "name": "epoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "5645:5:0", + "src": "5822:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8171,13 +8564,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5638:13:0", + "src": "5815:13:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 614, + "id": 642, "isConstant": false, "isLValue": true, "isPure": false, @@ -8185,26 +8578,26 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 35, - "src": "5638:23:0", + "src": "5815:23:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5608:53:0", + "src": "5785:53:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 616, + "id": 644, "nodeType": "ExpressionStatement", - "src": "5608:53:0" + "src": "5785:53:0" }, { "expression": { "argumentTypes": null, - "id": 625, + "id": 653, "isConstant": false, "isLValue": false, "isPure": false, @@ -8215,26 +8608,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 617, + "id": 645, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "5675:6:0", + "src": "5852:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 619, + "id": 647, "indexExpression": { "argumentTypes": null, - "id": 618, + "id": 646, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "5682:9:0", + "src": "5859:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8245,13 +8638,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5675:17:0", + "src": "5852:17:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 620, + "id": 648, "isConstant": false, "isLValue": true, "isPure": false, @@ -8259,7 +8652,7 @@ "memberName": "validators", "nodeType": "MemberAccess", "referencedDeclaration": 33, - "src": "5675:28:0", + "src": "5852:28:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -8273,26 +8666,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 621, + "id": 649, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "5706:6:0", + "src": "5883:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 623, + "id": 651, "indexExpression": { "argumentTypes": null, - "id": 622, + "id": 650, "name": "epoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "5713:5:0", + "src": "5890:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8303,13 +8696,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5706:13:0", + "src": "5883:13:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 624, + "id": 652, "isConstant": false, "isLValue": true, "isPure": false, @@ -8317,21 +8710,21 @@ "memberName": "validators", "nodeType": "MemberAccess", "referencedDeclaration": 33, - "src": "5706:24:0", + "src": "5883:24:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "src": "5675:55:0", + "src": "5852:55:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 626, + "id": 654, "nodeType": "ExpressionStatement", - "src": "5675:55:0" + "src": "5852:55:0" } ] } @@ -8339,74 +8732,74 @@ ] }, "documentation": null, - "id": 630, + "id": 658, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 591, + "id": 619, "modifierName": { "argumentTypes": null, - "id": 590, + "id": 618, "name": "readyOrVoting", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 172, - "src": "5460:13:0", + "referencedDeclaration": 192, + "src": "5637:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "5460:13:0" + "src": "5637:13:0" }, { "arguments": null, - "id": 593, + "id": 621, "modifierName": { "argumentTypes": null, - "id": 592, + "id": 620, "name": "currentValidator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 220, - "src": "5474:16:0", + "referencedDeclaration": 240, + "src": "5651:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "5474:16:0" + "src": "5651:16:0" } ], "name": "startVoting", "nodeType": "FunctionDefinition", "parameters": { - "id": 589, + "id": 617, "nodeType": "ParameterList", "parameters": [], - "src": "5450:2:0" + "src": "5627:2:0" }, "returnParameters": { - "id": 594, + "id": 622, "nodeType": "ParameterList", "parameters": [], - "src": "5491:0:0" + "src": "5668:0:0" }, - "scope": 1110, - "src": "5430:317:0", + "scope": 1138, + "src": "5607:317:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 663, + "id": 691, "nodeType": "Block", - "src": "5829:202:0", + "src": "6006:202:0", "statements": [ { "expression": { @@ -8418,7 +8811,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 644, + "id": 672, "isConstant": false, "isLValue": false, "isPure": false, @@ -8428,12 +8821,12 @@ "arguments": [ { "argumentTypes": null, - "id": 641, + "id": 669, "name": "validator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 632, - "src": "5862:9:0", + "referencedDeclaration": 660, + "src": "6039:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8447,18 +8840,18 @@ "typeString": "address" } ], - "id": 640, + "id": 668, "name": "getNextPartyId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 564, - "src": "5847:14:0", + "referencedDeclaration": 592, + "src": "6024:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view returns (uint256)" } }, - "id": 642, + "id": 670, "isConstant": false, "isLValue": false, "isPure": false, @@ -8466,7 +8859,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5847:25:0", + "src": "6024:25:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8477,14 +8870,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 643, + "id": 671, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5876:1:0", + "src": "6053:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -8492,7 +8885,7 @@ }, "value": "0" }, - "src": "5847:30:0", + "src": "6024:30:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8501,14 +8894,14 @@ { "argumentTypes": null, "hexValue": "416c726561647920612076616c696461746f72", - "id": 645, + "id": 673, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5879:21:0", + "src": "6056:21:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_aeb0fe100da2796aa6136a3b1c66282f002b435141be331237dfa7127e6df6ff", @@ -8528,21 +8921,21 @@ "typeString": "literal_string \"Already a validator\"" } ], - "id": 639, + "id": 667, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 12804, - 12805 + 12832, + 12833 ], - "referencedDeclaration": 12805, - "src": "5839:7:0", + "referencedDeclaration": 12833, + "src": "6016:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 646, + "id": 674, "isConstant": false, "isLValue": false, "isPure": false, @@ -8550,15 +8943,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5839:62:0", + "src": "6016:62:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 647, + "id": 675, "nodeType": "ExpressionStatement", - "src": "5839:62:0" + "src": "6016:62:0" }, { "condition": { @@ -8568,18 +8961,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 649, + "id": 677, "name": "Vote", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 55, - "src": "5924:4:0", + "src": "6101:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Vote_$55_$", "typeString": "type(enum Bridge.Vote)" } }, - "id": 650, + "id": 678, "isConstant": false, "isLValue": false, "isPure": true, @@ -8587,7 +8980,7 @@ "memberName": "ADD_VALIDATOR", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5924:18:0", + "src": "6101:18:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" @@ -8595,12 +8988,12 @@ }, { "argumentTypes": null, - "id": 651, + "id": 679, "name": "validator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 632, - "src": "5944:9:0", + "referencedDeclaration": 660, + "src": "6121:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8618,23 +9011,23 @@ "typeString": "address" } ], - "id": 648, + "id": 676, "name": "tryVote", "nodeType": "Identifier", "overloadedDeclarations": [ - 854, - 879, - 904, - 934 + 882, + 907, + 932, + 962 ], - "referencedDeclaration": 879, - "src": "5916:7:0", + "referencedDeclaration": 907, + "src": "6093:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_enum$_Vote_$55_$_t_address_$returns$_t_bool_$", "typeString": "function (enum Bridge.Vote,address) returns (bool)" } }, - "id": 652, + "id": 680, "isConstant": false, "isLValue": false, "isPure": false, @@ -8642,20 +9035,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5916:38:0", + "src": "6093:38:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 662, + "id": 690, "nodeType": "IfStatement", - "src": "5912:113:0", + "src": "6089:113:0", "trueBody": { - "id": 661, + "id": 689, "nodeType": "Block", - "src": "5956:69:0", + "src": "6133:69:0", "statements": [ { "expression": { @@ -8663,12 +9056,12 @@ "arguments": [ { "argumentTypes": null, - "id": 658, + "id": 686, "name": "validator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 632, - "src": "6004:9:0", + "referencedDeclaration": 660, + "src": "6181:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8688,26 +9081,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 653, + "id": 681, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "5970:6:0", + "src": "6147:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 655, + "id": 683, "indexExpression": { "argumentTypes": null, - "id": 654, + "id": 682, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "5977:9:0", + "src": "6154:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8718,13 +9111,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5970:17:0", + "src": "6147:17:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 656, + "id": 684, "isConstant": false, "isLValue": true, "isPure": false, @@ -8732,13 +9125,13 @@ "memberName": "validators", "nodeType": "MemberAccess", "referencedDeclaration": 33, - "src": "5970:28:0", + "src": "6147:28:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 657, + "id": 685, "isConstant": false, "isLValue": false, "isPure": false, @@ -8746,13 +9139,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5970:33:0", + "src": "6147:33:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) returns (uint256)" } }, - "id": 659, + "id": 687, "isConstant": false, "isLValue": false, "isPure": false, @@ -8760,15 +9153,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5970:44:0", + "src": "6147:44:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 660, + "id": 688, "nodeType": "ExpressionStatement", - "src": "5970:44:0" + "src": "6147:44:0" } ] } @@ -8776,62 +9169,62 @@ ] }, "documentation": null, - "id": 664, + "id": 692, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 635, + "id": 663, "modifierName": { "argumentTypes": null, - "id": 634, + "id": 662, "name": "voting", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 184, - "src": "5805:6:0", + "referencedDeclaration": 204, + "src": "5982:6:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "5805:6:0" + "src": "5982:6:0" }, { "arguments": null, - "id": 637, + "id": 665, "modifierName": { "argumentTypes": null, - "id": 636, + "id": 664, "name": "currentValidator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 220, - "src": "5812:16:0", + "referencedDeclaration": 240, + "src": "5989:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "5812:16:0" + "src": "5989:16:0" } ], "name": "voteAddValidator", "nodeType": "FunctionDefinition", "parameters": { - "id": 633, + "id": 661, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 632, + "id": 660, "name": "validator", "nodeType": "VariableDeclaration", - "scope": 664, - "src": "5779:17:0", + "scope": 692, + "src": "5956:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8839,10 +9232,10 @@ "typeString": "address" }, "typeName": { - "id": 631, + "id": 659, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5779:7:0", + "src": "5956:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8853,25 +9246,25 @@ "visibility": "internal" } ], - "src": "5778:19:0" + "src": "5955:19:0" }, "returnParameters": { - "id": 638, + "id": 666, "nodeType": "ParameterList", "parameters": [], - "src": "5829:0:0" + "src": "6006:0:0" }, - "scope": 1110, - "src": "5753:278:0", + "scope": 1138, + "src": "5930:278:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 693, + "id": 721, "nodeType": "Block", - "src": "6116:192:0", + "src": "6293:192:0", "statements": [ { "expression": { @@ -8883,7 +9276,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 678, + "id": 706, "isConstant": false, "isLValue": false, "isPure": false, @@ -8893,12 +9286,12 @@ "arguments": [ { "argumentTypes": null, - "id": 675, + "id": 703, "name": "validator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 666, - "src": "6149:9:0", + "referencedDeclaration": 694, + "src": "6326:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8912,18 +9305,18 @@ "typeString": "address" } ], - "id": 674, + "id": 702, "name": "getNextPartyId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 564, - "src": "6134:14:0", + "referencedDeclaration": 592, + "src": "6311:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view returns (uint256)" } }, - "id": 676, + "id": 704, "isConstant": false, "isLValue": false, "isPure": false, @@ -8931,7 +9324,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6134:25:0", + "src": "6311:25:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8942,14 +9335,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 677, + "id": 705, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6163:1:0", + "src": "6340:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -8957,7 +9350,7 @@ }, "value": "0" }, - "src": "6134:30:0", + "src": "6311:30:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8966,14 +9359,14 @@ { "argumentTypes": null, "hexValue": "416c7265616479206e6f7420612076616c696461746f72", - "id": 679, + "id": 707, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6166:25:0", + "src": "6343:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_2332ed568e8af3d64f1f2b0b098c504cab97ba4128fb9f08cfa3f851ced05961", @@ -8993,21 +9386,21 @@ "typeString": "literal_string \"Already not a validator\"" } ], - "id": 673, + "id": 701, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 12804, - 12805 + 12832, + 12833 ], - "referencedDeclaration": 12805, - "src": "6126:7:0", + "referencedDeclaration": 12833, + "src": "6303:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 680, + "id": 708, "isConstant": false, "isLValue": false, "isPure": false, @@ -9015,15 +9408,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6126:66:0", + "src": "6303:66:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 681, + "id": 709, "nodeType": "ExpressionStatement", - "src": "6126:66:0" + "src": "6303:66:0" }, { "condition": { @@ -9033,18 +9426,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 683, + "id": 711, "name": "Vote", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 55, - "src": "6215:4:0", + "src": "6392:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Vote_$55_$", "typeString": "type(enum Bridge.Vote)" } }, - "id": 684, + "id": 712, "isConstant": false, "isLValue": false, "isPure": true, @@ -9052,7 +9445,7 @@ "memberName": "REMOVE_VALIDATOR", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6215:21:0", + "src": "6392:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" @@ -9060,12 +9453,12 @@ }, { "argumentTypes": null, - "id": 685, + "id": 713, "name": "validator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 666, - "src": "6238:9:0", + "referencedDeclaration": 694, + "src": "6415:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9083,23 +9476,23 @@ "typeString": "address" } ], - "id": 682, + "id": 710, "name": "tryVote", "nodeType": "Identifier", "overloadedDeclarations": [ - 854, - 879, - 904, - 934 + 882, + 907, + 932, + 962 ], - "referencedDeclaration": 879, - "src": "6207:7:0", + "referencedDeclaration": 907, + "src": "6384:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_enum$_Vote_$55_$_t_address_$returns$_t_bool_$", "typeString": "function (enum Bridge.Vote,address) returns (bool)" } }, - "id": 686, + "id": 714, "isConstant": false, "isLValue": false, "isPure": false, @@ -9107,20 +9500,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6207:41:0", + "src": "6384:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 692, + "id": 720, "nodeType": "IfStatement", - "src": "6203:99:0", + "src": "6380:99:0", "trueBody": { - "id": 691, + "id": 719, "nodeType": "Block", - "src": "6250:52:0", + "src": "6427:52:0", "statements": [ { "expression": { @@ -9128,12 +9521,12 @@ "arguments": [ { "argumentTypes": null, - "id": 688, + "id": 716, "name": "validator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 666, - "src": "6281:9:0", + "referencedDeclaration": 694, + "src": "6458:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9147,18 +9540,18 @@ "typeString": "address" } ], - "id": 687, + "id": 715, "name": "_removeValidator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 761, - "src": "6264:16:0", + "referencedDeclaration": 789, + "src": "6441:16:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 689, + "id": 717, "isConstant": false, "isLValue": false, "isPure": false, @@ -9166,15 +9559,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6264:27:0", + "src": "6441:27:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 690, + "id": 718, "nodeType": "ExpressionStatement", - "src": "6264:27:0" + "src": "6441:27:0" } ] } @@ -9182,62 +9575,62 @@ ] }, "documentation": null, - "id": 694, + "id": 722, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 669, + "id": 697, "modifierName": { "argumentTypes": null, - "id": 668, + "id": 696, "name": "voting", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 184, - "src": "6092:6:0", + "referencedDeclaration": 204, + "src": "6269:6:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "6092:6:0" + "src": "6269:6:0" }, { "arguments": null, - "id": 671, + "id": 699, "modifierName": { "argumentTypes": null, - "id": 670, + "id": 698, "name": "currentValidator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 220, - "src": "6099:16:0", + "referencedDeclaration": 240, + "src": "6276:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "6099:16:0" + "src": "6276:16:0" } ], "name": "voteRemoveValidator", "nodeType": "FunctionDefinition", "parameters": { - "id": 667, + "id": 695, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 666, + "id": 694, "name": "validator", "nodeType": "VariableDeclaration", - "scope": 694, - "src": "6066:17:0", + "scope": 722, + "src": "6243:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9245,10 +9638,10 @@ "typeString": "address" }, "typeName": { - "id": 665, + "id": 693, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6066:7:0", + "src": "6243:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -9259,31 +9652,31 @@ "visibility": "internal" } ], - "src": "6065:19:0" + "src": "6242:19:0" }, "returnParameters": { - "id": 672, + "id": 700, "nodeType": "ParameterList", "parameters": [], - "src": "6116:0:0" + "src": "6293:0:0" }, - "scope": 1110, - "src": "6037:271:0", + "scope": 1138, + "src": "6214:271:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 760, + "id": 788, "nodeType": "Block", - "src": "6367:392:0", + "src": "6544:392:0", "statements": [ { "body": { - "id": 740, + "id": 768, "nodeType": "Block", - "src": "6425:214:0", + "src": "6602:214:0", "statements": [ { "condition": { @@ -9292,7 +9685,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 719, + "id": 747, "isConstant": false, "isLValue": false, "isPure": false, @@ -9305,26 +9698,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 712, + "id": 740, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "6443:6:0", + "src": "6620:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 714, + "id": 742, "indexExpression": { "argumentTypes": null, - "id": 713, + "id": 741, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "6450:9:0", + "src": "6627:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9335,13 +9728,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6443:17:0", + "src": "6620:17:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 715, + "id": 743, "isConstant": false, "isLValue": true, "isPure": false, @@ -9349,21 +9742,21 @@ "memberName": "validators", "nodeType": "MemberAccess", "referencedDeclaration": 33, - "src": "6443:28:0", + "src": "6620:28:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 717, + "id": 745, "indexExpression": { "argumentTypes": null, - "id": 716, + "id": 744, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 700, - "src": "6472:1:0", + "referencedDeclaration": 728, + "src": "6649:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9374,7 +9767,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6443:31:0", + "src": "6620:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9384,36 +9777,36 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 718, + "id": 746, "name": "validator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 696, - "src": "6478:9:0", + "referencedDeclaration": 724, + "src": "6655:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "6443:44:0", + "src": "6620:44:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 739, + "id": 767, "nodeType": "IfStatement", - "src": "6439:190:0", + "src": "6616:190:0", "trueBody": { - "id": 738, + "id": 766, "nodeType": "Block", - "src": "6489:140:0", + "src": "6666:140:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 735, + "id": 763, "isConstant": false, "isLValue": false, "isPure": false, @@ -9426,26 +9819,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 720, + "id": 748, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "6507:6:0", + "src": "6684:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 722, + "id": 750, "indexExpression": { "argumentTypes": null, - "id": 721, + "id": 749, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "6514:9:0", + "src": "6691:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9456,13 +9849,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6507:17:0", + "src": "6684:17:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 723, + "id": 751, "isConstant": false, "isLValue": true, "isPure": false, @@ -9470,21 +9863,21 @@ "memberName": "validators", "nodeType": "MemberAccess", "referencedDeclaration": 33, - "src": "6507:28:0", + "src": "6684:28:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 725, + "id": 753, "indexExpression": { "argumentTypes": null, - "id": 724, + "id": 752, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 700, - "src": "6536:1:0", + "referencedDeclaration": 728, + "src": "6713:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9495,7 +9888,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6507:31:0", + "src": "6684:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9511,26 +9904,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 726, + "id": 754, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "6541:6:0", + "src": "6718:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 728, + "id": 756, "indexExpression": { "argumentTypes": null, - "id": 727, + "id": 755, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "6548:9:0", + "src": "6725:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9541,13 +9934,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6541:17:0", + "src": "6718:17:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 729, + "id": 757, "isConstant": false, "isLValue": true, "isPure": false, @@ -9555,20 +9948,20 @@ "memberName": "validators", "nodeType": "MemberAccess", "referencedDeclaration": 33, - "src": "6541:28:0", + "src": "6718:28:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 734, + "id": 762, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 733, + "id": 761, "isConstant": false, "isLValue": false, "isPure": false, @@ -9578,18 +9971,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 730, + "id": 758, "name": "getNextParties", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 416, - "src": "6570:14:0", + "referencedDeclaration": 444, + "src": "6747:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, - "id": 731, + "id": 759, "isConstant": false, "isLValue": false, "isPure": false, @@ -9597,7 +9990,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6570:16:0", + "src": "6747:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9608,14 +10001,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 732, + "id": 760, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6589:1:0", + "src": "6766:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -9623,7 +10016,7 @@ }, "value": "1" }, - "src": "6570:20:0", + "src": "6747:20:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9634,26 +10027,26 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6541:50:0", + "src": "6718:50:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "6507:84:0", + "src": "6684:84:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 736, + "id": 764, "nodeType": "ExpressionStatement", - "src": "6507:84:0" + "src": "6684:84:0" }, { - "id": 737, + "id": 765, "nodeType": "Break", - "src": "6609:5:0" + "src": "6786:5:0" } ] } @@ -9666,19 +10059,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 708, + "id": 736, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 703, + "id": 731, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 700, - "src": "6394:1:0", + "referencedDeclaration": 728, + "src": "6571:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9692,7 +10085,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 707, + "id": 735, "isConstant": false, "isLValue": false, "isPure": false, @@ -9702,18 +10095,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 704, + "id": 732, "name": "getNextParties", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 416, - "src": "6398:14:0", + "referencedDeclaration": 444, + "src": "6575:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, - "id": 705, + "id": 733, "isConstant": false, "isLValue": false, "isPure": false, @@ -9721,7 +10114,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6398:16:0", + "src": "6575:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9732,14 +10125,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 706, + "id": 734, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6417:1:0", + "src": "6594:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -9747,31 +10140,31 @@ }, "value": "1" }, - "src": "6398:20:0", + "src": "6575:20:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6394:24:0", + "src": "6571:24:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 741, + "id": 769, "initializationExpression": { "assignments": [ - 700 + 728 ], "declarations": [ { "constant": false, - "id": 700, + "id": 728, "name": "i", "nodeType": "VariableDeclaration", - "scope": 741, - "src": "6382:6:0", + "scope": 769, + "src": "6559:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9779,10 +10172,10 @@ "typeString": "uint256" }, "typeName": { - "id": 699, + "id": 727, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "6382:4:0", + "src": "6559:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9792,18 +10185,18 @@ "visibility": "internal" } ], - "id": 702, + "id": 730, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 701, + "id": 729, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6391:1:0", + "src": "6568:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -9812,12 +10205,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "6382:10:0" + "src": "6559:10:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 710, + "id": 738, "isConstant": false, "isLValue": false, "isPure": false, @@ -9825,15 +10218,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "6420:3:0", + "src": "6597:3:0", "subExpression": { "argumentTypes": null, - "id": 709, + "id": 737, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 700, - "src": "6420:1:0", + "referencedDeclaration": 728, + "src": "6597:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9844,17 +10237,17 @@ "typeString": "uint256" } }, - "id": 711, + "id": 739, "nodeType": "ExpressionStatement", - "src": "6420:3:0" + "src": "6597:3:0" }, "nodeType": "ForStatement", - "src": "6377:262:0" + "src": "6554:262:0" }, { "expression": { "argumentTypes": null, - "id": 751, + "id": 779, "isConstant": false, "isLValue": false, "isPure": false, @@ -9862,7 +10255,7 @@ "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, - "src": "6648:57:0", + "src": "6825:57:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -9871,26 +10264,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 742, + "id": 770, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "6655:6:0", + "src": "6832:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 744, + "id": 772, "indexExpression": { "argumentTypes": null, - "id": 743, + "id": 771, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "6662:9:0", + "src": "6839:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9901,13 +10294,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6655:17:0", + "src": "6832:17:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 745, + "id": 773, "isConstant": false, "isLValue": true, "isPure": false, @@ -9915,20 +10308,20 @@ "memberName": "validators", "nodeType": "MemberAccess", "referencedDeclaration": 33, - "src": "6655:28:0", + "src": "6832:28:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 750, + "id": 778, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 749, + "id": 777, "isConstant": false, "isLValue": false, "isPure": false, @@ -9938,18 +10331,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 746, + "id": 774, "name": "getNextParties", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 416, - "src": "6684:14:0", + "referencedDeclaration": 444, + "src": "6861:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, - "id": 747, + "id": 775, "isConstant": false, "isLValue": false, "isPure": false, @@ -9957,7 +10350,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6684:16:0", + "src": "6861:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9968,14 +10361,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 748, + "id": 776, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6703:1:0", + "src": "6880:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -9983,7 +10376,7 @@ }, "value": "1" }, - "src": "6684:20:0", + "src": "6861:20:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9994,7 +10387,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6655:50:0", + "src": "6832:50:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10005,14 +10398,14 @@ "typeString": "tuple()" } }, - "id": 752, + "id": 780, "nodeType": "ExpressionStatement", - "src": "6648:57:0" + "src": "6825:57:0" }, { "expression": { "argumentTypes": null, - "id": 758, + "id": 786, "isConstant": false, "isLValue": false, "isPure": false, @@ -10020,7 +10413,7 @@ "nodeType": "UnaryOperation", "operator": "--", "prefix": false, - "src": "6715:37:0", + "src": "6892:37:0", "subExpression": { "argumentTypes": null, "expression": { @@ -10029,26 +10422,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 753, + "id": 781, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "6715:6:0", + "src": "6892:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 755, + "id": 783, "indexExpression": { "argumentTypes": null, - "id": 754, + "id": 782, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "6722:9:0", + "src": "6899:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10059,13 +10452,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6715:17:0", + "src": "6892:17:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 756, + "id": 784, "isConstant": false, "isLValue": true, "isPure": false, @@ -10073,13 +10466,13 @@ "memberName": "validators", "nodeType": "MemberAccess", "referencedDeclaration": 33, - "src": "6715:28:0", + "src": "6892:28:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 757, + "id": 785, "isConstant": false, "isLValue": true, "isPure": false, @@ -10087,7 +10480,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6715:35:0", + "src": "6892:35:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10098,30 +10491,30 @@ "typeString": "uint256" } }, - "id": 759, + "id": 787, "nodeType": "ExpressionStatement", - "src": "6715:37:0" + "src": "6892:37:0" } ] }, "documentation": null, - "id": 761, + "id": 789, "implemented": true, "kind": "function", "modifiers": [], "name": "_removeValidator", "nodeType": "FunctionDefinition", "parameters": { - "id": 697, + "id": 725, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 696, + "id": 724, "name": "validator", "nodeType": "VariableDeclaration", - "scope": 761, - "src": "6340:17:0", + "scope": 789, + "src": "6517:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10129,10 +10522,10 @@ "typeString": "address" }, "typeName": { - "id": 695, + "id": 723, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6340:7:0", + "src": "6517:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10143,25 +10536,25 @@ "visibility": "internal" } ], - "src": "6339:19:0" + "src": "6516:19:0" }, "returnParameters": { - "id": 698, + "id": 726, "nodeType": "ParameterList", "parameters": [], - "src": "6367:0:0" + "src": "6544:0:0" }, - "scope": 1110, - "src": "6314:445:0", + "scope": 1138, + "src": "6491:445:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 784, + "id": 812, "nodeType": "Block", - "src": "6841:127:0", + "src": "7018:127:0", "statements": [ { "condition": { @@ -10171,18 +10564,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 771, + "id": 799, "name": "Vote", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 55, - "src": "6863:4:0", + "src": "7040:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Vote_$55_$", "typeString": "type(enum Bridge.Vote)" } }, - "id": 772, + "id": 800, "isConstant": false, "isLValue": false, "isPure": true, @@ -10190,7 +10583,7 @@ "memberName": "CHANGE_THRESHOLD", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6863:21:0", + "src": "7040:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" @@ -10198,12 +10591,12 @@ }, { "argumentTypes": null, - "id": 773, + "id": 801, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 763, - "src": "6886:9:0", + "referencedDeclaration": 791, + "src": "7063:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10221,23 +10614,23 @@ "typeString": "uint256" } ], - "id": 770, + "id": 798, "name": "tryVote", "nodeType": "Identifier", "overloadedDeclarations": [ - 854, - 879, - 904, - 934 + 882, + 907, + 932, + 962 ], - "referencedDeclaration": 904, - "src": "6855:7:0", + "referencedDeclaration": 932, + "src": "7032:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_enum$_Vote_$55_$_t_uint256_$returns$_t_bool_$", "typeString": "function (enum Bridge.Vote,uint256) returns (bool)" } }, - "id": 774, + "id": 802, "isConstant": false, "isLValue": false, "isPure": false, @@ -10245,25 +10638,25 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6855:41:0", + "src": "7032:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 783, + "id": 811, "nodeType": "IfStatement", - "src": "6851:111:0", + "src": "7028:111:0", "trueBody": { - "id": 782, + "id": 810, "nodeType": "Block", - "src": "6898:64:0", + "src": "7075:64:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 780, + "id": 808, "isConstant": false, "isLValue": false, "isPure": false, @@ -10274,26 +10667,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 775, + "id": 803, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "6912:6:0", + "src": "7089:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 777, + "id": 805, "indexExpression": { "argumentTypes": null, - "id": 776, + "id": 804, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "6919:9:0", + "src": "7096:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10304,13 +10697,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6912:17:0", + "src": "7089:17:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 778, + "id": 806, "isConstant": false, "isLValue": true, "isPure": false, @@ -10318,7 +10711,7 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 35, - "src": "6912:27:0", + "src": "7089:27:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10328,26 +10721,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 779, + "id": 807, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 763, - "src": "6942:9:0", + "referencedDeclaration": 791, + "src": "7119:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6912:39:0", + "src": "7089:39:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 781, + "id": 809, "nodeType": "ExpressionStatement", - "src": "6912:39:0" + "src": "7089:39:0" } ] } @@ -10355,62 +10748,62 @@ ] }, "documentation": null, - "id": 785, + "id": 813, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 766, + "id": 794, "modifierName": { "argumentTypes": null, - "id": 765, + "id": 793, "name": "voting", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 184, - "src": "6817:6:0", + "referencedDeclaration": 204, + "src": "6994:6:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "6817:6:0" + "src": "6994:6:0" }, { "arguments": null, - "id": 768, + "id": 796, "modifierName": { "argumentTypes": null, - "id": 767, + "id": 795, "name": "currentValidator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 220, - "src": "6824:16:0", + "referencedDeclaration": 240, + "src": "7001:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "6824:16:0" + "src": "7001:16:0" } ], "name": "voteChangeThreshold", "nodeType": "FunctionDefinition", "parameters": { - "id": 764, + "id": 792, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 763, + "id": 791, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 785, - "src": "6794:14:0", + "scope": 813, + "src": "6971:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10418,10 +10811,10 @@ "typeString": "uint256" }, "typeName": { - "id": 762, + "id": 790, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "6794:4:0", + "src": "6971:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10431,25 +10824,25 @@ "visibility": "internal" } ], - "src": "6793:16:0" + "src": "6970:16:0" }, "returnParameters": { - "id": 769, + "id": 797, "nodeType": "ParameterList", "parameters": [], - "src": "6841:0:0" + "src": "7018:0:0" }, - "scope": 1110, - "src": "6765:203:0", + "scope": 1138, + "src": "6942:203:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 808, + "id": 836, "nodeType": "Block", - "src": "7032:141:0", + "src": "7209:141:0", "statements": [ { "condition": { @@ -10459,18 +10852,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 793, + "id": 821, "name": "Vote", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 55, - "src": "7054:4:0", + "src": "7231:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Vote_$55_$", "typeString": "type(enum Bridge.Vote)" } }, - "id": 794, + "id": 822, "isConstant": false, "isLValue": false, "isPure": true, @@ -10478,7 +10871,7 @@ "memberName": "START_KEYGEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7054:17:0", + "src": "7231:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" @@ -10492,23 +10885,23 @@ "typeString": "enum Bridge.Vote" } ], - "id": 792, + "id": 820, "name": "tryVote", "nodeType": "Identifier", "overloadedDeclarations": [ - 854, - 879, - 904, - 934 + 882, + 907, + 932, + 962 ], - "referencedDeclaration": 854, - "src": "7046:7:0", + "referencedDeclaration": 882, + "src": "7223:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_enum$_Vote_$55_$returns$_t_bool_$", "typeString": "function (enum Bridge.Vote) returns (bool)" } }, - "id": 795, + "id": 823, "isConstant": false, "isLValue": false, "isPure": false, @@ -10516,37 +10909,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7046:26:0", + "src": "7223:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 807, + "id": 835, "nodeType": "IfStatement", - "src": "7042:125:0", + "src": "7219:125:0", "trueBody": { - "id": 806, + "id": 834, "nodeType": "Block", - "src": "7074:93:0", + "src": "7251:93:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 799, + "id": 827, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 796, + "id": 824, "name": "status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "7088:6:0", + "src": "7265:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" @@ -10558,18 +10951,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 797, + "id": 825, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 45, - "src": "7097:6:0", + "src": "7274:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$45_$", "typeString": "type(enum Bridge.Status)" } }, - "id": 798, + "id": 826, "isConstant": false, "isLValue": false, "isPure": true, @@ -10577,21 +10970,21 @@ "memberName": "KEYGEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7097:13:0", + "src": "7274:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "src": "7088:22:0", + "src": "7265:22:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "id": 800, + "id": 828, "nodeType": "ExpressionStatement", - "src": "7088:22:0" + "src": "7265:22:0" }, { "eventCall": { @@ -10599,12 +10992,12 @@ "arguments": [ { "argumentTypes": null, - "id": 802, + "id": 830, "name": "epoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "7139:5:0", + "src": "7316:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10612,12 +11005,12 @@ }, { "argumentTypes": null, - "id": 803, + "id": 831, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "7146:9:0", + "src": "7323:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10635,18 +11028,18 @@ "typeString": "uint256" } ], - "id": 801, + "id": 829, "name": "NewEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "7130:8:0", + "src": "7307:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256)" } }, - "id": 804, + "id": 832, "isConstant": false, "isLValue": false, "isPure": false, @@ -10654,15 +11047,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7130:26:0", + "src": "7307:26:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 805, + "id": 833, "nodeType": "EmitStatement", - "src": "7125:31:0" + "src": "7302:31:0" } ] } @@ -10670,74 +11063,74 @@ ] }, "documentation": null, - "id": 809, + "id": 837, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 788, + "id": 816, "modifierName": { "argumentTypes": null, - "id": 787, + "id": 815, "name": "voting", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 184, - "src": "7008:6:0", + "referencedDeclaration": 204, + "src": "7185:6:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "7008:6:0" + "src": "7185:6:0" }, { "arguments": null, - "id": 790, + "id": 818, "modifierName": { "argumentTypes": null, - "id": 789, + "id": 817, "name": "currentValidator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 220, - "src": "7015:16:0", + "referencedDeclaration": 240, + "src": "7192:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "7015:16:0" + "src": "7192:16:0" } ], "name": "voteStartKeygen", "nodeType": "FunctionDefinition", "parameters": { - "id": 786, + "id": 814, "nodeType": "ParameterList", "parameters": [], - "src": "6998:2:0" + "src": "7175:2:0" }, "returnParameters": { - "id": 791, + "id": 819, "nodeType": "ParameterList", "parameters": [], - "src": "7032:0:0" + "src": "7209:0:0" }, - "scope": 1110, - "src": "6974:199:0", + "scope": 1138, + "src": "7151:199:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 831, + "id": 859, "nodeType": "Block", - "src": "7238:144:0", + "src": "7415:144:0", "statements": [ { "condition": { @@ -10747,18 +11140,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 817, + "id": 845, "name": "Vote", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 55, - "src": "7260:4:0", + "src": "7437:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Vote_$55_$", "typeString": "type(enum Bridge.Vote)" } }, - "id": 818, + "id": 846, "isConstant": false, "isLValue": false, "isPure": true, @@ -10766,7 +11159,7 @@ "memberName": "CANCEL_KEYGEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7260:18:0", + "src": "7437:18:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" @@ -10780,23 +11173,23 @@ "typeString": "enum Bridge.Vote" } ], - "id": 816, + "id": 844, "name": "tryVote", "nodeType": "Identifier", "overloadedDeclarations": [ - 854, - 879, - 904, - 934 + 882, + 907, + 932, + 962 ], - "referencedDeclaration": 854, - "src": "7252:7:0", + "referencedDeclaration": 882, + "src": "7429:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_enum$_Vote_$55_$returns$_t_bool_$", "typeString": "function (enum Bridge.Vote) returns (bool)" } }, - "id": 819, + "id": 847, "isConstant": false, "isLValue": false, "isPure": false, @@ -10804,37 +11197,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7252:27:0", + "src": "7429:27:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 830, + "id": 858, "nodeType": "IfStatement", - "src": "7248:128:0", + "src": "7425:128:0", "trueBody": { - "id": 829, + "id": 857, "nodeType": "Block", - "src": "7281:95:0", + "src": "7458:95:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 823, + "id": 851, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 820, + "id": 848, "name": "status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "7295:6:0", + "src": "7472:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" @@ -10846,18 +11239,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 821, + "id": 849, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 45, - "src": "7304:6:0", + "src": "7481:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$45_$", "typeString": "type(enum Bridge.Status)" } }, - "id": 822, + "id": 850, "isConstant": false, "isLValue": false, "isPure": true, @@ -10865,21 +11258,21 @@ "memberName": "VOTING", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7304:13:0", + "src": "7481:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "src": "7295:22:0", + "src": "7472:22:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "id": 824, + "id": 852, "nodeType": "ExpressionStatement", - "src": "7295:22:0" + "src": "7472:22:0" }, { "eventCall": { @@ -10887,12 +11280,12 @@ "arguments": [ { "argumentTypes": null, - "id": 826, + "id": 854, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "7355:9:0", + "src": "7532:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10906,18 +11299,18 @@ "typeString": "uint256" } ], - "id": 825, + "id": 853, "name": "NewEpochCancelled", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 16, - "src": "7337:17:0", + "src": "7514:17:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 827, + "id": 855, "isConstant": false, "isLValue": false, "isPure": false, @@ -10925,15 +11318,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7337:28:0", + "src": "7514:28:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 828, + "id": 856, "nodeType": "EmitStatement", - "src": "7332:33:0" + "src": "7509:33:0" } ] } @@ -10941,87 +11334,87 @@ ] }, "documentation": null, - "id": 832, + "id": 860, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 812, + "id": 840, "modifierName": { "argumentTypes": null, - "id": 811, + "id": 839, "name": "keygen", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 196, - "src": "7214:6:0", + "referencedDeclaration": 216, + "src": "7391:6:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "7214:6:0" + "src": "7391:6:0" }, { "arguments": null, - "id": 814, + "id": 842, "modifierName": { "argumentTypes": null, - "id": 813, + "id": 841, "name": "currentValidator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 220, - "src": "7221:16:0", + "referencedDeclaration": 240, + "src": "7398:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "7221:16:0" + "src": "7398:16:0" } ], "name": "voteCancelKeygen", "nodeType": "FunctionDefinition", "parameters": { - "id": 810, + "id": 838, "nodeType": "ParameterList", "parameters": [], - "src": "7204:2:0" + "src": "7381:2:0" }, "returnParameters": { - "id": 815, + "id": 843, "nodeType": "ParameterList", "parameters": [], - "src": "7238:0:0" + "src": "7415:0:0" }, - "scope": 1110, - "src": "7179:203:0", + "scope": 1138, + "src": "7356:203:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 853, + "id": 881, "nodeType": "Block", - "src": "7443:110:0", + "src": "7620:110:0", "statements": [ { "assignments": [ - 840 + 868 ], "declarations": [ { "constant": false, - "id": 840, + "id": 868, "name": "vote", "nodeType": "VariableDeclaration", - "scope": 853, - "src": "7453:12:0", + "scope": 881, + "src": "7630:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11029,10 +11422,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 839, + "id": 867, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7453:7:0", + "src": "7630:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -11042,7 +11435,7 @@ "visibility": "internal" } ], - "id": 848, + "id": 876, "initialValue": { "argumentTypes": null, "arguments": [ @@ -11051,12 +11444,12 @@ "arguments": [ { "argumentTypes": null, - "id": 844, + "id": 872, "name": "voteType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 834, - "src": "7495:8:0", + "referencedDeclaration": 862, + "src": "7672:8:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" @@ -11064,12 +11457,12 @@ }, { "argumentTypes": null, - "id": 845, + "id": 873, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "7505:9:0", + "src": "7682:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11089,18 +11482,18 @@ ], "expression": { "argumentTypes": null, - "id": 842, + "id": 870, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 12788, - "src": "7478:3:0", + "referencedDeclaration": 12816, + "src": "7655:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 843, + "id": 871, "isConstant": false, "isLValue": false, "isPure": true, @@ -11108,13 +11501,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7478:16:0", + "src": "7655:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 846, + "id": 874, "isConstant": false, "isLValue": false, "isPure": false, @@ -11122,7 +11515,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7478:37:0", + "src": "7655:37:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -11136,18 +11529,18 @@ "typeString": "bytes memory" } ], - "id": 841, + "id": 869, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 12795, - "src": "7468:9:0", + "referencedDeclaration": 12823, + "src": "7645:9:0", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 847, + "id": 875, "isConstant": false, "isLValue": false, "isPure": false, @@ -11155,14 +11548,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7468:48:0", + "src": "7645:48:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "7453:63:0" + "src": "7630:63:0" }, { "expression": { @@ -11170,12 +11563,12 @@ "arguments": [ { "argumentTypes": null, - "id": 850, + "id": 878, "name": "vote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 840, - "src": "7541:4:0", + "referencedDeclaration": 868, + "src": "7718:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -11189,18 +11582,18 @@ "typeString": "bytes32" } ], - "id": 849, + "id": 877, "name": "putVote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1038, - "src": "7533:7:0", + "referencedDeclaration": 1066, + "src": "7710:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$_t_bool_$", "typeString": "function (bytes32) returns (bool)" } }, - "id": 851, + "id": 879, "isConstant": false, "isLValue": false, "isPure": false, @@ -11208,37 +11601,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7533:13:0", + "src": "7710:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 838, - "id": 852, + "functionReturnParameters": 866, + "id": 880, "nodeType": "Return", - "src": "7526:20:0" + "src": "7703:20:0" } ] }, "documentation": null, - "id": 854, + "id": 882, "implemented": true, "kind": "function", "modifiers": [], "name": "tryVote", "nodeType": "FunctionDefinition", "parameters": { - "id": 835, + "id": 863, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 834, + "id": 862, "name": "voteType", "nodeType": "VariableDeclaration", - "scope": 854, - "src": "7405:13:0", + "scope": 882, + "src": "7582:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11247,11 +11640,11 @@ }, "typeName": { "contractScope": null, - "id": 833, + "id": 861, "name": "Vote", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 55, - "src": "7405:4:0", + "src": "7582:4:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" @@ -11261,19 +11654,19 @@ "visibility": "internal" } ], - "src": "7404:15:0" + "src": "7581:15:0" }, "returnParameters": { - "id": 838, + "id": 866, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 837, + "id": 865, "name": "", "nodeType": "VariableDeclaration", - "scope": 854, - "src": "7437:4:0", + "scope": 882, + "src": "7614:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11281,10 +11674,10 @@ "typeString": "bool" }, "typeName": { - "id": 836, + "id": 864, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7437:4:0", + "src": "7614:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11294,32 +11687,32 @@ "visibility": "internal" } ], - "src": "7436:6:0" + "src": "7613:6:0" }, - "scope": 1110, - "src": "7388:165:0", + "scope": 1138, + "src": "7565:165:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 878, + "id": 906, "nodeType": "Block", - "src": "7628:116:0", + "src": "7805:116:0", "statements": [ { "assignments": [ - 864 + 892 ], "declarations": [ { "constant": false, - "id": 864, + "id": 892, "name": "vote", "nodeType": "VariableDeclaration", - "scope": 878, - "src": "7638:12:0", + "scope": 906, + "src": "7815:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11327,10 +11720,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 863, + "id": 891, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7638:7:0", + "src": "7815:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -11340,7 +11733,7 @@ "visibility": "internal" } ], - "id": 873, + "id": 901, "initialValue": { "argumentTypes": null, "arguments": [ @@ -11349,12 +11742,12 @@ "arguments": [ { "argumentTypes": null, - "id": 868, + "id": 896, "name": "voteType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 856, - "src": "7680:8:0", + "referencedDeclaration": 884, + "src": "7857:8:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" @@ -11362,12 +11755,12 @@ }, { "argumentTypes": null, - "id": 869, + "id": 897, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "7690:9:0", + "src": "7867:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11375,12 +11768,12 @@ }, { "argumentTypes": null, - "id": 870, + "id": 898, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 858, - "src": "7701:4:0", + "referencedDeclaration": 886, + "src": "7878:4:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11403,361 +11796,19 @@ } ], "expression": { - "argumentTypes": null, - "id": 866, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12788, - "src": "7663:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 867, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7663:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7663:43:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 865, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12795, - "src": "7653:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7653:54:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7638:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 875, - "name": "vote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 864, - "src": "7732:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 874, - "name": "putVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1038, - "src": "7724:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) returns (bool)" - } - }, - "id": 876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7724:13:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 862, - "id": 877, - "nodeType": "Return", - "src": "7717:20:0" - } - ] - }, - "documentation": null, - "id": 879, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 859, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 856, - "name": "voteType", - "nodeType": "VariableDeclaration", - "scope": 879, - "src": "7576:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Vote_$55", - "typeString": "enum Bridge.Vote" - }, - "typeName": { - "contractScope": null, - "id": 855, - "name": "Vote", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 55, - "src": "7576:4:0", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Vote_$55", - "typeString": "enum Bridge.Vote" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 858, - "name": "addr", - "nodeType": "VariableDeclaration", - "scope": 879, - "src": "7591:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 857, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7591:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7575:29:0" - }, - "returnParameters": { - "id": 862, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 861, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 879, - "src": "7622:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 860, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7622:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7621:6:0" - }, - "scope": 1110, - "src": "7559:185:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 903, - "nodeType": "Block", - "src": "7815:115:0", - "statements": [ - { - "assignments": [ - 889 - ], - "declarations": [ - { - "constant": false, - "id": 889, - "name": "vote", - "nodeType": "VariableDeclaration", - "scope": 903, - "src": "7825:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 888, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7825:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 898, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 893, - "name": "voteType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 881, - "src": "7867:8:0", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Vote_$55", - "typeString": "enum Bridge.Vote" - } - }, - { "argumentTypes": null, "id": 894, - "name": "nextEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81, - "src": "7877:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 895, - "name": "num", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 883, - "src": "7888:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_enum$_Vote_$55", - "typeString": "enum Bridge.Vote" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 891, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 12788, - "src": "7850:3:0", + "referencedDeclaration": 12816, + "src": "7840:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 892, + "id": 895, "isConstant": false, "isLValue": false, "isPure": true, @@ -11765,13 +11816,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7850:16:0", + "src": "7840:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 896, + "id": 899, "isConstant": false, "isLValue": false, "isPure": false, @@ -11779,7 +11830,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7850:42:0", + "src": "7840:43:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -11793,18 +11844,18 @@ "typeString": "bytes memory" } ], - "id": 890, + "id": 893, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 12795, - "src": "7840:9:0", + "referencedDeclaration": 12823, + "src": "7830:9:0", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 897, + "id": 900, "isConstant": false, "isLValue": false, "isPure": false, @@ -11812,14 +11863,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7840:53:0", + "src": "7830:54:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "7825:68:0" + "src": "7815:69:0" }, { "expression": { @@ -11827,12 +11878,12 @@ "arguments": [ { "argumentTypes": null, - "id": 900, + "id": 903, "name": "vote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 889, - "src": "7918:4:0", + "referencedDeclaration": 892, + "src": "7909:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -11846,18 +11897,18 @@ "typeString": "bytes32" } ], - "id": 899, + "id": 902, "name": "putVote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1038, - "src": "7910:7:0", + "referencedDeclaration": 1066, + "src": "7901:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$_t_bool_$", "typeString": "function (bytes32) returns (bool)" } }, - "id": 901, + "id": 904, "isConstant": false, "isLValue": false, "isPure": false, @@ -11865,395 +11916,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7910:13:0", + "src": "7901:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 887, - "id": 902, + "functionReturnParameters": 890, + "id": 905, "nodeType": "Return", - "src": "7903:20:0" + "src": "7894:20:0" } ] }, "documentation": null, - "id": 904, + "id": 907, "implemented": true, "kind": "function", "modifiers": [], "name": "tryVote", "nodeType": "FunctionDefinition", "parameters": { - "id": 884, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 881, - "name": "voteType", - "nodeType": "VariableDeclaration", - "scope": 904, - "src": "7767:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Vote_$55", - "typeString": "enum Bridge.Vote" - }, - "typeName": { - "contractScope": null, - "id": 880, - "name": "Vote", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 55, - "src": "7767:4:0", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Vote_$55", - "typeString": "enum Bridge.Vote" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 883, - "name": "num", - "nodeType": "VariableDeclaration", - "scope": 904, - "src": "7782:8:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 882, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7782:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7766:25:0" - }, - "returnParameters": { "id": 887, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 886, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 904, - "src": "7809:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 885, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7809:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7808:6:0" - }, - "scope": 1110, - "src": "7750:180:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 933, - "nodeType": "Block", - "src": "8029:116:0", - "statements": [ - { - "assignments": [ - 918 - ], - "declarations": [ - { - "constant": false, - "id": 918, - "name": "vote", - "nodeType": "VariableDeclaration", - "scope": 933, - "src": "8039:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 917, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8039:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 928, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 922, - "name": "voteType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 906, - "src": "8081:8:0", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Vote_$55", - "typeString": "enum Bridge.Vote" - } - }, - { - "argumentTypes": null, - "id": 923, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 908, - "src": "8091:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 924, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 910, - "src": "8097:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 925, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "8101:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_enum$_Vote_$55", - "typeString": "enum Bridge.Vote" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 920, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12788, - "src": "8064:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 921, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8064:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8064:43:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 919, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12795, - "src": "8054:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8054:54:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8039:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 930, - "name": "vote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 918, - "src": "8133:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 929, - "name": "putVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1038, - "src": "8125:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) returns (bool)" - } - }, - "id": 931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8125:13:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 916, - "id": 932, - "nodeType": "Return", - "src": "8118:20:0" - } - ] - }, - "documentation": null, - "id": 934, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 913, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 906, + "id": 884, "name": "voteType", "nodeType": "VariableDeclaration", - "scope": 934, - "src": "7953:13:0", + "scope": 907, + "src": "7753:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12262,11 +11955,11 @@ }, "typeName": { "contractScope": null, - "id": 905, + "id": 883, "name": "Vote", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 55, - "src": "7953:4:0", + "src": "7753:4:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" @@ -12277,37 +11970,11 @@ }, { "constant": false, - "id": 908, - "name": "hash", + "id": 886, + "name": "addr", "nodeType": "VariableDeclaration", - "scope": 934, - "src": "7968:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 907, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7968:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 910, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 934, - "src": "7982:10:0", + "scope": 907, + "src": "7768:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12315,10 +11982,10 @@ "typeString": "address" }, "typeName": { - "id": 909, + "id": 885, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7982:7:0", + "src": "7768:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -12327,47 +11994,21 @@ }, "value": null, "visibility": "internal" - }, - { - "constant": false, - "id": 912, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 934, - "src": "7994:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 911, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7994:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" } ], - "src": "7952:53:0" + "src": "7752:29:0" }, "returnParameters": { - "id": 916, + "id": 890, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 915, + "id": 889, "name": "", "nodeType": "VariableDeclaration", - "scope": 934, - "src": "8023:4:0", + "scope": 907, + "src": "7799:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12375,10 +12016,10 @@ "typeString": "bool" }, "typeName": { - "id": 914, + "id": 888, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "8023:4:0", + "src": "7799:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12388,32 +12029,32 @@ "visibility": "internal" } ], - "src": "8022:6:0" + "src": "7798:6:0" }, - "scope": 1110, - "src": "7936:209:0", + "scope": 1138, + "src": "7736:185:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 955, + "id": 931, "nodeType": "Block", - "src": "8209:113:0", + "src": "7992:115:0", "statements": [ { "assignments": [ - 942 + 917 ], "declarations": [ { "constant": false, - "id": 942, + "id": 917, "name": "vote", "nodeType": "VariableDeclaration", - "scope": 955, - "src": "8219:12:0", + "scope": 931, + "src": "8002:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12421,10 +12062,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 941, + "id": 916, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8219:7:0", + "src": "8002:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12434,7 +12075,7 @@ "visibility": "internal" } ], - "id": 950, + "id": 926, "initialValue": { "argumentTypes": null, "arguments": [ @@ -12443,12 +12084,12 @@ "arguments": [ { "argumentTypes": null, - "id": 946, + "id": 921, "name": "voteType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 936, - "src": "8261:8:0", + "referencedDeclaration": 909, + "src": "8044:8:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" @@ -12456,12 +12097,25 @@ }, { "argumentTypes": null, - "id": 947, + "id": 922, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "8271:9:0", + "src": "8054:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 923, + "name": "num", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 911, + "src": "8065:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12474,6 +12128,10 @@ "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12481,18 +12139,18 @@ ], "expression": { "argumentTypes": null, - "id": 944, + "id": 919, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 12788, - "src": "8244:3:0", + "referencedDeclaration": 12816, + "src": "8027:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 945, + "id": 920, "isConstant": false, "isLValue": false, "isPure": true, @@ -12500,13 +12158,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8244:16:0", + "src": "8027:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 948, + "id": 924, "isConstant": false, "isLValue": false, "isPure": false, @@ -12514,7 +12172,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8244:37:0", + "src": "8027:42:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -12528,18 +12186,18 @@ "typeString": "bytes memory" } ], - "id": 943, + "id": 918, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 12795, - "src": "8234:9:0", + "referencedDeclaration": 12823, + "src": "8017:9:0", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 949, + "id": 925, "isConstant": false, "isLValue": false, "isPure": false, @@ -12547,14 +12205,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8234:48:0", + "src": "8017:53:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "8219:63:0" + "src": "8002:68:0" }, { "expression": { @@ -12562,11 +12220,369 @@ "arguments": [ { "argumentTypes": null, - "id": 952, + "id": 928, "name": "vote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 942, + "referencedDeclaration": 917, + "src": "8095:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 927, + "name": "putVote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1066, + "src": "8087:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) returns (bool)" + } + }, + "id": 929, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8087:13:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 915, + "id": 930, + "nodeType": "Return", + "src": "8080:20:0" + } + ] + }, + "documentation": null, + "id": 932, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tryVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 912, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 909, + "name": "voteType", + "nodeType": "VariableDeclaration", + "scope": 932, + "src": "7944:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Vote_$55", + "typeString": "enum Bridge.Vote" + }, + "typeName": { + "contractScope": null, + "id": 908, + "name": "Vote", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 55, + "src": "7944:4:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Vote_$55", + "typeString": "enum Bridge.Vote" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 911, + "name": "num", + "nodeType": "VariableDeclaration", + "scope": 932, + "src": "7959:8:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 910, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7959:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7943:25:0" + }, + "returnParameters": { + "id": 915, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 914, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 932, + "src": "7986:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 913, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7986:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7985:6:0" + }, + "scope": 1138, + "src": "7927:180:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 961, + "nodeType": "Block", + "src": "8206:116:0", + "statements": [ + { + "assignments": [ + 946 + ], + "declarations": [ + { + "constant": false, + "id": 946, + "name": "vote", + "nodeType": "VariableDeclaration", + "scope": 961, + "src": "8216:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 945, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8216:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 956, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 950, + "name": "voteType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 934, + "src": "8258:8:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Vote_$55", + "typeString": "enum Bridge.Vote" + } + }, + { + "argumentTypes": null, + "id": 951, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 936, + "src": "8268:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 952, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 938, + "src": "8274:2:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 953, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 940, + "src": "8278:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_Vote_$55", + "typeString": "enum Bridge.Vote" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 948, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12816, + "src": "8241:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 949, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8241:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 954, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8241:43:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 947, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12823, + "src": "8231:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8231:54:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8216:69:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 958, + "name": "vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 946, "src": "8310:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -12581,18 +12597,18 @@ "typeString": "bytes32" } ], - "id": 951, - "name": "putConfirm", + "id": 957, + "name": "putVote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1092, - "src": "8299:10:0", + "referencedDeclaration": 1066, + "src": "8302:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$_t_bool_$", "typeString": "function (bytes32) returns (bool)" } }, - "id": 953, + "id": 959, "isConstant": false, "isLValue": false, "isPure": false, @@ -12600,37 +12616,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8299:16:0", + "src": "8302:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 940, - "id": 954, + "functionReturnParameters": 944, + "id": 960, "nodeType": "Return", - "src": "8292:23:0" + "src": "8295:20:0" } ] }, "documentation": null, - "id": 956, + "id": 962, "implemented": true, "kind": "function", "modifiers": [], - "name": "tryConfirm", + "name": "tryVote", "nodeType": "FunctionDefinition", "parameters": { - "id": 937, + "id": 941, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 936, + "id": 934, "name": "voteType", "nodeType": "VariableDeclaration", - "scope": 956, - "src": "8171:13:0", + "scope": 962, + "src": "8130:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12639,11 +12655,11 @@ }, "typeName": { "contractScope": null, - "id": 935, + "id": 933, "name": "Vote", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 55, - "src": "8171:4:0", + "src": "8130:4:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" @@ -12651,21 +12667,100 @@ }, "value": null, "visibility": "internal" + }, + { + "constant": false, + "id": 936, + "name": "hash", + "nodeType": "VariableDeclaration", + "scope": 962, + "src": "8145:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 935, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8145:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 938, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 962, + "src": "8159:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 937, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8159:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 940, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 962, + "src": "8171:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 939, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8171:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" } ], - "src": "8170:15:0" + "src": "8129:53:0" }, "returnParameters": { - "id": 940, + "id": 944, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 939, + "id": 943, "name": "", "nodeType": "VariableDeclaration", - "scope": 956, - "src": "8203:4:0", + "scope": 962, + "src": "8200:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12673,10 +12768,10 @@ "typeString": "bool" }, "typeName": { - "id": 938, + "id": 942, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "8203:4:0", + "src": "8200:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12686,10 +12781,10 @@ "visibility": "internal" } ], - "src": "8202:6:0" + "src": "8199:6:0" }, - "scope": 1110, - "src": "8151:171:0", + "scope": 1138, + "src": "8113:209:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -12698,20 +12793,20 @@ "body": { "id": 983, "nodeType": "Block", - "src": "8402:119:0", + "src": "8386:113:0", "statements": [ { "assignments": [ - 968 + 970 ], "declarations": [ { "constant": false, - "id": 968, + "id": 970, "name": "vote", "nodeType": "VariableDeclaration", "scope": 983, - "src": "8412:12:0", + "src": "8396:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12719,10 +12814,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 967, + "id": 969, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8412:7:0", + "src": "8396:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12741,12 +12836,12 @@ "arguments": [ { "argumentTypes": null, - "id": 972, + "id": 974, "name": "voteType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 958, - "src": "8454:8:0", + "referencedDeclaration": 964, + "src": "8438:8:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" @@ -12754,12 +12849,310 @@ }, { "argumentTypes": null, - "id": 973, + "id": 975, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "8464:9:0", + "src": "8448:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_Vote_$55", + "typeString": "enum Bridge.Vote" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 972, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12816, + "src": "8421:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 973, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8421:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8421:37:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 971, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12823, + "src": "8411:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8411:48:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8396:63:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 980, + "name": "vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 970, + "src": "8487:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 979, + "name": "putConfirm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1120, + "src": "8476:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) returns (bool)" + } + }, + "id": 981, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8476:16:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 968, + "id": 982, + "nodeType": "Return", + "src": "8469:23:0" + } + ] + }, + "documentation": null, + "id": 984, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tryConfirm", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 965, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 964, + "name": "voteType", + "nodeType": "VariableDeclaration", + "scope": 984, + "src": "8348:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Vote_$55", + "typeString": "enum Bridge.Vote" + }, + "typeName": { + "contractScope": null, + "id": 963, + "name": "Vote", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 55, + "src": "8348:4:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Vote_$55", + "typeString": "enum Bridge.Vote" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8347:15:0" + }, + "returnParameters": { + "id": 968, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 967, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 984, + "src": "8380:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 966, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8380:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8379:6:0" + }, + "scope": 1138, + "src": "8328:171:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 1011, + "nodeType": "Block", + "src": "8579:119:0", + "statements": [ + { + "assignments": [ + 996 + ], + "declarations": [ + { + "constant": false, + "id": 996, + "name": "vote", + "nodeType": "VariableDeclaration", + "scope": 1011, + "src": "8589:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 995, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8589:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1006, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1000, + "name": "voteType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 986, + "src": "8631:8:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Vote_$55", + "typeString": "enum Bridge.Vote" + } + }, + { + "argumentTypes": null, + "id": 1001, + "name": "nextEpoch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "8641:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12767,12 +13160,12 @@ }, { "argumentTypes": null, - "id": 974, + "id": 1002, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 960, - "src": "8475:1:0", + "referencedDeclaration": 988, + "src": "8652:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12780,12 +13173,12 @@ }, { "argumentTypes": null, - "id": 975, + "id": 1003, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 962, - "src": "8478:1:0", + "referencedDeclaration": 990, + "src": "8655:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12813,18 +13206,18 @@ ], "expression": { "argumentTypes": null, - "id": 970, + "id": 998, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 12788, - "src": "8437:3:0", + "referencedDeclaration": 12816, + "src": "8614:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 971, + "id": 999, "isConstant": false, "isLValue": false, "isPure": true, @@ -12832,13 +13225,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8437:16:0", + "src": "8614:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 976, + "id": 1004, "isConstant": false, "isLValue": false, "isPure": false, @@ -12846,7 +13239,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8437:43:0", + "src": "8614:43:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -12860,18 +13253,18 @@ "typeString": "bytes memory" } ], - "id": 969, + "id": 997, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 12795, - "src": "8427:9:0", + "referencedDeclaration": 12823, + "src": "8604:9:0", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 977, + "id": 1005, "isConstant": false, "isLValue": false, "isPure": false, @@ -12879,14 +13272,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8427:54:0", + "src": "8604:54:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "8412:69:0" + "src": "8589:69:0" }, { "expression": { @@ -12894,12 +13287,12 @@ "arguments": [ { "argumentTypes": null, - "id": 980, + "id": 1008, "name": "vote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 968, - "src": "8509:4:0", + "referencedDeclaration": 996, + "src": "8686:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12913,18 +13306,18 @@ "typeString": "bytes32" } ], - "id": 979, + "id": 1007, "name": "putConfirm", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1092, - "src": "8498:10:0", + "referencedDeclaration": 1120, + "src": "8675:10:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$_t_bool_$", "typeString": "function (bytes32) returns (bool)" } }, - "id": 981, + "id": 1009, "isConstant": false, "isLValue": false, "isPure": false, @@ -12932,37 +13325,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8498:16:0", + "src": "8675:16:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 966, - "id": 982, + "functionReturnParameters": 994, + "id": 1010, "nodeType": "Return", - "src": "8491:23:0" + "src": "8668:23:0" } ] }, "documentation": null, - "id": 984, + "id": 1012, "implemented": true, "kind": "function", "modifiers": [], "name": "tryConfirm", "nodeType": "FunctionDefinition", "parameters": { - "id": 963, + "id": 991, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 958, + "id": 986, "name": "voteType", "nodeType": "VariableDeclaration", - "scope": 984, - "src": "8348:13:0", + "scope": 1012, + "src": "8525:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12971,11 +13364,11 @@ }, "typeName": { "contractScope": null, - "id": 957, + "id": 985, "name": "Vote", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 55, - "src": "8348:4:0", + "src": "8525:4:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" @@ -12986,11 +13379,11 @@ }, { "constant": false, - "id": 960, + "id": 988, "name": "x", "nodeType": "VariableDeclaration", - "scope": 984, - "src": "8363:6:0", + "scope": 1012, + "src": "8540:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12998,10 +13391,10 @@ "typeString": "uint256" }, "typeName": { - "id": 959, + "id": 987, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "8363:4:0", + "src": "8540:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13012,11 +13405,11 @@ }, { "constant": false, - "id": 962, + "id": 990, "name": "y", "nodeType": "VariableDeclaration", - "scope": 984, - "src": "8371:6:0", + "scope": 1012, + "src": "8548:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13024,10 +13417,10 @@ "typeString": "uint256" }, "typeName": { - "id": 961, + "id": 989, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "8371:4:0", + "src": "8548:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13037,19 +13430,19 @@ "visibility": "internal" } ], - "src": "8347:31:0" + "src": "8524:31:0" }, "returnParameters": { - "id": 966, + "id": 994, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 965, + "id": 993, "name": "", "nodeType": "VariableDeclaration", - "scope": 984, - "src": "8396:4:0", + "scope": 1012, + "src": "8573:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13057,10 +13450,10 @@ "typeString": "bool" }, "typeName": { - "id": 964, + "id": 992, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "8396:4:0", + "src": "8573:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13070,32 +13463,32 @@ "visibility": "internal" } ], - "src": "8395:6:0" + "src": "8572:6:0" }, - "scope": 1110, - "src": "8328:193:0", + "scope": 1138, + "src": "8505:193:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1037, + "id": 1065, "nodeType": "Block", - "src": "8581:355:0", + "src": "8758:355:0", "statements": [ { "assignments": [ - 992 + 1020 ], "declarations": [ { "constant": false, - "id": 992, + "id": 1020, "name": "personalVote", "nodeType": "VariableDeclaration", - "scope": 1037, - "src": "8591:20:0", + "scope": 1065, + "src": "8768:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13103,10 +13496,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 991, + "id": 1019, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8591:7:0", + "src": "8768:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13116,18 +13509,18 @@ "visibility": "internal" } ], - "id": 996, + "id": 1024, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 994, + "id": 1022, "name": "vote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 986, - "src": "8630:4:0", + "referencedDeclaration": 1014, + "src": "8807:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13141,18 +13534,18 @@ "typeString": "bytes32" } ], - "id": 993, + "id": 1021, "name": "personalizeVote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1109, - "src": "8614:15:0", + "referencedDeclaration": 1137, + "src": "8791:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (bytes32) view returns (bytes32)" } }, - "id": 995, + "id": 1023, "isConstant": false, "isLValue": false, "isPure": false, @@ -13160,14 +13553,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8614:21:0", + "src": "8791:21:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "8591:44:0" + "src": "8768:44:0" }, { "expression": { @@ -13175,7 +13568,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1001, + "id": 1029, "isConstant": false, "isLValue": false, "isPure": false, @@ -13183,31 +13576,31 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "8653:20:0", + "src": "8830:20:0", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 998, + "id": 1026, "name": "votes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8654:5:0", + "src": "8831:5:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 1000, + "id": 1028, "indexExpression": { "argumentTypes": null, - "id": 999, + "id": 1027, "name": "personalVote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 992, - "src": "8660:12:0", + "referencedDeclaration": 1020, + "src": "8837:12:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13218,7 +13611,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8654:19:0", + "src": "8831:19:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13232,14 +13625,14 @@ { "argumentTypes": null, "hexValue": "566f74656420616c7265616479", - "id": 1002, + "id": 1030, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8675:15:0", + "src": "8852:15:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_230c30109b60c15b21799291aaf5c571045da3dc3f224d8bbd2f2e688c149a47", @@ -13259,21 +13652,21 @@ "typeString": "literal_string \"Voted already\"" } ], - "id": 997, + "id": 1025, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 12804, - 12805 + 12832, + 12833 ], - "referencedDeclaration": 12805, - "src": "8645:7:0", + "referencedDeclaration": 12833, + "src": "8822:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1003, + "id": 1031, "isConstant": false, "isLValue": false, "isPure": false, @@ -13281,20 +13674,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8645:46:0", + "src": "8822:46:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1004, + "id": 1032, "nodeType": "ExpressionStatement", - "src": "8645:46:0" + "src": "8822:46:0" }, { "expression": { "argumentTypes": null, - "id": 1009, + "id": 1037, "isConstant": false, "isLValue": false, "isPure": false, @@ -13303,26 +13696,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1005, + "id": 1033, "name": "votes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8702:5:0", + "src": "8879:5:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 1007, + "id": 1035, "indexExpression": { "argumentTypes": null, - "id": 1006, + "id": 1034, "name": "personalVote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 992, - "src": "8708:12:0", + "referencedDeclaration": 1020, + "src": "8885:12:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13333,7 +13726,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "8702:19:0", + "src": "8879:19:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13344,14 +13737,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1008, + "id": 1036, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "8724:4:0", + "src": "8901:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -13359,15 +13752,15 @@ }, "value": "true" }, - "src": "8702:26:0", + "src": "8879:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1010, + "id": 1038, "nodeType": "ExpressionStatement", - "src": "8702:26:0" + "src": "8879:26:0" }, { "condition": { @@ -13376,7 +13769,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1016, + "id": 1044, "isConstant": false, "isLValue": false, "isPure": false, @@ -13385,26 +13778,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1011, + "id": 1039, "name": "votesCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "8742:10:0", + "src": "8919:10:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, - "id": 1013, + "id": 1041, "indexExpression": { "argumentTypes": null, - "id": 1012, + "id": 1040, "name": "vote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 986, - "src": "8753:4:0", + "referencedDeclaration": 1014, + "src": "8930:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13415,7 +13808,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8742:16:0", + "src": "8919:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13428,21 +13821,21 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1014, + "id": 1042, "name": "getThreshold", "nodeType": "Identifier", "overloadedDeclarations": [ - 440, - 463 + 468, + 491 ], - "referencedDeclaration": 440, - "src": "8762:12:0", + "referencedDeclaration": 468, + "src": "8939:12:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, - "id": 1015, + "id": 1043, "isConstant": false, "isLValue": false, "isPure": false, @@ -13450,27 +13843,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8762:14:0", + "src": "8939:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8742:34:0", + "src": "8919:34:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 1035, + "id": 1063, "nodeType": "Block", - "src": "8861:69:0", + "src": "9038:69:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 1031, + "id": 1059, "isConstant": false, "isLValue": false, "isPure": false, @@ -13478,31 +13871,31 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "8875:18:0", + "src": "9052:18:0", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1028, + "id": 1056, "name": "votesCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "8875:10:0", + "src": "9052:10:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, - "id": 1030, + "id": 1058, "indexExpression": { "argumentTypes": null, - "id": 1029, + "id": 1057, "name": "vote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 986, - "src": "8886:4:0", + "referencedDeclaration": 1014, + "src": "9063:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13513,7 +13906,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "8875:16:0", + "src": "9052:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13524,22 +13917,22 @@ "typeString": "uint256" } }, - "id": 1032, + "id": 1060, "nodeType": "ExpressionStatement", - "src": "8875:18:0" + "src": "9052:18:0" }, { "expression": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 1033, + "id": 1061, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "8914:5:0", + "src": "9091:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -13547,25 +13940,25 @@ }, "value": "false" }, - "functionReturnParameters": 990, - "id": 1034, + "functionReturnParameters": 1018, + "id": 1062, "nodeType": "Return", - "src": "8907:12:0" + "src": "9084:12:0" } ] }, - "id": 1036, + "id": 1064, "nodeType": "IfStatement", - "src": "8738:192:0", + "src": "8915:192:0", "trueBody": { - "id": 1027, + "id": 1055, "nodeType": "Block", - "src": "8778:77:0", + "src": "8955:77:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 1023, + "id": 1051, "isConstant": false, "isLValue": false, "isPure": false, @@ -13574,26 +13967,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1017, + "id": 1045, "name": "votesCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "8792:10:0", + "src": "8969:10:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, - "id": 1019, + "id": 1047, "indexExpression": { "argumentTypes": null, - "id": 1018, + "id": 1046, "name": "vote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 986, - "src": "8803:4:0", + "referencedDeclaration": 1014, + "src": "8980:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13604,7 +13997,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "8792:16:0", + "src": "8969:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13618,7 +14011,7 @@ "typeIdentifier": "t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1", "typeString": "int_const 5789...(69 digits omitted)...9968" }, - "id": 1022, + "id": 1050, "isConstant": false, "isLValue": false, "isPure": true, @@ -13626,14 +14019,14 @@ "leftExpression": { "argumentTypes": null, "hexValue": "32", - "id": 1020, + "id": 1048, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8811:1:0", + "src": "8988:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -13646,14 +14039,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "323535", - "id": 1021, + "id": 1049, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8816:3:0", + "src": "8993:3:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_255_by_1", @@ -13661,34 +14054,34 @@ }, "value": "255" }, - "src": "8811:8:0", + "src": "8988:8:0", "typeDescriptions": { "typeIdentifier": "t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1", "typeString": "int_const 5789...(69 digits omitted)...9968" } }, - "src": "8792:27:0", + "src": "8969:27:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1024, + "id": 1052, "nodeType": "ExpressionStatement", - "src": "8792:27:0" + "src": "8969:27:0" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 1025, + "id": 1053, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "8840:4:0", + "src": "9017:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -13696,10 +14089,10 @@ }, "value": "true" }, - "functionReturnParameters": 990, - "id": 1026, + "functionReturnParameters": 1018, + "id": 1054, "nodeType": "Return", - "src": "8833:11:0" + "src": "9010:11:0" } ] } @@ -13707,23 +14100,23 @@ ] }, "documentation": null, - "id": 1038, + "id": 1066, "implemented": true, "kind": "function", "modifiers": [], "name": "putVote", "nodeType": "FunctionDefinition", "parameters": { - "id": 987, + "id": 1015, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 986, + "id": 1014, "name": "vote", "nodeType": "VariableDeclaration", - "scope": 1038, - "src": "8544:12:0", + "scope": 1066, + "src": "8721:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13731,10 +14124,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 985, + "id": 1013, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8544:7:0", + "src": "8721:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13744,19 +14137,19 @@ "visibility": "internal" } ], - "src": "8543:14:0" + "src": "8720:14:0" }, "returnParameters": { - "id": 990, + "id": 1018, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 989, + "id": 1017, "name": "", "nodeType": "VariableDeclaration", - "scope": 1038, - "src": "8575:4:0", + "scope": 1066, + "src": "8752:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13764,10 +14157,10 @@ "typeString": "bool" }, "typeName": { - "id": 988, + "id": 1016, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "8575:4:0", + "src": "8752:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13777,32 +14170,32 @@ "visibility": "internal" } ], - "src": "8574:6:0" + "src": "8751:6:0" }, - "scope": 1110, - "src": "8527:409:0", + "scope": 1138, + "src": "8704:409:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1091, + "id": 1119, "nodeType": "Block", - "src": "8999:363:0", + "src": "9176:363:0", "statements": [ { "assignments": [ - 1046 + 1074 ], "declarations": [ { "constant": false, - "id": 1046, + "id": 1074, "name": "personalVote", "nodeType": "VariableDeclaration", - "scope": 1091, - "src": "9009:20:0", + "scope": 1119, + "src": "9186:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13810,10 +14203,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1045, + "id": 1073, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9009:7:0", + "src": "9186:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13823,18 +14216,18 @@ "visibility": "internal" } ], - "id": 1050, + "id": 1078, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1048, + "id": 1076, "name": "vote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1040, - "src": "9048:4:0", + "referencedDeclaration": 1068, + "src": "9225:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13848,18 +14241,18 @@ "typeString": "bytes32" } ], - "id": 1047, + "id": 1075, "name": "personalizeVote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1109, - "src": "9032:15:0", + "referencedDeclaration": 1137, + "src": "9209:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (bytes32) view returns (bytes32)" } }, - "id": 1049, + "id": 1077, "isConstant": false, "isLValue": false, "isPure": false, @@ -13867,14 +14260,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9032:21:0", + "src": "9209:21:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "9009:44:0" + "src": "9186:44:0" }, { "expression": { @@ -13882,7 +14275,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1055, + "id": 1083, "isConstant": false, "isLValue": false, "isPure": false, @@ -13890,31 +14283,31 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "9071:20:0", + "src": "9248:20:0", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1052, + "id": 1080, "name": "votes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9072:5:0", + "src": "9249:5:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 1054, + "id": 1082, "indexExpression": { "argumentTypes": null, - "id": 1053, + "id": 1081, "name": "personalVote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1046, - "src": "9078:12:0", + "referencedDeclaration": 1074, + "src": "9255:12:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13925,7 +14318,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9072:19:0", + "src": "9249:19:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13939,14 +14332,14 @@ { "argumentTypes": null, "hexValue": "436f6e6669726d656420616c7265616479", - "id": 1056, + "id": 1084, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9093:19:0", + "src": "9270:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_762a97ce67d271844ad9c09d89a5271fde7fe7537af208da055a904cd67ac7bc", @@ -13966,21 +14359,21 @@ "typeString": "literal_string \"Confirmed already\"" } ], - "id": 1051, + "id": 1079, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 12804, - 12805 + 12832, + 12833 ], - "referencedDeclaration": 12805, - "src": "9063:7:0", + "referencedDeclaration": 12833, + "src": "9240:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1057, + "id": 1085, "isConstant": false, "isLValue": false, "isPure": false, @@ -13988,20 +14381,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9063:50:0", + "src": "9240:50:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1058, + "id": 1086, "nodeType": "ExpressionStatement", - "src": "9063:50:0" + "src": "9240:50:0" }, { "expression": { "argumentTypes": null, - "id": 1063, + "id": 1091, "isConstant": false, "isLValue": false, "isPure": false, @@ -14010,26 +14403,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1059, + "id": 1087, "name": "votes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9124:5:0", + "src": "9301:5:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 1061, + "id": 1089, "indexExpression": { "argumentTypes": null, - "id": 1060, + "id": 1088, "name": "personalVote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1046, - "src": "9130:12:0", + "referencedDeclaration": 1074, + "src": "9307:12:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14040,7 +14433,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "9124:19:0", + "src": "9301:19:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14051,14 +14444,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1062, + "id": 1090, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "9146:4:0", + "src": "9323:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -14066,15 +14459,15 @@ }, "value": "true" }, - "src": "9124:26:0", + "src": "9301:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1064, + "id": 1092, "nodeType": "ExpressionStatement", - "src": "9124:26:0" + "src": "9301:26:0" }, { "condition": { @@ -14083,7 +14476,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1070, + "id": 1098, "isConstant": false, "isLValue": false, "isPure": false, @@ -14092,26 +14485,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1065, + "id": 1093, "name": "votesCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "9164:10:0", + "src": "9341:10:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, - "id": 1067, + "id": 1095, "indexExpression": { "argumentTypes": null, - "id": 1066, + "id": 1094, "name": "vote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1040, - "src": "9175:4:0", + "referencedDeclaration": 1068, + "src": "9352:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14122,7 +14515,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9164:16:0", + "src": "9341:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14135,18 +14528,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1068, + "id": 1096, "name": "getNextThreshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 450, - "src": "9184:16:0", + "referencedDeclaration": 478, + "src": "9361:16:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, - "id": 1069, + "id": 1097, "isConstant": false, "isLValue": false, "isPure": false, @@ -14154,27 +14547,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9184:18:0", + "src": "9361:18:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9164:38:0", + "src": "9341:38:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 1089, + "id": 1117, "nodeType": "Block", - "src": "9287:69:0", + "src": "9464:69:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 1085, + "id": 1113, "isConstant": false, "isLValue": false, "isPure": false, @@ -14182,31 +14575,31 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "9301:18:0", + "src": "9478:18:0", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1082, + "id": 1110, "name": "votesCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "9301:10:0", + "src": "9478:10:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, - "id": 1084, + "id": 1112, "indexExpression": { "argumentTypes": null, - "id": 1083, + "id": 1111, "name": "vote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1040, - "src": "9312:4:0", + "referencedDeclaration": 1068, + "src": "9489:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14217,7 +14610,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "9301:16:0", + "src": "9478:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14228,22 +14621,22 @@ "typeString": "uint256" } }, - "id": 1086, + "id": 1114, "nodeType": "ExpressionStatement", - "src": "9301:18:0" + "src": "9478:18:0" }, { "expression": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 1087, + "id": 1115, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "9340:5:0", + "src": "9517:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -14251,25 +14644,25 @@ }, "value": "false" }, - "functionReturnParameters": 1044, - "id": 1088, + "functionReturnParameters": 1072, + "id": 1116, "nodeType": "Return", - "src": "9333:12:0" + "src": "9510:12:0" } ] }, - "id": 1090, + "id": 1118, "nodeType": "IfStatement", - "src": "9160:196:0", + "src": "9337:196:0", "trueBody": { - "id": 1081, + "id": 1109, "nodeType": "Block", - "src": "9204:77:0", + "src": "9381:77:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 1077, + "id": 1105, "isConstant": false, "isLValue": false, "isPure": false, @@ -14278,26 +14671,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1071, + "id": 1099, "name": "votesCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "9218:10:0", + "src": "9395:10:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, - "id": 1073, + "id": 1101, "indexExpression": { "argumentTypes": null, - "id": 1072, + "id": 1100, "name": "vote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1040, - "src": "9229:4:0", + "referencedDeclaration": 1068, + "src": "9406:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14308,7 +14701,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "9218:16:0", + "src": "9395:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14322,7 +14715,7 @@ "typeIdentifier": "t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1", "typeString": "int_const 5789...(69 digits omitted)...9968" }, - "id": 1076, + "id": 1104, "isConstant": false, "isLValue": false, "isPure": true, @@ -14330,14 +14723,14 @@ "leftExpression": { "argumentTypes": null, "hexValue": "32", - "id": 1074, + "id": 1102, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9237:1:0", + "src": "9414:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -14350,14 +14743,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "323535", - "id": 1075, + "id": 1103, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9242:3:0", + "src": "9419:3:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_255_by_1", @@ -14365,34 +14758,34 @@ }, "value": "255" }, - "src": "9237:8:0", + "src": "9414:8:0", "typeDescriptions": { "typeIdentifier": "t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1", "typeString": "int_const 5789...(69 digits omitted)...9968" } }, - "src": "9218:27:0", + "src": "9395:27:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1078, + "id": 1106, "nodeType": "ExpressionStatement", - "src": "9218:27:0" + "src": "9395:27:0" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 1079, + "id": 1107, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "9266:4:0", + "src": "9443:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -14400,10 +14793,10 @@ }, "value": "true" }, - "functionReturnParameters": 1044, - "id": 1080, + "functionReturnParameters": 1072, + "id": 1108, "nodeType": "Return", - "src": "9259:11:0" + "src": "9436:11:0" } ] } @@ -14411,23 +14804,23 @@ ] }, "documentation": null, - "id": 1092, + "id": 1120, "implemented": true, "kind": "function", "modifiers": [], "name": "putConfirm", "nodeType": "FunctionDefinition", "parameters": { - "id": 1041, + "id": 1069, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1040, + "id": 1068, "name": "vote", "nodeType": "VariableDeclaration", - "scope": 1092, - "src": "8962:12:0", + "scope": 1120, + "src": "9139:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14435,10 +14828,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1039, + "id": 1067, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8962:7:0", + "src": "9139:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14448,19 +14841,19 @@ "visibility": "internal" } ], - "src": "8961:14:0" + "src": "9138:14:0" }, "returnParameters": { - "id": 1044, + "id": 1072, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1043, + "id": 1071, "name": "", "nodeType": "VariableDeclaration", - "scope": 1092, - "src": "8993:4:0", + "scope": 1120, + "src": "9170:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14468,10 +14861,10 @@ "typeString": "bool" }, "typeName": { - "id": 1042, + "id": 1070, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "8993:4:0", + "src": "9170:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14481,19 +14874,19 @@ "visibility": "internal" } ], - "src": "8992:6:0" + "src": "9169:6:0" }, - "scope": 1110, - "src": "8942:420:0", + "scope": 1138, + "src": "9119:420:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1108, + "id": 1136, "nodeType": "Block", - "src": "9438:69:0", + "src": "9615:69:0", "statements": [ { "expression": { @@ -14504,12 +14897,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1102, + "id": 1130, "name": "vote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1094, - "src": "9482:4:0", + "referencedDeclaration": 1122, + "src": "9659:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14519,18 +14912,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1103, + "id": 1131, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 12801, - "src": "9488:3:0", + "referencedDeclaration": 12829, + "src": "9665:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1104, + "id": 1132, "isConstant": false, "isLValue": false, "isPure": false, @@ -14538,7 +14931,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9488:10:0", + "src": "9665:10:0", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -14558,18 +14951,18 @@ ], "expression": { "argumentTypes": null, - "id": 1100, + "id": 1128, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 12788, - "src": "9465:3:0", + "referencedDeclaration": 12816, + "src": "9642:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 1101, + "id": 1129, "isConstant": false, "isLValue": false, "isPure": true, @@ -14577,13 +14970,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9465:16:0", + "src": "9642:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 1105, + "id": 1133, "isConstant": false, "isLValue": false, "isPure": false, @@ -14591,7 +14984,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9465:34:0", + "src": "9642:34:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -14605,18 +14998,18 @@ "typeString": "bytes memory" } ], - "id": 1099, + "id": 1127, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 12795, - "src": "9455:9:0", + "referencedDeclaration": 12823, + "src": "9632:9:0", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 1106, + "id": 1134, "isConstant": false, "isLValue": false, "isPure": false, @@ -14624,37 +15017,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9455:45:0", + "src": "9632:45:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 1098, - "id": 1107, + "functionReturnParameters": 1126, + "id": 1135, "nodeType": "Return", - "src": "9448:52:0" + "src": "9625:52:0" } ] }, "documentation": null, - "id": 1109, + "id": 1137, "implemented": true, "kind": "function", "modifiers": [], "name": "personalizeVote", "nodeType": "FunctionDefinition", "parameters": { - "id": 1095, + "id": 1123, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1094, + "id": 1122, "name": "vote", "nodeType": "VariableDeclaration", - "scope": 1109, - "src": "9393:12:0", + "scope": 1137, + "src": "9570:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14662,10 +15055,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1093, + "id": 1121, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9393:7:0", + "src": "9570:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14675,19 +15068,19 @@ "visibility": "internal" } ], - "src": "9392:14:0" + "src": "9569:14:0" }, "returnParameters": { - "id": 1098, + "id": 1126, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1097, + "id": 1125, "name": "", "nodeType": "VariableDeclaration", - "scope": 1109, - "src": "9429:7:0", + "scope": 1137, + "src": "9606:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14695,10 +15088,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1096, + "id": 1124, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9429:7:0", + "src": "9606:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14708,29 +15101,29 @@ "visibility": "internal" } ], - "src": "9428:9:0" + "src": "9605:9:0" }, - "scope": 1110, - "src": "9368:139:0", + "scope": 1138, + "src": "9545:139:0", "stateMutability": "view", "superFunction": null, "visibility": "private" } ], - "scope": 1111, - "src": "93:9416:0" + "scope": 1139, + "src": "93:9593:0" } ], - "src": "0:9510:0" + "src": "0:9687:0" }, "legacyAST": { "absolutePath": "/Users/kirillfedoseev/Innopolis/My own projects/bridge/bridge/src/deploy/deploy-home/contracts/Bridge.sol", "exportedSymbols": { "Bridge": [ - 1110 + 1138 ] }, - "id": 1111, + "id": 1139, "nodeType": "SourceUnit", "nodes": [ { @@ -14749,8 +15142,8 @@ "file": "./openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "id": 2, "nodeType": "ImportDirective", - "scope": 1111, - "sourceUnit": 9746, + "scope": 1139, + "sourceUnit": 9774, "src": "25:66:0", "symbolAliases": [], "unitAlias": "" @@ -14761,9 +15154,9 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1110, + "id": 1138, "linearizedBaseContracts": [ - 1110 + 1138 ], "name": "Bridge", "nodeType": "ContractDefinition", @@ -15208,7 +15601,7 @@ ], "name": "State", "nodeType": "StructDefinition", - "scope": 1110, + "scope": 1138, "src": "402:106:0", "visibility": "public" }, @@ -15313,7 +15706,7 @@ "id": 59, "name": "states", "nodeType": "VariableDeclaration", - "scope": 1110, + "scope": 1138, "src": "1011:29:0", "stateVariable": true, "storageLocation": "default", @@ -15360,7 +15753,7 @@ "id": 63, "name": "dbTransferCount", "nodeType": "VariableDeclaration", - "scope": 1110, + "scope": 1138, "src": "1047:47:0", "stateVariable": true, "storageLocation": "default", @@ -15405,7 +15798,7 @@ "id": 67, "name": "dbTransfer", "nodeType": "VariableDeclaration", - "scope": 1110, + "scope": 1138, "src": "1100:42:0", "stateVariable": true, "storageLocation": "default", @@ -15450,7 +15843,7 @@ "id": 71, "name": "votesCount", "nodeType": "VariableDeclaration", - "scope": 1110, + "scope": 1138, "src": "1148:42:0", "stateVariable": true, "storageLocation": "default", @@ -15495,7 +15888,7 @@ "id": 75, "name": "votes", "nodeType": "VariableDeclaration", - "scope": 1110, + "scope": 1138, "src": "1196:37:0", "stateVariable": true, "storageLocation": "default", @@ -15540,7 +15933,7 @@ "id": 77, "name": "status", "nodeType": "VariableDeclaration", - "scope": 1110, + "scope": 1138, "src": "1240:20:0", "stateVariable": true, "storageLocation": "default", @@ -15568,7 +15961,7 @@ "id": 79, "name": "epoch", "nodeType": "VariableDeclaration", - "scope": 1110, + "scope": 1138, "src": "1267:17:0", "stateVariable": true, "storageLocation": "default", @@ -15594,7 +15987,7 @@ "id": 81, "name": "nextEpoch", "nodeType": "VariableDeclaration", - "scope": 1110, + "scope": 1138, "src": "1290:21:0", "stateVariable": true, "storageLocation": "default", @@ -15615,11 +16008,63 @@ "value": null, "visibility": "public" }, + { + "constant": false, + "id": 83, + "name": "minTxLimit", + "nodeType": "VariableDeclaration", + "scope": 1138, + "src": "1318:15:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 82, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1318:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 85, + "name": "maxTxLimit", + "nodeType": "VariableDeclaration", + "scope": 1138, + "src": "1339:15:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 84, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1339:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, { "body": { - "id": 140, + "id": 160, "nodeType": "Block", - "src": "1406:306:0", + "src": "1472:371:0", "statements": [ { "expression": { @@ -15631,137 +16076,12 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 95, + "id": 103, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 92, - "name": "validators", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86, - "src": "1424:10:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 93, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1424:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 94, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1444:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1424:21:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 91, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 12804, - 12805 - ], - "referencedDeclaration": 12804, - "src": "1416:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 96, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1416:30:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 97, - "nodeType": "ExpressionStatement", - "src": "1416:30:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 99, - "name": "threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83, - "src": "1464:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, @@ -15769,8 +16089,8 @@ "name": "validators", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86, - "src": "1476:10:0", + "referencedDeclaration": 90, + "src": "1490:10:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -15784,13 +16104,33 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1476:17:0", + "src": "1490:17:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1464:29:0", + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 102, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1510:1:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1490:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15804,21 +16144,21 @@ "typeString": "bool" } ], - "id": 98, + "id": 99, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 12804, - 12805 + 12832, + 12833 ], - "referencedDeclaration": 12804, - "src": "1456:7:0", + "referencedDeclaration": 12832, + "src": "1482:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 103, + "id": 104, "isConstant": false, "isLValue": false, "isPure": false, @@ -15826,34 +16166,139 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1456:38:0", + "src": "1482:30:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 104, + "id": 105, "nodeType": "ExpressionStatement", - "src": "1456:38:0" + "src": "1482:30:0" }, { "expression": { "argumentTypes": null, - "id": 109, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 107, + "name": "threshold", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87, + "src": "1530:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 108, + "name": "validators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 90, + "src": "1542:10:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 109, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1542:17:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1530:29:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 106, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 12832, + 12833 + ], + "referencedDeclaration": 12832, + "src": "1522:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1522:38:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 112, + "nodeType": "ExpressionStatement", + "src": "1522:38:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 117, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 105, + "id": 113, "name": "tokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "1505:13:0", + "referencedDeclaration": 163, + "src": "1571:13:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9745", + "typeIdentifier": "t_contract$_IERC20_$9773", "typeString": "contract IERC20" } }, @@ -15864,12 +16309,12 @@ "arguments": [ { "argumentTypes": null, - "id": 107, + "id": 115, "name": "_tokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 88, - "src": "1528:14:0", + "referencedDeclaration": 92, + "src": "1594:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15883,18 +16328,18 @@ "typeString": "address" } ], - "id": 106, + "id": 114, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9745, - "src": "1521:6:0", + "referencedDeclaration": 9773, + "src": "1587:6:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$9745_$", + "typeIdentifier": "t_type$_t_contract$_IERC20_$9773_$", "typeString": "type(contract IERC20)" } }, - "id": 108, + "id": 116, "isConstant": false, "isLValue": false, "isPure": false, @@ -15902,38 +16347,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1521:22:0", + "src": "1587:22:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9745", + "typeIdentifier": "t_contract$_IERC20_$9773", "typeString": "contract IERC20" } }, - "src": "1505:38:0", + "src": "1571:38:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9745", + "typeIdentifier": "t_contract$_IERC20_$9773", "typeString": "contract IERC20" } }, - "id": 110, + "id": 118, "nodeType": "ExpressionStatement", - "src": "1505:38:0" + "src": "1571:38:0" }, { "expression": { "argumentTypes": null, - "id": 113, + "id": 121, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 111, + "id": 119, "name": "epoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "1554:5:0", + "src": "1620:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15944,14 +16389,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 112, + "id": 120, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1562:1:0", + "src": "1628:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15959,32 +16404,32 @@ }, "value": "0" }, - "src": "1554:9:0", + "src": "1620:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 114, + "id": 122, "nodeType": "ExpressionStatement", - "src": "1554:9:0" + "src": "1620:9:0" }, { "expression": { "argumentTypes": null, - "id": 118, + "id": 126, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 115, + "id": 123, "name": "status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "1573:6:0", + "src": "1639:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" @@ -15996,18 +16441,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 116, + "id": 124, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 45, - "src": "1582:6:0", + "src": "1648:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$45_$", "typeString": "type(enum Bridge.Status)" } }, - "id": 117, + "id": 125, "isConstant": false, "isLValue": false, "isPure": true, @@ -16015,38 +16460,38 @@ "memberName": "KEYGEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1582:13:0", + "src": "1648:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "src": "1573:22:0", + "src": "1639:22:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "id": 119, + "id": 127, "nodeType": "ExpressionStatement", - "src": "1573:22:0" + "src": "1639:22:0" }, { "expression": { "argumentTypes": null, - "id": 122, + "id": 130, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 120, + "id": 128, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "1605:9:0", + "src": "1671:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16057,14 +16502,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "31", - "id": 121, + "id": 129, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1617:1:0", + "src": "1683:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -16072,20 +16517,20 @@ }, "value": "1" }, - "src": "1605:13:0", + "src": "1671:13:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 123, + "id": 131, "nodeType": "ExpressionStatement", - "src": "1605:13:0" + "src": "1671:13:0" }, { "expression": { "argumentTypes": null, - "id": 133, + "id": 141, "isConstant": false, "isLValue": false, "isPure": false, @@ -16094,29 +16539,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 124, + "id": 132, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "1629:6:0", + "src": "1695:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 126, + "id": 134, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 125, + "id": 133, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1636:1:0", + "src": "1702:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -16129,7 +16574,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1629:9:0", + "src": "1695:9:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" @@ -16142,12 +16587,12 @@ "arguments": [ { "argumentTypes": null, - "id": 128, + "id": 136, "name": "validators", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86, - "src": "1647:10:0", + "referencedDeclaration": 90, + "src": "1713:10:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -16155,12 +16600,12 @@ }, { "argumentTypes": null, - "id": 129, + "id": 137, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 83, - "src": "1659:9:0", + "referencedDeclaration": 87, + "src": "1725:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16169,14 +16614,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 130, + "id": 138, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1670:1:0", + "src": "1736:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -16187,14 +16632,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 131, + "id": 139, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1673:1:0", + "src": "1739:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -16222,18 +16667,18 @@ "typeString": "int_const 0" } ], - "id": 127, + "id": 135, "name": "State", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 40, - "src": "1641:5:0", + "src": "1707:5:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_State_$40_storage_ptr_$", "typeString": "type(struct Bridge.State storage pointer)" } }, - "id": 132, + "id": 140, "isConstant": false, "isLValue": false, "isPure": false, @@ -16241,21 +16686,177 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1641:34:0", + "src": "1707:34:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_memory", "typeString": "struct Bridge.State memory" } }, - "src": "1629:46:0", + "src": "1695:46:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 134, + "id": 142, "nodeType": "ExpressionStatement", - "src": "1629:46:0" + "src": "1695:46:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 143, + "name": "minTxLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 83, + "src": "1752:10:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 144, + "name": "limits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 96, + "src": "1765:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", + "typeString": "uint256[2] memory" + } + }, + "id": 146, + "indexExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 145, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1772:1:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1765:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1752:22:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 148, + "nodeType": "ExpressionStatement", + "src": "1752:22:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 149, + "name": "maxTxLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "1784:10:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 150, + "name": "limits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 96, + "src": "1797:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", + "typeString": "uint256[2] memory" + } + }, + "id": 152, + "indexExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1804:1:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1797:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1784:22:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 154, + "nodeType": "ExpressionStatement", + "src": "1784:22:0" }, { "eventCall": { @@ -16264,14 +16865,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 136, + "id": 156, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1700:1:0", + "src": "1831:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -16282,14 +16883,14 @@ { "argumentTypes": null, "hexValue": "31", - "id": 137, + "id": 157, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1703:1:0", + "src": "1834:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -16309,18 +16910,18 @@ "typeString": "int_const 1" } ], - "id": 135, + "id": 155, "name": "NewEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "1691:8:0", + "src": "1822:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256)" } }, - "id": 138, + "id": 158, "isConstant": false, "isLValue": false, "isPure": false, @@ -16328,36 +16929,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1691:14:0", + "src": "1822:14:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 139, + "id": 159, "nodeType": "EmitStatement", - "src": "1686:19:0" + "src": "1817:19:0" } ] }, "documentation": null, - "id": 141, + "id": 161, "implemented": true, "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 89, + "id": 97, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 83, + "id": 87, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 141, - "src": "1330:14:0", + "scope": 161, + "src": "1373:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16365,10 +16966,10 @@ "typeString": "uint256" }, "typeName": { - "id": 82, + "id": 86, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1330:4:0", + "src": "1373:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16379,11 +16980,11 @@ }, { "constant": false, - "id": 86, + "id": 90, "name": "validators", "nodeType": "VariableDeclaration", - "scope": 141, - "src": "1346:27:0", + "scope": 161, + "src": "1389:27:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -16392,20 +16993,20 @@ }, "typeName": { "baseType": { - "id": 84, + "id": 88, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1346:7:0", + "src": "1389:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 85, + "id": 89, "length": null, "nodeType": "ArrayTypeName", - "src": "1346:9:0", + "src": "1389:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -16416,11 +17017,11 @@ }, { "constant": false, - "id": 88, + "id": 92, "name": "_tokenContract", "nodeType": "VariableDeclaration", - "scope": 141, - "src": "1375:22:0", + "scope": 161, + "src": "1418:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16428,10 +17029,10 @@ "typeString": "address" }, "typeName": { - "id": 87, + "id": 91, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1375:7:0", + "src": "1418:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -16440,44 +17041,97 @@ }, "value": null, "visibility": "internal" + }, + { + "constant": false, + "id": 96, + "name": "limits", + "nodeType": "VariableDeclaration", + "scope": 161, + "src": "1442:21:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", + "typeString": "uint256[2]" + }, + "typeName": { + "baseType": { + "id": 93, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1442:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 95, + "length": { + "argumentTypes": null, + "hexValue": "32", + "id": 94, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1447:1:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "ArrayTypeName", + "src": "1442:7:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", + "typeString": "uint256[2]" + } + }, + "value": null, + "visibility": "internal" } ], - "src": "1329:69:0" + "src": "1372:92:0" }, "returnParameters": { - "id": 90, + "id": 98, "nodeType": "ParameterList", "parameters": [], - "src": "1406:0:0" + "src": "1472:0:0" }, - "scope": 1110, - "src": "1318:394:0", + "scope": 1138, + "src": "1361:482:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "constant": false, - "id": 143, + "id": 163, "name": "tokenContract", "nodeType": "VariableDeclaration", - "scope": 1110, - "src": "1718:27:0", + "scope": 1138, + "src": "1849:27:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9745", + "typeIdentifier": "t_contract$_IERC20_$9773", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 142, + "id": 162, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9745, - "src": "1718:6:0", + "referencedDeclaration": 9773, + "src": "1849:6:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9745", + "typeIdentifier": "t_contract$_IERC20_$9773", "typeString": "contract IERC20" } }, @@ -16486,9 +17140,9 @@ }, { "body": { - "id": 154, + "id": 174, "nodeType": "Block", - "src": "1767:81:0", + "src": "1898:81:0", "statements": [ { "expression": { @@ -16500,19 +17154,19 @@ "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" }, - "id": 149, + "id": 169, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 146, + "id": 166, "name": "status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "1785:6:0", + "src": "1916:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" @@ -16524,18 +17178,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 147, + "id": 167, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 45, - "src": "1795:6:0", + "src": "1926:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$45_$", "typeString": "type(enum Bridge.Status)" } }, - "id": 148, + "id": 168, "isConstant": false, "isLValue": false, "isPure": true, @@ -16543,13 +17197,13 @@ "memberName": "READY", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1795:12:0", + "src": "1926:12:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "src": "1785:22:0", + "src": "1916:22:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16558,14 +17212,14 @@ { "argumentTypes": null, "hexValue": "4e6f7420696e207265616479207374617465", - "id": 150, + "id": 170, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1809:20:0", + "src": "1940:20:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_965c39c15b78dbcd8a954511641ca86e15fc1ae6d6c30a67536872ccde75b679", @@ -16585,21 +17239,21 @@ "typeString": "literal_string \"Not in ready state\"" } ], - "id": 145, + "id": 165, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 12804, - 12805 + 12832, + 12833 ], - "referencedDeclaration": 12805, - "src": "1777:7:0", + "referencedDeclaration": 12833, + "src": "1908:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 151, + "id": 171, "isConstant": false, "isLValue": false, "isPure": false, @@ -16607,41 +17261,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1777:53:0", + "src": "1908:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 152, + "id": 172, "nodeType": "ExpressionStatement", - "src": "1777:53:0" + "src": "1908:53:0" }, { - "id": 153, + "id": 173, "nodeType": "PlaceholderStatement", - "src": "1840:1:0" + "src": "1971:1:0" } ] }, "documentation": null, - "id": 155, + "id": 175, "name": "ready", "nodeType": "ModifierDefinition", "parameters": { - "id": 144, + "id": 164, "nodeType": "ParameterList", "parameters": [], - "src": "1767:0:0" + "src": "1898:0:0" }, - "src": "1752:96:0", + "src": "1883:96:0", "visibility": "internal" }, { "body": { - "id": 171, + "id": 191, "nodeType": "Block", - "src": "1877:118:0", + "src": "2008:118:0", "statements": [ { "expression": { @@ -16653,7 +17307,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 166, + "id": 186, "isConstant": false, "isLValue": false, "isPure": false, @@ -16664,19 +17318,19 @@ "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" }, - "id": 161, + "id": 181, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 158, + "id": 178, "name": "status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "1895:6:0", + "src": "2026:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" @@ -16688,18 +17342,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 159, + "id": 179, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 45, - "src": "1905:6:0", + "src": "2036:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$45_$", "typeString": "type(enum Bridge.Status)" } }, - "id": 160, + "id": 180, "isConstant": false, "isLValue": false, "isPure": true, @@ -16707,13 +17361,13 @@ "memberName": "READY", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1905:12:0", + "src": "2036:12:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "src": "1895:22:0", + "src": "2026:22:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16727,19 +17381,19 @@ "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" }, - "id": 165, + "id": 185, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 162, + "id": 182, "name": "status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "1921:6:0", + "src": "2052:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" @@ -16751,18 +17405,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 163, + "id": 183, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 45, - "src": "1931:6:0", + "src": "2062:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$45_$", "typeString": "type(enum Bridge.Status)" } }, - "id": 164, + "id": 184, "isConstant": false, "isLValue": false, "isPure": true, @@ -16770,19 +17424,19 @@ "memberName": "VOTING", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1931:13:0", + "src": "2062:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "src": "1921:23:0", + "src": "2052:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "1895:49:0", + "src": "2026:49:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16791,14 +17445,14 @@ { "argumentTypes": null, "hexValue": "4e6f7420696e207265616479206f7220766f74696e67207374617465", - "id": 167, + "id": 187, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1946:30:0", + "src": "2077:30:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_7e3f7359baa731593d4e3921720b92600c22ed1d950d208e0c826ad2eddebe96", @@ -16818,21 +17472,21 @@ "typeString": "literal_string \"Not in ready or voting state\"" } ], - "id": 157, + "id": 177, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 12804, - 12805 + 12832, + 12833 ], - "referencedDeclaration": 12805, - "src": "1887:7:0", + "referencedDeclaration": 12833, + "src": "2018:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 168, + "id": 188, "isConstant": false, "isLValue": false, "isPure": false, @@ -16840,41 +17494,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1887:90:0", + "src": "2018:90:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 169, + "id": 189, "nodeType": "ExpressionStatement", - "src": "1887:90:0" + "src": "2018:90:0" }, { - "id": 170, + "id": 190, "nodeType": "PlaceholderStatement", - "src": "1987:1:0" + "src": "2118:1:0" } ] }, "documentation": null, - "id": 172, + "id": 192, "name": "readyOrVoting", "nodeType": "ModifierDefinition", "parameters": { - "id": 156, + "id": 176, "nodeType": "ParameterList", "parameters": [], - "src": "1877:0:0" + "src": "2008:0:0" }, - "src": "1854:141:0", + "src": "1985:141:0", "visibility": "internal" }, { "body": { - "id": 183, + "id": 203, "nodeType": "Block", - "src": "2017:83:0", + "src": "2148:83:0", "statements": [ { "expression": { @@ -16886,19 +17540,19 @@ "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" }, - "id": 178, + "id": 198, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 175, + "id": 195, "name": "status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "2035:6:0", + "src": "2166:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" @@ -16910,18 +17564,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 176, + "id": 196, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 45, - "src": "2045:6:0", + "src": "2176:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$45_$", "typeString": "type(enum Bridge.Status)" } }, - "id": 177, + "id": 197, "isConstant": false, "isLValue": false, "isPure": true, @@ -16929,13 +17583,13 @@ "memberName": "VOTING", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2045:13:0", + "src": "2176:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "src": "2035:23:0", + "src": "2166:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16944,14 +17598,14 @@ { "argumentTypes": null, "hexValue": "4e6f7420696e20766f74696e67207374617465", - "id": 179, + "id": 199, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2060:21:0", + "src": "2191:21:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0cbee9834b110b21e0730bf5c3d2972fb9867ff221df239e7ae60883592f05d1", @@ -16971,21 +17625,21 @@ "typeString": "literal_string \"Not in voting state\"" } ], - "id": 174, + "id": 194, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 12804, - 12805 + 12832, + 12833 ], - "referencedDeclaration": 12805, - "src": "2027:7:0", + "referencedDeclaration": 12833, + "src": "2158:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 180, + "id": 200, "isConstant": false, "isLValue": false, "isPure": false, @@ -16993,41 +17647,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2027:55:0", + "src": "2158:55:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 181, + "id": 201, "nodeType": "ExpressionStatement", - "src": "2027:55:0" + "src": "2158:55:0" }, { - "id": 182, + "id": 202, "nodeType": "PlaceholderStatement", - "src": "2092:1:0" + "src": "2223:1:0" } ] }, "documentation": null, - "id": 184, + "id": 204, "name": "voting", "nodeType": "ModifierDefinition", "parameters": { - "id": 173, + "id": 193, "nodeType": "ParameterList", "parameters": [], - "src": "2017:0:0" + "src": "2148:0:0" }, - "src": "2001:99:0", + "src": "2132:99:0", "visibility": "internal" }, { "body": { - "id": 195, + "id": 215, "nodeType": "Block", - "src": "2122:83:0", + "src": "2253:83:0", "statements": [ { "expression": { @@ -17039,19 +17693,19 @@ "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" }, - "id": 190, + "id": 210, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 187, + "id": 207, "name": "status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "2140:6:0", + "src": "2271:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" @@ -17063,18 +17717,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 188, + "id": 208, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 45, - "src": "2150:6:0", + "src": "2281:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$45_$", "typeString": "type(enum Bridge.Status)" } }, - "id": 189, + "id": 209, "isConstant": false, "isLValue": false, "isPure": true, @@ -17082,13 +17736,13 @@ "memberName": "KEYGEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2150:13:0", + "src": "2281:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "src": "2140:23:0", + "src": "2271:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -17097,14 +17751,14 @@ { "argumentTypes": null, "hexValue": "4e6f7420696e206b657967656e207374617465", - "id": 191, + "id": 211, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2165:21:0", + "src": "2296:21:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_ed0fee6382e0651a224348a21558d03a4a439c3bd5edc24945894a3417c14010", @@ -17124,21 +17778,21 @@ "typeString": "literal_string \"Not in keygen state\"" } ], - "id": 186, + "id": 206, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 12804, - 12805 + 12832, + 12833 ], - "referencedDeclaration": 12805, - "src": "2132:7:0", + "referencedDeclaration": 12833, + "src": "2263:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 192, + "id": 212, "isConstant": false, "isLValue": false, "isPure": false, @@ -17146,41 +17800,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2132:55:0", + "src": "2263:55:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 193, + "id": 213, "nodeType": "ExpressionStatement", - "src": "2132:55:0" + "src": "2263:55:0" }, { - "id": 194, + "id": 214, "nodeType": "PlaceholderStatement", - "src": "2197:1:0" + "src": "2328:1:0" } ] }, "documentation": null, - "id": 196, + "id": 216, "name": "keygen", "nodeType": "ModifierDefinition", "parameters": { - "id": 185, + "id": 205, "nodeType": "ParameterList", "parameters": [], - "src": "2122:0:0" + "src": "2253:0:0" }, - "src": "2106:99:0", + "src": "2237:99:0", "visibility": "internal" }, { "body": { - "id": 207, + "id": 227, "nodeType": "Block", - "src": "2234:99:0", + "src": "2365:99:0", "statements": [ { "expression": { @@ -17192,19 +17846,19 @@ "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" }, - "id": 202, + "id": 222, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 199, + "id": 219, "name": "status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "2252:6:0", + "src": "2383:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" @@ -17216,18 +17870,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 200, + "id": 220, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 45, - "src": "2262:6:0", + "src": "2393:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$45_$", "typeString": "type(enum Bridge.Status)" } }, - "id": 201, + "id": 221, "isConstant": false, "isLValue": false, "isPure": true, @@ -17235,13 +17889,13 @@ "memberName": "FUNDS_TRANSFER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2262:21:0", + "src": "2393:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "src": "2252:31:0", + "src": "2383:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -17250,14 +17904,14 @@ { "argumentTypes": null, "hexValue": "4e6f7420696e2066756e6473207472616e73666572207374617465", - "id": 203, + "id": 223, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2285:29:0", + "src": "2416:29:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6347c9fecd6f58520ad10dfd1347ce3dc42cc0eed7a4182ca64dd11c69fc3008", @@ -17277,21 +17931,21 @@ "typeString": "literal_string \"Not in funds transfer state\"" } ], - "id": 198, + "id": 218, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 12804, - 12805 + 12832, + 12833 ], - "referencedDeclaration": 12805, - "src": "2244:7:0", + "referencedDeclaration": 12833, + "src": "2375:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 204, + "id": 224, "isConstant": false, "isLValue": false, "isPure": false, @@ -17299,41 +17953,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2244:71:0", + "src": "2375:71:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 205, + "id": 225, "nodeType": "ExpressionStatement", - "src": "2244:71:0" + "src": "2375:71:0" }, { - "id": 206, + "id": 226, "nodeType": "PlaceholderStatement", - "src": "2325:1:0" + "src": "2456:1:0" } ] }, "documentation": null, - "id": 208, + "id": 228, "name": "fundsTransfer", "nodeType": "ModifierDefinition", "parameters": { - "id": 197, + "id": 217, "nodeType": "ParameterList", "parameters": [], - "src": "2234:0:0" + "src": "2365:0:0" }, - "src": "2211:122:0", + "src": "2342:122:0", "visibility": "internal" }, { "body": { - "id": 219, + "id": 239, "nodeType": "Block", - "src": "2365:81:0", + "src": "2496:81:0", "statements": [ { "expression": { @@ -17345,7 +17999,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 214, + "id": 234, "isConstant": false, "isLValue": false, "isPure": false, @@ -17355,18 +18009,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 211, + "id": 231, "name": "getPartyId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 524, - "src": "2383:10:0", + "referencedDeclaration": 552, + "src": "2514:10:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, - "id": 212, + "id": 232, "isConstant": false, "isLValue": false, "isPure": false, @@ -17374,7 +18028,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2383:12:0", + "src": "2514:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17385,14 +18039,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 213, + "id": 233, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2399:1:0", + "src": "2530:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -17400,7 +18054,7 @@ }, "value": "0" }, - "src": "2383:17:0", + "src": "2514:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -17409,14 +18063,14 @@ { "argumentTypes": null, "hexValue": "4e6f7420612063757272656e742076616c696461746f72", - "id": 215, + "id": 235, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2402:25:0", + "src": "2533:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_8dc18d5bb1361900b9758b388df331056e31071cae84b276c0f03794c4dc634a", @@ -17436,21 +18090,21 @@ "typeString": "literal_string \"Not a current validator\"" } ], - "id": 210, + "id": 230, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 12804, - 12805 + 12832, + 12833 ], - "referencedDeclaration": 12805, - "src": "2375:7:0", + "referencedDeclaration": 12833, + "src": "2506:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 216, + "id": 236, "isConstant": false, "isLValue": false, "isPure": false, @@ -17458,41 +18112,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2375:53:0", + "src": "2506:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 217, + "id": 237, "nodeType": "ExpressionStatement", - "src": "2375:53:0" + "src": "2506:53:0" }, { - "id": 218, + "id": 238, "nodeType": "PlaceholderStatement", - "src": "2438:1:0" + "src": "2569:1:0" } ] }, "documentation": null, - "id": 220, + "id": 240, "name": "currentValidator", "nodeType": "ModifierDefinition", "parameters": { - "id": 209, + "id": 229, "nodeType": "ParameterList", "parameters": [], - "src": "2365:0:0" + "src": "2496:0:0" }, - "src": "2339:107:0", + "src": "2470:107:0", "visibility": "internal" }, { "body": { - "id": 250, + "id": 278, "nodeType": "Block", - "src": "2495:151:0", + "src": "2626:197:0", "statements": [ { "expression": { @@ -17501,85 +18155,213 @@ { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "id": 232, + "id": 260, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "argumentTypes": null, - "id": 228, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "2513:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_rational_10000000000_by_1", - "typeString": "int_const 10000000000" + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "id": 231, + "id": 256, "isConstant": false, "isLValue": false, - "isPure": true, + "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "hexValue": "3130", - "id": 229, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 250, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "number", + "isPure": false, "lValueRequested": false, - "nodeType": "Literal", - "src": "2522:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" + "leftExpression": { + "argumentTypes": null, + "id": 248, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 242, + "src": "2644:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, - "value": "10" + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 249, + "name": "minTxLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 83, + "src": "2653:10:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2644:19:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } }, "nodeType": "BinaryOperation", - "operator": "**", + "operator": "&&", "rightExpression": { "argumentTypes": null, - "hexValue": "3130", - "id": 230, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 255, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "number", + "isPure": false, "lValueRequested": false, - "nodeType": "Literal", - "src": "2528:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" + "leftExpression": { + "argumentTypes": null, + "id": 251, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 242, + "src": "2667:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, - "value": "10" + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_rational_10000000000_by_1", + "typeString": "int_const 10000000000" + }, + "id": 254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "3130", + "id": 252, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2676:2:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3130", + "id": 253, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2682:2:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "2676:8:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000000000_by_1", + "typeString": "int_const 10000000000" + } + }, + "src": "2667:17:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } }, - "src": "2522:8:0", + "src": "2644:40:0", "typeDescriptions": { - "typeIdentifier": "t_rational_10000000000_by_1", - "typeString": "int_const 10000000000" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "src": "2513:17:0", + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 257, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 242, + "src": "2688:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 258, + "name": "maxTxLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "2697:10:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2688:19:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2644:63:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -17593,21 +18375,21 @@ "typeString": "bool" } ], - "id": 227, + "id": 247, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 12804, - 12805 + 12832, + 12833 ], - "referencedDeclaration": 12804, - "src": "2505:7:0", + "referencedDeclaration": 12832, + "src": "2636:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 233, + "id": 261, "isConstant": false, "isLValue": false, "isPure": false, @@ -17615,15 +18397,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2505:26:0", + "src": "2636:72:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 234, + "id": 262, "nodeType": "ExpressionStatement", - "src": "2505:26:0" + "src": "2636:72:0" }, { "expression": { @@ -17633,18 +18415,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 238, + "id": 266, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 12801, - "src": "2569:3:0", + "referencedDeclaration": 12829, + "src": "2746:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 239, + "id": 267, "isConstant": false, "isLValue": false, "isPure": false, @@ -17652,7 +18434,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2569:10:0", + "src": "2746:10:0", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -17663,14 +18445,14 @@ "arguments": [ { "argumentTypes": null, - "id": 241, + "id": 269, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 12817, - "src": "2589:4:0", + "referencedDeclaration": 12845, + "src": "2766:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Bridge_$1110", + "typeIdentifier": "t_contract$_Bridge_$1138", "typeString": "contract Bridge" } } @@ -17678,24 +18460,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Bridge_$1110", + "typeIdentifier": "t_contract$_Bridge_$1138", "typeString": "contract Bridge" } ], - "id": 240, + "id": 268, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2581:7:0", + "src": "2758:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 242, + "id": 270, "isConstant": false, "isLValue": false, "isPure": false, @@ -17703,7 +18485,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2581:13:0", + "src": "2758:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17711,12 +18493,12 @@ }, { "argumentTypes": null, - "id": 243, + "id": 271, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "2596:5:0", + "referencedDeclaration": 242, + "src": "2773:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17740,32 +18522,32 @@ ], "expression": { "argumentTypes": null, - "id": 235, + "id": 263, "name": "tokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2542:13:0", + "referencedDeclaration": 163, + "src": "2719:13:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9745", + "typeIdentifier": "t_contract$_IERC20_$9773", "typeString": "contract IERC20" } }, - "id": 237, + "id": 265, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 9728, - "src": "2542:26:0", + "referencedDeclaration": 9756, + "src": "2719:26:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 244, + "id": 272, "isConstant": false, "isLValue": false, "isPure": false, @@ -17773,15 +18555,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2542:60:0", + "src": "2719:60:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 245, + "id": 273, "nodeType": "ExpressionStatement", - "src": "2542:60:0" + "src": "2719:60:0" }, { "eventCall": { @@ -17789,12 +18571,12 @@ "arguments": [ { "argumentTypes": null, - "id": 247, + "id": 275, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "2633:5:0", + "referencedDeclaration": 242, + "src": "2810:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17808,18 +18590,18 @@ "typeString": "uint256" } ], - "id": 246, + "id": 274, "name": "ExchangeRequest", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6, - "src": "2617:15:0", + "src": "2794:15:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 248, + "id": 276, "isConstant": false, "isLValue": false, "isPure": false, @@ -17827,56 +18609,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2617:22:0", + "src": "2794:22:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 249, + "id": 277, "nodeType": "EmitStatement", - "src": "2612:27:0" + "src": "2789:27:0" } ] }, "documentation": null, - "id": 251, + "id": 279, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 225, + "id": 245, "modifierName": { "argumentTypes": null, - "id": 224, + "id": 244, "name": "ready", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 155, - "src": "2489:5:0", + "referencedDeclaration": 175, + "src": "2620:5:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2489:5:0" + "src": "2620:5:0" } ], "name": "exchange", "nodeType": "FunctionDefinition", "parameters": { - "id": 223, + "id": 243, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 222, + "id": 242, "name": "value", "nodeType": "VariableDeclaration", - "scope": 251, - "src": "2470:10:0", + "scope": 279, + "src": "2601:10:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17884,10 +18666,10 @@ "typeString": "uint256" }, "typeName": { - "id": 221, + "id": 241, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2470:4:0", + "src": "2601:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17897,25 +18679,25 @@ "visibility": "internal" } ], - "src": "2469:12:0" + "src": "2600:12:0" }, "returnParameters": { - "id": 226, + "id": 246, "nodeType": "ParameterList", "parameters": [], - "src": "2495:0:0" + "src": "2626:0:0" }, - "scope": 1110, - "src": "2452:194:0", + "scope": 1138, + "src": "2583:240:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 280, + "id": 308, "nodeType": "Block", - "src": "2746:119:0", + "src": "2923:119:0", "statements": [ { "condition": { @@ -17925,18 +18707,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 265, + "id": 293, "name": "Vote", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 55, - "src": "2768:4:0", + "src": "2945:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Vote_$55_$", "typeString": "type(enum Bridge.Vote)" } }, - "id": 266, + "id": 294, "isConstant": false, "isLValue": false, "isPure": true, @@ -17944,7 +18726,7 @@ "memberName": "TRANSFER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2768:13:0", + "src": "2945:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" @@ -17952,12 +18734,12 @@ }, { "argumentTypes": null, - "id": 267, + "id": 295, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 253, - "src": "2783:4:0", + "referencedDeclaration": 281, + "src": "2960:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -17965,12 +18747,12 @@ }, { "argumentTypes": null, - "id": 268, + "id": 296, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 255, - "src": "2789:2:0", + "referencedDeclaration": 283, + "src": "2966:2:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17978,12 +18760,12 @@ }, { "argumentTypes": null, - "id": 269, + "id": 297, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 257, - "src": "2793:5:0", + "referencedDeclaration": 285, + "src": "2970:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18009,23 +18791,23 @@ "typeString": "uint256" } ], - "id": 264, + "id": 292, "name": "tryVote", "nodeType": "Identifier", "overloadedDeclarations": [ - 854, - 879, - 904, - 934 + 882, + 907, + 932, + 962 ], - "referencedDeclaration": 934, - "src": "2760:7:0", + "referencedDeclaration": 962, + "src": "2937:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_enum$_Vote_$55_$_t_bytes32_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (enum Bridge.Vote,bytes32,address,uint256) returns (bool)" } }, - "id": 270, + "id": 298, "isConstant": false, "isLValue": false, "isPure": false, @@ -18033,20 +18815,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2760:39:0", + "src": "2937:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 279, + "id": 307, "nodeType": "IfStatement", - "src": "2756:103:0", + "src": "2933:103:0", "trueBody": { - "id": 278, + "id": 306, "nodeType": "Block", - "src": "2801:58:0", + "src": "2978:58:0", "statements": [ { "expression": { @@ -18054,12 +18836,12 @@ "arguments": [ { "argumentTypes": null, - "id": 274, + "id": 302, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 255, - "src": "2838:2:0", + "referencedDeclaration": 283, + "src": "3015:2:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18067,12 +18849,12 @@ }, { "argumentTypes": null, - "id": 275, + "id": 303, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 257, - "src": "2842:5:0", + "referencedDeclaration": 285, + "src": "3019:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18092,32 +18874,32 @@ ], "expression": { "argumentTypes": null, - "id": 271, + "id": 299, "name": "tokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2815:13:0", + "referencedDeclaration": 163, + "src": "2992:13:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9745", + "typeIdentifier": "t_contract$_IERC20_$9773", "typeString": "contract IERC20" } }, - "id": 273, + "id": 301, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 9699, - "src": "2815:22:0", + "referencedDeclaration": 9727, + "src": "2992:22:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 276, + "id": 304, "isConstant": false, "isLValue": false, "isPure": false, @@ -18125,15 +18907,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2815:33:0", + "src": "2992:33:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 277, + "id": 305, "nodeType": "ExpressionStatement", - "src": "2815:33:0" + "src": "2992:33:0" } ] } @@ -18141,62 +18923,62 @@ ] }, "documentation": null, - "id": 281, + "id": 309, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 260, + "id": 288, "modifierName": { "argumentTypes": null, - "id": 259, + "id": 287, "name": "readyOrVoting", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 172, - "src": "2715:13:0", + "referencedDeclaration": 192, + "src": "2892:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2715:13:0" + "src": "2892:13:0" }, { "arguments": null, - "id": 262, + "id": 290, "modifierName": { "argumentTypes": null, - "id": 261, + "id": 289, "name": "currentValidator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 220, - "src": "2729:16:0", + "referencedDeclaration": 240, + "src": "2906:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2729:16:0" + "src": "2906:16:0" } ], "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 258, + "id": 286, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 253, + "id": 281, "name": "hash", "nodeType": "VariableDeclaration", - "scope": 281, - "src": "2670:12:0", + "scope": 309, + "src": "2847:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18204,10 +18986,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 252, + "id": 280, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2670:7:0", + "src": "2847:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18218,11 +19000,11 @@ }, { "constant": false, - "id": 255, + "id": 283, "name": "to", "nodeType": "VariableDeclaration", - "scope": 281, - "src": "2684:10:0", + "scope": 309, + "src": "2861:10:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18230,10 +19012,10 @@ "typeString": "address" }, "typeName": { - "id": 254, + "id": 282, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2684:7:0", + "src": "2861:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -18245,11 +19027,11 @@ }, { "constant": false, - "id": 257, + "id": 285, "name": "value", "nodeType": "VariableDeclaration", - "scope": 281, - "src": "2696:10:0", + "scope": 309, + "src": "2873:10:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18257,10 +19039,10 @@ "typeString": "uint256" }, "typeName": { - "id": 256, + "id": 284, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2696:4:0", + "src": "2873:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18270,25 +19052,25 @@ "visibility": "internal" } ], - "src": "2669:38:0" + "src": "2846:38:0" }, "returnParameters": { - "id": 263, + "id": 291, "nodeType": "ParameterList", "parameters": [], - "src": "2746:0:0" + "src": "2923:0:0" }, - "scope": 1110, - "src": "2652:213:0", + "scope": 1138, + "src": "2829:213:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 353, + "id": 381, "nodeType": "Block", - "src": "2924:525:0", + "src": "3101:525:0", "statements": [ { "expression": { @@ -18300,7 +19082,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 296, + "id": 324, "isConstant": false, "isLValue": false, "isPure": false, @@ -18312,18 +19094,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 292, + "id": 320, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 12801, - "src": "2957:3:0", + "referencedDeclaration": 12829, + "src": "3134:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 293, + "id": 321, "isConstant": false, "isLValue": false, "isPure": false, @@ -18331,7 +19113,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2957:10:0", + "src": "3134:10:0", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -18345,18 +19127,18 @@ "typeString": "address payable" } ], - "id": 291, + "id": 319, "name": "getNextPartyId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 564, - "src": "2942:14:0", + "referencedDeclaration": 592, + "src": "3119:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view returns (uint256)" } }, - "id": 294, + "id": 322, "isConstant": false, "isLValue": false, "isPure": false, @@ -18364,7 +19146,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2942:26:0", + "src": "3119:26:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18375,14 +19157,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 295, + "id": 323, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2972:1:0", + "src": "3149:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -18390,7 +19172,7 @@ }, "value": "0" }, - "src": "2942:31:0", + "src": "3119:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18399,14 +19181,14 @@ { "argumentTypes": null, "hexValue": "4e6f742061206e6578742076616c696461746f72", - "id": 297, + "id": 325, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2975:22:0", + "src": "3152:22:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_44981c92ce908443b2fa5f878c54791e1a0c95d4cc04ea4f4d9224b3ec030922", @@ -18426,21 +19208,21 @@ "typeString": "literal_string \"Not a next validator\"" } ], - "id": 290, + "id": 318, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 12804, - 12805 + 12832, + 12833 ], - "referencedDeclaration": 12805, - "src": "2934:7:0", + "referencedDeclaration": 12833, + "src": "3111:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 298, + "id": 326, "isConstant": false, "isLValue": false, "isPure": false, @@ -18448,15 +19230,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2934:64:0", + "src": "3111:64:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 299, + "id": 327, "nodeType": "ExpressionStatement", - "src": "2934:64:0" + "src": "3111:64:0" }, { "condition": { @@ -18466,18 +19248,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 301, + "id": 329, "name": "Vote", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 55, - "src": "3024:4:0", + "src": "3201:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Vote_$55_$", "typeString": "type(enum Bridge.Vote)" } }, - "id": 302, + "id": 330, "isConstant": false, "isLValue": false, "isPure": true, @@ -18485,7 +19267,7 @@ "memberName": "CONFIRM_KEYGEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3024:19:0", + "src": "3201:19:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" @@ -18493,12 +19275,12 @@ }, { "argumentTypes": null, - "id": 303, + "id": 331, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 283, - "src": "3045:1:0", + "referencedDeclaration": 311, + "src": "3222:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18506,12 +19288,12 @@ }, { "argumentTypes": null, - "id": 304, + "id": 332, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 285, - "src": "3048:1:0", + "referencedDeclaration": 313, + "src": "3225:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18533,21 +19315,21 @@ "typeString": "uint256" } ], - "id": 300, + "id": 328, "name": "tryConfirm", "nodeType": "Identifier", "overloadedDeclarations": [ - 956, - 984 + 984, + 1012 ], - "referencedDeclaration": 984, - "src": "3013:10:0", + "referencedDeclaration": 1012, + "src": "3190:10:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_enum$_Vote_$55_$_t_uint256_$_t_uint256_$returns$_t_bool_$", "typeString": "function (enum Bridge.Vote,uint256,uint256) returns (bool)" } }, - "id": 305, + "id": 333, "isConstant": false, "isLValue": false, "isPure": false, @@ -18555,25 +19337,25 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3013:37:0", + "src": "3190:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 352, + "id": 380, "nodeType": "IfStatement", - "src": "3009:434:0", + "src": "3186:434:0", "trueBody": { - "id": 351, + "id": 379, "nodeType": "Block", - "src": "3052:391:0", + "src": "3229:391:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 311, + "id": 339, "isConstant": false, "isLValue": false, "isPure": false, @@ -18584,26 +19366,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 306, + "id": 334, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "3066:6:0", + "src": "3243:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 308, + "id": 336, "indexExpression": { "argumentTypes": null, - "id": 307, + "id": 335, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "3073:9:0", + "src": "3250:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18614,13 +19396,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3066:17:0", + "src": "3243:17:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 309, + "id": 337, "isConstant": false, "isLValue": true, "isPure": false, @@ -18628,7 +19410,7 @@ "memberName": "x", "nodeType": "MemberAccess", "referencedDeclaration": 37, - "src": "3066:19:0", + "src": "3243:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18638,31 +19420,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 310, + "id": 338, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 283, - "src": "3088:1:0", + "referencedDeclaration": 311, + "src": "3265:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3066:23:0", + "src": "3243:23:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 312, + "id": 340, "nodeType": "ExpressionStatement", - "src": "3066:23:0" + "src": "3243:23:0" }, { "expression": { "argumentTypes": null, - "id": 318, + "id": 346, "isConstant": false, "isLValue": false, "isPure": false, @@ -18673,26 +19455,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 313, + "id": 341, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "3103:6:0", + "src": "3280:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 315, + "id": 343, "indexExpression": { "argumentTypes": null, - "id": 314, + "id": 342, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "3110:9:0", + "src": "3287:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18703,13 +19485,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3103:17:0", + "src": "3280:17:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 316, + "id": 344, "isConstant": false, "isLValue": true, "isPure": false, @@ -18717,7 +19499,7 @@ "memberName": "y", "nodeType": "MemberAccess", "referencedDeclaration": 39, - "src": "3103:19:0", + "src": "3280:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18727,26 +19509,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 317, + "id": 345, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 285, - "src": "3125:1:0", + "referencedDeclaration": 313, + "src": "3302:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3103:23:0", + "src": "3280:23:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 319, + "id": 347, "nodeType": "ExpressionStatement", - "src": "3103:23:0" + "src": "3280:23:0" }, { "condition": { @@ -18755,19 +19537,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 322, + "id": 350, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 320, + "id": 348, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "3144:9:0", + "src": "3321:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18778,14 +19560,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 321, + "id": 349, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3157:1:0", + "src": "3334:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -18793,33 +19575,33 @@ }, "value": "1" }, - "src": "3144:14:0", + "src": "3321:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 349, + "id": 377, "nodeType": "Block", - "src": "3313:120:0", + "src": "3490:120:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 342, + "id": 370, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 339, + "id": 367, "name": "status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "3331:6:0", + "src": "3508:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" @@ -18831,18 +19613,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 340, + "id": 368, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 45, - "src": "3340:6:0", + "src": "3517:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$45_$", "typeString": "type(enum Bridge.Status)" } }, - "id": 341, + "id": 369, "isConstant": false, "isLValue": false, "isPure": true, @@ -18850,21 +19632,21 @@ "memberName": "FUNDS_TRANSFER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3340:21:0", + "src": "3517:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "src": "3331:30:0", + "src": "3508:30:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "id": 343, + "id": 371, "nodeType": "ExpressionStatement", - "src": "3331:30:0" + "src": "3508:30:0" }, { "eventCall": { @@ -18872,12 +19654,12 @@ "arguments": [ { "argumentTypes": null, - "id": 345, + "id": 373, "name": "epoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "3401:5:0", + "src": "3578:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18885,12 +19667,12 @@ }, { "argumentTypes": null, - "id": 346, + "id": 374, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "3408:9:0", + "src": "3585:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18908,18 +19690,18 @@ "typeString": "uint256" } ], - "id": 344, + "id": 372, "name": "NewFundsTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, - "src": "3384:16:0", + "src": "3561:16:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256)" } }, - "id": 347, + "id": 375, "isConstant": false, "isLValue": false, "isPure": false, @@ -18927,42 +19709,42 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3384:34:0", + "src": "3561:34:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 348, + "id": 376, "nodeType": "EmitStatement", - "src": "3379:39:0" + "src": "3556:39:0" } ] }, - "id": 350, + "id": 378, "nodeType": "IfStatement", - "src": "3140:293:0", + "src": "3317:293:0", "trueBody": { - "id": 338, + "id": 366, "nodeType": "Block", - "src": "3160:135:0", + "src": "3337:135:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 326, + "id": 354, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 323, + "id": 351, "name": "status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "3178:6:0", + "src": "3355:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" @@ -18974,18 +19756,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 324, + "id": 352, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 45, - "src": "3187:6:0", + "src": "3364:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$45_$", "typeString": "type(enum Bridge.Status)" } }, - "id": 325, + "id": 353, "isConstant": false, "isLValue": false, "isPure": true, @@ -18993,38 +19775,38 @@ "memberName": "READY", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3187:12:0", + "src": "3364:12:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "src": "3178:21:0", + "src": "3355:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "id": 327, + "id": 355, "nodeType": "ExpressionStatement", - "src": "3178:21:0" + "src": "3355:21:0" }, { "expression": { "argumentTypes": null, - "id": 330, + "id": 358, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 328, + "id": 356, "name": "epoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "3217:5:0", + "src": "3394:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19034,26 +19816,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 329, + "id": 357, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "3225:9:0", + "src": "3402:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3217:17:0", + "src": "3394:17:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 331, + "id": 359, "nodeType": "ExpressionStatement", - "src": "3217:17:0" + "src": "3394:17:0" }, { "eventCall": { @@ -19061,12 +19843,12 @@ "arguments": [ { "argumentTypes": null, - "id": 333, + "id": 361, "name": "epoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "3268:5:0", + "src": "3445:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19074,12 +19856,12 @@ }, { "argumentTypes": null, - "id": 334, + "id": 362, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 283, - "src": "3275:1:0", + "referencedDeclaration": 311, + "src": "3452:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19087,12 +19869,12 @@ }, { "argumentTypes": null, - "id": 335, + "id": 363, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 285, - "src": "3278:1:0", + "referencedDeclaration": 313, + "src": "3455:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19114,18 +19896,18 @@ "typeString": "uint256" } ], - "id": 332, + "id": 360, "name": "EpochStart", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "3257:10:0", + "src": "3434:10:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256,uint256)" } }, - "id": 336, + "id": 364, "isConstant": false, "isLValue": false, "isPure": false, @@ -19133,15 +19915,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3257:23:0", + "src": "3434:23:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 337, + "id": 365, "nodeType": "EmitStatement", - "src": "3252:28:0" + "src": "3429:28:0" } ] } @@ -19152,43 +19934,43 @@ ] }, "documentation": null, - "id": 354, + "id": 382, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 288, + "id": 316, "modifierName": { "argumentTypes": null, - "id": 287, + "id": 315, "name": "keygen", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 196, - "src": "2917:6:0", + "referencedDeclaration": 216, + "src": "3094:6:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2917:6:0" + "src": "3094:6:0" } ], "name": "confirmKeygen", "nodeType": "FunctionDefinition", "parameters": { - "id": 286, + "id": 314, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 283, + "id": 311, "name": "x", "nodeType": "VariableDeclaration", - "scope": 354, - "src": "2894:6:0", + "scope": 382, + "src": "3071:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19196,10 +19978,10 @@ "typeString": "uint256" }, "typeName": { - "id": 282, + "id": 310, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2894:4:0", + "src": "3071:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19210,11 +19992,11 @@ }, { "constant": false, - "id": 285, + "id": 313, "name": "y", "nodeType": "VariableDeclaration", - "scope": 354, - "src": "2902:6:0", + "scope": 382, + "src": "3079:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19222,10 +20004,10 @@ "typeString": "uint256" }, "typeName": { - "id": 284, + "id": 312, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2902:4:0", + "src": "3079:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19235,25 +20017,25 @@ "visibility": "internal" } ], - "src": "2893:16:0" + "src": "3070:16:0" }, "returnParameters": { - "id": 289, + "id": 317, "nodeType": "ParameterList", "parameters": [], - "src": "2924:0:0" + "src": "3101:0:0" }, - "scope": 1110, - "src": "2871:578:0", + "scope": 1138, + "src": "3048:578:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 395, + "id": 423, "nodeType": "Block", - "src": "3525:281:0", + "src": "3702:281:0", "statements": [ { "expression": { @@ -19265,19 +20047,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 364, + "id": 392, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 362, + "id": 390, "name": "epoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "3543:5:0", + "src": "3720:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19288,14 +20070,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 363, + "id": 391, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3551:1:0", + "src": "3728:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -19303,7 +20085,7 @@ }, "value": "0" }, - "src": "3543:9:0", + "src": "3720:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19312,14 +20094,14 @@ { "argumentTypes": null, "hexValue": "46697273742065706f636820646f6573206e6f74206e6565642066756e6473207472616e73666572", - "id": 365, + "id": 393, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3554:42:0", + "src": "3731:42:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_8ddae2cc9da30ed8c59c39c6a950ef823ea484ac89ff6f37abb0317fb5f679a1", @@ -19339,21 +20121,21 @@ "typeString": "literal_string \"First epoch does not need funds transfer\"" } ], - "id": 361, + "id": 389, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 12804, - 12805 + 12832, + 12833 ], - "referencedDeclaration": 12805, - "src": "3535:7:0", + "referencedDeclaration": 12833, + "src": "3712:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 366, + "id": 394, "isConstant": false, "isLValue": false, "isPure": false, @@ -19361,15 +20143,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3535:62:0", + "src": "3712:62:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 367, + "id": 395, "nodeType": "ExpressionStatement", - "src": "3535:62:0" + "src": "3712:62:0" }, { "condition": { @@ -19379,18 +20161,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 369, + "id": 397, "name": "Vote", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 55, - "src": "3623:4:0", + "src": "3800:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Vote_$55_$", "typeString": "type(enum Bridge.Vote)" } }, - "id": 370, + "id": 398, "isConstant": false, "isLValue": false, "isPure": true, @@ -19398,7 +20180,7 @@ "memberName": "CONFIRM_FUNDS_TRANSFER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3623:27:0", + "src": "3800:27:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" @@ -19412,21 +20194,21 @@ "typeString": "enum Bridge.Vote" } ], - "id": 368, + "id": 396, "name": "tryConfirm", "nodeType": "Identifier", "overloadedDeclarations": [ - 956, - 984 + 984, + 1012 ], - "referencedDeclaration": 956, - "src": "3612:10:0", + "referencedDeclaration": 984, + "src": "3789:10:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_enum$_Vote_$55_$returns$_t_bool_$", "typeString": "function (enum Bridge.Vote) returns (bool)" } }, - "id": 371, + "id": 399, "isConstant": false, "isLValue": false, "isPure": false, @@ -19434,37 +20216,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3612:39:0", + "src": "3789:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 394, + "id": 422, "nodeType": "IfStatement", - "src": "3608:192:0", + "src": "3785:192:0", "trueBody": { - "id": 393, + "id": 421, "nodeType": "Block", - "src": "3653:147:0", + "src": "3830:147:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 375, + "id": 403, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 372, + "id": 400, "name": "status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "3667:6:0", + "src": "3844:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" @@ -19476,18 +20258,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 373, + "id": 401, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 45, - "src": "3676:6:0", + "src": "3853:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$45_$", "typeString": "type(enum Bridge.Status)" } }, - "id": 374, + "id": 402, "isConstant": false, "isLValue": false, "isPure": true, @@ -19495,38 +20277,38 @@ "memberName": "READY", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3676:12:0", + "src": "3853:12:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "src": "3667:21:0", + "src": "3844:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "id": 376, + "id": 404, "nodeType": "ExpressionStatement", - "src": "3667:21:0" + "src": "3844:21:0" }, { "expression": { "argumentTypes": null, - "id": 379, + "id": 407, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 377, + "id": 405, "name": "epoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "3702:5:0", + "src": "3879:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19536,26 +20318,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 378, + "id": 406, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "3710:9:0", + "src": "3887:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3702:17:0", + "src": "3879:17:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 380, + "id": 408, "nodeType": "ExpressionStatement", - "src": "3702:17:0" + "src": "3879:17:0" }, { "eventCall": { @@ -19563,12 +20345,12 @@ "arguments": [ { "argumentTypes": null, - "id": 382, + "id": 410, "name": "epoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "3749:5:0", + "src": "3926:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19580,26 +20362,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 383, + "id": 411, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "3756:6:0", + "src": "3933:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 385, + "id": 413, "indexExpression": { "argumentTypes": null, - "id": 384, + "id": 412, "name": "epoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "3763:5:0", + "src": "3940:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19610,13 +20392,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3756:13:0", + "src": "3933:13:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 386, + "id": 414, "isConstant": false, "isLValue": true, "isPure": false, @@ -19624,7 +20406,7 @@ "memberName": "x", "nodeType": "MemberAccess", "referencedDeclaration": 37, - "src": "3756:15:0", + "src": "3933:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19636,26 +20418,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 387, + "id": 415, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "3773:6:0", + "src": "3950:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 389, + "id": 417, "indexExpression": { "argumentTypes": null, - "id": 388, + "id": 416, "name": "epoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "3780:5:0", + "src": "3957:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19666,13 +20448,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3773:13:0", + "src": "3950:13:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 390, + "id": 418, "isConstant": false, "isLValue": true, "isPure": false, @@ -19680,7 +20462,7 @@ "memberName": "y", "nodeType": "MemberAccess", "referencedDeclaration": 39, - "src": "3773:15:0", + "src": "3950:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19702,18 +20484,18 @@ "typeString": "uint256" } ], - "id": 381, + "id": 409, "name": "EpochStart", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "3738:10:0", + "src": "3915:10:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256,uint256)" } }, - "id": 391, + "id": 419, "isConstant": false, "isLValue": false, "isPure": false, @@ -19721,15 +20503,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3738:51:0", + "src": "3915:51:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 392, + "id": 420, "nodeType": "EmitStatement", - "src": "3733:56:0" + "src": "3910:56:0" } ] } @@ -19737,74 +20519,74 @@ ] }, "documentation": null, - "id": 396, + "id": 424, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 357, + "id": 385, "modifierName": { "argumentTypes": null, - "id": 356, + "id": 384, "name": "fundsTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 208, - "src": "3494:13:0", + "referencedDeclaration": 228, + "src": "3671:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3494:13:0" + "src": "3671:13:0" }, { "arguments": null, - "id": 359, + "id": 387, "modifierName": { "argumentTypes": null, - "id": 358, + "id": 386, "name": "currentValidator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 220, - "src": "3508:16:0", + "referencedDeclaration": 240, + "src": "3685:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3508:16:0" + "src": "3685:16:0" } ], "name": "confirmFundsTransfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 355, + "id": 383, "nodeType": "ParameterList", "parameters": [], - "src": "3484:2:0" + "src": "3661:2:0" }, "returnParameters": { - "id": 360, + "id": 388, "nodeType": "ParameterList", "parameters": [], - "src": "3525:0:0" + "src": "3702:0:0" }, - "scope": 1110, - "src": "3455:351:0", + "scope": 1138, + "src": "3632:351:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 405, + "id": 433, "nodeType": "Block", - "src": "3861:41:0", + "src": "4038:41:0", "statements": [ { "expression": { @@ -19812,12 +20594,12 @@ "arguments": [ { "argumentTypes": null, - "id": 402, + "id": 430, "name": "epoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "3889:5:0", + "src": "4066:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19831,21 +20613,21 @@ "typeString": "uint256" } ], - "id": 401, + "id": 429, "name": "getParties", "nodeType": "Identifier", "overloadedDeclarations": [ - 406, - 430 + 434, + 458 ], - "referencedDeclaration": 430, - "src": "3878:10:0", + "referencedDeclaration": 458, + "src": "4055:10:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) view returns (uint256)" } }, - "id": 403, + "id": 431, "isConstant": false, "isLValue": false, "isPure": false, @@ -19853,43 +20635,43 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3878:17:0", + "src": "4055:17:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 400, - "id": 404, + "functionReturnParameters": 428, + "id": 432, "nodeType": "Return", - "src": "3871:24:0" + "src": "4048:24:0" } ] }, "documentation": null, - "id": 406, + "id": 434, "implemented": true, "kind": "function", "modifiers": [], "name": "getParties", "nodeType": "FunctionDefinition", "parameters": { - "id": 397, + "id": 425, "nodeType": "ParameterList", "parameters": [], - "src": "3831:2:0" + "src": "4008:2:0" }, "returnParameters": { - "id": 400, + "id": 428, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 399, + "id": 427, "name": "", "nodeType": "VariableDeclaration", - "scope": 406, - "src": "3855:4:0", + "scope": 434, + "src": "4032:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19897,257 +20679,7 @@ "typeString": "uint256" }, "typeName": { - "id": 398, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3855:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3854:6:0" - }, - "scope": 1110, - "src": "3812:90:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 415, - "nodeType": "Block", - "src": "3961:45:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 412, - "name": "nextEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81, - "src": "3989:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 411, - "name": "getParties", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 406, - 430 - ], - "referencedDeclaration": 430, - "src": "3978:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3978:21:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 410, - "id": 414, - "nodeType": "Return", - "src": "3971:28:0" - } - ] - }, - "documentation": null, - "id": 416, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getNextParties", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 407, - "nodeType": "ParameterList", - "parameters": [], - "src": "3931:2:0" - }, - "returnParameters": { - "id": 410, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 409, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 416, - "src": "3955:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 408, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3955:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3954:6:0" - }, - "scope": 1110, - "src": "3908:98:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 429, - "nodeType": "Block", - "src": "4072:56:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 423, - "name": "states", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 59, - "src": "4089:6:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", - "typeString": "mapping(uint256 => struct Bridge.State storage ref)" - } - }, - "id": 425, - "indexExpression": { - "argumentTypes": null, - "id": 424, - "name": "_epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 418, - "src": "4096:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4089:14:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_State_$40_storage", - "typeString": "struct Bridge.State storage ref" - } - }, - "id": 426, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "validators", - "nodeType": "MemberAccess", - "referencedDeclaration": 33, - "src": "4089:25:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 427, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4089:32:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 422, - "id": 428, - "nodeType": "Return", - "src": "4082:39:0" - } - ] - }, - "documentation": null, - "id": 430, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getParties", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 419, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 418, - "name": "_epoch", - "nodeType": "VariableDeclaration", - "scope": 430, - "src": "4032:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 417, + "id": 426, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4032:4:0", @@ -20160,52 +20692,19 @@ "visibility": "internal" } ], - "src": "4031:13:0" + "src": "4031:6:0" }, - "returnParameters": { - "id": 422, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 421, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 430, - "src": "4066:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 420, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4066:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4065:6:0" - }, - "scope": 1110, - "src": "4012:116:0", + "scope": 1138, + "src": "3989:90:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 439, + "id": 443, "nodeType": "Block", - "src": "4185:43:0", + "src": "4138:45:0", "statements": [ { "expression": { @@ -20213,12 +20712,12 @@ "arguments": [ { "argumentTypes": null, - "id": 436, - "name": "epoch", + "id": 440, + "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 79, - "src": "4215:5:0", + "referencedDeclaration": 81, + "src": "4166:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20232,21 +20731,21 @@ "typeString": "uint256" } ], - "id": 435, - "name": "getThreshold", + "id": 439, + "name": "getParties", "nodeType": "Identifier", "overloadedDeclarations": [ - 440, - 463 + 434, + 458 ], - "referencedDeclaration": 463, - "src": "4202:12:0", + "referencedDeclaration": 458, + "src": "4155:10:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) view returns (uint256)" } }, - "id": 437, + "id": 441, "isConstant": false, "isLValue": false, "isPure": false, @@ -20254,43 +20753,326 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4202:19:0", + "src": "4155:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 434, - "id": 438, + "functionReturnParameters": 438, + "id": 442, "nodeType": "Return", - "src": "4195:26:0" + "src": "4148:28:0" } ] }, "documentation": null, - "id": 440, + "id": 444, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getNextParties", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 435, + "nodeType": "ParameterList", + "parameters": [], + "src": "4108:2:0" + }, + "returnParameters": { + "id": 438, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 437, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 444, + "src": "4132:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 436, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4132:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4131:6:0" + }, + "scope": 1138, + "src": "4085:98:0", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 457, + "nodeType": "Block", + "src": "4249:56:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 451, + "name": "states", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 59, + "src": "4266:6:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", + "typeString": "mapping(uint256 => struct Bridge.State storage ref)" + } + }, + "id": 453, + "indexExpression": { + "argumentTypes": null, + "id": 452, + "name": "_epoch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 446, + "src": "4273:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4266:14:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_State_$40_storage", + "typeString": "struct Bridge.State storage ref" + } + }, + "id": 454, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "validators", + "nodeType": "MemberAccess", + "referencedDeclaration": 33, + "src": "4266:25:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 455, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4266:32:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 450, + "id": 456, + "nodeType": "Return", + "src": "4259:39:0" + } + ] + }, + "documentation": null, + "id": 458, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getParties", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 447, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 446, + "name": "_epoch", + "nodeType": "VariableDeclaration", + "scope": 458, + "src": "4209:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 445, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4209:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4208:13:0" + }, + "returnParameters": { + "id": 450, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 449, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 458, + "src": "4243:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 448, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4243:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4242:6:0" + }, + "scope": 1138, + "src": "4189:116:0", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 467, + "nodeType": "Block", + "src": "4362:43:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 464, + "name": "epoch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79, + "src": "4392:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 463, + "name": "getThreshold", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 468, + 491 + ], + "referencedDeclaration": 491, + "src": "4379:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4379:19:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 462, + "id": 466, + "nodeType": "Return", + "src": "4372:26:0" + } + ] + }, + "documentation": null, + "id": 468, "implemented": true, "kind": "function", "modifiers": [], "name": "getThreshold", "nodeType": "FunctionDefinition", "parameters": { - "id": 431, + "id": 459, "nodeType": "ParameterList", "parameters": [], - "src": "4155:2:0" + "src": "4332:2:0" }, "returnParameters": { - "id": 434, + "id": 462, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 433, + "id": 461, "name": "", "nodeType": "VariableDeclaration", - "scope": 440, - "src": "4179:4:0", + "scope": 468, + "src": "4356:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20298,10 +21080,10 @@ "typeString": "uint256" }, "typeName": { - "id": 432, + "id": 460, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4179:4:0", + "src": "4356:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20311,19 +21093,19 @@ "visibility": "internal" } ], - "src": "4178:6:0" + "src": "4355:6:0" }, - "scope": 1110, - "src": "4134:94:0", + "scope": 1138, + "src": "4311:94:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 449, + "id": 477, "nodeType": "Block", - "src": "4289:47:0", + "src": "4466:47:0", "statements": [ { "expression": { @@ -20331,12 +21113,12 @@ "arguments": [ { "argumentTypes": null, - "id": 446, + "id": 474, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "4319:9:0", + "src": "4496:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20350,21 +21132,21 @@ "typeString": "uint256" } ], - "id": 445, + "id": 473, "name": "getThreshold", "nodeType": "Identifier", "overloadedDeclarations": [ - 440, - 463 + 468, + 491 ], - "referencedDeclaration": 463, - "src": "4306:12:0", + "referencedDeclaration": 491, + "src": "4483:12:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) view returns (uint256)" } }, - "id": 447, + "id": 475, "isConstant": false, "isLValue": false, "isPure": false, @@ -20372,43 +21154,43 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4306:23:0", + "src": "4483:23:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 444, - "id": 448, + "functionReturnParameters": 472, + "id": 476, "nodeType": "Return", - "src": "4299:30:0" + "src": "4476:30:0" } ] }, "documentation": null, - "id": 450, + "id": 478, "implemented": true, "kind": "function", "modifiers": [], "name": "getNextThreshold", "nodeType": "FunctionDefinition", "parameters": { - "id": 441, + "id": 469, "nodeType": "ParameterList", "parameters": [], - "src": "4259:2:0" + "src": "4436:2:0" }, "returnParameters": { - "id": 444, + "id": 472, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 443, + "id": 471, "name": "", "nodeType": "VariableDeclaration", - "scope": 450, - "src": "4283:4:0", + "scope": 478, + "src": "4460:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20416,10 +21198,10 @@ "typeString": "uint256" }, "typeName": { - "id": 442, + "id": 470, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4283:4:0", + "src": "4460:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20429,19 +21211,19 @@ "visibility": "internal" } ], - "src": "4282:6:0" + "src": "4459:6:0" }, - "scope": 1110, - "src": "4234:102:0", + "scope": 1138, + "src": "4411:102:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 462, + "id": 490, "nodeType": "Block", - "src": "4404:48:0", + "src": "4581:48:0", "statements": [ { "expression": { @@ -20450,26 +21232,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 457, + "id": 485, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "4421:6:0", + "src": "4598:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 459, + "id": 487, "indexExpression": { "argumentTypes": null, - "id": 458, + "id": 486, "name": "_epoch", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 452, - "src": "4428:6:0", + "referencedDeclaration": 480, + "src": "4605:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20480,13 +21262,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4421:14:0", + "src": "4598:14:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 460, + "id": 488, "isConstant": false, "isLValue": true, "isPure": false, @@ -20494,37 +21276,37 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 35, - "src": "4421:24:0", + "src": "4598:24:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 456, - "id": 461, + "functionReturnParameters": 484, + "id": 489, "nodeType": "Return", - "src": "4414:31:0" + "src": "4591:31:0" } ] }, "documentation": null, - "id": 463, + "id": 491, "implemented": true, "kind": "function", "modifiers": [], "name": "getThreshold", "nodeType": "FunctionDefinition", "parameters": { - "id": 453, + "id": 481, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 452, + "id": 480, "name": "_epoch", "nodeType": "VariableDeclaration", - "scope": 463, - "src": "4364:11:0", + "scope": 491, + "src": "4541:11:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20532,10 +21314,10 @@ "typeString": "uint256" }, "typeName": { - "id": 451, + "id": 479, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4364:4:0", + "src": "4541:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20545,19 +21327,19 @@ "visibility": "internal" } ], - "src": "4363:13:0" + "src": "4540:13:0" }, "returnParameters": { - "id": 456, + "id": 484, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 455, + "id": 483, "name": "", "nodeType": "VariableDeclaration", - "scope": 463, - "src": "4398:4:0", + "scope": 491, + "src": "4575:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20565,10 +21347,10 @@ "typeString": "uint256" }, "typeName": { - "id": 454, + "id": 482, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4398:4:0", + "src": "4575:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20578,19 +21360,19 @@ "visibility": "internal" } ], - "src": "4397:6:0" + "src": "4574:6:0" }, - "scope": 1110, - "src": "4342:110:0", + "scope": 1138, + "src": "4519:110:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 473, + "id": 501, "nodeType": "Block", - "src": "4501:39:0", + "src": "4678:39:0", "statements": [ { "expression": { @@ -20599,26 +21381,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 468, + "id": 496, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "4518:6:0", + "src": "4695:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 470, + "id": 498, "indexExpression": { "argumentTypes": null, - "id": 469, + "id": 497, "name": "epoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "4525:5:0", + "src": "4702:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20629,13 +21411,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4518:13:0", + "src": "4695:13:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 471, + "id": 499, "isConstant": false, "isLValue": true, "isPure": false, @@ -20643,43 +21425,43 @@ "memberName": "x", "nodeType": "MemberAccess", "referencedDeclaration": 37, - "src": "4518:15:0", + "src": "4695:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 467, - "id": 472, + "functionReturnParameters": 495, + "id": 500, "nodeType": "Return", - "src": "4511:22:0" + "src": "4688:22:0" } ] }, "documentation": null, - "id": 474, + "id": 502, "implemented": true, "kind": "function", "modifiers": [], "name": "getX", "nodeType": "FunctionDefinition", "parameters": { - "id": 464, + "id": 492, "nodeType": "ParameterList", "parameters": [], - "src": "4471:2:0" + "src": "4648:2:0" }, "returnParameters": { - "id": 467, + "id": 495, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 466, + "id": 494, "name": "", "nodeType": "VariableDeclaration", - "scope": 474, - "src": "4495:4:0", + "scope": 502, + "src": "4672:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20687,10 +21469,10 @@ "typeString": "uint256" }, "typeName": { - "id": 465, + "id": 493, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4495:4:0", + "src": "4672:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20700,19 +21482,19 @@ "visibility": "internal" } ], - "src": "4494:6:0" + "src": "4671:6:0" }, - "scope": 1110, - "src": "4458:82:0", + "scope": 1138, + "src": "4635:82:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 484, + "id": 512, "nodeType": "Block", - "src": "4589:39:0", + "src": "4766:39:0", "statements": [ { "expression": { @@ -20721,26 +21503,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 479, + "id": 507, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "4606:6:0", + "src": "4783:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 481, + "id": 509, "indexExpression": { "argumentTypes": null, - "id": 480, + "id": 508, "name": "epoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "4613:5:0", + "src": "4790:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20751,13 +21533,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4606:13:0", + "src": "4783:13:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 482, + "id": 510, "isConstant": false, "isLValue": true, "isPure": false, @@ -20765,43 +21547,43 @@ "memberName": "y", "nodeType": "MemberAccess", "referencedDeclaration": 39, - "src": "4606:15:0", + "src": "4783:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 478, - "id": 483, + "functionReturnParameters": 506, + "id": 511, "nodeType": "Return", - "src": "4599:22:0" + "src": "4776:22:0" } ] }, "documentation": null, - "id": 485, + "id": 513, "implemented": true, "kind": "function", "modifiers": [], "name": "getY", "nodeType": "FunctionDefinition", "parameters": { - "id": 475, + "id": 503, "nodeType": "ParameterList", "parameters": [], - "src": "4559:2:0" + "src": "4736:2:0" }, "returnParameters": { - "id": 478, + "id": 506, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 477, + "id": 505, "name": "", "nodeType": "VariableDeclaration", - "scope": 485, - "src": "4583:4:0", + "scope": 513, + "src": "4760:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20809,10 +21591,10 @@ "typeString": "uint256" }, "typeName": { - "id": 476, + "id": 504, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4583:4:0", + "src": "4760:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20822,32 +21604,32 @@ "visibility": "internal" } ], - "src": "4582:6:0" + "src": "4759:6:0" }, - "scope": 1110, - "src": "4546:82:0", + "scope": 1138, + "src": "4723:82:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 523, + "id": 551, "nodeType": "Block", - "src": "4683:215:0", + "src": "4860:215:0", "statements": [ { "assignments": [ - 493 + 521 ], "declarations": [ { "constant": false, - "id": 493, + "id": 521, "name": "validators", "nodeType": "VariableDeclaration", - "scope": 523, - "src": "4693:27:0", + "scope": 551, + "src": "4870:27:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -20856,19 +21638,19 @@ }, "typeName": { "baseType": { - "id": 491, + "id": 519, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4693:7:0", + "src": "4870:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 492, + "id": 520, "length": null, "nodeType": "ArrayTypeName", - "src": "4693:9:0", + "src": "4870:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -20878,24 +21660,24 @@ "visibility": "internal" } ], - "id": 496, + "id": 524, "initialValue": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], - "id": 494, + "id": 522, "name": "getValidators", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "4723:13:0", + "referencedDeclaration": 604, + "src": "4900:13:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$", "typeString": "function () view returns (address[] memory)" } }, - "id": 495, + "id": 523, "isConstant": false, "isLValue": false, "isPure": false, @@ -20903,20 +21685,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4723:15:0", + "src": "4900:15:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "4693:45:0" + "src": "4870:45:0" }, { "body": { - "id": 519, + "id": 547, "nodeType": "Block", - "src": "4788:86:0", + "src": "4965:86:0", "statements": [ { "condition": { @@ -20925,7 +21707,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 513, + "id": 541, "isConstant": false, "isLValue": false, "isPure": false, @@ -20934,26 +21716,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 508, + "id": 536, "name": "validators", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 493, - "src": "4806:10:0", + "referencedDeclaration": 521, + "src": "4983:10:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 510, + "id": 538, "indexExpression": { "argumentTypes": null, - "id": 509, + "id": 537, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 498, - "src": "4817:1:0", + "referencedDeclaration": 526, + "src": "4994:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20964,7 +21746,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4806:13:0", + "src": "4983:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20976,18 +21758,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 511, + "id": 539, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 12801, - "src": "4823:3:0", + "referencedDeclaration": 12829, + "src": "5000:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 512, + "id": 540, "isConstant": false, "isLValue": false, "isPure": false, @@ -20995,22 +21777,22 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4823:10:0", + "src": "5000:10:0", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "4806:27:0", + "src": "4983:27:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 518, + "id": 546, "nodeType": "IfStatement", - "src": "4802:61:0", + "src": "4979:61:0", "trueBody": { "expression": { "argumentTypes": null, @@ -21018,19 +21800,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 516, + "id": 544, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 514, + "id": 542, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 498, - "src": "4858:1:0", + "referencedDeclaration": 526, + "src": "5035:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21041,14 +21823,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 515, + "id": 543, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4862:1:0", + "src": "5039:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -21056,16 +21838,16 @@ }, "value": "1" }, - "src": "4858:5:0", + "src": "5035:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 489, - "id": 517, + "functionReturnParameters": 517, + "id": 545, "nodeType": "Return", - "src": "4851:12:0" + "src": "5028:12:0" } } ] @@ -21076,19 +21858,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 504, + "id": 532, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 501, + "id": 529, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 498, - "src": "4765:1:0", + "referencedDeclaration": 526, + "src": "4942:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21101,21 +21883,21 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 502, + "id": 530, "name": "getParties", "nodeType": "Identifier", "overloadedDeclarations": [ - 406, - 430 + 434, + 458 ], - "referencedDeclaration": 406, - "src": "4769:10:0", + "referencedDeclaration": 434, + "src": "4946:10:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, - "id": 503, + "id": 531, "isConstant": false, "isLValue": false, "isPure": false, @@ -21123,31 +21905,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4769:12:0", + "src": "4946:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4765:16:0", + "src": "4942:16:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 520, + "id": 548, "initializationExpression": { "assignments": [ - 498 + 526 ], "declarations": [ { "constant": false, - "id": 498, + "id": 526, "name": "i", "nodeType": "VariableDeclaration", - "scope": 520, - "src": "4753:6:0", + "scope": 548, + "src": "4930:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21155,10 +21937,10 @@ "typeString": "uint256" }, "typeName": { - "id": 497, + "id": 525, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4753:4:0", + "src": "4930:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21168,18 +21950,18 @@ "visibility": "internal" } ], - "id": 500, + "id": 528, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 499, + "id": 527, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4762:1:0", + "src": "4939:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -21188,12 +21970,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "4753:10:0" + "src": "4930:10:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 506, + "id": 534, "isConstant": false, "isLValue": false, "isPure": false, @@ -21201,15 +21983,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "4783:3:0", + "src": "4960:3:0", "subExpression": { "argumentTypes": null, - "id": 505, + "id": 533, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 498, - "src": "4783:1:0", + "referencedDeclaration": 526, + "src": "4960:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21220,25 +22002,25 @@ "typeString": "uint256" } }, - "id": 507, + "id": 535, "nodeType": "ExpressionStatement", - "src": "4783:3:0" + "src": "4960:3:0" }, "nodeType": "ForStatement", - "src": "4748:126:0" + "src": "4925:126:0" }, { "expression": { "argumentTypes": null, "hexValue": "30", - "id": 521, + "id": 549, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4890:1:0", + "src": "5067:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -21246,37 +22028,37 @@ }, "value": "0" }, - "functionReturnParameters": 489, - "id": 522, + "functionReturnParameters": 517, + "id": 550, "nodeType": "Return", - "src": "4883:8:0" + "src": "5060:8:0" } ] }, "documentation": null, - "id": 524, + "id": 552, "implemented": true, "kind": "function", "modifiers": [], "name": "getPartyId", "nodeType": "FunctionDefinition", "parameters": { - "id": 486, + "id": 514, "nodeType": "ParameterList", "parameters": [], - "src": "4653:2:0" + "src": "4830:2:0" }, "returnParameters": { - "id": 489, + "id": 517, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 488, + "id": 516, "name": "", "nodeType": "VariableDeclaration", - "scope": 524, - "src": "4677:4:0", + "scope": 552, + "src": "4854:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21284,10 +22066,10 @@ "typeString": "uint256" }, "typeName": { - "id": 487, + "id": 515, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4677:4:0", + "src": "4854:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21297,32 +22079,32 @@ "visibility": "internal" } ], - "src": "4676:6:0" + "src": "4853:6:0" }, - "scope": 1110, - "src": "4634:264:0", + "scope": 1138, + "src": "4811:264:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 563, + "id": 591, "nodeType": "Block", - "src": "4966:214:0", + "src": "5143:214:0", "statements": [ { "assignments": [ - 534 + 562 ], "declarations": [ { "constant": false, - "id": 534, + "id": 562, "name": "validators", "nodeType": "VariableDeclaration", - "scope": 563, - "src": "4976:27:0", + "scope": 591, + "src": "5153:27:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -21331,19 +22113,19 @@ }, "typeName": { "baseType": { - "id": 532, + "id": 560, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4976:7:0", + "src": "5153:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 533, + "id": 561, "length": null, "nodeType": "ArrayTypeName", - "src": "4976:9:0", + "src": "5153:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -21353,24 +22135,24 @@ "visibility": "internal" } ], - "id": 537, + "id": 565, "initialValue": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], - "id": 535, + "id": 563, "name": "getNextValidators", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 588, - "src": "5006:17:0", + "referencedDeclaration": 616, + "src": "5183:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$", "typeString": "function () view returns (address[] memory)" } }, - "id": 536, + "id": 564, "isConstant": false, "isLValue": false, "isPure": false, @@ -21378,20 +22160,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5006:19:0", + "src": "5183:19:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "4976:49:0" + "src": "5153:49:0" }, { "body": { - "id": 559, + "id": 587, "nodeType": "Block", - "src": "5079:77:0", + "src": "5256:77:0", "statements": [ { "condition": { @@ -21400,7 +22182,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 553, + "id": 581, "isConstant": false, "isLValue": false, "isPure": false, @@ -21409,26 +22191,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 549, + "id": 577, "name": "validators", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 534, - "src": "5097:10:0", + "referencedDeclaration": 562, + "src": "5274:10:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 551, + "id": 579, "indexExpression": { "argumentTypes": null, - "id": 550, + "id": 578, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 539, - "src": "5108:1:0", + "referencedDeclaration": 567, + "src": "5285:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21439,7 +22221,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5097:13:0", + "src": "5274:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21449,27 +22231,27 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 552, + "id": 580, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 526, - "src": "5114:1:0", + "referencedDeclaration": 554, + "src": "5291:1:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "5097:18:0", + "src": "5274:18:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 558, + "id": 586, "nodeType": "IfStatement", - "src": "5093:52:0", + "src": "5270:52:0", "trueBody": { "expression": { "argumentTypes": null, @@ -21477,19 +22259,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 556, + "id": 584, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 554, + "id": 582, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 539, - "src": "5140:1:0", + "referencedDeclaration": 567, + "src": "5317:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21500,14 +22282,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 555, + "id": 583, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5144:1:0", + "src": "5321:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -21515,16 +22297,16 @@ }, "value": "1" }, - "src": "5140:5:0", + "src": "5317:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 530, - "id": 557, + "functionReturnParameters": 558, + "id": 585, "nodeType": "Return", - "src": "5133:12:0" + "src": "5310:12:0" } } ] @@ -21535,19 +22317,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 545, + "id": 573, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 542, + "id": 570, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 539, - "src": "5052:1:0", + "referencedDeclaration": 567, + "src": "5229:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21560,18 +22342,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 543, + "id": 571, "name": "getNextParties", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 416, - "src": "5056:14:0", + "referencedDeclaration": 444, + "src": "5233:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, - "id": 544, + "id": 572, "isConstant": false, "isLValue": false, "isPure": false, @@ -21579,31 +22361,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5056:16:0", + "src": "5233:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5052:20:0", + "src": "5229:20:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 560, + "id": 588, "initializationExpression": { "assignments": [ - 539 + 567 ], "declarations": [ { "constant": false, - "id": 539, + "id": 567, "name": "i", "nodeType": "VariableDeclaration", - "scope": 560, - "src": "5040:6:0", + "scope": 588, + "src": "5217:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21611,10 +22393,10 @@ "typeString": "uint256" }, "typeName": { - "id": 538, + "id": 566, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "5040:4:0", + "src": "5217:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21624,18 +22406,18 @@ "visibility": "internal" } ], - "id": 541, + "id": 569, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 540, + "id": 568, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5049:1:0", + "src": "5226:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -21644,12 +22426,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "5040:10:0" + "src": "5217:10:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 547, + "id": 575, "isConstant": false, "isLValue": false, "isPure": false, @@ -21657,15 +22439,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "5074:3:0", + "src": "5251:3:0", "subExpression": { "argumentTypes": null, - "id": 546, + "id": 574, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 539, - "src": "5074:1:0", + "referencedDeclaration": 567, + "src": "5251:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21676,25 +22458,25 @@ "typeString": "uint256" } }, - "id": 548, + "id": 576, "nodeType": "ExpressionStatement", - "src": "5074:3:0" + "src": "5251:3:0" }, "nodeType": "ForStatement", - "src": "5035:121:0" + "src": "5212:121:0" }, { "expression": { "argumentTypes": null, "hexValue": "30", - "id": 561, + "id": 589, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5172:1:0", + "src": "5349:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -21702,31 +22484,31 @@ }, "value": "0" }, - "functionReturnParameters": 530, - "id": 562, + "functionReturnParameters": 558, + "id": 590, "nodeType": "Return", - "src": "5165:8:0" + "src": "5342:8:0" } ] }, "documentation": null, - "id": 564, + "id": 592, "implemented": true, "kind": "function", "modifiers": [], "name": "getNextPartyId", "nodeType": "FunctionDefinition", "parameters": { - "id": 527, + "id": 555, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 526, + "id": 554, "name": "a", "nodeType": "VariableDeclaration", - "scope": 564, - "src": "4928:9:0", + "scope": 592, + "src": "5105:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21734,10 +22516,10 @@ "typeString": "address" }, "typeName": { - "id": 525, + "id": 553, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4928:7:0", + "src": "5105:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -21748,19 +22530,19 @@ "visibility": "internal" } ], - "src": "4927:11:0" + "src": "5104:11:0" }, "returnParameters": { - "id": 530, + "id": 558, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 529, + "id": 557, "name": "", "nodeType": "VariableDeclaration", - "scope": 564, - "src": "4960:4:0", + "scope": 592, + "src": "5137:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21768,10 +22550,10 @@ "typeString": "uint256" }, "typeName": { - "id": 528, + "id": 556, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4960:4:0", + "src": "5137:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21781,19 +22563,19 @@ "visibility": "internal" } ], - "src": "4959:6:0" + "src": "5136:6:0" }, - "scope": 1110, - "src": "4904:276:0", + "scope": 1138, + "src": "5081:276:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 575, + "id": 603, "nodeType": "Block", - "src": "5250:48:0", + "src": "5427:48:0", "statements": [ { "expression": { @@ -21802,26 +22584,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 570, + "id": 598, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "5267:6:0", + "src": "5444:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 572, + "id": 600, "indexExpression": { "argumentTypes": null, - "id": 571, + "id": 599, "name": "epoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "5274:5:0", + "src": "5451:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21832,13 +22614,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5267:13:0", + "src": "5444:13:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 573, + "id": 601, "isConstant": false, "isLValue": true, "isPure": false, @@ -21846,43 +22628,43 @@ "memberName": "validators", "nodeType": "MemberAccess", "referencedDeclaration": 33, - "src": "5267:24:0", + "src": "5444:24:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "functionReturnParameters": 569, - "id": 574, + "functionReturnParameters": 597, + "id": 602, "nodeType": "Return", - "src": "5260:31:0" + "src": "5437:31:0" } ] }, "documentation": null, - "id": 576, + "id": 604, "implemented": true, "kind": "function", "modifiers": [], "name": "getValidators", "nodeType": "FunctionDefinition", "parameters": { - "id": 565, + "id": 593, "nodeType": "ParameterList", "parameters": [], - "src": "5208:2:0" + "src": "5385:2:0" }, "returnParameters": { - "id": 569, + "id": 597, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 568, + "id": 596, "name": "", "nodeType": "VariableDeclaration", - "scope": 576, - "src": "5232:16:0", + "scope": 604, + "src": "5409:16:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -21891,20 +22673,20 @@ }, "typeName": { "baseType": { - "id": 566, + "id": 594, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5232:7:0", + "src": "5409:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 567, + "id": 595, "length": null, "nodeType": "ArrayTypeName", - "src": "5232:9:0", + "src": "5409:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -21914,19 +22696,19 @@ "visibility": "internal" } ], - "src": "5231:18:0" + "src": "5408:18:0" }, - "scope": 1110, - "src": "5186:112:0", + "scope": 1138, + "src": "5363:112:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 587, + "id": 615, "nodeType": "Block", - "src": "5372:52:0", + "src": "5549:52:0", "statements": [ { "expression": { @@ -21935,26 +22717,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 582, + "id": 610, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "5389:6:0", + "src": "5566:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 584, + "id": 612, "indexExpression": { "argumentTypes": null, - "id": 583, + "id": 611, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "5396:9:0", + "src": "5573:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21965,13 +22747,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5389:17:0", + "src": "5566:17:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 585, + "id": 613, "isConstant": false, "isLValue": true, "isPure": false, @@ -21979,43 +22761,43 @@ "memberName": "validators", "nodeType": "MemberAccess", "referencedDeclaration": 33, - "src": "5389:28:0", + "src": "5566:28:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "functionReturnParameters": 581, - "id": 586, + "functionReturnParameters": 609, + "id": 614, "nodeType": "Return", - "src": "5382:35:0" + "src": "5559:35:0" } ] }, "documentation": null, - "id": 588, + "id": 616, "implemented": true, "kind": "function", "modifiers": [], "name": "getNextValidators", "nodeType": "FunctionDefinition", "parameters": { - "id": 577, + "id": 605, "nodeType": "ParameterList", "parameters": [], - "src": "5330:2:0" + "src": "5507:2:0" }, "returnParameters": { - "id": 581, + "id": 609, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 580, + "id": 608, "name": "", "nodeType": "VariableDeclaration", - "scope": 588, - "src": "5354:16:0", + "scope": 616, + "src": "5531:16:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -22024,20 +22806,20 @@ }, "typeName": { "baseType": { - "id": 578, + "id": 606, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5354:7:0", + "src": "5531:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 579, + "id": 607, "length": null, "nodeType": "ArrayTypeName", - "src": "5354:9:0", + "src": "5531:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -22047,19 +22829,19 @@ "visibility": "internal" } ], - "src": "5353:18:0" + "src": "5530:18:0" }, - "scope": 1110, - "src": "5304:120:0", + "scope": 1138, + "src": "5481:120:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 629, + "id": 657, "nodeType": "Block", - "src": "5491:256:0", + "src": "5668:256:0", "statements": [ { "condition": { @@ -22069,18 +22851,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 596, + "id": 624, "name": "Vote", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 55, - "src": "5513:4:0", + "src": "5690:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Vote_$55_$", "typeString": "type(enum Bridge.Vote)" } }, - "id": 597, + "id": 625, "isConstant": false, "isLValue": false, "isPure": true, @@ -22088,7 +22870,7 @@ "memberName": "START_VOTING", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5513:17:0", + "src": "5690:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" @@ -22102,23 +22884,23 @@ "typeString": "enum Bridge.Vote" } ], - "id": 595, + "id": 623, "name": "tryVote", "nodeType": "Identifier", "overloadedDeclarations": [ - 854, - 879, - 904, - 934 + 882, + 907, + 932, + 962 ], - "referencedDeclaration": 854, - "src": "5505:7:0", + "referencedDeclaration": 882, + "src": "5682:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_enum$_Vote_$55_$returns$_t_bool_$", "typeString": "function (enum Bridge.Vote) returns (bool)" } }, - "id": 598, + "id": 626, "isConstant": false, "isLValue": false, "isPure": false, @@ -22126,25 +22908,25 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5505:26:0", + "src": "5682:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 628, + "id": 656, "nodeType": "IfStatement", - "src": "5501:240:0", + "src": "5678:240:0", "trueBody": { - "id": 627, + "id": 655, "nodeType": "Block", - "src": "5533:208:0", + "src": "5710:208:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 600, + "id": 628, "isConstant": false, "isLValue": false, "isPure": false, @@ -22152,15 +22934,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "5547:11:0", + "src": "5724:11:0", "subExpression": { "argumentTypes": null, - "id": 599, + "id": 627, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "5547:9:0", + "src": "5724:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22171,26 +22953,26 @@ "typeString": "uint256" } }, - "id": 601, + "id": 629, "nodeType": "ExpressionStatement", - "src": "5547:11:0" + "src": "5724:11:0" }, { "expression": { "argumentTypes": null, - "id": 605, + "id": 633, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 602, + "id": 630, "name": "status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "5572:6:0", + "src": "5749:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" @@ -22202,18 +22984,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 603, + "id": 631, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 45, - "src": "5581:6:0", + "src": "5758:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$45_$", "typeString": "type(enum Bridge.Status)" } }, - "id": 604, + "id": 632, "isConstant": false, "isLValue": false, "isPure": true, @@ -22221,26 +23003,26 @@ "memberName": "VOTING", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5581:13:0", + "src": "5758:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "src": "5572:22:0", + "src": "5749:22:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "id": 606, + "id": 634, "nodeType": "ExpressionStatement", - "src": "5572:22:0" + "src": "5749:22:0" }, { "expression": { "argumentTypes": null, - "id": 615, + "id": 643, "isConstant": false, "isLValue": false, "isPure": false, @@ -22251,26 +23033,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 607, + "id": 635, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "5608:6:0", + "src": "5785:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 609, + "id": 637, "indexExpression": { "argumentTypes": null, - "id": 608, + "id": 636, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "5615:9:0", + "src": "5792:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22281,13 +23063,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5608:17:0", + "src": "5785:17:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 610, + "id": 638, "isConstant": false, "isLValue": true, "isPure": false, @@ -22295,7 +23077,7 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 35, - "src": "5608:27:0", + "src": "5785:27:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22309,26 +23091,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 611, + "id": 639, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "5638:6:0", + "src": "5815:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 613, + "id": 641, "indexExpression": { "argumentTypes": null, - "id": 612, + "id": 640, "name": "epoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "5645:5:0", + "src": "5822:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22339,13 +23121,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5638:13:0", + "src": "5815:13:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 614, + "id": 642, "isConstant": false, "isLValue": true, "isPure": false, @@ -22353,26 +23135,26 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 35, - "src": "5638:23:0", + "src": "5815:23:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5608:53:0", + "src": "5785:53:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 616, + "id": 644, "nodeType": "ExpressionStatement", - "src": "5608:53:0" + "src": "5785:53:0" }, { "expression": { "argumentTypes": null, - "id": 625, + "id": 653, "isConstant": false, "isLValue": false, "isPure": false, @@ -22383,26 +23165,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 617, + "id": 645, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "5675:6:0", + "src": "5852:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 619, + "id": 647, "indexExpression": { "argumentTypes": null, - "id": 618, + "id": 646, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "5682:9:0", + "src": "5859:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22413,13 +23195,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5675:17:0", + "src": "5852:17:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 620, + "id": 648, "isConstant": false, "isLValue": true, "isPure": false, @@ -22427,7 +23209,7 @@ "memberName": "validators", "nodeType": "MemberAccess", "referencedDeclaration": 33, - "src": "5675:28:0", + "src": "5852:28:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -22441,26 +23223,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 621, + "id": 649, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "5706:6:0", + "src": "5883:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 623, + "id": 651, "indexExpression": { "argumentTypes": null, - "id": 622, + "id": 650, "name": "epoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "5713:5:0", + "src": "5890:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22471,13 +23253,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5706:13:0", + "src": "5883:13:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 624, + "id": 652, "isConstant": false, "isLValue": true, "isPure": false, @@ -22485,21 +23267,21 @@ "memberName": "validators", "nodeType": "MemberAccess", "referencedDeclaration": 33, - "src": "5706:24:0", + "src": "5883:24:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "src": "5675:55:0", + "src": "5852:55:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 626, + "id": 654, "nodeType": "ExpressionStatement", - "src": "5675:55:0" + "src": "5852:55:0" } ] } @@ -22507,74 +23289,74 @@ ] }, "documentation": null, - "id": 630, + "id": 658, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 591, + "id": 619, "modifierName": { "argumentTypes": null, - "id": 590, + "id": 618, "name": "readyOrVoting", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 172, - "src": "5460:13:0", + "referencedDeclaration": 192, + "src": "5637:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "5460:13:0" + "src": "5637:13:0" }, { "arguments": null, - "id": 593, + "id": 621, "modifierName": { "argumentTypes": null, - "id": 592, + "id": 620, "name": "currentValidator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 220, - "src": "5474:16:0", + "referencedDeclaration": 240, + "src": "5651:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "5474:16:0" + "src": "5651:16:0" } ], "name": "startVoting", "nodeType": "FunctionDefinition", "parameters": { - "id": 589, + "id": 617, "nodeType": "ParameterList", "parameters": [], - "src": "5450:2:0" + "src": "5627:2:0" }, "returnParameters": { - "id": 594, + "id": 622, "nodeType": "ParameterList", "parameters": [], - "src": "5491:0:0" + "src": "5668:0:0" }, - "scope": 1110, - "src": "5430:317:0", + "scope": 1138, + "src": "5607:317:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 663, + "id": 691, "nodeType": "Block", - "src": "5829:202:0", + "src": "6006:202:0", "statements": [ { "expression": { @@ -22586,7 +23368,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 644, + "id": 672, "isConstant": false, "isLValue": false, "isPure": false, @@ -22596,12 +23378,12 @@ "arguments": [ { "argumentTypes": null, - "id": 641, + "id": 669, "name": "validator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 632, - "src": "5862:9:0", + "referencedDeclaration": 660, + "src": "6039:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22615,18 +23397,18 @@ "typeString": "address" } ], - "id": 640, + "id": 668, "name": "getNextPartyId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 564, - "src": "5847:14:0", + "referencedDeclaration": 592, + "src": "6024:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view returns (uint256)" } }, - "id": 642, + "id": 670, "isConstant": false, "isLValue": false, "isPure": false, @@ -22634,7 +23416,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5847:25:0", + "src": "6024:25:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22645,14 +23427,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 643, + "id": 671, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5876:1:0", + "src": "6053:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -22660,7 +23442,7 @@ }, "value": "0" }, - "src": "5847:30:0", + "src": "6024:30:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22669,14 +23451,14 @@ { "argumentTypes": null, "hexValue": "416c726561647920612076616c696461746f72", - "id": 645, + "id": 673, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5879:21:0", + "src": "6056:21:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_aeb0fe100da2796aa6136a3b1c66282f002b435141be331237dfa7127e6df6ff", @@ -22696,21 +23478,21 @@ "typeString": "literal_string \"Already a validator\"" } ], - "id": 639, + "id": 667, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 12804, - 12805 + 12832, + 12833 ], - "referencedDeclaration": 12805, - "src": "5839:7:0", + "referencedDeclaration": 12833, + "src": "6016:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 646, + "id": 674, "isConstant": false, "isLValue": false, "isPure": false, @@ -22718,15 +23500,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5839:62:0", + "src": "6016:62:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 647, + "id": 675, "nodeType": "ExpressionStatement", - "src": "5839:62:0" + "src": "6016:62:0" }, { "condition": { @@ -22736,18 +23518,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 649, + "id": 677, "name": "Vote", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 55, - "src": "5924:4:0", + "src": "6101:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Vote_$55_$", "typeString": "type(enum Bridge.Vote)" } }, - "id": 650, + "id": 678, "isConstant": false, "isLValue": false, "isPure": true, @@ -22755,7 +23537,7 @@ "memberName": "ADD_VALIDATOR", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5924:18:0", + "src": "6101:18:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" @@ -22763,12 +23545,12 @@ }, { "argumentTypes": null, - "id": 651, + "id": 679, "name": "validator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 632, - "src": "5944:9:0", + "referencedDeclaration": 660, + "src": "6121:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22786,23 +23568,23 @@ "typeString": "address" } ], - "id": 648, + "id": 676, "name": "tryVote", "nodeType": "Identifier", "overloadedDeclarations": [ - 854, - 879, - 904, - 934 + 882, + 907, + 932, + 962 ], - "referencedDeclaration": 879, - "src": "5916:7:0", + "referencedDeclaration": 907, + "src": "6093:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_enum$_Vote_$55_$_t_address_$returns$_t_bool_$", "typeString": "function (enum Bridge.Vote,address) returns (bool)" } }, - "id": 652, + "id": 680, "isConstant": false, "isLValue": false, "isPure": false, @@ -22810,20 +23592,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5916:38:0", + "src": "6093:38:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 662, + "id": 690, "nodeType": "IfStatement", - "src": "5912:113:0", + "src": "6089:113:0", "trueBody": { - "id": 661, + "id": 689, "nodeType": "Block", - "src": "5956:69:0", + "src": "6133:69:0", "statements": [ { "expression": { @@ -22831,12 +23613,12 @@ "arguments": [ { "argumentTypes": null, - "id": 658, + "id": 686, "name": "validator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 632, - "src": "6004:9:0", + "referencedDeclaration": 660, + "src": "6181:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22856,26 +23638,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 653, + "id": 681, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "5970:6:0", + "src": "6147:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 655, + "id": 683, "indexExpression": { "argumentTypes": null, - "id": 654, + "id": 682, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "5977:9:0", + "src": "6154:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22886,13 +23668,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5970:17:0", + "src": "6147:17:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 656, + "id": 684, "isConstant": false, "isLValue": true, "isPure": false, @@ -22900,13 +23682,13 @@ "memberName": "validators", "nodeType": "MemberAccess", "referencedDeclaration": 33, - "src": "5970:28:0", + "src": "6147:28:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 657, + "id": 685, "isConstant": false, "isLValue": false, "isPure": false, @@ -22914,13 +23696,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5970:33:0", + "src": "6147:33:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) returns (uint256)" } }, - "id": 659, + "id": 687, "isConstant": false, "isLValue": false, "isPure": false, @@ -22928,15 +23710,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5970:44:0", + "src": "6147:44:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 660, + "id": 688, "nodeType": "ExpressionStatement", - "src": "5970:44:0" + "src": "6147:44:0" } ] } @@ -22944,62 +23726,62 @@ ] }, "documentation": null, - "id": 664, + "id": 692, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 635, + "id": 663, "modifierName": { "argumentTypes": null, - "id": 634, + "id": 662, "name": "voting", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 184, - "src": "5805:6:0", + "referencedDeclaration": 204, + "src": "5982:6:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "5805:6:0" + "src": "5982:6:0" }, { "arguments": null, - "id": 637, + "id": 665, "modifierName": { "argumentTypes": null, - "id": 636, + "id": 664, "name": "currentValidator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 220, - "src": "5812:16:0", + "referencedDeclaration": 240, + "src": "5989:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "5812:16:0" + "src": "5989:16:0" } ], "name": "voteAddValidator", "nodeType": "FunctionDefinition", "parameters": { - "id": 633, + "id": 661, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 632, + "id": 660, "name": "validator", "nodeType": "VariableDeclaration", - "scope": 664, - "src": "5779:17:0", + "scope": 692, + "src": "5956:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23007,10 +23789,10 @@ "typeString": "address" }, "typeName": { - "id": 631, + "id": 659, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5779:7:0", + "src": "5956:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -23021,25 +23803,25 @@ "visibility": "internal" } ], - "src": "5778:19:0" + "src": "5955:19:0" }, "returnParameters": { - "id": 638, + "id": 666, "nodeType": "ParameterList", "parameters": [], - "src": "5829:0:0" + "src": "6006:0:0" }, - "scope": 1110, - "src": "5753:278:0", + "scope": 1138, + "src": "5930:278:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 693, + "id": 721, "nodeType": "Block", - "src": "6116:192:0", + "src": "6293:192:0", "statements": [ { "expression": { @@ -23051,7 +23833,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 678, + "id": 706, "isConstant": false, "isLValue": false, "isPure": false, @@ -23061,12 +23843,12 @@ "arguments": [ { "argumentTypes": null, - "id": 675, + "id": 703, "name": "validator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 666, - "src": "6149:9:0", + "referencedDeclaration": 694, + "src": "6326:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23080,18 +23862,18 @@ "typeString": "address" } ], - "id": 674, + "id": 702, "name": "getNextPartyId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 564, - "src": "6134:14:0", + "referencedDeclaration": 592, + "src": "6311:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view returns (uint256)" } }, - "id": 676, + "id": 704, "isConstant": false, "isLValue": false, "isPure": false, @@ -23099,7 +23881,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6134:25:0", + "src": "6311:25:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23110,14 +23892,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 677, + "id": 705, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6163:1:0", + "src": "6340:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -23125,7 +23907,7 @@ }, "value": "0" }, - "src": "6134:30:0", + "src": "6311:30:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23134,14 +23916,14 @@ { "argumentTypes": null, "hexValue": "416c7265616479206e6f7420612076616c696461746f72", - "id": 679, + "id": 707, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6166:25:0", + "src": "6343:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_2332ed568e8af3d64f1f2b0b098c504cab97ba4128fb9f08cfa3f851ced05961", @@ -23161,21 +23943,21 @@ "typeString": "literal_string \"Already not a validator\"" } ], - "id": 673, + "id": 701, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 12804, - 12805 + 12832, + 12833 ], - "referencedDeclaration": 12805, - "src": "6126:7:0", + "referencedDeclaration": 12833, + "src": "6303:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 680, + "id": 708, "isConstant": false, "isLValue": false, "isPure": false, @@ -23183,15 +23965,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6126:66:0", + "src": "6303:66:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 681, + "id": 709, "nodeType": "ExpressionStatement", - "src": "6126:66:0" + "src": "6303:66:0" }, { "condition": { @@ -23201,18 +23983,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 683, + "id": 711, "name": "Vote", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 55, - "src": "6215:4:0", + "src": "6392:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Vote_$55_$", "typeString": "type(enum Bridge.Vote)" } }, - "id": 684, + "id": 712, "isConstant": false, "isLValue": false, "isPure": true, @@ -23220,7 +24002,7 @@ "memberName": "REMOVE_VALIDATOR", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6215:21:0", + "src": "6392:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" @@ -23228,12 +24010,12 @@ }, { "argumentTypes": null, - "id": 685, + "id": 713, "name": "validator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 666, - "src": "6238:9:0", + "referencedDeclaration": 694, + "src": "6415:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23251,23 +24033,23 @@ "typeString": "address" } ], - "id": 682, + "id": 710, "name": "tryVote", "nodeType": "Identifier", "overloadedDeclarations": [ - 854, - 879, - 904, - 934 + 882, + 907, + 932, + 962 ], - "referencedDeclaration": 879, - "src": "6207:7:0", + "referencedDeclaration": 907, + "src": "6384:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_enum$_Vote_$55_$_t_address_$returns$_t_bool_$", "typeString": "function (enum Bridge.Vote,address) returns (bool)" } }, - "id": 686, + "id": 714, "isConstant": false, "isLValue": false, "isPure": false, @@ -23275,20 +24057,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6207:41:0", + "src": "6384:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 692, + "id": 720, "nodeType": "IfStatement", - "src": "6203:99:0", + "src": "6380:99:0", "trueBody": { - "id": 691, + "id": 719, "nodeType": "Block", - "src": "6250:52:0", + "src": "6427:52:0", "statements": [ { "expression": { @@ -23296,12 +24078,12 @@ "arguments": [ { "argumentTypes": null, - "id": 688, + "id": 716, "name": "validator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 666, - "src": "6281:9:0", + "referencedDeclaration": 694, + "src": "6458:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23315,18 +24097,18 @@ "typeString": "address" } ], - "id": 687, + "id": 715, "name": "_removeValidator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 761, - "src": "6264:16:0", + "referencedDeclaration": 789, + "src": "6441:16:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 689, + "id": 717, "isConstant": false, "isLValue": false, "isPure": false, @@ -23334,15 +24116,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6264:27:0", + "src": "6441:27:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 690, + "id": 718, "nodeType": "ExpressionStatement", - "src": "6264:27:0" + "src": "6441:27:0" } ] } @@ -23350,62 +24132,62 @@ ] }, "documentation": null, - "id": 694, + "id": 722, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 669, + "id": 697, "modifierName": { "argumentTypes": null, - "id": 668, + "id": 696, "name": "voting", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 184, - "src": "6092:6:0", + "referencedDeclaration": 204, + "src": "6269:6:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "6092:6:0" + "src": "6269:6:0" }, { "arguments": null, - "id": 671, + "id": 699, "modifierName": { "argumentTypes": null, - "id": 670, + "id": 698, "name": "currentValidator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 220, - "src": "6099:16:0", + "referencedDeclaration": 240, + "src": "6276:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "6099:16:0" + "src": "6276:16:0" } ], "name": "voteRemoveValidator", "nodeType": "FunctionDefinition", "parameters": { - "id": 667, + "id": 695, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 666, + "id": 694, "name": "validator", "nodeType": "VariableDeclaration", - "scope": 694, - "src": "6066:17:0", + "scope": 722, + "src": "6243:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23413,10 +24195,10 @@ "typeString": "address" }, "typeName": { - "id": 665, + "id": 693, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6066:7:0", + "src": "6243:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -23427,31 +24209,31 @@ "visibility": "internal" } ], - "src": "6065:19:0" + "src": "6242:19:0" }, "returnParameters": { - "id": 672, + "id": 700, "nodeType": "ParameterList", "parameters": [], - "src": "6116:0:0" + "src": "6293:0:0" }, - "scope": 1110, - "src": "6037:271:0", + "scope": 1138, + "src": "6214:271:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 760, + "id": 788, "nodeType": "Block", - "src": "6367:392:0", + "src": "6544:392:0", "statements": [ { "body": { - "id": 740, + "id": 768, "nodeType": "Block", - "src": "6425:214:0", + "src": "6602:214:0", "statements": [ { "condition": { @@ -23460,7 +24242,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 719, + "id": 747, "isConstant": false, "isLValue": false, "isPure": false, @@ -23473,26 +24255,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 712, + "id": 740, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "6443:6:0", + "src": "6620:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 714, + "id": 742, "indexExpression": { "argumentTypes": null, - "id": 713, + "id": 741, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "6450:9:0", + "src": "6627:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23503,13 +24285,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6443:17:0", + "src": "6620:17:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 715, + "id": 743, "isConstant": false, "isLValue": true, "isPure": false, @@ -23517,21 +24299,21 @@ "memberName": "validators", "nodeType": "MemberAccess", "referencedDeclaration": 33, - "src": "6443:28:0", + "src": "6620:28:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 717, + "id": 745, "indexExpression": { "argumentTypes": null, - "id": 716, + "id": 744, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 700, - "src": "6472:1:0", + "referencedDeclaration": 728, + "src": "6649:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23542,7 +24324,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6443:31:0", + "src": "6620:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23552,36 +24334,36 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 718, + "id": 746, "name": "validator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 696, - "src": "6478:9:0", + "referencedDeclaration": 724, + "src": "6655:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "6443:44:0", + "src": "6620:44:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 739, + "id": 767, "nodeType": "IfStatement", - "src": "6439:190:0", + "src": "6616:190:0", "trueBody": { - "id": 738, + "id": 766, "nodeType": "Block", - "src": "6489:140:0", + "src": "6666:140:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 735, + "id": 763, "isConstant": false, "isLValue": false, "isPure": false, @@ -23594,26 +24376,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 720, + "id": 748, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "6507:6:0", + "src": "6684:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 722, + "id": 750, "indexExpression": { "argumentTypes": null, - "id": 721, + "id": 749, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "6514:9:0", + "src": "6691:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23624,13 +24406,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6507:17:0", + "src": "6684:17:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 723, + "id": 751, "isConstant": false, "isLValue": true, "isPure": false, @@ -23638,21 +24420,21 @@ "memberName": "validators", "nodeType": "MemberAccess", "referencedDeclaration": 33, - "src": "6507:28:0", + "src": "6684:28:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 725, + "id": 753, "indexExpression": { "argumentTypes": null, - "id": 724, + "id": 752, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 700, - "src": "6536:1:0", + "referencedDeclaration": 728, + "src": "6713:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23663,7 +24445,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6507:31:0", + "src": "6684:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23679,26 +24461,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 726, + "id": 754, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "6541:6:0", + "src": "6718:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 728, + "id": 756, "indexExpression": { "argumentTypes": null, - "id": 727, + "id": 755, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "6548:9:0", + "src": "6725:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23709,13 +24491,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6541:17:0", + "src": "6718:17:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 729, + "id": 757, "isConstant": false, "isLValue": true, "isPure": false, @@ -23723,20 +24505,20 @@ "memberName": "validators", "nodeType": "MemberAccess", "referencedDeclaration": 33, - "src": "6541:28:0", + "src": "6718:28:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 734, + "id": 762, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 733, + "id": 761, "isConstant": false, "isLValue": false, "isPure": false, @@ -23746,18 +24528,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 730, + "id": 758, "name": "getNextParties", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 416, - "src": "6570:14:0", + "referencedDeclaration": 444, + "src": "6747:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, - "id": 731, + "id": 759, "isConstant": false, "isLValue": false, "isPure": false, @@ -23765,7 +24547,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6570:16:0", + "src": "6747:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23776,14 +24558,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 732, + "id": 760, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6589:1:0", + "src": "6766:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -23791,7 +24573,7 @@ }, "value": "1" }, - "src": "6570:20:0", + "src": "6747:20:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23802,26 +24584,26 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6541:50:0", + "src": "6718:50:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "6507:84:0", + "src": "6684:84:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 736, + "id": 764, "nodeType": "ExpressionStatement", - "src": "6507:84:0" + "src": "6684:84:0" }, { - "id": 737, + "id": 765, "nodeType": "Break", - "src": "6609:5:0" + "src": "6786:5:0" } ] } @@ -23834,19 +24616,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 708, + "id": 736, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 703, + "id": 731, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 700, - "src": "6394:1:0", + "referencedDeclaration": 728, + "src": "6571:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23860,7 +24642,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 707, + "id": 735, "isConstant": false, "isLValue": false, "isPure": false, @@ -23870,18 +24652,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 704, + "id": 732, "name": "getNextParties", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 416, - "src": "6398:14:0", + "referencedDeclaration": 444, + "src": "6575:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, - "id": 705, + "id": 733, "isConstant": false, "isLValue": false, "isPure": false, @@ -23889,7 +24671,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6398:16:0", + "src": "6575:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23900,14 +24682,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 706, + "id": 734, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6417:1:0", + "src": "6594:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -23915,31 +24697,31 @@ }, "value": "1" }, - "src": "6398:20:0", + "src": "6575:20:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6394:24:0", + "src": "6571:24:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 741, + "id": 769, "initializationExpression": { "assignments": [ - 700 + 728 ], "declarations": [ { "constant": false, - "id": 700, + "id": 728, "name": "i", "nodeType": "VariableDeclaration", - "scope": 741, - "src": "6382:6:0", + "scope": 769, + "src": "6559:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23947,10 +24729,10 @@ "typeString": "uint256" }, "typeName": { - "id": 699, + "id": 727, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "6382:4:0", + "src": "6559:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23960,18 +24742,18 @@ "visibility": "internal" } ], - "id": 702, + "id": 730, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 701, + "id": 729, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6391:1:0", + "src": "6568:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -23980,12 +24762,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "6382:10:0" + "src": "6559:10:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 710, + "id": 738, "isConstant": false, "isLValue": false, "isPure": false, @@ -23993,15 +24775,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "6420:3:0", + "src": "6597:3:0", "subExpression": { "argumentTypes": null, - "id": 709, + "id": 737, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 700, - "src": "6420:1:0", + "referencedDeclaration": 728, + "src": "6597:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24012,17 +24794,17 @@ "typeString": "uint256" } }, - "id": 711, + "id": 739, "nodeType": "ExpressionStatement", - "src": "6420:3:0" + "src": "6597:3:0" }, "nodeType": "ForStatement", - "src": "6377:262:0" + "src": "6554:262:0" }, { "expression": { "argumentTypes": null, - "id": 751, + "id": 779, "isConstant": false, "isLValue": false, "isPure": false, @@ -24030,7 +24812,7 @@ "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, - "src": "6648:57:0", + "src": "6825:57:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -24039,26 +24821,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 742, + "id": 770, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "6655:6:0", + "src": "6832:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 744, + "id": 772, "indexExpression": { "argumentTypes": null, - "id": 743, + "id": 771, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "6662:9:0", + "src": "6839:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24069,13 +24851,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6655:17:0", + "src": "6832:17:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 745, + "id": 773, "isConstant": false, "isLValue": true, "isPure": false, @@ -24083,20 +24865,20 @@ "memberName": "validators", "nodeType": "MemberAccess", "referencedDeclaration": 33, - "src": "6655:28:0", + "src": "6832:28:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 750, + "id": 778, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 749, + "id": 777, "isConstant": false, "isLValue": false, "isPure": false, @@ -24106,18 +24888,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 746, + "id": 774, "name": "getNextParties", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 416, - "src": "6684:14:0", + "referencedDeclaration": 444, + "src": "6861:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, - "id": 747, + "id": 775, "isConstant": false, "isLValue": false, "isPure": false, @@ -24125,7 +24907,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6684:16:0", + "src": "6861:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24136,14 +24918,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 748, + "id": 776, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6703:1:0", + "src": "6880:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -24151,7 +24933,7 @@ }, "value": "1" }, - "src": "6684:20:0", + "src": "6861:20:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24162,7 +24944,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6655:50:0", + "src": "6832:50:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24173,14 +24955,14 @@ "typeString": "tuple()" } }, - "id": 752, + "id": 780, "nodeType": "ExpressionStatement", - "src": "6648:57:0" + "src": "6825:57:0" }, { "expression": { "argumentTypes": null, - "id": 758, + "id": 786, "isConstant": false, "isLValue": false, "isPure": false, @@ -24188,7 +24970,7 @@ "nodeType": "UnaryOperation", "operator": "--", "prefix": false, - "src": "6715:37:0", + "src": "6892:37:0", "subExpression": { "argumentTypes": null, "expression": { @@ -24197,26 +24979,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 753, + "id": 781, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "6715:6:0", + "src": "6892:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 755, + "id": 783, "indexExpression": { "argumentTypes": null, - "id": 754, + "id": 782, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "6722:9:0", + "src": "6899:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24227,13 +25009,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6715:17:0", + "src": "6892:17:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 756, + "id": 784, "isConstant": false, "isLValue": true, "isPure": false, @@ -24241,13 +25023,13 @@ "memberName": "validators", "nodeType": "MemberAccess", "referencedDeclaration": 33, - "src": "6715:28:0", + "src": "6892:28:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 757, + "id": 785, "isConstant": false, "isLValue": true, "isPure": false, @@ -24255,7 +25037,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6715:35:0", + "src": "6892:35:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24266,30 +25048,30 @@ "typeString": "uint256" } }, - "id": 759, + "id": 787, "nodeType": "ExpressionStatement", - "src": "6715:37:0" + "src": "6892:37:0" } ] }, "documentation": null, - "id": 761, + "id": 789, "implemented": true, "kind": "function", "modifiers": [], "name": "_removeValidator", "nodeType": "FunctionDefinition", "parameters": { - "id": 697, + "id": 725, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 696, + "id": 724, "name": "validator", "nodeType": "VariableDeclaration", - "scope": 761, - "src": "6340:17:0", + "scope": 789, + "src": "6517:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24297,10 +25079,10 @@ "typeString": "address" }, "typeName": { - "id": 695, + "id": 723, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6340:7:0", + "src": "6517:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -24311,25 +25093,25 @@ "visibility": "internal" } ], - "src": "6339:19:0" + "src": "6516:19:0" }, "returnParameters": { - "id": 698, + "id": 726, "nodeType": "ParameterList", "parameters": [], - "src": "6367:0:0" + "src": "6544:0:0" }, - "scope": 1110, - "src": "6314:445:0", + "scope": 1138, + "src": "6491:445:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 784, + "id": 812, "nodeType": "Block", - "src": "6841:127:0", + "src": "7018:127:0", "statements": [ { "condition": { @@ -24339,18 +25121,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 771, + "id": 799, "name": "Vote", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 55, - "src": "6863:4:0", + "src": "7040:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Vote_$55_$", "typeString": "type(enum Bridge.Vote)" } }, - "id": 772, + "id": 800, "isConstant": false, "isLValue": false, "isPure": true, @@ -24358,7 +25140,7 @@ "memberName": "CHANGE_THRESHOLD", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6863:21:0", + "src": "7040:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" @@ -24366,12 +25148,12 @@ }, { "argumentTypes": null, - "id": 773, + "id": 801, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 763, - "src": "6886:9:0", + "referencedDeclaration": 791, + "src": "7063:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24389,23 +25171,23 @@ "typeString": "uint256" } ], - "id": 770, + "id": 798, "name": "tryVote", "nodeType": "Identifier", "overloadedDeclarations": [ - 854, - 879, - 904, - 934 + 882, + 907, + 932, + 962 ], - "referencedDeclaration": 904, - "src": "6855:7:0", + "referencedDeclaration": 932, + "src": "7032:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_enum$_Vote_$55_$_t_uint256_$returns$_t_bool_$", "typeString": "function (enum Bridge.Vote,uint256) returns (bool)" } }, - "id": 774, + "id": 802, "isConstant": false, "isLValue": false, "isPure": false, @@ -24413,25 +25195,25 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6855:41:0", + "src": "7032:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 783, + "id": 811, "nodeType": "IfStatement", - "src": "6851:111:0", + "src": "7028:111:0", "trueBody": { - "id": 782, + "id": 810, "nodeType": "Block", - "src": "6898:64:0", + "src": "7075:64:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 780, + "id": 808, "isConstant": false, "isLValue": false, "isPure": false, @@ -24442,26 +25224,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 775, + "id": 803, "name": "states", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 59, - "src": "6912:6:0", + "src": "7089:6:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_State_$40_storage_$", "typeString": "mapping(uint256 => struct Bridge.State storage ref)" } }, - "id": 777, + "id": 805, "indexExpression": { "argumentTypes": null, - "id": 776, + "id": 804, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "6919:9:0", + "src": "7096:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24472,13 +25254,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6912:17:0", + "src": "7089:17:0", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$40_storage", "typeString": "struct Bridge.State storage ref" } }, - "id": 778, + "id": 806, "isConstant": false, "isLValue": true, "isPure": false, @@ -24486,7 +25268,7 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 35, - "src": "6912:27:0", + "src": "7089:27:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24496,26 +25278,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 779, + "id": 807, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 763, - "src": "6942:9:0", + "referencedDeclaration": 791, + "src": "7119:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6912:39:0", + "src": "7089:39:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 781, + "id": 809, "nodeType": "ExpressionStatement", - "src": "6912:39:0" + "src": "7089:39:0" } ] } @@ -24523,62 +25305,62 @@ ] }, "documentation": null, - "id": 785, + "id": 813, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 766, + "id": 794, "modifierName": { "argumentTypes": null, - "id": 765, + "id": 793, "name": "voting", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 184, - "src": "6817:6:0", + "referencedDeclaration": 204, + "src": "6994:6:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "6817:6:0" + "src": "6994:6:0" }, { "arguments": null, - "id": 768, + "id": 796, "modifierName": { "argumentTypes": null, - "id": 767, + "id": 795, "name": "currentValidator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 220, - "src": "6824:16:0", + "referencedDeclaration": 240, + "src": "7001:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "6824:16:0" + "src": "7001:16:0" } ], "name": "voteChangeThreshold", "nodeType": "FunctionDefinition", "parameters": { - "id": 764, + "id": 792, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 763, + "id": 791, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 785, - "src": "6794:14:0", + "scope": 813, + "src": "6971:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24586,10 +25368,10 @@ "typeString": "uint256" }, "typeName": { - "id": 762, + "id": 790, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "6794:4:0", + "src": "6971:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24599,25 +25381,25 @@ "visibility": "internal" } ], - "src": "6793:16:0" + "src": "6970:16:0" }, "returnParameters": { - "id": 769, + "id": 797, "nodeType": "ParameterList", "parameters": [], - "src": "6841:0:0" + "src": "7018:0:0" }, - "scope": 1110, - "src": "6765:203:0", + "scope": 1138, + "src": "6942:203:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 808, + "id": 836, "nodeType": "Block", - "src": "7032:141:0", + "src": "7209:141:0", "statements": [ { "condition": { @@ -24627,18 +25409,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 793, + "id": 821, "name": "Vote", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 55, - "src": "7054:4:0", + "src": "7231:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Vote_$55_$", "typeString": "type(enum Bridge.Vote)" } }, - "id": 794, + "id": 822, "isConstant": false, "isLValue": false, "isPure": true, @@ -24646,7 +25428,7 @@ "memberName": "START_KEYGEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7054:17:0", + "src": "7231:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" @@ -24660,23 +25442,23 @@ "typeString": "enum Bridge.Vote" } ], - "id": 792, + "id": 820, "name": "tryVote", "nodeType": "Identifier", "overloadedDeclarations": [ - 854, - 879, - 904, - 934 + 882, + 907, + 932, + 962 ], - "referencedDeclaration": 854, - "src": "7046:7:0", + "referencedDeclaration": 882, + "src": "7223:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_enum$_Vote_$55_$returns$_t_bool_$", "typeString": "function (enum Bridge.Vote) returns (bool)" } }, - "id": 795, + "id": 823, "isConstant": false, "isLValue": false, "isPure": false, @@ -24684,37 +25466,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7046:26:0", + "src": "7223:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 807, + "id": 835, "nodeType": "IfStatement", - "src": "7042:125:0", + "src": "7219:125:0", "trueBody": { - "id": 806, + "id": 834, "nodeType": "Block", - "src": "7074:93:0", + "src": "7251:93:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 799, + "id": 827, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 796, + "id": 824, "name": "status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "7088:6:0", + "src": "7265:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" @@ -24726,18 +25508,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 797, + "id": 825, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 45, - "src": "7097:6:0", + "src": "7274:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$45_$", "typeString": "type(enum Bridge.Status)" } }, - "id": 798, + "id": 826, "isConstant": false, "isLValue": false, "isPure": true, @@ -24745,21 +25527,21 @@ "memberName": "KEYGEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7097:13:0", + "src": "7274:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "src": "7088:22:0", + "src": "7265:22:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "id": 800, + "id": 828, "nodeType": "ExpressionStatement", - "src": "7088:22:0" + "src": "7265:22:0" }, { "eventCall": { @@ -24767,12 +25549,12 @@ "arguments": [ { "argumentTypes": null, - "id": 802, + "id": 830, "name": "epoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "7139:5:0", + "src": "7316:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24780,12 +25562,12 @@ }, { "argumentTypes": null, - "id": 803, + "id": 831, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "7146:9:0", + "src": "7323:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24803,18 +25585,18 @@ "typeString": "uint256" } ], - "id": 801, + "id": 829, "name": "NewEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "7130:8:0", + "src": "7307:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256)" } }, - "id": 804, + "id": 832, "isConstant": false, "isLValue": false, "isPure": false, @@ -24822,15 +25604,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7130:26:0", + "src": "7307:26:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 805, + "id": 833, "nodeType": "EmitStatement", - "src": "7125:31:0" + "src": "7302:31:0" } ] } @@ -24838,74 +25620,74 @@ ] }, "documentation": null, - "id": 809, + "id": 837, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 788, + "id": 816, "modifierName": { "argumentTypes": null, - "id": 787, + "id": 815, "name": "voting", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 184, - "src": "7008:6:0", + "referencedDeclaration": 204, + "src": "7185:6:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "7008:6:0" + "src": "7185:6:0" }, { "arguments": null, - "id": 790, + "id": 818, "modifierName": { "argumentTypes": null, - "id": 789, + "id": 817, "name": "currentValidator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 220, - "src": "7015:16:0", + "referencedDeclaration": 240, + "src": "7192:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "7015:16:0" + "src": "7192:16:0" } ], "name": "voteStartKeygen", "nodeType": "FunctionDefinition", "parameters": { - "id": 786, + "id": 814, "nodeType": "ParameterList", "parameters": [], - "src": "6998:2:0" + "src": "7175:2:0" }, "returnParameters": { - "id": 791, + "id": 819, "nodeType": "ParameterList", "parameters": [], - "src": "7032:0:0" + "src": "7209:0:0" }, - "scope": 1110, - "src": "6974:199:0", + "scope": 1138, + "src": "7151:199:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 831, + "id": 859, "nodeType": "Block", - "src": "7238:144:0", + "src": "7415:144:0", "statements": [ { "condition": { @@ -24915,18 +25697,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 817, + "id": 845, "name": "Vote", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 55, - "src": "7260:4:0", + "src": "7437:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Vote_$55_$", "typeString": "type(enum Bridge.Vote)" } }, - "id": 818, + "id": 846, "isConstant": false, "isLValue": false, "isPure": true, @@ -24934,7 +25716,7 @@ "memberName": "CANCEL_KEYGEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7260:18:0", + "src": "7437:18:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" @@ -24948,23 +25730,23 @@ "typeString": "enum Bridge.Vote" } ], - "id": 816, + "id": 844, "name": "tryVote", "nodeType": "Identifier", "overloadedDeclarations": [ - 854, - 879, - 904, - 934 + 882, + 907, + 932, + 962 ], - "referencedDeclaration": 854, - "src": "7252:7:0", + "referencedDeclaration": 882, + "src": "7429:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_enum$_Vote_$55_$returns$_t_bool_$", "typeString": "function (enum Bridge.Vote) returns (bool)" } }, - "id": 819, + "id": 847, "isConstant": false, "isLValue": false, "isPure": false, @@ -24972,37 +25754,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7252:27:0", + "src": "7429:27:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 830, + "id": 858, "nodeType": "IfStatement", - "src": "7248:128:0", + "src": "7425:128:0", "trueBody": { - "id": 829, + "id": 857, "nodeType": "Block", - "src": "7281:95:0", + "src": "7458:95:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 823, + "id": 851, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 820, + "id": 848, "name": "status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "7295:6:0", + "src": "7472:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" @@ -25014,18 +25796,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 821, + "id": 849, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 45, - "src": "7304:6:0", + "src": "7481:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$45_$", "typeString": "type(enum Bridge.Status)" } }, - "id": 822, + "id": 850, "isConstant": false, "isLValue": false, "isPure": true, @@ -25033,21 +25815,21 @@ "memberName": "VOTING", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7304:13:0", + "src": "7481:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "src": "7295:22:0", + "src": "7472:22:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$45", "typeString": "enum Bridge.Status" } }, - "id": 824, + "id": 852, "nodeType": "ExpressionStatement", - "src": "7295:22:0" + "src": "7472:22:0" }, { "eventCall": { @@ -25055,12 +25837,12 @@ "arguments": [ { "argumentTypes": null, - "id": 826, + "id": 854, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "7355:9:0", + "src": "7532:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25074,18 +25856,18 @@ "typeString": "uint256" } ], - "id": 825, + "id": 853, "name": "NewEpochCancelled", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 16, - "src": "7337:17:0", + "src": "7514:17:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 827, + "id": 855, "isConstant": false, "isLValue": false, "isPure": false, @@ -25093,15 +25875,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7337:28:0", + "src": "7514:28:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 828, + "id": 856, "nodeType": "EmitStatement", - "src": "7332:33:0" + "src": "7509:33:0" } ] } @@ -25109,87 +25891,87 @@ ] }, "documentation": null, - "id": 832, + "id": 860, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 812, + "id": 840, "modifierName": { "argumentTypes": null, - "id": 811, + "id": 839, "name": "keygen", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 196, - "src": "7214:6:0", + "referencedDeclaration": 216, + "src": "7391:6:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "7214:6:0" + "src": "7391:6:0" }, { "arguments": null, - "id": 814, + "id": 842, "modifierName": { "argumentTypes": null, - "id": 813, + "id": 841, "name": "currentValidator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 220, - "src": "7221:16:0", + "referencedDeclaration": 240, + "src": "7398:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "7221:16:0" + "src": "7398:16:0" } ], "name": "voteCancelKeygen", "nodeType": "FunctionDefinition", "parameters": { - "id": 810, + "id": 838, "nodeType": "ParameterList", "parameters": [], - "src": "7204:2:0" + "src": "7381:2:0" }, "returnParameters": { - "id": 815, + "id": 843, "nodeType": "ParameterList", "parameters": [], - "src": "7238:0:0" + "src": "7415:0:0" }, - "scope": 1110, - "src": "7179:203:0", + "scope": 1138, + "src": "7356:203:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 853, + "id": 881, "nodeType": "Block", - "src": "7443:110:0", + "src": "7620:110:0", "statements": [ { "assignments": [ - 840 + 868 ], "declarations": [ { "constant": false, - "id": 840, + "id": 868, "name": "vote", "nodeType": "VariableDeclaration", - "scope": 853, - "src": "7453:12:0", + "scope": 881, + "src": "7630:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25197,10 +25979,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 839, + "id": 867, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7453:7:0", + "src": "7630:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25210,7 +25992,7 @@ "visibility": "internal" } ], - "id": 848, + "id": 876, "initialValue": { "argumentTypes": null, "arguments": [ @@ -25219,12 +26001,12 @@ "arguments": [ { "argumentTypes": null, - "id": 844, + "id": 872, "name": "voteType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 834, - "src": "7495:8:0", + "referencedDeclaration": 862, + "src": "7672:8:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" @@ -25232,12 +26014,12 @@ }, { "argumentTypes": null, - "id": 845, + "id": 873, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "7505:9:0", + "src": "7682:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25257,18 +26039,18 @@ ], "expression": { "argumentTypes": null, - "id": 842, + "id": 870, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 12788, - "src": "7478:3:0", + "referencedDeclaration": 12816, + "src": "7655:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 843, + "id": 871, "isConstant": false, "isLValue": false, "isPure": true, @@ -25276,13 +26058,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7478:16:0", + "src": "7655:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 846, + "id": 874, "isConstant": false, "isLValue": false, "isPure": false, @@ -25290,7 +26072,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7478:37:0", + "src": "7655:37:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -25304,18 +26086,18 @@ "typeString": "bytes memory" } ], - "id": 841, + "id": 869, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 12795, - "src": "7468:9:0", + "referencedDeclaration": 12823, + "src": "7645:9:0", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 847, + "id": 875, "isConstant": false, "isLValue": false, "isPure": false, @@ -25323,14 +26105,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7468:48:0", + "src": "7645:48:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "7453:63:0" + "src": "7630:63:0" }, { "expression": { @@ -25338,12 +26120,12 @@ "arguments": [ { "argumentTypes": null, - "id": 850, + "id": 878, "name": "vote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 840, - "src": "7541:4:0", + "referencedDeclaration": 868, + "src": "7718:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25357,18 +26139,18 @@ "typeString": "bytes32" } ], - "id": 849, + "id": 877, "name": "putVote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1038, - "src": "7533:7:0", + "referencedDeclaration": 1066, + "src": "7710:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$_t_bool_$", "typeString": "function (bytes32) returns (bool)" } }, - "id": 851, + "id": 879, "isConstant": false, "isLValue": false, "isPure": false, @@ -25376,37 +26158,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7533:13:0", + "src": "7710:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 838, - "id": 852, + "functionReturnParameters": 866, + "id": 880, "nodeType": "Return", - "src": "7526:20:0" + "src": "7703:20:0" } ] }, "documentation": null, - "id": 854, + "id": 882, "implemented": true, "kind": "function", "modifiers": [], "name": "tryVote", "nodeType": "FunctionDefinition", "parameters": { - "id": 835, + "id": 863, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 834, + "id": 862, "name": "voteType", "nodeType": "VariableDeclaration", - "scope": 854, - "src": "7405:13:0", + "scope": 882, + "src": "7582:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25415,11 +26197,11 @@ }, "typeName": { "contractScope": null, - "id": 833, + "id": 861, "name": "Vote", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 55, - "src": "7405:4:0", + "src": "7582:4:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" @@ -25429,19 +26211,19 @@ "visibility": "internal" } ], - "src": "7404:15:0" + "src": "7581:15:0" }, "returnParameters": { - "id": 838, + "id": 866, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 837, + "id": 865, "name": "", "nodeType": "VariableDeclaration", - "scope": 854, - "src": "7437:4:0", + "scope": 882, + "src": "7614:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25449,10 +26231,10 @@ "typeString": "bool" }, "typeName": { - "id": 836, + "id": 864, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7437:4:0", + "src": "7614:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25462,32 +26244,32 @@ "visibility": "internal" } ], - "src": "7436:6:0" + "src": "7613:6:0" }, - "scope": 1110, - "src": "7388:165:0", + "scope": 1138, + "src": "7565:165:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 878, + "id": 906, "nodeType": "Block", - "src": "7628:116:0", + "src": "7805:116:0", "statements": [ { "assignments": [ - 864 + 892 ], "declarations": [ { "constant": false, - "id": 864, + "id": 892, "name": "vote", "nodeType": "VariableDeclaration", - "scope": 878, - "src": "7638:12:0", + "scope": 906, + "src": "7815:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25495,10 +26277,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 863, + "id": 891, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7638:7:0", + "src": "7815:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25508,7 +26290,7 @@ "visibility": "internal" } ], - "id": 873, + "id": 901, "initialValue": { "argumentTypes": null, "arguments": [ @@ -25517,12 +26299,12 @@ "arguments": [ { "argumentTypes": null, - "id": 868, + "id": 896, "name": "voteType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 856, - "src": "7680:8:0", + "referencedDeclaration": 884, + "src": "7857:8:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" @@ -25530,12 +26312,12 @@ }, { "argumentTypes": null, - "id": 869, + "id": 897, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "7690:9:0", + "src": "7867:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25543,12 +26325,12 @@ }, { "argumentTypes": null, - "id": 870, + "id": 898, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 858, - "src": "7701:4:0", + "referencedDeclaration": 886, + "src": "7878:4:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25571,361 +26353,19 @@ } ], "expression": { - "argumentTypes": null, - "id": 866, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12788, - "src": "7663:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 867, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7663:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7663:43:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 865, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12795, - "src": "7653:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7653:54:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7638:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 875, - "name": "vote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 864, - "src": "7732:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 874, - "name": "putVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1038, - "src": "7724:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) returns (bool)" - } - }, - "id": 876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7724:13:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 862, - "id": 877, - "nodeType": "Return", - "src": "7717:20:0" - } - ] - }, - "documentation": null, - "id": 879, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 859, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 856, - "name": "voteType", - "nodeType": "VariableDeclaration", - "scope": 879, - "src": "7576:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Vote_$55", - "typeString": "enum Bridge.Vote" - }, - "typeName": { - "contractScope": null, - "id": 855, - "name": "Vote", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 55, - "src": "7576:4:0", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Vote_$55", - "typeString": "enum Bridge.Vote" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 858, - "name": "addr", - "nodeType": "VariableDeclaration", - "scope": 879, - "src": "7591:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 857, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7591:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7575:29:0" - }, - "returnParameters": { - "id": 862, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 861, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 879, - "src": "7622:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 860, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7622:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7621:6:0" - }, - "scope": 1110, - "src": "7559:185:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 903, - "nodeType": "Block", - "src": "7815:115:0", - "statements": [ - { - "assignments": [ - 889 - ], - "declarations": [ - { - "constant": false, - "id": 889, - "name": "vote", - "nodeType": "VariableDeclaration", - "scope": 903, - "src": "7825:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 888, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7825:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 898, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 893, - "name": "voteType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 881, - "src": "7867:8:0", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Vote_$55", - "typeString": "enum Bridge.Vote" - } - }, - { "argumentTypes": null, "id": 894, - "name": "nextEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81, - "src": "7877:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 895, - "name": "num", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 883, - "src": "7888:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_enum$_Vote_$55", - "typeString": "enum Bridge.Vote" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 891, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 12788, - "src": "7850:3:0", + "referencedDeclaration": 12816, + "src": "7840:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 892, + "id": 895, "isConstant": false, "isLValue": false, "isPure": true, @@ -25933,13 +26373,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7850:16:0", + "src": "7840:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 896, + "id": 899, "isConstant": false, "isLValue": false, "isPure": false, @@ -25947,7 +26387,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7850:42:0", + "src": "7840:43:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -25961,18 +26401,18 @@ "typeString": "bytes memory" } ], - "id": 890, + "id": 893, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 12795, - "src": "7840:9:0", + "referencedDeclaration": 12823, + "src": "7830:9:0", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 897, + "id": 900, "isConstant": false, "isLValue": false, "isPure": false, @@ -25980,14 +26420,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7840:53:0", + "src": "7830:54:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "7825:68:0" + "src": "7815:69:0" }, { "expression": { @@ -25995,12 +26435,12 @@ "arguments": [ { "argumentTypes": null, - "id": 900, + "id": 903, "name": "vote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 889, - "src": "7918:4:0", + "referencedDeclaration": 892, + "src": "7909:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26014,18 +26454,18 @@ "typeString": "bytes32" } ], - "id": 899, + "id": 902, "name": "putVote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1038, - "src": "7910:7:0", + "referencedDeclaration": 1066, + "src": "7901:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$_t_bool_$", "typeString": "function (bytes32) returns (bool)" } }, - "id": 901, + "id": 904, "isConstant": false, "isLValue": false, "isPure": false, @@ -26033,395 +26473,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7910:13:0", + "src": "7901:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 887, - "id": 902, + "functionReturnParameters": 890, + "id": 905, "nodeType": "Return", - "src": "7903:20:0" + "src": "7894:20:0" } ] }, "documentation": null, - "id": 904, + "id": 907, "implemented": true, "kind": "function", "modifiers": [], "name": "tryVote", "nodeType": "FunctionDefinition", "parameters": { - "id": 884, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 881, - "name": "voteType", - "nodeType": "VariableDeclaration", - "scope": 904, - "src": "7767:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Vote_$55", - "typeString": "enum Bridge.Vote" - }, - "typeName": { - "contractScope": null, - "id": 880, - "name": "Vote", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 55, - "src": "7767:4:0", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Vote_$55", - "typeString": "enum Bridge.Vote" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 883, - "name": "num", - "nodeType": "VariableDeclaration", - "scope": 904, - "src": "7782:8:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 882, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7782:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7766:25:0" - }, - "returnParameters": { "id": 887, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 886, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 904, - "src": "7809:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 885, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7809:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7808:6:0" - }, - "scope": 1110, - "src": "7750:180:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 933, - "nodeType": "Block", - "src": "8029:116:0", - "statements": [ - { - "assignments": [ - 918 - ], - "declarations": [ - { - "constant": false, - "id": 918, - "name": "vote", - "nodeType": "VariableDeclaration", - "scope": 933, - "src": "8039:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 917, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8039:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 928, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 922, - "name": "voteType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 906, - "src": "8081:8:0", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Vote_$55", - "typeString": "enum Bridge.Vote" - } - }, - { - "argumentTypes": null, - "id": 923, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 908, - "src": "8091:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 924, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 910, - "src": "8097:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 925, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "8101:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_enum$_Vote_$55", - "typeString": "enum Bridge.Vote" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 920, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12788, - "src": "8064:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 921, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8064:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8064:43:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 919, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12795, - "src": "8054:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8054:54:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8039:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 930, - "name": "vote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 918, - "src": "8133:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 929, - "name": "putVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1038, - "src": "8125:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) returns (bool)" - } - }, - "id": 931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8125:13:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 916, - "id": 932, - "nodeType": "Return", - "src": "8118:20:0" - } - ] - }, - "documentation": null, - "id": 934, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 913, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 906, + "id": 884, "name": "voteType", "nodeType": "VariableDeclaration", - "scope": 934, - "src": "7953:13:0", + "scope": 907, + "src": "7753:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26430,11 +26512,11 @@ }, "typeName": { "contractScope": null, - "id": 905, + "id": 883, "name": "Vote", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 55, - "src": "7953:4:0", + "src": "7753:4:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" @@ -26445,37 +26527,11 @@ }, { "constant": false, - "id": 908, - "name": "hash", + "id": 886, + "name": "addr", "nodeType": "VariableDeclaration", - "scope": 934, - "src": "7968:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 907, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7968:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 910, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 934, - "src": "7982:10:0", + "scope": 907, + "src": "7768:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26483,10 +26539,10 @@ "typeString": "address" }, "typeName": { - "id": 909, + "id": 885, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7982:7:0", + "src": "7768:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -26495,47 +26551,21 @@ }, "value": null, "visibility": "internal" - }, - { - "constant": false, - "id": 912, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 934, - "src": "7994:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 911, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7994:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" } ], - "src": "7952:53:0" + "src": "7752:29:0" }, "returnParameters": { - "id": 916, + "id": 890, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 915, + "id": 889, "name": "", "nodeType": "VariableDeclaration", - "scope": 934, - "src": "8023:4:0", + "scope": 907, + "src": "7799:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26543,10 +26573,10 @@ "typeString": "bool" }, "typeName": { - "id": 914, + "id": 888, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "8023:4:0", + "src": "7799:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26556,32 +26586,32 @@ "visibility": "internal" } ], - "src": "8022:6:0" + "src": "7798:6:0" }, - "scope": 1110, - "src": "7936:209:0", + "scope": 1138, + "src": "7736:185:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 955, + "id": 931, "nodeType": "Block", - "src": "8209:113:0", + "src": "7992:115:0", "statements": [ { "assignments": [ - 942 + 917 ], "declarations": [ { "constant": false, - "id": 942, + "id": 917, "name": "vote", "nodeType": "VariableDeclaration", - "scope": 955, - "src": "8219:12:0", + "scope": 931, + "src": "8002:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26589,10 +26619,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 941, + "id": 916, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8219:7:0", + "src": "8002:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26602,7 +26632,7 @@ "visibility": "internal" } ], - "id": 950, + "id": 926, "initialValue": { "argumentTypes": null, "arguments": [ @@ -26611,12 +26641,12 @@ "arguments": [ { "argumentTypes": null, - "id": 946, + "id": 921, "name": "voteType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 936, - "src": "8261:8:0", + "referencedDeclaration": 909, + "src": "8044:8:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" @@ -26624,12 +26654,25 @@ }, { "argumentTypes": null, - "id": 947, + "id": 922, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "8271:9:0", + "src": "8054:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 923, + "name": "num", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 911, + "src": "8065:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26642,6 +26685,10 @@ "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26649,18 +26696,18 @@ ], "expression": { "argumentTypes": null, - "id": 944, + "id": 919, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 12788, - "src": "8244:3:0", + "referencedDeclaration": 12816, + "src": "8027:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 945, + "id": 920, "isConstant": false, "isLValue": false, "isPure": true, @@ -26668,13 +26715,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8244:16:0", + "src": "8027:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 948, + "id": 924, "isConstant": false, "isLValue": false, "isPure": false, @@ -26682,7 +26729,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8244:37:0", + "src": "8027:42:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -26696,18 +26743,18 @@ "typeString": "bytes memory" } ], - "id": 943, + "id": 918, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 12795, - "src": "8234:9:0", + "referencedDeclaration": 12823, + "src": "8017:9:0", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 949, + "id": 925, "isConstant": false, "isLValue": false, "isPure": false, @@ -26715,14 +26762,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8234:48:0", + "src": "8017:53:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "8219:63:0" + "src": "8002:68:0" }, { "expression": { @@ -26730,11 +26777,369 @@ "arguments": [ { "argumentTypes": null, - "id": 952, + "id": 928, "name": "vote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 942, + "referencedDeclaration": 917, + "src": "8095:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 927, + "name": "putVote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1066, + "src": "8087:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) returns (bool)" + } + }, + "id": 929, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8087:13:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 915, + "id": 930, + "nodeType": "Return", + "src": "8080:20:0" + } + ] + }, + "documentation": null, + "id": 932, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tryVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 912, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 909, + "name": "voteType", + "nodeType": "VariableDeclaration", + "scope": 932, + "src": "7944:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Vote_$55", + "typeString": "enum Bridge.Vote" + }, + "typeName": { + "contractScope": null, + "id": 908, + "name": "Vote", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 55, + "src": "7944:4:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Vote_$55", + "typeString": "enum Bridge.Vote" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 911, + "name": "num", + "nodeType": "VariableDeclaration", + "scope": 932, + "src": "7959:8:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 910, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7959:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7943:25:0" + }, + "returnParameters": { + "id": 915, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 914, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 932, + "src": "7986:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 913, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7986:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7985:6:0" + }, + "scope": 1138, + "src": "7927:180:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 961, + "nodeType": "Block", + "src": "8206:116:0", + "statements": [ + { + "assignments": [ + 946 + ], + "declarations": [ + { + "constant": false, + "id": 946, + "name": "vote", + "nodeType": "VariableDeclaration", + "scope": 961, + "src": "8216:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 945, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8216:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 956, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 950, + "name": "voteType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 934, + "src": "8258:8:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Vote_$55", + "typeString": "enum Bridge.Vote" + } + }, + { + "argumentTypes": null, + "id": 951, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 936, + "src": "8268:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 952, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 938, + "src": "8274:2:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 953, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 940, + "src": "8278:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_Vote_$55", + "typeString": "enum Bridge.Vote" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 948, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12816, + "src": "8241:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 949, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8241:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 954, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8241:43:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 947, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12823, + "src": "8231:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8231:54:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8216:69:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 958, + "name": "vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 946, "src": "8310:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -26749,18 +27154,18 @@ "typeString": "bytes32" } ], - "id": 951, - "name": "putConfirm", + "id": 957, + "name": "putVote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1092, - "src": "8299:10:0", + "referencedDeclaration": 1066, + "src": "8302:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$_t_bool_$", "typeString": "function (bytes32) returns (bool)" } }, - "id": 953, + "id": 959, "isConstant": false, "isLValue": false, "isPure": false, @@ -26768,37 +27173,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8299:16:0", + "src": "8302:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 940, - "id": 954, + "functionReturnParameters": 944, + "id": 960, "nodeType": "Return", - "src": "8292:23:0" + "src": "8295:20:0" } ] }, "documentation": null, - "id": 956, + "id": 962, "implemented": true, "kind": "function", "modifiers": [], - "name": "tryConfirm", + "name": "tryVote", "nodeType": "FunctionDefinition", "parameters": { - "id": 937, + "id": 941, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 936, + "id": 934, "name": "voteType", "nodeType": "VariableDeclaration", - "scope": 956, - "src": "8171:13:0", + "scope": 962, + "src": "8130:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26807,11 +27212,11 @@ }, "typeName": { "contractScope": null, - "id": 935, + "id": 933, "name": "Vote", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 55, - "src": "8171:4:0", + "src": "8130:4:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" @@ -26819,21 +27224,100 @@ }, "value": null, "visibility": "internal" + }, + { + "constant": false, + "id": 936, + "name": "hash", + "nodeType": "VariableDeclaration", + "scope": 962, + "src": "8145:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 935, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8145:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 938, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 962, + "src": "8159:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 937, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8159:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 940, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 962, + "src": "8171:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 939, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8171:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" } ], - "src": "8170:15:0" + "src": "8129:53:0" }, "returnParameters": { - "id": 940, + "id": 944, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 939, + "id": 943, "name": "", "nodeType": "VariableDeclaration", - "scope": 956, - "src": "8203:4:0", + "scope": 962, + "src": "8200:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26841,10 +27325,10 @@ "typeString": "bool" }, "typeName": { - "id": 938, + "id": 942, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "8203:4:0", + "src": "8200:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26854,10 +27338,10 @@ "visibility": "internal" } ], - "src": "8202:6:0" + "src": "8199:6:0" }, - "scope": 1110, - "src": "8151:171:0", + "scope": 1138, + "src": "8113:209:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -26866,20 +27350,20 @@ "body": { "id": 983, "nodeType": "Block", - "src": "8402:119:0", + "src": "8386:113:0", "statements": [ { "assignments": [ - 968 + 970 ], "declarations": [ { "constant": false, - "id": 968, + "id": 970, "name": "vote", "nodeType": "VariableDeclaration", "scope": 983, - "src": "8412:12:0", + "src": "8396:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26887,10 +27371,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 967, + "id": 969, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8412:7:0", + "src": "8396:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26909,12 +27393,12 @@ "arguments": [ { "argumentTypes": null, - "id": 972, + "id": 974, "name": "voteType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 958, - "src": "8454:8:0", + "referencedDeclaration": 964, + "src": "8438:8:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" @@ -26922,12 +27406,310 @@ }, { "argumentTypes": null, - "id": 973, + "id": 975, "name": "nextEpoch", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "8464:9:0", + "src": "8448:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_Vote_$55", + "typeString": "enum Bridge.Vote" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 972, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12816, + "src": "8421:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 973, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8421:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8421:37:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 971, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12823, + "src": "8411:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8411:48:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8396:63:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 980, + "name": "vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 970, + "src": "8487:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 979, + "name": "putConfirm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1120, + "src": "8476:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) returns (bool)" + } + }, + "id": 981, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8476:16:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 968, + "id": 982, + "nodeType": "Return", + "src": "8469:23:0" + } + ] + }, + "documentation": null, + "id": 984, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tryConfirm", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 965, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 964, + "name": "voteType", + "nodeType": "VariableDeclaration", + "scope": 984, + "src": "8348:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Vote_$55", + "typeString": "enum Bridge.Vote" + }, + "typeName": { + "contractScope": null, + "id": 963, + "name": "Vote", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 55, + "src": "8348:4:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Vote_$55", + "typeString": "enum Bridge.Vote" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8347:15:0" + }, + "returnParameters": { + "id": 968, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 967, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 984, + "src": "8380:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 966, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8380:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8379:6:0" + }, + "scope": 1138, + "src": "8328:171:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 1011, + "nodeType": "Block", + "src": "8579:119:0", + "statements": [ + { + "assignments": [ + 996 + ], + "declarations": [ + { + "constant": false, + "id": 996, + "name": "vote", + "nodeType": "VariableDeclaration", + "scope": 1011, + "src": "8589:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 995, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8589:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1006, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1000, + "name": "voteType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 986, + "src": "8631:8:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Vote_$55", + "typeString": "enum Bridge.Vote" + } + }, + { + "argumentTypes": null, + "id": 1001, + "name": "nextEpoch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "8641:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26935,12 +27717,12 @@ }, { "argumentTypes": null, - "id": 974, + "id": 1002, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 960, - "src": "8475:1:0", + "referencedDeclaration": 988, + "src": "8652:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26948,12 +27730,12 @@ }, { "argumentTypes": null, - "id": 975, + "id": 1003, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 962, - "src": "8478:1:0", + "referencedDeclaration": 990, + "src": "8655:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26981,18 +27763,18 @@ ], "expression": { "argumentTypes": null, - "id": 970, + "id": 998, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 12788, - "src": "8437:3:0", + "referencedDeclaration": 12816, + "src": "8614:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 971, + "id": 999, "isConstant": false, "isLValue": false, "isPure": true, @@ -27000,13 +27782,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8437:16:0", + "src": "8614:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 976, + "id": 1004, "isConstant": false, "isLValue": false, "isPure": false, @@ -27014,7 +27796,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8437:43:0", + "src": "8614:43:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -27028,18 +27810,18 @@ "typeString": "bytes memory" } ], - "id": 969, + "id": 997, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 12795, - "src": "8427:9:0", + "referencedDeclaration": 12823, + "src": "8604:9:0", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 977, + "id": 1005, "isConstant": false, "isLValue": false, "isPure": false, @@ -27047,14 +27829,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8427:54:0", + "src": "8604:54:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "8412:69:0" + "src": "8589:69:0" }, { "expression": { @@ -27062,12 +27844,12 @@ "arguments": [ { "argumentTypes": null, - "id": 980, + "id": 1008, "name": "vote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 968, - "src": "8509:4:0", + "referencedDeclaration": 996, + "src": "8686:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -27081,18 +27863,18 @@ "typeString": "bytes32" } ], - "id": 979, + "id": 1007, "name": "putConfirm", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1092, - "src": "8498:10:0", + "referencedDeclaration": 1120, + "src": "8675:10:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$_t_bool_$", "typeString": "function (bytes32) returns (bool)" } }, - "id": 981, + "id": 1009, "isConstant": false, "isLValue": false, "isPure": false, @@ -27100,37 +27882,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8498:16:0", + "src": "8675:16:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 966, - "id": 982, + "functionReturnParameters": 994, + "id": 1010, "nodeType": "Return", - "src": "8491:23:0" + "src": "8668:23:0" } ] }, "documentation": null, - "id": 984, + "id": 1012, "implemented": true, "kind": "function", "modifiers": [], "name": "tryConfirm", "nodeType": "FunctionDefinition", "parameters": { - "id": 963, + "id": 991, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 958, + "id": 986, "name": "voteType", "nodeType": "VariableDeclaration", - "scope": 984, - "src": "8348:13:0", + "scope": 1012, + "src": "8525:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27139,11 +27921,11 @@ }, "typeName": { "contractScope": null, - "id": 957, + "id": 985, "name": "Vote", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 55, - "src": "8348:4:0", + "src": "8525:4:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Vote_$55", "typeString": "enum Bridge.Vote" @@ -27154,11 +27936,11 @@ }, { "constant": false, - "id": 960, + "id": 988, "name": "x", "nodeType": "VariableDeclaration", - "scope": 984, - "src": "8363:6:0", + "scope": 1012, + "src": "8540:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27166,10 +27948,10 @@ "typeString": "uint256" }, "typeName": { - "id": 959, + "id": 987, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "8363:4:0", + "src": "8540:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27180,11 +27962,11 @@ }, { "constant": false, - "id": 962, + "id": 990, "name": "y", "nodeType": "VariableDeclaration", - "scope": 984, - "src": "8371:6:0", + "scope": 1012, + "src": "8548:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27192,10 +27974,10 @@ "typeString": "uint256" }, "typeName": { - "id": 961, + "id": 989, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "8371:4:0", + "src": "8548:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27205,19 +27987,19 @@ "visibility": "internal" } ], - "src": "8347:31:0" + "src": "8524:31:0" }, "returnParameters": { - "id": 966, + "id": 994, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 965, + "id": 993, "name": "", "nodeType": "VariableDeclaration", - "scope": 984, - "src": "8396:4:0", + "scope": 1012, + "src": "8573:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27225,10 +28007,10 @@ "typeString": "bool" }, "typeName": { - "id": 964, + "id": 992, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "8396:4:0", + "src": "8573:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27238,32 +28020,32 @@ "visibility": "internal" } ], - "src": "8395:6:0" + "src": "8572:6:0" }, - "scope": 1110, - "src": "8328:193:0", + "scope": 1138, + "src": "8505:193:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1037, + "id": 1065, "nodeType": "Block", - "src": "8581:355:0", + "src": "8758:355:0", "statements": [ { "assignments": [ - 992 + 1020 ], "declarations": [ { "constant": false, - "id": 992, + "id": 1020, "name": "personalVote", "nodeType": "VariableDeclaration", - "scope": 1037, - "src": "8591:20:0", + "scope": 1065, + "src": "8768:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27271,10 +28053,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 991, + "id": 1019, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8591:7:0", + "src": "8768:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -27284,18 +28066,18 @@ "visibility": "internal" } ], - "id": 996, + "id": 1024, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 994, + "id": 1022, "name": "vote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 986, - "src": "8630:4:0", + "referencedDeclaration": 1014, + "src": "8807:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -27309,18 +28091,18 @@ "typeString": "bytes32" } ], - "id": 993, + "id": 1021, "name": "personalizeVote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1109, - "src": "8614:15:0", + "referencedDeclaration": 1137, + "src": "8791:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (bytes32) view returns (bytes32)" } }, - "id": 995, + "id": 1023, "isConstant": false, "isLValue": false, "isPure": false, @@ -27328,14 +28110,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8614:21:0", + "src": "8791:21:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "8591:44:0" + "src": "8768:44:0" }, { "expression": { @@ -27343,7 +28125,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1001, + "id": 1029, "isConstant": false, "isLValue": false, "isPure": false, @@ -27351,31 +28133,31 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "8653:20:0", + "src": "8830:20:0", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 998, + "id": 1026, "name": "votes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8654:5:0", + "src": "8831:5:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 1000, + "id": 1028, "indexExpression": { "argumentTypes": null, - "id": 999, + "id": 1027, "name": "personalVote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 992, - "src": "8660:12:0", + "referencedDeclaration": 1020, + "src": "8837:12:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -27386,7 +28168,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8654:19:0", + "src": "8831:19:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27400,14 +28182,14 @@ { "argumentTypes": null, "hexValue": "566f74656420616c7265616479", - "id": 1002, + "id": 1030, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8675:15:0", + "src": "8852:15:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_230c30109b60c15b21799291aaf5c571045da3dc3f224d8bbd2f2e688c149a47", @@ -27427,21 +28209,21 @@ "typeString": "literal_string \"Voted already\"" } ], - "id": 997, + "id": 1025, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 12804, - 12805 + 12832, + 12833 ], - "referencedDeclaration": 12805, - "src": "8645:7:0", + "referencedDeclaration": 12833, + "src": "8822:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1003, + "id": 1031, "isConstant": false, "isLValue": false, "isPure": false, @@ -27449,20 +28231,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8645:46:0", + "src": "8822:46:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1004, + "id": 1032, "nodeType": "ExpressionStatement", - "src": "8645:46:0" + "src": "8822:46:0" }, { "expression": { "argumentTypes": null, - "id": 1009, + "id": 1037, "isConstant": false, "isLValue": false, "isPure": false, @@ -27471,26 +28253,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1005, + "id": 1033, "name": "votes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8702:5:0", + "src": "8879:5:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 1007, + "id": 1035, "indexExpression": { "argumentTypes": null, - "id": 1006, + "id": 1034, "name": "personalVote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 992, - "src": "8708:12:0", + "referencedDeclaration": 1020, + "src": "8885:12:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -27501,7 +28283,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "8702:19:0", + "src": "8879:19:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27512,14 +28294,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1008, + "id": 1036, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "8724:4:0", + "src": "8901:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -27527,15 +28309,15 @@ }, "value": "true" }, - "src": "8702:26:0", + "src": "8879:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1010, + "id": 1038, "nodeType": "ExpressionStatement", - "src": "8702:26:0" + "src": "8879:26:0" }, { "condition": { @@ -27544,7 +28326,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1016, + "id": 1044, "isConstant": false, "isLValue": false, "isPure": false, @@ -27553,26 +28335,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1011, + "id": 1039, "name": "votesCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "8742:10:0", + "src": "8919:10:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, - "id": 1013, + "id": 1041, "indexExpression": { "argumentTypes": null, - "id": 1012, + "id": 1040, "name": "vote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 986, - "src": "8753:4:0", + "referencedDeclaration": 1014, + "src": "8930:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -27583,7 +28365,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8742:16:0", + "src": "8919:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27596,21 +28378,21 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1014, + "id": 1042, "name": "getThreshold", "nodeType": "Identifier", "overloadedDeclarations": [ - 440, - 463 + 468, + 491 ], - "referencedDeclaration": 440, - "src": "8762:12:0", + "referencedDeclaration": 468, + "src": "8939:12:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, - "id": 1015, + "id": 1043, "isConstant": false, "isLValue": false, "isPure": false, @@ -27618,27 +28400,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8762:14:0", + "src": "8939:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8742:34:0", + "src": "8919:34:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 1035, + "id": 1063, "nodeType": "Block", - "src": "8861:69:0", + "src": "9038:69:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 1031, + "id": 1059, "isConstant": false, "isLValue": false, "isPure": false, @@ -27646,31 +28428,31 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "8875:18:0", + "src": "9052:18:0", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1028, + "id": 1056, "name": "votesCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "8875:10:0", + "src": "9052:10:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, - "id": 1030, + "id": 1058, "indexExpression": { "argumentTypes": null, - "id": 1029, + "id": 1057, "name": "vote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 986, - "src": "8886:4:0", + "referencedDeclaration": 1014, + "src": "9063:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -27681,7 +28463,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "8875:16:0", + "src": "9052:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27692,22 +28474,22 @@ "typeString": "uint256" } }, - "id": 1032, + "id": 1060, "nodeType": "ExpressionStatement", - "src": "8875:18:0" + "src": "9052:18:0" }, { "expression": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 1033, + "id": 1061, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "8914:5:0", + "src": "9091:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -27715,25 +28497,25 @@ }, "value": "false" }, - "functionReturnParameters": 990, - "id": 1034, + "functionReturnParameters": 1018, + "id": 1062, "nodeType": "Return", - "src": "8907:12:0" + "src": "9084:12:0" } ] }, - "id": 1036, + "id": 1064, "nodeType": "IfStatement", - "src": "8738:192:0", + "src": "8915:192:0", "trueBody": { - "id": 1027, + "id": 1055, "nodeType": "Block", - "src": "8778:77:0", + "src": "8955:77:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 1023, + "id": 1051, "isConstant": false, "isLValue": false, "isPure": false, @@ -27742,26 +28524,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1017, + "id": 1045, "name": "votesCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "8792:10:0", + "src": "8969:10:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, - "id": 1019, + "id": 1047, "indexExpression": { "argumentTypes": null, - "id": 1018, + "id": 1046, "name": "vote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 986, - "src": "8803:4:0", + "referencedDeclaration": 1014, + "src": "8980:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -27772,7 +28554,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "8792:16:0", + "src": "8969:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27786,7 +28568,7 @@ "typeIdentifier": "t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1", "typeString": "int_const 5789...(69 digits omitted)...9968" }, - "id": 1022, + "id": 1050, "isConstant": false, "isLValue": false, "isPure": true, @@ -27794,14 +28576,14 @@ "leftExpression": { "argumentTypes": null, "hexValue": "32", - "id": 1020, + "id": 1048, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8811:1:0", + "src": "8988:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -27814,14 +28596,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "323535", - "id": 1021, + "id": 1049, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8816:3:0", + "src": "8993:3:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_255_by_1", @@ -27829,34 +28611,34 @@ }, "value": "255" }, - "src": "8811:8:0", + "src": "8988:8:0", "typeDescriptions": { "typeIdentifier": "t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1", "typeString": "int_const 5789...(69 digits omitted)...9968" } }, - "src": "8792:27:0", + "src": "8969:27:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1024, + "id": 1052, "nodeType": "ExpressionStatement", - "src": "8792:27:0" + "src": "8969:27:0" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 1025, + "id": 1053, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "8840:4:0", + "src": "9017:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -27864,10 +28646,10 @@ }, "value": "true" }, - "functionReturnParameters": 990, - "id": 1026, + "functionReturnParameters": 1018, + "id": 1054, "nodeType": "Return", - "src": "8833:11:0" + "src": "9010:11:0" } ] } @@ -27875,23 +28657,23 @@ ] }, "documentation": null, - "id": 1038, + "id": 1066, "implemented": true, "kind": "function", "modifiers": [], "name": "putVote", "nodeType": "FunctionDefinition", "parameters": { - "id": 987, + "id": 1015, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 986, + "id": 1014, "name": "vote", "nodeType": "VariableDeclaration", - "scope": 1038, - "src": "8544:12:0", + "scope": 1066, + "src": "8721:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27899,10 +28681,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 985, + "id": 1013, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8544:7:0", + "src": "8721:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -27912,19 +28694,19 @@ "visibility": "internal" } ], - "src": "8543:14:0" + "src": "8720:14:0" }, "returnParameters": { - "id": 990, + "id": 1018, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 989, + "id": 1017, "name": "", "nodeType": "VariableDeclaration", - "scope": 1038, - "src": "8575:4:0", + "scope": 1066, + "src": "8752:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27932,10 +28714,10 @@ "typeString": "bool" }, "typeName": { - "id": 988, + "id": 1016, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "8575:4:0", + "src": "8752:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27945,32 +28727,32 @@ "visibility": "internal" } ], - "src": "8574:6:0" + "src": "8751:6:0" }, - "scope": 1110, - "src": "8527:409:0", + "scope": 1138, + "src": "8704:409:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1091, + "id": 1119, "nodeType": "Block", - "src": "8999:363:0", + "src": "9176:363:0", "statements": [ { "assignments": [ - 1046 + 1074 ], "declarations": [ { "constant": false, - "id": 1046, + "id": 1074, "name": "personalVote", "nodeType": "VariableDeclaration", - "scope": 1091, - "src": "9009:20:0", + "scope": 1119, + "src": "9186:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27978,10 +28760,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1045, + "id": 1073, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9009:7:0", + "src": "9186:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -27991,18 +28773,18 @@ "visibility": "internal" } ], - "id": 1050, + "id": 1078, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1048, + "id": 1076, "name": "vote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1040, - "src": "9048:4:0", + "referencedDeclaration": 1068, + "src": "9225:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -28016,18 +28798,18 @@ "typeString": "bytes32" } ], - "id": 1047, + "id": 1075, "name": "personalizeVote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1109, - "src": "9032:15:0", + "referencedDeclaration": 1137, + "src": "9209:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (bytes32) view returns (bytes32)" } }, - "id": 1049, + "id": 1077, "isConstant": false, "isLValue": false, "isPure": false, @@ -28035,14 +28817,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9032:21:0", + "src": "9209:21:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "9009:44:0" + "src": "9186:44:0" }, { "expression": { @@ -28050,7 +28832,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1055, + "id": 1083, "isConstant": false, "isLValue": false, "isPure": false, @@ -28058,31 +28840,31 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "9071:20:0", + "src": "9248:20:0", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1052, + "id": 1080, "name": "votes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9072:5:0", + "src": "9249:5:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 1054, + "id": 1082, "indexExpression": { "argumentTypes": null, - "id": 1053, + "id": 1081, "name": "personalVote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1046, - "src": "9078:12:0", + "referencedDeclaration": 1074, + "src": "9255:12:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -28093,7 +28875,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9072:19:0", + "src": "9249:19:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28107,14 +28889,14 @@ { "argumentTypes": null, "hexValue": "436f6e6669726d656420616c7265616479", - "id": 1056, + "id": 1084, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9093:19:0", + "src": "9270:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_762a97ce67d271844ad9c09d89a5271fde7fe7537af208da055a904cd67ac7bc", @@ -28134,21 +28916,21 @@ "typeString": "literal_string \"Confirmed already\"" } ], - "id": 1051, + "id": 1079, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 12804, - 12805 + 12832, + 12833 ], - "referencedDeclaration": 12805, - "src": "9063:7:0", + "referencedDeclaration": 12833, + "src": "9240:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1057, + "id": 1085, "isConstant": false, "isLValue": false, "isPure": false, @@ -28156,20 +28938,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9063:50:0", + "src": "9240:50:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1058, + "id": 1086, "nodeType": "ExpressionStatement", - "src": "9063:50:0" + "src": "9240:50:0" }, { "expression": { "argumentTypes": null, - "id": 1063, + "id": 1091, "isConstant": false, "isLValue": false, "isPure": false, @@ -28178,26 +28960,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1059, + "id": 1087, "name": "votes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9124:5:0", + "src": "9301:5:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 1061, + "id": 1089, "indexExpression": { "argumentTypes": null, - "id": 1060, + "id": 1088, "name": "personalVote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1046, - "src": "9130:12:0", + "referencedDeclaration": 1074, + "src": "9307:12:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -28208,7 +28990,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "9124:19:0", + "src": "9301:19:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28219,14 +29001,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1062, + "id": 1090, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "9146:4:0", + "src": "9323:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -28234,15 +29016,15 @@ }, "value": "true" }, - "src": "9124:26:0", + "src": "9301:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1064, + "id": 1092, "nodeType": "ExpressionStatement", - "src": "9124:26:0" + "src": "9301:26:0" }, { "condition": { @@ -28251,7 +29033,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1070, + "id": 1098, "isConstant": false, "isLValue": false, "isPure": false, @@ -28260,26 +29042,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1065, + "id": 1093, "name": "votesCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "9164:10:0", + "src": "9341:10:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, - "id": 1067, + "id": 1095, "indexExpression": { "argumentTypes": null, - "id": 1066, + "id": 1094, "name": "vote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1040, - "src": "9175:4:0", + "referencedDeclaration": 1068, + "src": "9352:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -28290,7 +29072,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9164:16:0", + "src": "9341:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28303,18 +29085,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1068, + "id": 1096, "name": "getNextThreshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 450, - "src": "9184:16:0", + "referencedDeclaration": 478, + "src": "9361:16:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, - "id": 1069, + "id": 1097, "isConstant": false, "isLValue": false, "isPure": false, @@ -28322,27 +29104,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9184:18:0", + "src": "9361:18:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9164:38:0", + "src": "9341:38:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 1089, + "id": 1117, "nodeType": "Block", - "src": "9287:69:0", + "src": "9464:69:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 1085, + "id": 1113, "isConstant": false, "isLValue": false, "isPure": false, @@ -28350,31 +29132,31 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "9301:18:0", + "src": "9478:18:0", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1082, + "id": 1110, "name": "votesCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "9301:10:0", + "src": "9478:10:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, - "id": 1084, + "id": 1112, "indexExpression": { "argumentTypes": null, - "id": 1083, + "id": 1111, "name": "vote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1040, - "src": "9312:4:0", + "referencedDeclaration": 1068, + "src": "9489:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -28385,7 +29167,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "9301:16:0", + "src": "9478:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28396,22 +29178,22 @@ "typeString": "uint256" } }, - "id": 1086, + "id": 1114, "nodeType": "ExpressionStatement", - "src": "9301:18:0" + "src": "9478:18:0" }, { "expression": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 1087, + "id": 1115, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "9340:5:0", + "src": "9517:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -28419,25 +29201,25 @@ }, "value": "false" }, - "functionReturnParameters": 1044, - "id": 1088, + "functionReturnParameters": 1072, + "id": 1116, "nodeType": "Return", - "src": "9333:12:0" + "src": "9510:12:0" } ] }, - "id": 1090, + "id": 1118, "nodeType": "IfStatement", - "src": "9160:196:0", + "src": "9337:196:0", "trueBody": { - "id": 1081, + "id": 1109, "nodeType": "Block", - "src": "9204:77:0", + "src": "9381:77:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 1077, + "id": 1105, "isConstant": false, "isLValue": false, "isPure": false, @@ -28446,26 +29228,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1071, + "id": 1099, "name": "votesCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "9218:10:0", + "src": "9395:10:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, - "id": 1073, + "id": 1101, "indexExpression": { "argumentTypes": null, - "id": 1072, + "id": 1100, "name": "vote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1040, - "src": "9229:4:0", + "referencedDeclaration": 1068, + "src": "9406:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -28476,7 +29258,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "9218:16:0", + "src": "9395:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28490,7 +29272,7 @@ "typeIdentifier": "t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1", "typeString": "int_const 5789...(69 digits omitted)...9968" }, - "id": 1076, + "id": 1104, "isConstant": false, "isLValue": false, "isPure": true, @@ -28498,14 +29280,14 @@ "leftExpression": { "argumentTypes": null, "hexValue": "32", - "id": 1074, + "id": 1102, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9237:1:0", + "src": "9414:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -28518,14 +29300,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "323535", - "id": 1075, + "id": 1103, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9242:3:0", + "src": "9419:3:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_255_by_1", @@ -28533,34 +29315,34 @@ }, "value": "255" }, - "src": "9237:8:0", + "src": "9414:8:0", "typeDescriptions": { "typeIdentifier": "t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1", "typeString": "int_const 5789...(69 digits omitted)...9968" } }, - "src": "9218:27:0", + "src": "9395:27:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1078, + "id": 1106, "nodeType": "ExpressionStatement", - "src": "9218:27:0" + "src": "9395:27:0" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 1079, + "id": 1107, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "9266:4:0", + "src": "9443:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -28568,10 +29350,10 @@ }, "value": "true" }, - "functionReturnParameters": 1044, - "id": 1080, + "functionReturnParameters": 1072, + "id": 1108, "nodeType": "Return", - "src": "9259:11:0" + "src": "9436:11:0" } ] } @@ -28579,23 +29361,23 @@ ] }, "documentation": null, - "id": 1092, + "id": 1120, "implemented": true, "kind": "function", "modifiers": [], "name": "putConfirm", "nodeType": "FunctionDefinition", "parameters": { - "id": 1041, + "id": 1069, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1040, + "id": 1068, "name": "vote", "nodeType": "VariableDeclaration", - "scope": 1092, - "src": "8962:12:0", + "scope": 1120, + "src": "9139:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28603,10 +29385,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1039, + "id": 1067, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8962:7:0", + "src": "9139:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -28616,19 +29398,19 @@ "visibility": "internal" } ], - "src": "8961:14:0" + "src": "9138:14:0" }, "returnParameters": { - "id": 1044, + "id": 1072, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1043, + "id": 1071, "name": "", "nodeType": "VariableDeclaration", - "scope": 1092, - "src": "8993:4:0", + "scope": 1120, + "src": "9170:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28636,10 +29418,10 @@ "typeString": "bool" }, "typeName": { - "id": 1042, + "id": 1070, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "8993:4:0", + "src": "9170:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28649,19 +29431,19 @@ "visibility": "internal" } ], - "src": "8992:6:0" + "src": "9169:6:0" }, - "scope": 1110, - "src": "8942:420:0", + "scope": 1138, + "src": "9119:420:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1108, + "id": 1136, "nodeType": "Block", - "src": "9438:69:0", + "src": "9615:69:0", "statements": [ { "expression": { @@ -28672,12 +29454,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1102, + "id": 1130, "name": "vote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1094, - "src": "9482:4:0", + "referencedDeclaration": 1122, + "src": "9659:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -28687,18 +29469,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1103, + "id": 1131, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 12801, - "src": "9488:3:0", + "referencedDeclaration": 12829, + "src": "9665:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1104, + "id": 1132, "isConstant": false, "isLValue": false, "isPure": false, @@ -28706,7 +29488,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9488:10:0", + "src": "9665:10:0", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -28726,18 +29508,18 @@ ], "expression": { "argumentTypes": null, - "id": 1100, + "id": 1128, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 12788, - "src": "9465:3:0", + "referencedDeclaration": 12816, + "src": "9642:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 1101, + "id": 1129, "isConstant": false, "isLValue": false, "isPure": true, @@ -28745,13 +29527,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9465:16:0", + "src": "9642:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 1105, + "id": 1133, "isConstant": false, "isLValue": false, "isPure": false, @@ -28759,7 +29541,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9465:34:0", + "src": "9642:34:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -28773,18 +29555,18 @@ "typeString": "bytes memory" } ], - "id": 1099, + "id": 1127, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 12795, - "src": "9455:9:0", + "referencedDeclaration": 12823, + "src": "9632:9:0", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 1106, + "id": 1134, "isConstant": false, "isLValue": false, "isPure": false, @@ -28792,37 +29574,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9455:45:0", + "src": "9632:45:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 1098, - "id": 1107, + "functionReturnParameters": 1126, + "id": 1135, "nodeType": "Return", - "src": "9448:52:0" + "src": "9625:52:0" } ] }, "documentation": null, - "id": 1109, + "id": 1137, "implemented": true, "kind": "function", "modifiers": [], "name": "personalizeVote", "nodeType": "FunctionDefinition", "parameters": { - "id": 1095, + "id": 1123, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1094, + "id": 1122, "name": "vote", "nodeType": "VariableDeclaration", - "scope": 1109, - "src": "9393:12:0", + "scope": 1137, + "src": "9570:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28830,10 +29612,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1093, + "id": 1121, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9393:7:0", + "src": "9570:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -28843,19 +29625,19 @@ "visibility": "internal" } ], - "src": "9392:14:0" + "src": "9569:14:0" }, "returnParameters": { - "id": 1098, + "id": 1126, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1097, + "id": 1125, "name": "", "nodeType": "VariableDeclaration", - "scope": 1109, - "src": "9429:7:0", + "scope": 1137, + "src": "9606:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28863,10 +29645,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1096, + "id": 1124, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9429:7:0", + "src": "9606:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -28876,20 +29658,20 @@ "visibility": "internal" } ], - "src": "9428:9:0" + "src": "9605:9:0" }, - "scope": 1110, - "src": "9368:139:0", + "scope": 1138, + "src": "9545:139:0", "stateMutability": "view", "superFunction": null, "visibility": "private" } ], - "scope": 1111, - "src": "93:9416:0" + "scope": 1139, + "src": "93:9593:0" } ], - "src": "0:9510:0" + "src": "0:9687:0" }, "compiler": { "name": "solc", @@ -28969,15 +29751,28 @@ "name": "EpochStart", "type": "event", "signature": "0xc33272939f066c227e913a4b3434d860794f185c551685c29451a3a38b9b259c" + }, + "0x62e1f484b3909b2c013673bad76a9f14b010600ba983f11ad26e83082883570e": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "ExchangeRequest", + "type": "event", + "signature": "0x62e1f484b3909b2c013673bad76a9f14b010600ba983f11ad26e83082883570e" } }, "links": {}, "address": "0x44c158FE850821ae69DaF37AADF5c539e9d0025B", - "transactionHash": "0xf99d4d17eb3eb4dd84303e8c8f07f704dd4039fa55345130bb3a3b63d450395a" + "transactionHash": "0x6235a54e4ed6f582e79b17c216471dba7a35d27b2ee4f2c3e4ce2326b5d5c8c5" } }, "schemaVersion": "3.0.16", - "updatedAt": "2019-10-09T13:02:17.532Z", + "updatedAt": "2019-10-09T13:30:27.734Z", "devdoc": { "methods": {} }, diff --git a/src/test-services/ethereumSend/run.sh b/src/test-services/ethereumSend/run.sh index 104d3e7..304ef53 100755 --- a/src/test-services/ethereumSend/run.sh +++ b/src/test-services/ethereumSend/run.sh @@ -7,6 +7,6 @@ cd $(dirname "$0") # either development or staging TARGET_NETWORK=${TARGET_NETWORK:=development} -docker build -t ethreum-send . > /dev/null +docker build -t ethereum-send . > /dev/null -docker run --network blockchain_home --rm --env-file ".env.$TARGET_NETWORK" --env-file "../.keys.$TARGET_NETWORK" ethreum-send $@ +docker run --network blockchain_home --rm --env-file ".env.$TARGET_NETWORK" --env-file "../.keys.$TARGET_NETWORK" ethereum-send $@ diff --git a/src/test-services/sidePrefund/package.json b/src/test-services/sidePrefund/package.json index db04192..d115535 100644 --- a/src/test-services/sidePrefund/package.json +++ b/src/test-services/sidePrefund/package.json @@ -1,5 +1,5 @@ { - "name": "ethereum-send", + "name": "side-prefund", "version": "0.0.1", "dependencies": { "bignumber.js": "9.0.0", diff --git a/src/test-services/sidePrefund/run.sh b/src/test-services/sidePrefund/run.sh index 2a923ab..88df060 100755 --- a/src/test-services/sidePrefund/run.sh +++ b/src/test-services/sidePrefund/run.sh @@ -9,6 +9,6 @@ TARGET_NETWORK=${TARGET_NETWORK:=development} echo "Using $TARGET_NETWORK network" -docker build -t ethereum-send . > /dev/null +docker build -t side-prefund . > /dev/null -docker run --network blockchain_side --rm --env-file ".env.$TARGET_NETWORK" --env-file "../.keys.$TARGET_NETWORK" ethereum-send $@ +docker run --network blockchain_side --rm --env-file ".env.$TARGET_NETWORK" --env-file "../.keys.$TARGET_NETWORK" side-prefund $@