diff --git a/src/Majority/abi b/src/Majority/abi new file mode 100644 index 0000000000000000000000000000000000000000..8864591b7062e049585a46520c8d208c9ec4b964 --- /dev/null +++ b/src/Majority/abi @@ -0,0 +1,187 @@ +[ + { + "type": "constructor", + "stateMutability": "nonpayable", + "inputs": [{ + "name": "timeout", + "type": "uint256", + "internalType": "uint256" + }] + }, + { + "name": "adminChange", + "type": "event", + "anonymous": false, + "inputs": [{ + "name": "admin", + "type": "address", + "indexed": false, + "internalType": "address" + },{ + "name": "promotion", + "type": "bool", + "indexed": false, + "internalType": "bool" + }] + }, + { + "name": "voteCast", + "type": "event", + "anonymous": false, + "inputs": [{ + "name": "voter", + "type": "address", + "indexed": false, + "internalType": "address" + },{ + "name": "victim", + "type": "address", + "indexed": false, + "internalType": "address" + },{ + "name": "promotion", + "type": "bool", + "indexed": false, + "internalType": "bool" + }] + }, + { + "name": "council", + "type": "function", + "stateMutability": "view", + "inputs": [{ + "name": "", + "type": "uint256", + "internalType": "uint256" + }], + "outputs": [{ + "name": "", + "type": "address", + "internalType": "address" + }] + }, + { + "name": "councilLength", + "type": "function", + "stateMutability": "view", + "inputs": [], + "outputs": [{ + "name": "", + "type": "uint256", + "internalType": "uint256" + }] + }, + { + "type": "function", + "name": "isCouncil", + "stateMutability": "view", + "inputs": [{ + "name": "subject", + "type": "address", + "internalType": "address" + }], + "outputs": [{ + "name": "", + "type": "bool", + "internalType": "bool" + }] + }, + { + "name": "mayVote", + "type": "function", + "stateMutability": "view", + "inputs": [{ + "name": "voter", + "type": "address", + "internalType": "address" + },{ + "name": "victim", + "type": "address", + "internalType": "address" + },{ + "name": "promotion", + "type": "bool", + "internalType": "bool" + }], + "outputs": [{ + "name": "", + "type": "bool", + "internalType": "bool" + }] + }, + { + "name": "setTimeout", + "type": "function", + "stateMutability": "nonpayable", + "inputs": [{ + "internalType": "uint256", + "name": "timeout", + "type": "uint256" + }], + "outputs": [] + }, + { + "name": "vote", + "type": "function", + "stateMutability": "nonpayable", + "inputs": [{ + "name": "victim", + "type": "address", + "internalType": "address" + },{ + "name": "promotion", + "type": "bool", + "internalType": "bool" + }], + "outputs": [] + }, + { + "name": "votes", + "type": "function", + "stateMutability": "view", + "inputs": [{ + "name": "", + "type": "uint256", + "internalType": "uint256" + }], + "outputs": [{ + "name": "voter", + "type": "address", + "internalType": "address" + },{ + "name": "victim", + "type": "address", + "internalType": "address" + },{ + "name": "voteStart", + "type": "uint256", + "internalType": "uint256" + },{ + "name": "promotion", + "type": "bool", + "internalType": "bool" + }] + }, + { + "type": "function", + "name": "votesLength", + "stateMutability": "view", + "inputs": [], + "outputs": [{ + "name": "", + "type": "uint256", + "internalType": "uint256" + }] + }, + { + "name": "votetimeout", + "type": "function", + "stateMutability": "view", + "inputs": [], + "outputs": [{ + "name": "", + "type": "uint256", + "internalType": "uint256" + }] + } +] diff --git a/src/Majority/bin b/src/Majority/bin new file mode 100644 index 0000000000000000000000000000000000000000..2f4f38d8965235647a3a6f8e129aed6fb8d80187 --- /dev/null +++ b/src/Majority/bin @@ -0,0 +1 @@ +608060405262093a8060025534801561001757600080fd5b506040516111e83803806111e88339818101604052602081101561003a57600080fd5b8101908080519060200190929190505050610e10811061005c57806002819055505b6000339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050611119806100cf6000396000f3fe608060405234801561001057600080fd5b50600436106100b0576000357c010000000000000000000000000000000000000000000000000000000090048063c0165ea511610083578063c0165ea51461026a578063c58a34cc14610288578063de4f6347146102b6578063efaabd59146102d4578063f4de6da6146102f2576100b0565b80635df81330146100b557806370c56edc1461013a5780639aa360ec146101c0578063bd041c4d1461021a575b600080fd5b6100e1600480360360208110156100cb57600080fd5b810190808035906020019092919050505061034a565b604051808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001821515815260200194505050505060405180910390f35b6101a86004803603606081101561015057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506103d4565b60405180821515815260200191505060405180910390f35b610202600480360360208110156101d657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105c5565b60405180821515815260200191505060405180910390f35b6102686004803603604081101561023057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610666565b005b6102726108fe565b6040518082815260200191505060405180910390f35b6102b46004803603602081101561029e57600080fd5b8101908080359060200190929190505050610904565b005b6102be610976565b6040518082815260200191505060405180910390f35b6102dc610983565b6040518082815260200191505060405180910390f35b61031e6004803603602081101561030857600080fd5b810190808035906020019092919050505061098f565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6001818154811061035757fe5b90600052602060002090600402016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030160009054906101000a900460ff16905084565b6000806103e0856105c5565b905060006103ed856105c5565b9050816103ff576000925050506105be565b8080156104095750835b15610419576000925050506105be565b80158015610425575083155b15610435576000925050506105be565b600060025442039050600060018054905090505b6000818060019003925011156105b5578773ffffffffffffffffffffffffffffffffffffffff166001828154811061047d57fe5b906000526020600020906004020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614801561053b57508673ffffffffffffffffffffffffffffffffffffffff16600182815481106104f157fe5b906000526020600020906004020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b801561057557508515156001828154811061055257fe5b906000526020600020906004020160030160009054906101000a900460ff161515145b801561059e5750816001828154811061058a57fe5b906000526020600020906004020160020154115b156105b05760009450505050506105be565b610449565b60019450505050505b9392505050565b60008060008054905090505b60008180600190039250111561065b57600081815481106105ee57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610656576001915050610661565b6105d1565b60009150505b919050565b6106713383836103d4565b6106c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806110b36031913960400191505060405180910390fd5b600060025442039050600060018054905090505b60008180600190039250111561071f5781600182815481106106f857fe5b906000526020600020906004020160020154101561071a57610719816109cb565b5b6106da565b600160405180608001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff168152602001428152602001851515815250908060018154018082558091505060019003906000526020600020906004020160009091909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040820151816002015560608201518160030160006101000a81548160ff02191690831515021790555050507f14b0f3afd5fdc1f8d3addf2dbf157d1362930a9cf8393fcadd50b05ec3e56fd8338585604051808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018215158152602001935050505060405180910390a16108d28484610bbb565b6000808054905014156108f8573373ffffffffffffffffffffffffffffffffffffffff16ff5b50505050565b60025481565b61090d336105c5565b610962576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180611088602b913960400191505060405180910390fd5b610e10811061097357806002819055505b50565b6000600180549050905090565b60008080549050905090565b6000818154811061099c57fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060018054905090505b80826001019250821015610b2957600182815481106109f157fe5b9060005260206000209060040201600180840381548110610a0e57fe5b90600052602060002090600402016000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600282015481600201556003820160009054906101000a900460ff168160030160006101000a81548160ff0219169083151502179055509050506109d6565b6001805480610b3457fe5b6001900381819060005260206000209060040201600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560028201600090556003820160006101000a81549060ff0219169055505090555050565b6000806001600260008054905081610bcf57fe5b04019050600060018054905090505b600081806001900392501115610ca8578473ffffffffffffffffffffffffffffffffffffffff1660018281548110610c1257fe5b906000526020600020906004020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015610c95575083151560018281548110610c7257fe5b906000526020600020906004020160030160009054906101000a900460ff161515145b15610ca35782806001019350505b610bde565b81831015610cb857505050610e5f565b8315610d26576000859080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d30565b610d2f85610e63565b5b7f74e4000982957adcdc88cbfaae69f0a87d5e3a60631f7b82acffe83c0d9307b88585604051808373ffffffffffffffffffffffffffffffffffffffff16815260200182151581526020019250505060405180910390a160018054905090505b600081806001900392501115610e5b578473ffffffffffffffffffffffffffffffffffffffff1660018281548110610dc457fe5b906000526020600020906004020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015610e47575083151560018281548110610e2457fe5b906000526020600020906004020160030160009054906101000a900460ff161515145b15610e5657610e55816109cb565b5b610d90565b5050505b5050565b600060018054905090505b600081806001900392501115610eff578173ffffffffffffffffffffffffffffffffffffffff1660018281548110610ea257fe5b906000526020600020906004020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610efa57610ef9816109cb565b5b610e6e565b60008054905090505b600081806001900392501115611082578173ffffffffffffffffffffffffffffffffffffffff1660008281548110610f3c57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561107d5760008190506000808054905090505b808260010192508210156110355760008281548110610fad57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660006001840381548110610fe857fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f92565b600080548061104057fe5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055505050611084565b610f08565b505b5056fe4f6e6c7920636f756e63696c206d656d62657273206d61792075736520746869732066756e6374696f6e2e54686174207365656d7320726564756e64616e74206f72206973206f7468657277697365206e6f7420616c6c6f7765642ea264697066735822122021658f7485c7f73d8f29511e684b284f7b49ac44120efd15b54283a8d8e6c7b664736f6c63430007020033