This question was prompted by Any multisig wallets for Ether?:
Are there any multisig wallets available for ether and other ethereum-based tokens?
This question was prompted by Any multisig wallets for Ether?:
Are there any multisig wallets available for ether and other ethereum-based tokens?
Note that while the sending of ETH and tokens works, you cannot change the parameters of the multisig (add owner, remove owner, change owner, change daily limit). See https://github.com/bokkypoobah/EthereumWalletMultisigTest for further information.
The standard Ethereum Wallet / Mist multisig contract does support ERC20 tokens.
Here is a transaction of a Golem Network Token (GNT) transfer from a multisig contract - tx 0x4afd4e13bc80c7a9305b77f0f62058c8700ec6c92ad0c355f667af898903866b .
The multisig contract is at 0xf3f1f928fbe5d68b776005cad5350b49b42dfdde.
From the transaction data, you can see the execute(...)
multisig function call:
Function: execute(address _to, uint256 _value, bytes _data)
MethodID: 0xb61d27f6
[0]:000000000000000000000000a74476443119a942de498590fe1f2454d7d4ac0d
[1]:0000000000000000000000000000000000000000000000000000000000000000
[2]:0000000000000000000000000000000000000000000000000000000000000060
[3]:0000000000000000000000000000000000000000000000000000000000000044
[4]:a9059cbb000000000000000000000000550bfe4a2691175e03e058d826829c3a
[5]:749b5f9700000000000000000000000000000000000000000000000053444835
[6]:ec58000000000000000000000000000000000000000000000000000000000000
a74476443119a942de498590fe1f2454d7d4ac0d
is the GNT contract address.
And here is the portion of the GNT transfer function call.
a9059cbb // web3.sha3('transfer(address,uint256)').substring(0,10) = "0xa9059cbb"
000000000000000000000000550bfe4a2691175e03e058d826829c3a749b5f97 // destination address
00000000000000000000000000000000000000000000000053444835ec580000 // new BigNumber("53444835ec580000", 16)/1e18 = 6
The user trying to execute the transaction above had a few failed attempts using their multisig account to execute this ERC20 transfer transaction due to insufficient gas. The user increased the supplied gas and the transaction executed smoothly.
Some further details on multisig wallets executing contract functions at How Does The Ethereum Multisig Contract Wallet Execute Contract Functions?.