Trait frame_support::traits::OffchainWorker
source · [−]pub trait OffchainWorker<BlockNumber> {
fn offchain_worker(_n: BlockNumber) { ... }
}
Expand description
Off-chain computation trait.
Implementing this trait on a module allows you to perform long-running tasks that make (by default) validators generate transactions that feed results of those long-running computations back on chain.
NOTE: This function runs off-chain, so it can access the block state, but cannot preform any alterations. More specifically alterations are not forbidden, but they are not persisted in any way after the worker has finished.
Provided methods
fn offchain_worker(_n: BlockNumber)
fn offchain_worker(_n: BlockNumber)
This function is being called after every block import (when fully synced).
Implement this and use any of the Offchain
sp_io
set of APIs
to perform off-chain computations, calls and submit transactions
with results to trigger any on-chain changes.
Any state alterations are lost and are not persisted.
Implementations on Foreign Types
This function is being called after every block import (when fully synced).
Implement this and use any of the Offchain
sp_io
set of APIs
to perform off-chain computations, calls and submit transactions
with results to trigger any on-chain changes.
Any state alterations are lost and are not persisted.
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0,) where
BlockNumber: Clone,
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0,) where
BlockNumber: Clone,
This function is being called after every block import (when fully synced).
Implement this and use any of the Offchain
sp_io
set of APIs
to perform off-chain computations, calls and submit transactions
with results to trigger any on-chain changes.
Any state alterations are lost and are not persisted.
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1) where
BlockNumber: Clone,
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1) where
BlockNumber: Clone,
This function is being called after every block import (when fully synced).
Implement this and use any of the Offchain
sp_io
set of APIs
to perform off-chain computations, calls and submit transactions
with results to trigger any on-chain changes.
Any state alterations are lost and are not persisted.
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2) where
BlockNumber: Clone,
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2) where
BlockNumber: Clone,
This function is being called after every block import (when fully synced).
Implement this and use any of the Offchain
sp_io
set of APIs
to perform off-chain computations, calls and submit transactions
with results to trigger any on-chain changes.
Any state alterations are lost and are not persisted.
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3) where
BlockNumber: Clone,
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3) where
BlockNumber: Clone,
This function is being called after every block import (when fully synced).
Implement this and use any of the Offchain
sp_io
set of APIs
to perform off-chain computations, calls and submit transactions
with results to trigger any on-chain changes.
Any state alterations are lost and are not persisted.
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4) where
BlockNumber: Clone,
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4) where
BlockNumber: Clone,
This function is being called after every block import (when fully synced).
Implement this and use any of the Offchain
sp_io
set of APIs
to perform off-chain computations, calls and submit transactions
with results to trigger any on-chain changes.
Any state alterations are lost and are not persisted.
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5) where
BlockNumber: Clone,
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5) where
BlockNumber: Clone,
This function is being called after every block import (when fully synced).
Implement this and use any of the Offchain
sp_io
set of APIs
to perform off-chain computations, calls and submit transactions
with results to trigger any on-chain changes.
Any state alterations are lost and are not persisted.
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6) where
BlockNumber: Clone,
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6) where
BlockNumber: Clone,
This function is being called after every block import (when fully synced).
Implement this and use any of the Offchain
sp_io
set of APIs
to perform off-chain computations, calls and submit transactions
with results to trigger any on-chain changes.
Any state alterations are lost and are not persisted.
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7) where
BlockNumber: Clone,
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7) where
BlockNumber: Clone,
This function is being called after every block import (when fully synced).
Implement this and use any of the Offchain
sp_io
set of APIs
to perform off-chain computations, calls and submit transactions
with results to trigger any on-chain changes.
Any state alterations are lost and are not persisted.
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8) where
BlockNumber: Clone,
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8) where
BlockNumber: Clone,
This function is being called after every block import (when fully synced).
Implement this and use any of the Offchain
sp_io
set of APIs
to perform off-chain computations, calls and submit transactions
with results to trigger any on-chain changes.
Any state alterations are lost and are not persisted.
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9) where
BlockNumber: Clone,
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9) where
BlockNumber: Clone,
This function is being called after every block import (when fully synced).
Implement this and use any of the Offchain
sp_io
set of APIs
to perform off-chain computations, calls and submit transactions
with results to trigger any on-chain changes.
Any state alterations are lost and are not persisted.
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10) where
BlockNumber: Clone,
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10) where
BlockNumber: Clone,
This function is being called after every block import (when fully synced).
Implement this and use any of the Offchain
sp_io
set of APIs
to perform off-chain computations, calls and submit transactions
with results to trigger any on-chain changes.
Any state alterations are lost and are not persisted.
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11) where
BlockNumber: Clone,
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11) where
BlockNumber: Clone,
This function is being called after every block import (when fully synced).
Implement this and use any of the Offchain
sp_io
set of APIs
to perform off-chain computations, calls and submit transactions
with results to trigger any on-chain changes.
Any state alterations are lost and are not persisted.
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12) where
BlockNumber: Clone,
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12) where
BlockNumber: Clone,
This function is being called after every block import (when fully synced).
Implement this and use any of the Offchain
sp_io
set of APIs
to perform off-chain computations, calls and submit transactions
with results to trigger any on-chain changes.
Any state alterations are lost and are not persisted.
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>, TupleElement13: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13) where
BlockNumber: Clone,
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>, TupleElement13: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13) where
BlockNumber: Clone,
This function is being called after every block import (when fully synced).
Implement this and use any of the Offchain
sp_io
set of APIs
to perform off-chain computations, calls and submit transactions
with results to trigger any on-chain changes.
Any state alterations are lost and are not persisted.
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>, TupleElement13: OffchainWorker<BlockNumber>, TupleElement14: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14) where
BlockNumber: Clone,
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>, TupleElement13: OffchainWorker<BlockNumber>, TupleElement14: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14) where
BlockNumber: Clone,
This function is being called after every block import (when fully synced).
Implement this and use any of the Offchain
sp_io
set of APIs
to perform off-chain computations, calls and submit transactions
with results to trigger any on-chain changes.
Any state alterations are lost and are not persisted.
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>, TupleElement13: OffchainWorker<BlockNumber>, TupleElement14: OffchainWorker<BlockNumber>, TupleElement15: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15) where
BlockNumber: Clone,
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>, TupleElement13: OffchainWorker<BlockNumber>, TupleElement14: OffchainWorker<BlockNumber>, TupleElement15: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15) where
BlockNumber: Clone,
This function is being called after every block import (when fully synced).
Implement this and use any of the Offchain
sp_io
set of APIs
to perform off-chain computations, calls and submit transactions
with results to trigger any on-chain changes.
Any state alterations are lost and are not persisted.
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>, TupleElement13: OffchainWorker<BlockNumber>, TupleElement14: OffchainWorker<BlockNumber>, TupleElement15: OffchainWorker<BlockNumber>, TupleElement16: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16) where
BlockNumber: Clone,
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>, TupleElement13: OffchainWorker<BlockNumber>, TupleElement14: OffchainWorker<BlockNumber>, TupleElement15: OffchainWorker<BlockNumber>, TupleElement16: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16) where
BlockNumber: Clone,
This function is being called after every block import (when fully synced).
Implement this and use any of the Offchain
sp_io
set of APIs
to perform off-chain computations, calls and submit transactions
with results to trigger any on-chain changes.
Any state alterations are lost and are not persisted.
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>, TupleElement13: OffchainWorker<BlockNumber>, TupleElement14: OffchainWorker<BlockNumber>, TupleElement15: OffchainWorker<BlockNumber>, TupleElement16: OffchainWorker<BlockNumber>, TupleElement17: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17) where
BlockNumber: Clone,
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>, TupleElement13: OffchainWorker<BlockNumber>, TupleElement14: OffchainWorker<BlockNumber>, TupleElement15: OffchainWorker<BlockNumber>, TupleElement16: OffchainWorker<BlockNumber>, TupleElement17: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17) where
BlockNumber: Clone,
This function is being called after every block import (when fully synced).
Implement this and use any of the Offchain
sp_io
set of APIs
to perform off-chain computations, calls and submit transactions
with results to trigger any on-chain changes.
Any state alterations are lost and are not persisted.
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>, TupleElement13: OffchainWorker<BlockNumber>, TupleElement14: OffchainWorker<BlockNumber>, TupleElement15: OffchainWorker<BlockNumber>, TupleElement16: OffchainWorker<BlockNumber>, TupleElement17: OffchainWorker<BlockNumber>, TupleElement18: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18) where
BlockNumber: Clone,
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>, TupleElement13: OffchainWorker<BlockNumber>, TupleElement14: OffchainWorker<BlockNumber>, TupleElement15: OffchainWorker<BlockNumber>, TupleElement16: OffchainWorker<BlockNumber>, TupleElement17: OffchainWorker<BlockNumber>, TupleElement18: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18) where
BlockNumber: Clone,
This function is being called after every block import (when fully synced).
Implement this and use any of the Offchain
sp_io
set of APIs
to perform off-chain computations, calls and submit transactions
with results to trigger any on-chain changes.
Any state alterations are lost and are not persisted.
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>, TupleElement13: OffchainWorker<BlockNumber>, TupleElement14: OffchainWorker<BlockNumber>, TupleElement15: OffchainWorker<BlockNumber>, TupleElement16: OffchainWorker<BlockNumber>, TupleElement17: OffchainWorker<BlockNumber>, TupleElement18: OffchainWorker<BlockNumber>, TupleElement19: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19) where
BlockNumber: Clone,
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>, TupleElement13: OffchainWorker<BlockNumber>, TupleElement14: OffchainWorker<BlockNumber>, TupleElement15: OffchainWorker<BlockNumber>, TupleElement16: OffchainWorker<BlockNumber>, TupleElement17: OffchainWorker<BlockNumber>, TupleElement18: OffchainWorker<BlockNumber>, TupleElement19: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19) where
BlockNumber: Clone,
This function is being called after every block import (when fully synced).
Implement this and use any of the Offchain
sp_io
set of APIs
to perform off-chain computations, calls and submit transactions
with results to trigger any on-chain changes.
Any state alterations are lost and are not persisted.
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>, TupleElement13: OffchainWorker<BlockNumber>, TupleElement14: OffchainWorker<BlockNumber>, TupleElement15: OffchainWorker<BlockNumber>, TupleElement16: OffchainWorker<BlockNumber>, TupleElement17: OffchainWorker<BlockNumber>, TupleElement18: OffchainWorker<BlockNumber>, TupleElement19: OffchainWorker<BlockNumber>, TupleElement20: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20) where
BlockNumber: Clone,
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>, TupleElement13: OffchainWorker<BlockNumber>, TupleElement14: OffchainWorker<BlockNumber>, TupleElement15: OffchainWorker<BlockNumber>, TupleElement16: OffchainWorker<BlockNumber>, TupleElement17: OffchainWorker<BlockNumber>, TupleElement18: OffchainWorker<BlockNumber>, TupleElement19: OffchainWorker<BlockNumber>, TupleElement20: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20) where
BlockNumber: Clone,
This function is being called after every block import (when fully synced).
Implement this and use any of the Offchain
sp_io
set of APIs
to perform off-chain computations, calls and submit transactions
with results to trigger any on-chain changes.
Any state alterations are lost and are not persisted.
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>, TupleElement13: OffchainWorker<BlockNumber>, TupleElement14: OffchainWorker<BlockNumber>, TupleElement15: OffchainWorker<BlockNumber>, TupleElement16: OffchainWorker<BlockNumber>, TupleElement17: OffchainWorker<BlockNumber>, TupleElement18: OffchainWorker<BlockNumber>, TupleElement19: OffchainWorker<BlockNumber>, TupleElement20: OffchainWorker<BlockNumber>, TupleElement21: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21) where
BlockNumber: Clone,
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>, TupleElement13: OffchainWorker<BlockNumber>, TupleElement14: OffchainWorker<BlockNumber>, TupleElement15: OffchainWorker<BlockNumber>, TupleElement16: OffchainWorker<BlockNumber>, TupleElement17: OffchainWorker<BlockNumber>, TupleElement18: OffchainWorker<BlockNumber>, TupleElement19: OffchainWorker<BlockNumber>, TupleElement20: OffchainWorker<BlockNumber>, TupleElement21: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21) where
BlockNumber: Clone,
This function is being called after every block import (when fully synced).
Implement this and use any of the Offchain
sp_io
set of APIs
to perform off-chain computations, calls and submit transactions
with results to trigger any on-chain changes.
Any state alterations are lost and are not persisted.
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>, TupleElement13: OffchainWorker<BlockNumber>, TupleElement14: OffchainWorker<BlockNumber>, TupleElement15: OffchainWorker<BlockNumber>, TupleElement16: OffchainWorker<BlockNumber>, TupleElement17: OffchainWorker<BlockNumber>, TupleElement18: OffchainWorker<BlockNumber>, TupleElement19: OffchainWorker<BlockNumber>, TupleElement20: OffchainWorker<BlockNumber>, TupleElement21: OffchainWorker<BlockNumber>, TupleElement22: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22) where
BlockNumber: Clone,
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>, TupleElement13: OffchainWorker<BlockNumber>, TupleElement14: OffchainWorker<BlockNumber>, TupleElement15: OffchainWorker<BlockNumber>, TupleElement16: OffchainWorker<BlockNumber>, TupleElement17: OffchainWorker<BlockNumber>, TupleElement18: OffchainWorker<BlockNumber>, TupleElement19: OffchainWorker<BlockNumber>, TupleElement20: OffchainWorker<BlockNumber>, TupleElement21: OffchainWorker<BlockNumber>, TupleElement22: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22) where
BlockNumber: Clone,
This function is being called after every block import (when fully synced).
Implement this and use any of the Offchain
sp_io
set of APIs
to perform off-chain computations, calls and submit transactions
with results to trigger any on-chain changes.
Any state alterations are lost and are not persisted.
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>, TupleElement13: OffchainWorker<BlockNumber>, TupleElement14: OffchainWorker<BlockNumber>, TupleElement15: OffchainWorker<BlockNumber>, TupleElement16: OffchainWorker<BlockNumber>, TupleElement17: OffchainWorker<BlockNumber>, TupleElement18: OffchainWorker<BlockNumber>, TupleElement19: OffchainWorker<BlockNumber>, TupleElement20: OffchainWorker<BlockNumber>, TupleElement21: OffchainWorker<BlockNumber>, TupleElement22: OffchainWorker<BlockNumber>, TupleElement23: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23) where
BlockNumber: Clone,
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>, TupleElement13: OffchainWorker<BlockNumber>, TupleElement14: OffchainWorker<BlockNumber>, TupleElement15: OffchainWorker<BlockNumber>, TupleElement16: OffchainWorker<BlockNumber>, TupleElement17: OffchainWorker<BlockNumber>, TupleElement18: OffchainWorker<BlockNumber>, TupleElement19: OffchainWorker<BlockNumber>, TupleElement20: OffchainWorker<BlockNumber>, TupleElement21: OffchainWorker<BlockNumber>, TupleElement22: OffchainWorker<BlockNumber>, TupleElement23: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23) where
BlockNumber: Clone,
This function is being called after every block import (when fully synced).
Implement this and use any of the Offchain
sp_io
set of APIs
to perform off-chain computations, calls and submit transactions
with results to trigger any on-chain changes.
Any state alterations are lost and are not persisted.
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>, TupleElement13: OffchainWorker<BlockNumber>, TupleElement14: OffchainWorker<BlockNumber>, TupleElement15: OffchainWorker<BlockNumber>, TupleElement16: OffchainWorker<BlockNumber>, TupleElement17: OffchainWorker<BlockNumber>, TupleElement18: OffchainWorker<BlockNumber>, TupleElement19: OffchainWorker<BlockNumber>, TupleElement20: OffchainWorker<BlockNumber>, TupleElement21: OffchainWorker<BlockNumber>, TupleElement22: OffchainWorker<BlockNumber>, TupleElement23: OffchainWorker<BlockNumber>, TupleElement24: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24) where
BlockNumber: Clone,
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>, TupleElement13: OffchainWorker<BlockNumber>, TupleElement14: OffchainWorker<BlockNumber>, TupleElement15: OffchainWorker<BlockNumber>, TupleElement16: OffchainWorker<BlockNumber>, TupleElement17: OffchainWorker<BlockNumber>, TupleElement18: OffchainWorker<BlockNumber>, TupleElement19: OffchainWorker<BlockNumber>, TupleElement20: OffchainWorker<BlockNumber>, TupleElement21: OffchainWorker<BlockNumber>, TupleElement22: OffchainWorker<BlockNumber>, TupleElement23: OffchainWorker<BlockNumber>, TupleElement24: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24) where
BlockNumber: Clone,
This function is being called after every block import (when fully synced).
Implement this and use any of the Offchain
sp_io
set of APIs
to perform off-chain computations, calls and submit transactions
with results to trigger any on-chain changes.
Any state alterations are lost and are not persisted.
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>, TupleElement13: OffchainWorker<BlockNumber>, TupleElement14: OffchainWorker<BlockNumber>, TupleElement15: OffchainWorker<BlockNumber>, TupleElement16: OffchainWorker<BlockNumber>, TupleElement17: OffchainWorker<BlockNumber>, TupleElement18: OffchainWorker<BlockNumber>, TupleElement19: OffchainWorker<BlockNumber>, TupleElement20: OffchainWorker<BlockNumber>, TupleElement21: OffchainWorker<BlockNumber>, TupleElement22: OffchainWorker<BlockNumber>, TupleElement23: OffchainWorker<BlockNumber>, TupleElement24: OffchainWorker<BlockNumber>, TupleElement25: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24, TupleElement25) where
BlockNumber: Clone,
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>, TupleElement13: OffchainWorker<BlockNumber>, TupleElement14: OffchainWorker<BlockNumber>, TupleElement15: OffchainWorker<BlockNumber>, TupleElement16: OffchainWorker<BlockNumber>, TupleElement17: OffchainWorker<BlockNumber>, TupleElement18: OffchainWorker<BlockNumber>, TupleElement19: OffchainWorker<BlockNumber>, TupleElement20: OffchainWorker<BlockNumber>, TupleElement21: OffchainWorker<BlockNumber>, TupleElement22: OffchainWorker<BlockNumber>, TupleElement23: OffchainWorker<BlockNumber>, TupleElement24: OffchainWorker<BlockNumber>, TupleElement25: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24, TupleElement25) where
BlockNumber: Clone,
This function is being called after every block import (when fully synced).
Implement this and use any of the Offchain
sp_io
set of APIs
to perform off-chain computations, calls and submit transactions
with results to trigger any on-chain changes.
Any state alterations are lost and are not persisted.
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>, TupleElement13: OffchainWorker<BlockNumber>, TupleElement14: OffchainWorker<BlockNumber>, TupleElement15: OffchainWorker<BlockNumber>, TupleElement16: OffchainWorker<BlockNumber>, TupleElement17: OffchainWorker<BlockNumber>, TupleElement18: OffchainWorker<BlockNumber>, TupleElement19: OffchainWorker<BlockNumber>, TupleElement20: OffchainWorker<BlockNumber>, TupleElement21: OffchainWorker<BlockNumber>, TupleElement22: OffchainWorker<BlockNumber>, TupleElement23: OffchainWorker<BlockNumber>, TupleElement24: OffchainWorker<BlockNumber>, TupleElement25: OffchainWorker<BlockNumber>, TupleElement26: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24, TupleElement25, TupleElement26) where
BlockNumber: Clone,
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>, TupleElement13: OffchainWorker<BlockNumber>, TupleElement14: OffchainWorker<BlockNumber>, TupleElement15: OffchainWorker<BlockNumber>, TupleElement16: OffchainWorker<BlockNumber>, TupleElement17: OffchainWorker<BlockNumber>, TupleElement18: OffchainWorker<BlockNumber>, TupleElement19: OffchainWorker<BlockNumber>, TupleElement20: OffchainWorker<BlockNumber>, TupleElement21: OffchainWorker<BlockNumber>, TupleElement22: OffchainWorker<BlockNumber>, TupleElement23: OffchainWorker<BlockNumber>, TupleElement24: OffchainWorker<BlockNumber>, TupleElement25: OffchainWorker<BlockNumber>, TupleElement26: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24, TupleElement25, TupleElement26) where
BlockNumber: Clone,
This function is being called after every block import (when fully synced).
Implement this and use any of the Offchain
sp_io
set of APIs
to perform off-chain computations, calls and submit transactions
with results to trigger any on-chain changes.
Any state alterations are lost and are not persisted.
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>, TupleElement13: OffchainWorker<BlockNumber>, TupleElement14: OffchainWorker<BlockNumber>, TupleElement15: OffchainWorker<BlockNumber>, TupleElement16: OffchainWorker<BlockNumber>, TupleElement17: OffchainWorker<BlockNumber>, TupleElement18: OffchainWorker<BlockNumber>, TupleElement19: OffchainWorker<BlockNumber>, TupleElement20: OffchainWorker<BlockNumber>, TupleElement21: OffchainWorker<BlockNumber>, TupleElement22: OffchainWorker<BlockNumber>, TupleElement23: OffchainWorker<BlockNumber>, TupleElement24: OffchainWorker<BlockNumber>, TupleElement25: OffchainWorker<BlockNumber>, TupleElement26: OffchainWorker<BlockNumber>, TupleElement27: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24, TupleElement25, TupleElement26, TupleElement27) where
BlockNumber: Clone,
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>, TupleElement13: OffchainWorker<BlockNumber>, TupleElement14: OffchainWorker<BlockNumber>, TupleElement15: OffchainWorker<BlockNumber>, TupleElement16: OffchainWorker<BlockNumber>, TupleElement17: OffchainWorker<BlockNumber>, TupleElement18: OffchainWorker<BlockNumber>, TupleElement19: OffchainWorker<BlockNumber>, TupleElement20: OffchainWorker<BlockNumber>, TupleElement21: OffchainWorker<BlockNumber>, TupleElement22: OffchainWorker<BlockNumber>, TupleElement23: OffchainWorker<BlockNumber>, TupleElement24: OffchainWorker<BlockNumber>, TupleElement25: OffchainWorker<BlockNumber>, TupleElement26: OffchainWorker<BlockNumber>, TupleElement27: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24, TupleElement25, TupleElement26, TupleElement27) where
BlockNumber: Clone,
This function is being called after every block import (when fully synced).
Implement this and use any of the Offchain
sp_io
set of APIs
to perform off-chain computations, calls and submit transactions
with results to trigger any on-chain changes.
Any state alterations are lost and are not persisted.
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>, TupleElement13: OffchainWorker<BlockNumber>, TupleElement14: OffchainWorker<BlockNumber>, TupleElement15: OffchainWorker<BlockNumber>, TupleElement16: OffchainWorker<BlockNumber>, TupleElement17: OffchainWorker<BlockNumber>, TupleElement18: OffchainWorker<BlockNumber>, TupleElement19: OffchainWorker<BlockNumber>, TupleElement20: OffchainWorker<BlockNumber>, TupleElement21: OffchainWorker<BlockNumber>, TupleElement22: OffchainWorker<BlockNumber>, TupleElement23: OffchainWorker<BlockNumber>, TupleElement24: OffchainWorker<BlockNumber>, TupleElement25: OffchainWorker<BlockNumber>, TupleElement26: OffchainWorker<BlockNumber>, TupleElement27: OffchainWorker<BlockNumber>, TupleElement28: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24, TupleElement25, TupleElement26, TupleElement27, TupleElement28) where
BlockNumber: Clone,
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>, TupleElement13: OffchainWorker<BlockNumber>, TupleElement14: OffchainWorker<BlockNumber>, TupleElement15: OffchainWorker<BlockNumber>, TupleElement16: OffchainWorker<BlockNumber>, TupleElement17: OffchainWorker<BlockNumber>, TupleElement18: OffchainWorker<BlockNumber>, TupleElement19: OffchainWorker<BlockNumber>, TupleElement20: OffchainWorker<BlockNumber>, TupleElement21: OffchainWorker<BlockNumber>, TupleElement22: OffchainWorker<BlockNumber>, TupleElement23: OffchainWorker<BlockNumber>, TupleElement24: OffchainWorker<BlockNumber>, TupleElement25: OffchainWorker<BlockNumber>, TupleElement26: OffchainWorker<BlockNumber>, TupleElement27: OffchainWorker<BlockNumber>, TupleElement28: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24, TupleElement25, TupleElement26, TupleElement27, TupleElement28) where
BlockNumber: Clone,
This function is being called after every block import (when fully synced).
Implement this and use any of the Offchain
sp_io
set of APIs
to perform off-chain computations, calls and submit transactions
with results to trigger any on-chain changes.
Any state alterations are lost and are not persisted.
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>, TupleElement13: OffchainWorker<BlockNumber>, TupleElement14: OffchainWorker<BlockNumber>, TupleElement15: OffchainWorker<BlockNumber>, TupleElement16: OffchainWorker<BlockNumber>, TupleElement17: OffchainWorker<BlockNumber>, TupleElement18: OffchainWorker<BlockNumber>, TupleElement19: OffchainWorker<BlockNumber>, TupleElement20: OffchainWorker<BlockNumber>, TupleElement21: OffchainWorker<BlockNumber>, TupleElement22: OffchainWorker<BlockNumber>, TupleElement23: OffchainWorker<BlockNumber>, TupleElement24: OffchainWorker<BlockNumber>, TupleElement25: OffchainWorker<BlockNumber>, TupleElement26: OffchainWorker<BlockNumber>, TupleElement27: OffchainWorker<BlockNumber>, TupleElement28: OffchainWorker<BlockNumber>, TupleElement29: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24, TupleElement25, TupleElement26, TupleElement27, TupleElement28, TupleElement29) where
BlockNumber: Clone,
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, TupleElement8: OffchainWorker<BlockNumber>, TupleElement9: OffchainWorker<BlockNumber>, TupleElement10: OffchainWorker<BlockNumber>, TupleElement11: OffchainWorker<BlockNumber>, TupleElement12: OffchainWorker<BlockNumber>, TupleElement13: OffchainWorker<BlockNumber>, TupleElement14: OffchainWorker<BlockNumber>, TupleElement15: OffchainWorker<BlockNumber>, TupleElement16: OffchainWorker<BlockNumber>, TupleElement17: OffchainWorker<BlockNumber>, TupleElement18: OffchainWorker<BlockNumber>, TupleElement19: OffchainWorker<BlockNumber>, TupleElement20: OffchainWorker<BlockNumber>, TupleElement21: OffchainWorker<BlockNumber>, TupleElement22: OffchainWorker<BlockNumber>, TupleElement23: OffchainWorker<BlockNumber>, TupleElement24: OffchainWorker<BlockNumber>, TupleElement25: OffchainWorker<BlockNumber>, TupleElement26: OffchainWorker<BlockNumber>, TupleElement27: OffchainWorker<BlockNumber>, TupleElement28: OffchainWorker<BlockNumber>, TupleElement29: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24, TupleElement25, TupleElement26, TupleElement27, TupleElement28, TupleElement29) where
BlockNumber: Clone,
This function is being called after every block import (when fully synced).
Implement this and use any of the Offchain
sp_io
set of APIs
to perform off-chain computations, calls and submit transactions
with results to trigger any on-chain changes.
Any state alterations are lost and are not persisted.