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§
sourcefn 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§
source§impl<BlockNumber> OffchainWorker<BlockNumber> for ()where
BlockNumber: Clone,
impl<BlockNumber> OffchainWorker<BlockNumber> for ()where
BlockNumber: Clone,
source§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.
source§impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0,)where
BlockNumber: Clone,
impl<BlockNumber, TupleElement0: OffchainWorker<BlockNumber>> OffchainWorker<BlockNumber> for (TupleElement0,)where
BlockNumber: Clone,
source§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.
source§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,
source§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.
source§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,
source§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.
source§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,
source§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.
source§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,
source§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.
source§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,
source§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.
source§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,
source§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.
source§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,
source§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.
source§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,
source§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.
source§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,
source§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.
source§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,
source§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.
source§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,
source§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.
source§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,
source§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.
source§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,
source§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.
source§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,
source§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.
source§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,
source§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.
source§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,
source§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.
source§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,
source§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.
source§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,
source§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.
source§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,
source§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.
source§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,
source§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.
source§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,
source§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.
source§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,
source§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.
source§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,
source§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.
source§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,
source§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.
source§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,
source§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.
source§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,
source§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.
source§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,
source§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.
source§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,
source§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.
source§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,
source§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.
source§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>, TupleElement30: 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, TupleElement30)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>, TupleElement30: 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, TupleElement30)where
BlockNumber: Clone,
source§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.
source§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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: 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, TupleElement30, TupleElement31)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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: 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, TupleElement30, TupleElement31)where
BlockNumber: Clone,
source§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.
source§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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: 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, TupleElement30, TupleElement31, TupleElement32)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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: 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, TupleElement30, TupleElement31, TupleElement32)where
BlockNumber: Clone,
source§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.
source§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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33)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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33)where
BlockNumber: Clone,
source§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.
source§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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34)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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34)where
BlockNumber: Clone,
source§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.
source§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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35)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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35)where
BlockNumber: Clone,
source§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.
source§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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36)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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36)where
BlockNumber: Clone,
source§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.
source§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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37)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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37)where
BlockNumber: Clone,
source§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.
source§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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38)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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38)where
BlockNumber: Clone,
source§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.
source§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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39)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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39)where
BlockNumber: Clone,
source§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.
source§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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40)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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40)where
BlockNumber: Clone,
source§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.
source§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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41)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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41)where
BlockNumber: Clone,
source§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.
source§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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42)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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42)where
BlockNumber: Clone,
source§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.
source§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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43)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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43)where
BlockNumber: Clone,
source§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.
source§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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44)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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44)where
BlockNumber: Clone,
source§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.
source§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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45)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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45)where
BlockNumber: Clone,
source§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.
source§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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46)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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46)where
BlockNumber: Clone,
source§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.
source§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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: OffchainWorker<BlockNumber>, TupleElement47: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46, TupleElement47)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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: OffchainWorker<BlockNumber>, TupleElement47: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46, TupleElement47)where
BlockNumber: Clone,
source§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.
source§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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: OffchainWorker<BlockNumber>, TupleElement47: OffchainWorker<BlockNumber>, TupleElement48: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46, TupleElement47, TupleElement48)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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: OffchainWorker<BlockNumber>, TupleElement47: OffchainWorker<BlockNumber>, TupleElement48: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46, TupleElement47, TupleElement48)where
BlockNumber: Clone,
source§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.
source§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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: OffchainWorker<BlockNumber>, TupleElement47: OffchainWorker<BlockNumber>, TupleElement48: OffchainWorker<BlockNumber>, TupleElement49: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46, TupleElement47, TupleElement48, TupleElement49)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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: OffchainWorker<BlockNumber>, TupleElement47: OffchainWorker<BlockNumber>, TupleElement48: OffchainWorker<BlockNumber>, TupleElement49: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46, TupleElement47, TupleElement48, TupleElement49)where
BlockNumber: Clone,
source§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.
source§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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: OffchainWorker<BlockNumber>, TupleElement47: OffchainWorker<BlockNumber>, TupleElement48: OffchainWorker<BlockNumber>, TupleElement49: OffchainWorker<BlockNumber>, TupleElement50: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46, TupleElement47, TupleElement48, TupleElement49, TupleElement50)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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: OffchainWorker<BlockNumber>, TupleElement47: OffchainWorker<BlockNumber>, TupleElement48: OffchainWorker<BlockNumber>, TupleElement49: OffchainWorker<BlockNumber>, TupleElement50: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46, TupleElement47, TupleElement48, TupleElement49, TupleElement50)where
BlockNumber: Clone,
source§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.
source§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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: OffchainWorker<BlockNumber>, TupleElement47: OffchainWorker<BlockNumber>, TupleElement48: OffchainWorker<BlockNumber>, TupleElement49: OffchainWorker<BlockNumber>, TupleElement50: OffchainWorker<BlockNumber>, TupleElement51: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46, TupleElement47, TupleElement48, TupleElement49, TupleElement50, TupleElement51)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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: OffchainWorker<BlockNumber>, TupleElement47: OffchainWorker<BlockNumber>, TupleElement48: OffchainWorker<BlockNumber>, TupleElement49: OffchainWorker<BlockNumber>, TupleElement50: OffchainWorker<BlockNumber>, TupleElement51: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46, TupleElement47, TupleElement48, TupleElement49, TupleElement50, TupleElement51)where
BlockNumber: Clone,
source§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.
source§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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: OffchainWorker<BlockNumber>, TupleElement47: OffchainWorker<BlockNumber>, TupleElement48: OffchainWorker<BlockNumber>, TupleElement49: OffchainWorker<BlockNumber>, TupleElement50: OffchainWorker<BlockNumber>, TupleElement51: OffchainWorker<BlockNumber>, TupleElement52: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46, TupleElement47, TupleElement48, TupleElement49, TupleElement50, TupleElement51, TupleElement52)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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: OffchainWorker<BlockNumber>, TupleElement47: OffchainWorker<BlockNumber>, TupleElement48: OffchainWorker<BlockNumber>, TupleElement49: OffchainWorker<BlockNumber>, TupleElement50: OffchainWorker<BlockNumber>, TupleElement51: OffchainWorker<BlockNumber>, TupleElement52: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46, TupleElement47, TupleElement48, TupleElement49, TupleElement50, TupleElement51, TupleElement52)where
BlockNumber: Clone,
source§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.
source§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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: OffchainWorker<BlockNumber>, TupleElement47: OffchainWorker<BlockNumber>, TupleElement48: OffchainWorker<BlockNumber>, TupleElement49: OffchainWorker<BlockNumber>, TupleElement50: OffchainWorker<BlockNumber>, TupleElement51: OffchainWorker<BlockNumber>, TupleElement52: OffchainWorker<BlockNumber>, TupleElement53: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46, TupleElement47, TupleElement48, TupleElement49, TupleElement50, TupleElement51, TupleElement52, TupleElement53)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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: OffchainWorker<BlockNumber>, TupleElement47: OffchainWorker<BlockNumber>, TupleElement48: OffchainWorker<BlockNumber>, TupleElement49: OffchainWorker<BlockNumber>, TupleElement50: OffchainWorker<BlockNumber>, TupleElement51: OffchainWorker<BlockNumber>, TupleElement52: OffchainWorker<BlockNumber>, TupleElement53: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46, TupleElement47, TupleElement48, TupleElement49, TupleElement50, TupleElement51, TupleElement52, TupleElement53)where
BlockNumber: Clone,
source§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.
source§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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: OffchainWorker<BlockNumber>, TupleElement47: OffchainWorker<BlockNumber>, TupleElement48: OffchainWorker<BlockNumber>, TupleElement49: OffchainWorker<BlockNumber>, TupleElement50: OffchainWorker<BlockNumber>, TupleElement51: OffchainWorker<BlockNumber>, TupleElement52: OffchainWorker<BlockNumber>, TupleElement53: OffchainWorker<BlockNumber>, TupleElement54: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46, TupleElement47, TupleElement48, TupleElement49, TupleElement50, TupleElement51, TupleElement52, TupleElement53, TupleElement54)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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: OffchainWorker<BlockNumber>, TupleElement47: OffchainWorker<BlockNumber>, TupleElement48: OffchainWorker<BlockNumber>, TupleElement49: OffchainWorker<BlockNumber>, TupleElement50: OffchainWorker<BlockNumber>, TupleElement51: OffchainWorker<BlockNumber>, TupleElement52: OffchainWorker<BlockNumber>, TupleElement53: OffchainWorker<BlockNumber>, TupleElement54: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46, TupleElement47, TupleElement48, TupleElement49, TupleElement50, TupleElement51, TupleElement52, TupleElement53, TupleElement54)where
BlockNumber: Clone,
source§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.
source§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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: OffchainWorker<BlockNumber>, TupleElement47: OffchainWorker<BlockNumber>, TupleElement48: OffchainWorker<BlockNumber>, TupleElement49: OffchainWorker<BlockNumber>, TupleElement50: OffchainWorker<BlockNumber>, TupleElement51: OffchainWorker<BlockNumber>, TupleElement52: OffchainWorker<BlockNumber>, TupleElement53: OffchainWorker<BlockNumber>, TupleElement54: OffchainWorker<BlockNumber>, TupleElement55: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46, TupleElement47, TupleElement48, TupleElement49, TupleElement50, TupleElement51, TupleElement52, TupleElement53, TupleElement54, TupleElement55)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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: OffchainWorker<BlockNumber>, TupleElement47: OffchainWorker<BlockNumber>, TupleElement48: OffchainWorker<BlockNumber>, TupleElement49: OffchainWorker<BlockNumber>, TupleElement50: OffchainWorker<BlockNumber>, TupleElement51: OffchainWorker<BlockNumber>, TupleElement52: OffchainWorker<BlockNumber>, TupleElement53: OffchainWorker<BlockNumber>, TupleElement54: OffchainWorker<BlockNumber>, TupleElement55: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46, TupleElement47, TupleElement48, TupleElement49, TupleElement50, TupleElement51, TupleElement52, TupleElement53, TupleElement54, TupleElement55)where
BlockNumber: Clone,
source§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.
source§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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: OffchainWorker<BlockNumber>, TupleElement47: OffchainWorker<BlockNumber>, TupleElement48: OffchainWorker<BlockNumber>, TupleElement49: OffchainWorker<BlockNumber>, TupleElement50: OffchainWorker<BlockNumber>, TupleElement51: OffchainWorker<BlockNumber>, TupleElement52: OffchainWorker<BlockNumber>, TupleElement53: OffchainWorker<BlockNumber>, TupleElement54: OffchainWorker<BlockNumber>, TupleElement55: OffchainWorker<BlockNumber>, TupleElement56: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46, TupleElement47, TupleElement48, TupleElement49, TupleElement50, TupleElement51, TupleElement52, TupleElement53, TupleElement54, TupleElement55, TupleElement56)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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: OffchainWorker<BlockNumber>, TupleElement47: OffchainWorker<BlockNumber>, TupleElement48: OffchainWorker<BlockNumber>, TupleElement49: OffchainWorker<BlockNumber>, TupleElement50: OffchainWorker<BlockNumber>, TupleElement51: OffchainWorker<BlockNumber>, TupleElement52: OffchainWorker<BlockNumber>, TupleElement53: OffchainWorker<BlockNumber>, TupleElement54: OffchainWorker<BlockNumber>, TupleElement55: OffchainWorker<BlockNumber>, TupleElement56: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46, TupleElement47, TupleElement48, TupleElement49, TupleElement50, TupleElement51, TupleElement52, TupleElement53, TupleElement54, TupleElement55, TupleElement56)where
BlockNumber: Clone,
source§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.
source§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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: OffchainWorker<BlockNumber>, TupleElement47: OffchainWorker<BlockNumber>, TupleElement48: OffchainWorker<BlockNumber>, TupleElement49: OffchainWorker<BlockNumber>, TupleElement50: OffchainWorker<BlockNumber>, TupleElement51: OffchainWorker<BlockNumber>, TupleElement52: OffchainWorker<BlockNumber>, TupleElement53: OffchainWorker<BlockNumber>, TupleElement54: OffchainWorker<BlockNumber>, TupleElement55: OffchainWorker<BlockNumber>, TupleElement56: OffchainWorker<BlockNumber>, TupleElement57: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46, TupleElement47, TupleElement48, TupleElement49, TupleElement50, TupleElement51, TupleElement52, TupleElement53, TupleElement54, TupleElement55, TupleElement56, TupleElement57)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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: OffchainWorker<BlockNumber>, TupleElement47: OffchainWorker<BlockNumber>, TupleElement48: OffchainWorker<BlockNumber>, TupleElement49: OffchainWorker<BlockNumber>, TupleElement50: OffchainWorker<BlockNumber>, TupleElement51: OffchainWorker<BlockNumber>, TupleElement52: OffchainWorker<BlockNumber>, TupleElement53: OffchainWorker<BlockNumber>, TupleElement54: OffchainWorker<BlockNumber>, TupleElement55: OffchainWorker<BlockNumber>, TupleElement56: OffchainWorker<BlockNumber>, TupleElement57: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46, TupleElement47, TupleElement48, TupleElement49, TupleElement50, TupleElement51, TupleElement52, TupleElement53, TupleElement54, TupleElement55, TupleElement56, TupleElement57)where
BlockNumber: Clone,
source§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.
source§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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: OffchainWorker<BlockNumber>, TupleElement47: OffchainWorker<BlockNumber>, TupleElement48: OffchainWorker<BlockNumber>, TupleElement49: OffchainWorker<BlockNumber>, TupleElement50: OffchainWorker<BlockNumber>, TupleElement51: OffchainWorker<BlockNumber>, TupleElement52: OffchainWorker<BlockNumber>, TupleElement53: OffchainWorker<BlockNumber>, TupleElement54: OffchainWorker<BlockNumber>, TupleElement55: OffchainWorker<BlockNumber>, TupleElement56: OffchainWorker<BlockNumber>, TupleElement57: OffchainWorker<BlockNumber>, TupleElement58: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46, TupleElement47, TupleElement48, TupleElement49, TupleElement50, TupleElement51, TupleElement52, TupleElement53, TupleElement54, TupleElement55, TupleElement56, TupleElement57, TupleElement58)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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: OffchainWorker<BlockNumber>, TupleElement47: OffchainWorker<BlockNumber>, TupleElement48: OffchainWorker<BlockNumber>, TupleElement49: OffchainWorker<BlockNumber>, TupleElement50: OffchainWorker<BlockNumber>, TupleElement51: OffchainWorker<BlockNumber>, TupleElement52: OffchainWorker<BlockNumber>, TupleElement53: OffchainWorker<BlockNumber>, TupleElement54: OffchainWorker<BlockNumber>, TupleElement55: OffchainWorker<BlockNumber>, TupleElement56: OffchainWorker<BlockNumber>, TupleElement57: OffchainWorker<BlockNumber>, TupleElement58: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46, TupleElement47, TupleElement48, TupleElement49, TupleElement50, TupleElement51, TupleElement52, TupleElement53, TupleElement54, TupleElement55, TupleElement56, TupleElement57, TupleElement58)where
BlockNumber: Clone,
source§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.
source§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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: OffchainWorker<BlockNumber>, TupleElement47: OffchainWorker<BlockNumber>, TupleElement48: OffchainWorker<BlockNumber>, TupleElement49: OffchainWorker<BlockNumber>, TupleElement50: OffchainWorker<BlockNumber>, TupleElement51: OffchainWorker<BlockNumber>, TupleElement52: OffchainWorker<BlockNumber>, TupleElement53: OffchainWorker<BlockNumber>, TupleElement54: OffchainWorker<BlockNumber>, TupleElement55: OffchainWorker<BlockNumber>, TupleElement56: OffchainWorker<BlockNumber>, TupleElement57: OffchainWorker<BlockNumber>, TupleElement58: OffchainWorker<BlockNumber>, TupleElement59: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46, TupleElement47, TupleElement48, TupleElement49, TupleElement50, TupleElement51, TupleElement52, TupleElement53, TupleElement54, TupleElement55, TupleElement56, TupleElement57, TupleElement58, TupleElement59)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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: OffchainWorker<BlockNumber>, TupleElement47: OffchainWorker<BlockNumber>, TupleElement48: OffchainWorker<BlockNumber>, TupleElement49: OffchainWorker<BlockNumber>, TupleElement50: OffchainWorker<BlockNumber>, TupleElement51: OffchainWorker<BlockNumber>, TupleElement52: OffchainWorker<BlockNumber>, TupleElement53: OffchainWorker<BlockNumber>, TupleElement54: OffchainWorker<BlockNumber>, TupleElement55: OffchainWorker<BlockNumber>, TupleElement56: OffchainWorker<BlockNumber>, TupleElement57: OffchainWorker<BlockNumber>, TupleElement58: OffchainWorker<BlockNumber>, TupleElement59: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46, TupleElement47, TupleElement48, TupleElement49, TupleElement50, TupleElement51, TupleElement52, TupleElement53, TupleElement54, TupleElement55, TupleElement56, TupleElement57, TupleElement58, TupleElement59)where
BlockNumber: Clone,
source§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.
source§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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: OffchainWorker<BlockNumber>, TupleElement47: OffchainWorker<BlockNumber>, TupleElement48: OffchainWorker<BlockNumber>, TupleElement49: OffchainWorker<BlockNumber>, TupleElement50: OffchainWorker<BlockNumber>, TupleElement51: OffchainWorker<BlockNumber>, TupleElement52: OffchainWorker<BlockNumber>, TupleElement53: OffchainWorker<BlockNumber>, TupleElement54: OffchainWorker<BlockNumber>, TupleElement55: OffchainWorker<BlockNumber>, TupleElement56: OffchainWorker<BlockNumber>, TupleElement57: OffchainWorker<BlockNumber>, TupleElement58: OffchainWorker<BlockNumber>, TupleElement59: OffchainWorker<BlockNumber>, TupleElement60: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46, TupleElement47, TupleElement48, TupleElement49, TupleElement50, TupleElement51, TupleElement52, TupleElement53, TupleElement54, TupleElement55, TupleElement56, TupleElement57, TupleElement58, TupleElement59, TupleElement60)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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: OffchainWorker<BlockNumber>, TupleElement47: OffchainWorker<BlockNumber>, TupleElement48: OffchainWorker<BlockNumber>, TupleElement49: OffchainWorker<BlockNumber>, TupleElement50: OffchainWorker<BlockNumber>, TupleElement51: OffchainWorker<BlockNumber>, TupleElement52: OffchainWorker<BlockNumber>, TupleElement53: OffchainWorker<BlockNumber>, TupleElement54: OffchainWorker<BlockNumber>, TupleElement55: OffchainWorker<BlockNumber>, TupleElement56: OffchainWorker<BlockNumber>, TupleElement57: OffchainWorker<BlockNumber>, TupleElement58: OffchainWorker<BlockNumber>, TupleElement59: OffchainWorker<BlockNumber>, TupleElement60: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46, TupleElement47, TupleElement48, TupleElement49, TupleElement50, TupleElement51, TupleElement52, TupleElement53, TupleElement54, TupleElement55, TupleElement56, TupleElement57, TupleElement58, TupleElement59, TupleElement60)where
BlockNumber: Clone,
source§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.
source§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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: OffchainWorker<BlockNumber>, TupleElement47: OffchainWorker<BlockNumber>, TupleElement48: OffchainWorker<BlockNumber>, TupleElement49: OffchainWorker<BlockNumber>, TupleElement50: OffchainWorker<BlockNumber>, TupleElement51: OffchainWorker<BlockNumber>, TupleElement52: OffchainWorker<BlockNumber>, TupleElement53: OffchainWorker<BlockNumber>, TupleElement54: OffchainWorker<BlockNumber>, TupleElement55: OffchainWorker<BlockNumber>, TupleElement56: OffchainWorker<BlockNumber>, TupleElement57: OffchainWorker<BlockNumber>, TupleElement58: OffchainWorker<BlockNumber>, TupleElement59: OffchainWorker<BlockNumber>, TupleElement60: OffchainWorker<BlockNumber>, TupleElement61: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46, TupleElement47, TupleElement48, TupleElement49, TupleElement50, TupleElement51, TupleElement52, TupleElement53, TupleElement54, TupleElement55, TupleElement56, TupleElement57, TupleElement58, TupleElement59, TupleElement60, TupleElement61)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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: OffchainWorker<BlockNumber>, TupleElement47: OffchainWorker<BlockNumber>, TupleElement48: OffchainWorker<BlockNumber>, TupleElement49: OffchainWorker<BlockNumber>, TupleElement50: OffchainWorker<BlockNumber>, TupleElement51: OffchainWorker<BlockNumber>, TupleElement52: OffchainWorker<BlockNumber>, TupleElement53: OffchainWorker<BlockNumber>, TupleElement54: OffchainWorker<BlockNumber>, TupleElement55: OffchainWorker<BlockNumber>, TupleElement56: OffchainWorker<BlockNumber>, TupleElement57: OffchainWorker<BlockNumber>, TupleElement58: OffchainWorker<BlockNumber>, TupleElement59: OffchainWorker<BlockNumber>, TupleElement60: OffchainWorker<BlockNumber>, TupleElement61: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46, TupleElement47, TupleElement48, TupleElement49, TupleElement50, TupleElement51, TupleElement52, TupleElement53, TupleElement54, TupleElement55, TupleElement56, TupleElement57, TupleElement58, TupleElement59, TupleElement60, TupleElement61)where
BlockNumber: Clone,
source§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.
source§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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: OffchainWorker<BlockNumber>, TupleElement47: OffchainWorker<BlockNumber>, TupleElement48: OffchainWorker<BlockNumber>, TupleElement49: OffchainWorker<BlockNumber>, TupleElement50: OffchainWorker<BlockNumber>, TupleElement51: OffchainWorker<BlockNumber>, TupleElement52: OffchainWorker<BlockNumber>, TupleElement53: OffchainWorker<BlockNumber>, TupleElement54: OffchainWorker<BlockNumber>, TupleElement55: OffchainWorker<BlockNumber>, TupleElement56: OffchainWorker<BlockNumber>, TupleElement57: OffchainWorker<BlockNumber>, TupleElement58: OffchainWorker<BlockNumber>, TupleElement59: OffchainWorker<BlockNumber>, TupleElement60: OffchainWorker<BlockNumber>, TupleElement61: OffchainWorker<BlockNumber>, TupleElement62: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46, TupleElement47, TupleElement48, TupleElement49, TupleElement50, TupleElement51, TupleElement52, TupleElement53, TupleElement54, TupleElement55, TupleElement56, TupleElement57, TupleElement58, TupleElement59, TupleElement60, TupleElement61, TupleElement62)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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: OffchainWorker<BlockNumber>, TupleElement47: OffchainWorker<BlockNumber>, TupleElement48: OffchainWorker<BlockNumber>, TupleElement49: OffchainWorker<BlockNumber>, TupleElement50: OffchainWorker<BlockNumber>, TupleElement51: OffchainWorker<BlockNumber>, TupleElement52: OffchainWorker<BlockNumber>, TupleElement53: OffchainWorker<BlockNumber>, TupleElement54: OffchainWorker<BlockNumber>, TupleElement55: OffchainWorker<BlockNumber>, TupleElement56: OffchainWorker<BlockNumber>, TupleElement57: OffchainWorker<BlockNumber>, TupleElement58: OffchainWorker<BlockNumber>, TupleElement59: OffchainWorker<BlockNumber>, TupleElement60: OffchainWorker<BlockNumber>, TupleElement61: OffchainWorker<BlockNumber>, TupleElement62: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46, TupleElement47, TupleElement48, TupleElement49, TupleElement50, TupleElement51, TupleElement52, TupleElement53, TupleElement54, TupleElement55, TupleElement56, TupleElement57, TupleElement58, TupleElement59, TupleElement60, TupleElement61, TupleElement62)where
BlockNumber: Clone,
source§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.
source§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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: OffchainWorker<BlockNumber>, TupleElement47: OffchainWorker<BlockNumber>, TupleElement48: OffchainWorker<BlockNumber>, TupleElement49: OffchainWorker<BlockNumber>, TupleElement50: OffchainWorker<BlockNumber>, TupleElement51: OffchainWorker<BlockNumber>, TupleElement52: OffchainWorker<BlockNumber>, TupleElement53: OffchainWorker<BlockNumber>, TupleElement54: OffchainWorker<BlockNumber>, TupleElement55: OffchainWorker<BlockNumber>, TupleElement56: OffchainWorker<BlockNumber>, TupleElement57: OffchainWorker<BlockNumber>, TupleElement58: OffchainWorker<BlockNumber>, TupleElement59: OffchainWorker<BlockNumber>, TupleElement60: OffchainWorker<BlockNumber>, TupleElement61: OffchainWorker<BlockNumber>, TupleElement62: OffchainWorker<BlockNumber>, TupleElement63: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46, TupleElement47, TupleElement48, TupleElement49, TupleElement50, TupleElement51, TupleElement52, TupleElement53, TupleElement54, TupleElement55, TupleElement56, TupleElement57, TupleElement58, TupleElement59, TupleElement60, TupleElement61, TupleElement62, TupleElement63)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>, TupleElement30: OffchainWorker<BlockNumber>, TupleElement31: OffchainWorker<BlockNumber>, TupleElement32: OffchainWorker<BlockNumber>, TupleElement33: OffchainWorker<BlockNumber>, TupleElement34: OffchainWorker<BlockNumber>, TupleElement35: OffchainWorker<BlockNumber>, TupleElement36: OffchainWorker<BlockNumber>, TupleElement37: OffchainWorker<BlockNumber>, TupleElement38: OffchainWorker<BlockNumber>, TupleElement39: OffchainWorker<BlockNumber>, TupleElement40: OffchainWorker<BlockNumber>, TupleElement41: OffchainWorker<BlockNumber>, TupleElement42: OffchainWorker<BlockNumber>, TupleElement43: OffchainWorker<BlockNumber>, TupleElement44: OffchainWorker<BlockNumber>, TupleElement45: OffchainWorker<BlockNumber>, TupleElement46: OffchainWorker<BlockNumber>, TupleElement47: OffchainWorker<BlockNumber>, TupleElement48: OffchainWorker<BlockNumber>, TupleElement49: OffchainWorker<BlockNumber>, TupleElement50: OffchainWorker<BlockNumber>, TupleElement51: OffchainWorker<BlockNumber>, TupleElement52: OffchainWorker<BlockNumber>, TupleElement53: OffchainWorker<BlockNumber>, TupleElement54: OffchainWorker<BlockNumber>, TupleElement55: OffchainWorker<BlockNumber>, TupleElement56: OffchainWorker<BlockNumber>, TupleElement57: OffchainWorker<BlockNumber>, TupleElement58: OffchainWorker<BlockNumber>, TupleElement59: OffchainWorker<BlockNumber>, TupleElement60: OffchainWorker<BlockNumber>, TupleElement61: OffchainWorker<BlockNumber>, TupleElement62: OffchainWorker<BlockNumber>, TupleElement63: 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, TupleElement30, TupleElement31, TupleElement32, TupleElement33, TupleElement34, TupleElement35, TupleElement36, TupleElement37, TupleElement38, TupleElement39, TupleElement40, TupleElement41, TupleElement42, TupleElement43, TupleElement44, TupleElement45, TupleElement46, TupleElement47, TupleElement48, TupleElement49, TupleElement50, TupleElement51, TupleElement52, TupleElement53, TupleElement54, TupleElement55, TupleElement56, TupleElement57, TupleElement58, TupleElement59, TupleElement60, TupleElement61, TupleElement62, TupleElement63)where
BlockNumber: Clone,
source§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.