7619 lines
390 KiB
JSON
7619 lines
390 KiB
JSON
{
|
|
"contractName": "GnosisSafeTeamEdition",
|
|
"abi": [
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "owner",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"name": "_threshold",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "addOwnerWithThreshold",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "_owners",
|
|
"type": "address[]"
|
|
},
|
|
{
|
|
"name": "_threshold",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"name": "to",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "setup",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"inputs": [],
|
|
"name": "DOMAIN_SEPERATOR_TYPEHASH",
|
|
"outputs": [
|
|
{
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"payable": false,
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"inputs": [
|
|
{
|
|
"name": "owner",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "isOwner",
|
|
"outputs": [
|
|
{
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"payable": false,
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "to",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"name": "value",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"type": "bytes"
|
|
},
|
|
{
|
|
"name": "operation",
|
|
"type": "uint8"
|
|
}
|
|
],
|
|
"name": "execTransactionFromModule",
|
|
"outputs": [
|
|
{
|
|
"name": "success",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "module",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "enableModule",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "_threshold",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "changeThreshold",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "_masterCopy",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "changeMasterCopy",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"inputs": [],
|
|
"name": "SENTINEL_MODULES",
|
|
"outputs": [
|
|
{
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"payable": false,
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"inputs": [],
|
|
"name": "SENTINEL_OWNERS",
|
|
"outputs": [
|
|
{
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"payable": false,
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"inputs": [
|
|
{
|
|
"name": "",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "isApproved",
|
|
"outputs": [
|
|
{
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"payable": false,
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"inputs": [],
|
|
"name": "getOwners",
|
|
"outputs": [
|
|
{
|
|
"name": "",
|
|
"type": "address[]"
|
|
}
|
|
],
|
|
"payable": false,
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"inputs": [],
|
|
"name": "NAME",
|
|
"outputs": [
|
|
{
|
|
"name": "",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"payable": false,
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"inputs": [],
|
|
"name": "getModules",
|
|
"outputs": [
|
|
{
|
|
"name": "",
|
|
"type": "address[]"
|
|
}
|
|
],
|
|
"payable": false,
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"inputs": [],
|
|
"name": "domainSeperator",
|
|
"outputs": [
|
|
{
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"payable": false,
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"inputs": [],
|
|
"name": "SAFE_TX_TYPEHASH",
|
|
"outputs": [
|
|
{
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"payable": false,
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "prevModule",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"name": "module",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "disableModule",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "prevOwner",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"name": "oldOwner",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"name": "newOwner",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "swapOwner",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"inputs": [
|
|
{
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "isExecuted",
|
|
"outputs": [
|
|
{
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"payable": false,
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"inputs": [],
|
|
"name": "getThreshold",
|
|
"outputs": [
|
|
{
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"payable": false,
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "prevOwner",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"name": "owner",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"name": "_threshold",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "removeOwner",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"inputs": [],
|
|
"name": "VERSION",
|
|
"outputs": [
|
|
{
|
|
"name": "",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"payable": false,
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"payable": true,
|
|
"stateMutability": "payable",
|
|
"type": "fallback"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": false,
|
|
"name": "newContract",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "ContractCreation",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "transactionHash",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "approveTransactionByHash",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "to",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"name": "value",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"type": "bytes"
|
|
},
|
|
{
|
|
"name": "operation",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"name": "nonce",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "approveTransactionWithParameters",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "to",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"name": "value",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"type": "bytes"
|
|
},
|
|
{
|
|
"name": "operation",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"name": "nonce",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "execTransactionIfApproved",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"inputs": [
|
|
{
|
|
"name": "to",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"name": "value",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"type": "bytes"
|
|
},
|
|
{
|
|
"name": "operation",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"name": "nonce",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "getTransactionHash",
|
|
"outputs": [
|
|
{
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"payable": false,
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
}
|
|
],
|
|
"bytecode": "0x608060405234801561001057600080fd5b5061415b806100206000396000f300608060405260043610610153576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062249a7a146101555780630d582f13146101865780630ec78d9e146101d3578063153414fa146102a95780631da5187f1461035357806324cd131f146103865780632b500041146104305780632f54bf6e146104f6578063468721a714610551578063610b592514610609578063694e80c31461064c5780637de7edef1461067957806385e332cd146106bc5780638cff635514610713578063a09e89f51461076a578063a0e67e2b146107cf578063a3f4df7e1461083b578063b2494df3146108cb578063cb73ac5614610937578063ccafc3871461096a578063e009cfde1461099d578063e318b52b14610a00578063e52cb36a14610a83578063e75235b814610ac8578063f8dc5dd914610af3578063ffa1ad7414610b60575b005b34801561016157600080fd5b506101846004803603810190808035600019169060200190929190505050610bf0565b005b34801561019257600080fd5b506101d1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610df8565b005b3480156101df57600080fd5b506102a76004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506111fe565b005b3480156102b557600080fd5b50610351600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff16906020019092919080359060200190929190505050611384565b005b34801561035f57600080fd5b506103686113a0565b60405180826000191660001916815260200191505060405180910390f35b34801561039257600080fd5b5061042e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff169060200190929190803590602001909291905050506113c7565b005b34801561043c57600080fd5b506104d8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff1690602001909291908035906020019092919050505061156a565b60405180826000191660001916815260200191505060405180910390f35b34801561050257600080fd5b50610537600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061189f565b604051808215151515815260200191505060405180910390f35b34801561055d57600080fd5b506105ef600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff169060200190929190505050611921565b604051808215151515815260200191505060405180910390f35b34801561061557600080fd5b5061064a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a4d565b005b34801561065857600080fd5b5061067760048036038101908080359060200190929190505050611e2b565b005b34801561068557600080fd5b506106ba600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061203d565b005b3480156106c857600080fd5b506106d16121fe565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561071f57600080fd5b50610728612203565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561077657600080fd5b506107b96004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612208565b6040518082815260200191505060405180910390f35b3480156107db57600080fd5b506107e461222d565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561082757808201518184015260208101905061080c565b505050509050019250505060405180910390f35b34801561084757600080fd5b506108506123c8565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610890578082015181840152602081019050610875565b50505050905090810190601f1680156108bd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156108d757600080fd5b506108e0612401565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610923578082015181840152602081019050610908565b505050509050019250505060405180910390f35b34801561094357600080fd5b5061094c6126a8565b60405180826000191660001916815260200191505060405180910390f35b34801561097657600080fd5b5061097f6126ae565b60405180826000191660001916815260200191505060405180910390f35b3480156109a957600080fd5b506109fe600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126d5565b005b348015610a0c57600080fd5b50610a81600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612aee565b005b348015610a8f57600080fd5b50610ab2600480360381019080803560001916906020019092919050505061313b565b6040518082815260200191505060405180910390f35b348015610ad457600080fd5b50610add613153565b6040518082815260200191505060405180910390f35b348015610aff57600080fd5b50610b5e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061315d565b005b348015610b6c57600080fd5b50610b75613642565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610bb5578082015181840152602081019050610b9a565b50505050905090810190601f168015610be25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151515610cde576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f53656e646572206973206e6f7420616e206f776e65720000000000000000000081525060200191505060405180910390fd5b600060066000836000191660001916815260200190815260200160002054141515610d97576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f53616665207472616e73616374696f6e20616c7265616479206578656375746581526020017f640000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600160076000836000191660001916815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ec1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d207481526020017f68697320636f6e7472616374000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1614158015610f155750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1515610f89576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f496e76616c6964206f776e657220616464726573732070726f7669646564000081525060200191505060405180910390fd5b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611076576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4164647265737320697320616c726561647920616e206f776e6572000000000081525060200191505060405180910390fd5b60026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360008154809291906001019190505550806004541415156111fa576111f981611e2b565b5b5050565b60006001026005546000191614151561127f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f446f6d61696e20536570657261746f7220616c7265616479207365742100000081525060200191505060405180910390fd5b7f035aff83d86937d35b32e04f0ddc6ff469290eef2f1b692d8a815c89404d4749600102306040516020018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001925050506040516020818303038152906040526040518082805190602001908083835b602083101515611333578051825260208201915060208101905060208303925061130e565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060058160001916905550611374848461367b565b61137e8282613b3b565b50505050565b611399611394868686868661156a565b610bf0565b5050505050565b7f035aff83d86937d35b32e04f0ddc6ff469290eef2f1b692d8a815c89404d474960010281565b60006113d6868686868661156a565b9050600060066000836000191660001916815260200190815260200160002054141515611491576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f53616665207472616e73616374696f6e20616c7265616479206578656375746581526020017f640000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61149a81613d72565b6001600660008360001916600019168152602001908152602001600020819055506114c8868686865a613ff0565b1515611562576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f436f756c64206e6f7420657865637574652073616665207472616e736163746981526020017f6f6e00000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b505050505050565b6000807f5d1bba48ff479eb8a88ec6029f6b5eebc805c7dcb87470d5b1121d36d824c8736001028787876040518082805190602001908083835b6020831015156115c957805182526020820191506020810190506020830392506115a4565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902087876040516020018087600019166000191681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001846000191660001916815260200183600281111561165f57fe5b60ff16815260200182815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156116b95780518252602082019150602081019050602083039250611694565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020905060197f01000000000000000000000000000000000000000000000000000000000000000260017f010000000000000000000000000000000000000000000000000000000000000002308360405160200180857effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101847effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140182600019166000191681526020019450505050506040516020818303038152906040526040518082805190602001908083835b6020831015156118665780518252602082019150602081019050602083039250611841565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902091505095945050505050565b600080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600080600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151515611a36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001807f4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d206181526020017f6e20656e61626c6564206d6f64756c650000000000000000000000000000000081525060400191505060405180910390fd5b611a43858585855a613ff0565b9050949350505050565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d207481526020017f68697320636f6e7472616374000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff1614158015611b6a5750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b1515611bde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f496e76616c6964206d6f64756c6520616464726573732070726f76696465640081525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611ccb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4d6f64756c652068617320616c7265616479206265656e20616464656400000081525060200191505060405180910390fd5b60016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ef4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d207481526020017f68697320636f6e7472616374000000000000000000000000000000000000000081525060400191505060405180910390fd5b6003548111151515611f94576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f5468726573686f6c642063616e6e6f7420657863656564206f776e657220636f81526020017f756e74000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60018110151515612033576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f5468726573686f6c64206e6565647320746f206265206772656174657220746881526020017f616e20300000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8060048190555050565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612106576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d207481526020017f68697320636f6e7472616374000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff16141515156121bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f496e76616c6964206d617374657220636f707920616464726573732070726f7681526020017f696465640000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600181565b600181565b6007602052816000526040600020602052806000526040600020600091509150505481565b6060806000806003546040519080825280602002602001820160405280156122645781602001602082028038833980820191505090505b5092506000915060026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415156123bf5780838381518110151561231457fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081806001019250506122cf565b82935050505090565b6040805190810160405280601881526020017f476e6f7369732053616665205465616d2045646974696f6e000000000000000081525081565b606060008060606000925060016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691505b600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151561251557600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691508280600101935050612470565b826040519080825280602002602001820160405280156125445781602001602082028038833980820191505090505b5090506000925060016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691505b600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151561269f578181848151811015156125f457fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915082806001019350506125af565b80935050505090565b60055481565b7f5d1bba48ff479eb8a88ec6029f6b5eebc805c7dcb87470d5b1121d36d824c87360010281565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561279e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d207481526020017f68697320636f6e7472616374000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff16141580156127f25750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b1515612866576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f496e76616c6964206d6f64756c6520616464726573732070726f76696465640081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561298e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001807f496e76616c696420707265764d6f64756c652c206d6f64756c6520706169722081526020017f70726f766964656400000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612bb7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d207481526020017f68697320636f6e7472616374000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff1614158015612c0b5750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b1515612c7f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f496e76616c6964206f776e657220616464726573732070726f7669646564000081525060200191505060405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612d6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4164647265737320697320616c726561647920616e206f776e6572000000000081525060200191505060405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1614158015612dc05750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1515612e34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f496e76616c6964206f776e657220616464726573732070726f7669646564000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612f5c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001807f496e76616c696420707265764f776e65722c206f776e6572207061697220707281526020017f6f7669646564000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b60066020528060005260406000206000915090505481565b6000600454905090565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613226576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d207481526020017f68697320636f6e7472616374000000000000000000000000000000000000000081525060400191505060405180910390fd5b80600160035403101515156132c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001807f4e6577206f776e657220636f756e74206e6565647320746f206265206c61726781526020017f6572207468616e206e6577207468726573686f6c64000000000000000000000081525060400191505060405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff161415801561331d5750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1515613391576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f496e76616c6964206f776e657220616464726573732070726f7669646564000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156134b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001807f496e76616c696420707265764f776e65722c206f776e6572207061697220707281526020017f6f7669646564000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360008154809291906001900391905055508060045414151561363d5761363c81611e2b565b5b505050565b6040805190810160405280600581526020017f302e302e3100000000000000000000000000000000000000000000000000000081525081565b6000806000806004541415156136f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f4f776e657273206861766520616c7265616479206265656e207365747570000081525060200191505060405180910390fd5b84518411151515613798576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f5468726573686f6c642063616e6e6f7420657863656564206f776e657220636f81526020017f756e74000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60018410151515613837576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f5468726573686f6c64206e6565647320746f206265206772656174657220746881526020017f616e20300000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60019250600091505b8451821015613aa657848281518110151561385757fe5b90602001906020020151905060008173ffffffffffffffffffffffffffffffffffffffff16141580156138b75750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b151561392b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f496e76616c6964206f776e657220616464726573732070726f7669646564000081525060200191505060405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515613a18576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4475706c6963617465206f776e657220616464726573732070726f766964656481525060200191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508092508180600101925050613840565b6001600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508451600381905550836004819055505050505050565b600060016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515613c4f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f4d6f64756c6573206861766520616c7265616479206265656e20696e6974696181526020017f6c697a656400000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6001806000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008273ffffffffffffffffffffffffffffffffffffffff16141515613d6e57613cf982825a6140ed565b1515613d6d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f436f756c64206e6f742066696e69736820696e697469616c697a6174696f6e0081525060200191505060405180910390fd5b5b5050565b60008060008060076000866000191660001916815260200190815260200160002093506000925060026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691505b600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515613f6f5760008460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141590503373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480613eaf5750805b15613f08578015613eff5760008460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b82806001019350505b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150613dfd565b6004548310151515613fe9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4e6f7420656e6f75676820636f6e6669726d6174696f6e73000000000000000081525060200191505060405180910390fd5b5050505050565b6000806000600281111561400057fe5b84600281111561400c57fe5b14156140255761401e87878786614104565b91506140e3565b6001600281111561403257fe5b84600281111561403e57fe5b14156140565761404f8786856140ed565b91506140e2565b61405f8561411d565b905060008173ffffffffffffffffffffffffffffffffffffffff16141591507f4db17dd5e4732fb6da34a148104a592783ca119a1e7bb8829eba6cbadef0b51181604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15b5b5095945050505050565b60008060008451602086018786f490509392505050565b6000806000845160208601878987f19050949350505050565b60008151602083016000f090509190505600a165627a7a7230582031102eb032deb2807d57bb3656f8ed6ee67350204a56a68129268fd2246445fe0029",
|
|
"deployedBytecode": "0x608060405260043610610153576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062249a7a146101555780630d582f13146101865780630ec78d9e146101d3578063153414fa146102a95780631da5187f1461035357806324cd131f146103865780632b500041146104305780632f54bf6e146104f6578063468721a714610551578063610b592514610609578063694e80c31461064c5780637de7edef1461067957806385e332cd146106bc5780638cff635514610713578063a09e89f51461076a578063a0e67e2b146107cf578063a3f4df7e1461083b578063b2494df3146108cb578063cb73ac5614610937578063ccafc3871461096a578063e009cfde1461099d578063e318b52b14610a00578063e52cb36a14610a83578063e75235b814610ac8578063f8dc5dd914610af3578063ffa1ad7414610b60575b005b34801561016157600080fd5b506101846004803603810190808035600019169060200190929190505050610bf0565b005b34801561019257600080fd5b506101d1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610df8565b005b3480156101df57600080fd5b506102a76004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506111fe565b005b3480156102b557600080fd5b50610351600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff16906020019092919080359060200190929190505050611384565b005b34801561035f57600080fd5b506103686113a0565b60405180826000191660001916815260200191505060405180910390f35b34801561039257600080fd5b5061042e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff169060200190929190803590602001909291905050506113c7565b005b34801561043c57600080fd5b506104d8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff1690602001909291908035906020019092919050505061156a565b60405180826000191660001916815260200191505060405180910390f35b34801561050257600080fd5b50610537600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061189f565b604051808215151515815260200191505060405180910390f35b34801561055d57600080fd5b506105ef600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff169060200190929190505050611921565b604051808215151515815260200191505060405180910390f35b34801561061557600080fd5b5061064a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a4d565b005b34801561065857600080fd5b5061067760048036038101908080359060200190929190505050611e2b565b005b34801561068557600080fd5b506106ba600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061203d565b005b3480156106c857600080fd5b506106d16121fe565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561071f57600080fd5b50610728612203565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561077657600080fd5b506107b96004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612208565b6040518082815260200191505060405180910390f35b3480156107db57600080fd5b506107e461222d565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561082757808201518184015260208101905061080c565b505050509050019250505060405180910390f35b34801561084757600080fd5b506108506123c8565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610890578082015181840152602081019050610875565b50505050905090810190601f1680156108bd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156108d757600080fd5b506108e0612401565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610923578082015181840152602081019050610908565b505050509050019250505060405180910390f35b34801561094357600080fd5b5061094c6126a8565b60405180826000191660001916815260200191505060405180910390f35b34801561097657600080fd5b5061097f6126ae565b60405180826000191660001916815260200191505060405180910390f35b3480156109a957600080fd5b506109fe600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126d5565b005b348015610a0c57600080fd5b50610a81600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612aee565b005b348015610a8f57600080fd5b50610ab2600480360381019080803560001916906020019092919050505061313b565b6040518082815260200191505060405180910390f35b348015610ad457600080fd5b50610add613153565b6040518082815260200191505060405180910390f35b348015610aff57600080fd5b50610b5e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061315d565b005b348015610b6c57600080fd5b50610b75613642565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610bb5578082015181840152602081019050610b9a565b50505050905090810190601f168015610be25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151515610cde576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f53656e646572206973206e6f7420616e206f776e65720000000000000000000081525060200191505060405180910390fd5b600060066000836000191660001916815260200190815260200160002054141515610d97576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f53616665207472616e73616374696f6e20616c7265616479206578656375746581526020017f640000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600160076000836000191660001916815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ec1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d207481526020017f68697320636f6e7472616374000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1614158015610f155750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1515610f89576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f496e76616c6964206f776e657220616464726573732070726f7669646564000081525060200191505060405180910390fd5b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611076576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4164647265737320697320616c726561647920616e206f776e6572000000000081525060200191505060405180910390fd5b60026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360008154809291906001019190505550806004541415156111fa576111f981611e2b565b5b5050565b60006001026005546000191614151561127f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f446f6d61696e20536570657261746f7220616c7265616479207365742100000081525060200191505060405180910390fd5b7f035aff83d86937d35b32e04f0ddc6ff469290eef2f1b692d8a815c89404d4749600102306040516020018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001925050506040516020818303038152906040526040518082805190602001908083835b602083101515611333578051825260208201915060208101905060208303925061130e565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060058160001916905550611374848461367b565b61137e8282613b3b565b50505050565b611399611394868686868661156a565b610bf0565b5050505050565b7f035aff83d86937d35b32e04f0ddc6ff469290eef2f1b692d8a815c89404d474960010281565b60006113d6868686868661156a565b9050600060066000836000191660001916815260200190815260200160002054141515611491576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f53616665207472616e73616374696f6e20616c7265616479206578656375746581526020017f640000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61149a81613d72565b6001600660008360001916600019168152602001908152602001600020819055506114c8868686865a613ff0565b1515611562576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f436f756c64206e6f7420657865637574652073616665207472616e736163746981526020017f6f6e00000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b505050505050565b6000807f5d1bba48ff479eb8a88ec6029f6b5eebc805c7dcb87470d5b1121d36d824c8736001028787876040518082805190602001908083835b6020831015156115c957805182526020820191506020810190506020830392506115a4565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902087876040516020018087600019166000191681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001846000191660001916815260200183600281111561165f57fe5b60ff16815260200182815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156116b95780518252602082019150602081019050602083039250611694565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020905060197f01000000000000000000000000000000000000000000000000000000000000000260017f010000000000000000000000000000000000000000000000000000000000000002308360405160200180857effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101847effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140182600019166000191681526020019450505050506040516020818303038152906040526040518082805190602001908083835b6020831015156118665780518252602082019150602081019050602083039250611841565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902091505095945050505050565b600080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600080600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151515611a36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001807f4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d206181526020017f6e20656e61626c6564206d6f64756c650000000000000000000000000000000081525060400191505060405180910390fd5b611a43858585855a613ff0565b9050949350505050565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d207481526020017f68697320636f6e7472616374000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff1614158015611b6a5750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b1515611bde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f496e76616c6964206d6f64756c6520616464726573732070726f76696465640081525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611ccb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4d6f64756c652068617320616c7265616479206265656e20616464656400000081525060200191505060405180910390fd5b60016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ef4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d207481526020017f68697320636f6e7472616374000000000000000000000000000000000000000081525060400191505060405180910390fd5b6003548111151515611f94576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f5468726573686f6c642063616e6e6f7420657863656564206f776e657220636f81526020017f756e74000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60018110151515612033576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f5468726573686f6c64206e6565647320746f206265206772656174657220746881526020017f616e20300000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8060048190555050565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612106576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d207481526020017f68697320636f6e7472616374000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff16141515156121bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f496e76616c6964206d617374657220636f707920616464726573732070726f7681526020017f696465640000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600181565b600181565b6007602052816000526040600020602052806000526040600020600091509150505481565b6060806000806003546040519080825280602002602001820160405280156122645781602001602082028038833980820191505090505b5092506000915060026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415156123bf5780838381518110151561231457fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081806001019250506122cf565b82935050505090565b6040805190810160405280601881526020017f476e6f7369732053616665205465616d2045646974696f6e000000000000000081525081565b606060008060606000925060016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691505b600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151561251557600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691508280600101935050612470565b826040519080825280602002602001820160405280156125445781602001602082028038833980820191505090505b5090506000925060016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691505b600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151561269f578181848151811015156125f457fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915082806001019350506125af565b80935050505090565b60055481565b7f5d1bba48ff479eb8a88ec6029f6b5eebc805c7dcb87470d5b1121d36d824c87360010281565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561279e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d207481526020017f68697320636f6e7472616374000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff16141580156127f25750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b1515612866576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f496e76616c6964206d6f64756c6520616464726573732070726f76696465640081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561298e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001807f496e76616c696420707265764d6f64756c652c206d6f64756c6520706169722081526020017f70726f766964656400000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612bb7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d207481526020017f68697320636f6e7472616374000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff1614158015612c0b5750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b1515612c7f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f496e76616c6964206f776e657220616464726573732070726f7669646564000081525060200191505060405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612d6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4164647265737320697320616c726561647920616e206f776e6572000000000081525060200191505060405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1614158015612dc05750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1515612e34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f496e76616c6964206f776e657220616464726573732070726f7669646564000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612f5c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001807f496e76616c696420707265764f776e65722c206f776e6572207061697220707281526020017f6f7669646564000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b60066020528060005260406000206000915090505481565b6000600454905090565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613226576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d207481526020017f68697320636f6e7472616374000000000000000000000000000000000000000081525060400191505060405180910390fd5b80600160035403101515156132c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001807f4e6577206f776e657220636f756e74206e6565647320746f206265206c61726781526020017f6572207468616e206e6577207468726573686f6c64000000000000000000000081525060400191505060405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff161415801561331d5750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1515613391576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f496e76616c6964206f776e657220616464726573732070726f7669646564000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156134b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001807f496e76616c696420707265764f776e65722c206f776e6572207061697220707281526020017f6f7669646564000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360008154809291906001900391905055508060045414151561363d5761363c81611e2b565b5b505050565b6040805190810160405280600581526020017f302e302e3100000000000000000000000000000000000000000000000000000081525081565b6000806000806004541415156136f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f4f776e657273206861766520616c7265616479206265656e207365747570000081525060200191505060405180910390fd5b84518411151515613798576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f5468726573686f6c642063616e6e6f7420657863656564206f776e657220636f81526020017f756e74000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60018410151515613837576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f5468726573686f6c64206e6565647320746f206265206772656174657220746881526020017f616e20300000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60019250600091505b8451821015613aa657848281518110151561385757fe5b90602001906020020151905060008173ffffffffffffffffffffffffffffffffffffffff16141580156138b75750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b151561392b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f496e76616c6964206f776e657220616464726573732070726f7669646564000081525060200191505060405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515613a18576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4475706c6963617465206f776e657220616464726573732070726f766964656481525060200191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508092508180600101925050613840565b6001600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508451600381905550836004819055505050505050565b600060016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515613c4f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f4d6f64756c6573206861766520616c7265616479206265656e20696e6974696181526020017f6c697a656400000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6001806000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008273ffffffffffffffffffffffffffffffffffffffff16141515613d6e57613cf982825a6140ed565b1515613d6d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f436f756c64206e6f742066696e69736820696e697469616c697a6174696f6e0081525060200191505060405180910390fd5b5b5050565b60008060008060076000866000191660001916815260200190815260200160002093506000925060026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691505b600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515613f6f5760008460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141590503373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480613eaf5750805b15613f08578015613eff5760008460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b82806001019350505b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150613dfd565b6004548310151515613fe9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4e6f7420656e6f75676820636f6e6669726d6174696f6e73000000000000000081525060200191505060405180910390fd5b5050505050565b6000806000600281111561400057fe5b84600281111561400c57fe5b14156140255761401e87878786614104565b91506140e3565b6001600281111561403257fe5b84600281111561403e57fe5b14156140565761404f8786856140ed565b91506140e2565b61405f8561411d565b905060008173ffffffffffffffffffffffffffffffffffffffff16141591507f4db17dd5e4732fb6da34a148104a592783ca119a1e7bb8829eba6cbadef0b51181604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15b5b5095945050505050565b60008060008451602086018786f490509392505050565b6000806000845160208601878987f19050949350505050565b60008151602083016000f090509190505600a165627a7a7230582031102eb032deb2807d57bb3656f8ed6ee67350204a56a68129268fd2246445fe0029",
|
|
"sourceMap": "272:4725:6:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;272:4725:6;;;;;;;",
|
|
"deployedSourceMap": "272:4725:6:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1272:436;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1272:436:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2093:595:11;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2093:595:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;933:457:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;933:457:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2137:287:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2137:287:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;458:118:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;458:118:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2866:618:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2866:618:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4529:466;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4529:466:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5613:129:11;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5613:129:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2712:429:10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2712:429:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1182:459;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1182:459:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;5087:399:11;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5087:399:11;;;;;;;;;;;;;;;;;;;;;;;;;;626:248:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;626:248:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;488:55:10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;488:55:10;;;;;;;;;;;;;;;;;;;;;;;;;;;287:54:11;;8:9:-1;5:2;;;30:1;27;20:12;5:2;287:54:11;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:66:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1002:66:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5824:458:11;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5824:458:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;5824:458:11;;;;;;;;;;;;;;;;;336:56:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;336:56:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;336:56:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3220:738:10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3220:738:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;3220:738:10;;;;;;;;;;;;;;;;;583:30:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;583:30:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;561:109:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;561:109:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1902:474:10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1902:474:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4147:751:11;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4147:751:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;768:46:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;768:46:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5492:115:11;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5492:115:11;;;;;;;;;;;;;;;;;;;;;;;3030:783;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3030:783:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;399:40:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;399:40:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;399:40:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1272:436;1460:1;1438:6;:18;1445:10;1438:18;;;;;;;;;;;;;;;;;;;;;;;;;:23;;;;1430:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1609:1;1578:10;:27;1589:15;1578:27;;;;;;;;;;;;;;;;;;:32;1570:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1700:1;1658:10;:27;1669:15;1658:27;;;;;;;;;;;;;;;;;:39;1686:10;1658:39;;;;;;;;;;;;;;;:43;;;;1272:436;:::o;2093:595:11:-;244:4:16;222:27;;:10;:27;;;214:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2265:1:11;2256:5;:10;;;;:38;;;;;337:3;2270:24;;:5;:24;;;;2256:38;2248:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2404:1;2387:6;:13;2394:5;2387:13;;;;;;;;;;;;;;;;;;;;;;;;;:18;;;2379:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2463:6;:23;337:3;2463:23;;;;;;;;;;;;;;;;;;;;;;;;;2447:6;:13;2454:5;2447:13;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;2522:5;2496:6;:23;337:3;2496:23;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;2537:10;;:12;;;;;;;;;;;;;2630:10;2617:9;;:23;;2613:68;;;2654:27;2670:10;2654:15;:27::i;:::-;2613:68;2093:595;;:::o;933:457:4:-;1067:1;1048:20;;:15;;:20;;;;1040:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;510:66;1151:25;;1178:4;1140:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1140:43:4;;;1130:54;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;1130:54:4;;;;;;;;;;;;;;;;1112:15;:72;;;;;;;1194:32;1206:7;1215:10;1194:11;:32::i;:::-;1361:22;1374:2;1378:4;1361:12;:22::i;:::-;933:457;;;;:::o;2137:287:6:-;2338:79;2363:53;2382:2;2386:5;2393:4;2399:9;2410:5;2363:18;:53::i;:::-;2338:24;:79::i;:::-;2137:287;;;;;:::o;458:118:4:-;510:66;458:118;;;:::o;2866:618:6:-;3060:23;3086:53;3105:2;3109:5;3116:4;3122:9;3133:5;3086:18;:53::i;:::-;3060:79;;3188:1;3157:10;:27;3168:15;3157:27;;;;;;;;;;;;;;;;;;:32;3149:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3237:43;3264:15;3237:26;:43::i;:::-;3373:1;3343:10;:27;3354:15;3343:27;;;;;;;;;;;;;;;;;:31;;;;3392:46;3400:2;3404:5;3411:4;3417:9;3428;3392:7;:46::i;:::-;3384:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2866:618;;;;;;:::o;4529:466::-;4732:7;4755:18;604:66;4810:16;;4828:2;4832:5;4849:4;4839:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;4839:15:6;;;;;;;;;;;;;;;;4856:9;4867:5;4799:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;4799:74:6;;;4776:107;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;4776:107:6;;;;;;;;;;;;;;;;4755:128;;4945:4;4940:10;;4957:1;4952:7;;4961:4;4967:10;4923:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;4923:55:6;;;4900:88;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;4900:88:6;;;;;;;;;;;;;;;;4893:95;;4529:466;;;;;;;;:::o;5613:129:11:-;5690:4;5734:1;5717:6;:13;5724:5;5717:13;;;;;;;;;;;;;;;;;;;;;;;;;:18;;;;5710:25;;5613:129;;;:::o;2712:429:10:-;2844:12;2952:1;2929:7;:19;2937:10;2929:19;;;;;;;;;;;;;;;;;;;;;;;;;:24;;;;2921:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3088:46;3096:2;3100:5;3107:4;3113:9;3124;3088:7;:46::i;:::-;3078:56;;2712:429;;;;;;:::o;1182:459::-;244:4:16;222:27;;:10;:27;;;214:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1348:1:10;1337:6;1329:20;;;;:59;;;;;539:3;1353:35;;1361:6;1353:35;;;;1329:59;1321:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1502:1;1483:7;:15;1491:6;1483:15;;;;;;;;;;;;;;;;;;;;;;;;;:20;;;1475:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1565:7;:25;539:3;1565:25;;;;;;;;;;;;;;;;;;;;;;;;;1547:7;:15;1555:6;1547:15;;;;;;;;;;;;;;;;:43;;;;;;;;;;;;;;;;;;1628:6;1600:7;:25;539:3;1600:25;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;1182:459;:::o;5087:399:11:-;244:4:16;222:27;;:10;:27;;;214:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5271:10:11;;5257;:24;;5249:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5405:1;5391:10;:15;;5383:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5469:10;5457:9;:22;;;;5087:399;:::o;626:248:7:-;244:4:16;222:27;;:10;:27;;;214:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;791:1:7;776:11;:16;;;;768:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;856:11;843:10;;:24;;;;;;;;;;;;;;;;;;626:248;:::o;488:55:10:-;539:3;488:55;:::o;287:54:11:-;337:3;287:54;:::o;1002:66:6:-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5824:458:11:-;5890:9;5915:22;6009:13;6036:20;5954:10;;5940:25;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;5940:25:11;;;;5915:50;;6025:1;6009:17;;6059:6;:23;337:3;6059:23;;;;;;;;;;;;;;;;;;;;;;;;;6036:46;;6092:162;337:3;6098:31;;:12;:31;;;;6092:162;;;6160:12;6145:5;6151;6145:12;;;;;;;;;;;;;;;;;:27;;;;;;;;;;;6201:6;:20;6208:12;6201:20;;;;;;;;;;;;;;;;;;;;;;;;;6186:35;;6235:8;;;;;;;6092:162;;;6270:5;6263:12;;5824:458;;;;:::o;336:56:6:-;;;;;;;;;;;;;;;;;;;;:::o;3220:738:10:-;3287:9;3346:19;3379:21;3579:22;3368:1;3346:23;;3403:7;:25;539:3;3403:25;;;;;;;;;;;;;;;;;;;;;;;;;3379:49;;3438:132;539:3;3444:33;;:13;:33;;;;3438:132;;;3509:7;:22;3517:13;3509:22;;;;;;;;;;;;;;;;;;;;;;;;;3493:38;;3545:14;;;;;;;3438:132;;;3618:11;3604:26;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;3604:26:10;;;;3579:51;;3688:1;3674:15;;3715:7;:25;539:3;3715:25;;;;;;;;;;;;;;;;;;;;;;;;;3699:41;;3750:180;539:3;3756:33;;:13;:33;;;;3750:180;;;3826:13;3805:5;3811:11;3805:18;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;3869:7;:22;3877:13;3869:22;;;;;;;;;;;;;;;;;;;;;;;;;3853:38;;3905:14;;;;;;;3750:180;;;3946:5;3939:12;;3220:738;;;;:::o;583:30:4:-;;;;:::o;561:109:6:-;604:66;561:109;;;:::o;1902:474:10:-;244:4:16;222:27;;:10;:27;;;214:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2116:1:10;2105:6;2097:20;;;;:59;;;;;539:3;2121:35;;2129:6;2121:35;;;;2097:59;2089:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2241:6;2210:38;;:7;:19;2218:10;2210:19;;;;;;;;;;;;;;;;;;;;;;;;;:38;;;2202:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2325:7;:15;2333:6;2325:15;;;;;;;;;;;;;;;;;;;;;;;;;2303:7;:19;2311:10;2303:19;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;2368:1;2350:7;:15;2358:6;2350:15;;;;;;;;;;;;;;;;:19;;;;;;;;;;;;;;;;;;1902:474;;:::o;4147:751:11:-;244:4:16;222:27;;:10;:27;;;214:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4330:1:11;4318:8;:13;;;;:44;;;;;337:3;4335:27;;:8;:27;;;;4318:44;4310:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4475:1;4455:6;:16;4462:8;4455:16;;;;;;;;;;;;;;;;;;;;;;;;;:21;;;4447:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4621:1;4609:8;:13;;;;:44;;;;;337:3;4626:27;;:8;:27;;;;4609:44;4601:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4727:8;4706:29;;:6;:17;4713:9;4706:17;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;4698:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4807:6;:16;4814:8;4807:16;;;;;;;;;;;;;;;;;;;;;;;;;4788:6;:16;4795:8;4788:16;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;4853:8;4833:6;:17;4840:9;4833:17;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;4890:1;4871:6;:16;4878:8;4871:16;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;4147:751;;;:::o;768:46:6:-;;;;;;;;;;;;;;;;;:::o;5492:115:11:-;5561:7;5591:9;;5584:16;;5492:115;:::o;3030:783::-;244:4:16;222:27;;:10;:27;;;214:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3256:10:11;3251:1;3238:10;;:14;:28;;3230:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3431:1;3422:5;:10;;;;:38;;;;;337:3;3436:24;;:5;:24;;;;3422:38;3414:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3534:5;3513:26;;:6;:17;3520:9;3513:17;;;;;;;;;;;;;;;;;;;;;;;;;:26;;;3505:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3612:6;:13;3619:5;3612:13;;;;;;;;;;;;;;;;;;;;;;;;;3592:6;:17;3599:9;3592:17;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;3651:1;3635:6;:13;3642:5;3635:13;;;;;;;;;;;;;;;;:17;;;;;;;;;;;;;;;;;;3662:10;;:12;;;;;;;;;;;;;;3755:10;3742:9;;:23;;3738:68;;;3779:27;3795:10;3779:15;:27::i;:::-;3738:68;3030:783;;;:::o;399:40:6:-;;;;;;;;;;;;;;;;;;;;:::o;643:1210:11:-;1249:20;1302:9;1401:13;879:1;866:9;;:14;858:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1022:7;:14;1008:10;:28;;1000:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1160:1;1146:10;:15;;1138:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;337:3;1249:38;;1314:1;1302:13;;1297:433;1321:7;:14;1317:1;:18;1297:433;;;1417:7;1425:1;1417:10;;;;;;;;;;;;;;;;;;1401:26;;1458:1;1449:5;:10;;;;:38;;;;;337:3;1463:24;;:5;:24;;;;1449:38;1441:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1605:1;1588:6;:13;1595:5;1588:13;;;;;;;;;;;;;;;;;;;;;;;;;:18;;;1580:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1680:5;1657:6;:20;1664:12;1657:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;1714:5;1699:20;;1337:3;;;;;;;1297:433;;;337:3;1739:6;:20;1746:12;1739:20;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;1800:7;:14;1787:10;:27;;;;1836:10;1824:9;:22;;;;643:1210;;;;;:::o;606:409:10:-;720:1;691:7;:25;539:3;691:25;;;;;;;;;;;;;;;;;;;;;;;;;:30;;;683:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;539:3;773:7;:25;539:3;773:25;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;837:1;831:2;:7;;;;827:181;;;932:40;952:2;956:4;962:9;932:19;:40::i;:::-;924:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;827:181;606:409;;:::o;3490:761:6:-;3582:37;3659:21;3736:20;3846:19;3622:10;:27;3633:15;3622:27;;;;;;;;;;;;;;;;;3582:67;;3683:1;3659:25;;3759:6;:23;337:3:11;3759:23:6;;;;;;;;;;;;;;;;;;;;;;;;;3736:46;;3792:380;337:3:11;3799:31:6;;:12;:31;;;;3792:380;;;3895:1;3868:9;:23;3878:12;3868:23;;;;;;;;;;;;;;;;:28;;3846:50;;3929:10;3913:26;;:12;:26;;;:44;;;;3943:14;3913:44;3910:203;;;3981:14;3977:88;;;4045:1;4019:9;:23;4029:12;4019:23;;;;;;;;;;;;;;;:27;;;;3977:88;4082:16;;;;;;;3910:203;4141:6;:20;4148:12;4141:20;;;;;;;;;;;;;;;;;;;;;;;;;4126:35;;3792:380;;;4206:9;;4189:13;:26;;4181:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3490:761;;;;;:::o;390:548:3:-;521:12;792:19;566;553:32;;;;;;;;:9;:32;;;;;;;;;549:383;;;609:35;621:2;625:5;632:4;638:5;609:11;:35::i;:::-;599:45;;549:383;;;676:27;663:40;;;;;;;;:9;:40;;;;;;;;;659:273;;;727:36;747:2;751:4;757:5;727:19;:36::i;:::-;717:46;;659:273;;;814:19;828:4;814:13;:19::i;:::-;792:41;;872:1;857:11;:16;;;;847:26;;892:29;909:11;892:29;;;;;;;;;;;;;;;;;;;;;;659:273;549:383;390:548;;;;;;;;:::o;1259:303::-;1361:12;1544:1;1541;1534:4;1528:11;1521:4;1515;1511:15;1507:2;1500:5;1487:59;1476:70;;1462:94;;;;;:::o;944:309::-;1053:12;1235:1;1232;1225:4;1219:11;1212:4;1206;1202:15;1195:5;1191:2;1184:5;1179:58;1168:69;;1154:93;;;;;;:::o;1568:261::-;1637:19;1807:4;1801:11;1794:4;1788;1784:15;1781:1;1774:39;1759:54;;1745:78;;;:::o",
|
|
"source": "pragma solidity 0.4.24;\nimport \"./GnosisSafe.sol\";\nimport \"./MasterCopy.sol\";\n\n\n/// @title Gnosis Safe Team Edition - A multisignature wallet with support for confirmations.\n/// @author Stefan George - <stefan@gnosis.pm>\n/// @author Richard Meissner - <richard@gnosis.pm>\ncontract GnosisSafeTeamEdition is MasterCopy, GnosisSafe {\n\n string public constant NAME = \"Gnosis Safe Team Edition\"; \n string public constant VERSION = \"0.0.1\";\n //keccak256(\n // \"TeamSafeTx(address to,uint256 value,bytes data,uint8 operation,uint256 nonce)\"\n //);\n bytes32 public constant SAFE_TX_TYPEHASH = 0x5d1bba48ff479eb8a88ec6029f6b5eebc805c7dcb87470d5b1121d36d824c873;\n\n // isExecuted mapping allows to check if a transaction (by hash) was already executed.\n mapping (bytes32 => uint256) public isExecuted;\n\n // isApproved mapping allows to check if a transaction (by hash) was confirmed by an owner.\n // uint256 is used to optimize the generated assembly. if 0 then false else true\n mapping (bytes32 => mapping(address => uint256)) public isApproved;\n\n /// @dev Allows to confirm a Safe transaction with a regular transaction.\n /// This can only be done from an owner address.\n /// @param transactionHash Hash of the Safe transaction.\n function approveTransactionByHash(bytes32 transactionHash)\n public\n {\n // Only Safe owners are allowed to confirm Safe transactions.\n require(owners[msg.sender] != 0, \"Sender is not an owner\");\n // It should not be possible to confirm an executed transaction\n require(isExecuted[transactionHash] == 0, \"Safe transaction already executed\");\n isApproved[transactionHash][msg.sender] = 1;\n }\n\n /// @dev Allows to confirm a Safe transaction with a regular transaction.\n /// This can only be done from an owner address.\n /// @param to Destination address of Safe transaction.\n /// @param value Ether value of Safe transaction.\n /// @param data Data payload of Safe transaction.\n /// @param operation Operation type of Safe transaction.\n /// @param nonce Nonce used for this Safe transaction.\n function approveTransactionWithParameters(\n address to, \n uint256 value, \n bytes data, \n Enum.Operation operation, \n uint256 nonce\n )\n public\n {\n approveTransactionByHash(getTransactionHash(to, value, data, operation, nonce));\n }\n\n /// @dev Allows to execute a Safe transaction confirmed by required number of owners. If the sender is an owner this is automatically confirmed.\n /// @param to Destination address of Safe transaction.\n /// @param value Ether value of Safe transaction.\n /// @param data Data payload of Safe transaction.\n /// @param operation Operation type of Safe transaction.\n /// @param nonce Nonce used for this Safe transaction.\n function execTransactionIfApproved(\n address to, \n uint256 value, \n bytes data, \n Enum.Operation operation, \n uint256 nonce\n )\n public\n {\n bytes32 transactionHash = getTransactionHash(to, value, data, operation, nonce);\n require(isExecuted[transactionHash] == 0, \"Safe transaction already executed\");\n checkAndClearConfirmations(transactionHash);\n // Mark as executed and execute transaction.\n isExecuted[transactionHash] = 1;\n require(execute(to, value, data, operation, gasleft()), \"Could not execute safe transaction\");\n }\n\n function checkAndClearConfirmations(bytes32 transactionHash)\n internal\n {\n mapping(address => uint256) approvals = isApproved[transactionHash];\n uint256 confirmations = 0;\n // Validate threshold is reached.\n address currentOwner = owners[SENTINEL_OWNERS];\n while (currentOwner != SENTINEL_OWNERS) {\n bool ownerConfirmed = approvals[currentOwner] != 0;\n if(currentOwner == msg.sender || ownerConfirmed) {\n if (ownerConfirmed) {\n approvals[currentOwner] = 0;\n }\n confirmations ++;\n }\n currentOwner = owners[currentOwner];\n }\n require(confirmations >= threshold, \"Not enough confirmations\");\n }\n\n /// @dev Returns hash to be signed by owners.\n /// @param to Destination address.\n /// @param value Ether value.\n /// @param data Data payload.\n /// @param operation Operation type.\n /// @param nonce Transaction nonce.\n /// @return Transaction hash.\n function getTransactionHash(\n address to, \n uint256 value, \n bytes data, \n Enum.Operation operation, \n uint256 nonce\n )\n public\n view\n returns (bytes32)\n {\n bytes32 safeTxHash = keccak256(\n abi.encode(SAFE_TX_TYPEHASH, to, value, keccak256(data), operation, nonce)\n );\n return keccak256(\n abi.encodePacked(byte(0x19), byte(1), this, safeTxHash)\n );\n }\n}\n",
|
|
"sourcePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/GnosisSafeTeamEdition.sol",
|
|
"ast": {
|
|
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/GnosisSafeTeamEdition.sol",
|
|
"exportedSymbols": {
|
|
"GnosisSafeTeamEdition": [
|
|
786
|
|
]
|
|
},
|
|
"id": 787,
|
|
"nodeType": "SourceUnit",
|
|
"nodes": [
|
|
{
|
|
"id": 531,
|
|
"literals": [
|
|
"solidity",
|
|
"0.4",
|
|
".24"
|
|
],
|
|
"nodeType": "PragmaDirective",
|
|
"src": "0:23:6"
|
|
},
|
|
{
|
|
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/GnosisSafe.sol",
|
|
"file": "./GnosisSafe.sol",
|
|
"id": 532,
|
|
"nodeType": "ImportDirective",
|
|
"scope": 787,
|
|
"sourceUnit": 209,
|
|
"src": "24:26:6",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/MasterCopy.sol",
|
|
"file": "./MasterCopy.sol",
|
|
"id": 533,
|
|
"nodeType": "ImportDirective",
|
|
"scope": 787,
|
|
"sourceUnit": 814,
|
|
"src": "51:26:6",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"baseContracts": [
|
|
{
|
|
"arguments": null,
|
|
"baseName": {
|
|
"contractScope": null,
|
|
"id": 534,
|
|
"name": "MasterCopy",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 813,
|
|
"src": "306:10:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_MasterCopy_$813",
|
|
"typeString": "contract MasterCopy"
|
|
}
|
|
},
|
|
"id": 535,
|
|
"nodeType": "InheritanceSpecifier",
|
|
"src": "306:10:6"
|
|
},
|
|
{
|
|
"arguments": null,
|
|
"baseName": {
|
|
"contractScope": null,
|
|
"id": 536,
|
|
"name": "GnosisSafe",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 208,
|
|
"src": "318:10:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_GnosisSafe_$208",
|
|
"typeString": "contract GnosisSafe"
|
|
}
|
|
},
|
|
"id": 537,
|
|
"nodeType": "InheritanceSpecifier",
|
|
"src": "318:10:6"
|
|
}
|
|
],
|
|
"contractDependencies": [
|
|
208,
|
|
153,
|
|
37,
|
|
813,
|
|
1180,
|
|
1588,
|
|
1765
|
|
],
|
|
"contractKind": "contract",
|
|
"documentation": "@title Gnosis Safe Team Edition - A multisignature wallet with support for confirmations.\n @author Stefan George - <stefan@gnosis.pm>\n @author Richard Meissner - <richard@gnosis.pm>",
|
|
"fullyImplemented": true,
|
|
"id": 786,
|
|
"linearizedBaseContracts": [
|
|
786,
|
|
208,
|
|
1588,
|
|
1180,
|
|
153,
|
|
37,
|
|
813,
|
|
1765
|
|
],
|
|
"name": "GnosisSafeTeamEdition",
|
|
"nodeType": "ContractDefinition",
|
|
"nodes": [
|
|
{
|
|
"constant": true,
|
|
"id": 540,
|
|
"name": "NAME",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 786,
|
|
"src": "336:56:6",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_memory",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 538,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "336:6:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "476e6f7369732053616665205465616d2045646974696f6e",
|
|
"id": 539,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "366:26:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_69b1cb372bb47730ba653a0e87363aa6de8337d13ed5852e6fe3ba4e2004a81e",
|
|
"typeString": "literal_string \"Gnosis Safe Team Edition\""
|
|
},
|
|
"value": "Gnosis Safe Team Edition"
|
|
},
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 543,
|
|
"name": "VERSION",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 786,
|
|
"src": "399:40:6",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_memory",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 541,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "399:6:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "302e302e31",
|
|
"id": 542,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "432:7:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_ae209a0b48f21c054280f2455d32cf309387644879d9acbd8ffc199163811885",
|
|
"typeString": "literal_string \"0.0.1\""
|
|
},
|
|
"value": "0.0.1"
|
|
},
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 546,
|
|
"name": "SAFE_TX_TYPEHASH",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 786,
|
|
"src": "561:109:6",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 544,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "561:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "307835643162626134386666343739656238613838656336303239663662356565626338303563376463623837343730643562313132316433366438323463383733",
|
|
"id": 545,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "604:66:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_42114085481813550712033693253853890854456273647728279042821730599331164375155_by_1",
|
|
"typeString": "int_const 4211...(69 digits omitted)...5155"
|
|
},
|
|
"value": "0x5d1bba48ff479eb8a88ec6029f6b5eebc805c7dcb87470d5b1121d36d824c873"
|
|
},
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 550,
|
|
"name": "isExecuted",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 786,
|
|
"src": "768:46:6",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 549,
|
|
"keyType": {
|
|
"id": 547,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "777:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "768:28:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
},
|
|
"valueType": {
|
|
"id": 548,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "788:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 556,
|
|
"name": "isApproved",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 786,
|
|
"src": "1002:66:6",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
|
|
"typeString": "mapping(bytes32 => mapping(address => uint256))"
|
|
},
|
|
"typeName": {
|
|
"id": 555,
|
|
"keyType": {
|
|
"id": 551,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1011:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "1002:48:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
|
|
"typeString": "mapping(bytes32 => mapping(address => uint256))"
|
|
},
|
|
"valueType": {
|
|
"id": 554,
|
|
"keyType": {
|
|
"id": 552,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1030:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "1022:27:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
|
|
"typeString": "mapping(address => uint256)"
|
|
},
|
|
"valueType": {
|
|
"id": 553,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1041:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 589,
|
|
"nodeType": "Block",
|
|
"src": "1350:358:6",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 567,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 562,
|
|
"name": "owners",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1194,
|
|
"src": "1438:6:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_address_$",
|
|
"typeString": "mapping(address => address)"
|
|
}
|
|
},
|
|
"id": 565,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 563,
|
|
"name": "msg",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3828,
|
|
"src": "1445:3:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_message",
|
|
"typeString": "msg"
|
|
}
|
|
},
|
|
"id": 564,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "sender",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "1445:10:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "1438:18:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 566,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1460:1:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "1438:23:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "53656e646572206973206e6f7420616e206f776e6572",
|
|
"id": 568,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1463:24:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_b22a5f47ffb62866097c90f90b5b53f76973769c84a10c62e12a07eb2ba1ef4a",
|
|
"typeString": "literal_string \"Sender is not an owner\""
|
|
},
|
|
"value": "Sender is not an owner"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_b22a5f47ffb62866097c90f90b5b53f76973769c84a10c62e12a07eb2ba1ef4a",
|
|
"typeString": "literal_string \"Sender is not an owner\""
|
|
}
|
|
],
|
|
"id": 561,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
3831,
|
|
3832
|
|
],
|
|
"referencedDeclaration": 3832,
|
|
"src": "1430:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 569,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1430:58:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 570,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1430:58:6"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 576,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 572,
|
|
"name": "isExecuted",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 550,
|
|
"src": "1578:10:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 574,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 573,
|
|
"name": "transactionHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 558,
|
|
"src": "1589:15:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "1578:27:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 575,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1609:1:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "1578:32:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "53616665207472616e73616374696f6e20616c7265616479206578656375746564",
|
|
"id": 577,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1612:35:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_78cc689035dd21cb903fbad8327952ddf83800cf1115919ff1ad2be36eed70db",
|
|
"typeString": "literal_string \"Safe transaction already executed\""
|
|
},
|
|
"value": "Safe transaction already executed"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_78cc689035dd21cb903fbad8327952ddf83800cf1115919ff1ad2be36eed70db",
|
|
"typeString": "literal_string \"Safe transaction already executed\""
|
|
}
|
|
],
|
|
"id": 571,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
3831,
|
|
3832
|
|
],
|
|
"referencedDeclaration": 3832,
|
|
"src": "1570:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 578,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1570:78:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 579,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1570:78:6"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 587,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 580,
|
|
"name": "isApproved",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 556,
|
|
"src": "1658:10:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
|
|
"typeString": "mapping(bytes32 => mapping(address => uint256))"
|
|
}
|
|
},
|
|
"id": 584,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 581,
|
|
"name": "transactionHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 558,
|
|
"src": "1669:15:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "1658:27:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
|
|
"typeString": "mapping(address => uint256)"
|
|
}
|
|
},
|
|
"id": 585,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 582,
|
|
"name": "msg",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3828,
|
|
"src": "1686:3:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_message",
|
|
"typeString": "msg"
|
|
}
|
|
},
|
|
"id": 583,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "sender",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "1686:10:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "1658:39:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 586,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1700:1:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "1658:43:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 588,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1658:43:6"
|
|
}
|
|
]
|
|
},
|
|
"documentation": "@dev Allows to confirm a Safe transaction with a regular transaction.\n This can only be done from an owner address.\n @param transactionHash Hash of the Safe transaction.",
|
|
"id": 590,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "approveTransactionByHash",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 559,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 558,
|
|
"name": "transactionHash",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 590,
|
|
"src": "1306:23:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 557,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1306:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1305:25:6"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 560,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "1350:0:6"
|
|
},
|
|
"scope": 786,
|
|
"src": "1272:436:6",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 613,
|
|
"nodeType": "Block",
|
|
"src": "2328:96:6",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 605,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 592,
|
|
"src": "2382:2:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 606,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 594,
|
|
"src": "2386:5:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 607,
|
|
"name": "data",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 596,
|
|
"src": "2393:4:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 608,
|
|
"name": "operation",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 598,
|
|
"src": "2399:9:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_Operation_$29",
|
|
"typeString": "enum Enum.Operation"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 609,
|
|
"name": "nonce",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 600,
|
|
"src": "2410:5:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"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"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 604,
|
|
"name": "getTransactionHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 785,
|
|
"src": "2363:18:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$29_$_t_uint256_$returns$_t_bytes32_$",
|
|
"typeString": "function (address,uint256,bytes memory,enum Enum.Operation,uint256) view returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 610,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2363:53:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 603,
|
|
"name": "approveTransactionByHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 590,
|
|
"src": "2338:24:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$",
|
|
"typeString": "function (bytes32)"
|
|
}
|
|
},
|
|
"id": 611,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2338:79:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 612,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2338:79:6"
|
|
}
|
|
]
|
|
},
|
|
"documentation": "@dev Allows to confirm a Safe transaction with a regular transaction.\n This can only be done from an owner address.\n @param to Destination address of Safe transaction.\n @param value Ether value of Safe transaction.\n @param data Data payload of Safe transaction.\n @param operation Operation type of Safe transaction.\n @param nonce Nonce used for this Safe transaction.",
|
|
"id": 614,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "approveTransactionWithParameters",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 601,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 592,
|
|
"name": "to",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 614,
|
|
"src": "2188:10:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 591,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2188:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 594,
|
|
"name": "value",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 614,
|
|
"src": "2209:13:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 593,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2209:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 596,
|
|
"name": "data",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 614,
|
|
"src": "2233:10:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 595,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2233:5:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 598,
|
|
"name": "operation",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 614,
|
|
"src": "2254:24:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_Operation_$29",
|
|
"typeString": "enum Enum.Operation"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 597,
|
|
"name": "Enum.Operation",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 29,
|
|
"src": "2254:14:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_Operation_$29",
|
|
"typeString": "enum Enum.Operation"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 600,
|
|
"name": "nonce",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 614,
|
|
"src": "2289:13:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 599,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2289:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2178:130:6"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 602,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "2328:0:6"
|
|
},
|
|
"scope": 786,
|
|
"src": "2137:287:6",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 668,
|
|
"nodeType": "Block",
|
|
"src": "3050:434:6",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
628
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 628,
|
|
"name": "transactionHash",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 669,
|
|
"src": "3060:23:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 627,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3060:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 636,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 630,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 616,
|
|
"src": "3105:2:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 631,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 618,
|
|
"src": "3109:5:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 632,
|
|
"name": "data",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 620,
|
|
"src": "3116:4:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 633,
|
|
"name": "operation",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 622,
|
|
"src": "3122:9:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_Operation_$29",
|
|
"typeString": "enum Enum.Operation"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 634,
|
|
"name": "nonce",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 624,
|
|
"src": "3133:5:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"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"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 629,
|
|
"name": "getTransactionHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 785,
|
|
"src": "3086:18:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$29_$_t_uint256_$returns$_t_bytes32_$",
|
|
"typeString": "function (address,uint256,bytes memory,enum Enum.Operation,uint256) view returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 635,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3086:53:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "3060:79:6"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 642,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 638,
|
|
"name": "isExecuted",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 550,
|
|
"src": "3157:10:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 640,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 639,
|
|
"name": "transactionHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 628,
|
|
"src": "3168:15:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "3157:27:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 641,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3188:1:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "3157:32:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "53616665207472616e73616374696f6e20616c7265616479206578656375746564",
|
|
"id": 643,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3191:35:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_78cc689035dd21cb903fbad8327952ddf83800cf1115919ff1ad2be36eed70db",
|
|
"typeString": "literal_string \"Safe transaction already executed\""
|
|
},
|
|
"value": "Safe transaction already executed"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_78cc689035dd21cb903fbad8327952ddf83800cf1115919ff1ad2be36eed70db",
|
|
"typeString": "literal_string \"Safe transaction already executed\""
|
|
}
|
|
],
|
|
"id": 637,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
3831,
|
|
3832
|
|
],
|
|
"referencedDeclaration": 3832,
|
|
"src": "3149:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 644,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3149:78:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 645,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3149:78:6"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 647,
|
|
"name": "transactionHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 628,
|
|
"src": "3264:15:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 646,
|
|
"name": "checkAndClearConfirmations",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 739,
|
|
"src": "3237:26:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$",
|
|
"typeString": "function (bytes32)"
|
|
}
|
|
},
|
|
"id": 648,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3237:43:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 649,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3237:43:6"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 654,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 650,
|
|
"name": "isExecuted",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 550,
|
|
"src": "3343:10:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 652,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 651,
|
|
"name": "transactionHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 628,
|
|
"src": "3354:15:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "3343:27:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 653,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3373:1:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "3343:31:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 655,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3343:31:6"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 658,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 616,
|
|
"src": "3400:2:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 659,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 618,
|
|
"src": "3404:5:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 660,
|
|
"name": "data",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 620,
|
|
"src": "3411:4:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 661,
|
|
"name": "operation",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 622,
|
|
"src": "3417:9:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_Operation_$29",
|
|
"typeString": "enum Enum.Operation"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [],
|
|
"expression": {
|
|
"argumentTypes": [],
|
|
"id": 662,
|
|
"name": "gasleft",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3821,
|
|
"src": "3428:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$",
|
|
"typeString": "function () view returns (uint256)"
|
|
}
|
|
},
|
|
"id": 663,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3428:9:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"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"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 657,
|
|
"name": "execute",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 115,
|
|
"src": "3392:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$29_$_t_uint256_$returns$_t_bool_$",
|
|
"typeString": "function (address,uint256,bytes memory,enum Enum.Operation,uint256) returns (bool)"
|
|
}
|
|
},
|
|
"id": 664,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3392:46:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "436f756c64206e6f7420657865637574652073616665207472616e73616374696f6e",
|
|
"id": 665,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3440:36:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_d12b254798790cac45e0b54201b0ecf8f3257f9e4c1cfc4633e272006616c878",
|
|
"typeString": "literal_string \"Could not execute safe transaction\""
|
|
},
|
|
"value": "Could not execute safe transaction"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_d12b254798790cac45e0b54201b0ecf8f3257f9e4c1cfc4633e272006616c878",
|
|
"typeString": "literal_string \"Could not execute safe transaction\""
|
|
}
|
|
],
|
|
"id": 656,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
3831,
|
|
3832
|
|
],
|
|
"referencedDeclaration": 3832,
|
|
"src": "3384:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 666,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3384:93:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 667,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3384:93:6"
|
|
}
|
|
]
|
|
},
|
|
"documentation": "@dev Allows to execute a Safe transaction confirmed by required number of owners. If the sender is an owner this is automatically confirmed.\n @param to Destination address of Safe transaction.\n @param value Ether value of Safe transaction.\n @param data Data payload of Safe transaction.\n @param operation Operation type of Safe transaction.\n @param nonce Nonce used for this Safe transaction.",
|
|
"id": 669,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "execTransactionIfApproved",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 625,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 616,
|
|
"name": "to",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 669,
|
|
"src": "2910:10:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 615,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2910:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 618,
|
|
"name": "value",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 669,
|
|
"src": "2931:13:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 617,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2931:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 620,
|
|
"name": "data",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 669,
|
|
"src": "2955:10:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 619,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2955:5:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 622,
|
|
"name": "operation",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 669,
|
|
"src": "2976:24:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_Operation_$29",
|
|
"typeString": "enum Enum.Operation"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 621,
|
|
"name": "Enum.Operation",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 29,
|
|
"src": "2976:14:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_Operation_$29",
|
|
"typeString": "enum Enum.Operation"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 624,
|
|
"name": "nonce",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 669,
|
|
"src": "3011:13:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 623,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3011:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2900:130:6"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 626,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "3050:0:6"
|
|
},
|
|
"scope": 786,
|
|
"src": "2866:618:6",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 738,
|
|
"nodeType": "Block",
|
|
"src": "3572:679:6",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
677
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 677,
|
|
"name": "approvals",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 739,
|
|
"src": "3582:37:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
|
|
"typeString": "mapping(address => uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 676,
|
|
"keyType": {
|
|
"id": 674,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3590:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "3582:27:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
|
|
"typeString": "mapping(address => uint256)"
|
|
},
|
|
"valueType": {
|
|
"id": 675,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3601:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 681,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 678,
|
|
"name": "isApproved",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 556,
|
|
"src": "3622:10:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
|
|
"typeString": "mapping(bytes32 => mapping(address => uint256))"
|
|
}
|
|
},
|
|
"id": 680,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 679,
|
|
"name": "transactionHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 671,
|
|
"src": "3633:15:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "3622:27:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
|
|
"typeString": "mapping(address => uint256)"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "3582:67:6"
|
|
},
|
|
{
|
|
"assignments": [
|
|
683
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 683,
|
|
"name": "confirmations",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 739,
|
|
"src": "3659:21:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 682,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3659:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 685,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 684,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3683:1:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "3659:25:6"
|
|
},
|
|
{
|
|
"assignments": [
|
|
687
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 687,
|
|
"name": "currentOwner",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 739,
|
|
"src": "3736:20:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 686,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3736:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 691,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 688,
|
|
"name": "owners",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1194,
|
|
"src": "3759:6:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_address_$",
|
|
"typeString": "mapping(address => address)"
|
|
}
|
|
},
|
|
"id": 690,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 689,
|
|
"name": "SENTINEL_OWNERS",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1190,
|
|
"src": "3766:15:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "3759:23:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "3736:46:6"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 729,
|
|
"nodeType": "Block",
|
|
"src": "3832:340:6",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
696
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 696,
|
|
"name": "ownerConfirmed",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 739,
|
|
"src": "3846:19:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 695,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3846:4:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 702,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 701,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 697,
|
|
"name": "approvals",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 677,
|
|
"src": "3868:9:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
|
|
"typeString": "mapping(address => uint256)"
|
|
}
|
|
},
|
|
"id": 699,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 698,
|
|
"name": "currentOwner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 687,
|
|
"src": "3878:12:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "3868:23:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 700,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3895:1:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "3868:28:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "3846:50:6"
|
|
},
|
|
{
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"id": 708,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 706,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 703,
|
|
"name": "currentOwner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 687,
|
|
"src": "3913:12:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 704,
|
|
"name": "msg",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3828,
|
|
"src": "3929:3:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_message",
|
|
"typeString": "msg"
|
|
}
|
|
},
|
|
"id": 705,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "sender",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "3929:10:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "3913:26:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "||",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"id": 707,
|
|
"name": "ownerConfirmed",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 696,
|
|
"src": "3943:14:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"src": "3913:44:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": null,
|
|
"id": 722,
|
|
"nodeType": "IfStatement",
|
|
"src": "3910:203:6",
|
|
"trueBody": {
|
|
"id": 721,
|
|
"nodeType": "Block",
|
|
"src": "3959:154:6",
|
|
"statements": [
|
|
{
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"id": 709,
|
|
"name": "ownerConfirmed",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 696,
|
|
"src": "3981:14:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": null,
|
|
"id": 717,
|
|
"nodeType": "IfStatement",
|
|
"src": "3977:88:6",
|
|
"trueBody": {
|
|
"id": 716,
|
|
"nodeType": "Block",
|
|
"src": "3997:68:6",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 714,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 710,
|
|
"name": "approvals",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 677,
|
|
"src": "4019:9:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
|
|
"typeString": "mapping(address => uint256)"
|
|
}
|
|
},
|
|
"id": 712,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 711,
|
|
"name": "currentOwner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 687,
|
|
"src": "4029:12:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4019:23:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 713,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "4045:1:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "4019:27:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 715,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "4019:27:6"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 719,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "++",
|
|
"prefix": false,
|
|
"src": "4082:16:6",
|
|
"subExpression": {
|
|
"argumentTypes": null,
|
|
"id": 718,
|
|
"name": "confirmations",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 683,
|
|
"src": "4082:13:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 720,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "4082:16:6"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 727,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 723,
|
|
"name": "currentOwner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 687,
|
|
"src": "4126:12:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 724,
|
|
"name": "owners",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1194,
|
|
"src": "4141:6:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_address_$",
|
|
"typeString": "mapping(address => address)"
|
|
}
|
|
},
|
|
"id": 726,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 725,
|
|
"name": "currentOwner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 687,
|
|
"src": "4148:12:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4141:20:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "4126:35:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"id": 728,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "4126:35:6"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 694,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 692,
|
|
"name": "currentOwner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 687,
|
|
"src": "3799:12:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"id": 693,
|
|
"name": "SENTINEL_OWNERS",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1190,
|
|
"src": "3815:15:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "3799:31:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 730,
|
|
"nodeType": "WhileStatement",
|
|
"src": "3792:380:6"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 734,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 732,
|
|
"name": "confirmations",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 683,
|
|
"src": "4189:13:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": ">=",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"id": 733,
|
|
"name": "threshold",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1198,
|
|
"src": "4206:9:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "4189:26:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "4e6f7420656e6f75676820636f6e6669726d6174696f6e73",
|
|
"id": 735,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "4217:26:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_b345da2aaad39251196728cc7926bed93e890843c2a47c2cdd1122427d828094",
|
|
"typeString": "literal_string \"Not enough confirmations\""
|
|
},
|
|
"value": "Not enough confirmations"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_b345da2aaad39251196728cc7926bed93e890843c2a47c2cdd1122427d828094",
|
|
"typeString": "literal_string \"Not enough confirmations\""
|
|
}
|
|
],
|
|
"id": 731,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
3831,
|
|
3832
|
|
],
|
|
"referencedDeclaration": 3832,
|
|
"src": "4181:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 736,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4181:63:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 737,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "4181:63:6"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 739,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "checkAndClearConfirmations",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 672,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 671,
|
|
"name": "transactionHash",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 739,
|
|
"src": "3526:23:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 670,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3526:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "3525:25:6"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 673,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "3572:0:6"
|
|
},
|
|
"scope": 786,
|
|
"src": "3490:761:6",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 784,
|
|
"nodeType": "Block",
|
|
"src": "4745:250:6",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
755
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 755,
|
|
"name": "safeTxHash",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 785,
|
|
"src": "4755:18:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 754,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4755:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 769,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 759,
|
|
"name": "SAFE_TX_TYPEHASH",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 546,
|
|
"src": "4810:16:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 760,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 741,
|
|
"src": "4828:2:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 761,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 743,
|
|
"src": "4832:5:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 763,
|
|
"name": "data",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 745,
|
|
"src": "4849:4:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 762,
|
|
"name": "keccak256",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3822,
|
|
"src": "4839:9:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
|
|
"typeString": "function () pure returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 764,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4839:15:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 765,
|
|
"name": "operation",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 747,
|
|
"src": "4856:9:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_Operation_$29",
|
|
"typeString": "enum Enum.Operation"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 766,
|
|
"name": "nonce",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 749,
|
|
"src": "4867:5:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_enum$_Operation_$29",
|
|
"typeString": "enum Enum.Operation"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 757,
|
|
"name": "abi",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3815,
|
|
"src": "4799:3:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_abi",
|
|
"typeString": "abi"
|
|
}
|
|
},
|
|
"id": 758,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "encode",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "4799:10:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function () pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 767,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4799:74:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 756,
|
|
"name": "keccak256",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3822,
|
|
"src": "4776:9:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
|
|
"typeString": "function () pure returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 768,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4776:107:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "4755:128:6"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "30783139",
|
|
"id": 774,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "4945:4:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_25_by_1",
|
|
"typeString": "int_const 25"
|
|
},
|
|
"value": "0x19"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_rational_25_by_1",
|
|
"typeString": "int_const 25"
|
|
}
|
|
],
|
|
"id": 773,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "4940:4:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_bytes1_$",
|
|
"typeString": "type(bytes1)"
|
|
},
|
|
"typeName": "byte"
|
|
},
|
|
"id": 775,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4940:10:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes1",
|
|
"typeString": "bytes1"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 777,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "4957:1:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
}
|
|
],
|
|
"id": 776,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "4952:4:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_bytes1_$",
|
|
"typeString": "type(bytes1)"
|
|
},
|
|
"typeName": "byte"
|
|
},
|
|
"id": 778,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4952:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes1",
|
|
"typeString": "bytes1"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 779,
|
|
"name": "this",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3869,
|
|
"src": "4961:4:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_GnosisSafeTeamEdition_$786",
|
|
"typeString": "contract GnosisSafeTeamEdition"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 780,
|
|
"name": "safeTxHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 755,
|
|
"src": "4967:10:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes1",
|
|
"typeString": "bytes1"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes1",
|
|
"typeString": "bytes1"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_contract$_GnosisSafeTeamEdition_$786",
|
|
"typeString": "contract GnosisSafeTeamEdition"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 771,
|
|
"name": "abi",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3815,
|
|
"src": "4923:3:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_abi",
|
|
"typeString": "abi"
|
|
}
|
|
},
|
|
"id": 772,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "encodePacked",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "4923:16:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function () pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 781,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4923:55:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 770,
|
|
"name": "keccak256",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3822,
|
|
"src": "4900:9:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
|
|
"typeString": "function () pure returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 782,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4900:88:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"functionReturnParameters": 753,
|
|
"id": 783,
|
|
"nodeType": "Return",
|
|
"src": "4893:95:6"
|
|
}
|
|
]
|
|
},
|
|
"documentation": "@dev Returns hash to be signed by owners.\n @param to Destination address.\n @param value Ether value.\n @param data Data payload.\n @param operation Operation type.\n @param nonce Transaction nonce.\n @return Transaction hash.",
|
|
"id": 785,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": true,
|
|
"modifiers": [],
|
|
"name": "getTransactionHash",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 750,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 741,
|
|
"name": "to",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 785,
|
|
"src": "4566:10:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 740,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4566:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 743,
|
|
"name": "value",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 785,
|
|
"src": "4587:13:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 742,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4587:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 745,
|
|
"name": "data",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 785,
|
|
"src": "4611:10:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 744,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4611:5:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 747,
|
|
"name": "operation",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 785,
|
|
"src": "4632:24:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_Operation_$29",
|
|
"typeString": "enum Enum.Operation"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 746,
|
|
"name": "Enum.Operation",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 29,
|
|
"src": "4632:14:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_Operation_$29",
|
|
"typeString": "enum Enum.Operation"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 749,
|
|
"name": "nonce",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 785,
|
|
"src": "4667:13:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 748,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4667:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4556:130:6"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 753,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 752,
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 785,
|
|
"src": "4732:7:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 751,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4732:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4731:9:6"
|
|
},
|
|
"scope": 786,
|
|
"src": "4529:466:6",
|
|
"stateMutability": "view",
|
|
"superFunction": null,
|
|
"visibility": "public"
|
|
}
|
|
],
|
|
"scope": 787,
|
|
"src": "272:4725:6"
|
|
}
|
|
],
|
|
"src": "0:4998:6"
|
|
},
|
|
"legacyAST": {
|
|
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/GnosisSafeTeamEdition.sol",
|
|
"exportedSymbols": {
|
|
"GnosisSafeTeamEdition": [
|
|
786
|
|
]
|
|
},
|
|
"id": 787,
|
|
"nodeType": "SourceUnit",
|
|
"nodes": [
|
|
{
|
|
"id": 531,
|
|
"literals": [
|
|
"solidity",
|
|
"0.4",
|
|
".24"
|
|
],
|
|
"nodeType": "PragmaDirective",
|
|
"src": "0:23:6"
|
|
},
|
|
{
|
|
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/GnosisSafe.sol",
|
|
"file": "./GnosisSafe.sol",
|
|
"id": 532,
|
|
"nodeType": "ImportDirective",
|
|
"scope": 787,
|
|
"sourceUnit": 209,
|
|
"src": "24:26:6",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/MasterCopy.sol",
|
|
"file": "./MasterCopy.sol",
|
|
"id": 533,
|
|
"nodeType": "ImportDirective",
|
|
"scope": 787,
|
|
"sourceUnit": 814,
|
|
"src": "51:26:6",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"baseContracts": [
|
|
{
|
|
"arguments": null,
|
|
"baseName": {
|
|
"contractScope": null,
|
|
"id": 534,
|
|
"name": "MasterCopy",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 813,
|
|
"src": "306:10:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_MasterCopy_$813",
|
|
"typeString": "contract MasterCopy"
|
|
}
|
|
},
|
|
"id": 535,
|
|
"nodeType": "InheritanceSpecifier",
|
|
"src": "306:10:6"
|
|
},
|
|
{
|
|
"arguments": null,
|
|
"baseName": {
|
|
"contractScope": null,
|
|
"id": 536,
|
|
"name": "GnosisSafe",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 208,
|
|
"src": "318:10:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_GnosisSafe_$208",
|
|
"typeString": "contract GnosisSafe"
|
|
}
|
|
},
|
|
"id": 537,
|
|
"nodeType": "InheritanceSpecifier",
|
|
"src": "318:10:6"
|
|
}
|
|
],
|
|
"contractDependencies": [
|
|
208,
|
|
153,
|
|
37,
|
|
813,
|
|
1180,
|
|
1588,
|
|
1765
|
|
],
|
|
"contractKind": "contract",
|
|
"documentation": "@title Gnosis Safe Team Edition - A multisignature wallet with support for confirmations.\n @author Stefan George - <stefan@gnosis.pm>\n @author Richard Meissner - <richard@gnosis.pm>",
|
|
"fullyImplemented": true,
|
|
"id": 786,
|
|
"linearizedBaseContracts": [
|
|
786,
|
|
208,
|
|
1588,
|
|
1180,
|
|
153,
|
|
37,
|
|
813,
|
|
1765
|
|
],
|
|
"name": "GnosisSafeTeamEdition",
|
|
"nodeType": "ContractDefinition",
|
|
"nodes": [
|
|
{
|
|
"constant": true,
|
|
"id": 540,
|
|
"name": "NAME",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 786,
|
|
"src": "336:56:6",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_memory",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 538,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "336:6:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "476e6f7369732053616665205465616d2045646974696f6e",
|
|
"id": 539,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "366:26:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_69b1cb372bb47730ba653a0e87363aa6de8337d13ed5852e6fe3ba4e2004a81e",
|
|
"typeString": "literal_string \"Gnosis Safe Team Edition\""
|
|
},
|
|
"value": "Gnosis Safe Team Edition"
|
|
},
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 543,
|
|
"name": "VERSION",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 786,
|
|
"src": "399:40:6",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_memory",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 541,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "399:6:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "302e302e31",
|
|
"id": 542,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "432:7:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_ae209a0b48f21c054280f2455d32cf309387644879d9acbd8ffc199163811885",
|
|
"typeString": "literal_string \"0.0.1\""
|
|
},
|
|
"value": "0.0.1"
|
|
},
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 546,
|
|
"name": "SAFE_TX_TYPEHASH",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 786,
|
|
"src": "561:109:6",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 544,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "561:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "307835643162626134386666343739656238613838656336303239663662356565626338303563376463623837343730643562313132316433366438323463383733",
|
|
"id": 545,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "604:66:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_42114085481813550712033693253853890854456273647728279042821730599331164375155_by_1",
|
|
"typeString": "int_const 4211...(69 digits omitted)...5155"
|
|
},
|
|
"value": "0x5d1bba48ff479eb8a88ec6029f6b5eebc805c7dcb87470d5b1121d36d824c873"
|
|
},
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 550,
|
|
"name": "isExecuted",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 786,
|
|
"src": "768:46:6",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 549,
|
|
"keyType": {
|
|
"id": 547,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "777:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "768:28:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
},
|
|
"valueType": {
|
|
"id": 548,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "788:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 556,
|
|
"name": "isApproved",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 786,
|
|
"src": "1002:66:6",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
|
|
"typeString": "mapping(bytes32 => mapping(address => uint256))"
|
|
},
|
|
"typeName": {
|
|
"id": 555,
|
|
"keyType": {
|
|
"id": 551,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1011:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "1002:48:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
|
|
"typeString": "mapping(bytes32 => mapping(address => uint256))"
|
|
},
|
|
"valueType": {
|
|
"id": 554,
|
|
"keyType": {
|
|
"id": 552,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1030:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "1022:27:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
|
|
"typeString": "mapping(address => uint256)"
|
|
},
|
|
"valueType": {
|
|
"id": 553,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1041:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 589,
|
|
"nodeType": "Block",
|
|
"src": "1350:358:6",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 567,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 562,
|
|
"name": "owners",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1194,
|
|
"src": "1438:6:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_address_$",
|
|
"typeString": "mapping(address => address)"
|
|
}
|
|
},
|
|
"id": 565,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 563,
|
|
"name": "msg",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3828,
|
|
"src": "1445:3:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_message",
|
|
"typeString": "msg"
|
|
}
|
|
},
|
|
"id": 564,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "sender",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "1445:10:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "1438:18:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 566,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1460:1:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "1438:23:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "53656e646572206973206e6f7420616e206f776e6572",
|
|
"id": 568,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1463:24:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_b22a5f47ffb62866097c90f90b5b53f76973769c84a10c62e12a07eb2ba1ef4a",
|
|
"typeString": "literal_string \"Sender is not an owner\""
|
|
},
|
|
"value": "Sender is not an owner"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_b22a5f47ffb62866097c90f90b5b53f76973769c84a10c62e12a07eb2ba1ef4a",
|
|
"typeString": "literal_string \"Sender is not an owner\""
|
|
}
|
|
],
|
|
"id": 561,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
3831,
|
|
3832
|
|
],
|
|
"referencedDeclaration": 3832,
|
|
"src": "1430:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 569,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1430:58:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 570,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1430:58:6"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 576,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 572,
|
|
"name": "isExecuted",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 550,
|
|
"src": "1578:10:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 574,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 573,
|
|
"name": "transactionHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 558,
|
|
"src": "1589:15:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "1578:27:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 575,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1609:1:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "1578:32:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "53616665207472616e73616374696f6e20616c7265616479206578656375746564",
|
|
"id": 577,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1612:35:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_78cc689035dd21cb903fbad8327952ddf83800cf1115919ff1ad2be36eed70db",
|
|
"typeString": "literal_string \"Safe transaction already executed\""
|
|
},
|
|
"value": "Safe transaction already executed"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_78cc689035dd21cb903fbad8327952ddf83800cf1115919ff1ad2be36eed70db",
|
|
"typeString": "literal_string \"Safe transaction already executed\""
|
|
}
|
|
],
|
|
"id": 571,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
3831,
|
|
3832
|
|
],
|
|
"referencedDeclaration": 3832,
|
|
"src": "1570:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 578,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1570:78:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 579,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1570:78:6"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 587,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 580,
|
|
"name": "isApproved",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 556,
|
|
"src": "1658:10:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
|
|
"typeString": "mapping(bytes32 => mapping(address => uint256))"
|
|
}
|
|
},
|
|
"id": 584,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 581,
|
|
"name": "transactionHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 558,
|
|
"src": "1669:15:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "1658:27:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
|
|
"typeString": "mapping(address => uint256)"
|
|
}
|
|
},
|
|
"id": 585,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 582,
|
|
"name": "msg",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3828,
|
|
"src": "1686:3:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_message",
|
|
"typeString": "msg"
|
|
}
|
|
},
|
|
"id": 583,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "sender",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "1686:10:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "1658:39:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 586,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1700:1:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "1658:43:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 588,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1658:43:6"
|
|
}
|
|
]
|
|
},
|
|
"documentation": "@dev Allows to confirm a Safe transaction with a regular transaction.\n This can only be done from an owner address.\n @param transactionHash Hash of the Safe transaction.",
|
|
"id": 590,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "approveTransactionByHash",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 559,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 558,
|
|
"name": "transactionHash",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 590,
|
|
"src": "1306:23:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 557,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1306:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1305:25:6"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 560,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "1350:0:6"
|
|
},
|
|
"scope": 786,
|
|
"src": "1272:436:6",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 613,
|
|
"nodeType": "Block",
|
|
"src": "2328:96:6",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 605,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 592,
|
|
"src": "2382:2:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 606,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 594,
|
|
"src": "2386:5:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 607,
|
|
"name": "data",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 596,
|
|
"src": "2393:4:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 608,
|
|
"name": "operation",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 598,
|
|
"src": "2399:9:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_Operation_$29",
|
|
"typeString": "enum Enum.Operation"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 609,
|
|
"name": "nonce",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 600,
|
|
"src": "2410:5:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"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"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 604,
|
|
"name": "getTransactionHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 785,
|
|
"src": "2363:18:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$29_$_t_uint256_$returns$_t_bytes32_$",
|
|
"typeString": "function (address,uint256,bytes memory,enum Enum.Operation,uint256) view returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 610,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2363:53:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 603,
|
|
"name": "approveTransactionByHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 590,
|
|
"src": "2338:24:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$",
|
|
"typeString": "function (bytes32)"
|
|
}
|
|
},
|
|
"id": 611,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2338:79:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 612,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2338:79:6"
|
|
}
|
|
]
|
|
},
|
|
"documentation": "@dev Allows to confirm a Safe transaction with a regular transaction.\n This can only be done from an owner address.\n @param to Destination address of Safe transaction.\n @param value Ether value of Safe transaction.\n @param data Data payload of Safe transaction.\n @param operation Operation type of Safe transaction.\n @param nonce Nonce used for this Safe transaction.",
|
|
"id": 614,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "approveTransactionWithParameters",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 601,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 592,
|
|
"name": "to",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 614,
|
|
"src": "2188:10:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 591,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2188:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 594,
|
|
"name": "value",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 614,
|
|
"src": "2209:13:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 593,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2209:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 596,
|
|
"name": "data",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 614,
|
|
"src": "2233:10:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 595,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2233:5:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 598,
|
|
"name": "operation",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 614,
|
|
"src": "2254:24:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_Operation_$29",
|
|
"typeString": "enum Enum.Operation"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 597,
|
|
"name": "Enum.Operation",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 29,
|
|
"src": "2254:14:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_Operation_$29",
|
|
"typeString": "enum Enum.Operation"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 600,
|
|
"name": "nonce",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 614,
|
|
"src": "2289:13:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 599,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2289:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2178:130:6"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 602,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "2328:0:6"
|
|
},
|
|
"scope": 786,
|
|
"src": "2137:287:6",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 668,
|
|
"nodeType": "Block",
|
|
"src": "3050:434:6",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
628
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 628,
|
|
"name": "transactionHash",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 669,
|
|
"src": "3060:23:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 627,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3060:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 636,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 630,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 616,
|
|
"src": "3105:2:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 631,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 618,
|
|
"src": "3109:5:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 632,
|
|
"name": "data",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 620,
|
|
"src": "3116:4:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 633,
|
|
"name": "operation",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 622,
|
|
"src": "3122:9:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_Operation_$29",
|
|
"typeString": "enum Enum.Operation"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 634,
|
|
"name": "nonce",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 624,
|
|
"src": "3133:5:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"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"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 629,
|
|
"name": "getTransactionHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 785,
|
|
"src": "3086:18:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$29_$_t_uint256_$returns$_t_bytes32_$",
|
|
"typeString": "function (address,uint256,bytes memory,enum Enum.Operation,uint256) view returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 635,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3086:53:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "3060:79:6"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 642,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 638,
|
|
"name": "isExecuted",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 550,
|
|
"src": "3157:10:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 640,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 639,
|
|
"name": "transactionHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 628,
|
|
"src": "3168:15:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "3157:27:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 641,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3188:1:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "3157:32:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "53616665207472616e73616374696f6e20616c7265616479206578656375746564",
|
|
"id": 643,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3191:35:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_78cc689035dd21cb903fbad8327952ddf83800cf1115919ff1ad2be36eed70db",
|
|
"typeString": "literal_string \"Safe transaction already executed\""
|
|
},
|
|
"value": "Safe transaction already executed"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_78cc689035dd21cb903fbad8327952ddf83800cf1115919ff1ad2be36eed70db",
|
|
"typeString": "literal_string \"Safe transaction already executed\""
|
|
}
|
|
],
|
|
"id": 637,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
3831,
|
|
3832
|
|
],
|
|
"referencedDeclaration": 3832,
|
|
"src": "3149:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 644,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3149:78:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 645,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3149:78:6"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 647,
|
|
"name": "transactionHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 628,
|
|
"src": "3264:15:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 646,
|
|
"name": "checkAndClearConfirmations",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 739,
|
|
"src": "3237:26:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$",
|
|
"typeString": "function (bytes32)"
|
|
}
|
|
},
|
|
"id": 648,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3237:43:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 649,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3237:43:6"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 654,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 650,
|
|
"name": "isExecuted",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 550,
|
|
"src": "3343:10:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 652,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 651,
|
|
"name": "transactionHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 628,
|
|
"src": "3354:15:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "3343:27:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 653,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3373:1:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "3343:31:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 655,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3343:31:6"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 658,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 616,
|
|
"src": "3400:2:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 659,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 618,
|
|
"src": "3404:5:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 660,
|
|
"name": "data",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 620,
|
|
"src": "3411:4:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 661,
|
|
"name": "operation",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 622,
|
|
"src": "3417:9:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_Operation_$29",
|
|
"typeString": "enum Enum.Operation"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [],
|
|
"expression": {
|
|
"argumentTypes": [],
|
|
"id": 662,
|
|
"name": "gasleft",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3821,
|
|
"src": "3428:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$",
|
|
"typeString": "function () view returns (uint256)"
|
|
}
|
|
},
|
|
"id": 663,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3428:9:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"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"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 657,
|
|
"name": "execute",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 115,
|
|
"src": "3392:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$29_$_t_uint256_$returns$_t_bool_$",
|
|
"typeString": "function (address,uint256,bytes memory,enum Enum.Operation,uint256) returns (bool)"
|
|
}
|
|
},
|
|
"id": 664,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3392:46:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "436f756c64206e6f7420657865637574652073616665207472616e73616374696f6e",
|
|
"id": 665,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3440:36:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_d12b254798790cac45e0b54201b0ecf8f3257f9e4c1cfc4633e272006616c878",
|
|
"typeString": "literal_string \"Could not execute safe transaction\""
|
|
},
|
|
"value": "Could not execute safe transaction"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_d12b254798790cac45e0b54201b0ecf8f3257f9e4c1cfc4633e272006616c878",
|
|
"typeString": "literal_string \"Could not execute safe transaction\""
|
|
}
|
|
],
|
|
"id": 656,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
3831,
|
|
3832
|
|
],
|
|
"referencedDeclaration": 3832,
|
|
"src": "3384:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 666,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3384:93:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 667,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3384:93:6"
|
|
}
|
|
]
|
|
},
|
|
"documentation": "@dev Allows to execute a Safe transaction confirmed by required number of owners. If the sender is an owner this is automatically confirmed.\n @param to Destination address of Safe transaction.\n @param value Ether value of Safe transaction.\n @param data Data payload of Safe transaction.\n @param operation Operation type of Safe transaction.\n @param nonce Nonce used for this Safe transaction.",
|
|
"id": 669,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "execTransactionIfApproved",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 625,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 616,
|
|
"name": "to",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 669,
|
|
"src": "2910:10:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 615,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2910:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 618,
|
|
"name": "value",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 669,
|
|
"src": "2931:13:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 617,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2931:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 620,
|
|
"name": "data",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 669,
|
|
"src": "2955:10:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 619,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2955:5:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 622,
|
|
"name": "operation",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 669,
|
|
"src": "2976:24:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_Operation_$29",
|
|
"typeString": "enum Enum.Operation"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 621,
|
|
"name": "Enum.Operation",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 29,
|
|
"src": "2976:14:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_Operation_$29",
|
|
"typeString": "enum Enum.Operation"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 624,
|
|
"name": "nonce",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 669,
|
|
"src": "3011:13:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 623,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3011:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2900:130:6"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 626,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "3050:0:6"
|
|
},
|
|
"scope": 786,
|
|
"src": "2866:618:6",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 738,
|
|
"nodeType": "Block",
|
|
"src": "3572:679:6",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
677
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 677,
|
|
"name": "approvals",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 739,
|
|
"src": "3582:37:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
|
|
"typeString": "mapping(address => uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 676,
|
|
"keyType": {
|
|
"id": 674,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3590:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "3582:27:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
|
|
"typeString": "mapping(address => uint256)"
|
|
},
|
|
"valueType": {
|
|
"id": 675,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3601:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 681,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 678,
|
|
"name": "isApproved",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 556,
|
|
"src": "3622:10:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
|
|
"typeString": "mapping(bytes32 => mapping(address => uint256))"
|
|
}
|
|
},
|
|
"id": 680,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 679,
|
|
"name": "transactionHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 671,
|
|
"src": "3633:15:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "3622:27:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
|
|
"typeString": "mapping(address => uint256)"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "3582:67:6"
|
|
},
|
|
{
|
|
"assignments": [
|
|
683
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 683,
|
|
"name": "confirmations",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 739,
|
|
"src": "3659:21:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 682,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3659:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 685,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 684,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3683:1:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "3659:25:6"
|
|
},
|
|
{
|
|
"assignments": [
|
|
687
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 687,
|
|
"name": "currentOwner",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 739,
|
|
"src": "3736:20:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 686,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3736:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 691,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 688,
|
|
"name": "owners",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1194,
|
|
"src": "3759:6:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_address_$",
|
|
"typeString": "mapping(address => address)"
|
|
}
|
|
},
|
|
"id": 690,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 689,
|
|
"name": "SENTINEL_OWNERS",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1190,
|
|
"src": "3766:15:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "3759:23:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "3736:46:6"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 729,
|
|
"nodeType": "Block",
|
|
"src": "3832:340:6",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
696
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 696,
|
|
"name": "ownerConfirmed",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 739,
|
|
"src": "3846:19:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 695,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3846:4:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 702,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 701,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 697,
|
|
"name": "approvals",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 677,
|
|
"src": "3868:9:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
|
|
"typeString": "mapping(address => uint256)"
|
|
}
|
|
},
|
|
"id": 699,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 698,
|
|
"name": "currentOwner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 687,
|
|
"src": "3878:12:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "3868:23:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 700,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3895:1:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "3868:28:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "3846:50:6"
|
|
},
|
|
{
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"id": 708,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 706,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 703,
|
|
"name": "currentOwner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 687,
|
|
"src": "3913:12:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 704,
|
|
"name": "msg",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3828,
|
|
"src": "3929:3:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_message",
|
|
"typeString": "msg"
|
|
}
|
|
},
|
|
"id": 705,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "sender",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "3929:10:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "3913:26:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "||",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"id": 707,
|
|
"name": "ownerConfirmed",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 696,
|
|
"src": "3943:14:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"src": "3913:44:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": null,
|
|
"id": 722,
|
|
"nodeType": "IfStatement",
|
|
"src": "3910:203:6",
|
|
"trueBody": {
|
|
"id": 721,
|
|
"nodeType": "Block",
|
|
"src": "3959:154:6",
|
|
"statements": [
|
|
{
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"id": 709,
|
|
"name": "ownerConfirmed",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 696,
|
|
"src": "3981:14:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": null,
|
|
"id": 717,
|
|
"nodeType": "IfStatement",
|
|
"src": "3977:88:6",
|
|
"trueBody": {
|
|
"id": 716,
|
|
"nodeType": "Block",
|
|
"src": "3997:68:6",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 714,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 710,
|
|
"name": "approvals",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 677,
|
|
"src": "4019:9:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
|
|
"typeString": "mapping(address => uint256)"
|
|
}
|
|
},
|
|
"id": 712,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 711,
|
|
"name": "currentOwner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 687,
|
|
"src": "4029:12:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4019:23:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 713,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "4045:1:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "4019:27:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 715,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "4019:27:6"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 719,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "++",
|
|
"prefix": false,
|
|
"src": "4082:16:6",
|
|
"subExpression": {
|
|
"argumentTypes": null,
|
|
"id": 718,
|
|
"name": "confirmations",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 683,
|
|
"src": "4082:13:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 720,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "4082:16:6"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 727,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 723,
|
|
"name": "currentOwner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 687,
|
|
"src": "4126:12:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 724,
|
|
"name": "owners",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1194,
|
|
"src": "4141:6:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_address_$",
|
|
"typeString": "mapping(address => address)"
|
|
}
|
|
},
|
|
"id": 726,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 725,
|
|
"name": "currentOwner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 687,
|
|
"src": "4148:12:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4141:20:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "4126:35:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"id": 728,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "4126:35:6"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 694,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 692,
|
|
"name": "currentOwner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 687,
|
|
"src": "3799:12:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"id": 693,
|
|
"name": "SENTINEL_OWNERS",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1190,
|
|
"src": "3815:15:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "3799:31:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 730,
|
|
"nodeType": "WhileStatement",
|
|
"src": "3792:380:6"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 734,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 732,
|
|
"name": "confirmations",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 683,
|
|
"src": "4189:13:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": ">=",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"id": 733,
|
|
"name": "threshold",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1198,
|
|
"src": "4206:9:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "4189:26:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "4e6f7420656e6f75676820636f6e6669726d6174696f6e73",
|
|
"id": 735,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "4217:26:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_b345da2aaad39251196728cc7926bed93e890843c2a47c2cdd1122427d828094",
|
|
"typeString": "literal_string \"Not enough confirmations\""
|
|
},
|
|
"value": "Not enough confirmations"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_b345da2aaad39251196728cc7926bed93e890843c2a47c2cdd1122427d828094",
|
|
"typeString": "literal_string \"Not enough confirmations\""
|
|
}
|
|
],
|
|
"id": 731,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
3831,
|
|
3832
|
|
],
|
|
"referencedDeclaration": 3832,
|
|
"src": "4181:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 736,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4181:63:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 737,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "4181:63:6"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 739,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "checkAndClearConfirmations",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 672,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 671,
|
|
"name": "transactionHash",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 739,
|
|
"src": "3526:23:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 670,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3526:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "3525:25:6"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 673,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "3572:0:6"
|
|
},
|
|
"scope": 786,
|
|
"src": "3490:761:6",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 784,
|
|
"nodeType": "Block",
|
|
"src": "4745:250:6",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
755
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 755,
|
|
"name": "safeTxHash",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 785,
|
|
"src": "4755:18:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 754,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4755:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 769,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 759,
|
|
"name": "SAFE_TX_TYPEHASH",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 546,
|
|
"src": "4810:16:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 760,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 741,
|
|
"src": "4828:2:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 761,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 743,
|
|
"src": "4832:5:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 763,
|
|
"name": "data",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 745,
|
|
"src": "4849:4:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 762,
|
|
"name": "keccak256",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3822,
|
|
"src": "4839:9:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
|
|
"typeString": "function () pure returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 764,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4839:15:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 765,
|
|
"name": "operation",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 747,
|
|
"src": "4856:9:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_Operation_$29",
|
|
"typeString": "enum Enum.Operation"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 766,
|
|
"name": "nonce",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 749,
|
|
"src": "4867:5:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_enum$_Operation_$29",
|
|
"typeString": "enum Enum.Operation"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 757,
|
|
"name": "abi",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3815,
|
|
"src": "4799:3:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_abi",
|
|
"typeString": "abi"
|
|
}
|
|
},
|
|
"id": 758,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "encode",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "4799:10:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function () pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 767,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4799:74:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 756,
|
|
"name": "keccak256",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3822,
|
|
"src": "4776:9:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
|
|
"typeString": "function () pure returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 768,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4776:107:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "4755:128:6"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "30783139",
|
|
"id": 774,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "4945:4:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_25_by_1",
|
|
"typeString": "int_const 25"
|
|
},
|
|
"value": "0x19"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_rational_25_by_1",
|
|
"typeString": "int_const 25"
|
|
}
|
|
],
|
|
"id": 773,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "4940:4:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_bytes1_$",
|
|
"typeString": "type(bytes1)"
|
|
},
|
|
"typeName": "byte"
|
|
},
|
|
"id": 775,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4940:10:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes1",
|
|
"typeString": "bytes1"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 777,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "4957:1:6",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
}
|
|
],
|
|
"id": 776,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "4952:4:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_bytes1_$",
|
|
"typeString": "type(bytes1)"
|
|
},
|
|
"typeName": "byte"
|
|
},
|
|
"id": 778,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4952:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes1",
|
|
"typeString": "bytes1"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 779,
|
|
"name": "this",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3869,
|
|
"src": "4961:4:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_GnosisSafeTeamEdition_$786",
|
|
"typeString": "contract GnosisSafeTeamEdition"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 780,
|
|
"name": "safeTxHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 755,
|
|
"src": "4967:10:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes1",
|
|
"typeString": "bytes1"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes1",
|
|
"typeString": "bytes1"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_contract$_GnosisSafeTeamEdition_$786",
|
|
"typeString": "contract GnosisSafeTeamEdition"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 771,
|
|
"name": "abi",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3815,
|
|
"src": "4923:3:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_abi",
|
|
"typeString": "abi"
|
|
}
|
|
},
|
|
"id": 772,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "encodePacked",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "4923:16:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function () pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 781,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4923:55:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 770,
|
|
"name": "keccak256",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3822,
|
|
"src": "4900:9:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
|
|
"typeString": "function () pure returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 782,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4900:88:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"functionReturnParameters": 753,
|
|
"id": 783,
|
|
"nodeType": "Return",
|
|
"src": "4893:95:6"
|
|
}
|
|
]
|
|
},
|
|
"documentation": "@dev Returns hash to be signed by owners.\n @param to Destination address.\n @param value Ether value.\n @param data Data payload.\n @param operation Operation type.\n @param nonce Transaction nonce.\n @return Transaction hash.",
|
|
"id": 785,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": true,
|
|
"modifiers": [],
|
|
"name": "getTransactionHash",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 750,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 741,
|
|
"name": "to",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 785,
|
|
"src": "4566:10:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 740,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4566:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 743,
|
|
"name": "value",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 785,
|
|
"src": "4587:13:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 742,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4587:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 745,
|
|
"name": "data",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 785,
|
|
"src": "4611:10:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 744,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4611:5:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 747,
|
|
"name": "operation",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 785,
|
|
"src": "4632:24:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_Operation_$29",
|
|
"typeString": "enum Enum.Operation"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 746,
|
|
"name": "Enum.Operation",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 29,
|
|
"src": "4632:14:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_Operation_$29",
|
|
"typeString": "enum Enum.Operation"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 749,
|
|
"name": "nonce",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 785,
|
|
"src": "4667:13:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 748,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4667:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4556:130:6"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 753,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 752,
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 785,
|
|
"src": "4732:7:6",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 751,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4732:7:6",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4731:9:6"
|
|
},
|
|
"scope": 786,
|
|
"src": "4529:466:6",
|
|
"stateMutability": "view",
|
|
"superFunction": null,
|
|
"visibility": "public"
|
|
}
|
|
],
|
|
"scope": 787,
|
|
"src": "272:4725:6"
|
|
}
|
|
],
|
|
"src": "0:4998:6"
|
|
},
|
|
"compiler": {
|
|
"name": "solc",
|
|
"version": "0.4.24+commit.e67f0147.Emscripten.clang"
|
|
},
|
|
"networks": {
|
|
"4": {
|
|
"events": {},
|
|
"links": {},
|
|
"address": "0xf8033d26d591c4656feb365972f359e3e5991417",
|
|
"transactionHash": "0xce05657997caa928720038b6b1b4847da5f547fb64aac7316f723321748170c1"
|
|
},
|
|
"1534750848541": {
|
|
"events": {},
|
|
"links": {},
|
|
"address": "0x21a59654176f2689d12e828b77a783072cd26680",
|
|
"transactionHash": "0x8153582a7e15403e4a646684cb3a67b1987a9d29bc4780fedc649a3d4a9b8ad7"
|
|
}
|
|
},
|
|
"schemaVersion": "2.0.0",
|
|
"updatedAt": "2018-08-20T07:50:29.706Z"
|
|
} |