Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

ShareXWalletManager

Git Source

Inherits: IShareXWalletManager, Initializable, AccessControl

State Variables

_wallets

mapping(uint256 userId => mapping(uint256 walletId => address walletAddr)) private _wallets

_walletIndex

uint256 private _walletIndex

Functions

validUserId

modifier validUserId(uint256 userId) ;

validWalletId

modifier validWalletId(uint256 walletId) ;

onlyAdmin

modifier onlyAdmin() ;

constructor

constructor(address admin) payable;

initialize

function initialize(address admin) external override initializer;

fund

function fund() external payable override;

batchTransfer

function batchTransfer(
    uint256 userId,
    uint256 walletId,
    address[] calldata tokens,
    address[] calldata recipients,
    uint256[] calldata amounts
) external override validUserId(userId) validWalletId(walletId) onlyAdmin;

mintPowerPass

function mintPowerPass(
    uint256 userId,
    uint256 walletId,
    address powerPassContract,
    address to,
    string calldata tokenURI
)
    external
    override
    validUserId(userId)
    validWalletId(walletId)
    onlyAdmin
    returns (uint256 tokenId);

transferPowerPass

function transferPowerPass(
    uint256 userId,
    uint256 walletId,
    address powerPassContract,
    address from,
    address to,
    uint256 tokenId
) external override validUserId(userId) validWalletId(walletId) onlyAdmin;

burnPowerPass

function burnPowerPass(
    uint256 userId,
    uint256 walletId,
    address powerPassContract,
    uint256 tokenId
) external override validUserId(userId) validWalletId(walletId) onlyAdmin;

approvePowerPass

function approvePowerPass(
    uint256 userId,
    uint256 walletId,
    address powerPassContract,
    address to,
    uint256 tokenId
) external override validUserId(userId) validWalletId(walletId) onlyAdmin;

setApprovalForAllPowerPass

function setApprovalForAllPowerPass(
    uint256 userId,
    uint256 walletId,
    address powerPassContract,
    address operator,
    bool approved
) external override validUserId(userId) validWalletId(walletId) onlyAdmin;

batchApprovePowerPass

function batchApprovePowerPass(
    uint256 userId,
    uint256 walletId,
    address powerPassContract,
    uint256[] calldata tokenIds,
    address[] calldata operators
) external override validUserId(userId) validWalletId(walletId) onlyAdmin;

approveAndTransferPowerPass

function approveAndTransferPowerPass(
    uint256 fromUserId,
    uint256 fromWalletId,
    address powerPassContract,
    address to,
    uint256 tokenId
) external override validUserId(fromUserId) validWalletId(fromWalletId) onlyAdmin;

batchTransferPowerPass

function batchTransferPowerPass(
    uint256 userId,
    uint256 walletId,
    address powerPassContract,
    address[] calldata from,
    address[] calldata to,
    uint256[] calldata tokenIds
) external override validUserId(userId) validWalletId(walletId) onlyAdmin;

getPowerPassBalance

function getPowerPassBalance(uint256 userId, uint256 walletId, address powerPassContract)
    external
    view
    override
    validUserId(userId)
    validWalletId(walletId)
    returns (uint256 balance);

getPowerPassApproved

function getPowerPassApproved(
    uint256 userId,
    uint256 walletId,
    address powerPassContract,
    uint256 tokenId
)
    external
    view
    override
    validUserId(userId)
    validWalletId(walletId)
    returns (address approved);

isApprovedForAllPowerPass

function isApprovedForAllPowerPass(
    uint256 userId,
    uint256 walletId,
    address powerPassContract,
    address operator
) external view override validUserId(userId) validWalletId(walletId) returns (bool approved);

createWallet

function createWallet(uint256 userId)
    public
    override
    validUserId(userId)
    onlyAdmin
    returns (uint256 walletId, address walletAddr);

deposit

function deposit(uint256 userId, uint256 walletId, address token, uint256 amount)
    public
    payable
    override
    validUserId(userId)
    validWalletId(walletId)
    onlyAdmin;

withdraw

function withdraw(
    uint256 userId,
    uint256 walletId,
    address payable to,
    address token,
    uint256 amount
) public override validUserId(userId) validWalletId(walletId) onlyAdmin;

transfer

function transfer(
    uint256 fromUserId,
    uint256 fromWalletId,
    uint256 toUserId,
    uint256 toWalletId,
    address token,
    uint256 amount
)
    public
    override
    validUserId(fromUserId)
    validUserId(toUserId)
    validWalletId(fromWalletId)
    validWalletId(toWalletId)
    onlyAdmin;

getNativeTokenBalance

function getNativeTokenBalance(uint256 userId, uint256 walletId)
    public
    view
    override
    validUserId(userId)
    validWalletId(walletId)
    returns (uint256 nativeBalance);

getTokenBalance

function getTokenBalance(uint256 userId, uint256 walletId, address token)
    public
    view
    override
    validUserId(userId)
    validWalletId(walletId)
    returns (uint256 tokenBalance);

getWalletAddr

function getWalletAddr(uint256 userId, uint256 walletId)
    public
    view
    override
    validUserId(userId)
    validWalletId(walletId)
    returns (address);

getWalletIndex

function getWalletIndex() public view override returns (uint256);

_getWalletAddr

function _getWalletAddr(uint256 userId, uint256 walletId) private view returns (address);

stakePowerPass

function stakePowerPass(
    uint256 userId,
    uint256 walletId,
    address stakingContract,
    uint256 tokenId
) external override validUserId(userId) validWalletId(walletId) onlyAdmin;

stakePowerPassBatch

function stakePowerPassBatch(
    uint256 userId,
    uint256 walletId,
    address stakingContract,
    uint256[] calldata tokenIds
) external override validUserId(userId) validWalletId(walletId) onlyAdmin;

unstakePowerPass

function unstakePowerPass(
    uint256 userId,
    uint256 walletId,
    address stakingContract,
    uint256 tokenId
) external override validUserId(userId) validWalletId(walletId) onlyAdmin;

unstakePowerPassBatch

function unstakePowerPassBatch(
    uint256 userId,
    uint256 walletId,
    address stakingContract,
    uint256[] calldata tokenIds
) external override validUserId(userId) validWalletId(walletId) onlyAdmin;

requestPowerPassClaim

function requestPowerPassClaim(
    uint256 userId,
    uint256 walletId,
    address stakingContract,
    uint256 amount
)
    external
    override
    validUserId(userId)
    validWalletId(walletId)
    onlyAdmin
    returns (uint256 requestId);

claimPowerPassReward

function claimPowerPassReward(
    uint256 userId,
    uint256 walletId,
    address stakingContract,
    uint256 requestId
) external override validUserId(userId) validWalletId(walletId) onlyAdmin;

claimAllApprovedPowerPassRewards

function claimAllApprovedPowerPassRewards(
    uint256 userId,
    uint256 walletId,
    address stakingContract
) external override validUserId(userId) validWalletId(walletId) onlyAdmin;

directClaimPowerPassReward

function directClaimPowerPassReward(
    uint256 userId,
    uint256 walletId,
    address stakingContract,
    uint256 amount
) external override validUserId(userId) validWalletId(walletId) onlyAdmin;

Events

WalletCreated

event WalletCreated(
    uint256 indexed userId, uint256 indexed walletId, address indexed walletAddr
);

TokensDeposited

event TokensDeposited(address indexed to, uint256 indexed amount, address token);

TokensWithdrawn

event TokensWithdrawn(
    address indexed from, address indexed to, uint256 indexed amount, address token
);

TokensTransferred

event TokensTransferred(
    address indexed from, address indexed to, uint256 indexed amount, address token
);

PowerPassMinted

event PowerPassMinted(address indexed to, uint256 indexed tokenId, address powerPassContract);

PowerPassTransferred

event PowerPassTransferred(
    address indexed from, address indexed to, uint256 indexed tokenId, address powerPassContract
);

PowerPassBurned

event PowerPassBurned(uint256 indexed tokenId, address powerPassContract);