UNPKG

arc_dx

Version:

A platform for building DAOs

724 lines (723 loc) 177 kB
{ "contractName": "ExternalLocking4Reputation", "abi": [ { "constant": true, "inputs": [], "name": "redeemEnableTime", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "lockingStartTime", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "totalLocked", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "avatar", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "renounceOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "address" } ], "name": "scores", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "externalLockingContract", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "address" }, { "name": "", "type": "bytes32" } ], "name": "lockers", "outputs": [ { "name": "amount", "type": "uint256" }, { "name": "releaseTime", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "owner", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_beneficiary", "type": "address" } ], "name": "redeem", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "lockingEndTime", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "reputationRewardLeft", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "maxLockingPeriod", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "totalScore", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "lockingsCounter", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "totalLockedLeft", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "address" } ], "name": "externalLockers", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "reputationReward", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getBalanceFuncSignature", "outputs": [ { "name": "", "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "previousOwner", "type": "address" } ], "name": "OwnershipRenounced", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "previousOwner", "type": "address" }, { "indexed": true, "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_beneficiary", "type": "address" }, { "indexed": false, "name": "_amount", "type": "uint256" } ], "name": "Redeem", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_lockingId", "type": "bytes32" }, { "indexed": true, "name": "_beneficiary", "type": "address" }, { "indexed": false, "name": "_amount", "type": "uint256" } ], "name": "Release", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_locker", "type": "address" }, { "indexed": true, "name": "_lockingId", "type": "bytes32" }, { "indexed": false, "name": "_amount", "type": "uint256" }, { "indexed": false, "name": "_period", "type": "uint256" } ], "name": "Lock", "type": "event" }, { "constant": false, "inputs": [ { "name": "_avatar", "type": "address" }, { "name": "_reputationReward", "type": "uint256" }, { "name": "_lockingStartTime", "type": "uint256" }, { "name": "_lockingEndTime", "type": "uint256" }, { "name": "_redeemEnableTime", "type": "uint256" }, { "name": "_externalLockingContract", "type": "address" }, { "name": "_getBalanceFuncSignature", "type": "string" } ], "name": "initialize", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [], "name": "lock", "outputs": [ { "name": "", "type": "bytes32" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x6080604052600d8054600160a060020a03191633179055611436806100256000396000f3006080604052600436106101275763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416633d1678f4811461012c57806355bfec881461015357806356891412146101685780635aef7de61461017d578063715018a6146101ae57806376dd110f146101c55780637f33ccac146101e657806383805742146101fb5780638da5cb5b1461023857806395a2251f1461024d578063a8c3301714610282578063afe0e33c14610297578063bf0df445146102ac578063c006719f146102c1578063c3201add146102d6578063c348a24b146102eb578063dd9d2deb14610300578063ed1ff6d814610321578063eff5c5bd14610336578063f0167cfa1461037a578063f2fde38b14610404578063f83d08ba14610425575b600080fd5b34801561013857600080fd5b5061014161043a565b60408051918252519081900360200190f35b34801561015f57600080fd5b50610141610440565b34801561017457600080fd5b50610141610446565b34801561018957600080fd5b5061019261044c565b60408051600160a060020a039092168252519081900360200190f35b3480156101ba57600080fd5b506101c361045b565b005b3480156101d157600080fd5b50610141600160a060020a03600435166104c9565b3480156101f257600080fd5b506101926104db565b34801561020757600080fd5b5061021f600160a060020a03600435166024356104ea565b6040805192835260208301919091528051918290030190f35b34801561024457600080fd5b5061019261050b565b34801561025957600080fd5b5061026e600160a060020a036004351661051a565b604080519115158252519081900360200190f35b34801561028e57600080fd5b5061014161084d565b3480156102a357600080fd5b50610141610853565b3480156102b857600080fd5b50610141610859565b3480156102cd57600080fd5b5061014161085f565b3480156102e257600080fd5b50610141610865565b3480156102f757600080fd5b5061014161086b565b34801561030c57600080fd5b5061026e600160a060020a0360043516610871565b34801561032d57600080fd5b50610141610886565b34801561034257600080fd5b506101c360048035600160a060020a0390811691602480359260443592606435926084359260a435169160c43591820191013561088c565b34801561038657600080fd5b5061038f61096e565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103c95781810151838201526020016103b1565b50505050905090810190601f1680156103f65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561041057600080fd5b506101c3600160a060020a03600435166109fc565b34801561043157600080fd5b50610141610a1f565b600c5481565b600b5481565b60035481565b600054600160a060020a031681565b600d54600160a060020a0316331461047257600080fd5b600d54604051600160a060020a03909116907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a2600d805473ffffffffffffffffffffffffffffffffffffffff19169055565b60026020526000908152604090205481565b600e54600160a060020a031681565b60016020818152600093845260408085209091529183529120805491015482565b600d54600160a060020a031681565b600080600080600c544211151561057b576040805160e560020a62461bcd02815260206004820152601660248201527f6e6f77203e2072656465656d456e61626c6554696d6500000000000000000000604482015290519081900360640190fd5b600160a060020a038516600090815260026020526040812054116105e9576040805160e560020a62461bcd02815260206004820152601360248201527f73636f72652073686f756c64206265203e203000000000000000000000000000604482015290519081900360640190fd5b600160a060020a038516600090815260026020526040812080549190556007549093506106349061061c90601a0b610c92565b61062885601a0b610c92565b9063ffffffff610ca016565b915061065c61065761064a600554601a0b610c92565b849063ffffffff610cb216565b610ccf565b601a0b905061067681600854610cdb90919063ffffffff16565b60085560008054604080517f8da5cb5b0000000000000000000000000000000000000000000000000000000081529051600160a060020a0390921692638da5cb5b926004808401936020939083900390910190829087803b1580156106da57600080fd5b505af11580156106ee573d6000803e3d6000fd5b505050506040513d602081101561070457600080fd5b505160008054604080517feaf994b200000000000000000000000000000000000000000000000000000000815260048101869052600160a060020a038a8116602483015292831660448201529051919093169263eaf994b29260648083019360209390929083900390910190829087803b15801561078157600080fd5b505af1158015610795573d6000803e3d6000fd5b505050506040513d60208110156107ab57600080fd5b50511515610803576040805160e560020a62461bcd02815260206004820152601e60248201527f6d696e742072657075746174696f6e2073686f756c6420737563636573730000604482015290519081900360640190fd5b604080518281529051600160a060020a038716917f222838db2794d11532d940e8dec38ae307ed0b63cd97c233322e221f998767a6919081900360200190a2506001949350505050565b60095481565b60085481565b600a5481565b60055481565b60065481565b60045481565b60106020526000908152604090205460ff1681565b60075481565b600d54600160a060020a031633146108a357600080fd5b858511610920576040805160e560020a62461bcd02815260206004820152603860248201527f5f6c6f636b696e67456e6454696d652073686f756c642062652067726561746560448201527f72207468616e205f6c6f636b696e67537461727454696d650000000000000000606482015290519081900360840190fd5b600e805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038516179055610954600f838361136f565b5061096488888888886001610ced565b5050505050505050565b600f805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156109f45780601f106109c9576101008083540402835291602001916109f4565b820191906000526020600020905b8154815290600101906020018083116109d757829003601f168201915b505050505081565b600d54600160a060020a03163314610a1357600080fd5b610a1c81610ef9565b50565b6000805481908190600160a060020a03161515610a86576040805160e560020a62461bcd02815260206004820152601760248201527f73686f756c6420696e697469616c697a65206669727374000000000000000000604482015290519081900360640190fd5b3360009081526010602052604090205460ff1615610aee576040805160e560020a62461bcd02815260206004820152601c60248201527f6c6f636b696e67207477696365206973206e6f7420616c6c6f77656400000000604482015290519081900360640190fd5b3360008181526010602052604090819020805460ff19166001908117909155600e5482516024808201959095528351808203909501855260440192839052600f8054600160a060020a039290921694939092909182918491600260001992821615610100029290920116048015610b9c5780601f10610b7a576101008083540402835291820191610b9c565b820191906000526020600020905b815481529060010190602001808311610b88575b505060408051918290039091206020850180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009092169190911781529051845190935083925080838360005b83811015610c1f578181015183820152602001610c07565b50505050905090810190601f168015610c4c5780820380516001836020036101000a031916815260200191505b509150506000604051808303816000865af191505091503d6000803e818015610c79576000519150610c7e565b3d6000fd5b50610c8b81600133610f77565b9250505090565b601a0b650100000000000290565b65010000000000818302055b92915050565b600081650100000000008402811515610cc757fe5b059392505050565b65010000000000900590565b600082821115610ce757fe5b50900390565b600054600160a060020a031615610d4e576040805160e560020a62461bcd02815260206004820152601b60248201527f63616e2062652063616c6c6564206f6e6c79206f6e652074696d650000000000604482015290519081900360640190fd5b600160a060020a0386161515610dae576040805160e560020a62461bcd02815260206004820152601560248201527f6176617461722063616e6e6f74206265207a65726f0000000000000000000000604482015290519081900360640190fd5b838311610e2b576040805160e560020a62461bcd02815260206004820152603a60248201527f6c6f636b696e6720656e642074696d652073686f756c6420626520677265617460448201527f6572207468616e206c6f636b696e672073746172742074696d65000000000000606482015290519081900360840190fd5b82821015610ea9576040805160e560020a62461bcd02815260206004820152602260248201527f72656465656d456e61626c6554696d65203e3d206c6f636b696e67456e64546960448201527f6d65000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6007859055600894909455600991909155600a929092556000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039490941693909317909255600b91909155600c55565b600160a060020a0381161515610f0e57600080fd5b600d54604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600d805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600080808511610fd1576040805160e560020a62461bcd02815260206004820152601c60248201527f6c6f636b696e6720616d6f756e742073686f756c64206265203e203000000000604482015290519081900360640190fd5b600a54841115611051576040805160e560020a62461bcd02815260206004820152602c60248201527f6c6f636b696e6720706572696f642073686f756c64206265203c3d206d61784c60448201527f6f636b696e67506572696f640000000000000000000000000000000000000000606482015290519081900360840190fd5b600084116110a9576040805160e560020a62461bcd02815260206004820152601c60248201527f6c6f636b696e6720706572696f642073686f756c64206265203e203000000000604482015290519081900360640190fd5b600954421115611129576040805160e560020a62461bcd02815260206004820152603060248201527f6c6f636b2073686f756c642062652077697468696e2074686520616c6c6f776560448201527f64206c6f636b696e6720706572696f6400000000000000000000000000000000606482015290519081900360840190fd5b600b544210156111a9576040805160e560020a62461bcd02815260206004820152602860248201527f6c6f636b2073686f756c64207374617274206166746572206c6f636b696e675360448201527f7461727454696d65000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600654604080516c01000000000000000000000000300260208083019190915260348083019490945282518083039094018452605490910191829052825182918401908083835b6020831061120f5780518252601f1990920191602091820191016111f0565b51815160209384036101000a60001901801990921691161790526040805192909401829003909120600680546001908101909155600160a060020a038a166000908152818452858120838252909352939091208a8155428a0193810193909355600380548b019081905560045595509093506112b99250611294915086905087611339565b600160a060020a0385166000908152600260205260409020549063ffffffff61136216565b600160a060020a03841660009081526002602052604090208190556005546112e69163ffffffff61136216565b600555604080518681526020810186905281518492600160a060020a038716927fd173f98f4a2080eab40a0bff4d9a575753270cb2401c74efdec1feb0ba31b426929081900390910190a3509392505050565b600082151561134a57506000610cac565b5081810281838281151561135a57fe5b0414610cac57fe5b81810182811015610cac57fe5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106113b05782800160ff198235161785556113dd565b828001600101855582156113dd579182015b828111156113dd5782358255916020019190600101906113c2565b506113e99291506113ed565b5090565b61140791905b808211156113e957600081556001016113f3565b905600a165627a7a723058208ab452db097702aac03e7a20cc90e07b381e52e6eb26d4a47a96c2216c37d2bd0029", "deployedBytecode": "0x6080604052600436106101275763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416633d1678f4811461012c57806355bfec881461015357806356891412146101685780635aef7de61461017d578063715018a6146101ae57806376dd110f146101c55780637f33ccac146101e657806383805742146101fb5780638da5cb5b1461023857806395a2251f1461024d578063a8c3301714610282578063afe0e33c14610297578063bf0df445146102ac578063c006719f146102c1578063c3201add146102d6578063c348a24b146102eb578063dd9d2deb14610300578063ed1ff6d814610321578063eff5c5bd14610336578063f0167cfa1461037a578063f2fde38b14610404578063f83d08ba14610425575b600080fd5b34801561013857600080fd5b5061014161043a565b60408051918252519081900360200190f35b34801561015f57600080fd5b50610141610440565b34801561017457600080fd5b50610141610446565b34801561018957600080fd5b5061019261044c565b60408051600160a060020a039092168252519081900360200190f35b3480156101ba57600080fd5b506101c361045b565b005b3480156101d157600080fd5b50610141600160a060020a03600435166104c9565b3480156101f257600080fd5b506101926104db565b34801561020757600080fd5b5061021f600160a060020a03600435166024356104ea565b6040805192835260208301919091528051918290030190f35b34801561024457600080fd5b5061019261050b565b34801561025957600080fd5b5061026e600160a060020a036004351661051a565b604080519115158252519081900360200190f35b34801561028e57600080fd5b5061014161084d565b3480156102a357600080fd5b50610141610853565b3480156102b857600080fd5b50610141610859565b3480156102cd57600080fd5b5061014161085f565b3480156102e257600080fd5b50610141610865565b3480156102f757600080fd5b5061014161086b565b34801561030c57600080fd5b5061026e600160a060020a0360043516610871565b34801561032d57600080fd5b50610141610886565b34801561034257600080fd5b506101c360048035600160a060020a0390811691602480359260443592606435926084359260a435169160c43591820191013561088c565b34801561038657600080fd5b5061038f61096e565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103c95781810151838201526020016103b1565b50505050905090810190601f1680156103f65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561041057600080fd5b506101c3600160a060020a03600435166109fc565b34801561043157600080fd5b50610141610a1f565b600c5481565b600b5481565b60035481565b600054600160a060020a031681565b600d54600160a060020a0316331461047257600080fd5b600d54604051600160a060020a03909116907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a2600d805473ffffffffffffffffffffffffffffffffffffffff19169055565b60026020526000908152604090205481565b600e54600160a060020a031681565b60016020818152600093845260408085209091529183529120805491015482565b600d54600160a060020a031681565b600080600080600c544211151561057b576040805160e560020a62461bcd02815260206004820152601660248201527f6e6f77203e2072656465656d456e61626c6554696d6500000000000000000000604482015290519081900360640190fd5b600160a060020a038516600090815260026020526040812054116105e9576040805160e560020a62461bcd02815260206004820152601360248201527f73636f72652073686f756c64206265203e203000000000000000000000000000604482015290519081900360640190fd5b600160a060020a038516600090815260026020526040812080549190556007549093506106349061061c90601a0b610c92565b61062885601a0b610c92565b9063ffffffff610ca016565b915061065c61065761064a600554601a0b610c92565b849063ffffffff610cb216565b610ccf565b601a0b905061067681600854610cdb90919063ffffffff16565b60085560008054604080517f8da5cb5b0000000000000000000000000000000000000000000000000000000081529051600160a060020a0390921692638da5cb5b926004808401936020939083900390910190829087803b1580156106da57600080fd5b505af11580156106ee573d6000803e3d6000fd5b505050506040513d602081101561070457600080fd5b505160008054604080517feaf994b200000000000000000000000000000000000000000000000000000000815260048101869052600160a060020a038a8116602483015292831660448201529051919093169263eaf994b29260648083019360209390929083900390910190829087803b15801561078157600080fd5b505af1158015610795573d6000803e3d6000fd5b505050506040513d60208110156107ab57600080fd5b50511515610803576040805160e560020a62461bcd02815260206004820152601e60248201527f6d696e742072657075746174696f6e2073686f756c6420737563636573730000604482015290519081900360640190fd5b604080518281529051600160a060020a038716917f222838db2794d11532d940e8dec38ae307ed0b63cd97c233322e221f998767a6919081900360200190a2506001949350505050565b60095481565b60085481565b600a5481565b60055481565b60065481565b60045481565b60106020526000908152604090205460ff1681565b60075481565b600d54600160a060020a031633146108a357600080fd5b858511610920576040805160e560020a62461bcd02815260206004820152603860248201527f5f6c6f636b696e67456e6454696d652073686f756c642062652067726561746560448201527f72207468616e205f6c6f636b696e67537461727454696d650000000000000000606482015290519081900360840190fd5b600e805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038516179055610954600f838361136f565b5061096488888888886001610ced565b5050505050505050565b600f805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156109f45780601f106109c9576101008083540402835291602001916109f4565b820191906000526020600020905b8154815290600101906020018083116109d757829003601f168201915b505050505081565b600d54600160a060020a03163314610a1357600080fd5b610a1c81610ef9565b50565b6000805481908190600160a060020a03161515610a86576040805160e560020a62461bcd02815260206004820152601760248201527f73686f756c6420696e697469616c697a65206669727374000000000000000000604482015290519081900360640190fd5b3360009081526010602052604090205460ff1615610aee576040805160e560020a62461bcd02815260206004820152601c60248201527f6c6f636b696e67207477696365206973206e6f7420616c6c6f77656400000000604482015290519081900360640190fd5b3360008181526010602052604090819020805460ff19166001908117909155600e5482516024808201959095528351808203909501855260440192839052600f8054600160a060020a039290921694939092909182918491600260001992821615610100029290920116048015610b9c5780601f10610b7a576101008083540402835291820191610b9c565b820191906000526020600020905b815481529060010190602001808311610b88575b505060408051918290039091206020850180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009092169190911781529051845190935083925080838360005b83811015610c1f578181015183820152602001610c07565b50505050905090810190601f168015610c4c5780820380516001836020036101000a031916815260200191505b509150506000604051808303816000865af191505091503d6000803e818015610c79576000519150610c7e565b3d6000fd5b50610c8b81600133610f77565b9250505090565b601a0b650100000000000290565b65010000000000818302055b92915050565b600081650100000000008402811515610cc757fe5b059392505050565b65010000000000900590565b600082821115610ce757fe5b50900390565b600054600160a060020a031615610d4e576040805160e560020a62461bcd02815260206004820152601b60248201527f63616e2062652063616c6c6564206f6e6c79206f6e652074696d650000000000604482015290519081900360640190fd5b600160a060020a0386161515610dae576040805160e560020a62461bcd02815260206004820152601560248201527f6176617461722063616e6e6f74206265207a65726f0000000000000000000000604482015290519081900360640190fd5b838311610e2b576040805160e560020a62461bcd02815260206004820152603a60248201527f6c6f636b696e6720656e642074696d652073686f756c6420626520677265617460448201527f6572207468616e206c6f636b696e672073746172742074696d65000000000000606482015290519081900360840190fd5b82821015610ea9576040805160e560020a62461bcd02815260206004820152602260248201527f72656465656d456e61626c6554696d65203e3d206c6f636b696e67456e64546960448201527f6d65000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6007859055600894909455600991909155600a929092556000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039490941693909317909255600b91909155600c55565b600160a060020a0381161515610f0e57600080fd5b600d54604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600d805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600080808511610fd1576040805160e560020a62461bcd02815260206004820152601c60248201527f6c6f636b696e6720616d6f756e742073686f756c64206265203e203000000000604482015290519081900360640190fd5b600a54841115611051576040805160e560020a62461bcd02815260206004820152602c60248201527f6c6f636b696e6720706572696f642073686f756c64206265203c3d206d61784c60448201527f6f636b696e67506572696f640000000000000000000000000000000000000000606482015290519081900360840190fd5b600084116110a9576040805160e560020a62461bcd02815260206004820152601c60248201527f6c6f636b696e6720706572696f642073686f756c64206265203e203000000000604482015290519081900360640190fd5b600954421115611129576040805160e560020a62461bcd02815260206004820152603060248201527f6c6f636b2073686f756c642062652077697468696e2074686520616c6c6f776560448201527f64206c6f636b696e6720706572696f6400000000000000000000000000000000606482015290519081900360840190fd5b600b544210156111a9576040805160e560020a62461bcd02815260206004820152602860248201527f6c6f636b2073686f756c64207374617274206166746572206c6f636b696e675360448201527f7461727454696d65000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600654604080516c01000000000000000000000000300260208083019190915260348083019490945282518083039094018452605490910191829052825182918401908083835b6020831061120f5780518252601f1990920191602091820191016111f0565b51815160209384036101000a60001901801990921691161790526040805192909401829003909120600680546001908101909155600160a060020a038a166000908152818452858120838252909352939091208a8155428a0193810193909355600380548b019081905560045595509093506112b99250611294915086905087611339565b600160a060020a0385166000908152600260205260409020549063ffffffff61136216565b600160a060020a03841660009081526002602052604090208190556005546112e69163ffffffff61136216565b600555604080518681526020810186905281518492600160a060020a038716927fd173f98f4a2080eab40a0bff4d9a575753270cb2401c74efdec1feb0ba31b426929081900390910190a3509392505050565b600082151561134a57506000610cac565b5081810281838281151561135a57fe5b0414610cac57fe5b81810182811015610cac57fe5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106113b05782800160ff198235161785556113dd565b828001600101855582156113dd579182015b828111156113dd5782358255916020019190600101906113c2565b506113e99291506113ed565b5090565b61140791905b808211156113e957600081556001016113f3565b905600a165627a7a723058208ab452db097702aac03e7a20cc90e07b381e52e6eb26d4a47a96c2216c37d2bd0029", "sourceMap": "198:2485:10:-;;;567:5:55;:18;;-1:-1:-1;;;;;;567:18:55;575:10;567:18;;;198:2485:10;;;;;;", "deployedSourceMap": "198:2485:10:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1191:28:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1191:28:13;;;;;;;;;;;;;;;;;;;;1157;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1157:28:13;;;;868:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;868:23:13;;;;613:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;613:20:13;;;;;;;;-1:-1:-1;;;;;613:20:13;;;;;;;;;;;;;;1001:111:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1001:111:55;;;;;;823:38:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;823:38:13;-1:-1:-1;;;;;823:38:13;;;;;272::10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;272:38:10;;;;701:59:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;701:59:13;-1:-1:-1;;;;;701:59:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;238:20:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:55;;;;1360:859:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1360:859:13;-1:-1:-1;;;;;1360:859:13;;;;;;;;;;;;;;;;;;;;;;;1091:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1091:26:13;;;;1053:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1053:32:13;;;;1123:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1123:28:13;;;;930:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;930:22:13;;;;958:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;958:27:13;;;;897;;8:9:-1;5:2;;;30:1;27;20:12;5:2;897:27:13;;;;382:47:10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;382:47:10;-1:-1:-1;;;;;382:47:10;;;;;1019:28:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1019:28:13;;;;1118:688:10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1118:688:10;;;;-1:-1:-1;;;;;1118:688:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;316:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;316:37:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;316:37:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1274:103:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1274:103:55;-1:-1:-1;;;;;1274:103:55;;;;;1879:802:10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1879:802:10;;;;1191:28:13;;;;:::o;1157:::-;;;;:::o;868:23::-;;;;:::o;613:20::-;;;-1:-1:-1;;;;;613:20:13;;:::o;1001:111:55:-;719:5;;-1:-1:-1;;;;;719:5:55;705:10;:19;697:28;;;;;;1077:5;;1058:25;;-1:-1:-1;;;;;1077:5:55;;;;1058:25;;1077:5;;1058:25;1089:5;:18;;-1:-1:-1;;1089:18:55;;;1001:111::o;823:38:13:-;;;;;;;;;;;;;:::o;272::10:-;;;-1:-1:-1;;;;;272:38:10;;:::o;701:59:13:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;238:20:55:-;;;-1:-1:-1;;;;;238:20:55;;:::o;1360:859:13:-;1413:4;1636:10;1713:18;1805:15;1517:16;;1499:15;:34;1491:69;;;;;;;-1:-1:-1;;;;;1491:69:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1578:20:13;;1601:1;1578:20;;;:6;:20;;;;;;:24;1570:56;;;;;-1:-1:-1;;;;;1570:56:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1649:20:13;;;;;;:6;:20;;;;;;;1679:24;;;1768:16;;1649:20;;-1:-1:-1;1734:61:13;;1761:33;;:31;;;:33::i;:::-;1734:22;1741:5;1734:20;;;:22::i;:::-;:26;:61;:26;:61;:::i;:::-;1713:82;;1831:55;:44;1847:27;1854:10;;1847:25;;;:27::i;:::-;1831:11;;:44;:15;:44;:::i;:::-;:53;:55::i;:::-;1823:64;;1805:82;;1969:36;1994:10;1969:20;;:24;;:36;;;;:::i;:::-;1946:20;:59;2043:6;;;:14;;;;;;;;-1:-1:-1;;;;;2043:6:13;;;;:12;;:14;;;;;;;;;;;;;;;;;:6;:14;;;5:2:-1;;;;30:1;27;20:12;5:2;2043:14:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2043:14:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2043:14:13;2100:6;;;2023:84;;;;;;;;;;;;-1:-1:-1;;;;;2023:84:13;;;;;;;2100:6;;;2023:84;;;;;;:50;;;;;;;:84;;;;;2043:14;;2023:84;;;;;;;;;;;;:50;:84;;;5:2:-1;;;;30:1;27;20:12;5:2;2023:84:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2023:84:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2023:84:13;2015:127;;;;;;;-1:-1:-1;;;;;2015:127:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;2158:32;;;;;;;;-1:-1:-1;;;;;2158:32:13;;;;;;;;;;;;;-1:-1:-1;2208:4:13;;1360:859;-1:-1:-1;;;;1360:859:13:o;1091:26::-;;;;:::o;1053:32::-;;;;:::o;1123:28::-;;;;:::o;930:22::-;;;;:::o;958:27::-;;;;:::o;897:::-;;;;:::o;382:47:10:-;;;;;;;;;;;;;;;:::o;1019:28:13:-;;;;:::o;1118:688:10:-;719:5:55;;-1:-1:-1;;;;;719:5:55;705:10;:19;697:28;;;;;;1421:35:10;;;1413:104;;;;;-1:-1:-1;;;;;1413:104:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1527:23;:50;;-1:-1:-1;;1527:50:10;-1:-1:-1;;;;;1527:50:10;;;;;1587;:23;1613:24;;1587:50;:::i;:::-;;1647:152;1674:7;1691:17;1718;1745:15;1770:17;1797:1;1647:17;:152::i;:::-;1118:688;;;;;;;;:::o;316:37::-;;;;;;;;;;;;;;;-1:-1:-1;;316:37:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1274:103:55:-;719:5;;-1:-1:-1;;;;;719:5:55;705:10;:19;697:28;;;;;;1343:29;1362:9;1343:18;:29::i;:::-;1274:103;:::o;1879:802:10:-;1910:7;1937:6;;1910:7;;;;-1:-1:-1;;;;;1937:6:10;:19;;1929:55;;;;;-1:-1:-1;;;;;1929:55:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;2018:10;2002:27;;;;:15;:27;;;;;;;;:36;1994:77;;;;;-1:-1:-1;;;;;1994:77:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;2097:10;2081:27;;;;:15;:27;;;;;;;:34;;-1:-1:-1;;2081:34:10;2111:4;2081:34;;;;;;2203:23;;2232:60;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;2232:60:10;;;;;;2256:23;2232:60;;-1:-1:-1;;;;;2203:23:10;;;;;2232:60;2256:23;;2232:60;;;;2256:23;;2232:60;-1:-1:-1;;2232:60:10;;;;2081:34;2232:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2232:60:10;;;;;;;;;;38:4:-1;25:18;;61:17;;2232:60:10;182:15:-1;2232:60:10;;;;179:29:-1;;;;160:49;;2203:90:10;;;;;;-1:-1:-1;2203:90:10;;-1:-1:-1;2203:90:10;;25:18:-1;-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2203:90:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2189:104;;2436:14;2433:1;2430;2415:36;2469:6;2524:36;;;;2603:1;2597:8;2581:24;;2462:145;;2524:36;2543:14;2540:1;2533:25;2462:145;;2634:40;2646:12;2660:1;2663:10;2634:11;:40::i;:::-;2627:47;;1879:802;;;:::o;2123:109:8:-;2201:13;;1184:23;2201:24;;2123:109::o;4641:316::-;4904:45;4905:29;;;4904:45;4641:316;;;;;:::o;5040:348::-;5122:6;5364:15;1184:23;5321:32;;5320:60;;;;;;;;;5040:348;-1:-1:-1;;;5040:348:8:o;2307:119::-;1184:23;2398:20;;;2307:119::o;1060:116:54:-;1120:7;1142:8;;;;1135:16;;;;-1:-1:-1;1164:7:54;;;1060:116::o;4860:873:13:-;5116:1;5099:6;-1:-1:-1;;;;;5099:6:13;:19;5091:59;;;;;-1:-1:-1;;;;;5091:59:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5168:20:13;;;;5160:54;;;;;-1:-1:-1;;;;;5160:54:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;5232:35;;;5224:106;;;;;-1:-1:-1;;;;;5224:106:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5348:36;;;;5340:83;;;;;-1:-1:-1;;;;;5340:83:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5434:16;:36;;;5480:20;:40;;;;5530:14;:32;;;;5572:16;:36;;;;-1:-1:-1;5618:16:13;;-1:-1:-1;;5618:16:13;-1:-1:-1;;;;;5618:16:13;;;;;;;;;;;5644;:36;;;;5690:16;:36;4860:873::o;1512:171:55:-;-1:-1:-1;;;;;1582:23:55;;;;1574:32;;;;;;1638:5;;1617:38;;-1:-1:-1;;;;;1617:38:55;;;;1638:5;;1617:38;;1638:5;;1617:38;1661:5;:17;;-1:-1:-1;;1661:17:55;-1:-1:-1;;;;;1661:17:55;;;;;;;;;;1512:171::o;3130:1176:13:-;3207:17;;3244:11;;;3236:52;;;;;-1:-1:-1;;;;;3236:52:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;3317:16;;3306:27;;;3298:84;;;;;-1:-1:-1;;;;;3298:84:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3410:1;3400:11;;3392:52;;;;;-1:-1:-1;;;;;3392:52:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;3531:14;;3524:3;:21;;3516:82;;;;;-1:-1:-1;;;;;3516:82:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3685:16;;3678:3;:23;;3670:76;;;;;-1:-1:-1;;;;;3670:76:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3802:15;;3779:39;;;;3796:4;3779:39;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;3779:39:13;;;;;;;;3769:50;;3779:39;;3769:50;;;;3779:39;3769:50;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;3769:50:13;;;;;;;;;;;;;3829:15;:17;;274:1:-1;3829:17:13;;;;;;-1:-1:-1;;;;;3881:16:13;;-1:-1:-1;3881:16:13;;;;;;;;;:27;;;;;;;;;;3918:23;;;4034:3;:13;;4013:18;;;:34;;;;4057:11;:22;;;;;;;;4089:15;:29;3769:50;-1:-1:-1;3881:27:13;;-1:-1:-1;4146:41:13;;-1:-1:-1;4166:20:13;;-1:-1:-1;4034:13:13;;-1:-1:-1;3918:23:13;4166:11;:20::i;:::-;-1:-1:-1;;;;;4146:15:13;;;;;;:6;:15;;;;;;;:41;:19;:41;:::i;:::-;-1:-1:-1;;;;;4128:15:13;;;;;;:6;:15;;;;;:59;;;4210:10;;:31;;;:14;:31;:::i;:::-;4197:10;:44;4257:42;;;;;;;;;;;;;;4271:9;;-1:-1:-1;;;;;4257:42:13;;;;;;;;;;;;;;3130:1176;;;;;;:::o;203:380:54:-;263:9;489:7;;485:36;;;-1:-1:-1;513:1:54;506:8;;485:36;-1:-1:-1;531:7:54;;;536:2;531;:7;551:6;;;;;;;;:12;544:20;;;1238:128;1319:7;;;1339;;;;1332:15;;;198:2485:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;198:2485:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;198:2485:10;;;-1:-1:-1;198:2485:10;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o", "source": "pragma solidity ^0.4.25;\n\nimport \"./Locking4Reputation.sol\";\nimport \"openzeppelin-solidity/contracts/ownership/Ownable.sol\";\n\n\n/**\n * @title A scheme for external locking Tokens for reputation\n */\n\ncontract ExternalLocking4Reputation is Locking4Reputation, Ownable {\n\n address public externalLockingContract;\n string public getBalanceFuncSignature;\n\n // locker -> bool\n mapping(address => bool) public externalLockers;\n\n /**\n * @dev initialize\n * @param _avatar the avatar to mint reputation from\n * @param _reputationReward the total reputation this contract will reward\n * for the token locking\n * @param _lockingStartTime locking starting period time.\n * @param _lockingEndTime the locking end time.\n * locking is disable after this time.\n * @param _redeemEnableTime redeem enable time .\n * redeem reputation can be done after this time.\n * @param _externalLockingContract the contract which lock the token.\n * @param _getBalanceFuncSignature get balance function signature\n * e.g \"lockedTokenBalances(address)\"\n */\n function initialize(\n Avatar _avatar,\n uint _reputationReward,\n uint _lockingStartTime,\n uint _lockingEndTime,\n uint _redeemEnableTime,\n address _externalLockingContract,\n string _getBalanceFuncSignature)\n external\n onlyOwner\n {\n require(_lockingEndTime > _lockingStartTime, \"_lockingEndTime should be greater than _lockingStartTime\");\n externalLockingContract = _externalLockingContract;\n getBalanceFuncSignature = _getBalanceFuncSignature;\n super._initialize(\n _avatar,\n _reputationReward,\n _lockingStartTime,\n _lockingEndTime,\n _redeemEnableTime,\n 1);\n }\n\n /**\n * @dev lock function\n * @return lockingId\n */\n function lock() public returns(bytes32) {\n require(avatar != Avatar(0), \"should initialize first\");\n require(externalLockers[msg.sender] == false, \"locking twice is not allowed\");\n externalLockers[msg.sender] = true;\n // solium-disable-next-line security/no-low-level-calls\n bool result = externalLockingContract.call(abi.encodeWithSignature(getBalanceFuncSignature, msg.sender));\n uint lockedAmount;\n // solium-disable-next-line security/no-inline-assembly\n assembly {\n returndatacopy(0, 0, returndatasize)\n switch result\n // call returns 0 on error.\n case 0 { revert(0, returndatasize) }\n default { lockedAmount := mload(0) }\n }\n\n return super._lock(lockedAmount, 1, msg.sender);\n }\n}\n", "sourcePath": "/Users/oren/daostack/daostack2/daostack/contracts/schemes/ExternalLocking4Reputation.sol", "ast": { "absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/schemes/ExternalLocking4Reputation.sol", "exportedSymbols": { "ExternalLocking4Reputation": [ 5482 ] }, "id": 5483, "nodeType": "SourceUnit", "nodes": [ { "id": 5365, "literals": [ "solidity", "^", "0.4", ".25" ], "nodeType": "PragmaDirective", "src": "0:24:10" }, { "absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/schemes/Locking4Reputation.sol", "file": "./Locking4Reputation.sol", "id": 5366, "nodeType": "ImportDirective", "scope": 5483, "sourceUnit": 6224, "src": "26:34:10", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "openzeppelin-solidity/contracts/ownership/Ownable.sol", "file": "openzeppelin-solidity/contracts/ownership/Ownable.sol", "id": 5367, "nodeType": "ImportDirective", "scope": 5483, "sourceUnit": 20878, "src": "61:63:10", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 5368, "name": "Locking4Reputation", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 6223, "src": "237:18:10", "typeDescriptions": { "typeIdentifier": "t_contract$_Locking4Reputation_$6223", "typeString": "contract Locking4Reputation" } }, "id": 5369, "nodeType": "InheritanceSpecifier", "src": "237:18:10" }, { "arguments": null, "baseName": { "contractScope": null, "id": 5370, "name": "Ownable", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 20877, "src": "257:7:10", "typeDescriptions": { "typeIdentifier": "t_contract$_Ownable_$20877", "typeString": "contract Ownable" } }, "id": 5371, "nodeType": "InheritanceSpecifier", "src": "257:7:10" } ], "contractDependencies": [ 6223, 20877 ], "contractKind": "contract", "documentation": "@title A scheme for external locking Tokens for reputation", "fullyImplemented": true, "id": 5482, "linearizedBaseContracts": [ 5482, 20877, 6223 ], "name": "ExternalLocking4Reputation", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 5373, "name": "externalLockingContract", "nodeType": "VariableDeclaration", "scope": 5482, "src": "272:38:10", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 5372, "name": "address", "nodeType": "ElementaryTypeName", "src": "272:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "public" }, { "constant": false, "id": 5375, "name": "getBalanceFuncSignature", "nodeType": "VariableDeclaration", "scope": 5482, "src": "316:37:10", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string" }, "typeName": { "id": 5374, "name": "string", "nodeType": "ElementaryTypeName", "src": "316:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "public" }, { "constant": false, "id": 5379, "name": "externalLockers", "nodeType": "VariableDeclaration", "scope": 5482, "src": "382:47:10", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" }, "typeName": { "id": 5378, "keyType": { "id": 5376, "name": "address", "nodeType": "ElementaryTypeName", "src": "390:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", "src": "382:24:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" }, "valueType": { "id": 5377, "name": "bool", "nodeType": "ElementaryTypeName", "src": "401:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } }, "value": null, "visibility": "public" }, { "body": { "id": 5424, "nodeType": "Block", "src": "1403:403:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 5401, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 5399, "name": "_lockingEndTime", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5387, "src": "1421:15:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "argumentTypes": null, "id": 5400, "name": "_lockingStartTime", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5385, "src": "1439:17:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1421:35:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "5f6c6f636b696e67456e6454696d652073686f756c642062652067726561746572207468616e205f6c6f636b696e67537461727454696d65", "id": 5402, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1458:58:10", "subdenomination": null, "typeDescriptions": {