As part of #8426, add a new index for scheduled transactions.
This will require implementations for:
- Storage
- Indexer
- Backend
- REST api
- GRPC api
Scheduled transactions are transactions that are scheduled to be executed at a future time.
They are created by the FlowTransactionScheduler system contract.
Scheduled transactions should be derived from events emitted by the FlowTransactionScheduler system contract.
There are existing indexes for looking up the transaction result of executed scheduled transactions. We will need to add an additional index for the actual scheduled transaction data (id, priority, timestamp, etc.)
Expected endpoints:
GET /experimental/v1/scheduled - list all scheduled transactions
GET /experimental/v1/scheduled/transaction/{id} - get a scheduled transaction by id
GET /experimental/v1/scheduled/account/{address} - list all scheduled transactions for an account
This means we will need storage indexes to support querying by id, and by address. For address, we will use the transaction handler owner address.
Using the authorizer from the tx that scheduled the transaction isn't meaningful since tx can be scheduled by other scheduled transactions, and these are all authorized by the scheduled executor account.
As part of #8426, add a new index for scheduled transactions.
This will require implementations for:
Scheduled transactions are transactions that are scheduled to be executed at a future time.
They are created by the
FlowTransactionSchedulersystem contract.Scheduled transactions should be derived from events emitted by the
FlowTransactionSchedulersystem contract.There are existing indexes for looking up the transaction result of executed scheduled transactions. We will need to add an additional index for the actual scheduled transaction data (id, priority, timestamp, etc.)
Expected endpoints:
GET /experimental/v1/scheduled- list all scheduled transactionsGET /experimental/v1/scheduled/transaction/{id}- get a scheduled transaction by idGET /experimental/v1/scheduled/account/{address}- list all scheduled transactions for an accountThis means we will need storage indexes to support querying by id, and by address. For address, we will use the transaction handler owner address.
Using the authorizer from the tx that scheduled the transaction isn't meaningful since tx can be scheduled by other scheduled transactions, and these are all authorized by the scheduled executor account.