fixed verification of signatures signed with eth_sign, closes #17
This commit is contained in:
parent
d9c6773185
commit
a9709f942a
|
@ -1 +1 @@
|
|||
60606040523415600e57600080fd5b5b603680601c6000396000f30060606040525b600080fd00a165627a7a7230582055040070eecda16f7992555f728eac18e0652f23cefba6637af8a8384e1c5de90029
|
||||
60606040523415600e57600080fd5b5b603680601c6000396000f30060606040525b600080fd00a165627a7a723058209ccf54929d065bb2c6b737f40dbe925c7268d38fa91d71817ee6528f47dfb2dd0029
|
|
@ -22,6 +22,7 @@
|
|||
"name": "withdraw",
|
||||
"outputs": [],
|
||||
"payable": false,
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
|
@ -47,6 +48,7 @@
|
|||
"name": "reelect",
|
||||
"outputs": [],
|
||||
"payable": false,
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
|
@ -61,10 +63,12 @@
|
|||
}
|
||||
],
|
||||
"payable": false,
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "constructor"
|
||||
},
|
||||
{
|
||||
"payable": true,
|
||||
"stateMutability": "payable",
|
||||
"type": "fallback"
|
||||
},
|
||||
{
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -19,6 +19,7 @@
|
|||
}
|
||||
],
|
||||
"payable": false,
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
|
@ -40,6 +41,7 @@
|
|||
"name": "deposit",
|
||||
"outputs": [],
|
||||
"payable": false,
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
|
@ -58,6 +60,7 @@
|
|||
}
|
||||
],
|
||||
"payable": false,
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
|
@ -75,6 +78,7 @@
|
|||
"name": "submitSignature",
|
||||
"outputs": [],
|
||||
"payable": false,
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
|
@ -96,6 +100,7 @@
|
|||
"name": "transfer",
|
||||
"outputs": [],
|
||||
"payable": false,
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
|
@ -110,6 +115,7 @@
|
|||
}
|
||||
],
|
||||
"payable": false,
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "constructor"
|
||||
},
|
||||
{
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1,4 +1,4 @@
|
|||
pragma solidity ^0.4.15;
|
||||
pragma solidity ^0.4.16;
|
||||
|
||||
library Authorities {
|
||||
function contains (address[] self, address value) internal returns (bool) {
|
||||
|
@ -40,7 +40,8 @@ contract EthereumBridge {
|
|||
|
||||
/// Multisig authority validation
|
||||
modifier allAuthorities (uint8[] v, bytes32[] r, bytes32[] s, bytes message) {
|
||||
var hash = sha3(message);
|
||||
bytes memory prefix = "\x19Ethereum Signed Message:\n";
|
||||
var hash = sha3(prefix, message.length, message);
|
||||
var used = new address[](requiredSignatures);
|
||||
|
||||
require(requiredSignatures <= v.length);
|
||||
|
|
Loading…
Reference in New Issue