SubscriptionConsumer
Git Source (opens in a new tab)
Inherits: BaseConsumer
Allows creating recurring subscriptions for off-chain container compute
Inherits BaseConsumer
to inherit functions to receive container compute responses
Functions
constructor
Initialize new SubscriptionConsumer
constructor(address coordinator) BaseConsumer(coordinator);
Parameters
Name | Type | Description |
---|---|---|
coordinator | address | coordinator address |
getContainerInputs
View function to broadcast dynamic container inputs to off-chain Infernet nodes
If Coordinator.subscription[id].inputs == bytes("")
, a off-chain node will call getContainerInputs()
to retrieve inputs. Develpers can modify this function to return dynamic inputs
function getContainerInputs(uint32 subscriptionId, uint32 interval, uint32 timestamp, address caller)
external
view
virtual
returns (bytes memory);
Parameters
Name | Type | Description |
---|---|---|
subscriptionId | uint32 | subscription ID to collect container inputs for |
interval | uint32 | subscription interval to collect container inputs for |
timestamp | uint32 | timestamp at which container inputs are collected |
caller | address | calling address |
_createComputeSubscription
Creates a recurring request for off-chain container compute via callback response
function _createComputeSubscription(
string memory containerId,
uint48 maxGasPrice,
uint32 maxGasLimit,
uint32 frequency,
uint32 period,
uint16 redundancy
) internal returns (uint32);
Parameters
Name | Type | Description |
---|---|---|
containerId | string | compute container identifier(s) used by off-chain Infernet node |
maxGasPrice | uint48 | max gas price in wei paid by Infernet node when fulfilling callback |
maxGasLimit | uint32 | max gas limit in wei paid by Infernet node in callback tx |
frequency | uint32 | max number of times to process subscription (i.e, frequency == 1 is a one-time request) |
period | uint32 | period, in seconds, at which to progress each responding interval |
redundancy | uint16 | number of unique responding Infernet nodes |
Returns
Name | Type | Description |
---|---|---|
<none> | uint32 | subscription ID of newly-created subscription |
_cancelComputeSubscription
Cancels a created subscription
Can only cancel owned subscriptions (address(this) == Coordinator.subscriptions[subscriptionId].owner
)
function _cancelComputeSubscription(uint32 subscriptionId) internal;
Parameters
Name | Type | Description |
---|---|---|
subscriptionId | uint32 | ID of subscription to cancel |