@gooddollar/goodprotocol
Version:
GoodDollar Protocol
292 lines (291 loc) • 18.6 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "OneTimeReward",
"sourceName": "contracts/invite/OneTimeReward.sol",
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "_rewardAmount",
"type": "uint256"
},
{
"internalType": "contract INameService",
"name": "_nameService",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "user",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "RewardClaimed",
"type": "event"
},
{
"inputs": [],
"name": "avatar",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "checkActiveAndBalance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_user",
"type": "address"
}
],
"name": "checkCanClaimReward",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_user",
"type": "address"
}
],
"name": "claimReward",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "claimed",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "dao",
"outputs": [
{
"internalType": "contract Controller",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getIdentity",
"outputs": [
{
"internalType": "contract IIdentityV2",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "isActive",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "nameService",
"outputs": [
{
"internalType": "contract INameService",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "nativeToken",
"outputs": [
{
"internalType": "contract IGoodDollar",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "rewardAmount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "updateAvatar",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bool",
"name": "_isActive",
"type": "bool"
},
{
"internalType": "uint256",
"name": "_rewardAmount",
"type": "uint256"
}
],
"name": "updateSettings",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_token",
"type": "address"
}
],
"name": "withdrawAll",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x60806040523480156200001157600080fd5b5060405162000d9a38038062000d9a83398101604081905262000034916200021f565b6200003f3362000064565b60378290556036805460ff191660011790556200005c81620000b4565b505062000279565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600380546001600160a01b0319166001600160a01b038316179055620000d9620000dc565b50565b60035460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac190606401602060405180830381865afa15801562000140573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000166919062000252565b600180546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de6916004808201926020929091908290030181865afa158015620001c1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e7919062000252565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381168114620000d957600080fd5b600080604083850312156200023357600080fd5b825191506020830151620002478162000209565b809150509250929050565b6000602082840312156200026557600080fd5b8151620002728162000209565b9392505050565b610b1180620002896000396000f3fe608060405234801561001057600080fd5b50600436106100db5760003560e01c80631b3c90a8146100e057806322f3e2d4146100ea578063247fcf041461010c57806336afc6fa1461011f5780633e6326fc146101345780634162169f1461014757806353fadcfe1461015a5780635aef7de61461016d578063715018a6146101805780638da5cb5b14610188578063bc06847f14610190578063c884ef8314610198578063d279c191146101bb578063e1758bd8146101ce578063f2fde38b146101d6578063f7b2a7be146101e9578063fa09e63014610200575b600080fd5b6100e8610213565b005b6036546100f79060ff1681565b60405190151581526020015b60405180910390f35b6100e861011a3660046109fd565b61033a565b610127610359565b6040516101039190610a29565b600354610127906001600160a01b031681565b600154610127906001600160a01b031681565b6100f7610168366004610a52565b6103e5565b600254610127906001600160a01b031681565b6100e861046e565b610127610482565b6100f7610491565b6100f76101a6366004610a52565b60386020526000908152604090205460ff1681565b6100e86101c9366004610a52565b61052d565b6101276106e1565b6100e86101e4366004610a52565b61072d565b6101f260375481565b604051908152602001610103565b6100e861020e366004610a52565b6107a6565b60035460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac190606401602060405180830381865afa158015610276573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061029a9190610a6f565b600180546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de6916004808201926020929091908290030181865afa1580156102f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103189190610a6f565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6103426108de565b6036805460ff191692151592909217909155603755565b60035460405163bf40fac160e01b81526020600482015260086024820152674944454e5449545960c01b60448201526000916001600160a01b03169063bf40fac1906064015b602060405180830381865afa1580156103bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103e09190610a6f565b905090565b6000806103f0610359565b6001600160a01b0316632d0e9b46846040518263ffffffff1660e01b815260040161041b9190610a29565b602060405180830381865afa158015610438573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045c9190610a6f565b90506104678161093d565b9392505050565b6104766108de565b610480600061099f565b565b6000546001600160a01b031690565b60365460009060ff166104a45750600090565b6037546104af6106e1565b6001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016104da9190610a29565b602060405180830381865afa1580156104f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051b9190610a8c565b10156105275750600090565b50600190565b6000610537610359565b6001600160a01b0316632d0e9b46836040518263ffffffff1660e01b81526004016105629190610a29565b602060405180830381865afa15801561057f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a39190610a6f565b90506105ae8161093d565b6105fa5760405162461bcd60e51b8152602060048201526018602482015277155cd95c8818d85b9b9bdd0818db185a5b481c995dd85c9960421b60448201526064015b60405180910390fd5b6001600160a01b0381166000908152603860205260409020805460ff191660011790556106256106e1565b6001600160a01b031663a9059cbb836037546040518363ffffffff1660e01b8152600401610654929190610aa5565b6020604051808303816000875af1158015610673573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106979190610abe565b50816001600160a01b03167f106f923f993c2149d49b4255ff723acafa1f2d94393f561d3eda32ae348f72416037546040516106d591815260200190565b60405180910390a25050565b60035460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac19060640161039f565b6107356108de565b6001600160a01b03811661079a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105f1565b6107a38161099f565b50565b6107ae6108de565b6040516370a0823160e01b81526000906001600160a01b038316906370a08231906107dd903090600401610a29565b602060405180830381865afa1580156107fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081e9190610a8c565b9050600081116108685760405162461bcd60e51b81526020600482015260156024820152744e6f20746f6b656e7320746f20776974686472617760581b60448201526064016105f1565b60405163a9059cbb60e01b81526001600160a01b0383169063a9059cbb906108969033908590600401610aa5565b6020604051808303816000875af11580156108b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d99190610abe565b505050565b336108e7610482565b6001600160a01b0316146104805760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105f1565b6000610947610491565b151560000361095857506000919050565b6001600160a01b03821661096e57506000919050565b6001600160a01b03821660009081526038602052604090205460ff161561099757506000919050565b506001919050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80151581146107a357600080fd5b60008060408385031215610a1057600080fd5b8235610a1b816109ef565b946020939093013593505050565b6001600160a01b0391909116815260200190565b6001600160a01b03811681146107a357600080fd5b600060208284031215610a6457600080fd5b813561046781610a3d565b600060208284031215610a8157600080fd5b815161046781610a3d565b600060208284031215610a9e57600080fd5b5051919050565b6001600160a01b03929092168252602082015260400190565b600060208284031215610ad057600080fd5b8151610467816109ef56fea26469706673582212205bebf76c1ebbadd7212bad41aae9ce97f0a80c6d8c71c5d8218653f0e08c925f64736f6c63430008130033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100db5760003560e01c80631b3c90a8146100e057806322f3e2d4146100ea578063247fcf041461010c57806336afc6fa1461011f5780633e6326fc146101345780634162169f1461014757806353fadcfe1461015a5780635aef7de61461016d578063715018a6146101805780638da5cb5b14610188578063bc06847f14610190578063c884ef8314610198578063d279c191146101bb578063e1758bd8146101ce578063f2fde38b146101d6578063f7b2a7be146101e9578063fa09e63014610200575b600080fd5b6100e8610213565b005b6036546100f79060ff1681565b60405190151581526020015b60405180910390f35b6100e861011a3660046109fd565b61033a565b610127610359565b6040516101039190610a29565b600354610127906001600160a01b031681565b600154610127906001600160a01b031681565b6100f7610168366004610a52565b6103e5565b600254610127906001600160a01b031681565b6100e861046e565b610127610482565b6100f7610491565b6100f76101a6366004610a52565b60386020526000908152604090205460ff1681565b6100e86101c9366004610a52565b61052d565b6101276106e1565b6100e86101e4366004610a52565b61072d565b6101f260375481565b604051908152602001610103565b6100e861020e366004610a52565b6107a6565b60035460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac190606401602060405180830381865afa158015610276573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061029a9190610a6f565b600180546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de6916004808201926020929091908290030181865afa1580156102f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103189190610a6f565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6103426108de565b6036805460ff191692151592909217909155603755565b60035460405163bf40fac160e01b81526020600482015260086024820152674944454e5449545960c01b60448201526000916001600160a01b03169063bf40fac1906064015b602060405180830381865afa1580156103bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103e09190610a6f565b905090565b6000806103f0610359565b6001600160a01b0316632d0e9b46846040518263ffffffff1660e01b815260040161041b9190610a29565b602060405180830381865afa158015610438573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045c9190610a6f565b90506104678161093d565b9392505050565b6104766108de565b610480600061099f565b565b6000546001600160a01b031690565b60365460009060ff166104a45750600090565b6037546104af6106e1565b6001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016104da9190610a29565b602060405180830381865afa1580156104f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051b9190610a8c565b10156105275750600090565b50600190565b6000610537610359565b6001600160a01b0316632d0e9b46836040518263ffffffff1660e01b81526004016105629190610a29565b602060405180830381865afa15801561057f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a39190610a6f565b90506105ae8161093d565b6105fa5760405162461bcd60e51b8152602060048201526018602482015277155cd95c8818d85b9b9bdd0818db185a5b481c995dd85c9960421b60448201526064015b60405180910390fd5b6001600160a01b0381166000908152603860205260409020805460ff191660011790556106256106e1565b6001600160a01b031663a9059cbb836037546040518363ffffffff1660e01b8152600401610654929190610aa5565b6020604051808303816000875af1158015610673573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106979190610abe565b50816001600160a01b03167f106f923f993c2149d49b4255ff723acafa1f2d94393f561d3eda32ae348f72416037546040516106d591815260200190565b60405180910390a25050565b60035460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac19060640161039f565b6107356108de565b6001600160a01b03811661079a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105f1565b6107a38161099f565b50565b6107ae6108de565b6040516370a0823160e01b81526000906001600160a01b038316906370a08231906107dd903090600401610a29565b602060405180830381865afa1580156107fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081e9190610a8c565b9050600081116108685760405162461bcd60e51b81526020600482015260156024820152744e6f20746f6b656e7320746f20776974686472617760581b60448201526064016105f1565b60405163a9059cbb60e01b81526001600160a01b0383169063a9059cbb906108969033908590600401610aa5565b6020604051808303816000875af11580156108b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d99190610abe565b505050565b336108e7610482565b6001600160a01b0316146104805760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105f1565b6000610947610491565b151560000361095857506000919050565b6001600160a01b03821661096e57506000919050565b6001600160a01b03821660009081526038602052604090205460ff161561099757506000919050565b506001919050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80151581146107a357600080fd5b60008060408385031215610a1057600080fd5b8235610a1b816109ef565b946020939093013593505050565b6001600160a01b0391909116815260200190565b6001600160a01b03811681146107a357600080fd5b600060208284031215610a6457600080fd5b813561046781610a3d565b600060208284031215610a8157600080fd5b815161046781610a3d565b600060208284031215610a9e57600080fd5b5051919050565b6001600160a01b03929092168252602082015260400190565b600060208284031215610ad057600080fd5b8151610467816109ef56fea26469706673582212205bebf76c1ebbadd7212bad41aae9ce97f0a80c6d8c71c5d8218653f0e08c925f64736f6c63430008130033",
"linkReferences": {},
"deployedLinkReferences": {}
}