2018-05-04 16:04:04 +02:00
{
2018-05-10 13:12:13 +02:00
"contractName" : "DailyLimitModule" ,
2018-05-04 16:04:04 +02:00
"abi" : [
{
"constant" : true ,
"inputs" : [ ] ,
"name" : "TRANSFER_FUNCTION_IDENTIFIER" ,
"outputs" : [
{
"name" : "" ,
"type" : "bytes4"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
} ,
{
"constant" : true ,
"inputs" : [ ] ,
2018-05-10 13:12:13 +02:00
"name" : "manager" ,
2018-05-04 16:04:04 +02:00
"outputs" : [
{
"name" : "" ,
2018-05-10 13:12:13 +02:00
"type" : "address"
2018-05-04 16:04:04 +02:00
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
} ,
2018-05-10 13:12:13 +02:00
{
"constant" : false ,
"inputs" : [
{
"name" : "_masterCopy" ,
"type" : "address"
}
] ,
"name" : "changeMasterCopy" ,
"outputs" : [ ] ,
"payable" : false ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
2018-05-04 16:04:04 +02:00
{
"constant" : true ,
"inputs" : [ ] ,
2018-05-10 13:12:13 +02:00
"name" : "NAME" ,
2018-05-04 16:04:04 +02:00
"outputs" : [
{
"name" : "" ,
2018-05-10 13:12:13 +02:00
"type" : "string"
2018-05-04 16:04:04 +02:00
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
} ,
{
"constant" : true ,
"inputs" : [
{
"name" : "" ,
"type" : "address"
}
] ,
"name" : "dailyLimits" ,
"outputs" : [
{
"name" : "dailyLimit" ,
"type" : "uint256"
} ,
{
"name" : "spentToday" ,
"type" : "uint256"
} ,
{
"name" : "lastDay" ,
"type" : "uint256"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
} ,
{
"constant" : true ,
"inputs" : [ ] ,
"name" : "VERSION" ,
"outputs" : [
{
"name" : "" ,
"type" : "string"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
} ,
{
"constant" : false ,
"inputs" : [
{
"name" : "tokens" ,
"type" : "address[]"
} ,
{
"name" : "_dailyLimits" ,
"type" : "uint256[]"
}
] ,
"name" : "setup" ,
"outputs" : [ ] ,
"payable" : false ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
{
"constant" : false ,
"inputs" : [
{
"name" : "token" ,
"type" : "address"
} ,
{
"name" : "dailyLimit" ,
"type" : "uint256"
}
] ,
"name" : "changeDailyLimit" ,
"outputs" : [ ] ,
"payable" : false ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
{
"constant" : false ,
"inputs" : [
{
"name" : "to" ,
"type" : "address"
} ,
{
"name" : "value" ,
"type" : "uint256"
} ,
{
"name" : "data" ,
"type" : "bytes"
}
] ,
2018-05-10 13:12:13 +02:00
"name" : "executeDailyLimit" ,
"outputs" : [ ] ,
2018-05-04 16:04:04 +02:00
"payable" : false ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
{
"constant" : true ,
"inputs" : [ ] ,
"name" : "today" ,
"outputs" : [
{
"name" : "" ,
"type" : "uint256"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
}
] ,
2018-05-16 15:46:33 +02:00
"bytecode" : " 0 x 608060405234801561001057600080 f d 5 b 50610 d 72806100206000396000 f 3006080604052600436106100 a 4576000357 c 0 100000000000000000000000000000000000000000000000000000000900463 f f f f f f f f 16806328814 f 0 3146100 a 9578063430e47 f 814610152578063481 c 6 a 75146101 b b 5780637 d e 7 e d e f 1461021257806381 c 5e03 b 14610255578063 a 3 f 4 d f 7e146102 a 2578063 b 74e452 b 14610332578063 d 7 b f f c 921461035 d 578063 f c e 7379 a 146103 c 2578063 f f a 1 a d 7414610455575 b 600080 f d 5 b 3480156100 b 557600080 f d 5 b 5061015060048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192905050506104e5565 b 0 0 5 b 34801561015e57600080 f d 5 b 50610167610584565 b 60405180827 b f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 19167 b f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1916815260200191505060405180910390 f 35 b 3480156101 c 757600080 f d 5 b 506101 d 0 6105 a 8565 b 604051808273 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1673 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16815260200191505060405180910390 f 35 b 34801561021e57600080 f d 5 b 50610253600480360381019080803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1690602001909291905050506105 c e 565 b 0 0 5 b 34801561026157600080 f d 5 b 506102 a 0 600480360381019080803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16906020019092919080359060200190929190505050610693565 b 0 0 5 b 3480156102 a e 57600080 f d 5 b 506102 b 761073 a 565 b 6040518080602001828103825283818151815260200191508051906020019080838360005 b 838110156102 f 75780820151818401526020810190506102 d c 565 b 50505050905090810190601 f 1680156103245780820380516001836020036101000 a 0 31916815260200191505 b 509250505060405180910390 f 35 b 34801561033e57600080 f d 5 b 50610347610773565 b 6040518082815260200191505060405180910390 f 35 b 34801561036957600080 f d 5 b 5061039e600480360381019080803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16906020019092919050505061078 b 565 b 60405180848152602001838152602001828152602001935050505060405180910390 f 35 b 3480156103 c e 57600080 f d 5 b 50610453600480360381019080803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16906020019092919080359060200190929190803590602001908201803590602001908080601 f 0 1602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506107 b 5565 b 0 0 5 b 34801561046157600080 f d 5 b 5061046 a 6107 c 6565 b 6040518080602001828103825283818151815260200191508051906020019080838360005 b 838110156104 a a 57808201518184015260208101905061048 f 565 b 50505050905090810190601 f 1680156104 d 75780820380516001836020036101000 a 0 31916815260200191505 b 509250505060405180910390 f 35 b 60006104 e f 6107 f f 565 b 600090505 b 825181101561057 f 57818181518110151561050 b 57 f e 5 b 9060200190602002015160026000858481518110151561052757 f e 5 b 9060200190602002015173 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1673 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1681526020019081526020016000206000018190555080806001019150506104 f 4565 b 505050565 b 7 f a 9059 c b b 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 81565 b 600160009054906101000 a 900473 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1681565 b 600160009054906101000 a 900473 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1673 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 163373 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1614151561062 a 57600080 f d 5 b 60008173 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 161415151561065057600080 f d 5 b 806000806101000 a 81548173 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 0 21916908373 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16021790555050565 b 600160009054906101000 a 900473 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1673 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 163373 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 161415156106 e f 57600080 f d 5 b 80600260008473 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1673 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 168152602001908152602001600020600001819055505050565 b 6040805190810160405280601281526020017 f 4461696 c 79204 c 696 d 6974204 d 6 f 64756 c 65000000000000000000000000000081525081565 b 6000620151804281151561078357 f e 5 b 0 64203905090565 b 60026020528060005260406000206000915090508060000154908060010154908060020154905083565 b 6107 c 133848484610889565 b 505050565 b 60408051908101604052806005815260
"deployedBytecode" : " 0 x 6080604052600436106100 a 4576000357 c 0 100000000000000000000000000000000000000000000000000000000900463 f f f f f f f f 16806328814 f 0 3146100 a 9578063430e47 f 814610152578063481 c 6 a 75146101 b b 5780637 d e 7 e d e f 1461021257806381 c 5e03 b 14610255578063 a 3 f 4 d f 7e146102 a 2578063 b 74e452 b 14610332578063 d 7 b f f c 921461035 d 578063 f c e 7379 a 146103 c 2578063 f f a 1 a d 7414610455575 b 600080 f d 5 b 3480156100 b 557600080 f d 5 b 5061015060048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192905050506104e5565 b 0 0 5 b 34801561015e57600080 f d 5 b 50610167610584565 b 60405180827 b f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 19167 b f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1916815260200191505060405180910390 f 35 b 3480156101 c 757600080 f d 5 b 506101 d 0 6105 a 8565 b 604051808273 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1673 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16815260200191505060405180910390 f 35 b 34801561021e57600080 f d 5 b 50610253600480360381019080803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1690602001909291905050506105 c e 565 b 0 0 5 b 34801561026157600080 f d 5 b 506102 a 0 600480360381019080803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16906020019092919080359060200190929190505050610693565 b 0 0 5 b 3480156102 a e 57600080 f d 5 b 506102 b 761073 a 565 b 6040518080602001828103825283818151815260200191508051906020019080838360005 b 838110156102 f 75780820151818401526020810190506102 d c 565 b 50505050905090810190601 f 1680156103245780820380516001836020036101000 a 0 31916815260200191505 b 509250505060405180910390 f 35 b 34801561033e57600080 f d 5 b 50610347610773565 b 6040518082815260200191505060405180910390 f 35 b 34801561036957600080 f d 5 b 5061039e600480360381019080803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16906020019092919050505061078 b 565 b 60405180848152602001838152602001828152602001935050505060405180910390 f 35 b 3480156103 c e 57600080 f d 5 b 50610453600480360381019080803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16906020019092919080359060200190929190803590602001908201803590602001908080601 f 0 1602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506107 b 5565 b 0 0 5 b 34801561046157600080 f d 5 b 5061046 a 6107 c 6565 b 6040518080602001828103825283818151815260200191508051906020019080838360005 b 838110156104 a a 57808201518184015260208101905061048 f 565 b 50505050905090810190601 f 1680156104 d 75780820380516001836020036101000 a 0 31916815260200191505 b 509250505060405180910390 f 35 b 60006104 e f 6107 f f 565 b 600090505 b 825181101561057 f 57818181518110151561050 b 57 f e 5 b 9060200190602002015160026000858481518110151561052757 f e 5 b 9060200190602002015173 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1673 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1681526020019081526020016000206000018190555080806001019150506104 f 4565 b 505050565 b 7 f a 9059 c b b 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 81565 b 600160009054906101000 a 900473 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1681565 b 600160009054906101000 a 900473 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1673 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 163373 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1614151561062 a 57600080 f d 5 b 60008173 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 161415151561065057600080 f d 5 b 806000806101000 a 81548173 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 0 21916908373 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16021790555050565 b 600160009054906101000 a 900473 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1673 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 163373 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 161415156106 e f 57600080 f d 5 b 80600260008473 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1673 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 168152602001908152602001600020600001819055505050565 b 6040805190810160405280601281526020017 f 4461696 c 79204 c 696 d 6974204 d 6 f 64756 c 65000000000000000000000000000081525081565 b 6000620151804281151561078357 f e 5 b 0 64203905090565 b 60026020528060005260406000206000915090508060000154908060010154908060020154905083565 b 6107 c 133848484610889565 b 505050565 b 6040805190810160405280600581526020017 f 302e302 e 310000000000000000000000000000000000000000
"sourceMap" : "296:3862:10:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;296:3862:10;;;;;;;" ,
"deployedSourceMap" : " 296 : 3862 : 10 : - ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 991 : 222 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 991 : 222 : 10 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 441 : 67 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 441 : 67 : 10 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 262 : 28 : 5 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 262 : 28 : 5 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 626 : 208 : 4 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 626 : 208 : 4 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 1441 : 158 : 10 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 1441 : 158 : 10 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 339 : 50 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 339 : 50 : 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 ; 339 : 50 : 10 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 4040 : 116 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 4040 : 116 : 10 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 586 : 50 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 586 : 50 : 10 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 3308 : 146 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 3308 : 146 : 10 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 395 : 40 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 395 : 40 : 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 ; 395 : 40 : 10 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 991 : 222 ; 1104 : 9 ; 1077 : 12 ; : 10 ; : 12 : : i ; : : : - ; 1116 : 1 ; 1104 : 13 ; ; 1099 : 107 ; 1123 : 6 ; : 13 ; 1119 : 1 ; : 17 ; 1099 : 107 ; ; ; 1191 : 12 ; 1204 : 1 ; 1191 : 15 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 1155 : 11 ; : 22 ; 1167 : 6 ; 1174 : 1 ; 1167 : 9 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 1155 : 22 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; : 33 ; ; : 51 ; ; ; ; 1138 : 3 ; ; ; ; ; ; ; 1099 : 107 ; ; ; 991 : 222 ; ; ; : : : o ; 441 : 67 : : - ; ; ; : : : o ; 262 : 28 : 5 : - ; ; ; ; ; ; ; ; ; ; ; ; ; : : : o ; 626 : 208 : 4 : - ; 359 : 7 : 5 ; ; ; ; ; ; ; ; ; ; ; 337 : 30 ; ; : 10 ; : 30 ; ; ; 329 : 39 ; ; ; ; ; ; ; ; 791 : 1 : 4 ; 776 : 11 ; : 16 ; ; ; ; 768 : 25 ; ; ; ; ; ; ; ; 816 : 11 ; 803 : 10 ; ; : 24 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 626 : 208 ; : : : o ; 1441 : 158 : 10 : - ; 359 : 7 : 5 ; ; ; ; ; ; ; ; ; ; ; 337 : 30 ; ; : 10 ; : 30 ; ; ; 329 : 39 ; ; ; ; ; ; ; ; 1582 : 10 : 10 ; 1550 : 11 ; : 18 ; 1562 : 5 ; 1550 : 18 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; : 29 ; ; : 42 ; ; ; ; 1441 : 158 ; ; : : : o ; 339 : 50 : : - ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; : : : o ; 4040 : 116 : : - ; 4102 : 4 ; 4142 : 6 ; 4136 : 3 ; : 12 ; ; ; ; ; ; ; ; 4129 : 3 ; : 20 ; 4122 : 27 ; ; 4040 : 116 ; : : : o ; 586 : 50 : : - ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; : : : o ; 3308 : 146 : : - ; 3403 : 44 ; 3419 : 10 ; 3431 : 2 ; 3435 : 5 ; 3442 : 4 ; 3403 : 15 ; : 44 : : i ; : : : - ; 3308 : 146 ; ; ; : : : o ; 395 : 40 : : - ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; : : : o ; 392 : 268 : 5 : - ; 606 : 1 ; 594 : 7 ; ; ; ; ; ; ; ; ; ; ; 586 : 21 ; ; ; 578 : 30 ; ; ; ; ; ; ; ; 642 : 10 ; 618 : 7 ; ; : 35 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 392 : 268 : : o ; 1605 : 1319 : 10 : - ; 1997 : 13 ; 2020 : 16 ; 2046 : 14 ; 2233 : 25 ; 1814 : 7 ; ; ; ; ; ; ; ; ; ; ; 1801 : 29 ; ; ; 1831 : 6 ; 1801 : 37 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 1801 : 37 : 10 ; ; ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 45 : 16 ; 42 : 1 ; 39 ; 24 : 38 ; 77 : 16 ; 74 : 1 ; 67 : 27 ; 5 : 2 ; 1801 : 37 : 10 ; ; ; ; ; ; ; 13 : 2 : -1 ; 8 : 3 ; 5 : 11 ; 2 : 2 ; ; ; 29 : 1 ; 26 ; 19 : 12 ; 2 : 2 ; 1801 : 37 : 10 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 1793 : 46 ; ; ; ; ; ; ; ; 1939 : 1 ; 1924 : 4 ; : 11 ; : 16 ; : 29 ; ; ; ; ; 1952 : 1 ; 1944 : 5 ; : 9 ; 1924 : 29 ; : 62 ; ; ; ; 1971 : 1 ; 1957 : 4 ; : 11 ; : 15 ; : 29 ; ; ; ; ; 1985 : 1 ; 1976 : 5 ; : 10 ; 1957 : 29 ; 1924 : 62 ; 1916 : 71 ; ; ; ; ; ; ; ; 2089 : 1 ; 2074 : 4 ; : 11 ; : 16 ; 2070 : 538 ; ; ; 2114 : 1 ; 2106 : 9 ; ; 2140 : 2 ; 2129 : 13 ; ; 2165 : 5 ; 2156 : 14 ; ; 2070 : 538 ; ; ; 2217 : 2 ; 2209 : 10 ; ; 2405 : 4 ; 2399 ; 2395 : 15 ; 2389 : 22 ; 2367 : 44 ; ; 2456 : 4 ; 2450 ; 2446 : 15 ; 2440 : 22 ; 2428 : 34 ; ; 2505 : 4 ; 2499 ; 2495 : 15 ; 2489 : 22 ; 2479 : 32 ; ; 2568 : 28 ; 2546 : 50 ; ; ; : 18 ; : 50 ; ; ; ; 2538 : 59 ; ; ; ; ; ; ; ; 2070 : 538 ; 2637 : 1 ; 2625 : 8 ; : 13 ; ; ; ; 2617 : 22 ; ; ; ; ; ; ; ; 2666 : 1 ; 2657 : 6 ; : 10 ; 2649 : 19 ; ; ; ; ; ; ; ; 2750 : 27 ; 2763 : 5 ; 2770 : 6 ; 2750 : 12 ; : 27 : : i ; : : : - ; 2742 : 36 ; ; ; ; ; ; ; ; 2821 : 6 ; 2788 : 11 ; : 18 ; 2800 : 5 ; 2788 : 18 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; : 29 ; ; ; : 39 ; ; ; ; ; ; ; ; ; ; ; 2845 : 7 ; ; ; ; ; ; ; ; ; ; ; : 33 ; ; ; 2879 : 2 ; 2883 : 5 ; 2890 : 4 ; 2896 : 19 ; 2845 : 71 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 23 : 1 : -1 ; 8 : 100 ; 33 : 3 ; 30 : 1 ; 27 : 10 ; 8 : 100 ; ; ; 99 : 1 ; 94 : 3 ; 90 : 11 ; 84 : 18 ; 80 : 1 ; 75 : 3 ; 71 : 11 ; 64 : 39 ; 52 : 2 ; 49 : 1 ; 45 : 10 ; 40 : 15 ; ; 8 : 100 ; ; ; 12 : 14 ; 2845 : 71 : 10 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 2845 : 71 : 10 ; ; ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 45 : 16 ; 42 : 1 ; 39 ; 24 : 38 ; 77 : 16 ; 74 : 1 ; 67 : 27 ; 5 : 2 ; 2845 : 71 : 10 ; ; ; ; ; ; ; 13 : 2 : -1 ; 8 : 3 ; 5 : 11 ; 2 : 2 ; ; ; 29 : 1 ; 26 ; 19 : 12 ; 2 : 2 ; 2845 : 71 : 10 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 2837 : 80 ; ; ; ; ; ; ; ; 1605 : 1319 ; ; ; ; ; ; ; ; : : : o ; 3460 : 488 : : - ; 3547 : 4 ; 3567 : 29 ; 3599 : 11 ; : 18 ; 3611 : 5 ; 3599 : 18 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 3567 : 50 ; ; 3641 : 10 ; : 18 ; ; ; 3631 : 7 ; : 5 ; : 7 : : i ; : : : - ; : 28 ; 3627 : 126 ; ; ; 3696 : 7 ; : 5 ; : 7 : : i ; : : : - ; 3675 : 10 ; : 18 ; ; : 28 ; ; ; ; 3741 : 1 ; 3717 : 10 ; : 21 ; ; : 25 ; ; ; ; 3
"source" : "pragma solidity 0.4.23;\nimport \"../Module.sol\";\nimport \"../ModuleManager.sol\";\nimport \"../OwnerManager.sol\";\nimport \"../Enum.sol\";\n\n\n/// @title Daily Limit Module - Allows to transfer limited amounts of ERC20 tokens and Ether without confirmations.\n/// @author Stefan George - <stefan@gnosis.pm>\ncontract DailyLimitModule is Module {\n\n string public constant NAME = \"Daily Limit Module\";\n string public constant VERSION = \"0.0.1\";\n bytes4 public constant TRANSFER_FUNCTION_IDENTIFIER = hex\"a9059cbb\" ; \ n \ n // dailyLimits mapping maps token address to daily limit settings.\n mapping (address => DailyLimit) public dailyLimits;\n\n struct DailyLimit {\n uint256 dailyLimit;\n uint256 spentToday;\n uint256 lastDay;\n }\n\n /// @dev Setup function sets initial storage of contract.\n /// @param tokens List of token addresses. Ether is represented with address 0x0.\n /// @param _dailyLimits List of daily limits in smalles units (e.g. Wei for Ether).\n function setup(address[] tokens, uint256[] _dailyLimits)\n public\n {\n setManager();\n for (uint256 i = 0; i < tokens.length; i++)\n dailyLimits[tokens[i]].dailyLimit = _dailyLimits[i];\n }\n\n /// @dev Allows to update the daily limit for a specified token. This can only be done via a Safe transaction.\n /// @param token Token contract address.\n /// @param dailyLimit Daily limit in smallest token unit.\n function changeDailyLimit(address token, uint256 dailyLimit)\n public\n authorized\n {\n dailyLimits[token].dailyLimit = dailyLimit;\n }\n\n function executeInternal(address sender, address to, uint256 value, bytes data)\n internal\n {\n // Only Safe owners are allowed to execute daily limit transactions.\n require(OwnerManager(manager).isOwner(sender));\n // Data has to encode a token transfer or has to be empty.\n require(data.length == 0 && value > 0 || data.length > 0 && value == 0);\n address token;\n address receiver;\n uint256 amount;\n if (data.length == 0) {\n token = 0;\n receiver = to;\n amount = value;\n }\n else {\n token = to;\n bytes4 functionIdentifier;\n // solium-disable-next-line security/no-inline-assembly\n assembly {\n functionIdentifier := mload(add(data, 0x20))\n receiver := mload(add(data, 0x24))\n amount := mload(add(data, 0x44))\n }\n require(functionIdentifier == TRANSFER_FUNCTION_IDENTIFIER);\n }\n require(receiver != 0);\n require(amount > 0);\n // Validate that transfer is not exceeding daily limit.\n require(isUnderLimit(token, amount));\n dailyLimits[token].spentToday += amount;\n require(manager.execTransactionFromModule(to, value, data, Enum.Operation.Call));\n }\n\n /// @dev Returns if Safe transaction is a valid daily limit transaction.\n /// @param to Receiver address in case of Ether transfer, token address in case of a token transfer.\n /// @param value Ether value in case of an Ether transfer.\n /// @param data Encoded token transfer. Empty in case of Ether transfer.\n /// @return Returns if transaction can be executed.\n function executeDailyLimit(address to, uint256 value, bytes data)\n public\n {\n executeInternal(msg.sender, to, value, data);\n }\n\n function isUnderLimit(address token, uint256 amount)\n internal\n returns (bool)\n {\n DailyLimit storage dailyLimit = dailyLimits[token];\n if (today() > dailyLimit.lastDay) {\n dailyLimit.lastDay = today();\n dailyLimit.spentToday = 0;\n }\n if ( dailyLimit.spentToday + amount <= dailyLimit.dailyLimit\n && dailyLimit.spentToday + amount > dailyLimit.spentToday)\n return true;\n return false;\n }\n\n /// @dev
2018-05-10 13:12:13 +02:00
"sourcePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/modules/DailyLimitModule.sol" ,
2018-05-04 16:04:04 +02:00
"ast" : {
2018-05-10 13:12:13 +02:00
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/modules/DailyLimitModule.sol" ,
2018-05-04 16:04:04 +02:00
"exportedSymbols" : {
2018-05-10 13:12:13 +02:00
"DailyLimitModule" : [
2018-05-16 15:46:33 +02:00
1694
2018-05-04 16:04:04 +02:00
]
} ,
2018-05-16 15:46:33 +02:00
"id" : 1695 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "SourceUnit" ,
"nodes" : [
{
2018-05-16 15:46:33 +02:00
"id" : 1406 ,
2018-05-04 16:04:04 +02:00
"literals" : [
"solidity" ,
"0.4" ,
2018-05-10 13:12:13 +02:00
".23"
2018-05-04 16:04:04 +02:00
] ,
"nodeType" : "PragmaDirective" ,
2018-05-16 15:46:33 +02:00
"src" : "0:23:10"
2018-05-10 13:12:13 +02:00
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/Module.sol" ,
"file" : "../Module.sol" ,
2018-05-16 15:46:33 +02:00
"id" : 1407 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "ImportDirective" ,
2018-05-16 15:46:33 +02:00
"scope" : 1695 ,
"sourceUnit" : 622 ,
"src" : "24:23:10" ,
2018-05-10 13:12:13 +02:00
"symbolAliases" : [ ] ,
"unitAlias" : ""
2018-05-04 16:04:04 +02:00
} ,
{
2018-05-10 13:12:13 +02:00
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/ModuleManager.sol" ,
"file" : "../ModuleManager.sol" ,
2018-05-16 15:46:33 +02:00
"id" : 1408 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ImportDirective" ,
2018-05-16 15:46:33 +02:00
"scope" : 1695 ,
"sourceUnit" : 972 ,
"src" : "48:30:10" ,
2018-05-04 16:04:04 +02:00
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
2018-05-10 13:12:13 +02:00
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/OwnerManager.sol" ,
"file" : "../OwnerManager.sol" ,
2018-05-16 15:46:33 +02:00
"id" : 1409 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ImportDirective" ,
2018-05-16 15:46:33 +02:00
"scope" : 1695 ,
"sourceUnit" : 1344 ,
"src" : "79:29:10" ,
2018-05-10 13:12:13 +02:00
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/Enum.sol" ,
"file" : "../Enum.sol" ,
2018-05-16 15:46:33 +02:00
"id" : 1410 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "ImportDirective" ,
2018-05-16 15:46:33 +02:00
"scope" : 1695 ,
"sourceUnit" : 7 ,
"src" : "109:21:10" ,
2018-05-04 16:04:04 +02:00
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"baseContracts" : [
{
2018-05-10 13:12:13 +02:00
"arguments" : null ,
2018-05-04 16:04:04 +02:00
"baseName" : {
"contractScope" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1411 ,
2018-05-10 13:12:13 +02:00
"name" : "Module" ,
2018-05-04 16:04:04 +02:00
"nodeType" : "UserDefinedTypeName" ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 621 ,
"src" : "325:6:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_contract$_Module_$621" ,
2018-05-10 13:12:13 +02:00
"typeString" : "contract Module"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1412 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "InheritanceSpecifier" ,
2018-05-16 15:46:33 +02:00
"src" : "325:6:10"
2018-05-04 16:04:04 +02:00
}
] ,
"contractDependencies" : [
2018-05-16 15:46:33 +02:00
580 ,
621 ,
1359
2018-05-04 16:04:04 +02:00
] ,
"contractKind" : "contract" ,
2018-05-10 13:12:13 +02:00
"documentation" : "@title Daily Limit Module - Allows to transfer limited amounts of ERC20 tokens and Ether without confirmations.\n @author Stefan George - <stefan@gnosis.pm>" ,
2018-05-04 16:04:04 +02:00
"fullyImplemented" : true ,
2018-05-16 15:46:33 +02:00
"id" : 1694 ,
2018-05-04 16:04:04 +02:00
"linearizedBaseContracts" : [
2018-05-16 15:46:33 +02:00
1694 ,
621 ,
580 ,
1359
2018-05-04 16:04:04 +02:00
] ,
2018-05-10 13:12:13 +02:00
"name" : "DailyLimitModule" ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ContractDefinition" ,
"nodes" : [
{
"constant" : true ,
2018-05-16 15:46:33 +02:00
"id" : 1415 ,
2018-05-04 16:04:04 +02:00
"name" : "NAME" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1694 ,
"src" : "339:50:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_memory" ,
2018-05-10 13:12:13 +02:00
"typeString" : "string"
2018-05-04 16:04:04 +02:00
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1413 ,
2018-05-04 16:04:04 +02:00
"name" : "string" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "339:6:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage_ptr" ,
2018-05-10 13:12:13 +02:00
"typeString" : "string"
2018-05-04 16:04:04 +02:00
}
} ,
"value" : {
"argumentTypes" : null ,
2018-05-10 13:12:13 +02:00
"hexValue" : "4461696c79204c696d6974204d6f64756c65" ,
2018-05-16 15:46:33 +02:00
"id" : 1414 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-05-16 15:46:33 +02:00
"src" : "369:20:10" ,
2018-05-04 16:04:04 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_stringliteral_821ea27acfbc77b49f7a021dbe2eb92017d46b8bdda0bff9901cbc8ee143ceb3" ,
"typeString" : "literal_string \"Daily Limit Module\""
2018-05-04 16:04:04 +02:00
} ,
2018-05-10 13:12:13 +02:00
"value" : "Daily Limit Module"
2018-05-04 16:04:04 +02:00
} ,
"visibility" : "public"
} ,
{
"constant" : true ,
2018-05-16 15:46:33 +02:00
"id" : 1418 ,
2018-05-04 16:04:04 +02:00
"name" : "VERSION" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1694 ,
"src" : "395:40:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_memory" ,
2018-05-10 13:12:13 +02:00
"typeString" : "string"
2018-05-04 16:04:04 +02:00
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1416 ,
2018-05-04 16:04:04 +02:00
"name" : "string" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "395:6:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage_ptr" ,
2018-05-10 13:12:13 +02:00
"typeString" : "string"
2018-05-04 16:04:04 +02:00
}
} ,
"value" : {
"argumentTypes" : null ,
"hexValue" : "302e302e31" ,
2018-05-16 15:46:33 +02:00
"id" : 1417 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-05-16 15:46:33 +02:00
"src" : "428:7:10" ,
2018-05-04 16:04:04 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_ae209a0b48f21c054280f2455d32cf309387644879d9acbd8ffc199163811885" ,
"typeString" : "literal_string \"0.0.1\""
} ,
"value" : "0.0.1"
} ,
"visibility" : "public"
} ,
{
"constant" : true ,
2018-05-16 15:46:33 +02:00
"id" : 1421 ,
2018-05-04 16:04:04 +02:00
"name" : "TRANSFER_FUNCTION_IDENTIFIER" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1694 ,
"src" : "441:67:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes4" ,
"typeString" : "bytes4"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1419 ,
2018-05-04 16:04:04 +02:00
"name" : "bytes4" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "441:6:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes4" ,
"typeString" : "bytes4"
}
} ,
"value" : {
"argumentTypes" : null ,
"hexValue" : "a9059cbb" ,
2018-05-16 15:46:33 +02:00
"id" : 1420 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-05-16 15:46:33 +02:00
"src" : "495:13:10" ,
2018-05-04 16:04:04 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_abce0605a16ff5e998983a0af570b8ad942bb11e305eb20ae3ada0a3be24eb97" ,
"typeString" : "literal_string (contains invalid UTF-8 sequence at position 0)"
} ,
"value" : null
} ,
"visibility" : "public"
} ,
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1425 ,
2018-05-04 16:04:04 +02:00
"name" : "dailyLimits" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1694 ,
"src" : "586:50:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_mapping$_t_address_$_t_struct$_DailyLimit_$1432_storage_$" ,
2018-05-10 13:12:13 +02:00
"typeString" : "mapping(address => struct DailyLimitModule.DailyLimit)"
2018-05-04 16:04:04 +02:00
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1424 ,
2018-05-04 16:04:04 +02:00
"keyType" : {
2018-05-16 15:46:33 +02:00
"id" : 1422 ,
2018-05-04 16:04:04 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "595:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Mapping" ,
2018-05-16 15:46:33 +02:00
"src" : "586:31:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_mapping$_t_address_$_t_struct$_DailyLimit_$1432_storage_$" ,
2018-05-10 13:12:13 +02:00
"typeString" : "mapping(address => struct DailyLimitModule.DailyLimit)"
2018-05-04 16:04:04 +02:00
} ,
"valueType" : {
"contractScope" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1423 ,
2018-05-04 16:04:04 +02:00
"name" : "DailyLimit" ,
"nodeType" : "UserDefinedTypeName" ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1432 ,
"src" : "606:10:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_struct$_DailyLimit_$1432_storage_ptr" ,
2018-05-10 13:12:13 +02:00
"typeString" : "struct DailyLimitModule.DailyLimit"
2018-05-04 16:04:04 +02:00
}
}
} ,
"value" : null ,
"visibility" : "public"
} ,
{
2018-05-10 13:12:13 +02:00
"canonicalName" : "DailyLimitModule.DailyLimit" ,
2018-05-16 15:46:33 +02:00
"id" : 1432 ,
2018-05-04 16:04:04 +02:00
"members" : [
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1427 ,
2018-05-04 16:04:04 +02:00
"name" : "dailyLimit" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1432 ,
"src" : "671:18:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1426 ,
2018-05-04 16:04:04 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "671:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1429 ,
2018-05-04 16:04:04 +02:00
"name" : "spentToday" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1432 ,
"src" : "699:18:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1428 ,
2018-05-04 16:04:04 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "699:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1431 ,
2018-05-04 16:04:04 +02:00
"name" : "lastDay" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1432 ,
"src" : "727:15:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1430 ,
2018-05-04 16:04:04 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "727:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"name" : "DailyLimit" ,
"nodeType" : "StructDefinition" ,
2018-05-16 15:46:33 +02:00
"scope" : 1694 ,
"src" : "643:106:10" ,
2018-05-04 16:04:04 +02:00
"visibility" : "public"
} ,
{
"body" : {
2018-05-16 15:46:33 +02:00
"id" : 1467 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "Block" ,
2018-05-16 15:46:33 +02:00
"src" : "1067:146:10" ,
2018-05-04 16:04:04 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
2018-05-10 13:12:13 +02:00
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
2018-05-16 15:46:33 +02:00
"id" : 1441 ,
2018-05-10 13:12:13 +02:00
"name" : "setManager" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 620 ,
"src" : "1077:10:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_nonpayable$__$returns$__$" ,
"typeString" : "function ()"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1442 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-05-16 15:46:33 +02:00
"src" : "1077:12:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1443 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "1077:12:10"
2018-05-10 13:12:13 +02:00
} ,
{
"body" : {
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1464 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
2018-05-04 16:04:04 +02:00
"argumentTypes" : null ,
2018-05-10 13:12:13 +02:00
"expression" : {
2018-05-04 16:04:04 +02:00
"argumentTypes" : null ,
2018-05-10 13:12:13 +02:00
"baseExpression" : {
2018-05-04 16:04:04 +02:00
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1455 ,
2018-05-10 13:12:13 +02:00
"name" : "dailyLimits" ,
2018-05-04 16:04:04 +02:00
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1425 ,
"src" : "1155:11:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_mapping$_t_address_$_t_struct$_DailyLimit_$1432_storage_$" ,
2018-05-10 13:12:13 +02:00
"typeString" : "mapping(address => struct DailyLimitModule.DailyLimit storage ref)"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1459 ,
2018-05-10 13:12:13 +02:00
"indexExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
2018-05-04 16:04:04 +02:00
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1456 ,
2018-05-10 13:12:13 +02:00
"name" : "tokens" ,
2018-05-04 16:04:04 +02:00
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1435 ,
"src" : "1167:6:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
2018-05-04 16:04:04 +02:00
}
2018-05-10 13:12:13 +02:00
} ,
2018-05-16 15:46:33 +02:00
"id" : 1458 ,
2018-05-10 13:12:13 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1457 ,
2018-05-10 13:12:13 +02:00
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1445 ,
"src" : "1174:1:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-04 16:04:04 +02:00
}
2018-05-10 13:12:13 +02:00
} ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
2018-05-10 13:12:13 +02:00
"isLValue" : true ,
"isPure" : false ,
2018-05-04 16:04:04 +02:00
"lValueRequested" : false ,
2018-05-10 13:12:13 +02:00
"nodeType" : "IndexAccess" ,
2018-05-16 15:46:33 +02:00
"src" : "1167:9:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
2018-05-04 16:04:04 +02:00
} ,
"isConstant" : false ,
2018-05-10 13:12:13 +02:00
"isLValue" : true ,
2018-05-04 16:04:04 +02:00
"isPure" : false ,
"lValueRequested" : false ,
2018-05-10 13:12:13 +02:00
"nodeType" : "IndexAccess" ,
2018-05-16 15:46:33 +02:00
"src" : "1155:22:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_struct$_DailyLimit_$1432_storage" ,
2018-05-10 13:12:13 +02:00
"typeString" : "struct DailyLimitModule.DailyLimit storage ref"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1460 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"memberName" : "dailyLimit" ,
"nodeType" : "MemberAccess" ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1427 ,
"src" : "1155:33:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-04 16:04:04 +02:00
}
2018-05-10 13:12:13 +02:00
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1461 ,
2018-05-10 13:12:13 +02:00
"name" : "_dailyLimits" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1438 ,
"src" : "1191:12:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint256_$dyn_memory_ptr" ,
"typeString" : "uint256[] memory"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1463 ,
2018-05-10 13:12:13 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1462 ,
2018-05-10 13:12:13 +02:00
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1445 ,
"src" : "1204:1:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-05-16 15:46:33 +02:00
"src" : "1191:15:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-04 16:04:04 +02:00
}
2018-05-10 13:12:13 +02:00
} ,
2018-05-16 15:46:33 +02:00
"src" : "1155:51:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1465 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "1155:51:10"
2018-05-10 13:12:13 +02:00
} ,
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-04 16:04:04 +02:00
} ,
2018-05-16 15:46:33 +02:00
"id" : 1451 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
2018-05-10 13:12:13 +02:00
"leftExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1448 ,
2018-05-10 13:12:13 +02:00
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1445 ,
"src" : "1119:1:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "<" ,
"rightExpression" : {
"argumentTypes" : null ,
"expression" : {
2018-05-04 16:04:04 +02:00
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1449 ,
2018-05-04 16:04:04 +02:00
"name" : "tokens" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1435 ,
"src" : "1123:6:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1450 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "length" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-05-16 15:46:33 +02:00
"src" : "1123:13:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"src" : "1119:17:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1466 ,
2018-05-10 13:12:13 +02:00
"initializationExpression" : {
"assignments" : [
2018-05-16 15:46:33 +02:00
1445
2018-05-10 13:12:13 +02:00
] ,
"declarations" : [
2018-05-04 16:04:04 +02:00
{
2018-05-10 13:12:13 +02:00
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1445 ,
2018-05-10 13:12:13 +02:00
"name" : "i" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1468 ,
"src" : "1104:9:10" ,
2018-05-10 13:12:13 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1444 ,
2018-05-10 13:12:13 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "1104:7:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
2018-05-04 16:04:04 +02:00
}
] ,
2018-05-16 15:46:33 +02:00
"id" : 1447 ,
2018-05-10 13:12:13 +02:00
"initialValue" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-05-16 15:46:33 +02:00
"id" : 1446 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-05-16 15:46:33 +02:00
"src" : "1116:1:10" ,
2018-05-10 13:12:13 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "1104:13:10"
2018-05-10 13:12:13 +02:00
} ,
"loopExpression" : {
2018-05-04 16:04:04 +02:00
"expression" : {
2018-05-10 13:12:13 +02:00
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1453 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "++" ,
"prefix" : false ,
2018-05-16 15:46:33 +02:00
"src" : "1138:3:10" ,
2018-05-10 13:12:13 +02:00
"subExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1452 ,
2018-05-10 13:12:13 +02:00
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1445 ,
"src" : "1138:1:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-04 16:04:04 +02:00
}
2018-05-10 13:12:13 +02:00
} ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1454 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "1138:3:10"
2018-05-04 16:04:04 +02:00
} ,
2018-05-10 13:12:13 +02:00
"nodeType" : "ForStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "1099:107:10"
2018-05-04 16:04:04 +02:00
}
]
} ,
2018-05-10 13:12:13 +02:00
"documentation" : "@dev Setup function sets initial storage of contract.\n @param tokens List of token addresses. Ether is represented with address 0x0.\n @param _dailyLimits List of daily limits in smalles units (e.g. Wei for Ether)." ,
2018-05-16 15:46:33 +02:00
"id" : 1468 ,
2018-05-04 16:04:04 +02:00
"implemented" : true ,
2018-05-10 13:12:13 +02:00
"isConstructor" : false ,
2018-05-04 16:04:04 +02:00
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
2018-05-10 13:12:13 +02:00
"name" : "setup" ,
2018-05-04 16:04:04 +02:00
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-05-16 15:46:33 +02:00
"id" : 1439 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1435 ,
2018-05-04 16:04:04 +02:00
"name" : "tokens" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1468 ,
"src" : "1006:16:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
2018-05-10 13:12:13 +02:00
"typeString" : "address[]"
2018-05-04 16:04:04 +02:00
} ,
"typeName" : {
"baseType" : {
2018-05-16 15:46:33 +02:00
"id" : 1433 ,
2018-05-04 16:04:04 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "1006:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1434 ,
2018-05-04 16:04:04 +02:00
"length" : null ,
"nodeType" : "ArrayTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "1006:9:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_storage_ptr" ,
2018-05-10 13:12:13 +02:00
"typeString" : "address[]"
2018-05-04 16:04:04 +02:00
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1438 ,
2018-05-04 16:04:04 +02:00
"name" : "_dailyLimits" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1468 ,
"src" : "1024:22:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint256_$dyn_memory_ptr" ,
2018-05-10 13:12:13 +02:00
"typeString" : "uint256[]"
2018-05-04 16:04:04 +02:00
} ,
"typeName" : {
"baseType" : {
2018-05-16 15:46:33 +02:00
"id" : 1436 ,
2018-05-04 16:04:04 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "1024:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1437 ,
2018-05-04 16:04:04 +02:00
"length" : null ,
"nodeType" : "ArrayTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "1024:9:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint256_$dyn_storage_ptr" ,
2018-05-10 13:12:13 +02:00
"typeString" : "uint256[]"
2018-05-04 16:04:04 +02:00
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-05-16 15:46:33 +02:00
"src" : "1005:42:10"
2018-05-04 16:04:04 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-05-16 15:46:33 +02:00
"id" : 1440 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-05-16 15:46:33 +02:00
"src" : "1067:0:10"
2018-05-04 16:04:04 +02:00
} ,
2018-05-16 15:46:33 +02:00
"scope" : 1694 ,
"src" : "991:222:10" ,
2018-05-04 16:04:04 +02:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-05-16 15:46:33 +02:00
"id" : 1484 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "Block" ,
2018-05-16 15:46:33 +02:00
"src" : "1540:59:10" ,
2018-05-04 16:04:04 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1482 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"expression" : {
2018-05-04 16:04:04 +02:00
"argumentTypes" : null ,
2018-05-10 13:12:13 +02:00
"baseExpression" : {
2018-05-04 16:04:04 +02:00
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1477 ,
2018-05-10 13:12:13 +02:00
"name" : "dailyLimits" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1425 ,
"src" : "1550:11:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_mapping$_t_address_$_t_struct$_DailyLimit_$1432_storage_$" ,
2018-05-10 13:12:13 +02:00
"typeString" : "mapping(address => struct DailyLimitModule.DailyLimit storage ref)"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1479 ,
2018-05-10 13:12:13 +02:00
"indexExpression" : {
2018-05-04 16:04:04 +02:00
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1478 ,
2018-05-10 13:12:13 +02:00
"name" : "token" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1470 ,
"src" : "1562:5:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
2018-05-04 16:04:04 +02:00
} ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-05-16 15:46:33 +02:00
"src" : "1550:18:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_struct$_DailyLimit_$1432_storage" ,
2018-05-10 13:12:13 +02:00
"typeString" : "struct DailyLimitModule.DailyLimit storage ref"
2018-05-04 16:04:04 +02:00
}
2018-05-10 13:12:13 +02:00
} ,
2018-05-16 15:46:33 +02:00
"id" : 1480 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"memberName" : "dailyLimit" ,
"nodeType" : "MemberAccess" ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1427 ,
"src" : "1550:29:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-04 16:04:04 +02:00
}
2018-05-10 13:12:13 +02:00
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1481 ,
2018-05-10 13:12:13 +02:00
"name" : "dailyLimit" ,
2018-05-04 16:04:04 +02:00
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1472 ,
"src" : "1582:10:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"src" : "1550:42:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1483 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "1550:42:10"
2018-05-10 13:12:13 +02:00
}
]
} ,
"documentation" : "@dev Allows to update the daily limit for a specified token. This can only be done via a Safe transaction.\n @param token Token contract address.\n @param dailyLimit Daily limit in smallest token unit." ,
2018-05-16 15:46:33 +02:00
"id" : 1485 ,
2018-05-10 13:12:13 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [
{
"arguments" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1475 ,
2018-05-10 13:12:13 +02:00
"modifierName" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1474 ,
2018-05-10 13:12:13 +02:00
"name" : "authorized" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 601 ,
"src" : "1525:10:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_modifier$__$" ,
"typeString" : "modifier ()"
}
2018-05-04 16:04:04 +02:00
} ,
2018-05-10 13:12:13 +02:00
"nodeType" : "ModifierInvocation" ,
2018-05-16 15:46:33 +02:00
"src" : "1525:10:10"
2018-05-10 13:12:13 +02:00
}
] ,
"name" : "changeDailyLimit" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-05-16 15:46:33 +02:00
"id" : 1473 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
2018-05-04 16:04:04 +02:00
{
2018-05-10 13:12:13 +02:00
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1470 ,
2018-05-10 13:12:13 +02:00
"name" : "token" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1485 ,
"src" : "1467:13:10" ,
2018-05-10 13:12:13 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1469 ,
2018-05-10 13:12:13 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "1467:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_address" ,
"typeString" : "address"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-10 13:12:13 +02:00
"value" : null ,
"visibility" : "internal"
2018-05-04 16:04:04 +02:00
} ,
{
2018-05-10 13:12:13 +02:00
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1472 ,
2018-05-10 13:12:13 +02:00
"name" : "dailyLimit" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1485 ,
"src" : "1482:18:10" ,
2018-05-10 13:12:13 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1471 ,
2018-05-10 13:12:13 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "1482:7:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-05-16 15:46:33 +02:00
"src" : "1466:35:10"
2018-05-10 13:12:13 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-05-16 15:46:33 +02:00
"id" : 1476 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-05-16 15:46:33 +02:00
"src" : "1540:0:10"
2018-05-10 13:12:13 +02:00
} ,
2018-05-16 15:46:33 +02:00
"scope" : 1694 ,
"src" : "1441:158:10" ,
2018-05-10 13:12:13 +02:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-05-16 15:46:33 +02:00
"id" : 1605 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "Block" ,
2018-05-16 15:46:33 +02:00
"src" : "1706:1218:10" ,
2018-05-10 13:12:13 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
2018-05-04 16:04:04 +02:00
"argumentTypes" : null ,
2018-05-10 13:12:13 +02:00
"arguments" : [
{
2018-05-04 16:04:04 +02:00
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1501 ,
2018-05-10 13:12:13 +02:00
"name" : "sender" ,
2018-05-04 16:04:04 +02:00
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1487 ,
"src" : "1831:6:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_address" ,
"typeString" : "address"
2018-05-04 16:04:04 +02:00
}
2018-05-10 13:12:13 +02:00
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
] ,
"expression" : {
2018-05-04 16:04:04 +02:00
"argumentTypes" : null ,
2018-05-10 13:12:13 +02:00
"arguments" : [
{
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1498 ,
2018-05-10 13:12:13 +02:00
"name" : "manager" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 588 ,
"src" : "1814:7:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_contract$_ModuleManager_$971" ,
2018-05-10 13:12:13 +02:00
"typeString" : "contract ModuleManager"
}
2018-05-04 16:04:04 +02:00
}
2018-05-10 13:12:13 +02:00
] ,
"expression" : {
"argumentTypes" : [
{
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_contract$_ModuleManager_$971" ,
2018-05-10 13:12:13 +02:00
"typeString" : "contract ModuleManager"
}
] ,
2018-05-16 15:46:33 +02:00
"id" : 1497 ,
2018-05-10 13:12:13 +02:00
"name" : "OwnerManager" ,
2018-05-04 16:04:04 +02:00
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1343 ,
"src" : "1801:12:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_type$_t_contract$_OwnerManager_$1343_$" ,
2018-05-10 13:12:13 +02:00
"typeString" : "type(contract OwnerManager)"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1499 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
2018-05-10 13:12:13 +02:00
"isLValue" : false ,
2018-05-04 16:04:04 +02:00
"isPure" : false ,
2018-05-10 13:12:13 +02:00
"kind" : "typeConversion" ,
2018-05-04 16:04:04 +02:00
"lValueRequested" : false ,
2018-05-10 13:12:13 +02:00
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-05-16 15:46:33 +02:00
"src" : "1801:21:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_contract$_OwnerManager_$1343" ,
2018-05-10 13:12:13 +02:00
"typeString" : "contract OwnerManager"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1500 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
2018-05-10 13:12:13 +02:00
"isLValue" : false ,
2018-05-04 16:04:04 +02:00
"isPure" : false ,
"lValueRequested" : false ,
2018-05-10 13:12:13 +02:00
"memberName" : "isOwner" ,
"nodeType" : "MemberAccess" ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1293 ,
"src" : "1801:29:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_function_external_view$_t_address_$returns$_t_bool_$" ,
"typeString" : "function (address) view external returns (bool)"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1502 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
2018-05-10 13:12:13 +02:00
"isLValue" : false ,
2018-05-04 16:04:04 +02:00
"isPure" : false ,
2018-05-10 13:12:13 +02:00
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-05-16 15:46:33 +02:00
"src" : "1801:37:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
2018-05-04 16:04:04 +02:00
}
2018-05-10 13:12:13 +02:00
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
2018-05-04 16:04:04 +02:00
}
2018-05-10 13:12:13 +02:00
] ,
2018-05-16 15:46:33 +02:00
"id" : 1496 ,
2018-05-10 13:12:13 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-05-16 15:46:33 +02:00
2399 ,
2400
2018-05-10 13:12:13 +02:00
] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 2399 ,
"src" : "1793:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$" ,
"typeString" : "function (bool) pure"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1503 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
2018-05-10 13:12:13 +02:00
"kind" : "functionCall" ,
2018-05-04 16:04:04 +02:00
"lValueRequested" : false ,
2018-05-10 13:12:13 +02:00
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-05-16 15:46:33 +02:00
"src" : "1793:46:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1504 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "1793:46:10"
2018-05-04 16:04:04 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
2018-05-04 16:04:04 +02:00
} ,
2018-05-16 15:46:33 +02:00
"id" : 1522 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-05-10 13:12:13 +02:00
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1513 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1509 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
2018-05-10 13:12:13 +02:00
"isPure" : false ,
2018-05-04 16:04:04 +02:00
"lValueRequested" : false ,
2018-05-10 13:12:13 +02:00
"leftExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1506 ,
2018-05-10 13:12:13 +02:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1493 ,
"src" : "1924:4:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1507 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "length" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-05-16 15:46:33 +02:00
"src" : "1924:11:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-05-16 15:46:33 +02:00
"id" : 1508 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-05-16 15:46:33 +02:00
"src" : "1939:1:10" ,
2018-05-10 13:12:13 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-05-16 15:46:33 +02:00
"src" : "1924:16:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "&&" ,
"rightExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1512 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1510 ,
2018-05-10 13:12:13 +02:00
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1491 ,
"src" : "1944:5:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : ">" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-05-16 15:46:33 +02:00
"id" : 1511 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-05-16 15:46:33 +02:00
"src" : "1952:1:10" ,
2018-05-10 13:12:13 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
2018-05-04 16:04:04 +02:00
} ,
2018-05-16 15:46:33 +02:00
"src" : "1944:9:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
2018-05-04 16:04:04 +02:00
} ,
2018-05-16 15:46:33 +02:00
"src" : "1924:29:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
2018-05-04 16:04:04 +02:00
}
} ,
"nodeType" : "BinaryOperation" ,
2018-05-10 13:12:13 +02:00
"operator" : "||" ,
2018-05-04 16:04:04 +02:00
"rightExpression" : {
"argumentTypes" : null ,
2018-05-10 13:12:13 +02:00
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1521 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
2018-05-10 13:12:13 +02:00
"isPure" : false ,
2018-05-04 16:04:04 +02:00
"lValueRequested" : false ,
2018-05-10 13:12:13 +02:00
"leftExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1517 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1514 ,
2018-05-10 13:12:13 +02:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1493 ,
"src" : "1957:4:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1515 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "length" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-05-16 15:46:33 +02:00
"src" : "1957:11:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : ">" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-05-16 15:46:33 +02:00
"id" : 1516 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-05-16 15:46:33 +02:00
"src" : "1971:1:10" ,
2018-05-10 13:12:13 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-05-16 15:46:33 +02:00
"src" : "1957:15:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
2018-05-04 16:04:04 +02:00
} ,
2018-05-10 13:12:13 +02:00
"nodeType" : "BinaryOperation" ,
"operator" : "&&" ,
"rightExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1520 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1518 ,
2018-05-10 13:12:13 +02:00
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1491 ,
"src" : "1976:5:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-05-16 15:46:33 +02:00
"id" : 1519 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-05-16 15:46:33 +02:00
"src" : "1985:1:10" ,
2018-05-10 13:12:13 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-05-16 15:46:33 +02:00
"src" : "1976:10:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-05-16 15:46:33 +02:00
"src" : "1957:29:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
2018-05-04 16:04:04 +02:00
} ,
2018-05-16 15:46:33 +02:00
"src" : "1924:62:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
] ,
2018-05-16 15:46:33 +02:00
"id" : 1505 ,
2018-05-04 16:04:04 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
2018-05-10 13:12:13 +02:00
"overloadedDeclarations" : [
2018-05-16 15:46:33 +02:00
2399 ,
2400
2018-05-10 13:12:13 +02:00
] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 2399 ,
"src" : "1916:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$" ,
"typeString" : "function (bool) pure"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1523 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-05-16 15:46:33 +02:00
"src" : "1916:71:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1524 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "1916:71:10"
2018-05-04 16:04:04 +02:00
} ,
{
2018-05-10 13:12:13 +02:00
"assignments" : [ ] ,
"declarations" : [
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1526 ,
2018-05-10 13:12:13 +02:00
"name" : "token" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1606 ,
"src" : "1997:13:10" ,
2018-05-10 13:12:13 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1525 ,
2018-05-10 13:12:13 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "1997:7:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-05-16 15:46:33 +02:00
"id" : 1527 ,
2018-05-10 13:12:13 +02:00
"initialValue" : null ,
"nodeType" : "VariableDeclarationStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "1997:13:10"
2018-05-10 13:12:13 +02:00
} ,
{
"assignments" : [ ] ,
"declarations" : [
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1529 ,
2018-05-10 13:12:13 +02:00
"name" : "receiver" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1606 ,
"src" : "2020:16:10" ,
2018-05-10 13:12:13 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1528 ,
2018-05-10 13:12:13 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "2020:7:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
2018-05-04 16:04:04 +02:00
}
2018-05-10 13:12:13 +02:00
] ,
2018-05-16 15:46:33 +02:00
"id" : 1530 ,
2018-05-10 13:12:13 +02:00
"initialValue" : null ,
"nodeType" : "VariableDeclarationStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "2020:16:10"
2018-05-04 16:04:04 +02:00
} ,
{
2018-05-10 13:12:13 +02:00
"assignments" : [ ] ,
"declarations" : [
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1532 ,
2018-05-10 13:12:13 +02:00
"name" : "amount" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1606 ,
"src" : "2046:14:10" ,
2018-05-10 13:12:13 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1531 ,
2018-05-10 13:12:13 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "2046:7:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
2018-05-04 16:04:04 +02:00
}
2018-05-10 13:12:13 +02:00
] ,
2018-05-16 15:46:33 +02:00
"id" : 1533 ,
2018-05-10 13:12:13 +02:00
"initialValue" : null ,
"nodeType" : "VariableDeclarationStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "2046:14:10"
2018-05-10 13:12:13 +02:00
} ,
2018-05-04 16:04:04 +02:00
{
2018-05-10 13:12:13 +02:00
"condition" : {
2018-05-04 16:04:04 +02:00
"argumentTypes" : null ,
2018-05-10 13:12:13 +02:00
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1537 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
2018-05-10 13:12:13 +02:00
"leftExpression" : {
2018-05-04 16:04:04 +02:00
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1534 ,
2018-05-10 13:12:13 +02:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1493 ,
"src" : "2074:4:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1535 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
2018-05-10 13:12:13 +02:00
"isLValue" : false ,
2018-05-04 16:04:04 +02:00
"isPure" : false ,
2018-05-10 13:12:13 +02:00
"lValueRequested" : false ,
"memberName" : "length" ,
2018-05-04 16:04:04 +02:00
"nodeType" : "MemberAccess" ,
2018-05-10 13:12:13 +02:00
"referencedDeclaration" : null ,
2018-05-16 15:46:33 +02:00
"src" : "2074:11:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-10 13:12:13 +02:00
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
2018-05-04 16:04:04 +02:00
"argumentTypes" : null ,
2018-05-10 13:12:13 +02:00
"hexValue" : "30" ,
2018-05-16 15:46:33 +02:00
"id" : 1536 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-05-16 15:46:33 +02:00
"src" : "2089:1:10" ,
2018-05-10 13:12:13 +02:00
"subdenomination" : null ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
2018-05-04 16:04:04 +02:00
} ,
2018-05-16 15:46:33 +02:00
"src" : "2074:16:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-10 13:12:13 +02:00
"falseBody" : {
2018-05-16 15:46:33 +02:00
"id" : 1565 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "Block" ,
2018-05-16 15:46:33 +02:00
"src" : "2195:413:10" ,
2018-05-10 13:12:13 +02:00
"statements" : [
2018-05-04 16:04:04 +02:00
{
2018-05-10 13:12:13 +02:00
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1553 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
2018-05-04 16:04:04 +02:00
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1551 ,
2018-05-10 13:12:13 +02:00
"name" : "token" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1526 ,
"src" : "2209:5:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1552 ,
2018-05-10 13:12:13 +02:00
"name" : "to" ,
2018-05-04 16:04:04 +02:00
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1489 ,
"src" : "2217:2:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
2018-05-10 13:12:13 +02:00
} ,
2018-05-16 15:46:33 +02:00
"src" : "2209:10:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1554 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "2209:10:10"
2018-05-10 13:12:13 +02:00
} ,
{
"assignments" : [ ] ,
"declarations" : [
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1556 ,
2018-05-10 13:12:13 +02:00
"name" : "functionIdentifier" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1606 ,
"src" : "2233:25:10" ,
2018-05-10 13:12:13 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes4" ,
"typeString" : "bytes4"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1555 ,
2018-05-10 13:12:13 +02:00
"name" : "bytes4" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "2233:6:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes4" ,
"typeString" : "bytes4"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-05-16 15:46:33 +02:00
"id" : 1557 ,
2018-05-10 13:12:13 +02:00
"initialValue" : null ,
"nodeType" : "VariableDeclarationStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "2233:25:10"
2018-05-10 13:12:13 +02:00
} ,
{
"externalReferences" : [
{
"functionIdentifier" : {
2018-05-16 15:46:33 +02:00
"declaration" : 1556 ,
2018-05-10 13:12:13 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-05-16 15:46:33 +02:00
"src" : "2367:18:10" ,
2018-05-10 13:12:13 +02:00
"valueSize" : 1
}
} ,
{
"data" : {
2018-05-16 15:46:33 +02:00
"declaration" : 1493 ,
2018-05-10 13:12:13 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-05-16 15:46:33 +02:00
"src" : "2399:4:10" ,
2018-05-10 13:12:13 +02:00
"valueSize" : 1
}
} ,
{
"receiver" : {
2018-05-16 15:46:33 +02:00
"declaration" : 1529 ,
2018-05-10 13:12:13 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-05-16 15:46:33 +02:00
"src" : "2428:8:10" ,
2018-05-10 13:12:13 +02:00
"valueSize" : 1
}
} ,
{
"amount" : {
2018-05-16 15:46:33 +02:00
"declaration" : 1532 ,
2018-05-10 13:12:13 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-05-16 15:46:33 +02:00
"src" : "2479:6:10" ,
2018-05-10 13:12:13 +02:00
"valueSize" : 1
}
} ,
{
"data" : {
2018-05-16 15:46:33 +02:00
"declaration" : 1493 ,
2018-05-10 13:12:13 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-05-16 15:46:33 +02:00
"src" : "2450:4:10" ,
2018-05-10 13:12:13 +02:00
"valueSize" : 1
}
} ,
{
"data" : {
2018-05-16 15:46:33 +02:00
"declaration" : 1493 ,
2018-05-10 13:12:13 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-05-16 15:46:33 +02:00
"src" : "2499:4:10" ,
2018-05-10 13:12:13 +02:00
"valueSize" : 1
}
2018-05-04 16:04:04 +02:00
}
] ,
2018-05-16 15:46:33 +02:00
"id" : 1558 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "InlineAssembly" ,
"operations" : "{\n functionIdentifier := mload(add(data, 0x20))\n receiver := mload(add(data, 0x24))\n amount := mload(add(data, 0x44))\n}" ,
2018-05-16 15:46:33 +02:00
"src" : "2340:205:10"
2018-05-10 13:12:13 +02:00
} ,
{
2018-05-04 16:04:04 +02:00
"expression" : {
2018-05-10 13:12:13 +02:00
"argumentTypes" : null ,
"arguments" : [
2018-05-04 16:04:04 +02:00
{
2018-05-10 13:12:13 +02:00
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bytes4" ,
"typeString" : "bytes4"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1562 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1560 ,
2018-05-10 13:12:13 +02:00
"name" : "functionIdentifier" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1556 ,
"src" : "2546:18:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes4" ,
"typeString" : "bytes4"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1561 ,
2018-05-10 13:12:13 +02:00
"name" : "TRANSFER_FUNCTION_IDENTIFIER" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1421 ,
"src" : "2568:28:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes4" ,
"typeString" : "bytes4"
}
} ,
2018-05-16 15:46:33 +02:00
"src" : "2546:50:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
2018-05-04 16:04:04 +02:00
}
] ,
"expression" : {
2018-05-10 13:12:13 +02:00
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
] ,
2018-05-16 15:46:33 +02:00
"id" : 1559 ,
2018-05-10 13:12:13 +02:00
"name" : "require" ,
2018-05-04 16:04:04 +02:00
"nodeType" : "Identifier" ,
2018-05-10 13:12:13 +02:00
"overloadedDeclarations" : [
2018-05-16 15:46:33 +02:00
2399 ,
2400
2018-05-10 13:12:13 +02:00
] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 2399 ,
"src" : "2538:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$" ,
"typeString" : "function (bool) pure"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1563 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
2018-05-10 13:12:13 +02:00
"kind" : "functionCall" ,
2018-05-04 16:04:04 +02:00
"lValueRequested" : false ,
2018-05-10 13:12:13 +02:00
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-05-16 15:46:33 +02:00
"src" : "2538:59:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1564 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "2538:59:10"
2018-05-04 16:04:04 +02:00
}
2018-05-10 13:12:13 +02:00
]
2018-05-04 16:04:04 +02:00
} ,
2018-05-16 15:46:33 +02:00
"id" : 1566 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "IfStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "2070:538:10" ,
2018-05-10 13:12:13 +02:00
"trueBody" : {
2018-05-16 15:46:33 +02:00
"id" : 1550 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "Block" ,
2018-05-16 15:46:33 +02:00
"src" : "2092:89:10" ,
2018-05-10 13:12:13 +02:00
"statements" : [
2018-05-04 16:04:04 +02:00
{
2018-05-10 13:12:13 +02:00
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1540 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1538 ,
2018-05-10 13:12:13 +02:00
"name" : "token" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1526 ,
"src" : "2106:5:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-05-16 15:46:33 +02:00
"id" : 1539 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-05-16 15:46:33 +02:00
"src" : "2114:1:10" ,
2018-05-10 13:12:13 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-05-16 15:46:33 +02:00
"src" : "2106:9:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1541 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "2106:9:10"
2018-05-10 13:12:13 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1544 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1542 ,
2018-05-10 13:12:13 +02:00
"name" : "receiver" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1529 ,
"src" : "2129:8:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1543 ,
2018-05-10 13:12:13 +02:00
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1489 ,
"src" : "2140:2:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-05-16 15:46:33 +02:00
"src" : "2129:13:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1545 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "2129:13:10"
2018-05-10 13:12:13 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1548 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1546 ,
2018-05-10 13:12:13 +02:00
"name" : "amount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1532 ,
"src" : "2156:6:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1547 ,
2018-05-10 13:12:13 +02:00
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1491 ,
"src" : "2165:5:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"src" : "2156:14:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1549 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "2156:14:10"
2018-05-10 13:12:13 +02:00
}
]
}
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-05-04 16:04:04 +02:00
"commonType" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_address" ,
"typeString" : "address"
2018-05-04 16:04:04 +02:00
} ,
2018-05-16 15:46:33 +02:00
"id" : 1570 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1568 ,
2018-05-10 13:12:13 +02:00
"name" : "receiver" ,
2018-05-04 16:04:04 +02:00
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1529 ,
"src" : "2625:8:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_address" ,
"typeString" : "address"
2018-05-04 16:04:04 +02:00
}
} ,
"nodeType" : "BinaryOperation" ,
2018-05-10 13:12:13 +02:00
"operator" : "!=" ,
2018-05-04 16:04:04 +02:00
"rightExpression" : {
"argumentTypes" : null ,
2018-05-10 13:12:13 +02:00
"hexValue" : "30" ,
2018-05-16 15:46:33 +02:00
"id" : 1569 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
2018-05-10 13:12:13 +02:00
"kind" : "number" ,
2018-05-04 16:04:04 +02:00
"lValueRequested" : false ,
2018-05-10 13:12:13 +02:00
"nodeType" : "Literal" ,
2018-05-16 15:46:33 +02:00
"src" : "2637:1:10" ,
2018-05-10 13:12:13 +02:00
"subdenomination" : null ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
2018-05-04 16:04:04 +02:00
} ,
2018-05-16 15:46:33 +02:00
"src" : "2625:13:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
] ,
2018-05-16 15:46:33 +02:00
"id" : 1567 ,
2018-05-04 16:04:04 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
2018-05-10 13:12:13 +02:00
"overloadedDeclarations" : [
2018-05-16 15:46:33 +02:00
2399 ,
2400
2018-05-10 13:12:13 +02:00
] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 2399 ,
"src" : "2617:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$" ,
"typeString" : "function (bool) pure"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1571 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-05-16 15:46:33 +02:00
"src" : "2617:22:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1572 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "2617:22:10"
2018-05-04 16:04:04 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-04 16:04:04 +02:00
} ,
2018-05-16 15:46:33 +02:00
"id" : 1576 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1574 ,
2018-05-10 13:12:13 +02:00
"name" : "amount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1532 ,
"src" : "2657:6:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : ">" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-05-16 15:46:33 +02:00
"id" : 1575 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
2018-05-10 13:12:13 +02:00
"isPure" : true ,
"kind" : "number" ,
2018-05-04 16:04:04 +02:00
"lValueRequested" : false ,
2018-05-10 13:12:13 +02:00
"nodeType" : "Literal" ,
2018-05-16 15:46:33 +02:00
"src" : "2666:1:10" ,
2018-05-10 13:12:13 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-05-16 15:46:33 +02:00
"src" : "2657:10:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
] ,
2018-05-16 15:46:33 +02:00
"id" : 1573 ,
2018-05-10 13:12:13 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-05-16 15:46:33 +02:00
2399 ,
2400
2018-05-10 13:12:13 +02:00
] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 2399 ,
"src" : "2649:7:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$" ,
"typeString" : "function (bool) pure"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1577 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-05-16 15:46:33 +02:00
"src" : "2649:19:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1578 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "2649:19:10"
2018-05-10 13:12:13 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
{
2018-05-04 16:04:04 +02:00
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1581 ,
2018-05-10 13:12:13 +02:00
"name" : "token" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1526 ,
"src" : "2763:5:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1582 ,
2018-05-10 13:12:13 +02:00
"name" : "amount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1532 ,
"src" : "2770:6:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
2018-05-04 16:04:04 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-10 13:12:13 +02:00
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
2018-05-04 16:04:04 +02:00
} ,
2018-05-10 13:12:13 +02:00
{
2018-05-04 16:04:04 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
2018-05-10 13:12:13 +02:00
] ,
2018-05-16 15:46:33 +02:00
"id" : 1580 ,
2018-05-10 13:12:13 +02:00
"name" : "isUnderLimit" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1680 ,
"src" : "2750:12:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$" ,
"typeString" : "function (address,uint256) returns (bool)"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1583 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-05-16 15:46:33 +02:00
"src" : "2750:27:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
] ,
2018-05-16 15:46:33 +02:00
"id" : 1579 ,
2018-05-04 16:04:04 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
2018-05-10 13:12:13 +02:00
"overloadedDeclarations" : [
2018-05-16 15:46:33 +02:00
2399 ,
2400
2018-05-10 13:12:13 +02:00
] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 2399 ,
"src" : "2742:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$" ,
"typeString" : "function (bool) pure"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1584 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-05-16 15:46:33 +02:00
"src" : "2742:36:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1585 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "2742:36:10"
2018-05-04 16:04:04 +02:00
} ,
{
2018-05-10 13:12:13 +02:00
"expression" : {
2018-05-04 16:04:04 +02:00
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1591 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
2018-05-10 13:12:13 +02:00
"leftHandSide" : {
2018-05-04 16:04:04 +02:00
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-05-10 13:12:13 +02:00
"baseExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1586 ,
2018-05-10 13:12:13 +02:00
"name" : "dailyLimits" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1425 ,
"src" : "2788:11:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_mapping$_t_address_$_t_struct$_DailyLimit_$1432_storage_$" ,
2018-05-10 13:12:13 +02:00
"typeString" : "mapping(address => struct DailyLimitModule.DailyLimit storage ref)"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1588 ,
2018-05-10 13:12:13 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1587 ,
2018-05-10 13:12:13 +02:00
"name" : "token" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1526 ,
"src" : "2800:5:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-05-16 15:46:33 +02:00
"src" : "2788:18:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_struct$_DailyLimit_$1432_storage" ,
2018-05-10 13:12:13 +02:00
"typeString" : "struct DailyLimitModule.DailyLimit storage ref"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1589 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
2018-05-10 13:12:13 +02:00
"isLValue" : true ,
2018-05-04 16:04:04 +02:00
"isPure" : false ,
2018-05-10 13:12:13 +02:00
"lValueRequested" : true ,
"memberName" : "spentToday" ,
2018-05-04 16:04:04 +02:00
"nodeType" : "MemberAccess" ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1429 ,
"src" : "2788:29:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-10 13:12:13 +02:00
"nodeType" : "Assignment" ,
"operator" : "+=" ,
"rightHandSide" : {
2018-05-04 16:04:04 +02:00
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1590 ,
2018-05-10 13:12:13 +02:00
"name" : "amount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1532 ,
"src" : "2821:6:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
2018-05-04 16:04:04 +02:00
} ,
2018-05-16 15:46:33 +02:00
"src" : "2788:39:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1592 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "2788:39:10"
2018-05-10 13:12:13 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"arguments" : [
{
"argumentTypes" : null ,
"id" : 1596 ,
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1489 ,
"src" : "2879:2:10" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
"id" : 1597 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1491 ,
"src" : "2883:5:10" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
"id" : 1598 ,
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1493 ,
"src" : "2890:4:10" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
"id" : 1599 ,
"name" : "Enum" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 6 ,
"src" : "2896:4:10" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_contract$_Enum_$6_$" ,
"typeString" : "type(contract Enum)"
}
} ,
"id" : 1600 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "Operation" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : 5 ,
"src" : "2896:14:10" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_enum$_Operation_$5_$" ,
"typeString" : "type(enum Enum.Operation)"
}
} ,
"id" : 1601 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"memberName" : "Call" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
"src" : "2896:19:10" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$5" ,
"typeString" : "enum Enum.Operation"
}
}
] ,
2018-05-04 16:04:04 +02:00
"expression" : {
2018-05-16 15:46:33 +02:00
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
{
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
} ,
{
"typeIdentifier" : "t_enum$_Operation_$5" ,
"typeString" : "enum Enum.Operation"
}
] ,
2018-05-10 13:12:13 +02:00
"expression" : {
2018-05-04 16:04:04 +02:00
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1594 ,
"name" : "manager" ,
2018-05-04 16:04:04 +02:00
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 588 ,
"src" : "2845:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_contract$_ModuleManager_$971" ,
"typeString" : "contract ModuleManager"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1595 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
2018-05-16 15:46:33 +02:00
"memberName" : "execTransactionFromModule" ,
2018-05-10 13:12:13 +02:00
"nodeType" : "MemberAccess" ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 798 ,
"src" : "2845:33:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$5_$returns$_t_bool_$" ,
"typeString" : "function (address,uint256,bytes memory,enum Enum.Operation) external returns (bool)"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1602 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
2018-05-16 15:46:33 +02:00
"isPure" : false ,
"kind" : "functionCall" ,
2018-05-10 13:12:13 +02:00
"lValueRequested" : false ,
2018-05-16 15:46:33 +02:00
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2845:71:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
2018-05-10 13:12:13 +02:00
}
}
] ,
"expression" : {
"argumentTypes" : [
{
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
2018-05-10 13:12:13 +02:00
}
] ,
2018-05-16 15:46:33 +02:00
"id" : 1593 ,
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2399 ,
2400
] ,
"referencedDeclaration" : 2399 ,
"src" : "2837:7:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$" ,
"typeString" : "function (bool) pure"
2018-05-04 16:04:04 +02:00
}
2018-05-10 13:12:13 +02:00
} ,
2018-05-16 15:46:33 +02:00
"id" : 1603 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
2018-05-10 13:12:13 +02:00
"isPure" : false ,
"kind" : "functionCall" ,
2018-05-04 16:04:04 +02:00
"lValueRequested" : false ,
2018-05-10 13:12:13 +02:00
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-05-16 15:46:33 +02:00
"src" : "2837:80:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
2018-05-10 13:12:13 +02:00
}
2018-05-04 16:04:04 +02:00
} ,
2018-05-16 15:46:33 +02:00
"id" : 1604 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "2837:80:10"
2018-05-04 16:04:04 +02:00
}
]
} ,
2018-05-10 13:12:13 +02:00
"documentation" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1606 ,
2018-05-04 16:04:04 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
2018-05-10 13:12:13 +02:00
"modifiers" : [ ] ,
"name" : "executeInternal" ,
2018-05-04 16:04:04 +02:00
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-05-16 15:46:33 +02:00
"id" : 1494 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1487 ,
2018-05-04 16:04:04 +02:00
"name" : "sender" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1606 ,
"src" : "1630:14:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1486 ,
2018-05-04 16:04:04 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "1630:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1489 ,
2018-05-04 16:04:04 +02:00
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1606 ,
"src" : "1646:10:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1488 ,
2018-05-04 16:04:04 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "1646:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1491 ,
2018-05-04 16:04:04 +02:00
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1606 ,
"src" : "1658:13:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1490 ,
2018-05-04 16:04:04 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "1658:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1493 ,
2018-05-04 16:04:04 +02:00
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1606 ,
"src" : "1673:10:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
2018-05-10 13:12:13 +02:00
"typeString" : "bytes"
2018-05-04 16:04:04 +02:00
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1492 ,
2018-05-04 16:04:04 +02:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "1673:5:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
2018-05-10 13:12:13 +02:00
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-05-16 15:46:33 +02:00
"src" : "1629:55:10"
2018-05-10 13:12:13 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-05-16 15:46:33 +02:00
"id" : 1495 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-05-16 15:46:33 +02:00
"src" : "1706:0:10"
2018-05-10 13:12:13 +02:00
} ,
2018-05-16 15:46:33 +02:00
"scope" : 1694 ,
"src" : "1605:1319:10" ,
2018-05-10 13:12:13 +02:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-05-16 15:46:33 +02:00
"id" : 1623 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "Block" ,
2018-05-16 15:46:33 +02:00
"src" : "3393:61:10" ,
2018-05-10 13:12:13 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1616 ,
2018-05-10 13:12:13 +02:00
"name" : "msg" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 2396 ,
"src" : "3419:3:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_magic_message" ,
"typeString" : "msg"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1617 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "sender" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-05-16 15:46:33 +02:00
"src" : "3419:10:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1618 ,
2018-05-10 13:12:13 +02:00
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1608 ,
"src" : "3431:2:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1619 ,
2018-05-10 13:12:13 +02:00
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1610 ,
"src" : "3435:5:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1620 ,
2018-05-10 13:12:13 +02:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1612 ,
"src" : "3442:4:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
{
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
] ,
2018-05-16 15:46:33 +02:00
"id" : 1615 ,
2018-05-10 13:12:13 +02:00
"name" : "executeInternal" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1606 ,
"src" : "3403:15:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$" ,
"typeString" : "function (address,address,uint256,bytes memory)"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1621 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-05-16 15:46:33 +02:00
"src" : "3403:44:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1622 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "3403:44:10"
2018-05-10 13:12:13 +02:00
}
]
} ,
"documentation" : "@dev Returns if Safe transaction is a valid daily limit transaction.\n @param to Receiver address in case of Ether transfer, token address in case of a token transfer.\n @param value Ether value in case of an Ether transfer.\n @param data Encoded token transfer. Empty in case of Ether transfer.\n @return Returns if transaction can be executed." ,
2018-05-16 15:46:33 +02:00
"id" : 1624 ,
2018-05-10 13:12:13 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "executeDailyLimit" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-05-16 15:46:33 +02:00
"id" : 1613 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1608 ,
2018-05-10 13:12:13 +02:00
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1624 ,
"src" : "3335:10:10" ,
2018-05-10 13:12:13 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1607 ,
2018-05-10 13:12:13 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "3335:7:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
2018-05-04 16:04:04 +02:00
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1610 ,
2018-05-10 13:12:13 +02:00
"name" : "value" ,
2018-05-04 16:04:04 +02:00
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1624 ,
"src" : "3347:13:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-04 16:04:04 +02:00
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1609 ,
2018-05-10 13:12:13 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "3347:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-04 16:04:04 +02:00
}
} ,
"value" : null ,
"visibility" : "internal"
2018-05-10 13:12:13 +02:00
} ,
2018-05-04 16:04:04 +02:00
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1612 ,
2018-05-10 13:12:13 +02:00
"name" : "data" ,
2018-05-04 16:04:04 +02:00
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1624 ,
"src" : "3362:10:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
2018-05-04 16:04:04 +02:00
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1611 ,
2018-05-10 13:12:13 +02:00
"name" : "bytes" ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "3362:5:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
2018-05-04 16:04:04 +02:00
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-05-16 15:46:33 +02:00
"src" : "3334:39:10"
2018-05-10 13:12:13 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-05-16 15:46:33 +02:00
"id" : 1614 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-05-16 15:46:33 +02:00
"src" : "3393:0:10"
2018-05-04 16:04:04 +02:00
} ,
2018-05-16 15:46:33 +02:00
"scope" : 1694 ,
"src" : "3308:146:10" ,
2018-05-04 16:04:04 +02:00
"stateMutability" : "nonpayable" ,
2018-05-10 13:12:13 +02:00
"superFunction" : null ,
2018-05-04 16:04:04 +02:00
"visibility" : "public"
} ,
{
"body" : {
2018-05-16 15:46:33 +02:00
"id" : 1679 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "Block" ,
2018-05-16 15:46:33 +02:00
"src" : "3557:391:10" ,
2018-05-04 16:04:04 +02:00
"statements" : [
{
"assignments" : [
2018-05-16 15:46:33 +02:00
1634
2018-05-04 16:04:04 +02:00
] ,
"declarations" : [
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1634 ,
2018-05-04 16:04:04 +02:00
"name" : "dailyLimit" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1680 ,
"src" : "3567:29:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "storage" ,
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_struct$_DailyLimit_$1432_storage_ptr" ,
2018-05-10 13:12:13 +02:00
"typeString" : "struct DailyLimitModule.DailyLimit"
2018-05-04 16:04:04 +02:00
} ,
"typeName" : {
"contractScope" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1633 ,
2018-05-04 16:04:04 +02:00
"name" : "DailyLimit" ,
"nodeType" : "UserDefinedTypeName" ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1432 ,
"src" : "3567:10:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_struct$_DailyLimit_$1432_storage_ptr" ,
2018-05-10 13:12:13 +02:00
"typeString" : "struct DailyLimitModule.DailyLimit"
2018-05-04 16:04:04 +02:00
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-05-16 15:46:33 +02:00
"id" : 1638 ,
2018-05-04 16:04:04 +02:00
"initialValue" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1635 ,
2018-05-04 16:04:04 +02:00
"name" : "dailyLimits" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1425 ,
"src" : "3599:11:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_mapping$_t_address_$_t_struct$_DailyLimit_$1432_storage_$" ,
2018-05-10 13:12:13 +02:00
"typeString" : "mapping(address => struct DailyLimitModule.DailyLimit storage ref)"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1637 ,
2018-05-04 16:04:04 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1636 ,
2018-05-04 16:04:04 +02:00
"name" : "token" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1626 ,
"src" : "3611:5:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-05-16 15:46:33 +02:00
"src" : "3599:18:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_struct$_DailyLimit_$1432_storage" ,
2018-05-10 13:12:13 +02:00
"typeString" : "struct DailyLimitModule.DailyLimit storage ref"
2018-05-04 16:04:04 +02:00
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "3567:50:10"
2018-05-04 16:04:04 +02:00
} ,
{
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1643 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
2018-05-16 15:46:33 +02:00
"id" : 1639 ,
2018-05-04 16:04:04 +02:00
"name" : "today" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1693 ,
"src" : "3631:5:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_view$__$returns$_t_uint256_$" ,
"typeString" : "function () view returns (uint256)"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1640 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-05-16 15:46:33 +02:00
"src" : "3631:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : ">" ,
"rightExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1641 ,
2018-05-04 16:04:04 +02:00
"name" : "dailyLimit" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1634 ,
"src" : "3641:10:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_struct$_DailyLimit_$1432_storage_ptr" ,
2018-05-10 13:12:13 +02:00
"typeString" : "struct DailyLimitModule.DailyLimit storage pointer"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1642 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "lastDay" ,
"nodeType" : "MemberAccess" ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1431 ,
"src" : "3641:18:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"src" : "3631:28:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1658 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "IfStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "3627:126:10" ,
2018-05-04 16:04:04 +02:00
"trueBody" : {
2018-05-16 15:46:33 +02:00
"id" : 1657 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "Block" ,
2018-05-16 15:46:33 +02:00
"src" : "3661:92:10" ,
2018-05-04 16:04:04 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1649 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1644 ,
2018-05-04 16:04:04 +02:00
"name" : "dailyLimit" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1634 ,
"src" : "3675:10:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_struct$_DailyLimit_$1432_storage_ptr" ,
2018-05-10 13:12:13 +02:00
"typeString" : "struct DailyLimitModule.DailyLimit storage pointer"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1646 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"memberName" : "lastDay" ,
"nodeType" : "MemberAccess" ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1431 ,
"src" : "3675:18:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
2018-05-16 15:46:33 +02:00
"id" : 1647 ,
2018-05-04 16:04:04 +02:00
"name" : "today" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1693 ,
"src" : "3696:5:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_view$__$returns$_t_uint256_$" ,
"typeString" : "function () view returns (uint256)"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1648 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-05-16 15:46:33 +02:00
"src" : "3696:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"src" : "3675:28:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1650 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "3675:28:10"
2018-05-04 16:04:04 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1655 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1651 ,
2018-05-04 16:04:04 +02:00
"name" : "dailyLimit" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1634 ,
"src" : "3717:10:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_struct$_DailyLimit_$1432_storage_ptr" ,
2018-05-10 13:12:13 +02:00
"typeString" : "struct DailyLimitModule.DailyLimit storage pointer"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1653 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"memberName" : "spentToday" ,
"nodeType" : "MemberAccess" ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1429 ,
"src" : "3717:21:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-05-16 15:46:33 +02:00
"id" : 1654 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-05-16 15:46:33 +02:00
"src" : "3741:1:10" ,
2018-05-04 16:04:04 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-05-16 15:46:33 +02:00
"src" : "3717:25:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1656 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "3717:25:10"
2018-05-04 16:04:04 +02:00
}
]
}
} ,
{
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1673 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1665 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1662 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1659 ,
2018-05-04 16:04:04 +02:00
"name" : "dailyLimit" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1634 ,
"src" : "3769:10:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_struct$_DailyLimit_$1432_storage_ptr" ,
2018-05-10 13:12:13 +02:00
"typeString" : "struct DailyLimitModule.DailyLimit storage pointer"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1660 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "spentToday" ,
"nodeType" : "MemberAccess" ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1429 ,
"src" : "3769:21:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "+" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1661 ,
2018-05-04 16:04:04 +02:00
"name" : "amount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1628 ,
"src" : "3793:6:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"src" : "3769:30:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "<=" ,
"rightExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1663 ,
2018-05-04 16:04:04 +02:00
"name" : "dailyLimit" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1634 ,
"src" : "3803:10:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_struct$_DailyLimit_$1432_storage_ptr" ,
2018-05-10 13:12:13 +02:00
"typeString" : "struct DailyLimitModule.DailyLimit storage pointer"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1664 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "dailyLimit" ,
"nodeType" : "MemberAccess" ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1427 ,
"src" : "3803:21:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"src" : "3769:55:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "&&" ,
"rightExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1672 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1669 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1666 ,
2018-05-04 16:04:04 +02:00
"name" : "dailyLimit" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1634 ,
"src" : "3840:10:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_struct$_DailyLimit_$1432_storage_ptr" ,
2018-05-10 13:12:13 +02:00
"typeString" : "struct DailyLimitModule.DailyLimit storage pointer"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1667 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "spentToday" ,
"nodeType" : "MemberAccess" ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1429 ,
"src" : "3840:21:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "+" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1668 ,
2018-05-04 16:04:04 +02:00
"name" : "amount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1628 ,
"src" : "3864:6:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"src" : "3840:30:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : ">" ,
"rightExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1670 ,
2018-05-04 16:04:04 +02:00
"name" : "dailyLimit" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1634 ,
"src" : "3873:10:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_struct$_DailyLimit_$1432_storage_ptr" ,
2018-05-10 13:12:13 +02:00
"typeString" : "struct DailyLimitModule.DailyLimit storage pointer"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1671 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "spentToday" ,
"nodeType" : "MemberAccess" ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1429 ,
"src" : "3873:21:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"src" : "3840:54:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-05-16 15:46:33 +02:00
"src" : "3769:125:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1676 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "IfStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "3762:157:10" ,
2018-05-04 16:04:04 +02:00
"trueBody" : {
"expression" : {
"argumentTypes" : null ,
"hexValue" : "74727565" ,
2018-05-16 15:46:33 +02:00
"id" : 1674 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "bool" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-05-16 15:46:33 +02:00
"src" : "3915:4:10" ,
2018-05-04 16:04:04 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"value" : "true"
} ,
2018-05-16 15:46:33 +02:00
"functionReturnParameters" : 1632 ,
"id" : 1675 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "Return" ,
2018-05-16 15:46:33 +02:00
"src" : "3908:11:10"
2018-05-04 16:04:04 +02:00
}
} ,
{
"expression" : {
"argumentTypes" : null ,
"hexValue" : "66616c7365" ,
2018-05-16 15:46:33 +02:00
"id" : 1677 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "bool" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-05-16 15:46:33 +02:00
"src" : "3936:5:10" ,
2018-05-04 16:04:04 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"value" : "false"
} ,
2018-05-16 15:46:33 +02:00
"functionReturnParameters" : 1632 ,
"id" : 1678 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "Return" ,
2018-05-16 15:46:33 +02:00
"src" : "3929:12:10"
2018-05-04 16:04:04 +02:00
}
]
} ,
2018-05-10 13:12:13 +02:00
"documentation" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1680 ,
2018-05-04 16:04:04 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "isUnderLimit" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-05-16 15:46:33 +02:00
"id" : 1629 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1626 ,
2018-05-04 16:04:04 +02:00
"name" : "token" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1680 ,
"src" : "3482:13:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1625 ,
2018-05-04 16:04:04 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "3482:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1628 ,
2018-05-04 16:04:04 +02:00
"name" : "amount" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1680 ,
"src" : "3497:14:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1627 ,
2018-05-04 16:04:04 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "3497:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-05-16 15:46:33 +02:00
"src" : "3481:31:10"
2018-05-04 16:04:04 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-05-16 15:46:33 +02:00
"id" : 1632 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1631 ,
2018-05-04 16:04:04 +02:00
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1680 ,
"src" : "3547:4:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1630 ,
2018-05-04 16:04:04 +02:00
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "3547:4:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-05-16 15:46:33 +02:00
"src" : "3546:6:10"
2018-05-04 16:04:04 +02:00
} ,
2018-05-16 15:46:33 +02:00
"scope" : 1694 ,
"src" : "3460:488:10" ,
2018-05-04 16:04:04 +02:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-05-16 15:46:33 +02:00
"id" : 1692 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "Block" ,
2018-05-16 15:46:33 +02:00
"src" : "4112:44:10" ,
2018-05-04 16:04:04 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1690 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1685 ,
2018-05-04 16:04:04 +02:00
"name" : "now" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 2398 ,
"src" : "4129:3:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "-" ,
"rightExpression" : {
"argumentTypes" : null ,
"components" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1688 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1686 ,
2018-05-04 16:04:04 +02:00
"name" : "now" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 2398 ,
"src" : "4136:3:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "%" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "31" ,
2018-05-16 15:46:33 +02:00
"id" : 1687 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-05-16 15:46:33 +02:00
"src" : "4142:6:10" ,
2018-05-04 16:04:04 +02:00
"subdenomination" : "days" ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_86400_by_1" ,
"typeString" : "int_const 86400"
} ,
"value" : "1"
} ,
2018-05-16 15:46:33 +02:00
"src" : "4136:12:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
2018-05-16 15:46:33 +02:00
"id" : 1689 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isInlineArray" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "TupleExpression" ,
2018-05-16 15:46:33 +02:00
"src" : "4135:14:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"src" : "4129:20:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"functionReturnParameters" : 1684 ,
"id" : 1691 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "Return" ,
2018-05-16 15:46:33 +02:00
"src" : "4122:27:10"
2018-05-04 16:04:04 +02:00
}
]
} ,
2018-05-10 13:12:13 +02:00
"documentation" : "@dev Returns last midnight as Unix timestamp.\n @return Unix timestamp." ,
2018-05-16 15:46:33 +02:00
"id" : 1693 ,
2018-05-04 16:04:04 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : true ,
"modifiers" : [ ] ,
"name" : "today" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-05-16 15:46:33 +02:00
"id" : 1681 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-05-16 15:46:33 +02:00
"src" : "4054:2:10"
2018-05-04 16:04:04 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-05-16 15:46:33 +02:00
"id" : 1684 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1683 ,
2018-05-04 16:04:04 +02:00
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1693 ,
"src" : "4102:4:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1682 ,
2018-05-04 16:04:04 +02:00
"name" : "uint" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "4102:4:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-05-16 15:46:33 +02:00
"src" : "4101:6:10"
2018-05-04 16:04:04 +02:00
} ,
2018-05-16 15:46:33 +02:00
"scope" : 1694 ,
"src" : "4040:116:10" ,
2018-05-04 16:04:04 +02:00
"stateMutability" : "view" ,
"superFunction" : null ,
"visibility" : "public"
}
] ,
2018-05-16 15:46:33 +02:00
"scope" : 1695 ,
"src" : "296:3862:10"
2018-05-04 16:04:04 +02:00
}
] ,
2018-05-16 15:46:33 +02:00
"src" : "0:4159:10"
2018-05-04 16:04:04 +02:00
} ,
"legacyAST" : {
2018-05-10 13:12:13 +02:00
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/modules/DailyLimitModule.sol" ,
2018-05-04 16:04:04 +02:00
"exportedSymbols" : {
2018-05-10 13:12:13 +02:00
"DailyLimitModule" : [
2018-05-16 15:46:33 +02:00
1694
2018-05-04 16:04:04 +02:00
]
} ,
2018-05-16 15:46:33 +02:00
"id" : 1695 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "SourceUnit" ,
"nodes" : [
{
2018-05-16 15:46:33 +02:00
"id" : 1406 ,
2018-05-04 16:04:04 +02:00
"literals" : [
"solidity" ,
"0.4" ,
2018-05-10 13:12:13 +02:00
".23"
2018-05-04 16:04:04 +02:00
] ,
"nodeType" : "PragmaDirective" ,
2018-05-16 15:46:33 +02:00
"src" : "0:23:10"
2018-05-10 13:12:13 +02:00
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/Module.sol" ,
"file" : "../Module.sol" ,
2018-05-16 15:46:33 +02:00
"id" : 1407 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "ImportDirective" ,
2018-05-16 15:46:33 +02:00
"scope" : 1695 ,
"sourceUnit" : 622 ,
"src" : "24:23:10" ,
2018-05-10 13:12:13 +02:00
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/ModuleManager.sol" ,
"file" : "../ModuleManager.sol" ,
2018-05-16 15:46:33 +02:00
"id" : 1408 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "ImportDirective" ,
2018-05-16 15:46:33 +02:00
"scope" : 1695 ,
"sourceUnit" : 972 ,
"src" : "48:30:10" ,
2018-05-10 13:12:13 +02:00
"symbolAliases" : [ ] ,
"unitAlias" : ""
2018-05-04 16:04:04 +02:00
} ,
{
2018-05-10 13:12:13 +02:00
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/OwnerManager.sol" ,
"file" : "../OwnerManager.sol" ,
2018-05-16 15:46:33 +02:00
"id" : 1409 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ImportDirective" ,
2018-05-16 15:46:33 +02:00
"scope" : 1695 ,
"sourceUnit" : 1344 ,
"src" : "79:29:10" ,
2018-05-04 16:04:04 +02:00
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
2018-05-10 13:12:13 +02:00
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/Enum.sol" ,
"file" : "../Enum.sol" ,
2018-05-16 15:46:33 +02:00
"id" : 1410 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ImportDirective" ,
2018-05-16 15:46:33 +02:00
"scope" : 1695 ,
"sourceUnit" : 7 ,
"src" : "109:21:10" ,
2018-05-04 16:04:04 +02:00
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"baseContracts" : [
{
2018-05-10 13:12:13 +02:00
"arguments" : null ,
2018-05-04 16:04:04 +02:00
"baseName" : {
"contractScope" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1411 ,
2018-05-10 13:12:13 +02:00
"name" : "Module" ,
2018-05-04 16:04:04 +02:00
"nodeType" : "UserDefinedTypeName" ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 621 ,
"src" : "325:6:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_contract$_Module_$621" ,
2018-05-10 13:12:13 +02:00
"typeString" : "contract Module"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1412 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "InheritanceSpecifier" ,
2018-05-16 15:46:33 +02:00
"src" : "325:6:10"
2018-05-04 16:04:04 +02:00
}
] ,
"contractDependencies" : [
2018-05-16 15:46:33 +02:00
580 ,
621 ,
1359
2018-05-04 16:04:04 +02:00
] ,
"contractKind" : "contract" ,
2018-05-10 13:12:13 +02:00
"documentation" : "@title Daily Limit Module - Allows to transfer limited amounts of ERC20 tokens and Ether without confirmations.\n @author Stefan George - <stefan@gnosis.pm>" ,
2018-05-04 16:04:04 +02:00
"fullyImplemented" : true ,
2018-05-16 15:46:33 +02:00
"id" : 1694 ,
2018-05-04 16:04:04 +02:00
"linearizedBaseContracts" : [
2018-05-16 15:46:33 +02:00
1694 ,
621 ,
580 ,
1359
2018-05-04 16:04:04 +02:00
] ,
2018-05-10 13:12:13 +02:00
"name" : "DailyLimitModule" ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ContractDefinition" ,
"nodes" : [
{
"constant" : true ,
2018-05-16 15:46:33 +02:00
"id" : 1415 ,
2018-05-04 16:04:04 +02:00
"name" : "NAME" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1694 ,
"src" : "339:50:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_memory" ,
2018-05-10 13:12:13 +02:00
"typeString" : "string"
2018-05-04 16:04:04 +02:00
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1413 ,
2018-05-04 16:04:04 +02:00
"name" : "string" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "339:6:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage_ptr" ,
2018-05-10 13:12:13 +02:00
"typeString" : "string"
2018-05-04 16:04:04 +02:00
}
} ,
"value" : {
"argumentTypes" : null ,
2018-05-10 13:12:13 +02:00
"hexValue" : "4461696c79204c696d6974204d6f64756c65" ,
2018-05-16 15:46:33 +02:00
"id" : 1414 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-05-16 15:46:33 +02:00
"src" : "369:20:10" ,
2018-05-04 16:04:04 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_stringliteral_821ea27acfbc77b49f7a021dbe2eb92017d46b8bdda0bff9901cbc8ee143ceb3" ,
"typeString" : "literal_string \"Daily Limit Module\""
2018-05-04 16:04:04 +02:00
} ,
2018-05-10 13:12:13 +02:00
"value" : "Daily Limit Module"
2018-05-04 16:04:04 +02:00
} ,
"visibility" : "public"
} ,
{
"constant" : true ,
2018-05-16 15:46:33 +02:00
"id" : 1418 ,
2018-05-04 16:04:04 +02:00
"name" : "VERSION" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1694 ,
"src" : "395:40:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_memory" ,
2018-05-10 13:12:13 +02:00
"typeString" : "string"
2018-05-04 16:04:04 +02:00
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1416 ,
2018-05-04 16:04:04 +02:00
"name" : "string" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "395:6:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage_ptr" ,
2018-05-10 13:12:13 +02:00
"typeString" : "string"
2018-05-04 16:04:04 +02:00
}
} ,
"value" : {
"argumentTypes" : null ,
"hexValue" : "302e302e31" ,
2018-05-16 15:46:33 +02:00
"id" : 1417 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-05-16 15:46:33 +02:00
"src" : "428:7:10" ,
2018-05-04 16:04:04 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_ae209a0b48f21c054280f2455d32cf309387644879d9acbd8ffc199163811885" ,
"typeString" : "literal_string \"0.0.1\""
} ,
"value" : "0.0.1"
} ,
"visibility" : "public"
} ,
{
"constant" : true ,
2018-05-16 15:46:33 +02:00
"id" : 1421 ,
2018-05-04 16:04:04 +02:00
"name" : "TRANSFER_FUNCTION_IDENTIFIER" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1694 ,
"src" : "441:67:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes4" ,
"typeString" : "bytes4"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1419 ,
2018-05-04 16:04:04 +02:00
"name" : "bytes4" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "441:6:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes4" ,
"typeString" : "bytes4"
}
} ,
"value" : {
"argumentTypes" : null ,
2018-05-10 13:12:13 +02:00
"hexValue" : "a9059cbb" ,
2018-05-16 15:46:33 +02:00
"id" : 1420 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-05-16 15:46:33 +02:00
"src" : "495:13:10" ,
2018-05-10 13:12:13 +02:00
"subdenomination" : null ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_stringliteral_abce0605a16ff5e998983a0af570b8ad942bb11e305eb20ae3ada0a3be24eb97" ,
"typeString" : "literal_string (contains invalid UTF-8 sequence at position 0)"
} ,
"value" : null
2018-05-04 16:04:04 +02:00
} ,
"visibility" : "public"
} ,
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1425 ,
2018-05-04 16:04:04 +02:00
"name" : "dailyLimits" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1694 ,
"src" : "586:50:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_mapping$_t_address_$_t_struct$_DailyLimit_$1432_storage_$" ,
2018-05-10 13:12:13 +02:00
"typeString" : "mapping(address => struct DailyLimitModule.DailyLimit)"
2018-05-04 16:04:04 +02:00
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1424 ,
2018-05-04 16:04:04 +02:00
"keyType" : {
2018-05-16 15:46:33 +02:00
"id" : 1422 ,
2018-05-04 16:04:04 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "595:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Mapping" ,
2018-05-16 15:46:33 +02:00
"src" : "586:31:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_mapping$_t_address_$_t_struct$_DailyLimit_$1432_storage_$" ,
2018-05-10 13:12:13 +02:00
"typeString" : "mapping(address => struct DailyLimitModule.DailyLimit)"
2018-05-04 16:04:04 +02:00
} ,
"valueType" : {
"contractScope" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1423 ,
2018-05-04 16:04:04 +02:00
"name" : "DailyLimit" ,
"nodeType" : "UserDefinedTypeName" ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1432 ,
"src" : "606:10:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_struct$_DailyLimit_$1432_storage_ptr" ,
2018-05-10 13:12:13 +02:00
"typeString" : "struct DailyLimitModule.DailyLimit"
2018-05-04 16:04:04 +02:00
}
}
} ,
"value" : null ,
"visibility" : "public"
} ,
{
2018-05-10 13:12:13 +02:00
"canonicalName" : "DailyLimitModule.DailyLimit" ,
2018-05-16 15:46:33 +02:00
"id" : 1432 ,
2018-05-04 16:04:04 +02:00
"members" : [
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1427 ,
2018-05-04 16:04:04 +02:00
"name" : "dailyLimit" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1432 ,
"src" : "671:18:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1426 ,
2018-05-04 16:04:04 +02:00
"name" : "uint256" ,
2018-05-10 13:12:13 +02:00
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "671:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
2018-05-04 16:04:04 +02:00
} ,
2018-05-10 13:12:13 +02:00
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1429 ,
2018-05-10 13:12:13 +02:00
"name" : "spentToday" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1432 ,
"src" : "699:18:10" ,
2018-05-10 13:12:13 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1428 ,
2018-05-10 13:12:13 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "699:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1431 ,
2018-05-10 13:12:13 +02:00
"name" : "lastDay" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1432 ,
"src" : "727:15:10" ,
2018-05-10 13:12:13 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1430 ,
2018-05-10 13:12:13 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "727:7:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"name" : "DailyLimit" ,
"nodeType" : "StructDefinition" ,
2018-05-16 15:46:33 +02:00
"scope" : 1694 ,
"src" : "643:106:10" ,
2018-05-04 16:04:04 +02:00
"visibility" : "public"
} ,
{
"body" : {
2018-05-16 15:46:33 +02:00
"id" : 1467 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "Block" ,
2018-05-16 15:46:33 +02:00
"src" : "1067:146:10" ,
2018-05-04 16:04:04 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
2018-05-10 13:12:13 +02:00
"arguments" : [ ] ,
2018-05-04 16:04:04 +02:00
"expression" : {
2018-05-10 13:12:13 +02:00
"argumentTypes" : [ ] ,
2018-05-16 15:46:33 +02:00
"id" : 1441 ,
2018-05-10 13:12:13 +02:00
"name" : "setManager" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 620 ,
"src" : "1077:10:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_function_internal_nonpayable$__$returns$__$" ,
"typeString" : "function ()"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1442 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-05-16 15:46:33 +02:00
"src" : "1077:12:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1443 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "1077:12:10"
2018-05-04 16:04:04 +02:00
} ,
{
"body" : {
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1464 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1455 ,
2018-05-04 16:04:04 +02:00
"name" : "dailyLimits" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1425 ,
"src" : "1155:11:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_mapping$_t_address_$_t_struct$_DailyLimit_$1432_storage_$" ,
2018-05-10 13:12:13 +02:00
"typeString" : "mapping(address => struct DailyLimitModule.DailyLimit storage ref)"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1459 ,
2018-05-04 16:04:04 +02:00
"indexExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1456 ,
2018-05-04 16:04:04 +02:00
"name" : "tokens" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1435 ,
"src" : "1167:6:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1458 ,
2018-05-04 16:04:04 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1457 ,
2018-05-04 16:04:04 +02:00
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1445 ,
"src" : "1174:1:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-05-16 15:46:33 +02:00
"src" : "1167:9:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-05-16 15:46:33 +02:00
"src" : "1155:22:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_struct$_DailyLimit_$1432_storage" ,
2018-05-10 13:12:13 +02:00
"typeString" : "struct DailyLimitModule.DailyLimit storage ref"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1460 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"memberName" : "dailyLimit" ,
"nodeType" : "MemberAccess" ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1427 ,
"src" : "1155:33:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1461 ,
2018-05-04 16:04:04 +02:00
"name" : "_dailyLimits" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1438 ,
"src" : "1191:12:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint256_$dyn_memory_ptr" ,
"typeString" : "uint256[] memory"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1463 ,
2018-05-04 16:04:04 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1462 ,
2018-05-04 16:04:04 +02:00
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1445 ,
"src" : "1204:1:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-05-16 15:46:33 +02:00
"src" : "1191:15:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"src" : "1155:51:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1465 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "1155:51:10"
2018-05-04 16:04:04 +02:00
} ,
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1451 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1448 ,
2018-05-04 16:04:04 +02:00
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1445 ,
"src" : "1119:1:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "<" ,
"rightExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1449 ,
2018-05-04 16:04:04 +02:00
"name" : "tokens" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1435 ,
"src" : "1123:6:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1450 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "length" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-05-16 15:46:33 +02:00
"src" : "1123:13:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"src" : "1119:17:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1466 ,
2018-05-10 13:12:13 +02:00
"initializationExpression" : {
"assignments" : [
2018-05-16 15:46:33 +02:00
1445
2018-05-10 13:12:13 +02:00
] ,
"declarations" : [
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1445 ,
2018-05-10 13:12:13 +02:00
"name" : "i" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1468 ,
"src" : "1104:9:10" ,
2018-05-10 13:12:13 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1444 ,
2018-05-10 13:12:13 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "1104:7:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-05-16 15:46:33 +02:00
"id" : 1447 ,
2018-05-10 13:12:13 +02:00
"initialValue" : {
2018-05-04 16:04:04 +02:00
"argumentTypes" : null ,
2018-05-10 13:12:13 +02:00
"hexValue" : "30" ,
2018-05-16 15:46:33 +02:00
"id" : 1446 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-05-16 15:46:33 +02:00
"src" : "1116:1:10" ,
2018-05-10 13:12:13 +02:00
"subdenomination" : null ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
2018-05-04 16:04:04 +02:00
} ,
2018-05-10 13:12:13 +02:00
"nodeType" : "VariableDeclarationStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "1104:13:10"
2018-05-10 13:12:13 +02:00
} ,
"loopExpression" : {
"expression" : {
2018-05-04 16:04:04 +02:00
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1453 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "++" ,
"prefix" : false ,
2018-05-16 15:46:33 +02:00
"src" : "1138:3:10" ,
2018-05-10 13:12:13 +02:00
"subExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1452 ,
2018-05-10 13:12:13 +02:00
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1445 ,
"src" : "1138:1:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1454 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "1138:3:10"
2018-05-04 16:04:04 +02:00
} ,
2018-05-10 13:12:13 +02:00
"nodeType" : "ForStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "1099:107:10"
2018-05-04 16:04:04 +02:00
}
]
} ,
2018-05-10 13:12:13 +02:00
"documentation" : "@dev Setup function sets initial storage of contract.\n @param tokens List of token addresses. Ether is represented with address 0x0.\n @param _dailyLimits List of daily limits in smalles units (e.g. Wei for Ether)." ,
2018-05-16 15:46:33 +02:00
"id" : 1468 ,
2018-05-04 16:04:04 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
2018-05-10 13:12:13 +02:00
"modifiers" : [ ] ,
"name" : "setup" ,
2018-05-04 16:04:04 +02:00
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-05-16 15:46:33 +02:00
"id" : 1439 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1435 ,
2018-05-10 13:12:13 +02:00
"name" : "tokens" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1468 ,
"src" : "1006:16:10" ,
2018-05-10 13:12:13 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[]"
} ,
"typeName" : {
"baseType" : {
2018-05-16 15:46:33 +02:00
"id" : 1433 ,
2018-05-10 13:12:13 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "1006:7:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1434 ,
2018-05-10 13:12:13 +02:00
"length" : null ,
"nodeType" : "ArrayTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "1006:9:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_storage_ptr" ,
"typeString" : "address[]"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1438 ,
2018-05-10 13:12:13 +02:00
"name" : "_dailyLimits" ,
2018-05-04 16:04:04 +02:00
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1468 ,
"src" : "1024:22:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_array$_t_uint256_$dyn_memory_ptr" ,
"typeString" : "uint256[]"
2018-05-04 16:04:04 +02:00
} ,
"typeName" : {
2018-05-10 13:12:13 +02:00
"baseType" : {
2018-05-16 15:46:33 +02:00
"id" : 1436 ,
2018-05-10 13:12:13 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "1024:7:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1437 ,
2018-05-10 13:12:13 +02:00
"length" : null ,
"nodeType" : "ArrayTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "1024:9:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_array$_t_uint256_$dyn_storage_ptr" ,
"typeString" : "uint256[]"
2018-05-04 16:04:04 +02:00
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-05-16 15:46:33 +02:00
"src" : "1005:42:10"
2018-05-04 16:04:04 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-05-16 15:46:33 +02:00
"id" : 1440 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-05-16 15:46:33 +02:00
"src" : "1067:0:10"
2018-05-04 16:04:04 +02:00
} ,
2018-05-16 15:46:33 +02:00
"scope" : 1694 ,
"src" : "991:222:10" ,
2018-05-04 16:04:04 +02:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-05-16 15:46:33 +02:00
"id" : 1484 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "Block" ,
2018-05-16 15:46:33 +02:00
"src" : "1540:59:10" ,
2018-05-04 16:04:04 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1482 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1477 ,
2018-05-04 16:04:04 +02:00
"name" : "dailyLimits" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1425 ,
"src" : "1550:11:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_mapping$_t_address_$_t_struct$_DailyLimit_$1432_storage_$" ,
2018-05-10 13:12:13 +02:00
"typeString" : "mapping(address => struct DailyLimitModule.DailyLimit storage ref)"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1479 ,
2018-05-04 16:04:04 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1478 ,
2018-05-04 16:04:04 +02:00
"name" : "token" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1470 ,
"src" : "1562:5:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-05-16 15:46:33 +02:00
"src" : "1550:18:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_struct$_DailyLimit_$1432_storage" ,
2018-05-10 13:12:13 +02:00
"typeString" : "struct DailyLimitModule.DailyLimit storage ref"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1480 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"memberName" : "dailyLimit" ,
"nodeType" : "MemberAccess" ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1427 ,
"src" : "1550:29:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1481 ,
2018-05-04 16:04:04 +02:00
"name" : "dailyLimit" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1472 ,
"src" : "1582:10:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"src" : "1550:42:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1483 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "1550:42:10"
2018-05-04 16:04:04 +02:00
}
]
} ,
2018-05-10 13:12:13 +02:00
"documentation" : "@dev Allows to update the daily limit for a specified token. This can only be done via a Safe transaction.\n @param token Token contract address.\n @param dailyLimit Daily limit in smallest token unit." ,
2018-05-16 15:46:33 +02:00
"id" : 1485 ,
2018-05-04 16:04:04 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [
{
2018-05-10 13:12:13 +02:00
"arguments" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1475 ,
2018-05-04 16:04:04 +02:00
"modifierName" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1474 ,
2018-05-10 13:12:13 +02:00
"name" : "authorized" ,
2018-05-04 16:04:04 +02:00
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 601 ,
"src" : "1525:10:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_modifier$__$" ,
"typeString" : "modifier ()"
}
} ,
"nodeType" : "ModifierInvocation" ,
2018-05-16 15:46:33 +02:00
"src" : "1525:10:10"
2018-05-04 16:04:04 +02:00
}
] ,
"name" : "changeDailyLimit" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-05-16 15:46:33 +02:00
"id" : 1473 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1470 ,
2018-05-04 16:04:04 +02:00
"name" : "token" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1485 ,
"src" : "1467:13:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1469 ,
2018-05-04 16:04:04 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "1467:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1472 ,
2018-05-04 16:04:04 +02:00
"name" : "dailyLimit" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1485 ,
"src" : "1482:18:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1471 ,
2018-05-04 16:04:04 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "1482:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-05-16 15:46:33 +02:00
"src" : "1466:35:10"
2018-05-04 16:04:04 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-05-16 15:46:33 +02:00
"id" : 1476 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-05-16 15:46:33 +02:00
"src" : "1540:0:10"
2018-05-04 16:04:04 +02:00
} ,
2018-05-16 15:46:33 +02:00
"scope" : 1694 ,
"src" : "1441:158:10" ,
2018-05-04 16:04:04 +02:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-05-16 15:46:33 +02:00
"id" : 1605 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "Block" ,
2018-05-16 15:46:33 +02:00
"src" : "1706:1218:10" ,
2018-05-04 16:04:04 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1501 ,
2018-05-04 16:04:04 +02:00
"name" : "sender" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1487 ,
"src" : "1831:6:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
] ,
"expression" : {
"argumentTypes" : null ,
2018-05-10 13:12:13 +02:00
"arguments" : [
{
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1498 ,
2018-05-10 13:12:13 +02:00
"name" : "manager" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 588 ,
"src" : "1814:7:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_contract$_ModuleManager_$971" ,
2018-05-10 13:12:13 +02:00
"typeString" : "contract ModuleManager"
}
}
] ,
2018-05-04 16:04:04 +02:00
"expression" : {
2018-05-10 13:12:13 +02:00
"argumentTypes" : [
{
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_contract$_ModuleManager_$971" ,
2018-05-10 13:12:13 +02:00
"typeString" : "contract ModuleManager"
}
] ,
2018-05-16 15:46:33 +02:00
"id" : 1497 ,
2018-05-10 13:12:13 +02:00
"name" : "OwnerManager" ,
2018-05-04 16:04:04 +02:00
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1343 ,
"src" : "1801:12:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_type$_t_contract$_OwnerManager_$1343_$" ,
2018-05-10 13:12:13 +02:00
"typeString" : "type(contract OwnerManager)"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1499 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
2018-05-10 13:12:13 +02:00
"kind" : "typeConversion" ,
2018-05-04 16:04:04 +02:00
"lValueRequested" : false ,
2018-05-10 13:12:13 +02:00
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-05-16 15:46:33 +02:00
"src" : "1801:21:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_contract$_OwnerManager_$1343" ,
2018-05-10 13:12:13 +02:00
"typeString" : "contract OwnerManager"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1500 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
2018-05-10 13:12:13 +02:00
"isPure" : false ,
2018-05-04 16:04:04 +02:00
"lValueRequested" : false ,
2018-05-10 13:12:13 +02:00
"memberName" : "isOwner" ,
2018-05-04 16:04:04 +02:00
"nodeType" : "MemberAccess" ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1293 ,
"src" : "1801:29:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_function_external_view$_t_address_$returns$_t_bool_$" ,
"typeString" : "function (address) view external returns (bool)"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1502 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-05-16 15:46:33 +02:00
"src" : "1801:37:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
] ,
2018-05-16 15:46:33 +02:00
"id" : 1496 ,
2018-05-04 16:04:04 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
2018-05-10 13:12:13 +02:00
"overloadedDeclarations" : [
2018-05-16 15:46:33 +02:00
2399 ,
2400
2018-05-10 13:12:13 +02:00
] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 2399 ,
"src" : "1793:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$" ,
"typeString" : "function (bool) pure"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1503 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-05-16 15:46:33 +02:00
"src" : "1793:46:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1504 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "1793:46:10"
2018-05-04 16:04:04 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1522 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1513 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1509 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1506 ,
2018-05-04 16:04:04 +02:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1493 ,
"src" : "1924:4:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1507 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "length" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-05-16 15:46:33 +02:00
"src" : "1924:11:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-05-16 15:46:33 +02:00
"id" : 1508 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-05-16 15:46:33 +02:00
"src" : "1939:1:10" ,
2018-05-04 16:04:04 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-05-16 15:46:33 +02:00
"src" : "1924:16:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "&&" ,
"rightExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1512 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1510 ,
2018-05-04 16:04:04 +02:00
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1491 ,
"src" : "1944:5:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : ">" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-05-16 15:46:33 +02:00
"id" : 1511 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-05-16 15:46:33 +02:00
"src" : "1952:1:10" ,
2018-05-04 16:04:04 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-05-16 15:46:33 +02:00
"src" : "1944:9:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-05-16 15:46:33 +02:00
"src" : "1924:29:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "||" ,
"rightExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1521 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1517 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1514 ,
2018-05-04 16:04:04 +02:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1493 ,
"src" : "1957:4:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1515 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "length" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-05-16 15:46:33 +02:00
"src" : "1957:11:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : ">" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-05-16 15:46:33 +02:00
"id" : 1516 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-05-16 15:46:33 +02:00
"src" : "1971:1:10" ,
2018-05-04 16:04:04 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-05-16 15:46:33 +02:00
"src" : "1957:15:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "&&" ,
"rightExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1520 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1518 ,
2018-05-04 16:04:04 +02:00
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1491 ,
"src" : "1976:5:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-05-16 15:46:33 +02:00
"id" : 1519 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-05-16 15:46:33 +02:00
"src" : "1985:1:10" ,
2018-05-04 16:04:04 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-05-16 15:46:33 +02:00
"src" : "1976:10:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-05-16 15:46:33 +02:00
"src" : "1957:29:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-05-16 15:46:33 +02:00
"src" : "1924:62:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
] ,
2018-05-16 15:46:33 +02:00
"id" : 1505 ,
2018-05-04 16:04:04 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
2018-05-10 13:12:13 +02:00
"overloadedDeclarations" : [
2018-05-16 15:46:33 +02:00
2399 ,
2400
2018-05-10 13:12:13 +02:00
] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 2399 ,
"src" : "1916:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$" ,
"typeString" : "function (bool) pure"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1523 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-05-16 15:46:33 +02:00
"src" : "1916:71:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1524 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "1916:71:10"
2018-05-04 16:04:04 +02:00
} ,
{
"assignments" : [ ] ,
"declarations" : [
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1526 ,
2018-05-04 16:04:04 +02:00
"name" : "token" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1606 ,
"src" : "1997:13:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1525 ,
2018-05-04 16:04:04 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "1997:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-05-16 15:46:33 +02:00
"id" : 1527 ,
2018-05-04 16:04:04 +02:00
"initialValue" : null ,
"nodeType" : "VariableDeclarationStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "1997:13:10"
2018-05-04 16:04:04 +02:00
} ,
{
"assignments" : [ ] ,
"declarations" : [
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1529 ,
2018-05-04 16:04:04 +02:00
"name" : "receiver" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1606 ,
"src" : "2020:16:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1528 ,
2018-05-04 16:04:04 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "2020:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-05-16 15:46:33 +02:00
"id" : 1530 ,
2018-05-04 16:04:04 +02:00
"initialValue" : null ,
"nodeType" : "VariableDeclarationStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "2020:16:10"
2018-05-04 16:04:04 +02:00
} ,
{
"assignments" : [ ] ,
"declarations" : [
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1532 ,
2018-05-04 16:04:04 +02:00
"name" : "amount" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1606 ,
"src" : "2046:14:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1531 ,
2018-05-04 16:04:04 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "2046:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-05-16 15:46:33 +02:00
"id" : 1533 ,
2018-05-04 16:04:04 +02:00
"initialValue" : null ,
"nodeType" : "VariableDeclarationStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "2046:14:10"
2018-05-04 16:04:04 +02:00
} ,
{
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1537 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1534 ,
2018-05-04 16:04:04 +02:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1493 ,
"src" : "2074:4:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1535 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "length" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-05-16 15:46:33 +02:00
"src" : "2074:11:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-05-16 15:46:33 +02:00
"id" : 1536 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-05-16 15:46:33 +02:00
"src" : "2089:1:10" ,
2018-05-04 16:04:04 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-05-16 15:46:33 +02:00
"src" : "2074:16:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : {
2018-05-16 15:46:33 +02:00
"id" : 1565 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "Block" ,
2018-05-16 15:46:33 +02:00
"src" : "2195:413:10" ,
2018-05-04 16:04:04 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1553 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1551 ,
2018-05-04 16:04:04 +02:00
"name" : "token" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1526 ,
"src" : "2209:5:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1552 ,
2018-05-04 16:04:04 +02:00
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1489 ,
"src" : "2217:2:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-05-16 15:46:33 +02:00
"src" : "2209:10:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1554 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "2209:10:10"
2018-05-04 16:04:04 +02:00
} ,
{
"assignments" : [ ] ,
"declarations" : [
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1556 ,
2018-05-04 16:04:04 +02:00
"name" : "functionIdentifier" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1606 ,
"src" : "2233:25:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes4" ,
"typeString" : "bytes4"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1555 ,
2018-05-04 16:04:04 +02:00
"name" : "bytes4" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "2233:6:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes4" ,
"typeString" : "bytes4"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-05-16 15:46:33 +02:00
"id" : 1557 ,
2018-05-04 16:04:04 +02:00
"initialValue" : null ,
"nodeType" : "VariableDeclarationStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "2233:25:10"
2018-05-04 16:04:04 +02:00
} ,
{
"externalReferences" : [
{
"functionIdentifier" : {
2018-05-16 15:46:33 +02:00
"declaration" : 1556 ,
2018-05-04 16:04:04 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-05-16 15:46:33 +02:00
"src" : "2367:18:10" ,
2018-05-04 16:04:04 +02:00
"valueSize" : 1
}
} ,
{
2018-05-10 13:12:13 +02:00
"data" : {
2018-05-16 15:46:33 +02:00
"declaration" : 1493 ,
2018-05-04 16:04:04 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-05-16 15:46:33 +02:00
"src" : "2399:4:10" ,
2018-05-04 16:04:04 +02:00
"valueSize" : 1
}
} ,
{
2018-05-10 13:12:13 +02:00
"receiver" : {
2018-05-16 15:46:33 +02:00
"declaration" : 1529 ,
2018-05-04 16:04:04 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-05-16 15:46:33 +02:00
"src" : "2428:8:10" ,
2018-05-04 16:04:04 +02:00
"valueSize" : 1
}
} ,
{
2018-05-10 13:12:13 +02:00
"amount" : {
2018-05-16 15:46:33 +02:00
"declaration" : 1532 ,
2018-05-04 16:04:04 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-05-16 15:46:33 +02:00
"src" : "2479:6:10" ,
2018-05-04 16:04:04 +02:00
"valueSize" : 1
}
} ,
{
"data" : {
2018-05-16 15:46:33 +02:00
"declaration" : 1493 ,
2018-05-04 16:04:04 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-05-16 15:46:33 +02:00
"src" : "2450:4:10" ,
2018-05-04 16:04:04 +02:00
"valueSize" : 1
}
} ,
{
"data" : {
2018-05-16 15:46:33 +02:00
"declaration" : 1493 ,
2018-05-04 16:04:04 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-05-16 15:46:33 +02:00
"src" : "2499:4:10" ,
2018-05-04 16:04:04 +02:00
"valueSize" : 1
}
}
] ,
2018-05-16 15:46:33 +02:00
"id" : 1558 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "InlineAssembly" ,
"operations" : "{\n functionIdentifier := mload(add(data, 0x20))\n receiver := mload(add(data, 0x24))\n amount := mload(add(data, 0x44))\n}" ,
2018-05-16 15:46:33 +02:00
"src" : "2340:205:10"
2018-05-04 16:04:04 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bytes4" ,
"typeString" : "bytes4"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1562 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1560 ,
2018-05-04 16:04:04 +02:00
"name" : "functionIdentifier" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1556 ,
"src" : "2546:18:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes4" ,
"typeString" : "bytes4"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1561 ,
2018-05-04 16:04:04 +02:00
"name" : "TRANSFER_FUNCTION_IDENTIFIER" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1421 ,
"src" : "2568:28:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes4" ,
"typeString" : "bytes4"
}
} ,
2018-05-16 15:46:33 +02:00
"src" : "2546:50:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
] ,
2018-05-16 15:46:33 +02:00
"id" : 1559 ,
2018-05-04 16:04:04 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
2018-05-10 13:12:13 +02:00
"overloadedDeclarations" : [
2018-05-16 15:46:33 +02:00
2399 ,
2400
2018-05-10 13:12:13 +02:00
] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 2399 ,
"src" : "2538:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$" ,
"typeString" : "function (bool) pure"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1563 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-05-16 15:46:33 +02:00
"src" : "2538:59:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1564 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "2538:59:10"
2018-05-04 16:04:04 +02:00
}
]
} ,
2018-05-16 15:46:33 +02:00
"id" : 1566 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "IfStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "2070:538:10" ,
2018-05-04 16:04:04 +02:00
"trueBody" : {
2018-05-16 15:46:33 +02:00
"id" : 1550 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "Block" ,
2018-05-16 15:46:33 +02:00
"src" : "2092:89:10" ,
2018-05-04 16:04:04 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1540 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1538 ,
2018-05-04 16:04:04 +02:00
"name" : "token" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1526 ,
"src" : "2106:5:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-05-16 15:46:33 +02:00
"id" : 1539 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-05-16 15:46:33 +02:00
"src" : "2114:1:10" ,
2018-05-04 16:04:04 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-05-16 15:46:33 +02:00
"src" : "2106:9:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1541 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "2106:9:10"
2018-05-04 16:04:04 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1544 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1542 ,
2018-05-04 16:04:04 +02:00
"name" : "receiver" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1529 ,
"src" : "2129:8:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1543 ,
2018-05-04 16:04:04 +02:00
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1489 ,
"src" : "2140:2:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-05-16 15:46:33 +02:00
"src" : "2129:13:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1545 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "2129:13:10"
2018-05-04 16:04:04 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1548 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1546 ,
2018-05-04 16:04:04 +02:00
"name" : "amount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1532 ,
"src" : "2156:6:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1547 ,
2018-05-04 16:04:04 +02:00
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1491 ,
"src" : "2165:5:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"src" : "2156:14:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1549 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "2156:14:10"
2018-05-04 16:04:04 +02:00
}
]
}
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1570 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1568 ,
2018-05-04 16:04:04 +02:00
"name" : "receiver" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1529 ,
"src" : "2625:8:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-05-16 15:46:33 +02:00
"id" : 1569 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-05-16 15:46:33 +02:00
"src" : "2637:1:10" ,
2018-05-04 16:04:04 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-05-16 15:46:33 +02:00
"src" : "2625:13:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
] ,
2018-05-16 15:46:33 +02:00
"id" : 1567 ,
2018-05-04 16:04:04 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
2018-05-10 13:12:13 +02:00
"overloadedDeclarations" : [
2018-05-16 15:46:33 +02:00
2399 ,
2400
2018-05-10 13:12:13 +02:00
] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 2399 ,
"src" : "2617:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$" ,
"typeString" : "function (bool) pure"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1571 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-05-16 15:46:33 +02:00
"src" : "2617:22:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1572 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "2617:22:10"
2018-05-04 16:04:04 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1576 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1574 ,
2018-05-04 16:04:04 +02:00
"name" : "amount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1532 ,
"src" : "2657:6:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : ">" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-05-16 15:46:33 +02:00
"id" : 1575 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-05-16 15:46:33 +02:00
"src" : "2666:1:10" ,
2018-05-04 16:04:04 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-05-16 15:46:33 +02:00
"src" : "2657:10:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
] ,
2018-05-16 15:46:33 +02:00
"id" : 1573 ,
2018-05-04 16:04:04 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
2018-05-10 13:12:13 +02:00
"overloadedDeclarations" : [
2018-05-16 15:46:33 +02:00
2399 ,
2400
2018-05-10 13:12:13 +02:00
] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 2399 ,
"src" : "2649:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$" ,
"typeString" : "function (bool) pure"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1577 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-05-16 15:46:33 +02:00
"src" : "2649:19:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1578 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "2649:19:10"
2018-05-04 16:04:04 +02:00
} ,
{
2018-05-10 13:12:13 +02:00
"expression" : {
2018-05-04 16:04:04 +02:00
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-05-10 13:12:13 +02:00
"arguments" : [
{
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1581 ,
2018-05-10 13:12:13 +02:00
"name" : "token" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1526 ,
"src" : "2763:5:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1582 ,
2018-05-10 13:12:13 +02:00
"name" : "amount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1532 ,
"src" : "2770:6:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
2018-05-16 15:46:33 +02:00
"id" : 1580 ,
2018-05-10 13:12:13 +02:00
"name" : "isUnderLimit" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1680 ,
"src" : "2750:12:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$" ,
"typeString" : "function (address,uint256) returns (bool)"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1583 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-05-16 15:46:33 +02:00
"src" : "2750:27:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
2018-05-04 16:04:04 +02:00
}
}
] ,
"expression" : {
"argumentTypes" : [
{
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
2018-05-04 16:04:04 +02:00
}
] ,
2018-05-16 15:46:33 +02:00
"id" : 1579 ,
2018-05-10 13:12:13 +02:00
"name" : "require" ,
2018-05-04 16:04:04 +02:00
"nodeType" : "Identifier" ,
2018-05-10 13:12:13 +02:00
"overloadedDeclarations" : [
2018-05-16 15:46:33 +02:00
2399 ,
2400
2018-05-10 13:12:13 +02:00
] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 2399 ,
"src" : "2742:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$" ,
"typeString" : "function (bool) pure"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1584 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-05-16 15:46:33 +02:00
"src" : "2742:36:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1585 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "2742:36:10"
2018-05-10 13:12:13 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1591 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1586 ,
2018-05-10 13:12:13 +02:00
"name" : "dailyLimits" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1425 ,
"src" : "2788:11:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_mapping$_t_address_$_t_struct$_DailyLimit_$1432_storage_$" ,
2018-05-10 13:12:13 +02:00
"typeString" : "mapping(address => struct DailyLimitModule.DailyLimit storage ref)"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1588 ,
2018-05-10 13:12:13 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1587 ,
2018-05-10 13:12:13 +02:00
"name" : "token" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1526 ,
"src" : "2800:5:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-05-16 15:46:33 +02:00
"src" : "2788:18:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_struct$_DailyLimit_$1432_storage" ,
2018-05-10 13:12:13 +02:00
"typeString" : "struct DailyLimitModule.DailyLimit storage ref"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1589 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"memberName" : "spentToday" ,
"nodeType" : "MemberAccess" ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1429 ,
"src" : "2788:29:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "+=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1590 ,
2018-05-10 13:12:13 +02:00
"name" : "amount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1532 ,
"src" : "2821:6:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"src" : "2788:39:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1592 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "2788:39:10"
2018-05-10 13:12:13 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"arguments" : [
{
"argumentTypes" : null ,
"id" : 1596 ,
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1489 ,
"src" : "2879:2:10" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
"id" : 1597 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1491 ,
"src" : "2883:5:10" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
"id" : 1598 ,
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1493 ,
"src" : "2890:4:10" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
"id" : 1599 ,
"name" : "Enum" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 6 ,
"src" : "2896:4:10" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_contract$_Enum_$6_$" ,
"typeString" : "type(contract Enum)"
}
} ,
"id" : 1600 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "Operation" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : 5 ,
"src" : "2896:14:10" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_enum$_Operation_$5_$" ,
"typeString" : "type(enum Enum.Operation)"
}
} ,
"id" : 1601 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"memberName" : "Call" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
"src" : "2896:19:10" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$5" ,
"typeString" : "enum Enum.Operation"
}
}
] ,
2018-05-04 16:04:04 +02:00
"expression" : {
2018-05-16 15:46:33 +02:00
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
{
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
} ,
{
"typeIdentifier" : "t_enum$_Operation_$5" ,
"typeString" : "enum Enum.Operation"
}
] ,
2018-05-10 13:12:13 +02:00
"expression" : {
2018-05-04 16:04:04 +02:00
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1594 ,
"name" : "manager" ,
2018-05-04 16:04:04 +02:00
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 588 ,
"src" : "2845:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_contract$_ModuleManager_$971" ,
"typeString" : "contract ModuleManager"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1595 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
2018-05-10 13:12:13 +02:00
"isPure" : false ,
2018-05-04 16:04:04 +02:00
"lValueRequested" : false ,
2018-05-16 15:46:33 +02:00
"memberName" : "execTransactionFromModule" ,
2018-05-10 13:12:13 +02:00
"nodeType" : "MemberAccess" ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 798 ,
"src" : "2845:33:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$5_$returns$_t_bool_$" ,
"typeString" : "function (address,uint256,bytes memory,enum Enum.Operation) external returns (bool)"
2018-05-10 13:12:13 +02:00
}
2018-05-04 16:04:04 +02:00
} ,
2018-05-16 15:46:33 +02:00
"id" : 1602 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
2018-05-16 15:46:33 +02:00
"isPure" : false ,
"kind" : "functionCall" ,
2018-05-10 13:12:13 +02:00
"lValueRequested" : false ,
2018-05-16 15:46:33 +02:00
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2845:71:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
2018-05-10 13:12:13 +02:00
}
2018-05-04 16:04:04 +02:00
}
2018-05-10 13:12:13 +02:00
] ,
"expression" : {
"argumentTypes" : [
{
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
2018-05-10 13:12:13 +02:00
}
] ,
2018-05-16 15:46:33 +02:00
"id" : 1593 ,
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2399 ,
2400
] ,
"referencedDeclaration" : 2399 ,
"src" : "2837:7:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$" ,
"typeString" : "function (bool) pure"
2018-05-10 13:12:13 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1603 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
2018-05-10 13:12:13 +02:00
"isPure" : false ,
"kind" : "functionCall" ,
2018-05-04 16:04:04 +02:00
"lValueRequested" : false ,
2018-05-10 13:12:13 +02:00
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-05-16 15:46:33 +02:00
"src" : "2837:80:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
2018-05-10 13:12:13 +02:00
}
2018-05-04 16:04:04 +02:00
} ,
2018-05-16 15:46:33 +02:00
"id" : 1604 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "2837:80:10"
2018-05-04 16:04:04 +02:00
}
]
} ,
2018-05-10 13:12:13 +02:00
"documentation" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1606 ,
2018-05-04 16:04:04 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
2018-05-10 13:12:13 +02:00
"modifiers" : [ ] ,
"name" : "executeInternal" ,
2018-05-04 16:04:04 +02:00
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-05-16 15:46:33 +02:00
"id" : 1494 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1487 ,
2018-05-04 16:04:04 +02:00
"name" : "sender" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1606 ,
"src" : "1630:14:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1486 ,
2018-05-04 16:04:04 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "1630:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1489 ,
2018-05-04 16:04:04 +02:00
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1606 ,
"src" : "1646:10:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1488 ,
2018-05-04 16:04:04 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "1646:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1491 ,
2018-05-04 16:04:04 +02:00
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1606 ,
"src" : "1658:13:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1490 ,
2018-05-04 16:04:04 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "1658:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1493 ,
2018-05-04 16:04:04 +02:00
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1606 ,
"src" : "1673:10:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
2018-05-10 13:12:13 +02:00
"typeString" : "bytes"
2018-05-04 16:04:04 +02:00
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1492 ,
2018-05-04 16:04:04 +02:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "1673:5:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
2018-05-10 13:12:13 +02:00
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-05-16 15:46:33 +02:00
"src" : "1629:55:10"
2018-05-10 13:12:13 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-05-16 15:46:33 +02:00
"id" : 1495 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-05-16 15:46:33 +02:00
"src" : "1706:0:10"
2018-05-10 13:12:13 +02:00
} ,
2018-05-16 15:46:33 +02:00
"scope" : 1694 ,
"src" : "1605:1319:10" ,
2018-05-10 13:12:13 +02:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-05-16 15:46:33 +02:00
"id" : 1623 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "Block" ,
2018-05-16 15:46:33 +02:00
"src" : "3393:61:10" ,
2018-05-10 13:12:13 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1616 ,
2018-05-10 13:12:13 +02:00
"name" : "msg" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 2396 ,
"src" : "3419:3:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_magic_message" ,
"typeString" : "msg"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1617 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "sender" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-05-16 15:46:33 +02:00
"src" : "3419:10:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1618 ,
2018-05-10 13:12:13 +02:00
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1608 ,
"src" : "3431:2:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1619 ,
2018-05-10 13:12:13 +02:00
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1610 ,
"src" : "3435:5:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1620 ,
2018-05-10 13:12:13 +02:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1612 ,
"src" : "3442:4:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
{
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
] ,
2018-05-16 15:46:33 +02:00
"id" : 1615 ,
2018-05-10 13:12:13 +02:00
"name" : "executeInternal" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1606 ,
"src" : "3403:15:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$" ,
"typeString" : "function (address,address,uint256,bytes memory)"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1621 ,
2018-05-10 13:12:13 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-05-16 15:46:33 +02:00
"src" : "3403:44:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1622 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "3403:44:10"
2018-05-10 13:12:13 +02:00
}
]
} ,
"documentation" : "@dev Returns if Safe transaction is a valid daily limit transaction.\n @param to Receiver address in case of Ether transfer, token address in case of a token transfer.\n @param value Ether value in case of an Ether transfer.\n @param data Encoded token transfer. Empty in case of Ether transfer.\n @return Returns if transaction can be executed." ,
2018-05-16 15:46:33 +02:00
"id" : 1624 ,
2018-05-10 13:12:13 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "executeDailyLimit" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-05-16 15:46:33 +02:00
"id" : 1613 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1608 ,
2018-05-10 13:12:13 +02:00
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1624 ,
"src" : "3335:10:10" ,
2018-05-10 13:12:13 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1607 ,
2018-05-10 13:12:13 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "3335:7:10" ,
2018-05-10 13:12:13 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
2018-05-04 16:04:04 +02:00
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1610 ,
2018-05-10 13:12:13 +02:00
"name" : "value" ,
2018-05-04 16:04:04 +02:00
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1624 ,
"src" : "3347:13:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-04 16:04:04 +02:00
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1609 ,
2018-05-10 13:12:13 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "3347:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-04 16:04:04 +02:00
}
} ,
"value" : null ,
"visibility" : "internal"
2018-05-10 13:12:13 +02:00
} ,
2018-05-04 16:04:04 +02:00
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1612 ,
2018-05-10 13:12:13 +02:00
"name" : "data" ,
2018-05-04 16:04:04 +02:00
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1624 ,
"src" : "3362:10:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
2018-05-04 16:04:04 +02:00
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1611 ,
2018-05-10 13:12:13 +02:00
"name" : "bytes" ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "3362:5:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-10 13:12:13 +02:00
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
2018-05-04 16:04:04 +02:00
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-05-16 15:46:33 +02:00
"src" : "3334:39:10"
2018-05-10 13:12:13 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-05-16 15:46:33 +02:00
"id" : 1614 ,
2018-05-10 13:12:13 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-05-16 15:46:33 +02:00
"src" : "3393:0:10"
2018-05-04 16:04:04 +02:00
} ,
2018-05-16 15:46:33 +02:00
"scope" : 1694 ,
"src" : "3308:146:10" ,
2018-05-04 16:04:04 +02:00
"stateMutability" : "nonpayable" ,
2018-05-10 13:12:13 +02:00
"superFunction" : null ,
2018-05-04 16:04:04 +02:00
"visibility" : "public"
} ,
{
"body" : {
2018-05-16 15:46:33 +02:00
"id" : 1679 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "Block" ,
2018-05-16 15:46:33 +02:00
"src" : "3557:391:10" ,
2018-05-04 16:04:04 +02:00
"statements" : [
{
"assignments" : [
2018-05-16 15:46:33 +02:00
1634
2018-05-04 16:04:04 +02:00
] ,
"declarations" : [
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1634 ,
2018-05-04 16:04:04 +02:00
"name" : "dailyLimit" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1680 ,
"src" : "3567:29:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "storage" ,
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_struct$_DailyLimit_$1432_storage_ptr" ,
2018-05-10 13:12:13 +02:00
"typeString" : "struct DailyLimitModule.DailyLimit"
2018-05-04 16:04:04 +02:00
} ,
"typeName" : {
"contractScope" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1633 ,
2018-05-04 16:04:04 +02:00
"name" : "DailyLimit" ,
"nodeType" : "UserDefinedTypeName" ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1432 ,
"src" : "3567:10:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_struct$_DailyLimit_$1432_storage_ptr" ,
2018-05-10 13:12:13 +02:00
"typeString" : "struct DailyLimitModule.DailyLimit"
2018-05-04 16:04:04 +02:00
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-05-16 15:46:33 +02:00
"id" : 1638 ,
2018-05-04 16:04:04 +02:00
"initialValue" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1635 ,
2018-05-04 16:04:04 +02:00
"name" : "dailyLimits" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1425 ,
"src" : "3599:11:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_mapping$_t_address_$_t_struct$_DailyLimit_$1432_storage_$" ,
2018-05-10 13:12:13 +02:00
"typeString" : "mapping(address => struct DailyLimitModule.DailyLimit storage ref)"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1637 ,
2018-05-04 16:04:04 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1636 ,
2018-05-04 16:04:04 +02:00
"name" : "token" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1626 ,
"src" : "3611:5:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-05-16 15:46:33 +02:00
"src" : "3599:18:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_struct$_DailyLimit_$1432_storage" ,
2018-05-10 13:12:13 +02:00
"typeString" : "struct DailyLimitModule.DailyLimit storage ref"
2018-05-04 16:04:04 +02:00
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "3567:50:10"
2018-05-04 16:04:04 +02:00
} ,
{
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1643 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
2018-05-16 15:46:33 +02:00
"id" : 1639 ,
2018-05-04 16:04:04 +02:00
"name" : "today" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1693 ,
"src" : "3631:5:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_view$__$returns$_t_uint256_$" ,
"typeString" : "function () view returns (uint256)"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1640 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-05-16 15:46:33 +02:00
"src" : "3631:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : ">" ,
"rightExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1641 ,
2018-05-04 16:04:04 +02:00
"name" : "dailyLimit" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1634 ,
"src" : "3641:10:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_struct$_DailyLimit_$1432_storage_ptr" ,
2018-05-10 13:12:13 +02:00
"typeString" : "struct DailyLimitModule.DailyLimit storage pointer"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1642 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "lastDay" ,
"nodeType" : "MemberAccess" ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1431 ,
"src" : "3641:18:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"src" : "3631:28:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1658 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "IfStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "3627:126:10" ,
2018-05-04 16:04:04 +02:00
"trueBody" : {
2018-05-16 15:46:33 +02:00
"id" : 1657 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "Block" ,
2018-05-16 15:46:33 +02:00
"src" : "3661:92:10" ,
2018-05-04 16:04:04 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1649 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1644 ,
2018-05-04 16:04:04 +02:00
"name" : "dailyLimit" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1634 ,
"src" : "3675:10:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_struct$_DailyLimit_$1432_storage_ptr" ,
2018-05-10 13:12:13 +02:00
"typeString" : "struct DailyLimitModule.DailyLimit storage pointer"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1646 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"memberName" : "lastDay" ,
"nodeType" : "MemberAccess" ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1431 ,
"src" : "3675:18:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
2018-05-16 15:46:33 +02:00
"id" : 1647 ,
2018-05-04 16:04:04 +02:00
"name" : "today" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1693 ,
"src" : "3696:5:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_view$__$returns$_t_uint256_$" ,
"typeString" : "function () view returns (uint256)"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1648 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-05-16 15:46:33 +02:00
"src" : "3696:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"src" : "3675:28:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1650 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "3675:28:10"
2018-05-04 16:04:04 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1655 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1651 ,
2018-05-04 16:04:04 +02:00
"name" : "dailyLimit" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1634 ,
"src" : "3717:10:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_struct$_DailyLimit_$1432_storage_ptr" ,
2018-05-10 13:12:13 +02:00
"typeString" : "struct DailyLimitModule.DailyLimit storage pointer"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1653 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"memberName" : "spentToday" ,
"nodeType" : "MemberAccess" ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1429 ,
"src" : "3717:21:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-05-16 15:46:33 +02:00
"id" : 1654 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-05-16 15:46:33 +02:00
"src" : "3741:1:10" ,
2018-05-04 16:04:04 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-05-16 15:46:33 +02:00
"src" : "3717:25:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1656 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ExpressionStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "3717:25:10"
2018-05-04 16:04:04 +02:00
}
]
}
} ,
{
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1673 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1665 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1662 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1659 ,
2018-05-04 16:04:04 +02:00
"name" : "dailyLimit" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1634 ,
"src" : "3769:10:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_struct$_DailyLimit_$1432_storage_ptr" ,
2018-05-10 13:12:13 +02:00
"typeString" : "struct DailyLimitModule.DailyLimit storage pointer"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1660 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "spentToday" ,
"nodeType" : "MemberAccess" ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1429 ,
"src" : "3769:21:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "+" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1661 ,
2018-05-04 16:04:04 +02:00
"name" : "amount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1628 ,
"src" : "3793:6:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"src" : "3769:30:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "<=" ,
"rightExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1663 ,
2018-05-04 16:04:04 +02:00
"name" : "dailyLimit" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1634 ,
"src" : "3803:10:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_struct$_DailyLimit_$1432_storage_ptr" ,
2018-05-10 13:12:13 +02:00
"typeString" : "struct DailyLimitModule.DailyLimit storage pointer"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1664 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "dailyLimit" ,
"nodeType" : "MemberAccess" ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1427 ,
"src" : "3803:21:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"src" : "3769:55:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "&&" ,
"rightExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1672 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1669 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1666 ,
2018-05-04 16:04:04 +02:00
"name" : "dailyLimit" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1634 ,
"src" : "3840:10:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_struct$_DailyLimit_$1432_storage_ptr" ,
2018-05-10 13:12:13 +02:00
"typeString" : "struct DailyLimitModule.DailyLimit storage pointer"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1667 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "spentToday" ,
"nodeType" : "MemberAccess" ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1429 ,
"src" : "3840:21:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "+" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1668 ,
2018-05-04 16:04:04 +02:00
"name" : "amount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1628 ,
"src" : "3864:6:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"src" : "3840:30:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : ">" ,
"rightExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1670 ,
2018-05-04 16:04:04 +02:00
"name" : "dailyLimit" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1634 ,
"src" : "3873:10:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
2018-05-16 15:46:33 +02:00
"typeIdentifier" : "t_struct$_DailyLimit_$1432_storage_ptr" ,
2018-05-10 13:12:13 +02:00
"typeString" : "struct DailyLimitModule.DailyLimit storage pointer"
2018-05-04 16:04:04 +02:00
}
} ,
2018-05-16 15:46:33 +02:00
"id" : 1671 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "spentToday" ,
"nodeType" : "MemberAccess" ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 1429 ,
"src" : "3873:21:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"src" : "3840:54:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-05-16 15:46:33 +02:00
"src" : "3769:125:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1676 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "IfStatement" ,
2018-05-16 15:46:33 +02:00
"src" : "3762:157:10" ,
2018-05-04 16:04:04 +02:00
"trueBody" : {
"expression" : {
"argumentTypes" : null ,
"hexValue" : "74727565" ,
2018-05-16 15:46:33 +02:00
"id" : 1674 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "bool" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-05-16 15:46:33 +02:00
"src" : "3915:4:10" ,
2018-05-04 16:04:04 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"value" : "true"
} ,
2018-05-16 15:46:33 +02:00
"functionReturnParameters" : 1632 ,
"id" : 1675 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "Return" ,
2018-05-16 15:46:33 +02:00
"src" : "3908:11:10"
2018-05-04 16:04:04 +02:00
}
} ,
{
"expression" : {
"argumentTypes" : null ,
"hexValue" : "66616c7365" ,
2018-05-16 15:46:33 +02:00
"id" : 1677 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "bool" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-05-16 15:46:33 +02:00
"src" : "3936:5:10" ,
2018-05-04 16:04:04 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"value" : "false"
} ,
2018-05-16 15:46:33 +02:00
"functionReturnParameters" : 1632 ,
"id" : 1678 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "Return" ,
2018-05-16 15:46:33 +02:00
"src" : "3929:12:10"
2018-05-04 16:04:04 +02:00
}
]
} ,
2018-05-10 13:12:13 +02:00
"documentation" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1680 ,
2018-05-04 16:04:04 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "isUnderLimit" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-05-16 15:46:33 +02:00
"id" : 1629 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1626 ,
2018-05-04 16:04:04 +02:00
"name" : "token" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1680 ,
"src" : "3482:13:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1625 ,
2018-05-04 16:04:04 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "3482:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1628 ,
2018-05-04 16:04:04 +02:00
"name" : "amount" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1680 ,
"src" : "3497:14:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1627 ,
2018-05-04 16:04:04 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "3497:7:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-05-16 15:46:33 +02:00
"src" : "3481:31:10"
2018-05-04 16:04:04 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-05-16 15:46:33 +02:00
"id" : 1632 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1631 ,
2018-05-04 16:04:04 +02:00
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1680 ,
"src" : "3547:4:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1630 ,
2018-05-04 16:04:04 +02:00
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "3547:4:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-05-16 15:46:33 +02:00
"src" : "3546:6:10"
2018-05-04 16:04:04 +02:00
} ,
2018-05-16 15:46:33 +02:00
"scope" : 1694 ,
"src" : "3460:488:10" ,
2018-05-04 16:04:04 +02:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-05-16 15:46:33 +02:00
"id" : 1692 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "Block" ,
2018-05-16 15:46:33 +02:00
"src" : "4112:44:10" ,
2018-05-04 16:04:04 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1690 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1685 ,
2018-05-04 16:04:04 +02:00
"name" : "now" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 2398 ,
"src" : "4129:3:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "-" ,
"rightExpression" : {
"argumentTypes" : null ,
"components" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-05-16 15:46:33 +02:00
"id" : 1688 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-05-16 15:46:33 +02:00
"id" : 1686 ,
2018-05-04 16:04:04 +02:00
"name" : "now" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-05-16 15:46:33 +02:00
"referencedDeclaration" : 2398 ,
"src" : "4136:3:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "%" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "31" ,
2018-05-16 15:46:33 +02:00
"id" : 1687 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-05-16 15:46:33 +02:00
"src" : "4142:6:10" ,
2018-05-04 16:04:04 +02:00
"subdenomination" : "days" ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_86400_by_1" ,
"typeString" : "int_const 86400"
} ,
"value" : "1"
} ,
2018-05-16 15:46:33 +02:00
"src" : "4136:12:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
2018-05-16 15:46:33 +02:00
"id" : 1689 ,
2018-05-04 16:04:04 +02:00
"isConstant" : false ,
"isInlineArray" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "TupleExpression" ,
2018-05-16 15:46:33 +02:00
"src" : "4135:14:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"src" : "4129:20:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-05-16 15:46:33 +02:00
"functionReturnParameters" : 1684 ,
"id" : 1691 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "Return" ,
2018-05-16 15:46:33 +02:00
"src" : "4122:27:10"
2018-05-04 16:04:04 +02:00
}
]
} ,
2018-05-10 13:12:13 +02:00
"documentation" : "@dev Returns last midnight as Unix timestamp.\n @return Unix timestamp." ,
2018-05-16 15:46:33 +02:00
"id" : 1693 ,
2018-05-04 16:04:04 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : true ,
"modifiers" : [ ] ,
"name" : "today" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-05-16 15:46:33 +02:00
"id" : 1681 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-05-16 15:46:33 +02:00
"src" : "4054:2:10"
2018-05-04 16:04:04 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-05-16 15:46:33 +02:00
"id" : 1684 ,
2018-05-04 16:04:04 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-05-16 15:46:33 +02:00
"id" : 1683 ,
2018-05-04 16:04:04 +02:00
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
2018-05-16 15:46:33 +02:00
"scope" : 1693 ,
"src" : "4102:4:10" ,
2018-05-04 16:04:04 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-05-16 15:46:33 +02:00
"id" : 1682 ,
2018-05-04 16:04:04 +02:00
"name" : "uint" ,
"nodeType" : "ElementaryTypeName" ,
2018-05-16 15:46:33 +02:00
"src" : "4102:4:10" ,
2018-05-04 16:04:04 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-05-16 15:46:33 +02:00
"src" : "4101:6:10"
2018-05-04 16:04:04 +02:00
} ,
2018-05-16 15:46:33 +02:00
"scope" : 1694 ,
"src" : "4040:116:10" ,
2018-05-04 16:04:04 +02:00
"stateMutability" : "view" ,
"superFunction" : null ,
"visibility" : "public"
}
] ,
2018-05-16 15:46:33 +02:00
"scope" : 1695 ,
"src" : "296:3862:10"
2018-05-04 16:04:04 +02:00
}
] ,
2018-05-16 15:46:33 +02:00
"src" : "0:4159:10"
2018-05-04 16:04:04 +02:00
} ,
"compiler" : {
"name" : "solc" ,
2018-05-10 13:12:13 +02:00
"version" : "0.4.23+commit.124ca40d.Emscripten.clang"
2018-05-04 16:04:04 +02:00
} ,
"networks" : {
"4" : {
"events" : { } ,
"links" : { } ,
2018-05-16 15:46:33 +02:00
"address" : "0x831ec5aaad91423fb78d3e1ad1fcf9d5006774df" ,
"transactionHash" : "0xdae4c3a40843ab9bf9e62becc882075695bb8c0bcc3f3a3aa3016559b63f90e4"
2018-05-08 16:41:03 +02:00
} ,
2018-05-10 13:12:13 +02:00
"1525950336085" : {
2018-05-08 16:41:03 +02:00
"events" : { } ,
"links" : { } ,
2018-05-10 13:12:13 +02:00
"address" : "0xe52c225329d3fb9f6933bd52e7067a24d20f7983" ,
"transactionHash" : "0xaffd9cdbf1bd14f5f349af2782a1b4dbebd9ac97abedbcfb9aee5fb1707afe96"
2018-05-14 09:48:41 +02:00
} ,
"1526283540628" : {
"events" : { } ,
"links" : { } ,
"address" : "0x452dd8d6f81786c3ad3ec3cbcf024687659c682a" ,
"transactionHash" : "0xaffd9cdbf1bd14f5f349af2782a1b4dbebd9ac97abedbcfb9aee5fb1707afe96"
2018-05-16 15:46:33 +02:00
} ,
"1526478212260" : {
"events" : { } ,
"links" : { } ,
"address" : "0x180cb429f1d8b3e99b718640d3895155e2190452" ,
"transactionHash" : "0xefeddc1db847371ef66ea36caf0a583b6bb2b9a08fdbeb73ee0f1563131ca3e2"
2018-05-22 09:22:38 +02:00
} ,
"1526973574996" : {
"events" : { } ,
"links" : { } ,
"address" : "0xdf2e7bbb8f57db7d8b11f9d8a77b0754979111c1" ,
"transactionHash" : "0xefeddc1db847371ef66ea36caf0a583b6bb2b9a08fdbeb73ee0f1563131ca3e2"
2018-05-26 09:36:34 +02:00
} ,
"1527316019334" : {
"events" : { } ,
"links" : { } ,
"address" : "0x1d916d0b2c243d732ee103132c7d85e8bda13beb" ,
"transactionHash" : "0xefeddc1db847371ef66ea36caf0a583b6bb2b9a08fdbeb73ee0f1563131ca3e2"
2018-05-04 16:04:04 +02:00
}
} ,
"schemaVersion" : "2.0.0" ,
2018-05-26 09:36:34 +02:00
"updatedAt" : "2018-05-26T06:28:28.347Z"
2018-05-04 16:04:04 +02:00
}