safe-react/safe-contracts/build/contracts/GnosisSafe.json

1135 lines
77 KiB
JSON
Raw Normal View History

2018-05-04 14:04:04 +00:00
{
"contractName": "GnosisSafe",
"abi": [
{
"constant": true,
"inputs": [
{
2018-05-16 13:46:33 +00:00
"name": "owner",
"type": "address"
2018-05-04 14:04:04 +00:00
}
],
2018-05-16 13:46:33 +00:00
"name": "isOwner",
2018-05-04 14:04:04 +00:00
"outputs": [
{
"name": "",
2018-05-16 13:46:33 +00:00
"type": "bool"
2018-05-04 14:04:04 +00:00
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
2018-05-10 11:12:13 +00:00
{
"constant": false,
"inputs": [
{
2018-05-16 13:46:33 +00:00
"name": "to",
2018-05-10 11:12:13 +00:00
"type": "address"
},
{
2018-05-16 13:46:33 +00:00
"name": "value",
"type": "uint256"
},
{
"name": "data",
"type": "bytes"
},
{
"name": "operation",
2018-05-10 11:12:13 +00:00
"type": "uint8"
}
],
2018-05-16 13:46:33 +00:00
"name": "execTransactionFromModule",
"outputs": [
{
"name": "success",
"type": "bool"
}
],
2018-05-10 11:12:13 +00:00
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "module",
"type": "address"
}
],
2018-05-16 13:46:33 +00:00
"name": "enableModule",
2018-05-10 11:12:13 +00:00
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
2018-05-04 14:04:04 +00:00
{
"constant": true,
2018-05-16 13:46:33 +00:00
"inputs": [],
"name": "SENTINEL_MODULES",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
2018-05-04 14:04:04 +00:00
"inputs": [
2018-05-16 13:46:33 +00:00
{
"name": "prevOwner",
"type": "address"
},
2018-05-04 14:04:04 +00:00
{
2018-05-10 11:12:13 +00:00
"name": "owner",
2018-05-04 14:04:04 +00:00
"type": "address"
2018-05-16 13:46:33 +00:00
},
{
"name": "_threshold",
"type": "uint8"
2018-05-04 14:04:04 +00:00
}
],
2018-05-16 13:46:33 +00:00
"name": "removeOwner",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "SENTINEL_OWNERS",
2018-05-04 14:04:04 +00:00
"outputs": [
{
"name": "",
2018-05-16 13:46:33 +00:00
"type": "address"
2018-05-04 14:04:04 +00:00
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
2018-05-16 13:46:33 +00:00
"name": "getOwners",
2018-05-04 14:04:04 +00:00
"outputs": [
{
"name": "",
2018-05-16 13:46:33 +00:00
"type": "address[]"
2018-05-04 14:04:04 +00:00
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
2018-05-16 13:46:33 +00:00
"inputs": [],
"name": "NAME",
2018-05-04 14:04:04 +00:00
"outputs": [
{
"name": "",
2018-05-16 13:46:33 +00:00
"type": "string"
2018-05-04 14:04:04 +00:00
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
2018-05-16 13:46:33 +00:00
"constant": true,
"inputs": [],
"name": "getModules",
"outputs": [
2018-05-10 11:12:13 +00:00
{
2018-05-16 13:46:33 +00:00
"name": "",
"type": "address[]"
2018-05-04 14:04:04 +00:00
}
],
"payable": false,
2018-05-16 13:46:33 +00:00
"stateMutability": "view",
2018-05-04 14:04:04 +00:00
"type": "function"
},
{
2018-05-10 11:12:13 +00:00
"constant": false,
"inputs": [
2018-05-04 14:04:04 +00:00
{
2018-05-16 13:46:33 +00:00
"name": "_threshold",
"type": "uint8"
2018-05-04 14:04:04 +00:00
}
],
2018-05-16 13:46:33 +00:00
"name": "changeThreshold",
2018-05-10 11:12:13 +00:00
"outputs": [],
2018-05-04 14:04:04 +00:00
"payable": false,
2018-05-10 11:12:13 +00:00
"stateMutability": "nonpayable",
2018-05-04 14:04:04 +00:00
"type": "function"
},
{
2018-05-10 11:12:13 +00:00
"constant": false,
2018-05-04 14:04:04 +00:00
"inputs": [
2018-05-10 11:12:13 +00:00
{
"name": "owner",
2018-05-04 14:04:04 +00:00
"type": "address"
2018-05-10 11:12:13 +00:00
},
{
"name": "_threshold",
"type": "uint8"
2018-05-04 14:04:04 +00:00
}
],
2018-05-16 13:46:33 +00:00
"name": "addOwnerWithThreshold",
2018-05-10 11:12:13 +00:00
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
2018-05-16 13:46:33 +00:00
"constant": false,
"inputs": [
2018-05-04 14:04:04 +00:00
{
2018-05-16 13:46:33 +00:00
"name": "prevModule",
"type": "address"
},
2018-05-04 14:04:04 +00:00
{
2018-05-16 13:46:33 +00:00
"name": "module",
"type": "address"
2018-05-04 14:04:04 +00:00
}
],
2018-05-16 13:46:33 +00:00
"name": "disableModule",
"outputs": [],
2018-05-04 14:04:04 +00:00
"payable": false,
2018-05-16 13:46:33 +00:00
"stateMutability": "nonpayable",
2018-05-04 14:04:04 +00:00
"type": "function"
},
{
2018-05-10 11:12:13 +00:00
"constant": false,
2018-05-04 14:04:04 +00:00
"inputs": [
{
2018-05-16 13:46:33 +00:00
"name": "prevOwner",
2018-05-04 14:04:04 +00:00
"type": "address"
},
2018-05-10 11:12:13 +00:00
{
2018-05-16 13:46:33 +00:00
"name": "oldOwner",
"type": "address"
2018-05-04 14:04:04 +00:00
},
{
2018-05-16 13:46:33 +00:00
"name": "newOwner",
"type": "address"
2018-05-04 14:04:04 +00:00
}
],
2018-05-16 13:46:33 +00:00
"name": "swapOwner",
"outputs": [],
2018-05-04 14:04:04 +00:00
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
2018-05-10 11:12:13 +00:00
"constant": true,
"inputs": [],
2018-05-16 13:46:33 +00:00
"name": "getThreshold",
2018-05-10 11:12:13 +00:00
"outputs": [
2018-05-04 14:04:04 +00:00
{
2018-05-10 11:12:13 +00:00
"name": "",
2018-05-04 14:04:04 +00:00
"type": "uint8"
}
],
"payable": false,
2018-05-16 13:46:33 +00:00
"stateMutability": "view",
2018-05-04 14:04:04 +00:00
"type": "function"
},
{
2018-05-10 11:12:13 +00:00
"constant": true,
"inputs": [],
"name": "VERSION",
"outputs": [
2018-05-04 14:04:04 +00:00
{
2018-05-10 11:12:13 +00:00
"name": "",
"type": "string"
2018-05-04 14:04:04 +00:00
}
],
"payable": false,
2018-05-10 11:12:13 +00:00
"stateMutability": "view",
2018-05-04 14:04:04 +00:00
"type": "function"
},
{
2018-05-10 11:12:13 +00:00
"payable": true,
"stateMutability": "payable",
"type": "fallback"
2018-05-04 14:04:04 +00:00
},
{
2018-05-10 11:12:13 +00:00
"anonymous": false,
2018-05-04 14:04:04 +00:00
"inputs": [
{
2018-05-10 11:12:13 +00:00
"indexed": false,
"name": "newContract",
2018-05-04 14:04:04 +00:00
"type": "address"
}
],
2018-05-10 11:12:13 +00:00
"name": "ContractCreation",
"type": "event"
2018-05-04 14:04:04 +00:00
},
{
"constant": false,
"inputs": [
{
2018-05-10 11:12:13 +00:00
"name": "_owners",
"type": "address[]"
},
{
"name": "_threshold",
"type": "uint8"
2018-05-04 14:04:04 +00:00
},
{
2018-05-10 11:12:13 +00:00
"name": "to",
2018-05-04 14:04:04 +00:00
"type": "address"
2018-05-10 11:12:13 +00:00
},
{
"name": "data",
"type": "bytes"
2018-05-04 14:04:04 +00:00
}
],
2018-05-10 11:12:13 +00:00
"name": "setup",
2018-05-04 14:04:04 +00:00
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
2018-05-10 11:12:13 +00:00
}
],
2018-05-16 13:46:33 +00:00
"bytecode": "0x608060405234801561001057600080fd5b50612100806100206000396000f3006080604052600436106100e6576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680632f54bf6e146100e8578063468721a714610143578063610b5925146101fb57806385e332cd1461023e57806386040aa9146102955780638cff635514610305578063a04222e11461035c578063a0e67e2b14610435578063a3f4df7e146104a1578063b2494df314610531578063b7f3358d1461059d578063b91a667f146105cd578063e009cfde1461061d578063e318b52b14610680578063e75235b814610703578063ffa1ad7414610734575b005b3480156100f457600080fd5b50610129600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107c4565b604051808215151515815260200191505060405180910390f35b34801561014f57600080fd5b506101e1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff169060200190929190505050610846565b604051808215151515815260200191505060405180910390f35b34801561020757600080fd5b5061023c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108e2565b005b34801561024a57600080fd5b50610253610b5b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102a157600080fd5b50610303600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190505050610b60565b005b34801561031157600080fd5b5061031a610de6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561036857600080fd5b5061043360048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803560ff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610deb565b005b34801561044157600080fd5b5061044a610e05565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561048d578082015181840152602081019050610472565b505050509050019250505060405180910390f35b3480156104ad57600080fd5b506104b6610fa0565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104f65780820151818401526020810190506104db565b50505050905090810190601f1680156105235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561053d57600080fd5b50610546610fd9565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561058957808201518184015260208101905061056e565b505050509050019250505060405180910390f35b3480156105a957600080fd5b506105cb600480360381019080803560ff16906020019092919050505061127c565b005b3480156105d957600080fd5b5061061b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff1690602001909291905050506112fb565b005b34801561062957600080fd5b5061067e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115b3565b005b34801561068c57600080fd5b50610701600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117e2565b005b34801561070f57600080fd5b50610718611b77565b604051808260ff1660ff16815260200191505060405180910390f35b34801561074057600080fd5b50610749611b8e565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561078957808201518184015260208101905061076e565b50505050905090810190601f1680156107b65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b600080600160008473ffffffffffffffffff
"deployedBytecode": "0x6080604052600436106100e6576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680632f54bf6e146100e8578063468721a714610143578063610b5925146101fb57806385e332cd1461023e57806386040aa9146102955780638cff635514610305578063a04222e11461035c578063a0e67e2b14610435578063a3f4df7e146104a1578063b2494df314610531578063b7f3358d1461059d578063b91a667f146105cd578063e009cfde1461061d578063e318b52b14610680578063e75235b814610703578063ffa1ad7414610734575b005b3480156100f457600080fd5b50610129600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107c4565b604051808215151515815260200191505060405180910390f35b34801561014f57600080fd5b506101e1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff169060200190929190505050610846565b604051808215151515815260200191505060405180910390f35b34801561020757600080fd5b5061023c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108e2565b005b34801561024a57600080fd5b50610253610b5b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102a157600080fd5b50610303600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190505050610b60565b005b34801561031157600080fd5b5061031a610de6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561036857600080fd5b5061043360048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803560ff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610deb565b005b34801561044157600080fd5b5061044a610e05565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561048d578082015181840152602081019050610472565b505050509050019250505060405180910390f35b3480156104ad57600080fd5b506104b6610fa0565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104f65780820151818401526020810190506104db565b50505050905090810190601f1680156105235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561053d57600080fd5b50610546610fd9565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561058957808201518184015260208101905061056e565b505050509050019250505060405180910390f35b3480156105a957600080fd5b506105cb600480360381019080803560ff16906020019092919050505061127c565b005b3480156105d957600080fd5b5061061b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff1690602001909291905050506112fb565b005b34801561062957600080fd5b5061067e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115b3565b005b34801561068c57600080fd5b50610701600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117e2565b005b34801561070f57600080fd5b50610718611b77565b604051808260ff1660ff16815260200191505060405180910390f35b34801561074057600080fd5b50610749611b8e565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561078957808201518184015260208101905061076e565b50505050905090810190601f1680156107b65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b600080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffff
"sourceMap": "322:674:1:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;322:674:1;;;;;;;",
"deployedSourceMap": "322:674:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4841:129:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4841:129:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2522:377:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2522:377:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1235:391;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1235:391:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;499:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;499:55:6;;;;;;;;;;;;;;;;;;;;;;;;;;;2776:573:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2776:573:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;287:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;287:54:7;;;;;;;;;;;;;;;;;;;;;;;;;;;693:301:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;693:301:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5052:458:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5052:458:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5052:458:7;;;;;;;;;;;;;;;;;401:46:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;401:46:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;401:46:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4423:738;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4423:738:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;4423:738:6;;;;;;;;;;;;;;;;;4398:318:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4398:318:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;1906:528;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1906:528:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1887:299:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1887:299:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3683:526:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3683:526:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4722:113;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4722:113:7;;;;;;;;;;;;;;;;;;;;;;;;;;;453:40:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;453:40:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;453:40:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4841:129:7;4918:4;4962:1;4945:6;:13;4952:5;4945:13;;;;;;;;;;;;;;;;;;;;;;;;;:18;;;;4938:25;;4841:129;;;:::o;2522:377:6:-;2654:12;2762:1;2739:7;:19;2747:10;2739:19;;;;;;;;;;;;;;;;;;;;;;;;;:24;;;;2731:33;;;;;;;;2846:46;2854:2;2858:5;2865:4;2871:9;2882;2846:7;:46::i;:::-;2836:56;;2522:377;;;;;;:::o;1235:391::-;244:4:8;222:27;;:10;:27;;;214:36;;;;;;;;1401:1:6;1390:6;1382:20;;;;:59;;;;;550:3;1406:35;;1414:6;1406:35;;;;1382:59;1374:68;;;;;;;;1520:1;1501:7;:15;1509:6;1501:15;;;;;;;;;;;;;;;;;;;;;;;;;:20;;;1493:29;;;;;;;;1550:7;:25;550:3;1550:25;;;;;;;;;;;;;;;;;;;;;;;;;1532:7;:15;1540:6;1532:15;;;;;;;;;;;;;;;;:43;;;;;;;;;;;;;;;;;;1613:6;1585:7;:25;550:3;1585:25;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;1235:391;:::o;499:55::-;550:3;499:55;:::o;2776:573:7:-;244:4:8;222:27;;:10;:27;;;214:36;;;;;;;;3000:10:7;2982:28;;2995:1;2982:10;;:14;:28;;2974:37;;;;;;;;3112:5;3091:26;;:6;:17;3098:9;3091:17;;;;;;;;;;;;;;;;;;;;;;;;;:26;;;3083:35;;;;;;;;3148:6;:13;3155:5;3148:13;;;;;;;;;;;;;;;;;;;;;;;;;3128:6;:17;3135:9;3128:17;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;3187:1;3171:6;:13;3178:5;3171:13;;;;;;;;;;;;;;;;:17;;;;;;;;;;;;;;;;;;3198:10;;:12;;;;;;;;;;;;;;3291:10;3278:23;;:9;;;;;;;;;;;:23;;;;3274:68;;;3315:27;3331:10;3315:15;:27::i;:::-;3274:68;2776:573;;;:::o;287:54::-;337:3;287:54;:::o;693:301:1:-;798:32;810:7;819:10;798:11;:32::i;:::-;965:22;978:2;982:4;965:12;:22::i;:::-;693:301;;;;:::o;5052:458:7:-;5118:9;5143:22;5237:13;5264:20;5182:10;;5168:25;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;5168:25:7;;;;5143:50;;5253:1;5237:17;;5287:6;:23;337:3;5287:23;;;;;;;;;;;;;;;;;;;;;;;;;5264:46;;5320:162;337:3;5326:31;;:12;:31;;;;5320:162;;;5388:12;5373:5;5379;5373
2018-05-10 11:12:13 +00:00
"source": "pragma solidity 0.4.23;\nimport \"./Module.sol\";\nimport \"./ModuleManager.sol\";\nimport \"./OwnerManager.sol\";\n\n\n/// @title Gnosis Safe - A multisignature wallet with support for modules and owners. This contract needs to be extented to add functionality to execute transactions.\n/// @author Stefan George - <stefan@gnosis.pm>\ncontract GnosisSafe is ModuleManager, OwnerManager {\n\n /// @dev Setup function sets initial storage of contract.\n /// @param _owners List of Safe owners.\n /// @param _threshold Number of required confirmations for a Safe transaction.\n /// @param to Contract address for optional delegate call.\n /// @param data Data payload for optional delegate call.\n function setup(address[] _owners, uint8 _threshold, address to, bytes data)\n public\n {\n setupOwners(_owners, _threshold);\n // As setupOwners can only be called if the contract has not been initialized we don't need a check for setupModules\n setupModules(to, data);\n }\n}\n",
"sourcePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/GnosisSafe.sol",
"ast": {
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/GnosisSafe.sol",
"exportedSymbols": {
"GnosisSafe": [
2018-05-16 13:46:33 +00:00
39
2018-05-10 11:12:13 +00:00
]
2018-05-04 14:04:04 +00:00
},
2018-05-16 13:46:33 +00:00
"id": 40,
2018-05-10 11:12:13 +00:00
"nodeType": "SourceUnit",
"nodes": [
{
2018-05-16 13:46:33 +00:00
"id": 8,
2018-05-10 11:12:13 +00:00
"literals": [
"solidity",
"0.4",
".23"
],
"nodeType": "PragmaDirective",
2018-05-16 13:46:33 +00:00
"src": "0:23:1"
2018-05-10 11:12:13 +00:00
},
{
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/Module.sol",
"file": "./Module.sol",
2018-05-16 13:46:33 +00:00
"id": 9,
2018-05-10 11:12:13 +00:00
"nodeType": "ImportDirective",
2018-05-16 13:46:33 +00:00
"scope": 40,
"sourceUnit": 622,
"src": "24:22:1",
2018-05-10 11:12:13 +00:00
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/ModuleManager.sol",
"file": "./ModuleManager.sol",
2018-05-16 13:46:33 +00:00
"id": 10,
2018-05-10 11:12:13 +00:00
"nodeType": "ImportDirective",
2018-05-16 13:46:33 +00:00
"scope": 40,
"sourceUnit": 972,
"src": "47:29:1",
2018-05-10 11:12:13 +00:00
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/OwnerManager.sol",
"file": "./OwnerManager.sol",
2018-05-16 13:46:33 +00:00
"id": 11,
2018-05-10 11:12:13 +00:00
"nodeType": "ImportDirective",
2018-05-16 13:46:33 +00:00
"scope": 40,
"sourceUnit": 1344,
"src": "77:28:1",
2018-05-10 11:12:13 +00:00
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
2018-05-16 13:46:33 +00:00
"id": 12,
2018-05-10 11:12:13 +00:00
"name": "ModuleManager",
"nodeType": "UserDefinedTypeName",
2018-05-16 13:46:33 +00:00
"referencedDeclaration": 971,
"src": "345:13:1",
2018-05-10 11:12:13 +00:00
"typeDescriptions": {
2018-05-16 13:46:33 +00:00
"typeIdentifier": "t_contract$_ModuleManager_$971",
2018-05-10 11:12:13 +00:00
"typeString": "contract ModuleManager"
}
2018-05-04 14:04:04 +00:00
},
2018-05-16 13:46:33 +00:00
"id": 13,
2018-05-10 11:12:13 +00:00
"nodeType": "InheritanceSpecifier",
2018-05-16 13:46:33 +00:00
"src": "345:13:1"
2018-05-04 14:04:04 +00:00
},
2018-05-10 11:12:13 +00:00
{
"arguments": null,
"baseName": {
"contractScope": null,
2018-05-16 13:46:33 +00:00
"id": 14,
2018-05-10 11:12:13 +00:00
"name": "OwnerManager",
"nodeType": "UserDefinedTypeName",
2018-05-16 13:46:33 +00:00
"referencedDeclaration": 1343,
"src": "360:12:1",
2018-05-10 11:12:13 +00:00
"typeDescriptions": {
2018-05-16 13:46:33 +00:00
"typeIdentifier": "t_contract$_OwnerManager_$1343",
2018-05-10 11:12:13 +00:00
"typeString": "contract OwnerManager"
}
},
2018-05-16 13:46:33 +00:00
"id": 15,
2018-05-10 11:12:13 +00:00
"nodeType": "InheritanceSpecifier",
2018-05-16 13:46:33 +00:00
"src": "360:12:1"
2018-05-10 11:12:13 +00:00
}
],
"contractDependencies": [
2018-05-16 13:46:33 +00:00
971,
1343,
1359
2018-05-10 11:12:13 +00:00
],
"contractKind": "contract",
"documentation": "@title Gnosis Safe - A multisignature wallet with support for modules and owners. This contract needs to be extented to add functionality to execute transactions.\n @author Stefan George - <stefan@gnosis.pm>",
"fullyImplemented": true,
2018-05-16 13:46:33 +00:00
"id": 39,
2018-05-10 11:12:13 +00:00
"linearizedBaseContracts": [
2018-05-16 13:46:33 +00:00
39,
1343,
971,
1359
2018-05-10 11:12:13 +00:00
],
"name": "GnosisSafe",
"nodeType": "ContractDefinition",
"nodes": [
2018-05-04 14:04:04 +00:00
{
"body": {
2018-05-16 13:46:33 +00:00
"id": 37,
2018-05-04 14:04:04 +00:00
"nodeType": "Block",
2018-05-16 13:46:33 +00:00
"src": "788:206:1",
2018-05-04 14:04:04 +00:00
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-05-16 13:46:33 +00:00
"id": 28,
2018-05-10 11:12:13 +00:00
"name": "_owners",
2018-05-04 14:04:04 +00:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-16 13:46:33 +00:00
"referencedDeclaration": 18,
"src": "810:7:1",
2018-05-04 14:04:04 +00:00
"typeDescriptions": {
2018-05-10 11:12:13 +00:00
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
2018-05-04 14:04:04 +00:00
}
},
{
"argumentTypes": null,
2018-05-16 13:46:33 +00:00
"id": 29,
2018-05-10 11:12:13 +00:00
"name": "_threshold",
2018-05-04 14:04:04 +00:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-16 13:46:33 +00:00
"referencedDeclaration": 20,
"src": "819:10:1",
2018-05-04 14:04:04 +00:00
"typeDescriptions": {
2018-05-10 11:12:13 +00:00
"typeIdentifier": "t_uint8",
"typeString": "uint8"
2018-05-04 14:04:04 +00:00
}
}
],
"expression": {
"argumentTypes": [
{
2018-05-10 11:12:13 +00:00
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
2018-05-04 14:04:04 +00:00
},
{
2018-05-10 11:12:13 +00:00
"typeIdentifier": "t_uint8",
"typeString": "uint8"
2018-05-04 14:04:04 +00:00
}
],
2018-05-16 13:46:33 +00:00
"id": 27,
2018-05-10 11:12:13 +00:00
"name": "setupOwners",
2018-05-04 14:04:04 +00:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-16 13:46:33 +00:00
"referencedDeclaration": 1083,
"src": "798:11:1",
2018-05-04 14:04:04 +00:00
"typeDescriptions": {
2018-05-10 11:12:13 +00:00
"typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_uint8_$returns$__$",
"typeString": "function (address[] memory,uint8)"
2018-05-04 14:04:04 +00:00
}
},
2018-05-16 13:46:33 +00:00
"id": 30,
2018-05-04 14:04:04 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
2018-05-10 11:12:13 +00:00
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-16 13:46:33 +00:00
"src": "798:32:1",
2018-05-04 14:04:04 +00:00
"typeDescriptions": {
2018-05-10 11:12:13 +00:00
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
2018-05-04 14:04:04 +00:00
}
},
2018-05-16 13:46:33 +00:00
"id": 31,
2018-05-10 11:12:13 +00:00
"nodeType": "ExpressionStatement",
2018-05-16 13:46:33 +00:00
"src": "798:32:1"
2018-05-10 11:12:13 +00:00
},
2018-05-04 14:04:04 +00:00
{
"expression": {
"argumentTypes": null,
2018-05-10 11:12:13 +00:00
"arguments": [
{
"argumentTypes": null,
2018-05-16 13:46:33 +00:00
"id": 33,
2018-05-10 11:12:13 +00:00
"name": "to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-16 13:46:33 +00:00
"referencedDeclaration": 22,
"src": "978:2:1",
2018-05-10 11:12:13 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
2018-05-16 13:46:33 +00:00
"id": 34,
2018-05-10 11:12:13 +00:00
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-16 13:46:33 +00:00
"referencedDeclaration": 24,
"src": "982:4:1",
2018-05-10 11:12:13 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
2018-05-16 13:46:33 +00:00
"id": 32,
2018-05-10 11:12:13 +00:00
"name": "setupModules",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-16 13:46:33 +00:00
"referencedDeclaration": 686,
"src": "965:12:1",
2018-05-10 11:12:13 +00:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$",
"typeString": "function (address,bytes memory)"
}
},
2018-05-16 13:46:33 +00:00
"id": 35,
2018-05-10 11:12:13 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-16 13:46:33 +00:00
"src": "965:22:1",
2018-05-04 14:04:04 +00:00
"typeDescriptions": {
2018-05-10 11:12:13 +00:00
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
2018-05-04 14:04:04 +00:00
}
},
2018-05-16 13:46:33 +00:00
"id": 36,
2018-05-10 11:12:13 +00:00
"nodeType": "ExpressionStatement",
2018-05-16 13:46:33 +00:00
"src": "965:22:1"
2018-05-04 14:04:04 +00:00
}
]
},
2018-05-10 11:12:13 +00:00
"documentation": "@dev Setup function sets initial storage of contract.\n @param _owners List of Safe owners.\n @param _threshold Number of required confirmations for a Safe transaction.\n @param to Contract address for optional delegate call.\n @param data Data payload for optional delegate call.",
2018-05-16 13:46:33 +00:00
"id": 38,
2018-05-04 14:04:04 +00:00
"implemented": true,
"isConstructor": false,
2018-05-10 11:12:13 +00:00
"isDeclaredConst": false,
2018-05-04 14:04:04 +00:00
"modifiers": [],
2018-05-10 11:12:13 +00:00
"name": "setup",
2018-05-04 14:04:04 +00:00
"nodeType": "FunctionDefinition",
"parameters": {
2018-05-16 13:46:33 +00:00
"id": 25,
2018-05-04 14:04:04 +00:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2018-05-16 13:46:33 +00:00
"id": 18,
2018-05-10 11:12:13 +00:00
"name": "_owners",
2018-05-04 14:04:04 +00:00
"nodeType": "VariableDeclaration",
2018-05-16 13:46:33 +00:00
"scope": 38,
"src": "708:17:1",
2018-05-04 14:04:04 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
2018-05-10 11:12:13 +00:00
"typeString": "address[]"
2018-05-04 14:04:04 +00:00
},
"typeName": {
"baseType": {
2018-05-16 13:46:33 +00:00
"id": 16,
2018-05-04 14:04:04 +00:00
"name": "address",
"nodeType": "ElementaryTypeName",
2018-05-16 13:46:33 +00:00
"src": "708:7:1",
2018-05-04 14:04:04 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2018-05-16 13:46:33 +00:00
"id": 17,
2018-05-04 14:04:04 +00:00
"length": null,
"nodeType": "ArrayTypeName",
2018-05-16 13:46:33 +00:00
"src": "708:9:1",
2018-05-04 14:04:04 +00:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
2018-05-10 11:12:13 +00:00
"typeString": "address[]"
2018-05-04 14:04:04 +00:00
}
},
"value": null,
"visibility": "internal"
2018-05-10 11:12:13 +00:00
},
2018-05-04 14:04:04 +00:00
{
"constant": false,
2018-05-16 13:46:33 +00:00
"id": 20,
2018-05-10 11:12:13 +00:00
"name": "_threshold",
2018-05-04 14:04:04 +00:00
"nodeType": "VariableDeclaration",
2018-05-16 13:46:33 +00:00
"scope": 38,
"src": "727:16:1",
2018-05-04 14:04:04 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
2018-05-10 11:12:13 +00:00
"typeIdentifier": "t_uint8",
"typeString": "uint8"
2018-05-04 14:04:04 +00:00
},
"typeName": {
2018-05-16 13:46:33 +00:00
"id": 19,
2018-05-10 11:12:13 +00:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2018-05-16 13:46:33 +00:00
"src": "727:5:1",
2018-05-04 14:04:04 +00:00
"typeDescriptions": {
2018-05-10 11:12:13 +00:00
"typeIdentifier": "t_uint8",
"typeString": "uint8"
2018-05-04 14:04:04 +00:00
}
},
"value": null,
"visibility": "internal"
2018-05-10 11:12:13 +00:00
},
2018-05-04 14:04:04 +00:00
{
"constant": false,
2018-05-16 13:46:33 +00:00
"id": 22,
2018-05-10 11:12:13 +00:00
"name": "to",
2018-05-04 14:04:04 +00:00
"nodeType": "VariableDeclaration",
2018-05-16 13:46:33 +00:00
"scope": 38,
"src": "745:10:1",
2018-05-04 14:04:04 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
2018-05-10 11:12:13 +00:00
"typeIdentifier": "t_address",
"typeString": "address"
2018-05-04 14:04:04 +00:00
},
"typeName": {
2018-05-16 13:46:33 +00:00
"id": 21,
2018-05-10 11:12:13 +00:00
"name": "address",
2018-05-04 14:04:04 +00:00
"nodeType": "ElementaryTypeName",
2018-05-16 13:46:33 +00:00
"src": "745:7:1",
2018-05-04 14:04:04 +00:00
"typeDescriptions": {
2018-05-10 11:12:13 +00:00
"typeIdentifier": "t_address",
"typeString": "address"
2018-05-04 14:04:04 +00:00
}
},
"value": null,
"visibility": "internal"
2018-05-10 11:12:13 +00:00
},
2018-05-04 14:04:04 +00:00
{
"constant": false,
2018-05-16 13:46:33 +00:00
"id": 24,
2018-05-10 11:12:13 +00:00
"name": "data",
2018-05-04 14:04:04 +00:00
"nodeType": "VariableDeclaration",
2018-05-16 13:46:33 +00:00
"scope": 38,
"src": "757:10:1",
2018-05-04 14:04:04 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
2018-05-10 11:12:13 +00:00
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
2018-05-04 14:04:04 +00:00
},
"typeName": {
2018-05-16 13:46:33 +00:00
"id": 23,
2018-05-10 11:12:13 +00:00
"name": "bytes",
2018-05-04 14:04:04 +00:00
"nodeType": "ElementaryTypeName",
2018-05-16 13:46:33 +00:00
"src": "757:5:1",
2018-05-04 14:04:04 +00:00
"typeDescriptions": {
2018-05-10 11:12:13 +00:00
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
2018-05-04 14:04:04 +00:00
}
},
"value": null,
"visibility": "internal"
}
],
2018-05-16 13:46:33 +00:00
"src": "707:61:1"
2018-05-10 11:12:13 +00:00
},
"payable": false,
"returnParameters": {
2018-05-16 13:46:33 +00:00
"id": 26,
2018-05-10 11:12:13 +00:00
"nodeType": "ParameterList",
"parameters": [],
2018-05-16 13:46:33 +00:00
"src": "788:0:1"
2018-05-10 11:12:13 +00:00
},
2018-05-16 13:46:33 +00:00
"scope": 39,
"src": "693:301:1",
2018-05-10 11:12:13 +00:00
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
}
],
2018-05-16 13:46:33 +00:00
"scope": 40,
"src": "322:674:1"
2018-05-10 11:12:13 +00:00
}
],
2018-05-16 13:46:33 +00:00
"src": "0:997:1"
2018-05-10 11:12:13 +00:00
},
"legacyAST": {
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/GnosisSafe.sol",
"exportedSymbols": {
"GnosisSafe": [
2018-05-16 13:46:33 +00:00
39
2018-05-10 11:12:13 +00:00
]
},
2018-05-16 13:46:33 +00:00
"id": 40,
2018-05-10 11:12:13 +00:00
"nodeType": "SourceUnit",
"nodes": [
{
2018-05-16 13:46:33 +00:00
"id": 8,
2018-05-10 11:12:13 +00:00
"literals": [
"solidity",
"0.4",
".23"
],
"nodeType": "PragmaDirective",
2018-05-16 13:46:33 +00:00
"src": "0:23:1"
2018-05-10 11:12:13 +00:00
},
{
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/Module.sol",
"file": "./Module.sol",
2018-05-16 13:46:33 +00:00
"id": 9,
2018-05-10 11:12:13 +00:00
"nodeType": "ImportDirective",
2018-05-16 13:46:33 +00:00
"scope": 40,
"sourceUnit": 622,
"src": "24:22:1",
2018-05-10 11:12:13 +00:00
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/ModuleManager.sol",
"file": "./ModuleManager.sol",
2018-05-16 13:46:33 +00:00
"id": 10,
2018-05-10 11:12:13 +00:00
"nodeType": "ImportDirective",
2018-05-16 13:46:33 +00:00
"scope": 40,
"sourceUnit": 972,
"src": "47:29:1",
2018-05-10 11:12:13 +00:00
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/OwnerManager.sol",
"file": "./OwnerManager.sol",
2018-05-16 13:46:33 +00:00
"id": 11,
2018-05-10 11:12:13 +00:00
"nodeType": "ImportDirective",
2018-05-16 13:46:33 +00:00
"scope": 40,
"sourceUnit": 1344,
"src": "77:28:1",
2018-05-10 11:12:13 +00:00
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
2018-05-16 13:46:33 +00:00
"id": 12,
2018-05-10 11:12:13 +00:00
"name": "ModuleManager",
"nodeType": "UserDefinedTypeName",
2018-05-16 13:46:33 +00:00
"referencedDeclaration": 971,
"src": "345:13:1",
2018-05-10 11:12:13 +00:00
"typeDescriptions": {
2018-05-16 13:46:33 +00:00
"typeIdentifier": "t_contract$_ModuleManager_$971",
2018-05-10 11:12:13 +00:00
"typeString": "contract ModuleManager"
}
2018-05-04 14:04:04 +00:00
},
2018-05-16 13:46:33 +00:00
"id": 13,
2018-05-10 11:12:13 +00:00
"nodeType": "InheritanceSpecifier",
2018-05-16 13:46:33 +00:00
"src": "345:13:1"
2018-05-04 14:04:04 +00:00
},
2018-05-10 11:12:13 +00:00
{
"arguments": null,
"baseName": {
"contractScope": null,
2018-05-16 13:46:33 +00:00
"id": 14,
2018-05-10 11:12:13 +00:00
"name": "OwnerManager",
"nodeType": "UserDefinedTypeName",
2018-05-16 13:46:33 +00:00
"referencedDeclaration": 1343,
"src": "360:12:1",
2018-05-10 11:12:13 +00:00
"typeDescriptions": {
2018-05-16 13:46:33 +00:00
"typeIdentifier": "t_contract$_OwnerManager_$1343",
2018-05-10 11:12:13 +00:00
"typeString": "contract OwnerManager"
}
},
2018-05-16 13:46:33 +00:00
"id": 15,
2018-05-10 11:12:13 +00:00
"nodeType": "InheritanceSpecifier",
2018-05-16 13:46:33 +00:00
"src": "360:12:1"
2018-05-10 11:12:13 +00:00
}
],
"contractDependencies": [
2018-05-16 13:46:33 +00:00
971,
1343,
1359
2018-05-10 11:12:13 +00:00
],
"contractKind": "contract",
"documentation": "@title Gnosis Safe - A multisignature wallet with support for modules and owners. This contract needs to be extented to add functionality to execute transactions.\n @author Stefan George - <stefan@gnosis.pm>",
"fullyImplemented": true,
2018-05-16 13:46:33 +00:00
"id": 39,
2018-05-10 11:12:13 +00:00
"linearizedBaseContracts": [
2018-05-16 13:46:33 +00:00
39,
1343,
971,
1359
2018-05-10 11:12:13 +00:00
],
"name": "GnosisSafe",
"nodeType": "ContractDefinition",
"nodes": [
2018-05-04 14:04:04 +00:00
{
"body": {
2018-05-16 13:46:33 +00:00
"id": 37,
2018-05-04 14:04:04 +00:00
"nodeType": "Block",
2018-05-16 13:46:33 +00:00
"src": "788:206:1",
2018-05-04 14:04:04 +00:00
"statements": [
{
2018-05-10 11:12:13 +00:00
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-05-16 13:46:33 +00:00
"id": 28,
2018-05-10 11:12:13 +00:00
"name": "_owners",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-16 13:46:33 +00:00
"referencedDeclaration": 18,
"src": "810:7:1",
2018-05-04 14:04:04 +00:00
"typeDescriptions": {
2018-05-10 11:12:13 +00:00
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
2018-05-04 14:04:04 +00:00
}
},
{
"argumentTypes": null,
2018-05-16 13:46:33 +00:00
"id": 29,
2018-05-10 11:12:13 +00:00
"name": "_threshold",
2018-05-04 14:04:04 +00:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-16 13:46:33 +00:00
"referencedDeclaration": 20,
"src": "819:10:1",
2018-05-04 14:04:04 +00:00
"typeDescriptions": {
2018-05-10 11:12:13 +00:00
"typeIdentifier": "t_uint8",
"typeString": "uint8"
2018-05-04 14:04:04 +00:00
}
}
],
"expression": {
"argumentTypes": [
{
2018-05-10 11:12:13 +00:00
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
},
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
2018-05-04 14:04:04 +00:00
}
],
2018-05-16 13:46:33 +00:00
"id": 27,
2018-05-10 11:12:13 +00:00
"name": "setupOwners",
2018-05-04 14:04:04 +00:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-16 13:46:33 +00:00
"referencedDeclaration": 1083,
"src": "798:11:1",
2018-05-04 14:04:04 +00:00
"typeDescriptions": {
2018-05-10 11:12:13 +00:00
"typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_uint8_$returns$__$",
"typeString": "function (address[] memory,uint8)"
2018-05-04 14:04:04 +00:00
}
},
2018-05-16 13:46:33 +00:00
"id": 30,
2018-05-04 14:04:04 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-16 13:46:33 +00:00
"src": "798:32:1",
2018-05-04 14:04:04 +00:00
"typeDescriptions": {
2018-05-10 11:12:13 +00:00
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
2018-05-04 14:04:04 +00:00
}
},
2018-05-16 13:46:33 +00:00
"id": 31,
2018-05-04 14:04:04 +00:00
"nodeType": "ExpressionStatement",
2018-05-16 13:46:33 +00:00
"src": "798:32:1"
2018-05-04 14:04:04 +00:00
},
{
"expression": {
"argumentTypes": null,
2018-05-10 11:12:13 +00:00
"arguments": [
2018-05-04 14:04:04 +00:00
{
"argumentTypes": null,
2018-05-16 13:46:33 +00:00
"id": 33,
2018-05-10 11:12:13 +00:00
"name": "to",
2018-05-04 14:04:04 +00:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-16 13:46:33 +00:00
"referencedDeclaration": 22,
"src": "978:2:1",
2018-05-04 14:04:04 +00:00
"typeDescriptions": {
2018-05-10 11:12:13 +00:00
"typeIdentifier": "t_address",
"typeString": "address"
2018-05-04 14:04:04 +00:00
}
},
{
"argumentTypes": null,
2018-05-16 13:46:33 +00:00
"id": 34,
2018-05-10 11:12:13 +00:00
"name": "data",
2018-05-04 14:04:04 +00:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-16 13:46:33 +00:00
"referencedDeclaration": 24,
"src": "982:4:1",
2018-05-04 14:04:04 +00:00
"typeDescriptions": {
2018-05-10 11:12:13 +00:00
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
2018-05-04 14:04:04 +00:00
}
2018-05-10 11:12:13 +00:00
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
2018-05-16 13:46:33 +00:00
"id": 32,
2018-05-10 11:12:13 +00:00
"name": "setupModules",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-16 13:46:33 +00:00
"referencedDeclaration": 686,
"src": "965:12:1",
2018-05-04 14:04:04 +00:00
"typeDescriptions": {
2018-05-10 11:12:13 +00:00
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$",
"typeString": "function (address,bytes memory)"
2018-05-04 14:04:04 +00:00
}
},
2018-05-16 13:46:33 +00:00
"id": 35,
2018-05-10 11:12:13 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-16 13:46:33 +00:00
"src": "965:22:1",
2018-05-10 11:12:13 +00:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
2018-05-04 14:04:04 +00:00
},
2018-05-16 13:46:33 +00:00
"id": 36,
2018-05-10 11:12:13 +00:00
"nodeType": "ExpressionStatement",
2018-05-16 13:46:33 +00:00
"src": "965:22:1"
2018-05-04 14:04:04 +00:00
}
]
},
2018-05-10 11:12:13 +00:00
"documentation": "@dev Setup function sets initial storage of contract.\n @param _owners List of Safe owners.\n @param _threshold Number of required confirmations for a Safe transaction.\n @param to Contract address for optional delegate call.\n @param data Data payload for optional delegate call.",
2018-05-16 13:46:33 +00:00
"id": 38,
2018-05-04 14:04:04 +00:00
"implemented": true,
"isConstructor": false,
2018-05-10 11:12:13 +00:00
"isDeclaredConst": false,
2018-05-04 14:04:04 +00:00
"modifiers": [],
2018-05-10 11:12:13 +00:00
"name": "setup",
2018-05-04 14:04:04 +00:00
"nodeType": "FunctionDefinition",
"parameters": {
2018-05-16 13:46:33 +00:00
"id": 25,
2018-05-04 14:04:04 +00:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2018-05-16 13:46:33 +00:00
"id": 18,
2018-05-10 11:12:13 +00:00
"name": "_owners",
"nodeType": "VariableDeclaration",
2018-05-16 13:46:33 +00:00
"scope": 38,
"src": "708:17:1",
2018-05-10 11:12:13 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[]"
},
"typeName": {
"baseType": {
2018-05-16 13:46:33 +00:00
"id": 16,
2018-05-10 11:12:13 +00:00
"name": "address",
"nodeType": "ElementaryTypeName",
2018-05-16 13:46:33 +00:00
"src": "708:7:1",
2018-05-10 11:12:13 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2018-05-16 13:46:33 +00:00
"id": 17,
2018-05-10 11:12:13 +00:00
"length": null,
"nodeType": "ArrayTypeName",
2018-05-16 13:46:33 +00:00
"src": "708:9:1",
2018-05-10 11:12:13 +00:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
"typeString": "address[]"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-05-16 13:46:33 +00:00
"id": 20,
2018-05-10 11:12:13 +00:00
"name": "_threshold",
2018-05-04 14:04:04 +00:00
"nodeType": "VariableDeclaration",
2018-05-16 13:46:33 +00:00
"scope": 38,
"src": "727:16:1",
2018-05-04 14:04:04 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
2018-05-10 11:12:13 +00:00
"typeIdentifier": "t_uint8",
"typeString": "uint8"
2018-05-04 14:04:04 +00:00
},
"typeName": {
2018-05-16 13:46:33 +00:00
"id": 19,
2018-05-10 11:12:13 +00:00
"name": "uint8",
2018-05-04 14:04:04 +00:00
"nodeType": "ElementaryTypeName",
2018-05-16 13:46:33 +00:00
"src": "727:5:1",
2018-05-04 14:04:04 +00:00
"typeDescriptions": {
2018-05-10 11:12:13 +00:00
"typeIdentifier": "t_uint8",
"typeString": "uint8"
2018-05-04 14:04:04 +00:00
}
},
"value": null,
"visibility": "internal"
2018-05-10 11:12:13 +00:00
},
2018-05-04 14:04:04 +00:00
{
"constant": false,
2018-05-16 13:46:33 +00:00
"id": 22,
2018-05-10 11:12:13 +00:00
"name": "to",
2018-05-04 14:04:04 +00:00
"nodeType": "VariableDeclaration",
2018-05-16 13:46:33 +00:00
"scope": 38,
"src": "745:10:1",
2018-05-04 14:04:04 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
2018-05-10 11:12:13 +00:00
"typeIdentifier": "t_address",
"typeString": "address"
2018-05-04 14:04:04 +00:00
},
"typeName": {
2018-05-16 13:46:33 +00:00
"id": 21,
2018-05-10 11:12:13 +00:00
"name": "address",
"nodeType": "ElementaryTypeName",
2018-05-16 13:46:33 +00:00
"src": "745:7:1",
2018-05-04 14:04:04 +00:00
"typeDescriptions": {
2018-05-10 11:12:13 +00:00
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-05-16 13:46:33 +00:00
"id": 24,
2018-05-10 11:12:13 +00:00
"name": "data",
"nodeType": "VariableDeclaration",
2018-05-16 13:46:33 +00:00
"scope": 38,
"src": "757:10:1",
2018-05-10 11:12:13 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
2018-05-16 13:46:33 +00:00
"id": 23,
2018-05-10 11:12:13 +00:00
"name": "bytes",
"nodeType": "ElementaryTypeName",
2018-05-16 13:46:33 +00:00
"src": "757:5:1",
2018-05-10 11:12:13 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
2018-05-04 14:04:04 +00:00
}
},
"value": null,
"visibility": "internal"
}
],
2018-05-16 13:46:33 +00:00
"src": "707:61:1"
2018-05-10 11:12:13 +00:00
},
"payable": false,
"returnParameters": {
2018-05-16 13:46:33 +00:00
"id": 26,
2018-05-10 11:12:13 +00:00
"nodeType": "ParameterList",
"parameters": [],
2018-05-16 13:46:33 +00:00
"src": "788:0:1"
2018-05-04 14:04:04 +00:00
},
2018-05-16 13:46:33 +00:00
"scope": 39,
"src": "693:301:1",
2018-05-10 11:12:13 +00:00
"stateMutability": "nonpayable",
2018-05-04 14:04:04 +00:00
"superFunction": null,
"visibility": "public"
}
],
2018-05-16 13:46:33 +00:00
"scope": 40,
"src": "322:674:1"
2018-05-04 14:04:04 +00:00
}
],
2018-05-16 13:46:33 +00:00
"src": "0:997:1"
2018-05-04 14:04:04 +00:00
},
"compiler": {
"name": "solc",
2018-05-10 11:12:13 +00:00
"version": "0.4.23+commit.124ca40d.Emscripten.clang"
2018-05-04 14:04:04 +00:00
},
2018-05-10 11:12:13 +00:00
"networks": {},
2018-05-04 14:04:04 +00:00
"schemaVersion": "2.0.0",
2018-05-16 13:46:33 +00:00
"updatedAt": "2018-05-16T10:51:14.736Z"
2018-05-04 14:04:04 +00:00
}