Subscription Pool

Constructor

  • 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.

  • hasRole(role, account) → bool (view) Checks whether account holds role.

  • 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).

Last updated

Was this helpful?