constructor(_pool, _soulboundToken, _incentivesController)
Sets the Aave IPool, the ISoulboundToken contract, and the incentives controller addresses.
Function
ADMIN_ROLE() → bytes32 (view)
Returns the identifier for the admin role.
DEFAULT_ADMIN_ROLE() → bytes32 (view)
Returns the identifier for the default admin role (manages other roles).
OPERATOR_ROLE() → bytes32 (view)
Returns the identifier for the operator role.
batchSyncUserBalance(ops: {asset, accounts[]}[]) (nonpayable)
Bulk syncs user balances for multiple assets and account lists. Likely emits BatchBalanceSynced and/or BalanceSynced per item.
createVirtualRewardTrackingToken(asset) → address (nonpayable)
Deploys or initializes an IVirtualRewardTrackingToken for a specific asset and returns its address. Emits VirtualRewardTrackingTokenCreated on success.
getRoleAdmin(role) → bytes32 (view)
Returns the admin role that controls role.
grantAdmin(newAdmin) (nonpayable)
Convenience method to grant admin privileges to newAdmin (internally equivalent to grantRole(DEFAULT_ADMIN_ROLE, newAdmin)).
grantOperator(newOperator) (nonpayable)
Convenience method to grant operator privileges to newOperator (like grantRole(OPERATOR_ROLE, newOperator)).
grantRole(role, account) (nonpayable)
Grants role to account. Emits RoleGranted. Access-controlled by the role’s admin.
incentivesController() → address (view)
Returns the IAaveIncentivesController address currently configured.
isAdmin(admin) → bool (view)
True if admin has administrative privileges.
isOperator(guardian) → bool (view)
True if guardian has operator privileges.
isSubscriptionAllowed(asset) → bool (view)
Returns whether actions (e.g., supplying/trackers) are currently allowed for asset.
overrideUserBalance(asset, account, newBalance) (nonpayable)
Force-sets a user’s tracked balance for an asset. Intended for admin/operator maintenance; emits BalanceOverridden.
pool() → address (view)
Returns the IPool (Aave pool) address used by this contract.
renounceRole(role, callerConfirmation) (nonpayable)
Caller gives up role, with an extra callerConfirmation address parameter (safety confirmation). Emits RoleRevoked.
revokeRole(role, account) (nonpayable)
Revokes role from account. Emits RoleRevoked. Only callable by the role’s admin.
setIncentivesController(controller) (nonpayable)
Updates the incentives controller address. Emits IncentivesControllerUpdated.
setSoulboundToken(newToken) (nonpayable)
Updates the ISoulboundToken contract reference. Emits SoulboundTokenUpdated.
setSubscriptionAllowed(asset, allowed) (nonpayable)
Toggles whether asset is allowed for subscription/supply tracking. Emits SubscriptionAllowedUpdated.
setTrackingTokenImpl(_trackingTokenImpl) (nonpayable)
Sets the implementation address used when creating virtual reward tracking tokens.
soulboundToken() → address (view)
Returns the current ISoulboundToken address.
supply(asset, amount, onBehalfOf, referralCode) (nonpayable)
Supplies amount of asset into the underlying pool (likely Aave), crediting onBehalfOf. May integrate with incentives and tracking; emits Supply.
supportsInterface(interfaceId) → bool (view)
ERC-165 support check for interface detection.
syncUserBalance(asset, account) (nonpayable)
Syncs/refreshes a single user’s tracked balance for an asset to match the underlying state. Emits BalanceSynced.
trackingTokenImpl() → address (view)
Returns the current tracking-token implementation address used for clones/deployments.
virtualRewardTrackingTokens(asset) → address (view)
Returns the tracking token address associated with asset (if created).