GoodDocs
Search
K

AdminWallet

Helper contract for our backend servers to whitelist users and to fill their Fuse network gas.

Events

AdminsAdded

Emitted when new admins were added.
Parameter name
Annotation
admins
The addresses of the admins that were added.
event AdminsAdded(address payable[] indexed admins);

AdminsRemoved

Emitted when old admins were removed.
Parameter name
Annotation
admins
The addresses of the admins that were removed.
event AdminsRemoved(address[] indexed admins);

WalletTopped

Emitted when the specific user address was topped.
Parameter name
Annotation
user
The users address that was topped.
amount
The amount that was sent.
event WalletTopped(address indexed user, uint256 amount);

GenericCall

Emitted when the wallet is performing some tx.
Parameter name
Annotation
_contract
The contract that was called.
_data
The data of the tx.
_value
The amount of the native token that was sent.
_success
The status of the performed tx.
event GenericCall(
address indexed _contract,
bytes _data,
uint256 _value,
bool _success
);

setBonusContract

Sets the SignUpBonus contract address.
Parameter name
Annotation
_bonus
The new address of the SignUpBonus contract.
Can only be called by the admin.
function setBonusContract(address _bonus) public;

addAdmins

Function to add list of addresses to admins list.
Parameter name
Annotation
_admins
The list of addresses to add as admins list.
Can only be called by the admin.
function addAdmins(address payable[] memory _admins) public;

removeAdmins

Function to remove list of addresses from admins list.
Parameter name
Annotation
_admins
The list of addresses to remove from admins list.
Can only be called by the admin.
function removeAdmins(address[] memory _admins) public;

topAdmins

Function to top group of admins by indicies with amount of G$ given in constructor. The amount of times per day specified in the constructor.
Parameter name
Annotation
startIndex
Starting index in the admins list.
endIndex
Ending index in the admins list.
function topAdmins(uint256 startIndex, uint256 endIndex) public;
Below there is the overriden variant which performs like the original except the endIndex is set to 50 by default.
function topAdmins(uint256 startIndex) public;

isAdmin

Function to check if given account is the admin.
Parameter name
Annotation
_user
The account address to check.
Returns: true if _user is the admin, false elsewise.
function isAdmin(address _user) public view returns (bool)

whitelist

Function to add given address to whitelist of identity contract.
Parameter name
Annotation
_user
The account address to be added to whitelist.
_did
The DID of the _user.
Can only be called by admins of wallet and if wallet is an IdentityAdmin.
function whitelist(address _user, string memory _did) public;

removeWhitelist

Function to remove given address from whitelist of identity contract.
Parameter name
Annotation
_user
The account address to whitelist.
Can only be called by admins of wallet and if wallet is an IdentityAdmin.
function removeWhitelist(address _user) public;

blacklist

Function to add given address to blacklist of identity contract.
Parameter name
Annotation
_user
The account address to be added to blacklist.
Can only be called by admins of wallet and if wallet is an IdentityAdmin.
function blacklist(address _user) public;

removeBlacklist

Function to remove given address from blacklist of identity contract.
Parameter name
Annotation
_user
The account address to be removed from blacklist.
Can only be called by admins of wallet and if wallet is an IdentityAdmin.
function removeBlacklist(address _user) public;

topWallet

Function to top given address with amount of G$ given in constructor.
Parameter name
Annotation
_user
The address to transfer to.
Can only be done by admin. The amount of times per day specified in constructor.
function topWallet(address payable _user) public;

whitelistAndAwardUser

Function to whitelist user and also award him pending bonuses, it can be used also later when the user is already whitelisted to just award pending bonuses.
Parameter name
Annotation
_user
The address to transfer to and whitelist.
_amount
The bonus amount to give.
_did
Decentralized ID of user, pointer to some profile.
Can only be done by admin.
function whitelistAndAwardUser(
address _user,
uint256 _amount,
string memory _did
) public;

awardUser

Function to award user with pending bonuses, can only be done by admin.
Parameter name
Annotation
_user
The address to transfer to and whitelist.
_amount
The bonus amount to give.
function awardUser(address _user, uint256 _amount) public;

genericCall

Perform a generic call to an arbitrary contract.
Parameter name
Annotation
_contract
The contract's address to call.
_data
ABI-encoded contract call to call _contract address.
_value
Value (native token) to transfer with the transaction.
Returns: pair of bool and bytes - success or fail and bytes of the called contract's function.
function genericCall(
address _contract,
bytes memory _data,
uint256 _value
) public returns (bool success, bytes memory returnValue)

destroy

Destroy wallet and return funds to owner. Can only be executed by the admin.
function destroy() public;