4343 lines
199 KiB
JSON
4343 lines
199 KiB
JSON
{
|
|
"contractName": "WhitelistModule",
|
|
"abi": [
|
|
{
|
|
"constant": true,
|
|
"inputs": [
|
|
{
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "isWhitelisted",
|
|
"outputs": [
|
|
{
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"payable": false,
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"inputs": [],
|
|
"name": "manager",
|
|
"outputs": [
|
|
{
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"payable": false,
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "_masterCopy",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "changeMasterCopy",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"inputs": [],
|
|
"name": "NAME",
|
|
"outputs": [
|
|
{
|
|
"name": "",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"payable": false,
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"inputs": [],
|
|
"name": "VERSION",
|
|
"outputs": [
|
|
{
|
|
"name": "",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"payable": false,
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "accounts",
|
|
"type": "address[]"
|
|
}
|
|
],
|
|
"name": "setup",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "addToWhitelist",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "removeFromWhitelist",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "to",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"name": "value",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "executeWhitelisted",
|
|
"outputs": [
|
|
{
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
}
|
|
],
|
|
"bytecode": "0x608060405234801561001057600080fd5b50611248806100206000396000f300608060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680632f2f3be11461009e5780633af32abf14610149578063481c6a75146101a45780637de7edef146101fb5780638ab1d6811461023e578063a3f4df7e14610281578063bd5b853b14610311578063e43252d714610377578063ffa1ad74146103ba575b600080fd5b3480156100aa57600080fd5b5061012f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061044a565b604051808215151515815260200191505060405180910390f35b34801561015557600080fd5b5061018a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108c4565b604051808215151515815260200191505060405180910390f35b3480156101b057600080fd5b506101b96108e4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561020757600080fd5b5061023c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061090a565b005b34801561024a57600080fd5b5061027f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aed565b005b34801561028d57600080fd5b50610296610cf4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102d65780820151818401526020810190506102bb565b50505050905090810190601f1680156103035780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561031d57600080fd5b5061037560048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050610d2d565b005b34801561038357600080fd5b506103b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e59565b005b3480156103c657600080fd5b506103cf6110f0565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561040f5780820151818401526020810190506103f4565b50505050905090810190601f16801561043c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632f54bf6e336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561050957600080fd5b505af115801561051d573d6000803e3d6000fd5b505050506040513d602081101561053357600080fd5b810190808051906020019092919050505015156105de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f4d6574686f642063616e206f6e6c792062652063616c6c656420627920616e2081526020017f6f776e657200000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156106c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f546172676574206163636f756e74206973206e6f742077686974656c6973746581526020017f640000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663468721a785858560006040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018060200183600281111561077f57fe5b60ff168152602001828103825284818151815260200191508051906020019080838360005b838110156107bf5780820151818401526020810190506107a4565b50505050905090810190601f1680156107ec5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561080e57600080fd5b505af1158015610822573d6000803e3d6000fd5b505050506040513d602081101561083857600080fd5b810190808051906020019092919050505015156108bd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f436f756c64206e6f742065786563757465207472616e73616374696f6e00000081525060200191505060405180910390fd5b9392505050565b60026020528060005260406000206000915054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001807f4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d206d81526020017f616e61676572000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff1614151515610aaa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f496e76616c6964206d617374657220636f707920616464726573732070726f7681526020017f696465640000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610bd8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001807f4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d206d81526020017f616e61676572000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610c99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4163636f756e74206973206e6f742077686974656c697374656400000000000081525060200191505060405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6040805190810160405280601081526020017f57686974656c697374204d6f64756c650000000000000000000000000000000081525081565b600080610d38611129565b600091505b8251821015610e54578282815181101515610d5457fe5b90602001906020020151905060008173ffffffffffffffffffffffffffffffffffffffff1614151515610def576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f496e76616c6964206163636f756e742070726f7669646564000000000000000081525060200191505060405180910390fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508180600101925050610d3d565b505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f44576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001807f4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d206d81526020017f616e61676572000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff1614151515610fd3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f496e76616c6964206163636f756e742070726f7669646564000000000000000081525060200191505060405180910390fd5b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611095576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f4163636f756e7420697320616c72656164792077686974656c6973746564000081525060200191505060405180910390fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6040805190810160405280600581526020017f302e302e3100000000000000000000000000000000000000000000000000000081525081565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156111d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4d616e616765722068617320616c7265616479206265656e207365740000000081525060200191505060405180910390fd5b33600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505600a165627a7a72305820f1cf02fadc29a305d77859a993b36d76fd1e81179c7d76dcd7c94ab25793e5ae0029",
|
|
"deployedBytecode": "0x608060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680632f2f3be11461009e5780633af32abf14610149578063481c6a75146101a45780637de7edef146101fb5780638ab1d6811461023e578063a3f4df7e14610281578063bd5b853b14610311578063e43252d714610377578063ffa1ad74146103ba575b600080fd5b3480156100aa57600080fd5b5061012f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061044a565b604051808215151515815260200191505060405180910390f35b34801561015557600080fd5b5061018a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108c4565b604051808215151515815260200191505060405180910390f35b3480156101b057600080fd5b506101b96108e4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561020757600080fd5b5061023c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061090a565b005b34801561024a57600080fd5b5061027f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aed565b005b34801561028d57600080fd5b50610296610cf4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102d65780820151818401526020810190506102bb565b50505050905090810190601f1680156103035780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561031d57600080fd5b5061037560048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050610d2d565b005b34801561038357600080fd5b506103b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e59565b005b3480156103c657600080fd5b506103cf6110f0565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561040f5780820151818401526020810190506103f4565b50505050905090810190601f16801561043c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632f54bf6e336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561050957600080fd5b505af115801561051d573d6000803e3d6000fd5b505050506040513d602081101561053357600080fd5b810190808051906020019092919050505015156105de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f4d6574686f642063616e206f6e6c792062652063616c6c656420627920616e2081526020017f6f776e657200000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156106c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f546172676574206163636f756e74206973206e6f742077686974656c6973746581526020017f640000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663468721a785858560006040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018060200183600281111561077f57fe5b60ff168152602001828103825284818151815260200191508051906020019080838360005b838110156107bf5780820151818401526020810190506107a4565b50505050905090810190601f1680156107ec5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561080e57600080fd5b505af1158015610822573d6000803e3d6000fd5b505050506040513d602081101561083857600080fd5b810190808051906020019092919050505015156108bd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f436f756c64206e6f742065786563757465207472616e73616374696f6e00000081525060200191505060405180910390fd5b9392505050565b60026020528060005260406000206000915054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001807f4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d206d81526020017f616e61676572000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff1614151515610aaa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f496e76616c6964206d617374657220636f707920616464726573732070726f7681526020017f696465640000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610bd8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001807f4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d206d81526020017f616e61676572000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610c99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4163636f756e74206973206e6f742077686974656c697374656400000000000081525060200191505060405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6040805190810160405280601081526020017f57686974656c697374204d6f64756c650000000000000000000000000000000081525081565b600080610d38611129565b600091505b8251821015610e54578282815181101515610d5457fe5b90602001906020020151905060008173ffffffffffffffffffffffffffffffffffffffff1614151515610def576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f496e76616c6964206163636f756e742070726f7669646564000000000000000081525060200191505060405180910390fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508180600101925050610d3d565b505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f44576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001807f4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d206d81526020017f616e61676572000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff1614151515610fd3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f496e76616c6964206163636f756e742070726f7669646564000000000000000081525060200191505060405180910390fd5b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611095576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f4163636f756e7420697320616c72656164792077686974656c6973746564000081525060200191505060405180910390fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6040805190810160405280600581526020017f302e302e3100000000000000000000000000000000000000000000000000000081525081565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156111d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4d616e616765722068617320616c7265616479206265656e207365740000000081525060200191505060405180910390fd5b33600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505600a165627a7a72305820f1cf02fadc29a305d77859a993b36d76fd1e81179c7d76dcd7c94ab25793e5ae0029",
|
|
"sourceMap": "289:2199:20:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;289:2199:20;;;;;;;",
|
|
"deployedSourceMap": "289:2199:20:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1984:502;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1984:502:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;498:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;498:46:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;262:28:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;262:28:7;;;;;;;;;;;;;;;;;;;;;;;;;;;626:248:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;626:248:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;1528:202:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1528:202:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;331:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;331:48:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;331:48:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;667:298;;8:9:-1;5:2;;;30:1;27;20:12;5:2;667:298:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1114:260;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1114:260:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;385:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;385:40:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;385:40:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1984:502;2083:4;2213:7;;;;;;;;;;;2200:29;;;2230:10;2200:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2200:41:20;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2200:41:20;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2200:41:20;;;;;;;;;;;;;;;;2192:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2301:13;:17;2315:2;2301:17;;;;;;;;;;;;;;;;;;;;;;;;;2293:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2374:7;;;;;;;;;;;:33;;;2408:2;2412:5;2419:4;2425:19;2374:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2374:71:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2374:71:20;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2374:71:20;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2374:71:20;;;;;;;;;;;;;;;;2366:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1984:502;;;;;:::o;498:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;262:28:7:-;;;;;;;;;;;;;:::o;626:248:5:-;359:7:7;;;;;;;;;;;337:30;;:10;:30;;;329:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;791:1:5;776:11;:16;;;;768:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;856:11;843:10;;:24;;;;;;;;;;;;;;;;;;626:248;:::o;1528:202:20:-;359:7:7;;;;;;;;;;;337:30;;:10;:30;;;329:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1630:13:20;:22;1644:7;1630:22;;;;;;;;;;;;;;;;;;;;;;;;;1622:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1718:5;1693:13;:22;1707:7;1693:22;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;1528:202;:::o;331:48::-;;;;;;;;;;;;;;;;;;;;:::o;667:298::-;758:9;813:15;731:12;:10;:12::i;:::-;770:1;758:13;;753:206;777:8;:15;773:1;:19;753:206;;;831:8;840:1;831:11;;;;;;;;;;;;;;;;;;813:29;;875:1;864:7;:12;;;;856:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;944:4;919:13;:22;933:7;919:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;794:3;;;;;;;753:206;;;667:298;;;:::o;1114:260::-;359:7:7;;;;;;;;;;;337:30;;:10;:30;;;329:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1222:1:20;1211:7;:12;;;;1203:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1271:13;:22;1285:7;1271:22;;;;;;;;;;;;;;;;;;;;;;;;;1270:23;1262:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1363:4;1338:13;:22;1352:7;1338:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;1114:260;:::o;385:40::-;;;;;;;;;;;;;;;;;;;;:::o;434:300:7:-;648:1;636:7;;;;;;;;;;;628:21;;;620:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;716:10;692:7;;:35;;;;;;;;;;;;;;;;;;434:300::o",
|
|
"source": "pragma solidity 0.4.24;\nimport \"../Enum.sol\";\nimport \"../Module.sol\";\nimport \"../ModuleManager.sol\";\nimport \"../OwnerManager.sol\";\n\n\n/// @title Whitelist Module - Allows to execute transactions to whitelisted addresses without confirmations.\n/// @author Stefan George - <stefan@gnosis.pm>\ncontract WhitelistModule is Module {\n\n string public constant NAME = \"Whitelist Module\";\n string public constant VERSION = \"0.0.1\";\n\n // isWhitelisted mapping maps destination address to boolean.\n mapping (address => bool) public isWhitelisted;\n\n /// @dev Setup function sets initial storage of contract.\n /// @param accounts List of whitelisted accounts.\n function setup(address[] accounts)\n public\n {\n setManager();\n for (uint256 i = 0; i < accounts.length; i++) {\n address account = accounts[i];\n require(account != 0, \"Invalid account provided\");\n isWhitelisted[account] = true;\n }\n }\n\n /// @dev Allows to add destination to whitelist. This can only be done via a Safe transaction.\n /// @param account Destination address.\n function addToWhitelist(address account)\n public\n authorized\n {\n require(account != 0, \"Invalid account provided\");\n require(!isWhitelisted[account], \"Account is already whitelisted\");\n isWhitelisted[account] = true;\n }\n\n /// @dev Allows to remove destination from whitelist. This can only be done via a Safe transaction.\n /// @param account Destination address.\n function removeFromWhitelist(address account)\n public\n authorized\n {\n require(isWhitelisted[account], \"Account is not whitelisted\");\n isWhitelisted[account] = false;\n }\n\n /// @dev Returns if Safe transaction is to a whitelisted destination.\n /// @param to Whitelisted destination address.\n /// @param value Not checked.\n /// @param data Not checked.\n /// @return Returns if transaction can be executed.\n function executeWhitelisted(address to, uint256 value, bytes data)\n public\n returns (bool)\n {\n // Only Safe owners are allowed to execute transactions to whitelisted accounts.\n require(OwnerManager(manager).isOwner(msg.sender), \"Method can only be called by an owner\");\n require(isWhitelisted[to], \"Target account is not whitelisted\");\n require(manager.execTransactionFromModule(to, value, data, Enum.Operation.Call), \"Could not execute transaction\");\n }\n}\n",
|
|
"sourcePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/modules/WhitelistModule.sol",
|
|
"ast": {
|
|
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/modules/WhitelistModule.sol",
|
|
"exportedSymbols": {
|
|
"WhitelistModule": [
|
|
2639
|
|
]
|
|
},
|
|
"id": 2640,
|
|
"nodeType": "SourceUnit",
|
|
"nodes": [
|
|
{
|
|
"id": 2487,
|
|
"literals": [
|
|
"solidity",
|
|
"0.4",
|
|
".24"
|
|
],
|
|
"nodeType": "PragmaDirective",
|
|
"src": "0:23:20"
|
|
},
|
|
{
|
|
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/Enum.sol",
|
|
"file": "../Enum.sol",
|
|
"id": 2488,
|
|
"nodeType": "ImportDirective",
|
|
"scope": 2640,
|
|
"sourceUnit": 31,
|
|
"src": "24:21:20",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/Module.sol",
|
|
"file": "../Module.sol",
|
|
"id": 2489,
|
|
"nodeType": "ImportDirective",
|
|
"scope": 2640,
|
|
"sourceUnit": 763,
|
|
"src": "46:23:20",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/ModuleManager.sol",
|
|
"file": "../ModuleManager.sol",
|
|
"id": 2490,
|
|
"nodeType": "ImportDirective",
|
|
"scope": 2640,
|
|
"sourceUnit": 1119,
|
|
"src": "70:30:20",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/OwnerManager.sol",
|
|
"file": "../OwnerManager.sol",
|
|
"id": 2491,
|
|
"nodeType": "ImportDirective",
|
|
"scope": 2640,
|
|
"sourceUnit": 1505,
|
|
"src": "101:29:20",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"baseContracts": [
|
|
{
|
|
"arguments": null,
|
|
"baseName": {
|
|
"contractScope": null,
|
|
"id": 2492,
|
|
"name": "Module",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 762,
|
|
"src": "317:6:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_Module_$762",
|
|
"typeString": "contract Module"
|
|
}
|
|
},
|
|
"id": 2493,
|
|
"nodeType": "InheritanceSpecifier",
|
|
"src": "317:6:20"
|
|
}
|
|
],
|
|
"contractDependencies": [
|
|
662,
|
|
762,
|
|
1654
|
|
],
|
|
"contractKind": "contract",
|
|
"documentation": "@title Whitelist Module - Allows to execute transactions to whitelisted addresses without confirmations.\n @author Stefan George - <stefan@gnosis.pm>",
|
|
"fullyImplemented": true,
|
|
"id": 2639,
|
|
"linearizedBaseContracts": [
|
|
2639,
|
|
762,
|
|
662,
|
|
1654
|
|
],
|
|
"name": "WhitelistModule",
|
|
"nodeType": "ContractDefinition",
|
|
"nodes": [
|
|
{
|
|
"constant": true,
|
|
"id": 2496,
|
|
"name": "NAME",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2639,
|
|
"src": "331:48:20",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_memory",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 2494,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "331:6:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "57686974656c697374204d6f64756c65",
|
|
"id": 2495,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "361:18:20",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_84d69d03a7c747e8eefe7cc2b9e87b566cfc57cc90e4ed88f03f9c9780b7d4e6",
|
|
"typeString": "literal_string \"Whitelist Module\""
|
|
},
|
|
"value": "Whitelist Module"
|
|
},
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 2499,
|
|
"name": "VERSION",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2639,
|
|
"src": "385:40:20",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_memory",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 2497,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "385:6:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "302e302e31",
|
|
"id": 2498,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "418:7:20",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_ae209a0b48f21c054280f2455d32cf309387644879d9acbd8ffc199163811885",
|
|
"typeString": "literal_string \"0.0.1\""
|
|
},
|
|
"value": "0.0.1"
|
|
},
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2503,
|
|
"name": "isWhitelisted",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2639,
|
|
"src": "498:46:20",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
|
|
"typeString": "mapping(address => bool)"
|
|
},
|
|
"typeName": {
|
|
"id": 2502,
|
|
"keyType": {
|
|
"id": 2500,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "507:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "498:25:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
|
|
"typeString": "mapping(address => bool)"
|
|
},
|
|
"valueType": {
|
|
"id": 2501,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "518:4:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 2544,
|
|
"nodeType": "Block",
|
|
"src": "721:244:20",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [],
|
|
"expression": {
|
|
"argumentTypes": [],
|
|
"id": 2509,
|
|
"name": "setManager",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 761,
|
|
"src": "731:10:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
|
|
"typeString": "function ()"
|
|
}
|
|
},
|
|
"id": 2510,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "731:12:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 2511,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "731:12:20"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 2542,
|
|
"nodeType": "Block",
|
|
"src": "799:160:20",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
2524
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 2524,
|
|
"name": "account",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2545,
|
|
"src": "813:15:20",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 2523,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "813:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 2528,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2525,
|
|
"name": "accounts",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2506,
|
|
"src": "831:8:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
|
|
"typeString": "address[] memory"
|
|
}
|
|
},
|
|
"id": 2527,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2526,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2513,
|
|
"src": "840:1:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "831:11:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "813:29:20"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 2532,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2530,
|
|
"name": "account",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2524,
|
|
"src": "864:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 2531,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "875:1:20",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "864:12:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "496e76616c6964206163636f756e742070726f7669646564",
|
|
"id": 2533,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "878:26:20",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_da3a197794c99763c55550690a7eddbab5a672fb560947793aaf405a2b5f9490",
|
|
"typeString": "literal_string \"Invalid account provided\""
|
|
},
|
|
"value": "Invalid account provided"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_da3a197794c99763c55550690a7eddbab5a672fb560947793aaf405a2b5f9490",
|
|
"typeString": "literal_string \"Invalid account provided\""
|
|
}
|
|
],
|
|
"id": 2529,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
2657,
|
|
2658
|
|
],
|
|
"referencedDeclaration": 2658,
|
|
"src": "856:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 2534,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "856:49:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 2535,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "856:49:20"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2540,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2536,
|
|
"name": "isWhitelisted",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2503,
|
|
"src": "919:13:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
|
|
"typeString": "mapping(address => bool)"
|
|
}
|
|
},
|
|
"id": 2538,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2537,
|
|
"name": "account",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2524,
|
|
"src": "933:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "919:22:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "74727565",
|
|
"id": 2539,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "944:4:20",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "true"
|
|
},
|
|
"src": "919:29:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 2541,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "919:29:20"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 2519,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2516,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2513,
|
|
"src": "773:1:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2517,
|
|
"name": "accounts",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2506,
|
|
"src": "777:8:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
|
|
"typeString": "address[] memory"
|
|
}
|
|
},
|
|
"id": 2518,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "777:15:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "773:19:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 2543,
|
|
"initializationExpression": {
|
|
"assignments": [
|
|
2513
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 2513,
|
|
"name": "i",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2545,
|
|
"src": "758:9:20",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2512,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "758:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 2515,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 2514,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "770:1:20",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "758:13:20"
|
|
},
|
|
"loopExpression": {
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2521,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "++",
|
|
"prefix": false,
|
|
"src": "794:3:20",
|
|
"subExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2520,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2513,
|
|
"src": "794:1:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 2522,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "794:3:20"
|
|
},
|
|
"nodeType": "ForStatement",
|
|
"src": "753:206:20"
|
|
}
|
|
]
|
|
},
|
|
"documentation": "@dev Setup function sets initial storage of contract.\n @param accounts List of whitelisted accounts.",
|
|
"id": 2545,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "setup",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2507,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2506,
|
|
"name": "accounts",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2545,
|
|
"src": "682:18:20",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
|
|
"typeString": "address[]"
|
|
},
|
|
"typeName": {
|
|
"baseType": {
|
|
"id": 2504,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "682:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"id": 2505,
|
|
"length": null,
|
|
"nodeType": "ArrayTypeName",
|
|
"src": "682:9:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
|
|
"typeString": "address[]"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "681:20:20"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2508,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "721:0:20"
|
|
},
|
|
"scope": 2639,
|
|
"src": "667:298:20",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 2573,
|
|
"nodeType": "Block",
|
|
"src": "1193:181:20",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 2555,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2553,
|
|
"name": "account",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2547,
|
|
"src": "1211:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 2554,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1222:1:20",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "1211:12:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "496e76616c6964206163636f756e742070726f7669646564",
|
|
"id": 2556,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1225:26:20",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_da3a197794c99763c55550690a7eddbab5a672fb560947793aaf405a2b5f9490",
|
|
"typeString": "literal_string \"Invalid account provided\""
|
|
},
|
|
"value": "Invalid account provided"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_da3a197794c99763c55550690a7eddbab5a672fb560947793aaf405a2b5f9490",
|
|
"typeString": "literal_string \"Invalid account provided\""
|
|
}
|
|
],
|
|
"id": 2552,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
2657,
|
|
2658
|
|
],
|
|
"referencedDeclaration": 2658,
|
|
"src": "1203:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 2557,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1203:49:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 2558,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1203:49:20"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 2563,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "!",
|
|
"prefix": true,
|
|
"src": "1270:23:20",
|
|
"subExpression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2560,
|
|
"name": "isWhitelisted",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2503,
|
|
"src": "1271:13:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
|
|
"typeString": "mapping(address => bool)"
|
|
}
|
|
},
|
|
"id": 2562,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2561,
|
|
"name": "account",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2547,
|
|
"src": "1285:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "1271:22:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "4163636f756e7420697320616c72656164792077686974656c6973746564",
|
|
"id": 2564,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1295:32:20",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_42f0c01c0b06bc5e652009543318e4fd67cfba114702c7f55fad1ff0c3c82ad8",
|
|
"typeString": "literal_string \"Account is already whitelisted\""
|
|
},
|
|
"value": "Account is already whitelisted"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_42f0c01c0b06bc5e652009543318e4fd67cfba114702c7f55fad1ff0c3c82ad8",
|
|
"typeString": "literal_string \"Account is already whitelisted\""
|
|
}
|
|
],
|
|
"id": 2559,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
2657,
|
|
2658
|
|
],
|
|
"referencedDeclaration": 2658,
|
|
"src": "1262:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 2565,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1262:66:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 2566,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1262:66:20"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2571,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2567,
|
|
"name": "isWhitelisted",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2503,
|
|
"src": "1338:13:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
|
|
"typeString": "mapping(address => bool)"
|
|
}
|
|
},
|
|
"id": 2569,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2568,
|
|
"name": "account",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2547,
|
|
"src": "1352:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "1338:22:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "74727565",
|
|
"id": 2570,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1363:4:20",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "true"
|
|
},
|
|
"src": "1338:29:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 2572,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1338:29:20"
|
|
}
|
|
]
|
|
},
|
|
"documentation": "@dev Allows to add destination to whitelist. This can only be done via a Safe transaction.\n @param account Destination address.",
|
|
"id": 2574,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [
|
|
{
|
|
"arguments": null,
|
|
"id": 2550,
|
|
"modifierName": {
|
|
"argumentTypes": null,
|
|
"id": 2549,
|
|
"name": "authorized",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 741,
|
|
"src": "1178:10:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_modifier$__$",
|
|
"typeString": "modifier ()"
|
|
}
|
|
},
|
|
"nodeType": "ModifierInvocation",
|
|
"src": "1178:10:20"
|
|
}
|
|
],
|
|
"name": "addToWhitelist",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2548,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2547,
|
|
"name": "account",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2574,
|
|
"src": "1138:15:20",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 2546,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1138:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1137:17:20"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2551,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "1193:0:20"
|
|
},
|
|
"scope": 2639,
|
|
"src": "1114:260:20",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 2594,
|
|
"nodeType": "Block",
|
|
"src": "1612:118:20",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2582,
|
|
"name": "isWhitelisted",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2503,
|
|
"src": "1630:13:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
|
|
"typeString": "mapping(address => bool)"
|
|
}
|
|
},
|
|
"id": 2584,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2583,
|
|
"name": "account",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2576,
|
|
"src": "1644:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "1630:22:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "4163636f756e74206973206e6f742077686974656c6973746564",
|
|
"id": 2585,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1654:28:20",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_2f56605dd36b69a55672cdc762e8d3959c002a474a30a6774bba38bb65f718e1",
|
|
"typeString": "literal_string \"Account is not whitelisted\""
|
|
},
|
|
"value": "Account is not whitelisted"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_2f56605dd36b69a55672cdc762e8d3959c002a474a30a6774bba38bb65f718e1",
|
|
"typeString": "literal_string \"Account is not whitelisted\""
|
|
}
|
|
],
|
|
"id": 2581,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
2657,
|
|
2658
|
|
],
|
|
"referencedDeclaration": 2658,
|
|
"src": "1622:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 2586,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1622:61:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 2587,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1622:61:20"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2592,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2588,
|
|
"name": "isWhitelisted",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2503,
|
|
"src": "1693:13:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
|
|
"typeString": "mapping(address => bool)"
|
|
}
|
|
},
|
|
"id": 2590,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2589,
|
|
"name": "account",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2576,
|
|
"src": "1707:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "1693:22:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "66616c7365",
|
|
"id": 2591,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1718:5:20",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "false"
|
|
},
|
|
"src": "1693:30:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 2593,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1693:30:20"
|
|
}
|
|
]
|
|
},
|
|
"documentation": "@dev Allows to remove destination from whitelist. This can only be done via a Safe transaction.\n @param account Destination address.",
|
|
"id": 2595,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [
|
|
{
|
|
"arguments": null,
|
|
"id": 2579,
|
|
"modifierName": {
|
|
"argumentTypes": null,
|
|
"id": 2578,
|
|
"name": "authorized",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 741,
|
|
"src": "1597:10:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_modifier$__$",
|
|
"typeString": "modifier ()"
|
|
}
|
|
},
|
|
"nodeType": "ModifierInvocation",
|
|
"src": "1597:10:20"
|
|
}
|
|
],
|
|
"name": "removeFromWhitelist",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2577,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2576,
|
|
"name": "account",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2595,
|
|
"src": "1557:15:20",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 2575,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1557:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1556:17:20"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2580,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "1612:0:20"
|
|
},
|
|
"scope": 2639,
|
|
"src": "1528:202:20",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 2637,
|
|
"nodeType": "Block",
|
|
"src": "2093:393:20",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2611,
|
|
"name": "msg",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2654,
|
|
"src": "2230:3:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_message",
|
|
"typeString": "msg"
|
|
}
|
|
},
|
|
"id": 2612,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "sender",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "2230:10:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 2608,
|
|
"name": "manager",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 727,
|
|
"src": "2213:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_ModuleManager_$1118",
|
|
"typeString": "contract ModuleManager"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_contract$_ModuleManager_$1118",
|
|
"typeString": "contract ModuleManager"
|
|
}
|
|
],
|
|
"id": 2607,
|
|
"name": "OwnerManager",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1504,
|
|
"src": "2200:12:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_OwnerManager_$1504_$",
|
|
"typeString": "type(contract OwnerManager)"
|
|
}
|
|
},
|
|
"id": 2609,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2200:21:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_OwnerManager_$1504",
|
|
"typeString": "contract OwnerManager"
|
|
}
|
|
},
|
|
"id": 2610,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "isOwner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 1454,
|
|
"src": "2200:29:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$",
|
|
"typeString": "function (address) view external returns (bool)"
|
|
}
|
|
},
|
|
"id": 2613,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2200:41:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "4d6574686f642063616e206f6e6c792062652063616c6c656420627920616e206f776e6572",
|
|
"id": 2614,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2243:39:20",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_4df072353ff501a1071e1cc3e2eb3ee0ebb21a35321efe90c0960bf2f4356640",
|
|
"typeString": "literal_string \"Method can only be called by an owner\""
|
|
},
|
|
"value": "Method can only be called by an owner"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_4df072353ff501a1071e1cc3e2eb3ee0ebb21a35321efe90c0960bf2f4356640",
|
|
"typeString": "literal_string \"Method can only be called by an owner\""
|
|
}
|
|
],
|
|
"id": 2606,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
2657,
|
|
2658
|
|
],
|
|
"referencedDeclaration": 2658,
|
|
"src": "2192:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 2615,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2192:91:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 2616,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2192:91:20"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2618,
|
|
"name": "isWhitelisted",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2503,
|
|
"src": "2301:13:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
|
|
"typeString": "mapping(address => bool)"
|
|
}
|
|
},
|
|
"id": 2620,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2619,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2597,
|
|
"src": "2315:2:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "2301:17:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "546172676574206163636f756e74206973206e6f742077686974656c6973746564",
|
|
"id": 2621,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2320:35:20",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_9a154d7dadc01125e34b410c8bdd8fd2546fbbac90b22b0d92787a072cf6fc42",
|
|
"typeString": "literal_string \"Target account is not whitelisted\""
|
|
},
|
|
"value": "Target account is not whitelisted"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_9a154d7dadc01125e34b410c8bdd8fd2546fbbac90b22b0d92787a072cf6fc42",
|
|
"typeString": "literal_string \"Target account is not whitelisted\""
|
|
}
|
|
],
|
|
"id": 2617,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
2657,
|
|
2658
|
|
],
|
|
"referencedDeclaration": 2658,
|
|
"src": "2293:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 2622,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2293:63:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 2623,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2293:63:20"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 2627,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2597,
|
|
"src": "2408:2:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 2628,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2599,
|
|
"src": "2412:5:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 2629,
|
|
"name": "data",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2601,
|
|
"src": "2419:4:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2630,
|
|
"name": "Enum",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 30,
|
|
"src": "2425:4:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_Enum_$30_$",
|
|
"typeString": "type(contract Enum)"
|
|
}
|
|
},
|
|
"id": 2631,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "Operation",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 29,
|
|
"src": "2425:14:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_Operation_$29_$",
|
|
"typeString": "type(enum Enum.Operation)"
|
|
}
|
|
},
|
|
"id": 2632,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "Call",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "2425:19:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_Operation_$29",
|
|
"typeString": "enum Enum.Operation"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_enum$_Operation_$29",
|
|
"typeString": "enum Enum.Operation"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2625,
|
|
"name": "manager",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 727,
|
|
"src": "2374:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_ModuleManager_$1118",
|
|
"typeString": "contract ModuleManager"
|
|
}
|
|
},
|
|
"id": 2626,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "execTransactionFromModule",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 945,
|
|
"src": "2374:33:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$29_$returns$_t_bool_$",
|
|
"typeString": "function (address,uint256,bytes memory,enum Enum.Operation) external returns (bool)"
|
|
}
|
|
},
|
|
"id": 2633,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2374:71:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "436f756c64206e6f742065786563757465207472616e73616374696f6e",
|
|
"id": 2634,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2447:31:20",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_b0a2f29e31cc28eee068c27ff93342fb8d9840dcad25c6f669ce8154844930c4",
|
|
"typeString": "literal_string \"Could not execute transaction\""
|
|
},
|
|
"value": "Could not execute transaction"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_b0a2f29e31cc28eee068c27ff93342fb8d9840dcad25c6f669ce8154844930c4",
|
|
"typeString": "literal_string \"Could not execute transaction\""
|
|
}
|
|
],
|
|
"id": 2624,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
2657,
|
|
2658
|
|
],
|
|
"referencedDeclaration": 2658,
|
|
"src": "2366:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 2635,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2366:113:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 2636,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2366:113:20"
|
|
}
|
|
]
|
|
},
|
|
"documentation": "@dev Returns if Safe transaction is to a whitelisted destination.\n @param to Whitelisted destination address.\n @param value Not checked.\n @param data Not checked.\n @return Returns if transaction can be executed.",
|
|
"id": 2638,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "executeWhitelisted",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2602,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2597,
|
|
"name": "to",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2638,
|
|
"src": "2012:10:20",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 2596,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2012:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2599,
|
|
"name": "value",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2638,
|
|
"src": "2024:13:20",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2598,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2024:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2601,
|
|
"name": "data",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2638,
|
|
"src": "2039:10:20",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2600,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2039:5:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2011:39:20"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2605,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2604,
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2638,
|
|
"src": "2083:4:20",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 2603,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2083:4:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2082:6:20"
|
|
},
|
|
"scope": 2639,
|
|
"src": "1984:502:20",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "public"
|
|
}
|
|
],
|
|
"scope": 2640,
|
|
"src": "289:2199:20"
|
|
}
|
|
],
|
|
"src": "0:2489:20"
|
|
},
|
|
"legacyAST": {
|
|
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/modules/WhitelistModule.sol",
|
|
"exportedSymbols": {
|
|
"WhitelistModule": [
|
|
2639
|
|
]
|
|
},
|
|
"id": 2640,
|
|
"nodeType": "SourceUnit",
|
|
"nodes": [
|
|
{
|
|
"id": 2487,
|
|
"literals": [
|
|
"solidity",
|
|
"0.4",
|
|
".24"
|
|
],
|
|
"nodeType": "PragmaDirective",
|
|
"src": "0:23:20"
|
|
},
|
|
{
|
|
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/Enum.sol",
|
|
"file": "../Enum.sol",
|
|
"id": 2488,
|
|
"nodeType": "ImportDirective",
|
|
"scope": 2640,
|
|
"sourceUnit": 31,
|
|
"src": "24:21:20",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/Module.sol",
|
|
"file": "../Module.sol",
|
|
"id": 2489,
|
|
"nodeType": "ImportDirective",
|
|
"scope": 2640,
|
|
"sourceUnit": 763,
|
|
"src": "46:23:20",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/ModuleManager.sol",
|
|
"file": "../ModuleManager.sol",
|
|
"id": 2490,
|
|
"nodeType": "ImportDirective",
|
|
"scope": 2640,
|
|
"sourceUnit": 1119,
|
|
"src": "70:30:20",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/OwnerManager.sol",
|
|
"file": "../OwnerManager.sol",
|
|
"id": 2491,
|
|
"nodeType": "ImportDirective",
|
|
"scope": 2640,
|
|
"sourceUnit": 1505,
|
|
"src": "101:29:20",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"baseContracts": [
|
|
{
|
|
"arguments": null,
|
|
"baseName": {
|
|
"contractScope": null,
|
|
"id": 2492,
|
|
"name": "Module",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 762,
|
|
"src": "317:6:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_Module_$762",
|
|
"typeString": "contract Module"
|
|
}
|
|
},
|
|
"id": 2493,
|
|
"nodeType": "InheritanceSpecifier",
|
|
"src": "317:6:20"
|
|
}
|
|
],
|
|
"contractDependencies": [
|
|
662,
|
|
762,
|
|
1654
|
|
],
|
|
"contractKind": "contract",
|
|
"documentation": "@title Whitelist Module - Allows to execute transactions to whitelisted addresses without confirmations.\n @author Stefan George - <stefan@gnosis.pm>",
|
|
"fullyImplemented": true,
|
|
"id": 2639,
|
|
"linearizedBaseContracts": [
|
|
2639,
|
|
762,
|
|
662,
|
|
1654
|
|
],
|
|
"name": "WhitelistModule",
|
|
"nodeType": "ContractDefinition",
|
|
"nodes": [
|
|
{
|
|
"constant": true,
|
|
"id": 2496,
|
|
"name": "NAME",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2639,
|
|
"src": "331:48:20",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_memory",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 2494,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "331:6:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "57686974656c697374204d6f64756c65",
|
|
"id": 2495,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "361:18:20",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_84d69d03a7c747e8eefe7cc2b9e87b566cfc57cc90e4ed88f03f9c9780b7d4e6",
|
|
"typeString": "literal_string \"Whitelist Module\""
|
|
},
|
|
"value": "Whitelist Module"
|
|
},
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 2499,
|
|
"name": "VERSION",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2639,
|
|
"src": "385:40:20",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_memory",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 2497,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "385:6:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "302e302e31",
|
|
"id": 2498,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "418:7:20",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_ae209a0b48f21c054280f2455d32cf309387644879d9acbd8ffc199163811885",
|
|
"typeString": "literal_string \"0.0.1\""
|
|
},
|
|
"value": "0.0.1"
|
|
},
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2503,
|
|
"name": "isWhitelisted",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2639,
|
|
"src": "498:46:20",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
|
|
"typeString": "mapping(address => bool)"
|
|
},
|
|
"typeName": {
|
|
"id": 2502,
|
|
"keyType": {
|
|
"id": 2500,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "507:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "498:25:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
|
|
"typeString": "mapping(address => bool)"
|
|
},
|
|
"valueType": {
|
|
"id": 2501,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "518:4:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 2544,
|
|
"nodeType": "Block",
|
|
"src": "721:244:20",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [],
|
|
"expression": {
|
|
"argumentTypes": [],
|
|
"id": 2509,
|
|
"name": "setManager",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 761,
|
|
"src": "731:10:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
|
|
"typeString": "function ()"
|
|
}
|
|
},
|
|
"id": 2510,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "731:12:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 2511,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "731:12:20"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 2542,
|
|
"nodeType": "Block",
|
|
"src": "799:160:20",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
2524
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 2524,
|
|
"name": "account",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2545,
|
|
"src": "813:15:20",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 2523,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "813:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 2528,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2525,
|
|
"name": "accounts",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2506,
|
|
"src": "831:8:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
|
|
"typeString": "address[] memory"
|
|
}
|
|
},
|
|
"id": 2527,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2526,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2513,
|
|
"src": "840:1:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "831:11:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "813:29:20"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 2532,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2530,
|
|
"name": "account",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2524,
|
|
"src": "864:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 2531,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "875:1:20",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "864:12:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "496e76616c6964206163636f756e742070726f7669646564",
|
|
"id": 2533,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "878:26:20",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_da3a197794c99763c55550690a7eddbab5a672fb560947793aaf405a2b5f9490",
|
|
"typeString": "literal_string \"Invalid account provided\""
|
|
},
|
|
"value": "Invalid account provided"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_da3a197794c99763c55550690a7eddbab5a672fb560947793aaf405a2b5f9490",
|
|
"typeString": "literal_string \"Invalid account provided\""
|
|
}
|
|
],
|
|
"id": 2529,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
2657,
|
|
2658
|
|
],
|
|
"referencedDeclaration": 2658,
|
|
"src": "856:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 2534,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "856:49:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 2535,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "856:49:20"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2540,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2536,
|
|
"name": "isWhitelisted",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2503,
|
|
"src": "919:13:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
|
|
"typeString": "mapping(address => bool)"
|
|
}
|
|
},
|
|
"id": 2538,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2537,
|
|
"name": "account",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2524,
|
|
"src": "933:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "919:22:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "74727565",
|
|
"id": 2539,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "944:4:20",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "true"
|
|
},
|
|
"src": "919:29:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 2541,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "919:29:20"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 2519,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2516,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2513,
|
|
"src": "773:1:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2517,
|
|
"name": "accounts",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2506,
|
|
"src": "777:8:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
|
|
"typeString": "address[] memory"
|
|
}
|
|
},
|
|
"id": 2518,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "777:15:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "773:19:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 2543,
|
|
"initializationExpression": {
|
|
"assignments": [
|
|
2513
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 2513,
|
|
"name": "i",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2545,
|
|
"src": "758:9:20",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2512,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "758:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 2515,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 2514,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "770:1:20",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "758:13:20"
|
|
},
|
|
"loopExpression": {
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2521,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "++",
|
|
"prefix": false,
|
|
"src": "794:3:20",
|
|
"subExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2520,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2513,
|
|
"src": "794:1:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 2522,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "794:3:20"
|
|
},
|
|
"nodeType": "ForStatement",
|
|
"src": "753:206:20"
|
|
}
|
|
]
|
|
},
|
|
"documentation": "@dev Setup function sets initial storage of contract.\n @param accounts List of whitelisted accounts.",
|
|
"id": 2545,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "setup",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2507,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2506,
|
|
"name": "accounts",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2545,
|
|
"src": "682:18:20",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
|
|
"typeString": "address[]"
|
|
},
|
|
"typeName": {
|
|
"baseType": {
|
|
"id": 2504,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "682:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"id": 2505,
|
|
"length": null,
|
|
"nodeType": "ArrayTypeName",
|
|
"src": "682:9:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
|
|
"typeString": "address[]"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "681:20:20"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2508,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "721:0:20"
|
|
},
|
|
"scope": 2639,
|
|
"src": "667:298:20",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 2573,
|
|
"nodeType": "Block",
|
|
"src": "1193:181:20",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 2555,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2553,
|
|
"name": "account",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2547,
|
|
"src": "1211:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 2554,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1222:1:20",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "1211:12:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "496e76616c6964206163636f756e742070726f7669646564",
|
|
"id": 2556,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1225:26:20",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_da3a197794c99763c55550690a7eddbab5a672fb560947793aaf405a2b5f9490",
|
|
"typeString": "literal_string \"Invalid account provided\""
|
|
},
|
|
"value": "Invalid account provided"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_da3a197794c99763c55550690a7eddbab5a672fb560947793aaf405a2b5f9490",
|
|
"typeString": "literal_string \"Invalid account provided\""
|
|
}
|
|
],
|
|
"id": 2552,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
2657,
|
|
2658
|
|
],
|
|
"referencedDeclaration": 2658,
|
|
"src": "1203:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 2557,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1203:49:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 2558,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1203:49:20"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 2563,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "!",
|
|
"prefix": true,
|
|
"src": "1270:23:20",
|
|
"subExpression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2560,
|
|
"name": "isWhitelisted",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2503,
|
|
"src": "1271:13:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
|
|
"typeString": "mapping(address => bool)"
|
|
}
|
|
},
|
|
"id": 2562,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2561,
|
|
"name": "account",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2547,
|
|
"src": "1285:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "1271:22:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "4163636f756e7420697320616c72656164792077686974656c6973746564",
|
|
"id": 2564,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1295:32:20",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_42f0c01c0b06bc5e652009543318e4fd67cfba114702c7f55fad1ff0c3c82ad8",
|
|
"typeString": "literal_string \"Account is already whitelisted\""
|
|
},
|
|
"value": "Account is already whitelisted"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_42f0c01c0b06bc5e652009543318e4fd67cfba114702c7f55fad1ff0c3c82ad8",
|
|
"typeString": "literal_string \"Account is already whitelisted\""
|
|
}
|
|
],
|
|
"id": 2559,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
2657,
|
|
2658
|
|
],
|
|
"referencedDeclaration": 2658,
|
|
"src": "1262:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 2565,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1262:66:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 2566,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1262:66:20"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2571,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2567,
|
|
"name": "isWhitelisted",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2503,
|
|
"src": "1338:13:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
|
|
"typeString": "mapping(address => bool)"
|
|
}
|
|
},
|
|
"id": 2569,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2568,
|
|
"name": "account",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2547,
|
|
"src": "1352:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "1338:22:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "74727565",
|
|
"id": 2570,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1363:4:20",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "true"
|
|
},
|
|
"src": "1338:29:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 2572,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1338:29:20"
|
|
}
|
|
]
|
|
},
|
|
"documentation": "@dev Allows to add destination to whitelist. This can only be done via a Safe transaction.\n @param account Destination address.",
|
|
"id": 2574,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [
|
|
{
|
|
"arguments": null,
|
|
"id": 2550,
|
|
"modifierName": {
|
|
"argumentTypes": null,
|
|
"id": 2549,
|
|
"name": "authorized",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 741,
|
|
"src": "1178:10:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_modifier$__$",
|
|
"typeString": "modifier ()"
|
|
}
|
|
},
|
|
"nodeType": "ModifierInvocation",
|
|
"src": "1178:10:20"
|
|
}
|
|
],
|
|
"name": "addToWhitelist",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2548,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2547,
|
|
"name": "account",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2574,
|
|
"src": "1138:15:20",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 2546,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1138:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1137:17:20"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2551,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "1193:0:20"
|
|
},
|
|
"scope": 2639,
|
|
"src": "1114:260:20",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 2594,
|
|
"nodeType": "Block",
|
|
"src": "1612:118:20",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2582,
|
|
"name": "isWhitelisted",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2503,
|
|
"src": "1630:13:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
|
|
"typeString": "mapping(address => bool)"
|
|
}
|
|
},
|
|
"id": 2584,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2583,
|
|
"name": "account",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2576,
|
|
"src": "1644:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "1630:22:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "4163636f756e74206973206e6f742077686974656c6973746564",
|
|
"id": 2585,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1654:28:20",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_2f56605dd36b69a55672cdc762e8d3959c002a474a30a6774bba38bb65f718e1",
|
|
"typeString": "literal_string \"Account is not whitelisted\""
|
|
},
|
|
"value": "Account is not whitelisted"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_2f56605dd36b69a55672cdc762e8d3959c002a474a30a6774bba38bb65f718e1",
|
|
"typeString": "literal_string \"Account is not whitelisted\""
|
|
}
|
|
],
|
|
"id": 2581,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
2657,
|
|
2658
|
|
],
|
|
"referencedDeclaration": 2658,
|
|
"src": "1622:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 2586,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1622:61:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 2587,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1622:61:20"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2592,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2588,
|
|
"name": "isWhitelisted",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2503,
|
|
"src": "1693:13:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
|
|
"typeString": "mapping(address => bool)"
|
|
}
|
|
},
|
|
"id": 2590,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2589,
|
|
"name": "account",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2576,
|
|
"src": "1707:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "1693:22:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "66616c7365",
|
|
"id": 2591,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1718:5:20",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "false"
|
|
},
|
|
"src": "1693:30:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 2593,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1693:30:20"
|
|
}
|
|
]
|
|
},
|
|
"documentation": "@dev Allows to remove destination from whitelist. This can only be done via a Safe transaction.\n @param account Destination address.",
|
|
"id": 2595,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [
|
|
{
|
|
"arguments": null,
|
|
"id": 2579,
|
|
"modifierName": {
|
|
"argumentTypes": null,
|
|
"id": 2578,
|
|
"name": "authorized",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 741,
|
|
"src": "1597:10:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_modifier$__$",
|
|
"typeString": "modifier ()"
|
|
}
|
|
},
|
|
"nodeType": "ModifierInvocation",
|
|
"src": "1597:10:20"
|
|
}
|
|
],
|
|
"name": "removeFromWhitelist",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2577,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2576,
|
|
"name": "account",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2595,
|
|
"src": "1557:15:20",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 2575,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1557:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1556:17:20"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2580,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "1612:0:20"
|
|
},
|
|
"scope": 2639,
|
|
"src": "1528:202:20",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 2637,
|
|
"nodeType": "Block",
|
|
"src": "2093:393:20",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2611,
|
|
"name": "msg",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2654,
|
|
"src": "2230:3:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_message",
|
|
"typeString": "msg"
|
|
}
|
|
},
|
|
"id": 2612,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "sender",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "2230:10:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 2608,
|
|
"name": "manager",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 727,
|
|
"src": "2213:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_ModuleManager_$1118",
|
|
"typeString": "contract ModuleManager"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_contract$_ModuleManager_$1118",
|
|
"typeString": "contract ModuleManager"
|
|
}
|
|
],
|
|
"id": 2607,
|
|
"name": "OwnerManager",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1504,
|
|
"src": "2200:12:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_OwnerManager_$1504_$",
|
|
"typeString": "type(contract OwnerManager)"
|
|
}
|
|
},
|
|
"id": 2609,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2200:21:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_OwnerManager_$1504",
|
|
"typeString": "contract OwnerManager"
|
|
}
|
|
},
|
|
"id": 2610,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "isOwner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 1454,
|
|
"src": "2200:29:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$",
|
|
"typeString": "function (address) view external returns (bool)"
|
|
}
|
|
},
|
|
"id": 2613,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2200:41:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "4d6574686f642063616e206f6e6c792062652063616c6c656420627920616e206f776e6572",
|
|
"id": 2614,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2243:39:20",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_4df072353ff501a1071e1cc3e2eb3ee0ebb21a35321efe90c0960bf2f4356640",
|
|
"typeString": "literal_string \"Method can only be called by an owner\""
|
|
},
|
|
"value": "Method can only be called by an owner"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_4df072353ff501a1071e1cc3e2eb3ee0ebb21a35321efe90c0960bf2f4356640",
|
|
"typeString": "literal_string \"Method can only be called by an owner\""
|
|
}
|
|
],
|
|
"id": 2606,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
2657,
|
|
2658
|
|
],
|
|
"referencedDeclaration": 2658,
|
|
"src": "2192:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 2615,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2192:91:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 2616,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2192:91:20"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2618,
|
|
"name": "isWhitelisted",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2503,
|
|
"src": "2301:13:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
|
|
"typeString": "mapping(address => bool)"
|
|
}
|
|
},
|
|
"id": 2620,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2619,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2597,
|
|
"src": "2315:2:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "2301:17:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "546172676574206163636f756e74206973206e6f742077686974656c6973746564",
|
|
"id": 2621,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2320:35:20",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_9a154d7dadc01125e34b410c8bdd8fd2546fbbac90b22b0d92787a072cf6fc42",
|
|
"typeString": "literal_string \"Target account is not whitelisted\""
|
|
},
|
|
"value": "Target account is not whitelisted"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_9a154d7dadc01125e34b410c8bdd8fd2546fbbac90b22b0d92787a072cf6fc42",
|
|
"typeString": "literal_string \"Target account is not whitelisted\""
|
|
}
|
|
],
|
|
"id": 2617,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
2657,
|
|
2658
|
|
],
|
|
"referencedDeclaration": 2658,
|
|
"src": "2293:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 2622,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2293:63:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 2623,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2293:63:20"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 2627,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2597,
|
|
"src": "2408:2:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 2628,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2599,
|
|
"src": "2412:5:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 2629,
|
|
"name": "data",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2601,
|
|
"src": "2419:4:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2630,
|
|
"name": "Enum",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 30,
|
|
"src": "2425:4:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_Enum_$30_$",
|
|
"typeString": "type(contract Enum)"
|
|
}
|
|
},
|
|
"id": 2631,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "Operation",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 29,
|
|
"src": "2425:14:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_Operation_$29_$",
|
|
"typeString": "type(enum Enum.Operation)"
|
|
}
|
|
},
|
|
"id": 2632,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "Call",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "2425:19:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_Operation_$29",
|
|
"typeString": "enum Enum.Operation"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_enum$_Operation_$29",
|
|
"typeString": "enum Enum.Operation"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2625,
|
|
"name": "manager",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 727,
|
|
"src": "2374:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_ModuleManager_$1118",
|
|
"typeString": "contract ModuleManager"
|
|
}
|
|
},
|
|
"id": 2626,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "execTransactionFromModule",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 945,
|
|
"src": "2374:33:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$29_$returns$_t_bool_$",
|
|
"typeString": "function (address,uint256,bytes memory,enum Enum.Operation) external returns (bool)"
|
|
}
|
|
},
|
|
"id": 2633,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2374:71:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "436f756c64206e6f742065786563757465207472616e73616374696f6e",
|
|
"id": 2634,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2447:31:20",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_b0a2f29e31cc28eee068c27ff93342fb8d9840dcad25c6f669ce8154844930c4",
|
|
"typeString": "literal_string \"Could not execute transaction\""
|
|
},
|
|
"value": "Could not execute transaction"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_b0a2f29e31cc28eee068c27ff93342fb8d9840dcad25c6f669ce8154844930c4",
|
|
"typeString": "literal_string \"Could not execute transaction\""
|
|
}
|
|
],
|
|
"id": 2624,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
2657,
|
|
2658
|
|
],
|
|
"referencedDeclaration": 2658,
|
|
"src": "2366:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 2635,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2366:113:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 2636,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2366:113:20"
|
|
}
|
|
]
|
|
},
|
|
"documentation": "@dev Returns if Safe transaction is to a whitelisted destination.\n @param to Whitelisted destination address.\n @param value Not checked.\n @param data Not checked.\n @return Returns if transaction can be executed.",
|
|
"id": 2638,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "executeWhitelisted",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2602,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2597,
|
|
"name": "to",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2638,
|
|
"src": "2012:10:20",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 2596,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2012:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2599,
|
|
"name": "value",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2638,
|
|
"src": "2024:13:20",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2598,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2024:7:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2601,
|
|
"name": "data",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2638,
|
|
"src": "2039:10:20",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2600,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2039:5:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2011:39:20"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2605,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2604,
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2638,
|
|
"src": "2083:4:20",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 2603,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2083:4:20",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2082:6:20"
|
|
},
|
|
"scope": 2639,
|
|
"src": "1984:502:20",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "public"
|
|
}
|
|
],
|
|
"scope": 2640,
|
|
"src": "289:2199:20"
|
|
}
|
|
],
|
|
"src": "0:2489:20"
|
|
},
|
|
"compiler": {
|
|
"name": "solc",
|
|
"version": "0.4.24+commit.e67f0147.Emscripten.clang"
|
|
},
|
|
"networks": {
|
|
"1529048918903": {
|
|
"events": {},
|
|
"links": {},
|
|
"address": "0xa00f7e4ccb9ed6c92f6fcf554ce2910407d8f37b",
|
|
"transactionHash": "0x463374c2fbc7eaff5b87e65c6a8fdc1177ef82c66084df6e7b88b506f99b193c"
|
|
}
|
|
},
|
|
"schemaVersion": "2.0.0",
|
|
"updatedAt": "2018-06-15T07:49:22.369Z"
|
|
} |