We Gave Blackhats our Secure Wallet
Let’s see how secure it is!
Highlights:
- Wallet was located on the Ethereum mainnet at 0xe0b41671cc6374f1a564459b8298e87585a28a84 . We’ve since moved funds to use them elsewhere, thanks to those that participated!
- We gave part ownership to blackhat address 0xb3764761e297d6f121e79c32a65829cd1ddb4d32
- Here’s the private key for owner[1] d70cd666785c077f9c04070e08812076786a109ab7000a76a36ed3a89a0953ef
- There are 7 total owners
- There’s no longer any Ether.
Wallet Highlights:
- Can have up to 50 wallet owners.
- Allows for signature requirements to be defined for three types of operations: administrative, minor transactions, and major transactions.
Administrative: These are transactions that change signature requirements, add owners, remove owners, etc.
Minor Transactions: These are ether or token transfers below a set daily threshold.
Major Transactions: These are ether or token transfers at or above a set daily threshold.
- Allows a major transaction threshold to be set individually for any token.
- Provides a transaction hash for any pending transaction such as is implemented in Gav’s wallet, allowing subsequent signatures to be submitted by hash.
- Can create other contracts from within the wallet.
- Any new token will automatically have a major threshold of 0 until a threshold is defined by the wallet owners.
- Allows signatures to be revoked at any point in time prior to the transaction confirming.
The wallet is actually made up of our new wallet library family. The family consists of three libraries:
- WalletMainLib: This is the main library used to create a wallet and initialize parameters. It contains the WalletData struct which should be placed in the storage of your wallet contract. This library also contains the primary transaction initiating, confirming, and revocation code.
- WalletAdminLib: This library contains all of the functionality to change the parameters of your multisig wallet such as adding owners, changing signature requirements, etc.
- WalletGetterLib: This library contains all of the getter functions for your wallet data.
View more details and see our other libraries at https://github.com/Majoolr/ethereum-libraries
See an example contract at https://github.com/Majoolr/ethereum-contracts
We’re busy building up at Majoolr so check out our website at majoolr.io and see if we pique your interest. Follow us on twitter @Majoolr and get in touch on our gitter or at our github if you’d like to contribute!
