BBSubscriptions
For each ERC20 token accepted by the protocol, there is a corresponding BBSubscriptions contract.
Functions
subscribe
Create a subscription to a Profile at a specific Tier.
Parameters
Name | Type | Description |
---|---|---|
profileId | uint256 | Profile to create a subscription to |
tierId | uint256 | Subscription Tier to subscribe to. |
Return Values
Name | Type | Description |
---|---|---|
subscriptionId | uint256 | The ID of the newly created subscription |
unsubscribe
Unsubscribe from a Profile
Name | Type | Description |
---|---|---|
profileId | uint256 | Profile to unsubscribe from |
tierId | uint256 | Tier to unsubscribe from |
checkUpkeep
Generate input for performUpkeep
Parameters
Name | Type | Description |
---|---|---|
checkData | bytes | api.encoded input |
checkData Structure
Name | Type | Description |
---|---|---|
lowerBound | uint256 | Starting subscriptionId to check for renewal |
upperBoard | uint256 | Ending subscriptionId to check for renewal |
minRenews | uint256 | Minimum number of renewals to find |
maxRenews | uint256 | Maximum number of renewals to find |
refundReceiver | address | Account to receive the gas refund from performUpkeep. |
Return Values
Name | Type | Description |
---|---|---|
upkeepNeeded | bool | Returns true if the number of subscriptions to renew is greater than minRenews. |
performData | bytes | Data to pass thru to performUpkeep if upkeepNeeded is true. |
performData Structure
Name | Type | Description |
---|---|---|
renewIndexes | uint256[] | Subscription IDs to renew |
refundReceiver | address | Account to send gas refund to |
performUpkeep
PerformUpkeep is a standard AutomationCompatibleInterface
function. Input can be automatically generated by the checkUpkeep() function or manually built.
Parameters
Name | Type | Description |
---|---|---|
renewalData | bytes | abi.encoded parameters |
RenewalData Structure
Name | Type | Description |
---|---|---|
renewIndexes | uint256[] | Subscriber IDs to renew |
refundReceiver | address | Address to send gas refund to |
withdrawToTreasury
Sends the ERC20 token balance the instance of BBSubscriptions handles to the treasury of the BBSubscriptionsFactory.
getSubscriptionFromProfile
Get the subscription data on an account for a given profile and tier.
Parameters
Name | Type | Description |
---|---|---|
profileId | uint256 | Profile to look at |
tierId | uint256 | Tier to look at |
subscriber | address | Account to look for |
Return Values
Name | Type | Description |
---|---|---|
subscriptionId | uint256 | Subscription ID |
price | uint256 | Monthly price of subscription |
expiration | uint256 | Unix timestamp of the when the subscription will expire |
cancelled | bool | Whether or not the subscription is cancelled |
getSubscriptionFromId
Get the details of a subscription based on an ID.
Parameters
Name | Type | Description |
---|---|---|
subscriptionId | uint256 | ID of the subscription to return |
Return Values
Name | Type | Description |
---|---|---|
profileId | uint256 | ID of the profile |
tierId | uint256 | ID of the subscription tier |
subscriber | address | Address of the subscriber |
price | uint256 | Monthly price of subscription |
expiration | uint256 | Unix timestamp of the when the subscription will expire |
cancelled | bool | Whether or not the subscription is cancelled |
Last updated